|
|
||
|---|---|---|
| .. | ||
| crds | ||
| templates | ||
| .helmignore | ||
| Chart.yaml | ||
| README.md | ||
| values.yaml | ||
README.md
Postgres-operator
Postgres Operator creates and manages PostgreSQL clusters running in Kubernetes
Learn more: https://github.com/zalando/postgres-operator
TL;DR;
$ helm install ckotzbauer/postgres-operator
Installing the Chart
To install the chart with the release name my-release:
$ helm install my-release ckotzbauer/postgres-operator
The command deploys the operator on the Kubernetes cluster using the default configuration. The configuration section lists the parameters that can be configured during installation.
Uninstalling the Chart
To uninstall/delete the my-release installation:
$ helm delete my-release
The command removes all the Kubernetes components associated with the chart and deletes the release.
Configuration
The following table lists the configurable parameters of the Postgres-operator chart and their default values.
| Key | Type | Default | Description |
|---|---|---|---|
| image.registry | string | "registry.opensource.zalan.do" |
|
| image.repository | string | "acid/postgres-operator" |
|
| image.tag | string | "v1.12.0" |
|
| image.pullPolicy | string | "IfNotPresent" |
|
| podAnnotations | object | {} |
|
| podLabels | object | {} |
|
| enableJsonLogging | bool | false |
|
| configGeneral.enable_crd_registration | bool | true |
|
| configGeneral.crd_categories[0] | string | "all" |
|
| configGeneral.enable_lazy_spilo_upgrade | bool | false |
|
| configGeneral.enable_pgversion_env_var | bool | true |
|
| configGeneral.enable_shm_volume | bool | true |
|
| configGeneral.enable_spilo_wal_path_compat | bool | false |
|
| configGeneral.etcd_host | string | "" |
|
| configGeneral.docker_image | string | "registry.opensource.zalan.do/acid/spilo-14:2.1-p5" |
|
| configGeneral.min_instances | int | -1 |
|
| configGeneral.max_instances | int | -1 |
|
| configGeneral.repair_period | string | "5m" |
|
| configGeneral.resync_period | string | "30m" |
|
| configGeneral.workers | int | 8 |
|
| configUsers.enable_password_rotation | bool | false |
|
| configUsers.password_rotation_interval | int | 90 |
|
| configUsers.password_rotation_user_retention | int | 180 |
|
| configUsers.replication_username | string | "standby" |
|
| configUsers.super_username | string | "postgres" |
|
| configMajorVersionUpgrade.major_version_upgrade_mode | string | "off" |
|
| configMajorVersionUpgrade.minimal_major_version | string | "9.6" |
|
| configMajorVersionUpgrade.target_major_version | string | "14" |
|
| configKubernetes.cluster_domain | string | "cluster.local" |
|
| configKubernetes.cluster_labels.application | string | "spilo" |
|
| configKubernetes.cluster_name_label | string | "cluster-name" |
|
| configKubernetes.enable_cross_namespace_secret | bool | false |
|
| configKubernetes.enable_init_containers | bool | true |
|
| configKubernetes.enable_pod_antiaffinity | bool | false |
|
| configKubernetes.enable_pod_disruption_budget | bool | true |
|
| configKubernetes.enable_sidecars | bool | true |
|
| configKubernetes.pdb_name_format | string | "postgres-{cluster}-pdb" |
|
| configKubernetes.pod_antiaffinity_topology_key | string | "kubernetes.io/hostname" |
|
| configKubernetes.pod_management_policy | string | "ordered_ready" |
|
| configKubernetes.pod_role_label | string | "spilo-role" |
|
| configKubernetes.pod_terminate_grace_period | string | "5m" |
|
| configKubernetes.secret_name_template | string | "{username}.{cluster}.credentials.{tprkind}.{tprgroup}" |
|
| configKubernetes.spilo_privileged | bool | false |
|
| configKubernetes.spilo_allow_privilege_escalation | bool | true |
|
| configKubernetes.storage_resize_mode | string | "pvc" |
|
| configKubernetes.watched_namespace | string | "*" |
|
| configPostgresPodResources.default_cpu_limit | string | "1" |
|
| configPostgresPodResources.default_cpu_request | string | "100m" |
|
| configPostgresPodResources.default_memory_limit | string | "500Mi" |
|
| configPostgresPodResources.default_memory_request | string | "100Mi" |
|
| configPostgresPodResources.min_cpu_limit | string | "250m" |
|
| configPostgresPodResources.min_memory_limit | string | "250Mi" |
|
| configTimeouts.patroni_api_check_interval | string | "1s" |
|
| configTimeouts.patroni_api_check_timeout | string | "5s" |
|
| configTimeouts.pod_deletion_wait_timeout | string | "10m" |
|
| configTimeouts.pod_label_wait_timeout | string | "10m" |
|
| configTimeouts.ready_wait_interval | string | "3s" |
|
| configTimeouts.ready_wait_timeout | string | "30s" |
|
| configTimeouts.resource_check_interval | string | "3s" |
|
| configTimeouts.resource_check_timeout | string | "10m" |
|
| configLoadBalancer.db_hosted_zone | string | "db.example.com" |
|
| configLoadBalancer.enable_master_load_balancer | bool | false |
|
| configLoadBalancer.enable_master_pooler_load_balancer | bool | false |
|
| configLoadBalancer.enable_replica_load_balancer | bool | false |
|
| configLoadBalancer.enable_replica_pooler_load_balancer | bool | false |
|
| configLoadBalancer.external_traffic_policy | string | "Cluster" |
|
| configLoadBalancer.master_dns_name_format | string | "{cluster}.{team}.{hostedzone}" |
|
| configLoadBalancer.replica_dns_name_format | string | "{cluster}-repl.{team}.{hostedzone}" |
|
| configDebug.debug_logging | bool | true |
|
| configDebug.enable_database_access | bool | true |
|
| configLoggingRestApi.api_port | int | 8080 |
|
| configLoggingRestApi.cluster_history_entries | int | 1000 |
|
| configLoggingRestApi.ring_log_lines | int | 100 |
|
| configAwsOrGcp.aws_region | string | "eu-central-1" |
|
| configAwsOrGcp.enable_ebs_gp3_migration | bool | false |
|
| configLogicalBackup.logical_backup_docker_image | string | "registry.opensource.zalan.do/acid/logical-backup:v1.8.0" |
|
| configLogicalBackup.logical_backup_job_prefix | string | "logical-backup-" |
|
| configLogicalBackup.logical_backup_provider | string | "s3" |
|
| configLogicalBackup.logical_backup_s3_access_key_id | string | "" |
|
| configLogicalBackup.logical_backup_s3_bucket | string | "my-bucket-url" |
|
| configLogicalBackup.logical_backup_s3_region | string | "" |
|
| configLogicalBackup.logical_backup_s3_endpoint | string | "" |
|
| configLogicalBackup.logical_backup_s3_secret_access_key | string | "" |
|
| configLogicalBackup.logical_backup_s3_sse | string | "AES256" |
|
| configLogicalBackup.logical_backup_s3_retention_time | string | "" |
|
| configLogicalBackup.logical_backup_schedule | string | "30 00 * * *" |
|
| configTeamsApi.enable_admin_role_for_users | bool | true |
|
| configTeamsApi.enable_postgres_team_crd | bool | false |
|
| configTeamsApi.enable_postgres_team_crd_superusers | bool | false |
|
| configTeamsApi.enable_team_member_deprecation | bool | false |
|
| configTeamsApi.enable_team_superuser | bool | false |
|
| configTeamsApi.enable_teams_api | bool | false |
|
| configTeamsApi.pam_role_name | string | "zalandos" |
|
| configTeamsApi.postgres_superuser_teams[0] | string | "postgres_superusers" |
|
| configTeamsApi.protected_role_names[0] | string | "admin" |
|
| configTeamsApi.protected_role_names[1] | string | "cron_admin" |
|
| configTeamsApi.role_deletion_suffix | string | "_deleted" |
|
| configTeamsApi.team_admin_role | string | "admin" |
|
| configTeamsApi.team_api_role_configuration.log_statement | string | "all" |
|
| configConnectionPooler.connection_pooler_schema | string | "pooler" |
|
| configConnectionPooler.connection_pooler_user | string | "pooler" |
|
| configConnectionPooler.connection_pooler_image | string | "registry.opensource.zalan.do/acid/pgbouncer:master-22" |
|
| configConnectionPooler.connection_pooler_max_db_connections | int | 60 |
|
| configConnectionPooler.connection_pooler_mode | string | "transaction" |
|
| configConnectionPooler.connection_pooler_number_of_instances | int | 2 |
|
| configConnectionPooler.connection_pooler_default_cpu_request | string | "500m" |
|
| configConnectionPooler.connection_pooler_default_memory_request | string | "100Mi" |
|
| configConnectionPooler.connection_pooler_default_cpu_limit | string | "1" |
|
| configConnectionPooler.connection_pooler_default_memory_limit | string | "100Mi" |
|
| enableStreams | bool | false |
|
| rbac.create | bool | true |
|
| rbac.createAggregateClusterRoles | bool | false |
|
| serviceAccount.create | bool | true |
|
| serviceAccount.name | string | nil |
|
| podServiceAccount.name | string | "postgres-pod" |
|
| priorityClassName | string | "" |
|
| podPriorityClassName | string | "" |
|
| resources.limits.cpu | string | "500m" |
|
| resources.limits.memory | string | "500Mi" |
|
| resources.requests.cpu | string | "100m" |
|
| resources.requests.memory | string | "250Mi" |
|
| securityContext.runAsUser | int | 1000 |
|
| securityContext.runAsNonRoot | bool | true |
|
| securityContext.readOnlyRootFilesystem | bool | true |
|
| securityContext.allowPrivilegeEscalation | bool | false |
|
| securityContext.capabilities.drop[0] | string | "ALL" |
|
| affinity | object | {} |
|
| nodeSelector | object | {} |
|
| tolerations | list | [] |
|
| controllerID.create | bool | false |
|
| controllerID.name | string | nil |
|
| pod_environment_config | object | {} |
Changes compared to the official chart
- No
ConfigMapconfig-target. pod_environment_configmapis created automatically. Contents can be configured viapod_environment_config.- Enhanced security (dropped ALL capabilities for the operator-pod).