Prepare the installation environment
Complete these steps before you install the automation orchestrator operator. You must provision PostgreSQL and create database Secrets regardless of the installation method you choose.
Procedure Copy linkLink copied!
Kubernetes Secrets for automation orchestrator Copy linkLink copied!
Use this reference to look up the format of each Kubernetes Secret that the automation orchestrator operator reads. Create these Secrets in the target namespace before you deploy the AutomationOrchestrator custom resource.
Overview Copy linkLink copied!
The automation orchestrator operator auto-generates optional secrets when you do not provide them. These include JWT signing keys, the credential encryption key, the Redis password, and the initial admin password. If your security policy requires you to provide your own, create the Secrets listed below. Reference them in the spec.secrets section of the AutomationOrchestrator custom resource.
The automation orchestrator operator watches all Secrets and ConfigMaps referenced by the custom resource. When you update a referenced Secret or ConfigMap, the operator detects the change. It triggers a rolling restart of affected pods.
Required: PostgreSQL credentials for the backend database Copy linkLink copied!
apiVersion: v1
kind: Secret
metadata:
name: orchestrator-pg-credentials
namespace: automation-orchestrator
type: Opaque
stringData:
database: "orchestrator"
username: "orchestrator_user"
password: "your-secure-password"
Required: PostgreSQL credentials for the Temporal database Copy linkLink copied!
apiVersion: v1
kind: Secret
metadata:
name: temporal-pg-credentials
namespace: automation-orchestrator
type: Opaque
stringData:
database: "temporal"
username: "temporal_user"
password: "your-secure-password"
Optional: PostgreSQL CA certificate Copy linkLink copied!
Required when sslMode is verify-ca or verify-full:
apiVersion: v1
kind: Secret
metadata:
name: orchestrator-pg-ca
namespace: automation-orchestrator
type: Opaque
data:
ca.crt: base64-encoded-CA-certificate
Optional: PostgreSQL client certificate for mutual TLS Copy linkLink copied!
Required when the PostgreSQL server enforces mutual TLS (mTLS) client certificate authentication. Only valid when sslMode is require, verify-ca, or verify-full.
apiVersion: v1
kind: Secret
metadata:
name: orchestrator-pg-client-cert
namespace: automation-orchestrator
type: kubernetes.io/tls
data:
tls.crt: base64-encoded-client-certificate
tls.key: base64-encoded-client-private-key
The automation orchestrator operator mounts this certificate into the backend, worker, and Temporal components.
Optional: S3 access credentials Copy linkLink copied!
If your S3-compatible endpoint requires authentication, create a Secret with the access credentials. Reference this Secret in spec.fileStorage.credentialSecretRef on the AutomationOrchestrator custom resource.
apiVersion: v1
kind: Secret
metadata:
name: s3-credentials
namespace: automation-orchestrator
type: Opaque
stringData:
access-key-id: "your-access-key-id"
secret-access-key: "your-secret-access-key"
Optional: S3 endpoint CA certificate Copy linkLink copied!
Required when the S3 endpoint uses a private CA:
apiVersion: v1
kind: Secret
metadata:
name: s3-ca-cert
namespace: automation-orchestrator
type: Opaque
data:
ca.crt: base64-encoded-CA-certificate
Optional: JWT primary signing key Copy linkLink copied!
ES256 (ECDSA P-256). For details on the signing algorithm and key rotation, see Authentication security.
apiVersion: v1
kind: Secret
metadata:
name: my-jwt-primary
namespace: automation-orchestrator
type: Opaque
data:
jwt-primary.pem: base64-encoded-PKCS8-EC-private-key
Optional: JWT backup signing key Copy linkLink copied!
Same format as the primary key, for key rotation:
apiVersion: v1
kind: Secret
metadata:
name: my-jwt-backup
namespace: automation-orchestrator
type: Opaque
data:
jwt-backup.pem: base64-encoded-PKCS8-EC-private-key
Optional: Credential encryption key Copy linkLink copied!
64-character hex string (32 bytes) for AES-256-GCM:
apiVersion: v1
kind: Secret
metadata:
name: my-encryption-key
namespace: automation-orchestrator
type: Opaque
stringData:
secret-encryption-key: "64-character-hex-string"
To generate a valid encryption key:
$ openssl rand -hex 32
Optional: Redis password Copy linkLink copied!
apiVersion: v1
kind: Secret
metadata:
name: my-redis-password
namespace: automation-orchestrator
type: Opaque
stringData:
password: "your-secure-redis-password"
Optional: Initial admin password Copy linkLink copied!
Set the password for the admin user that the operator creates during the first deployment. When you omit this Secret, the automation orchestrator operator generates a random password. You can retrieve the auto-generated password after deployment completes. See Retrieve the initial admin password.
apiVersion: v1
kind: Secret
metadata:
name: my-admin-password
namespace: automation-orchestrator
type: Opaque
stringData:
password: "your-secure-admin-password"
The operator uses the initial admin password only during the first deployment. After the admin user exists, changing or deleting this Secret has no effect.