--- argument_specs: main: short_description: Install CloudNativePG via OLM and provision a PostgreSQL Cluster + Databases description: - Installs the CloudNativePG operator via OLM (certified-operators catalog, Manual install-plan approval which this role approves itself) and creates a single-instance PostgreSQL Cluster CR with Database CRs for the orchestrator, temporal, and temporal_visibility databases — all owned by one shared PostgreSQL role. - >- WARNING: this is a demo/dev-oriented, non-HA PostgreSQL deployment. For production, point automation_orchestrator_operator at a customer-managed PostgreSQL instance instead. - The generated owner-role password is stored in Vault at cloudnativepg_operator_vault_path and reused on subsequent runs for idempotency. options: cloudnativepg_operator_operator_namespace: description: Namespace for the CloudNativePG operator. type: str default: cloudnative-pg cloudnativepg_operator_channel: description: OLM subscription channel. type: str default: stable-v1 cloudnativepg_operator_name: description: Operator package name in the catalog. type: str default: cloudnative-pg cloudnativepg_operator_catalog_source: description: Name of the CatalogSource to subscribe from. type: str default: certified-operators cloudnativepg_operator_wait_timeout: description: Seconds to wait for the operator, CSV, and Database CRs to become ready. type: int default: 600 cloudnativepg_operator_cluster_namespace: description: Namespace for the Cluster CR, credential Secrets, and Database CRs. type: str default: automation-orchestrator cloudnativepg_operator_cluster_name: description: Name of the CloudNativePG Cluster CR. type: str default: orchestrator-postgres cloudnativepg_operator_owner_user: description: PostgreSQL role that owns all provisioned databases. type: str default: orchestrator cloudnativepg_operator_instances: description: Number of Postgres instances in the Cluster (1 = no HA). type: int default: 1 cloudnativepg_operator_image_name: description: PostgreSQL container image for the Cluster. type: str default: ghcr.io/cloudnative-pg/postgresql:15 cloudnativepg_operator_storage_size: description: Size of the Cluster's PersistentVolumeClaim. type: str default: 5Gi cloudnativepg_operator_storage_class: description: StorageClass for the Cluster's PVC. Empty string uses the cluster default. type: str default: "" cloudnativepg_operator_max_connections: description: postgresql.parameters.max_connections. Set to 0 to omit and use the Postgres default. type: int default: 200 cloudnativepg_operator_databases: description: List of {name, dbname} Database CRs to create, all owned by cloudnativepg_operator_owner_user. type: list elements: dict cloudnativepg_operator_secrets: description: >- List of {name, database} credential Secrets to create (type kubernetes.io/basic-auth), all sharing the same generated username/password. secrets[0] is used as the CNPG bootstrap.initdb secret. type: list elements: dict cloudnativepg_operator_vault_mount: description: Vault KV2 mount point where the generated owner-role password is stored. type: str default: kv cloudnativepg_operator_vault_path: description: Vault KV2 path where the generated owner-role password is stored. type: str default: cloudnativepg/orchestrator-postgres cloudnativepg_operator_no_log: description: Set to false to disable no_log and expose secret values in task output. Never set false in shared environments. type: bool default: true