apiVersion: apiextensions.k8s.io/v1beta1 kind: CustomResourceDefinition metadata: name: operatorconfigurations.acid.zalan.do spec: group: acid.zalan.do names: kind: OperatorConfiguration listKind: OperatorConfigurationList plural: operatorconfigurations singular: operatorconfiguration shortNames: - opconfig scope: Namespaced subresources: status: {} version: v1 validation: openAPIV3Schema: type: object required: - kind - apiVersion - configuration properties: kind: type: string enum: - OperatorConfiguration apiVersion: type: string enum: - acid.zalan.do/v1 configuration: type: object properties: docker_image: type: string enable_crd_validation: type: boolean enable_shm_volume: type: boolean etcd_host: type: string max_instances: type: integer minimum: -1 # -1 = disabled min_instances: type: integer minimum: -1 # -1 = disabled resync_period: type: string repair_period: type: string set_memory_request_to_limit: type: boolean sidecar_docker_images: type: object additionalProperties: type: string workers: type: integer minimum: 1 users: type: object properties: replication_username: type: string super_username: type: string kubernetes: type: object properties: cluster_domain: type: string cluster_labels: type: object additionalProperties: type: string cluster_name_label: type: string custom_pod_annotations: type: object additionalProperties: type: string enable_init_containers: type: boolean enable_pod_antiaffinity: type: boolean enable_pod_disruption_budget: type: boolean enable_sidecars: type: boolean infrastructure_roles_secret_name: type: string inherited_labels: type: array items: type: string node_readiness_label: type: object additionalProperties: type: string oauth_token_secret_name: type: string pdb_name_format: type: string pod_antiaffinity_topology_key: type: string pod_environment_configmap: type: string pod_management_policy: type: string enum: - "ordered_ready" - "parallel" pod_role_label: type: string pod_service_account_name: type: string pod_terminate_grace_period: type: string secret_name_template: type: string spilo_fsgroup: type: integer spilo_privileged: type: boolean toleration: type: object additionalProperties: type: string watched_namespace: type: string postgres_pod_resources: type: object properties: default_cpu_limit: type: string pattern: '^(\d+m|\d+(\.\d{1,3})?)$' default_cpu_request: type: string pattern: '^(\d+m|\d+(\.\d{1,3})?)$' default_memory_limit: type: string pattern: '^(\d+(e\d+)?|\d+(\.\d+)?(e\d+)?[EPTGMK]i?)$' default_memory_request: type: string pattern: '^(\d+(e\d+)?|\d+(\.\d+)?(e\d+)?[EPTGMK]i?)$' timeouts: type: object properties: pod_label_wait_timeout: type: string pod_deletion_wait_timeout: type: string ready_wait_interval: type: string ready_wait_timeout: type: string resource_check_interval: type: string resource_check_timeout: type: string load_balancer: type: object properties: db_hosted_zone: type: string enable_master_load_balancer: type: boolean enable_replica_load_balancer: type: boolean custom_service_annotations: type: object additionalProperties: type: string master_dns_name_format: type: string replica_dns_name_format: type: string aws_or_gcp: type: object properties: additional_secret_mount: type: string additional_secret_mount_path: type: string aws_region: type: string kube_iam_role: type: string log_s3_bucket: type: string wal_s3_bucket: type: string logical_backup: type: object properties: logical_backup_schedule: type: string pattern: '^(\d+|\*)(/\d+)?(\s+(\d+|\*)(/\d+)?){4}$' logical_backup_docker_image: type: string logical_backup_s3_bucket: type: string logical_backup_s3_endpoint: type: string logical_backup_s3_sse: type: string logical_backup_s3_access_key_id: type: string logical_backup_s3_secret_access_key: type: string debug: type: object properties: debug_logging: type: boolean enable_database_access: type: boolean teams_api: type: object properties: enable_admin_role_for_users: type: boolean enable_team_superuser: type: boolean enable_teams_api: type: boolean pam_configuration: type: string pam_role_name: type: string postgres_superuser_teams: type: array items: type: string protected_role_names: type: array items: type: string team_admin_role: type: string team_api_role_configuration: type: object additionalProperties: type: string teams_api_url: type: string logging_rest_api: type: object properties: api_port: type: integer cluster_history_entries: type: integer ring_log_lines: type: integer scalyr: type: object properties: scalyr_api_key: type: string scalyr_cpu_limit: type: string pattern: '^(\d+m|\d+(\.\d{1,3})?)$' scalyr_cpu_request: type: string pattern: '^(\d+m|\d+(\.\d{1,3})?)$' scalyr_image: type: string scalyr_memory_limit: type: string pattern: '^(\d+(e\d+)?|\d+(\.\d+)?(e\d+)?[EPTGMK]i?)$' scalyr_memory_request: type: string pattern: '^(\d+(e\d+)?|\d+(\.\d+)?(e\d+)?[EPTGMK]i?)$' scalyr_server_url: type: string status: type: object additionalProperties: type: string