Files
toallab-automation/roles/cloudnativepg_operator/meta/argument_specs.yml

95 lines
4.3 KiB
YAML

---
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_enable_pdb:
description: >-
Create the CNPG primary PodDisruptionBudget. Defaults to true only when instances > 1;
a single-instance PDB is always at its limit and blocks node drains.
type: bool
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