Equivalent Kubernetes command: kubectl apply -f FEPClusterCR.yaml
This operation will create a FEPCluster with supplied information in FEPClusterCR.yaml.
Initial configuration and subsequent changes to FEP Cluster are done through FEP Cluster CR.
Field | Default | Details |
|---|---|---|
metadata.name | new-fep | Name for the Cluster. FEP server container will use this value for Patroni scope. e.g. new-fep |
spec.fep.autoPodRestart | <omitted> | Optional This parameter affects the behaviour when value(s) of CPU, memory and/or image for FEP and/or optional Backup container are updated in FEPCluster CR. If it is NOT defined and set to true, operator will automatically create an action CR to make values effective by restarting all pods in an orderly fashion to minmise outage. If is set to false, automatic restart of PoDs will NOT happen. To make the changes effective, user must restart pods by creating action CR with type ‘pod_restart’ and arguments ‘ALL’ |
spec.fep.fepVersion | <omitted> | Optional When deploying a new FEP cluster, this parameter controls which FEP major version will be used for the deployment. If not specified, Operator will use latest FEP version supported by the Operator. When fepVersion is defined but not spec.fep.image.image, Operator will deploy the specific version of FEP. When both fepVersion and image are defined, Operator will use the image and discard the value of fepVersion. Current support value: 14, 15, 16, 17, 18 Note: Changing fepVersion from one version to another version is not supported after deployment. |
spec.fep.customAnnotation.allDeployments | {} (*) | Contents under this are optional. User can remove {} and add multiple key-value pairs. All of these pair will be added to annotations of FEP statefulSet and FEP Pods. If left at default, no annotation is added to Pods and statefulSets |
spec.fep.image.image | <omitted> | FEP server container image to be used quay.io/fujitsu/fujitsu-enterprise-postgres-18-server:ubi9-18-1.0 It is optional Image line is omitted by default. This key has a higher precedence than fepVersion. If both fepVersion and image are omitted, Operator will use the latest FEP version that it supports. If both fepVersion and image are specified, Operator will use the specified image and ignore the value in fepVersion. |
spec.fep.image.pullPolicy | IfNotPresent | |
spec.fep.mcSpec.limits | cpu: 500m memory: 700Mi
(If spec.fep.databaseSize is large) | |
spec.fep.mcSpec.requests | cpu: 200m memory: 512Mi
(If spec.fep.databaseSize is large) | |
spec.fep.databaseSize | Specifiable values: small, medium, large | |
spec.fep.sysExtraLogging | false | To turn extra debugging on, set value to true It can be turned on/off at any time |
spec.fep.sysExtraEvent | false | Options To turn on event notification for custom resource changes, set the value to true. You can turn it on or off at any time. |
spec.fep.instances | 1 | Number of nodes in the cluster, including both Master and Replicas. In Example CR, it is kept at 1 for certification. However, user can change it to 3 for 1 master and 2 replicas. |
spec.fep.servicePort | 27500 | TCP port for FEP master service |
spec.fep.syncMode | off | Replication Mode: off - async replication on - sync replication |
spec.fep.standby.enable | false | This parameter enables the hot standby configuration. Enabled at true. |
spec.fep.standby.method | Specifies the method for achieving a hot standby configuration. archive-recovery - Uses continuous recovery. streaming - Uses streaming replication. | |
spec.fep.standby.pgBackrestConf | Required for both continuous recovery and streaming replication methods. You must specify the backup storage on which the production environment is backed up. AWS S3 and Azure Blob Storage are available. | |
spec.fep.standby.streaming.host | Specify this option to use the streaming replication method. Specify the external IP of the LoadBalancer you created in "Defining a Streaming Replication Method" in the User's Guide. | |
spec.fep.standby.streaming.port | Specify this option to use the streaming replication method. Specify the port defined in the LoadBalancer you created in "Defining a Streaming Replication Method" in the User's Guide. | |
spec.fep.forceSsl | true | Controls the use of SSL only for communication between FEPCluster containers. The changes are reflected in pg_hba.conf. Changing this parameter is not reflected in pg_hba.conf if the automatic certificate generation feature is enabled. |
spec.fep.locale | <omitted> (*) | Optional Can only be specified when creating a FEPCluster. Database Cluster Locale Settings: ja_JP - Japanese locale Default - C |
spec.fep.monitoring | This is an Optional section. This defines whether monitoring enabled(true) or disabled(false) , MTLS enabled or disabled & Basic authentication enabled or not | |
spec.fep.monitoring.enable | false | If set true, the operator will create FEPExporter with given spec |
spec.fep.monitoring.fepExporter | This is Optional section. Exporter spec section applied only if enable: true | |
spec.fep.monitoring.fepExporter.authSecret | This is Optional section. Base Authentication secret to provide username & encrypted password of user | |
spec.fep.monitoring.fepExporter.authSecret.secretName | ( created by user ) | Mandatory Name of secret that contains username and password |
spec.fep.monitoring.fepExporter.authSecret.userKey | ( created by user ) | Mandatory Key of username in specified secret |
spec.fep.monitoring.fepExporter.authSecret.passwordKey | ( created by user ) | Mandatory Key of password in specified secret |
spec.fep.monitoring.fepExporter.tls | This is optional section. FEPExporter MTLS specs. Mandatory if tls specs defined for Prometheus specs | |
spec.fep.monitoring.fepExporter.tls.certificateName | ( created by user ) | Mandatory.This points to Kubernetes TLS secret that contains the certificate of FepExporter. Prometheus will use this for certificate authentication. The certificate itself is stored in the key tls.crt. |
spec.fep.monitoring.fepExporter.tls.caName | ( created by user ) | Mandatory This points to Kubernetes configmap that contains additional CA the client use to verify a server certificate. The CA is stored in the key ca.crt. |
spec.fep.monitoring.fepExporter.customLabel | Optional List of key value pair to be added to Prometheus ServiceMonitor label. The following label will always be added to ServiceMonitor, regardless if a value is specified here or not. | |
spec.fep.monitoring.prometheus | This is Optional section. Prometheus specs are mandatory if tls specs defined for FEPExporter | |
spec.fep.monitoring.prometheus.tls | Prometheus MTLS specs | |
spec.fep.monitoring.prometheus.tls.certificateName | ( created by user ) | This is an Optional parameter. These points to Kubernetes TLS secret that contains the certificate of Prometheus. FEPExporter will use this for certificate authentication. The certificate itself is stored in the key tls.crt. |
spec.fep.monitoring.prometheus.tls.caName | ( created by user ) | This is an Optional parameter. This point to Kubernetes configmap that contains additional CA the client use to verify a server certificate. The CA is stored in the key ca.crt. |
spec.fep.externalMonitoring.cloudWatch | This is an Optional section. Define this option when linking with CloudWatch. | |
spec.fep.externalMonitoring.cloudWatch.enable | true | Optional A value of true forwards Fujitsu Enterprise Postgres metrics to CloudWatch. Specify false to cancel log transfer. |
spec.fep.externalMonitoring.cloudWatch.shedule | "0-59/10 * * * *" | You can specify how often to transfer. Specified as a Cron value. |
spec.fep.externalMonitoring.cloudWatch.namespace | Specifies the CloudWatch Namespace to which metrics are forwarded. Required if spec.fep.externalMonitoring.cloudWatch is specified | |
spec.fep.externalMonitoring.cloudWatch.defaultMetrics | true | Specify true to capture and forward the metrics described in "Metrics Collected by CloudWatch" in the User's Guide. Specify false to forward only custom metrics to CloudWatch. |
spec.fep.externalMonitoring.cloudWatch.customMetrics | Optional If you want to forward custom metrics, specify the ConfigMap name where you defined the custom metrics. | |
spec.fep.externalMonitoring.cloudWatch.dimensionName | Optional If adding a Dimension, specify a name of your choice. If dimensionValue is omitted, this value is ignored. | |
spec.fep.externalMonitoring.cloudWatch.dimensionValue | Optional If adding a Dimension, specify any value. If dimensionName is omitted, this value is ignored. | |
spec.fep.externalMonitoring.cloudWatch.authentication.cloudWatchCredentials | Specify a secret name that defines a credentials for a role that has permission to forward metrics to CloudWatch. Required if spec.fep.externalMonitoring.cloudWatch is specified | |
spec.fep.externalMonitoring.cloudWatch.authentication.cloudWatchConfig | Specify a ConfigMap name that defines the config information for a role that has permission to forward metrics to CloudWatch. Required if spec.fep.externalMonitoring.cloudWatch is specified | |
spec.fep.externalMonitoring.cloudWatch.databases | postgres | Specifies the databases from which to collect metrics, in list format. The default is to collect metrics from the postgres database. |
spec.fep.podAntiAffinity | false | Defines that all the pods should not run on same worker node |
spec.fep.podDisruptionBudget | false | Allows to maintain minimum number of pods of an application even when some nodes are voluntarily drained for say, maintenance |
spec.fep.replicationSlots | List of Patroni permanent replication slots. | |
spec.fep.replicationSlots.demo_subscription1 | The 'demo_subscription1' is the slot name. This name cannot be same as any pod name (e.g., new-fep-sts-01) in the cluster. Otherwise, the slot will not be created. | |
spec.fep.replicationSlots.type | logical | Must be 'logical' for logical replication |
spec.fep.replicationSlots.database | postgres | Specify the database name for logical replication |
spec.fep.replicationSlots.plugin | pgoutput | FEP supports 'pgoutput' by default. |
spec.fep.usePodName | Optional | |
spec.fep.patroni.tls.certificateName | ( created by user ) | Optional When this key is set, the Operator will ignore the value in systemCertificates |
spec.fep.patroni.tls.caName | ( created by user ) | Optional |
spec.fep.postgres.tls.certificateName | ( created by user ) | Optional |
spec.fep.postgres.tls.caName | ( created by user ) | Optional |
spec.fep.postgres.tls.privateKeyPassword | ( created by user ) | Optional |
spec.fep.pgAuditLog.auditLogPath | Use this value for log_directory in pgaudit.conf If pgAuditLog.auditLogPath is not defined: use '/database/log/audit' or '/database/userdata/data/log' when log volume is not defined . | |
spec.fep.pgAuditLog.schedules | Schedule to upload auditlog | |
spec.fep.pgAuditLog.schedules.upload | Upload schedule in crontab format | |
spec.fep.pgAuditLog.endpoint.protocol | http | Optional Default: http
|
spec.fep.pgAuditLog.endpoint.url | Webserver URL to upload the auditlog files | |
spec.fep.pgAuditLog.endpoint.customCertificateName | Optional | |
spec.fep.pgAuditLog.endpoint.insecure | false | Optional |
spec.fep.pgAuditLog.endpoint.authentication | Optional | |
spec.fep.pgAuditLog.endpoint.fileUploadParameter | file | Optional |
spec.fep.pgAuditLog.endpoint. azureBlobName | Only take effect when protocol is ‘blob’ | |
spec.fep.pgAuditLog.endpoint. azureContainerName | Required with protocol is ‘blob’ | |
spec.fep.pgAuditLog.config | Optional | |
spec.fep.pgAuditLog.enable | Optional | |
spec.fep.pgBadger.schedules.create | The 'create' schedule to create report and upload it to endpoint | |
spec.fep.pgBadger.schedules.cleanup | The 'cleanup' schedule to delete the report left in container | |
spec.fep.pgBadger.options.incremental | false | Default: false; When set to true: create incremental report in pgbadger |
spec.fep.pgBadger.endpoint.authentication | a secret to contain authentication info to access endpoint support basic auth only | |
spec.fep.pgBadger.endpoint.customCertificateName | Client certitificate reference in customCertificate CR | |
spec.fep.pgBadger.endpoint.fileUploadParameter | file | The file upload parameter defined by the web server |
spec.fep.pgBadger.endpoint.insecure | false | equivalent to curl -insecure option |
spec.fep.pgBadger.endpoint.url | Web server url to upload the report file | |
spec.ldap2pg.enable | true | Setting this to "true" will enable ldap2pg to execute periodically according to schedule defined. Setting this to "false" will remove the cronjob that execute the ldap2pg. |
spec.ldap.caConfigMapRef | If LDAP server certificate is signed by a private CA, this key should point to a configmap that has the chain of certificates that ldap2pg and FEP should trust. | |
spec.ldap.ldapconfSecretRef | Name of secret that contains the ldap.conf | |
spec.ldap2pg.ldap2pgymlConfigMapRef | Name of configmap that contains the ldap2pg.yml | |
spec.ldap2pg.mode | check | Whether ldap2pg should run in "check" mode or "real" mode. If not defined, ldap2pg will run in check mode. |
spec.ldap2pg.schedule | Schedule to execute ldap2pg in a crontab format. If the schedule is not provided, Operator will set the schedule to 5/* * * *. | |
spec.ldap2pg.skipPrivileges | false | Options Configure synchronization of role attributes and permissions between ldap2pg and FEPCluster. |
spec.fep.feputils.image | <omitted> | FEPUtils container image to use, quay.io/fujitsu/fujitsu-enterprise-postgres-18-utils:ubi9-18-1.0 Optional. Omitted by default. In this case, the image URL is obtained from the operator container environment. If you specify an image, the operator will use that image to deploy the Utils container. When fepChildCrVal.storage.autoresize.enable is true, use this image to expand the pvc-auto-resize container of the fep-tuning Pod. |
spec.fep.fepcronjob.image | <omitted> | FEPCronjob container image to use, quay.io/fujitsu/fujitsu-enterprise-postgres-cronjob:ubi9-18-1.0 Optional. Omitted by default. In this case, the image URL is obtained from the operator container environment. If you specify an image, the operator will use that image to deploy the Cronjob container. |
spec.fep.autoTuning.prometheus.prometheusUrl | Required if fepChildCrVal.storage.autoresize.enable is true. Specifies the URL of the Prometheus for which you want to retrieve metrics. | |
spec.fep.autoTuning.prometheus.authSecret | Optional Basic authentication secret that provides the user name and encrypted password | |
spec.fep.autoTuning.prometheus.authSecret.secretName | Username and password, or the name of the secret that contains the token | |
spec.fep.autoTuning.prometheus.authSecret.userKey | Key of the Secret given the user name | |
spec.fep.autoTuning.prometheus.authSecret.passwordKey | Key of the Secret with the password specified | |
spec.fep.autoTuning.prometheus.authSecret.tokenKey | Key of the Secret given the token | |
spec.fep.autoTuning.prometheus.authSecret.proxyKey | Key of the Secret specified by the proxy | |
spec.fep.autoTuning.prometheus.tls | ||
spec.fep.autoTuning.prometheus.tls.certificateName | Refers to the Kubernetes TLS secret that contains the certificate and private key. Prometheus uses this for certificate authentication. The certificate and private key itself are stored in the tls.crt and tls.key keys. | |
spec.fep.autoTuning.prometheus.tls.caName | Refers to the Kubernetes ConfigMap containing the additional CA that the client uses to verify the server certificate. The CA is stored in the ca.crt key. | |
spec.fep.autoTuning.prometheus.maxRetry | Specifies the maximum number of retries when a query to Prometheus fails. If not specified, a maximum of 60 retries are attempted. | |
spec.fep.velero.enable | false | Optional Specifies whether the Velero DR feature is used (true) or not (false). This is omitted by default. In this case, the Velero DR feature is not available. |
spec.fep.velero.labels | Optional If the Velero DR feature is used, specify the label to be given to the resource to be backed up by Velero. You can specify multiple labels. If omitted, backup-group: fep-backup is given. | |
spec.fep.velero.backup | Specifies the object storage information that stores the backup data and archive wal for FEPCluster to be built in a DR environment. Otherwise, FEPCluster built in a DR environment will fail to back up to object storage. | |
spec.fep.velero.backup.pgbackrestParams | "|" When nothing is specified, and the parameter set in pgbackrest.conf is described from the line below. (Descriptions vary depending on the provider used) If you use the same object storage as in production, specify a different object storage path (repo*-path) than fepChildCrVal.backup.pgbackrestParams. If you specify the same object storage path, you will receive an event notification. | |
spec.fep.velero.backup.pgbackrestKeyParams | Optional "|" is fixed, and the following line describes the parameters to be set in pgbackrest.conf. The value described by this parameter is masked with *****. | |
spec.fep.velero.backup.caName | Optional If you use a different CA file than the production environment, give the CA file a different name and set it here. It must also be deployed in the DR environment. | |
spec.fep.velero.backup.repoKeySecretName | Optional If you use a different secret from the production environment, give the secret a different name and set it here. It must also be deployed in the DR environment. | |
spec.fep.velero.restore.image.image | Optional | |
spec.fep.velero.restore.image.pullPolicy | IfNotPresent | Specifies the pull policy for the image.
|
spec.fep.velero.restore.mcSpec.limit | cpu: 200m memory: 300Mi | Specifies the maximum number of resources to allocate to the restore execution container. |
spec.fep.velero.restore.mcSpec.request | cpu: 100m memory: 200Mi | Specifies the lower number of resources to allocate to the restore execution container. |
spec.fep.velero.resotre.restoreTargetRepo | 1 | Specifies the backup data used to restore FEPCluster to the DR environment and the object storage information where the archive wal is stored. This is the number of the repo in fepChildCrVal.backup.pgbackrestParams. |
spec.fep.fixedStats.scheduleN | Schedule a locked statistics. Specify an integer for N. | |
spec.fep.fixedStats.scheduleN.fixSchedule | Time to start locked statistics. schedule in cron format The date and time are in UTC time. | |
spec.fep.fixedStats.scheduleN.unfixSchedule | Options Time to unpin locked statistics. Returns to regular statistics. If not specified, it is not cleared. schedule in cron format The date and time are in UTC time. | |
spec.fep.fixedStats.scheduleN.targetDb | Specify the database for which you want to locked statistics. | |
spec.fep.fixedStats.scheduleN.fixedObject | Options If the scope to be locked is smaller than the database, specify that object. Specify schema.table.column. The minimum range is the column and the maximum range is the schema. | |
spec.fep.fixedStats.endpoint.protocol | Specify the object storage vendor where statistics are stored. s3, blob, gcs can be specified. Also, if you want to directly import a file on the container, specify local. | |
spec.fep.fixedStats.endpoint.authentication | Specify this option if the protocol is s3, blob, gcs. Authentication for accessing object storage Specify a secret file that contains confidential information. | |
spec.fep.fixedStats.scheduleN.url | Specify this option if the protocol is s3, gcs. Specify the URL from which to download the statistics binary file. | |
spec.fep.fixedStats.scheduleN.azureBlobName | Specify this if the protocol is a blob. Name of the blob containing the statistics binary file. | |
spec.fep.fixedStats.scheduleN.azureContainerName | Specify this if the protocol is a blob. This item is the container name of the Azure storage account. | |
spec.fep.fixedStats.scheduleN.file | Specify this if the protocol is a local. Specify the name of the file deployed on the fep-patropni container. | |
spec.fep.fixedStats.scheduleN.update | false | Set this setting to true if you want to download statistics to be locked from object storage. |
spec.fep.fixedStats.image | The CronJob image to use. If not specified, the operator uses the latest version supported by the operator. | |
spec.fep.fixedStats.pullPolicy | IfNotPresent | |
spec.fep.fixedStats.scheduleN.enable | Options You can specify whether scheduled statistics are to be locked or released. Executed if omitted or true, not if false. | |
spec.fep.freezingTuples.enable | false | Options When true is specified, enables periodic execution of freezing operations. |
spec.fep.freezingTuples.scheduleN | Options Specifies the schedule for the freeze operation. You can specify multiple names in dictionary format. Specify an integer for N. | |
spec.fep.freezingTuples.scheduleN.start | 0 1 * * * | Specifies the date and time for starting processing in cron format. If omitted, the default values are applied. |
spec.fep.freezingTuples.scheduleN.executionTime | 3600 | Options Specified value: string Units: s, m, h,d Specifies the duration of the processing. If no unit is specified, s is assumed. If omitted, the default values are applied. |
spec.fep.backupStats.enable | false | You can set statistics to be backed up. If set to false, no backup is performed. If set to true, backup is performed. If spec.fep.backupStats.enable is not defined as false when FEPCluster is first built, it is set to true. If spec.fep.backupStats.schedule1 is not defined when FEPCluster is first built, a backup with default settings is defined in the FEPCluster custom resource. |
spec.fep.backupStats.image | The CronJob image to use. If not specified, the operator uses the latest version supported by the operator. | |
spec.fep.backupStats.pullPolicy | IfNotPresent | |
spec.fep.backupStats.scheduleN | Schedule a backup of the statistics. Specify an integer for N. | |
spec.fep.backupStats.scheduleN.backupSchedule | Time to start taking statistics backups. schedule in cron format The date and time are in UTC time. | |
spec.fep.backupStats.scheduleN.targetDb | Optional Specify the database to be backed up. If omitted, runs for all databases. | |
spec.fep.backupStats.scheduleN.fixedObject | Optional If the backup target is less than the database, specify the object. Specify schema.table.column. The minimum range is the column and the maximum range is the schema. | |
spec.fep.backupStats.scheduleN.comment | Optional Comments that can be defined when backing up statistics. If omitted, FepFixedStatsBackup: scheduleN is set. Do not use the following phrases in comments. FepFixedStats | |
spec.fep.backupStats.scheduleN.retention | Options At the same time as a scheduled backup, you can delete backups that are stored in the target database for a specified number of days or earlier. Specify an integer. If omitted, no deletion is performed. | |
spec.fep.backupStats.scheduleN.enable | Options You can specify whether scheduled statistics are to be locked or released. Executed if omitted or true, not if false. | |
spec.fep.multiMasterReplication | - | Options Define the multi-master replication configuration. |
spec.fep.hostName | If you created an SVC to accept connections from outside your deployed Kubernetes cluster, specify the hostname. | |
spec.fep.port | This is the port used to connect to the deployed Kubernetes from outside. | |
spec.fep.multiMasterReplication.enable | false | Enable the construction of a multi-master replication configuration. Once enabled by setting this to true, the feature cannot be disabled. |
spec.fep.multiMasterReplication.configMapName | Specify the ConfigMap name defining the FEPCluster or database for bidirectional replication. | |
spec.fep.multiMasterReplication.replicationHosts[] | Specify the information for the FEPCluster(s) for bidirectional replication in array format. Only one array can be specified. | |
spec.fep.multiMasterReplication.replicationHosts[].hostName | Specify the connectable hostname. | |
spec.fep.multiMasterReplication.replicationHosts[].port | 27500 | Options Specify the port of the host that can be connected to. |
spec.fep.multiMasterReplication.replicationHosts[].pgAdminPassword | Specifies the password for the postgres user at the replication destination. After applying to the FEPCluster, this parameter is masked with *. | |
spec.fepChildCrVal.customCertificates | Optional
Used to setup SSL connection between publisher and subscriber clusters for logical replication. | |
spec.fepChildCrVal.customCertificates.userName | Optional | |
spec.fepChildCrVal.customCertificates.certificateName | ( created by user ) | Optional |
spec.fepChildCrVal.customCertificates.caName | ( created by user ) | Optional |
spec.fepChildCrVal.backup | Optional | |
spec.fepChildCrVal.backup.image.image | <omitted> | FEP backup container image to be used quay.io/fujitsu/fujitsu-enterprise-postgres-18-backup:ubi9-18-1.0 It is optional. Image line is omitted by default. In such a case, it will pick up URL of image from operator container environment. If you specify the image, Operator will take that image to deploy backup container |
spec.fepChildCrVal.backup.image.pullPolicy | IfNotPresent | |
spec.fepChildCrVal.backup.mcSpec.limits | cpu: 0.2 memory: "300Mi" | |
spec.fepChildCrVal.backup.mcSpec.requests | cpu: 0.1 memory: "200Mi" | |
sepc.fepChildCrVal.backup.type | Optional Specifiable value: local | |
spec.fepChildCrVal.backup.pgbackrestParams | (If sepc.fepChildCrVal.backup.type is local) [global] repo1-retention-full=7 repo1-retention-full-type=time log-path=/database/log/backup | Specifies the object storage information that stores the backup data and archive wal. "|" When nothing is specified, and the parameter set in pgbackrest.conf is described from the line below. The value described by this parameter is masked with *****. (Descriptions vary depending on the provider used) |
spec.fepChildCrVal.backup.pgbackrestKeyParams | Optional "|" is fixed, and the following line describes the parameters to be set in pgbackrest.conf. The value described by this parameter is masked with *****. | |
spec.fepChildCrVal.backup.caName | Optional Set to use a CA file other than the system default. Specifies the name of the Configmap you created. | |
spec.fepChildCrVal.backup.repoKeySecretName | Optional Specifies the name of the Kubernetes Secret generated from the object storage key file. Specify in array format. | |
spec.fepChildCrVal.backup.schedule.num | 0
| Number of schedules to set The maximum number of backup schedules is 5. |
spec.fepChildCrVal.backup.scheduleN.schedule | (If sepc.fepChildCrVal.backup.type is local) schedule1: | Backup schedule in cron format. The date and time is UTC time. |
spec.fepChildCrVal.backup.scheduleN.type | (If sepc.fepChildCrVal.backup.type is local) schedule1: | full: Perform a full backup (Back up the contents of the database cluster). incr — Perform an incremental backup (Back up only the database cluster files that were changed to the last backup migration). |
spec.fepChildCrVal.backup.scheduleN.repo | 1 | Optional Gets a backup in the specified repository. The range is 1 to 256. |
spec.fepChildCrVal.customPgAudit | [output] logger = 'auditlog' log_directory = '/database/log/audit' log_truncate_on_rotation = on log_filename = 'pgaudit-%a.log' log_rotation_age = 1d log_rotation_size = 0 [rule] | PgAudit file content |
spec.fepChildCrVal.customPgHba | # define pg_hba custom rules here to be merged with default rules. # TYPE DATABASE USER ADDRESS METHOD | Entries to be inserted into pg_hba.conf |
spec.fepChildCrVal.customPgParams | # define custom postgresql.conf parameters below to override defaults. # Current values are as per default FEP deployment shared_preload_libraries='pgx_datamasking,pg_prewarm,pg_stat_statements,fsep_operator_security' session_preload_libraries='pg_prewarm' max_prepared_transactions = 100 max_worker_processes = 30 max_connections = 100 work_mem = 1MB maintenance_work_mem = 12MB shared_buffers = 128MB effective_cache_size = 384MB checkpoint_completion_target = 0.8 # tcp parameters tcp_keepalives_idle = 30 tcp_keepalives_interval = 10 tcp_keepalives_count = 3 # logging parameters in default fep installation # if log volume is not defined, log_directory should be # changed to '/database/userdata/data/log' log_directory = '/database/log' log_filename = 'logfile-%a.log' log_file_mode = 0600 log_truncate_on_rotation = on log_rotation_age = 1d log_rotation_size = 0 log_checkpoints = on log_line_prefix = '%e %t [%p]: [%l-1] user=%u,db=%d,app=%a,client=%h' log_lock_waits = on log_autovacuum_min_duration = 60s logging_collector = on pgaudit.config_file='/opt/app-root/src/pgaudit-cfg/pgaudit.conf' log_replication_commands = on log_min_messages = WARNING log_destination = stderr # wal_archive parameters in default fep installation archive_mode = on archive_command = 'pgbackrest --stanza=backupstanza --config=/database/userdata/pgbackrest.conf archive-push %p' wal_level = replica max_wal_senders = 12 wal_keep_segments = 64 track_activities = on track_counts = on password_encryption = 'md5' | Postgres configuration in postgresql.conf If the FEP server container utilizes images with a FEPBaseVersion less than 15, exclude fsep_operator_security from the configuration. If spec.fep.databaseSize is defined, the default value will be changed as shown below. shared_buffers = 30% of spec.fep.mcSpec.limits.memory work_mem = 30% of spec.fep.mcSpec.limits.memory / max_connections / 2 effective_cache_size = 75% of spec.fep.mcSpec.limits.memory maintenance_work_mem = 10% of spec.fep.mcSpec.limits.memory / (1 + autovacuum_max_workers) |
spec.fep.vectorTransformation.enable | false | Setting to true activates the feature of model management in the database. |
spec.fep.vectorTransformation.modelRepository.modelOwner.name | - | Set the model owner's name. |
spec.fep.vectorTransformation.modelRepository.modelOwner.password | - | Set the model owner's password. |
spec.fep.vectorTransformation.modelRepository.modelUser.name | - | Set the model user's name. |
spec.fep.vectorTransformation.modelRepository.modelUser.password | - | Set the model user's password. |
spec.fep.vectorTransformation.modelRepository.modelLoader.name | - | Set the load user's name. |
spec.fep.vectorTransformation.modelRepository.modelLoader.password | - | Set the load user's password. |
spec.fep.vectorTransformation.inferenceServer | - | Parameters related to the inference server. |
spec.fep.vectorTransformation.inferenceServer.image | - | Required when spec.fep.vectorTransformation.enable is true Specify the name of the built inference server. |
spec.fep.vectorTransformation.inferenceServer.imagePullsecret | - | Required when spec.fep.vectorTransformation.enable is true Specify the Pullsecret to access the repository where the built inference server is published. |
spec.fep.vectorTransformation.inferenceServer.connectionTls.enable | false | Set to true when using mTLS. |
spec.fep.vectorTransformation.inferenceServer.connectionTls.certificate.grpcCaName | - | Specifies the TLS secret used for gRPC connections. |
spec.fep.vectorTransformation.inferenceServer.connectionTls.certificate.grpcCertificateName | - | Specify the Secret name containing the CA certificate used to verify the server certificate chain for gRPC connections. |
spec.fep.vectorTransformation.inferenceServer.connectionTls.certificate.grpcPrivateKey | - | Specifies the Kubernetes secret containing the password for the private key used for gRPC connections. |
spec.fep.vectorTransformation.inferenceServer.connectionTls.certificate.tritonGrpcCaName | - | Specifies the TLS secret used for gRPC connections configured on the Triton server. |
spec.fep.vectorTransformation.inferenceServer.connectionTls. certificate.tritonGrpcCertificateName | - | Specify the Secret name containing the CA certificate used to verify the server certificate chain for gRPC connections configured on the Triton server. |
spec.fep.vectorTransformation.inferenceServer.connectionTls.certificate.tritonGrpcPrivateKey | - | Specify the secret name containing the CA certificate used to verify the server certificate chain for the gRPC connection configured on the Triton server. |
spec.fep.vectorTransformation.inferenceServer.mcSpec.limits | cpu:500m memory:1Gi | Specifies the resource limit for the inference server. |
spec.fep.vectorTransformation.inferenceServer.mcSpec.limits.requests | cpu:200m memory:512Mi | Specifies the minimum resources required by the inference server. |
spec.fep.vectorTransformation.inferenceServerPorts.grpcPort | - | Required when spec.fep.vectorTransformation.enable is true. Specifies the port number for gRPC connections. |
spec.fep.vectorTransformation.inferenceServerPorts.metricsPort | - | Required when spec.fep.vectorTransformation.enable is true. Specifies the port number for acquiring metrics. |
spec.fepChildCrVal.storage.dataVol | Mandatory volume | |
spec.fepChildCrVal.storage.dataVol.size | 2Gi (**) | Size of data volume. Data volume must be specified |
spec.fepChildCrVal.storage.dataVol.storageClass | <omitted> (*) | StorageClass for data volume: When this line is omitted, the PV created will use default storage class in the Kubernetes cluster |
spec.fepChildCrVal.storage.dataVol.accessModes | <omitted> (*) | accessModes for data volume: Specified as an array of accessModes e.g. [ReadWriteMany] If omitted, it will be treated as [ReadWriteOnce] |
spec.fepChildCrVal.storage.walVol | Mandatory volume | |
spec.fepChildCrVal.storage.walVol.size | 1200Mi (**)
| Size of WAL volume. WAL volume must be specified |
spec.fepChildCrVal.storage.walVol.storageClass | <omitted> (*) | StorageClass for WAL volume: When this line is omitted, the PV created will use default storage class in the Kubernetes cluster |
spec.fepChildCrVal.storage.walVol.accessModes | <omitted> (*) | accessModes for WAL volume: Specified as an array of accessModes e.g. [ReadWriteMany] If omitted, it will be treated as [ReadWriteOnce] |
spec.fepChildCrVal.storage.tablespaceVol | Optional volume | |
spec.fepChildCrVal.storage.tablespaceVol.size | 512Mi (**) | Size of tablespace volume. This volume is optional and can be omitted |
spec.fepChildCrVal.storage.tablespaceVol.storageClass | <omitted> (*) | StorageClass for tablespace volume: When this line is omitted, the PV created will use default storage class in the Kubernetes cluster |
spec.fepChildCrVal.storage.tablespaceVol.accessModes | <omitted> (*) | accessModes for tablespace volume: Specified as an array of accessModes e.g. [ReadWriteMany] If omitted, it will be treated as [ReadWriteOnce] |
spec.fepChildCrVal.storage.archivewalVol | Mandatory if backup section is defined. Optional otherwise | |
spec.fepChildCrVal.storage.archivewalVol.size | 1Gi (**)
| Size of archivewal volume. This volume is optional and can be omitted |
spec.fepChildCrVal.storage.archivewalVol.storageClass | <omitted> (*) | StorageClass for Archived WAL volume: When this line is omitted, the PV created will use default storage class in the Kubernetes cluster When the number of instance is more than 1 and backup is not done on S3, both archivewalVol and backupVol must be hosted on Shared storage such as NFS with respective storageClass |
spec.fepChildCrVal.storage.archivewalVol.accessModes | <omitted> (*) | accessModes for Archived WAL volume: Specified as an array of accessModes e.g. [ReadWriteMany] If omitted, it will be treated as [ReadWriteOnce] When the number of instance is more than 1 and backup is not done on S3, both archivewalVol and backupVol must be hosted on Shared storage such as NFS with accessMode set to [ReadWriteMany] |
spec.fepChildCrVal.storage.logVol | Optional volume | |
spec.fepChildCrVal.storage.logVol.size | 1Gi (**)
| Size of log volume. This volume is optional and can be omitted |
spec.fepChildCrVal.storage.logVol.storageClass | <omitted> (*) | StorageClass for log volume: When this line is omitted, the PV created will use default storage class in the Kubernetes cluster |
spec.fepChildCrVal.storage.logVol.accessModes | <omitted> (*) | accessModes for log volume: Specified as an array of accessModes e.g. [ReadWriteMany] If omitted, it will be treated as [ReadWriteOnce] |
spec.fepChildCrVal.storage.backupVol | Mandatory if backup section is defined. Optional otherwise | |
spec.fepChildCrVal.storage.backupVol.size | 2Gi (**)
| Size of backup volume. This volume is optional and can be omitted |
spec.fepChildCrVal.storage.backupVol.storageClass | <omitted> (*) | StorageClass for backup volume: When this line is omitted, the PV created will use default storage class in the Kubernetes cluster When the number of instance is more than 1 and backup is not done on S3, both archivewalVol and backupVol must be hosted on Shared storage such as NFS with respective storageClass |
spec.fepChildCrVal.storage.backupVol.accessModes | <omitted> (*) | accessModes for backup volume: Specified as an array of accessModes e.g. [ReadWriteMany] If omitted, it will be treated as [ReadWriteOnce] When the number of instance is more than 1 and backup is not done on S3, both archivewalVol and backupVol must be hosted on Shared storage such as NFS with accessMode set to [ReadWriteMany] |
sepc.fepChildCrVal.storage.dataSize | Specify the amount of data at the data storage destination. | |
sepc.fepChildCrVal.storage.accessModes | Specify the accessModes for each volume if you want to specify them in a batch. | |
sepc.fepChildCrVal.storage.storageClass | Specify the storageClass for each volume if you want to specify them in a batch. | |
spec.fepChildCrVal.storage.autoresize | ||
spec.fepChildCrVal.storage.autoresize.enable | false | Optional Specified value: boolean true to enable auto-extension for PVCs. |
spec.fepChildCrVal.storage.autoresize.mcSpec.limits | cpu: 50m memory: 60Mi | Optional Specifies the resource limit that can be allocated to pvc-auto-resize container. |
spec.fepChildCrVal.storage.autoresize.mcSpec.requests | cpu: 10m memory: 5Mi | Optional Specifies the resources to assign that can be allocated to pvc-auto-resize container. |
spec.fepChildCrVal.storage.autoresize.interval | 30 | Optional Units: s Specifies the interval between metric checks. If 0 or less is specified, the PVC is not extended. |
spec.fepChildCrVal.storage.autoresize.threshold | 80 | Optional Specified value: integer Unit:% Specifies the storage utilization threshold. Extends the PVC when this value is exceeded. When 0 is specified, storage utilization is not checked. The xxxVol.threshold applies to all storage that is not defined. |
spec.fepChildCrVal.storage.autoresize.increaseType | percent | Optional Specified value: percent, size Specifies how the PVC extension is estimated when the threshold is exceeded. When percent is specified Expands the PVC by the specified percentage of its original capacity. If size is specified Extends the PVC by the specified amount (Gi). Applies to all storage where xxxVol.increaseType is not defined. |
spec.fepChildCrVal.storage.autoresize.increase | 25 | Optional Specified value: integer Units:% or Gi Specifies the extension amount for the PVC. The units depend on the value specified for increaseType. If a value less than or equal to 0 is specified, no extension is performed. This applies to all storage where xxxVol.increase is not defined. |
spec.fepChildCrVal.storage.autoresize.storageLimit | Optional Specified value: integer Units: Gi Specifies the maximum value by which the PVC can be extended. If not specified, the extension is unrestricted. If you do not specify this value, we recommend that you verify that the storage class being used has a namespace quota. Do not extend the PVC when less than or equal to disk space is specified. Applies to all storage where xxxVol.storageLimit is not defined. | |
spec.fepChildCrVal.storage.xxxVol | xxx is the contents of data, wal, log, tablespace, archivewal, backup | |
spec.fepChildCrVal.storage.xxxVol.threshold | Optional Specified value: integer Unit:% Specifies the storage utilization threshold. Extends the PVC when this value is exceeded. When 0 is specified, storage utilization is not checked. If not specified, it follows the value specified in autoresize.threshold. | |
spec.fepChildCrVal.storage.xxxVol.increaseType | Optional Specified value: percent, size Specifies how the PVC extension is estimated when the threshold is exceeded. When percent is specified Expands the PVC by the specified percentage of its original capacity. If size is specified Extends the PVC by the specified amount (Gi). If not specified, the value specified by autoresize.increaseType. | |
spec.fepChildCrVal.storage.xxxVol.increase | Optional Specified value: integer Units:% or Gi Specifies the extension amount for the PVC. The units depend on the value specified for increaseType. If not specified, the value specified by autoresize.increase. | |
spec.fepChildCrVal.storage.xxxVol.storageLimit | Optional Specified value: integer Units: Gi Specifies the maximum capacity by which the PVC can be extended. Do not expand if the specification is less than or equal to the disk capacity. If not specified, it follows the value specified by autoresize.storageLimit. | |
spec.fepChildCrVal.storage.inferenceVol.size | - | Required when spec.fep.vectorTransformation.enable.enable is true Specifies the size of the model to mount. |
spec.fepChildCrVal.storage.inferenceVol.storageClass | - | Required when spec.fep.vectorTransformation.enable.enable is true Specifies the name of the storage class to mount. |
spec.fepChildCrVal.storage.inferenceVol.accessMode | - | Required when spec.fep.vectorTransformation.enable.enable is true Specifies the access mode for the storage to mount. |
spec.fepChildCrVal.storage.modelRepositoryVol.size | - | Required when spec.fep.vectorTransformation.enable.enable is true Specifies the size of the model to mount. |
spec.fepChildCrVal.storage. modelRepositoryVol.storageClass | - | Required when spec.fep.vectorTransformation.enable.enable is true Specifies the name of the storage class to mount. |
spec.fepChildCrVal.storage. modelRepositoryVol.accessMode | - | Required when spec.fep.vectorTransformation.enable.enable is true Specifies the access mode for the storage to mount. |
spec.fepChildCrVal.sysUsers.pgAdminPassword | <omitted> | Password for user "postgres" Available character types Alphanumeric characters (A-Z, a-z), numbers (0 -9), symbols (~! @ # $% ^ & * () - = < >,.? ; : |/+) If this parameter is omitted, the Operator automatically generates a password. If the FEP server container uses an image with a FEPBaseVersion less than 15, be sure to specify this parameter. |
spec.fepChildCrVal.sysUsers.pgdb | mydb (*) | Database to be created during provisioning Available character types Alphanumeric characters (A-Z, a-z), numbers (0 -9), and underscores (_) However, you cannot start with a number. Upper case letters are treated as lower case letters. Maximum string length 63 characters |
spec.fepChildCrVal.sysUsers.pguser | mydbuser (*) | Database user to be created during provisioning Available character types Alphanumeric characters (A-Z, a-z), numbers (0 -9), and underscores (_) However, you cannot start with a number. Upper case letters are treated as lower case letters. Maximum string length 63 characters This database user is the owner of the database defined in "spec.fepChildCrVal.sysUsers.pgdb" and has the role of database administrator. This user has the following privileges:. (NOCREATEROLE when spec.fepChildCrVal.sysUsers.pgSecurityUser is defined) They also belong to the following roles:. |
spec.fepChildCrVal.sysUsers.pgpassword | mydbpassword | Password for database user pguser Available character types Alphanumeric characters (A-Z, a-z), numbers (0 -9), symbols (~! @ # $% ^ & * () - = < >,.? ; : |/+) |
spec.fepChildCrVal.sysUsers.pgrepluser | repluser (*) | Database user for replication Available character types Alphanumeric characters (A-Z, a-z), numbers (0 -9), and underscores (_) However, you cannot start with a number. Maximum string length 63 characters |
spec.fepChildCrVal.sysUsers.pgreplpassword | repluserpwd | Alphanumeric characters |
spec.fepChildCrVal.sysUsers.tdepassphrase | tde-passphrase | TDE keystore passphrase |
spec.fepChildCrVal.sysUsers.pgRewindUser | rewind_user | Database user for Rewind Available character types Alphanumeric characters (A-Z, a-z), numbers (0 -9), and underscores (_) However, you cannot start with a number. Maximum string length 63 characters |
spec.fepChildCrVal.sysUsers.pgRewindUserPassword | rewind_password | Password for database user rewinduser Available character types Alphanumeric characters (A-Z, a-z), numbers (0 -9), symbols (~! @ # $% ^ & * () - = < >,.? ; : |/+) |
spec.fepChildCrVal.sysUsers.pgMetricsUser | Optional user for FEPExporter connection. Can be defined afterwards Available character types Alphanumeric characters (A-Z, a-z), numbers (0 -9), and underscores (_) However, you cannot start with a number. Upper case letters are treated as lower case letters. Maximum string length 63 characters | |
spec.fepChildCrVal.sysUsers.pgMetricsUserPassword | Optional Password for metrics user. Can be defined afterwards Available character types Alphanumeric characters (A-Z, a-z), numbers (0 -9), symbols (~! @ # $% ^ & * () - = < >,.? ; : |/+) | |
spec.fepChildCrVal.sysUsers.pgSecurityUser | Options Username of the security administrator user. Can be defined later. This parameter is optional, but cannot be changed or deleted after it has been defined. Available character types Alphanumeric characters (A-Z, a-z), numbers (0 -9), and underscores (_) However, you cannot start with a number. Upper case letters are treated as lower case letters. Maximum string length 63 characters | |
spec.fepChildCrVal.sysUsers.pgSecurityPassword | Options Defines the password for the sensitive administrator user. This parameter is optional but required when "pgSsecurityUser" is defined. Available character types Alphanumeric characters (A-Z, a-z), numbers (0 -9), symbols (~! @ # $% ^ & * () - = < >,.? ; : |/+) | |
spec.fepChildCrVal.sysUsers.passwordValid | Options Manage password expiration for database users. Sets the expiration date for database user passwords defined in the FEPCluster custom resource below.
In addition, if shared_preload_libraries in customPgParams is set to "fsep_operator_security" and the "CREATE ROLE" or "ALTER ROLE" command is used to update the password of a database user with login privileges and the expiration time is not defined or is longer than the specified expiration time, the operation will fail. Updates the password expiration date for database users with login privileges that have not expired when the specified expiration date is updated. | |
spec.fepChildCrVal.sysUsers.passwordValid.days | Options Specifies the number of days the database role is valid. Specify an integer value greater than or equal to 0. If any other value is entered, it is treated as 0 (no expiration date is set). The 'days' option is not available when using the Cloud-based Secret Management feature. When you take advantage of the Cloud-based Secret Management feature, the database user password expiration can be managed by a rotation policy provided by an external secret store service. | |
spec.fepChildCrVal.sysUsers.pgAdminTls.certificateName | This points to Kubernetes TLS secret that contains the certificate of Postgres user "postgres". Patroni will use this for certificate authentication. The certificate itself is stored in the key tls.crt. This field is optional. | |
spec.fepChildCrVal.sysUsers.pgAdminTls.caName | This points to Kubernetes configmap that contains additional CA the client use to verify a server certificate. The CA is stored in the key ca.crt. This field is optional. | |
spec.fepChildCrVal.sysUsers.pgAdminTls.sslMode | prefer | Specify the type of TLS negotiation with the server.
|
spec.fepChildCrVal.sysUsers.pgreplUserTls.certificateName | This points to Kubernetes TLS secret that contains the certificate of Postgres user "repluser". Patroni will use this for certificate authentication. The certificate itself is stored in the key tls.crt. This field is optional. | |
spec.fepChildCrVal.sysUsers.pgreplUserTls.caName | This points to Kubernetes configmap that contains additional CA the client use to verify a server certificate. The CA is stored in the key ca.crt. This field is optional. | |
spec.fepChildCrVal.sysUsers.pgreplUserTls.sslMode | prefer | Specify the type of TLS negotiation with the server.
|
spec.fepChildCrVal.sysUsers.pgRewindUserTls.certificateName | This points to Kubernetes TLS secret that contains the certificate of Postgres user "rewinduser". Patroni will use this for certificate authentication. The certificate itself is stored in the key tls.crt. This field is optional. | |
spec.fepChildCrVal.sysUsers.pgRewindUserTls.caName | This points to Kubernetes configmap that contains additional CA the client use to verify a server certificate. The CA is stored in the key ca.crt. This field is optional. | |
spec.fepChildCrVal.sysUsers.pgRewindUserTls.sslMode | prefer | Specify the type of TLS negotiation with the server.
|
spec.fepChildCrVal.sysUsers.pgMetricsUserTls.certificateName | Optional | |
spec.fepChildCrVal.sysUsers.pgMetricsUserTls.caName | Optional | |
spec.fepChildCrVal.sysUsers.pgMetricsUserTls.sslMode | prefer | Optional
|
spec.fepChildCrVal.sysUsers.vectorizerPassword | Optional Available character types Alphanumeric characters (A-Z, a-z), numbers (0 -9), symbols (~! @ # $% ^ & * () - = < >,.? ; : |/+) If this parameter is omitted, the Operator automatically generates a password. | |
spec.fepChildCrVal.sysUsers.vectorizerTls.certificateName | This points to Kubernetes TLS secret that contains the certificate of Postgres user "vectorizerrole". Patroni will use this for certificate authentication. The certificate itself is stored in the key tls.crt. This field is optional. | |
spec.fepChildCrVal.sysUsers.vectorizerTls.caName | This points to Kubernetes configmap that contains additional CA the client use to verify a server certificate. The CA is stored in the key ca.crt. This field is optional. | |
spec.fepChildCrVal.sysUsers.vectorizerTls.sslMode | prefer | Specify the type of TLS negotiation with the server.
|
spec.fepChildCrVal.sysTde | (*) | Optional |
spec.fepChildCrVal.sysTde.tdeType | (*) | Optional |
spec.fepChildCrVal.sysTde.tdek | Optional | |
spec.fepChildCrVal.sysTde.tdek.targetKmsName | Specify one of the key management system names defined in kmsDefinition[*].name as the name of the key management system to use as the keystore. | |
spec.fepChildCrVal.sysTde.tdek.targetKeyId | Specifies the key ID (Identifier attribute in KMIP) attached to the encryption key in KMS. | |
spec.fepChildCrVal.sysTde.tdek.kmsDefinition | Specifies KMS connection information. | |
spec.fepChildCrVal.sysTde.tdek.kmsDefinition[*].name | (*) | The name given to the KMS (key management system name) specified in spec.fepChildCrVal.sysTde.tdek.targetKmsName. |
spec.fepChildCrVal.sysTde.tdek.kmsDefinition[*].type | (*) | Specifies the type of KMS. |
spec.fepChildCrVal.sysTde.tdek.kmsDefinition[*].address | (*) | Specifies the host name or IP address of the KMIP server. |
spec.fepChildCrVal.sysTde.tdek.kmsDefinition[*].port | (*) | Specifies the port of KMIP server. |
spec.fepChildCrVal.sysTde.tdek.kmsDefinition[*].authMethod | (*) | Specifies the authentication method in KMIP server. |
spec.fepChildCrVal.sysTde.tdek.kmsDefinition[*].sslpassphrase | Optional | |
spec.fepChildCrVal.sysTde.tdek.kmsDefinition[*].cert | Optional | |
spec.fepChildCrVal.sysTde.tdek.kmsDefinition[*].cert.certificateName | (*) | Specifies the TLS Secret name that contains the client certificate and private key for TLS communication with KMIP server. |
spec.fepChildCrVal.sysTde.tdek.kmsDefinition[*].cert.caName | (*) | Specifies the ConfigMap name that contains the file name of the SSL Certificate Authority certificate. |
spec.fepChildCrVal.sysTde.tdek.kmsDefinition[*].profile | Specify a profile that uses AWS KMS. For more information about profile, see the official AWS documentation. | |
spec.fepChildCrVal.sysTde.tdek.kmsDefinition[*].awsKmsCredentials | Specify a Secret that contains credentials (access key id and secret access key) to AWS KMS. | |
spec.fepChildCrVal.sysTde.tdek.kmsDefinition[*].awsKmsConfig | Specify a ConfigMap that contains configuration information for the AWS KMS CLI. | |
spec.fepChildCrVal.sysTde.tdek.kmsDefinition[*].appid | Enter the application ID when using Azure Key Vault. You can get this when you create a service principal. | |
spec.fepChildCrVal.sysTde.tdek.kmsDefinition[*].tenantid | Specify tenantid when using Azure Key Vault. You can get this when you create a service principal. | |
spec.fepChildCrVal.sysTde.tdek.kmsDefinition[*].encAlgorithm | Specifies when using Azure Key Vault. See the appendix for the algorithms you can select, refer to "Available Algorithms" in the User's Guide. | |
spec.fepChildCrVal.sysTde.tdek.kmsDefinition[*].azureKeyVaultClientPassphrase | Used to authenticate to Azure Key Vault. Specifies the secret that contains the client Secret (password). | |
spec.fepChildCrVal.sysTde.tdek.kmsDefinition[*].azureKeyVaultClientCert | Used to authenticate to Azure Key Vault. Specifies the Secret that contains the client certificate. | |
spec.fepChildCrVal.systemCertificates.key | Use spec.fep.postgres.tls specification instead. | |
spec.fepChildCrVal.systemCertificates.crt | Use spec.fep.postgres.tls specification instead. | |
spec.fepChildCrVal.systemCertificates. cacrt | Use spec.fep.postgres.tls specification instead. | |
spec.fepChildCrVal.autoscale.scaleout.policy | off | Specifies whether to use the automatic scale out feature and the metric to base on. Specify one of the following: - cpu_utilization (if based on CPU utilization) If omitted, off is assumed. |
spec.fepChildCrVal.autoscale.scaleout.threshold | 40 | Specifies an integer as the threshold for performing scale out. - When cpu_utilization is specified for policy - When connection_number is specified for policy |
spec.fepChildCrVal.autoscale.scaleout.metricName | pg_capacity_connection_average | Specify this parameter if policy is connection_number. Ignored if policy is cpu_utilization. The custom metrics server must publish the average number of connections in the FEP cluster under this name. If omitted, pg_capacity_connection_average is assumed. |
spec.fepChildCrVal.autoscale.scaleout.stabilizationWindowSeconds | 0 | This parameter controls the stability of scaling (variation in the number of replicas). Scale out is not performed unless the metric exceeds the threshold for more than the number of seconds specified for this parameter. If omitted, 0 is assumed. |
spec.fepChildCrVal.autoscale.limits.maxReplicas | 2 | Maximum number of replicas (0 to 15) (Value out of range) Do not perform auto scale out |
spec.fepChildCrVal.restore | Optional Defines to restore specified backup data stored in object storage. | |
spec.fepChildCrVal.restore.pgbackrestParams | Optional "|" is fixed, and the following line describes the parameters to be set in pgbackrest.conf. Specifies the object storage where the backup data is stored. If you need to use a root certificate other than the default, specify the following: repo1-storage-ca-path =/pgbackrest/storage-certs/filename The CA file is registered in ConfigMap and the ConfigMap name is listed in spec.fepChildCrVal.restore.caName. | |
spec.fepChildCrVal.restore.pgbackrestKeyParams | Optional "|" is fixed, and the following line describes the parameters to be set in pgbackrest.conf. The value described by this parameter is masked with *****. Specify the parameter you want to mask, such as a password. | |
spec.fepChildCrVal.restore.caName | Optional Set to use a CA file other than the system default. Specifies the name of the ConfigMap created, in list format. The ConfigMap specified is mounted in /pgbackrest/storage-certs. | |
spec.fepChildCrVal.restore.repoKeySecretName | Optional Specifies the name of the Kubernetes Secret generated from the object storage key file. Specify in array format. The specified Secret will be mounted in /pgbackrest/storage-key. | |
spec.fepChildCrVal.restore.mcSpec.limits | cpu: 200m memory: 300Mi | Optional CPU and memory allocated to the container performing the restore |
spec.fepChildCrVal.restore.mcSpec.requests | cpu: 100m memory: 200Mi | Optional CPU and memory allocated to the container performing the restore |
spec.fepChildCrVal.restore.restoretype | latest | Optional Select the type of restore (latest or PITR). |
spec.fepChildCrVal.restore.restoredate | Optional Specifies the date to restore when spec.fepChildCrVal.restore.restoretype is "PITR". | |
spec.fepChildCrVal.restore.restoretime | Optional Specifies the time to restore when spec.fepChildCrVal.restore.restoretype is "PITR". | |
spec.fepChildCrVal.restore.image | Optional Image of the container to perform the restore It is omitted by default. In this case, the URL for image is obtained from the operator container environment. | |
spec.fepChildCrVal.restore.imagePullPolicy | IfNotPresent | Optional |
spec.fepChildCrVal.upgrade | Optional When this field is defined, a major version upgrade is performed. However, if spec.fepChildCrVal.restore is defined, the FEPCluster build stops. | |
spec.fepChildCrVal.upgrade.sourceCluster | Specifies the FEPClusterCR name from which to migrate data. Required if spec.fepChildCrVal.upgrade is defined. | |
spec.fepChildCrVal.upgrade.mcSpec.limits | cpu: 200m memory: 300Mi | Optional Specifies the maximum number of resources to allocate to the upgrade execution container. |
spec.fepChildCrVal.upgrade.mcSpec.requests | cpu: 100m memory: 200Mi | Optional Specifies the lower limit of resources allocated to the upgrade execution container. |
spec.fepChildCrVal.upgrade.image | Optional By default, the URL of image is obtained from the operator container environment. | |
spec.fepChildCrVal.upgrade.imagePullPolicy | IfNotPresent | Optional Specifies the pull policy for the container image.
|
spec.fepChildCrVal.upgrade.source.pgAdminTls.certificateName | Optional If you do not define spec.fepChildCrVal.sysUsers.pgAdminTls.certificateName for the data source, it points to the Kubernetes TLS secret that contains the certificate for the Postgres user "postgres" in the data source. If the data source FEP has set the authentication method for the upgrade execution container to "cert", then the upgrade execution container uses the certificate defined as secret. | |
spec.fepChildCrVal.upgrade.destination.pgAdminTls.certificateName | Optional If you have not defined the spec.fepChildCrVal.sysUsers.pgAdminTls.certificateName of the newly created FEPCluster, it points to the Kubernetes TLS secret that contains the certificate of the Postgres user "postgres" in the data source. If you create a new FEP with the "cert" authentication method for the upgrade execution container, the upgrade execution container uses the certificate defined as secret. | |
spec.fepChildCrVal.upgrade.storage | Optional Defines the storage for storing dump files. | |
spec.fepChildCrVal.upgrade.storage.storageClass | Optional If omitted, the default storage class for your environment is used. | |
spec.fepChildCrVal.upgrade.storage.size | 2Gi | Optional Specifies the size of the storage to store the dump file. |
spec.fepChildCrVal.upgrade.storage.accessModes | ReadWriteOnce | Optional accessModes for store the dump file Specified as an array of accessModes e.g. [ReadWriteMany] If omitted, it will be treated as [ReadWriteOnce] |
spec.fep.remoteLogging.enable | Set to true to forward logs from fluentbit to fluentd | |
spec.fep.remoteLogging.image | Optional Fluentbit image to be used. If not specified, Operator will use the latest version that is supported by the Operator. | |
spec.fep.remoteLogging.pullPolicy | IfNotPresent | Optional |
spec.fep.remoteLogging.fluentdName | Optional The name of the FEPLogging CR to which logs are transferred. Specify this option to use the FEPLogging function to transfer logs. | |
spec.fep.remoteLogging.tls.certificateName | Optional Kubernetes secret name which holds fluentbit certificate. FEPLogging will use this for certificate authentication. The certificate itself is stored in the key tls.crt. | |
spec.fep.remoteLogging.tls.caName | Optional Kubernetes configmap which holds cacert of Fluentd to which fluentbit will use to perform MTLS. | |
spec.fep.remoteLogging.mcSpec.limits.cpu | 50m | Optional CPU allocation limit for fluentbit. |
spec.fep.remoteLogging.mcSpec.limits.memory | 60Mi | Optional Memory allocation limit for fluentbit. |
spec.fep.remoteLogging.mcSpec.requests.cpu | 10m | Optional CPU allocation request for fluentbit. |
spec.fep.remoteLogging.mcSpec.requests.memory | 5Mi | Optional Memory allocation request for fluentbit. |
spec.fep.remoteLogging.fluentbitParams.memBufLimit | 5MB | Optional Defines the Mem_Buf_Limit in Fluentbit. This will affect all sections that use this parameter. |
spec.fep.remoteLogging.fluentbitConfigSecretRef | Optional Specifies the name of the secret containing fluent-bit.yaml when using the log transfer feature with remote logging. If fluentbitConfigSecretRef is not defined, or if fluentbitConfigSecretRef is defined but the referenced secret does not exist, the operator creates a default Secret <fep-cluster>-fluent-bit-conf and updates this parameter with <fep-cluster>-fluent-bit-conf. If the referenced secret exists, the named secret is mounted to fep-logging-fluent-bit under/fluent-bit/etc. | |
spec.fep.remoteLogging.awsCredentialSecretRef | Optional Specify the name of the Secret that contains authentication information to the AWS service. Authentication information stores configuration files and authentication information files. The configuration file must be named "config" and the credentials file must be named "credentials". If the referenced secret exists, the named secret is mounted to fep-logging-fluent-bit under/fluent-bit/aws. | |
spec.fepChildCrVal.secretStore.csi.providerName | Optional Provider name. Can be one of the following: Azure/AWS/GCP/Vault. Must be "Azure" or "azure" in case of azure provider | |
spec.fepChildCrVal.secretStore.csi.azureProvider.credentials | Optional Secret created by User that contains the required credentials to connect to Azure keyvault | |
spec.fepChildCrVal.secretStore.csi.azureProvider.tenantid | Optional Tenant id where keyvault is created | |
spec.fepChildCrVal.secretStore.csi.azureProvider.keyvaultName | Optional Name of the keyvault where secrets are stored | |
spec.fepChildCrVal.secretStore.csi.azureProvider.fepSecrets | Optional List of the parameters and their corresponding secret created in the Vault Eg: | |
spec.fepChildCrVal.secretStore.csi.azureProvider.fepCustomCert | Optional Only defined when logical replication feature is enabled | |
spec.fepChildCrVal.secretStore.csi.awsProvider.region | Optional AWS Region where EKS cluster is created | |
spec.fepChildCrVal.secretStore.csi.awsProvider.roleName | Optional Role Name for the IAM trust policy | |
spec.fepChildCrVal.secretStore.csi.awsProvider.fepSecrets | Optional List of the parameters and their corresponding secret created in the Vault Eg: | |
spec.fepChildCrVal.secretStore.csi.awsProvider.fepCustomCert | Optional Only defined when logical replication feature is enabled | |
spec.fepChildCrVal.secretStore.csi.gcpProvider.credentials | Optional Secret created by User that contains the required credentials to connect to GCP Secret Manager | |
spec.fepChildCrVal.secretStore.csi.gcpProvider.fepSecrets | Optional List of the parameters and their corresponding secret created in the Vault Eg: | |
spec.fepChildCrVal.secretStore.csi.gcpProvider.fepCustomCert | Optional Only defined when logical replication feature is enabled | |
spec.fepChildCrVal.secretStore | Optional Not required to be defined if user opts to store all secrets in kubernetes environment | |
spec.fepChildCrVal.secretStore.csi.vaultProvider.roleName | Optional roleName created by user in the Vault | |
spec.fepChildCrVal.secretStore.csi.vaultProvider.vaultAddress | Optional Address of the vault that is accessible from the FEP environment | |
spec.fepChildCrVal.secretStore.csi.vaultProvider.fepSecrets | Optional List of the parameters and their corresponding secret created in the Vault Eg: | |
spec.fepChildCrVal.secretStore.csi.vaultProvider.fepCustomCert | Optional Only defined when logical replication feature is enabled | |
spec.fep.measurement.recallForVector.enable | false | When specified as true, enables vector database recall measurement. |
spec.fep.measurement.recallForVector.schedule | 15 0 1 * * | Optional The date and time to start the measurement, in Cron format. |
spec.fep.measurement.recallForVector.parallelJobs | 5 | Optional Specifies the number of jobs to be executed concurrently. Increasing the number of parallelisms reduces the measurement time, but increases the system load on the database container. Adjust this parameter based on system load and measurement completion time. |
spec.fep.measurement.recallForVector.maxDuration | 0 | Optional Units: s, m, h, d If you do not specify a unit, it is s (seconds). Specifies the end time of the measurement. If the measurement is not completed during the end period, the measurement is terminated. If 0 is specified, it does not stop until all measurements are complete. |
spec.fep.measurement.recallForVector.sampleSize | 100 | Optional Specifies the number of samples to use for the recall measurement. The larger the number of samples, the more accurate the recall is, but the more time it takes to measure. Adjust this parameter based on estimation error and calculation time. |
spec.fep.measurement.recallForVector.topK | 5 | Optional SELECT the top K items for which the recall is to be calculated. We recommend that you use the same value as LIMIT when performing a search on a vector database. |
spec.fep.measurement.recallForVector.alertThreshold | 0 | Optional If the recall falls below this threshold, an alert is issued to the AlertManager. The value can be between 0 and 1. If 0 is specified, no alert is created. |
spec.fep.measurement.recallForVector.targets[] | Specifies what the recall is measured for. You can specify multiple values in array format. At least one database object must be specified when enabling vector database recall measurement. | |
spec.fep.measurement.recallForVector.targets[].database | The name of the database to measure recall. | |
spec.fep.measurement.recallForVector.targets[].tableConfigs[] | Specifies the table information to retrieve. You can specify multiple values in array format. | |
spec.fep.measurement.recallForVector.targets[].tableConfigs[].schemaObject | For objects whose recall is to be measured, specify the schema, table, and column separated by dots(.). | |
spec.fep.measurement.recallForVector.targets[].tableConfigs[].distanceMetric | cosine | Optional Specifies the distance calculation method (cosine, inner_product, l2). Choose the same distance calculation that the embedded model uses during training. |
spec.globalEnvSec | Specifies the name of the Kubernetes secret that contains variables common to all containers. The defined key-value pairs are added to all containers running on FEPCluster. | |
spec.fep.fepEnvSec | Specifies the name of the Kubernetes secret that contains key/value pairs specific to the fep-patroni container. | |
spec.fep.feputils.fepUtilsEnvSec | Specifies the name of the Kubernetes secret that contains key-value pairs specific to fep-utils sidecar. | |
spec.fep.remoteLogging.fluentBitEnvSec | Specifies the name of the Kubernetes secret that contains key-value pairs specific to the fep-logging-fluent-bit sidecar. | |
spec.fep.monitoring.fepExporter.fepExporterEnvSec | Specifies the name of the Kubernetes secret that contains key-value pairs specific to the prometheus-fep-exporter sidecar. | |
spec.fepChildCrVal.backup.fepBackupEnvSec | Specifies the name of the Kubernetes secret that contains key-value pairs specific to fepbackup sidecar. |
Note
(*) - These parameters can be specified only at creation time and should not be changed. Any change to these parameters will be ignored and will not have any effect on FEP cluster functioning.
(**) - The storage volumes size can be increased provided underlying storage supports the operation. Optional volumes can be specified only at initial FEP cluster creation. If an optional volume is added later, operator will ignore it and no action will be taken.
User should do or remove unsupported CR changes manually.
spec.fep.postgres.tls CR specification should be used instead of spec.fepChildCrVal.systemCertificates. The lateral spec can still be used, however spec.fep.postgres.tls gives better flexibility to control MTLS access of the cluster.
Either spec.fep.postgres.tls specification (old specification ) or spec.fepChildCrVal.systemCertificates should be used. They should not be used interchangeable.
Server certificate specified under spec.fep.postgres.tls can be rotated by changing the secret and executing reload ( e.g. using FEPAction ); however for others specified in the CR, it is required to do restart of the PoDs
When spec.ldap.caConfigMapRef is defined, and the referenced configmap exist, the named configmap will be mounted on fep-patroni under /tls/ldap.
When the referenced secret spec.ldap.ldapconfSecretRef exists, the named secret will be mounted on fep-patroni under /etc/openldap. The environment variable LDAPCONF=/etc/openldap/ldap.conf will be exported to the fep-patroni container. If this key is not defined, Operator will create and mount default secret <fep-cluster>-ldapconf with the following content.
When the referenced configmap spec.ldap2pg.ldap2pgymlConfigMapRef exists, the named configmap will be mounted on fep-patroni under /tmp/.config. If the secret does not exist, Operator will create that named secret with the following content.
While in running state - following value will dynamically appear in the FEPCluster to reflect the cluster status
Field name | Details |
|---|---|
status.fepStatus.fepClusterReady | Will be true or false to reflect if the whole cluster is ready. Kubernetes cluster information is fetched to check number of instances 'READY' & 'RUNNING' is equal to number of Configured instances. |
Note
"fepClusterReady" flag will be set at first FEPCluster creation time only. fepClusterReady flag does not participate in the next reconcillation loop)
Setting up the database vector transformation feature is automated by applying the FEPCluster YAML as follows. This automatically creates the system administrator (user who loads) for the ONNX model, the owner user (user who imports), and the user (user who executes). Set the name and password for each user.
For detailed usage instructions regarding the in-database vector transformation, refer to the Fujitsu Enterprise Postgres Knowledge Data Management Feature User's Guide.
Changing the enable setting and reapplying the cluster will result in the inference pod being deleted and the vector transformation feature within the database being disabled when changing from True to False. When changing from False to True, a new inference pod will be created and the setting will be enabled. The database will restart when enabled.
fep:
vectorTransformation:
enable: true
modelRepository:
modelOwner:
name: model-owner
password: password-modelOwner
modelUser:
name: model-user
password-modelUser
modelLoader:
name: model-admin
password: password-modelAdminTo create an inference server, configure the following parameters on the cluster to generate the inference server pod. The pod name is automatically determined based on the database server name. For example, if the database server is named "new-fep", the pod becomes "inference-new-fep". Additionally, configure persistent storage for the inference server. CSI can also be configured for storage. For details, refer to the User's Guide section "Deploying FEPClusters with Cloud-based Secret Management". For the inference server, configure the service for communication between the database server and the inference server pods. You can also choose to encrypt communications using mutual TLS (mTLS). To use it, set connectionTls.enable to True. If you do not specify the connectionTls.certificate parameter, certificates will be automatically generated. When using a created Secret, specify its name as shown in the following sample file. For details, refer to the User's Guide section "Configuration FEP to Perform MTLS". Regarding the resources used by the inference server, calculate them based on the Fujitsu Enterprise Postgres Knowledge Data Management Feature User's Guide and set them as parameters.
vectorTransformation:
inference_server: # Inference server information
image: repostitory.io/triton-inference-server
imagePullsecret: quay-pull-secret
connnectionTls:
enable: true
certificate:
grpcCaName: grpc-cacert
grpcCertificateName: grpc-cert
grpcPrivateKey: grpc-key-password
tritonGrpcCaName: triton-grpc-cacert
tritonGrpcCertificateName: triton-grpc-cert
tritonGrpcPrivateKey: triton-grpc-key-password
inferenceServerPorts:
grpcPort: 8001
metricsPort: 8002
storage: # Storage mounted by inference server and model registry
inferenceVol:
size: 50Gi
storageClass: inferece-storage
accessMode: ReadWriteOnce
modelRepositoryVol:
size: 50Gi
storageClass: inference-storage
accessMode: ReadWriteOnce