90 lines
4.0 KiB
YAML
90 lines
4.0 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_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
|