Pre-Install (module.pre-install)

Purpose: Creates the Kubernetes namespace, storage encryption key, and optionally deploys external-dns for automatic DNS record management. This includes the storage encryption key (generated via random_password on first deploy) which is stored as a Kubernetes secret.

Deployed on: All workspaces (always required). Depends on module.oci-logscale-storage for S3 credential values.

Key resources created:

Resource Purpose
Kubernetes namespace (logging)Namespace for all LogScale workloads
Storage encryption secret${cluster_name}-oci-storage-encryption containing the encryption key (oci-storage-encryption-key)
External-DNS (optional)Helm deployment for automatic DNS A record management via OCI DNS (when external_dns_enabled=true)

The encryption key is passed to LogScale via S3_STORAGE_ENCRYPTION_KEY environment variable (secretKeyRef). S3 credentials (AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY) are passed as direct values from module.oci-logscale-storage outputs, not stored in this secret.