SGConfig


Kind: SGConfig

listKind: SGConfigList

plural: sgconfigs

singular: sgconfig


StackGres Operator configuration is stored in SGConfig Custom Resource.

WARNING: Creating more than one SGConfig is forbidden in order to avoid misbehaviours. The single SGConfig should be created automatically during installation.

Example:

apiVersion: stackgres.io/v1
kind: SGConfig
metadata:
  name: stackgres-operator
spec:
  # Default values copied from <project_dir>/helm-charts/stackgres-operator/values.yaml
  containerRegistry: quay.io
  imagePullPolicy: IfNotPresent
  operator:
    image:
      pullPolicy: IfNotPresent
  restapi:
    name: stackgres-restapi
    image:
      pullPolicy: IfNotPresent
  adminui:
    name: stackgres-adminui
    image:
      pullPolicy: IfNotPresent
    service:
      exposeHTTP: false
      type: ClusterIP
  jobs:
    name: stackgres-jobs
    image:
      pullPolicy: IfNotPresent
  authentication:
    type: jwt
    user: admin
  extensions:
    repositoryUrls:
    - https://extensions.stackgres.io/postgres/repository
  grafana:
    autoEmbed: false
    datasourceName: Prometheus
    password: prom-operator
    schema: http
    user: admin
  prometheus:
    allowAutobind: true

See also StackGres Installation section.

SGConfig stores the configuration of the StackGres Operator

WARNING: Creating more than one SGConfig is forbidden. The single SGConfig should be created automatically during installation. More SGConfig may exists only when allowedNamespaces or allowedNamespaceLabelSelector is used.

Property
Required
Updatable
May Require Restart
Type
Description

Workaround for hugo bug not rendering first table row

apiVersion string stackgres.io/v1
kind string SGConfig
metadata object Refer to the Kubernetes API documentation for the fields of the metadata field.
spec object Spec defines the desired state of SGConfig
status object Status defines the observed state of SGConfig

SGConfig.spec

↩ Parent

Spec defines the desired state of SGConfig

Property
Required
Updatable
May Require Restart
Type
Description

Workaround for hugo bug not rendering first table row

adminui object Section to configure Web Console container
allowImpersonationForRestApi boolean When set to true the cluster role for impersonation will be created even if disableClusterRole is set to true.

It is false by default.

This value can only be set in operator helm chart.

allowedNamespaceLabelSelector map[string]string Section to configure namespaces that the operator is allowed to use. If allowedNamespaces is defined it will be used instead. If empty all namespaces will be allowed (default).

See https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.29/#labelselector-v1-meta

This value can only be set in operator helm chart.

allowedNamespaces []string Section to configure allowed namespaces that the operator is allowed to use. If empty all namespaces will be allowed (default).

This value can only be set in operator helm chart or with the environment variable ALLOWED_NAMESPACES. It is set by OLM when scoping the operator.

authentication object Section to configure Web Console authentication
cert object Section to configure the Operator, REST API and Web Console certificates and JWT RSA key-pair.
collector object Section to configure OpenTelemetry Collector

By default a single instance of OpenTelemetry Collector will receive metrics from all monitored Pods and will then exports those metrics to a configured target (by default will expose a Prometheus exporter).

See receivers section to scale this architecture to a set of OpenTelemetry Collectors.

Default: map[config:map[exporters:map[otlp:map[endpoint:stackgres-collector:4317 tls:map[ca_file:/etc/operator/certs/tls.crt]] prometheus:map[enable_open_metrics:false endpoint:0.0.0.0:9464 metric_expiration:180m resource_to_telemetry_conversion:map[enabled:false] send_timestamps:true tls:map[ca_file:/etc/operator/certs/tls.crt cert_file:/etc/operator/certs/tls.crt key_file:/etc/operator/certs/tls.key reload_interval:10m]]] receivers:map[otlp:map[protocols:map[grpc:map[endpoint:0.0.0.0:4317 tls:map[ca_file:/etc/operator/certs/tls.crt cert_file:/etc/operator/certs/tls.crt key_file:/etc/operator/certs/tls.key]]]]] service:map[pipelines:map[metrics:map[exporters:[prometheus] receivers:[prometheus]]]]] ports:[map[containerPort:9464 name:prom-http protocol:TCP]] prometheusOperator:map[allowDiscovery:true] service:map[spec:map[ports:[map[name:prom-http port:9464 protocol:TCP targetPort:prom-http]] type:ClusterIP]]]

containerRegistry string The container registry host (and port) where the images will be pulled from.

This value can only be set in operator helm chart or with the environment variable SG_CONTAINER_REGISTRY.

Default: quay.io

deploy object Section to configure deployment aspects.
developer object Section to configure developer options.

Following options are for developers only, but can also be useful in some cases ;)

disableClusterRole boolean When set to true the creation of the operator ClusterRole and ClusterRoleBinding is disabled. Also, when true, some features that rely on unnamespaced resources premissions will be disabled:

  • Creation and upgrade of CustomResourceDefinitions
  • Set CA bundle for Webhooks
  • Check existence of CustomResourceDefinition when listing custom resources
  • Validation of StorageClass
  • REST API endpoint can-i/{verb}/{resource} and can-i will always return the full list of permissions for any resource and verb since they rely on creation of subjectaccessreviews unnamespaced resource that requires a cluster role.
  • Other REST API endpoints will not work since they rely on impersonation that requires a cluster role. This point in particular breaks the Web Console completely. You may still enable this specific cluster role with .allowImpersonationForRestApi. If you do not need the Web Console you may still disable it completely by setting .deploy.restapi to false.

When set to true and allowedNamespaces is not set or is empty then allowedNamespaces will be considered set and containing only the namespace of the operator.

It is false by default.

This value can only be set in operator helm chart.

disableCrdsAndWebhooksUpdate boolean When set to true the cluster role to update or patch CRDs will be disabled.

It is false by default.

This value can only be set in operator helm chart.

extensions object Section to configure extensions
grafana object Section to configure Grafana integration
imagePullPolicy string Image pull policy used for images loaded by the Operator

Default: IfNotPresent
imagePullSecrets []object The list of references to secrets in the same namespace where a ServiceAccount is created by the operator to use for pulling any images in pods that reference such ServiceAccount. ImagePullSecrets are distinct from Secrets because Secrets can be mounted in the pod, but ImagePullSecrets are only accessed by the kubelet. More info: https://kubernetes.io/docs/concepts/containers/images/#specifying-imagepullsecrets-on-a-pod
jobs object Section to configure Operator Installation Jobs
operator object Section to configure Operator Pod
pga object Section to configure PGA
prometheus object Section to configure Prometheus integration.
rbac object Section to configure RBAC for Web Console admin user
restapi object Section to configure REST API Pod
serviceAccount object Section to configure Operator Installation ServiceAccount
sgConfigNamespace string When set will indicate the namespace where the SGConfig used by the operator will be created.

By default the SGConfig will be created in the same namespace as the operator.

This value can only be set in operator helm chart.

shardingSphere object Section to configure integration with ShardingSphere operator

SGConfig.spec.adminui

↩ Parent

Section to configure Web Console container

Property
Required
Updatable
May Require Restart
Type
Description

Workaround for hugo bug not rendering first table row

image object Section to configure Web Console image
resources object Web Console resources. See https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.29/#resourcerequirements-v1-core
service object Section to configure Web Console service.

SGConfig.spec.adminui.image

↩ Parent

Section to configure Web Console image

Property
Required
Updatable
May Require Restart
Type
Description

Workaround for hugo bug not rendering first table row

name string Web Console image name

Default: stackgres/admin-ui
pullPolicy string Web Console image pull policy

Default: IfNotPresent
tag string Web Console image tag

SGConfig.spec.adminui.service

↩ Parent

Section to configure Web Console service.

Property
Required
Updatable
May Require Restart
Type
Description

Workaround for hugo bug not rendering first table row

exposeHTTP boolean When set to true the HTTP port will be exposed in the Web Console Service

Default: false
loadBalancerIP string LoadBalancer will get created with the IP specified in this field. This feature depends on whether the underlying cloud-provider supports specifying the loadBalancerIP when a load balancer is created. This field will be ignored if the cloud-provider does not support the feature.
loadBalancerSourceRanges []string If specified and supported by the platform, this will restrict traffic through the cloud-provider load-balancer will be restricted to the specified client IPs. This field will be ignored if the cloud-provider does not support the feature. More info: https://kubernetes.io/docs/tasks/access-application-cluster/configure-cloud-provider-firewall/
nodePort integer The HTTPS port used to expose the Service on Kubernetes nodes
nodePortHTTP integer The HTTP port used to expose the Service on Kubernetes nodes
type string The type used for the service of the UI:

  • Set to LoadBalancer to create a load balancer (if supported by the kubernetes cluster) to allow connect from Internet to the UI. Note that enabling this feature will probably incurr in some fee that depend on the host of the kubernetes cluster (for example this is true for EKS, GKE and AKS).
  • Set to NodePort to expose admin UI from kubernetes nodes.

    Default: ClusterIP

SGConfig.spec.authentication

↩ Parent

Section to configure Web Console authentication

Property
Required
Updatable
May Require Restart
Type
Description

Workaround for hugo bug not rendering first table row

createAdminSecret boolean When true will create the secret used to store the admin user credentials to access the UI.

Default: true
oidc object Section to configure Web Console OIDC authentication
password string The admin password that will be created for the Web Console.

If not specified a random password will be generated.

secretRef object Allow to specify a reference to a Secret with the admin user credentials for the Web Console.

In order to assign properly permissions. Make sure the user field match the value of the k8sUsername key in the referenced Secret.

type string Specify the authentication mechanism to use. By default is jwt, see https://stackgres.io/doc/latest/api/rbac#local-secret-mechanism. If set to oidc then see https://stackgres.io/doc/latest/api/rbac/#openid-connect-provider-mechanism.

Default: jwt
user string The admin username that will be created for the Web Console

Operator bundle installation can not change the default value of this field.

Default: admin

SGConfig.spec.authentication.oidc

↩ Parent

Section to configure Web Console OIDC authentication

Property
Required
Updatable
May Require Restart
Type
Description

Workaround for hugo bug not rendering first table row

authServerUrl string
clientId string
clientIdSecretRef object
credentialsSecret string
credentialsSecretSecretRef object
tlsVerification string Can be one of required, certificate-validation or none
SGConfig.spec.authentication.oidc.clientIdSecretRef

↩ Parent

Property
Required
Updatable
May Require Restart
Type
Description

Workaround for hugo bug not rendering first table row

key string
name string
SGConfig.spec.authentication.oidc.credentialsSecretSecretRef

↩ Parent

Property
Required
Updatable
May Require Restart
Type
Description

Workaround for hugo bug not rendering first table row

key string
name string

SGConfig.spec.authentication.secretRef

↩ Parent

Allow to specify a reference to a Secret with the admin user credentials for the Web Console.

In order to assign properly permissions. Make sure the user field match the value of the k8sUsername key in the referenced Secret.

Property
Required
Updatable
May Require Restart
Type
Description

Workaround for hugo bug not rendering first table row

name string The name of the Secret.

SGConfig.spec.cert

↩ Parent

Section to configure the Operator, REST API and Web Console certificates and JWT RSA key-pair.

Property
Required
Updatable
May Require Restart
Type
Description

Workaround for hugo bug not rendering first table row

autoapprove boolean If set to true the CertificateSigningRequest used to generate the certificate used by Webhooks will be approved by the Operator Installation Job.

Default: true
certDuration integer The duration in days of the generated certificate for the Operator after which it will expire and be regenerated. If not specified it will be set to 730 (2 years) by default.
certManager object Section to configure cert-manager integration to generate Operator certificates
collectorCertDuration integer The duration in days of the generated certificate for the OpenTelemetry Collector after which it will expire and be regenerated. If not specified it will be set to 730 (2 years) by default.
collectorSecretName string The Secret name with the OpenTelemetry Collector certificate of type kubernetes.io/tls. See https://kubernetes.io/docs/concepts/configuration/secret/#tls-secrets
createForCollector boolean When set to true the OpenTelemetry Collector certificate will be created.

Default: true
createForOperator boolean When set to true the Operator certificate will be created.

Default: true
createForWebApi boolean When set to true the Web Console / REST API certificate will be created.

Default: true
regenerateCert boolean When set to true the Operator certificates will be regenerated if createForOperator is set to true, and the certificate is expired or invalid.

Default: true
regenerateCollectorCert boolean When set to true the OpenTelemetry Collector certificates will be regenerated if createForCollector is set to true, and the certificate is expired or invalid.

Default: true
regenerateWebCert boolean When set to true the Web Console / REST API certificates will be regenerated if createForWebApi is set to true, and the certificate is expired or invalid.

Default: true
regenerateWebRsa boolean When set to true the Web Console / REST API RSA key pair will be regenerated if createForWebApi is set to true, and the certificate is expired or invalid.

Default: true
secretName string The Secret name with the Operator Webhooks certificate issued by the Kubernetes cluster CA of type kubernetes.io/tls. See https://kubernetes.io/docs/concepts/configuration/secret/#tls-secrets
webCertDuration integer The duration in days of the generated certificate for the Web Console / REST API after which it will expire and be regenerated. If not specified it will be set to 730 (2 years) by default.
webRsaDuration integer The duration in days of the generated RSA key pair for the Web Console / REST API after which it will expire and be regenerated. If not specified it will be set to 730 (2 years) by default.
webSecretName string The Secret name with the Web Console / REST API certificate of type kubernetes.io/tls. See https://kubernetes.io/docs/concepts/configuration/secret/#tls-secrets

SGConfig.spec.cert.certManager

↩ Parent

Section to configure cert-manager integration to generate Operator certificates

Property
Required
Updatable
May Require Restart
Type
Description

Workaround for hugo bug not rendering first table row

autoConfigure boolean When set to true then Issuer and Certificate for Operator, Web Console / REST API and OpenTelemetry Collector Pods will be generated

Default: false
duration string The requested duration (i.e. lifetime) of the Certificates. See https://cert-manager.io/docs/reference/api-docs/#cert-manager.io%2fv1

Default: 2160h
encoding string The private key cryptography standards (PKCS) encoding for this certificate’s private key to be encoded in. See https://cert-manager.io/docs/reference/api-docs/#cert-manager.io/v1.CertificatePrivateKey

Default: PKCS1
renewBefore string How long before the currently issued certificate’s expiry cert-manager should renew the certificate. See https://cert-manager.io/docs/reference/api-docs/#cert-manager.io%2fv1

Default: 360h
size integer Size is the key bit size of the corresponding private key for this certificate. See https://cert-manager.io/docs/reference/api-docs/#cert-manager.io/v1.CertificatePrivateKey

Default: 2048

SGConfig.spec.collector

↩ Parent

Section to configure OpenTelemetry Collector

By default a single instance of OpenTelemetry Collector will receive metrics from all monitored Pods and will then exports those metrics to a configured target (by default will expose a Prometheus exporter).

See receivers section to scale this architecture to a set of OpenTelemetry Collectors.

Property
Required
Updatable
May Require Restart
Type
Description

Workaround for hugo bug not rendering first table row

affinity object OpenTelemetry Collector Pod affinity. See https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.29/#affinity-v1-core
annotations object OpenTelemetry Collector Pod annotations
config object Section to configure OpenTelemetry Collector Configuration. See https://opentelemetry.io/docs/collector/configuration
name string OpenTelemetry Collector Deploymnet/Deamonset base name

Default: stackgres-collector
nodeSelector object OpenTelemetry Collector Pod node selector
ports []object Section to configure OpenTelemetry Collector ports. See https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.29/#containerport-v1-core
prometheusOperator object Section to configure OpenTelemetry Collector integration with Prometheus Operator.
receivers object This section allow to configure a variable number of OpenTelemetry Collector receivers (by default equals to the number of Pod with metrics enabled) that will scrape the metrics separately and send them to a defined number of OpenTelemetry Collector exporters (by default 1) that exports those metrics to one or more configured targets (by default will expose a Prometheus exporter).
resources object OpenTelemetry Collector Pod resources. See https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.29/#resourcerequirements-v1-core
service object Section to configure OpenTelemetry Collector Service
serviceAccount object Section to configure OpenTelemetry Collector ServiceAccount
tolerations []object OpenTelemetry Collector Pod tolerations. See https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.29/#toleration-v1-core
volumeMounts []object Section to configure OpenTelemetry Collector Volume Mounts. See https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.29/#volumemount-v1-core
volumes []object Section to configure OpenTelemetry Collector Volumes. See https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.29/#volume-v1-core

SGConfig.spec.collector.prometheusOperator

↩ Parent

Section to configure OpenTelemetry Collector integration with Prometheus Operator.

Property
Required
Updatable
May Require Restart
Type
Description

Workaround for hugo bug not rendering first table row

allowDiscovery boolean If set to false or monitors is set automatic bind to Prometheus created using the Prometheus Operator will be disabled.

If disabled the cluster will not be binded to Prometheus automatically and will require manual configuration.

Will be ignored if monitors is set.

Default: true

monitors []object Optional section to configure PodMonitors for specific Prometheus instances

WARNING: resources created by this integration that does set the metadata namespace to the same as the operator will not be removed when removing the helm chart. Changing the namespace may require configure the Prometheus CR properly in order to discover PodMonitor in such namespace.

SGConfig.spec.collector.prometheusOperator.monitors[index]

↩ Parent

Section to configure a PodMonitor for a specific Prometheus instance that will scrape from the collector Pod pointing by default to the prometheus exporter

Property
Required
Updatable
May Require Restart
Type
Description

Workaround for hugo bug not rendering first table row

metadata object Section to overwrite some PodMonitor metadata
name string The name of the Prometheus resource that will scrape from the collector Pod pointing by default to the prometheus exporter
namespace string The namespace of the Prometheus resource that will scrape from the collector Pod pointing by default to the prometheus exporter
spec object The PodMonitor spec that will be overwritten by the operator. See https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/api.md#monitoring.coreos.com/v1.PodMonitorSpec
SGConfig.spec.collector.prometheusOperator.monitors[index].metadata

↩ Parent

Section to overwrite some PodMonitor metadata

Property
Required
Updatable
May Require Restart
Type
Description

Workaround for hugo bug not rendering first table row

annotations object The labels to set for the PodMonitor
labels object The labels to set for the PodMonitor
name string The name of the PodMonitor
namespace string The namespace of the PodMonitor. Changing the namespace may require configure the Prometheus CR properly in order to discover PodMonitor in such namespace.
ownerReferences []object The ownerReferences to set for the PodMonitor in order to be garbage collected by the specified object.

SGConfig.spec.collector.receivers

↩ Parent

This section allow to configure a variable number of OpenTelemetry Collector receivers (by default equals to the number of Pod with metrics enabled) that will scrape the metrics separately and send them to a defined number of OpenTelemetry Collector exporters (by default 1) that exports those metrics to one or more configured targets (by default will expose a Prometheus exporter).

Property
Required
Updatable
May Require Restart
Type
Description

Workaround for hugo bug not rendering first table row

deployments []object A set of separate Deployments of 1 instance each that allow to set the OpenTelemetry Collectors receivers to a specified number of instances.

When not set the number of Deployment of OpenTelemetry Collectors receivers will match the number of instances of all the existing SGClusters that has the field .spec.configurations.observability.enableMetrics set to true. Also, when not set, each Deployment will include a pod affinity rule matching any of the SGClusters Pods set defined below. This will allow to create an OpenTelemetry Collector receiver instance dedicated to each SGCluster Pod running in the same Node.

Each Deployment will use a configuration for the OpenTelemetry Collector that will scrape from a set of SGClusters Pods that has the field .spec.configurations.observability.enableMetrics set to true. The set of Pods of each of those OpenTelemetry Collector configuration will be a partition of the list of SGClusters Pods that has the field .spec.configurations.observability.enableMetrics set to true ordered by the field Pod.metadata.creationTimestamp (from the oldest to the newest) and ordered crescently alphabetically by the fields Pod.metadata.namespace and Pod.metadata.name.

If is possible to override (even partially) the list of SGCluster Pods using the sgClusters section.

enabled boolean When set to true it enables the creation of a set of OpenTelemetry Collectors receivers that will be scraping from the SGCluster Pods and allow to scale the observability architecture and a set of OpenTelemetry Collectors exporters that exports those metrics to one or more configured targets.

Default: false
exporters integer When receivers are enabled indicates the number of OpenTelemetry Collectors exporters that exports metrics to one or more configured targets.

Default: 1
SGConfig.spec.collector.receivers.deployments[index]

↩ Parent

Property
Required
Updatable
May Require Restart
Type
Description

Workaround for hugo bug not rendering first table row

affinity object OpenTelemetry Collector Pod affinity. See https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.29/#affinity-v1-core
annotations object OpenTelemetry Collector Pod annotations
nodeSelector object OpenTelemetry Collector Pod node selector
resources object OpenTelemetry Collector Pod resources. See https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.29/#resourcerequirements-v1-core
sgClusters []object List of SGCluster Pods to scrape from this Deployment’s Pod that will be included to the OpenTelemetry Collector configuration alongside the SGCluster Pods assigned as described in SGConfig.spec.collector.receivers.deployments.
tolerations []object OpenTelemetry Collector Pod tolerations. See https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.29/#toleration-v1-core
SGConfig.spec.collector.receivers.deployments[index].sgClusters[index]

↩ Parent

Property
Required
Updatable
May Require Restart
Type
Description

Workaround for hugo bug not rendering first table row

indexes []integer The indexes of the SGCluster’s Pods that will be included to the OpenTelemetry Collector configuration alongside the SGCluster Pods assigned as described in SGConfig.spec.collector.receivers.deployments.

If not specified all the SGCluster’s Pods will be included.

name string The name of the SGCluster
namespace string The namespace of the SGCluster

SGConfig.spec.collector.service

↩ Parent

Section to configure OpenTelemetry Collector Service

Property
Required
Updatable
May Require Restart
Type
Description

Workaround for hugo bug not rendering first table row

annotations object OpenTelemetry Collector Service annotations
spec object Section to configure OpenTelemetry Collector Service specs. See https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.29/#servicespec-v1-core

SGConfig.spec.collector.serviceAccount

↩ Parent

Section to configure OpenTelemetry Collector ServiceAccount

Property
Required
Updatable
May Require Restart
Type
Description

Workaround for hugo bug not rendering first table row

annotations object OpenTelemetry Collector ServiceAccount annotations
repoCredentials []string Repositories credentials Secret names

SGConfig.spec.deploy

↩ Parent

Section to configure deployment aspects.

Property
Required
Updatable
May Require Restart
Type
Description

Workaround for hugo bug not rendering first table row

collector boolean When set to true the OpenTelemetry Collector will be deployed.

Default: true
operator boolean When set to true the Operator will be deployed.

Default: true
restapi boolean When set to true the Web Console / REST API will be deployed.

Default: true

SGConfig.spec.developer

↩ Parent

Section to configure developer options.

Following options are for developers only, but can also be useful in some cases ;)

Property
Required
Updatable
May Require Restart
Type
Description

Workaround for hugo bug not rendering first table row

allowPullExtensionsFromImageRepository boolean If set to true and extensions.cache.enabled is also true it will try to download extensions from images (experimental)

Default: false
disableArbitraryUser boolean It set to true disable arbitrary user that is set for OpenShift clusters

Default: false
enableJvmDebug boolean Only work with JVM version and allow connect on port 8000 of operator Pod with jdb or similar

Default: false
enableJvmDebugSuspend boolean Only work with JVM version and if enableJvmDebug is true suspend the JVM until a debugger session is started

Default: false
externalOperatorIp string Set the external Operator IP
externalOperatorPort integer Set the external Operator port
externalPgaIp string Set the external PGA IP
externalPgaPort integer Set the external PGA port
externalRestApiIp string Set the external REST API IP
externalRestApiPort integer Set the external REST API port
logLevel string Set quarkus.log.level. See https://quarkus.io/guides/logging#root-logger-configuration
patches object Section to define patches for some StackGres Pods
showDebug boolean If set to true add extra debug to any script controlled by the reconciliation cycle of the operator configuration

Default: false
showStackTraces boolean Set quarkus.log.console.format to %d{yyyy-MM-dd HH:mm:ss,SSS} %-5p [%c{4.}] (%t) %s%e%n. See https://quarkus.io/guides/logging#logging-format

Default: false
useJvmImages boolean The operator will use JVM version of the images

Default: false
version string Set the operator version (used for testing)

SGConfig.spec.developer.patches

↩ Parent

Section to define patches for some StackGres Pods

Property
Required
Updatable
May Require Restart
Type
Description

Workaround for hugo bug not rendering first table row

adminui object Section to define volumes to be used by the adminui container
clusterController object Section to define volumes to be used by the cluster controller container
distributedlogsController object Section to define volumes to be used by the distributedlogs controller container
jobs object Section to define volumes to be used by the jobs container
operator object Section to define volumes to be used by the operator container
restapi object Section to define volumes to be used by the restapi container
stream object Section to define volumes to be used by the stream container
SGConfig.spec.developer.patches.adminui

↩ Parent

Section to define volumes to be used by the adminui container

Property
Required
Updatable
May Require Restart
Type
Description

Workaround for hugo bug not rendering first table row

volumeMounts []object Pod’s container volume mounts. See https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.29/#volumemount-v1-core
volumes []object Pod volumes. See https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.29/#volume-v1-core
SGConfig.spec.developer.patches.clusterController

↩ Parent

Section to define volumes to be used by the cluster controller container

Property
Required
Updatable
May Require Restart
Type
Description

Workaround for hugo bug not rendering first table row

volumeMounts []object Pod’s container volume mounts. See https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.29/#volumemount-v1-core
volumes []object Pod volumes. See https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.29/#volume-v1-core
SGConfig.spec.developer.patches.distributedlogsController

↩ Parent

Section to define volumes to be used by the distributedlogs controller container

Property
Required
Updatable
May Require Restart
Type
Description

Workaround for hugo bug not rendering first table row

volumeMounts []object Pod’s container volume mounts. See https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.29/#volumemount-v1-core
volumes []object Pod volumes. See https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.29/#volume-v1-core
SGConfig.spec.developer.patches.jobs

↩ Parent

Section to define volumes to be used by the jobs container

Property
Required
Updatable
May Require Restart
Type
Description

Workaround for hugo bug not rendering first table row

volumeMounts []object Pod’s container volume mounts. See https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.29/#volumemount-v1-core
volumes []object Pod volumes. See https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.29/#volume-v1-core
SGConfig.spec.developer.patches.operator

↩ Parent

Section to define volumes to be used by the operator container

Property
Required
Updatable
May Require Restart
Type
Description

Workaround for hugo bug not rendering first table row

volumeMounts []object Pod’s container volume mounts. See https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.29/#volumemount-v1-core
volumes []object Pod volumes. See https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.29/#volume-v1-core
SGConfig.spec.developer.patches.restapi

↩ Parent

Section to define volumes to be used by the restapi container

Property
Required
Updatable
May Require Restart
Type
Description

Workaround for hugo bug not rendering first table row

volumeMounts []object Pod’s container volume mounts. See https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.29/#volumemount-v1-core
volumes []object Pod volumes. See https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.29/#volume-v1-core
SGConfig.spec.developer.patches.stream

↩ Parent

Section to define volumes to be used by the stream container

Property
Required
Updatable
May Require Restart
Type
Description

Workaround for hugo bug not rendering first table row

volumeMounts []object Pod’s container volume mounts. See https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.29/#volumemount-v1-core
volumes []object Pod volumes. See https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.29/#volume-v1-core

SGConfig.spec.extensions

↩ Parent

Section to configure extensions

Property
Required
Updatable
May Require Restart
Type
Description

Workaround for hugo bug not rendering first table row

cache object Section to configure extensions cache (experimental).

This feature is in beta and may cause failures, please use with caution and report any error to https://gitlab.com/ongresinc/stackgres/-/issues/new

repositoryUrls []string A list of extensions repository URLs used to retrieve extensions

To set a proxy for extensions repository add parameter proxyUrl to the URL: https://extensions.stackgres.io/postgres/repository?proxyUrl=<proxy scheme>%3A%2F%2F<proxy host>[%3A<proxy port>] (URL encoded)

Other URL parameters are:

  • skipHostnameVerification: set it to true in order to use a server or a proxy with a self signed certificate
  • retry: set it to <max retriex>[:<sleep before next retry>] in order to retry a request on failure
  • setHttpScheme: set it to true in order to force using HTTP scheme

    Default: [https://extensions.stackgres.io/postgres/repository]

SGConfig.spec.extensions.cache

↩ Parent

Section to configure extensions cache (experimental).

This feature is in beta and may cause failures, please use with caution and report any error to https://gitlab.com/ongresinc/stackgres/-/issues/new

Property
Required
Updatable
May Require Restart
Type
Description

Workaround for hugo bug not rendering first table row

enabled boolean When set to true enable the extensions cache.

This feature is in beta and may cause failures, please use with caution and report any error to https://gitlab.com/ongresinc/stackgres/-/issues/new

Default: false

hostPath string If set, will use a host path volume with the specified path for the extensions cache instead of a PersistentVolume
persistentVolume object Section to configure the extensions cache PersistentVolume
preloadedExtensions []string An array of extensions pattern used to pre-loaded estensions into the extensions cache

Default: [x86_64/linux/timescaledb-1.7.4-pg12]
SGConfig.spec.extensions.cache.persistentVolume

↩ Parent

Section to configure the extensions cache PersistentVolume

Property
Required
Updatable
May Require Restart
Type
Description

Workaround for hugo bug not rendering first table row

size string The PersistentVolume size for the extensions cache

Only use whole numbers (e.g. not 1e6) and K/Ki/M/Mi/G/Gi as units

Default: 1Gi

storageClass string If defined set storage class If set to “-” (equivalent to storageClass: "" in a PV spec) disables dynamic provisioning If undefined (the default) or set to null, no storageClass spec is set, choosing the default provisioner. (gp2 on AWS, standard on GKE, AWS & OpenStack)

SGConfig.spec.grafana

↩ Parent

Section to configure Grafana integration

Property
Required
Updatable
May Require Restart
Type
Description

Workaround for hugo bug not rendering first table row

autoEmbed boolean When set to true embed automatically Grafana into the Web Console by creating the StackGres dashboard and the read-only role used to read it from the Web Console

Default: false
dashboardConfigMap string The ConfigMap name with the dashboard JSON in the key grafana-dashboard.json that will be created in Grafana. If not set the default
dashboardId string The dashboard id that will be create in Grafana (see https://grafana.com/grafana/dashboards). By default 9628. (used to embed automatically Grafana)

Manual Steps:

Create grafana dashboard for postgres exporter and copy/paste share URL:

  • Grafana > Create > Import > Grafana.com Dashboard 9628 Copy/paste grafana dashboard URL for postgres exporter:
  • Grafana > Dashboard > Manage > Select postgres exporter dashboard > Copy URL
datasourceName string The datasource name used to create the StackGres Dashboard into Grafana

Default: Prometheus
password string The password to access Grafana. By default prom-operator (the default in for kube-prometheus-stack helm chart). (used to embed automatically Grafana)

Default: prom-operator
schema string The schema to access Grafana. By default http. (used to embed manually and automatically grafana)

Default: http
secretName string The name of secret with credentials to access Grafana. (used to embed automatically Grafana, alternative to use user and password)
secretNamespace string The namespace of secret with credentials to access Grafana. (used to embed automatically Grafana, alternative to use user and password)
secretPasswordKey string The key of secret with password used to access Grafana. (used to embed automatically Grafana, alternative to use user and password)
secretUserKey string The key of secret with username used to access Grafana. (used to embed automatically Grafana, alternative to use user and password)
token string The Grafana API token to access the PostgreSQL dashboard created in Grafana (used to embed manually Grafana)

Manual Steps:

Create and copy/paste grafana API token:

  • Grafana > Configuration > API Keys > Add API key (for viewer) > Copy key value
url string The URL of the PostgreSQL dashboard created in Grafana (used to embed manually Grafana)
user string The username to access Grafana. By default admin. (used to embed automatically Grafana)

Default: admin
webHost string The service host name to access grafana (used to embed manually and automatically Grafana). The parameter value should point to the grafana service following the DNS reference svc_name.namespace

SGConfig.spec.imagePullSecrets[index]

↩ Parent

A reference to a secrets in the same namespace where a ServiceAccount is created by the operator to use for pulling any images in pods that reference such ServiceAccount.

Property
Required
Updatable
May Require Restart
Type
Description

Workaround for hugo bug not rendering first table row

name string The name of the referenced Secret.

SGConfig.spec.jobs

↩ Parent

Section to configure Operator Installation Jobs

Property
Required
Updatable
May Require Restart
Type
Description

Workaround for hugo bug not rendering first table row

affinity object Operator Installation Jobs affinity. See https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.29/#affinity-v1-core
annotations object Operator Installation Jobs annotations
image object Section to configure Operator Installation Jobs image
nodeSelector object Operator Installation Jobs node selector
resources object Operator Installation Jobs resources. See https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.29/#resourcerequirements-v1-core
serviceAccount object Section to configure Jobs ServiceAccount
tolerations []object Operator Installation Jobs tolerations. See https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.29/#toleration-v1-core

SGConfig.spec.jobs.image

↩ Parent

Section to configure Operator Installation Jobs image

Property
Required
Updatable
May Require Restart
Type
Description

Workaround for hugo bug not rendering first table row

name string Operator Installation Jobs image name

Default: stackgres/jobs
pullPolicy string Operator Installation Jobs image pull policy

Default: IfNotPresent
tag string Operator Installation Jobs image tag

SGConfig.spec.jobs.serviceAccount

↩ Parent

Section to configure Jobs ServiceAccount

Property
Required
Updatable
May Require Restart
Type
Description

Workaround for hugo bug not rendering first table row

annotations object Jobs ServiceAccount annotations
repoCredentials []string Repositories credentials Secret names

SGConfig.spec.operator

↩ Parent

Section to configure Operator Pod

Property
Required
Updatable
May Require Restart
Type
Description

Workaround for hugo bug not rendering first table row

affinity object Operator Pod affinity. See https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.29/#affinity-v1-core

This value can only be set in operator helm chart.

annotations object Operator Pod annotations
image object Section to configure Operator image
nodeSelector object Operator Pod node selector

This value can only be set in operator helm chart.

resources object Operator Pod resources. See https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.29/#resourcerequirements-v1-core

This value can only be set in operator helm chart.

service object Section to configure Operator Service
serviceAccount object Section to configure Operator ServiceAccount
tolerations []object Operator Pod tolerations. See https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.29/#toleration-v1-core

This value can only be set in operator helm chart.

SGConfig.spec.operator.image

↩ Parent

Section to configure Operator image

Property
Required
Updatable
May Require Restart
Type
Description

Workaround for hugo bug not rendering first table row

name string Operator image name

This value can only be set in operator helm chart.

Default: stackgres/operator

pullPolicy string Operator image pull policy

This value can only be set in operator helm chart.

Default: IfNotPresent

tag string Operator image tag

This value can only be set in operator helm chart.

SGConfig.spec.operator.service

↩ Parent

Section to configure Operator Service

Property
Required
Updatable
May Require Restart
Type
Description

Workaround for hugo bug not rendering first table row

annotations object Section to configure Operator Service annotations

This value can only be set in operator helm chart.

SGConfig.spec.operator.serviceAccount

↩ Parent

Section to configure Operator ServiceAccount

Property
Required
Updatable
May Require Restart
Type
Description

Workaround for hugo bug not rendering first table row

annotations object Section to configure Operator ServiceAccount annotations

This value can only be set in operator helm chart.

repoCredentials []string Repositories credentials Secret names

This value can only be set in operator helm chart.

SGConfig.spec.pga

↩ Parent

Section to configure PGA

Property
Required
Updatable
May Require Restart
Type
Description

Workaround for hugo bug not rendering first table row

repositoryUrls []string A list of PGA repository URLs used to retrieve images

To set a proxy for PGA repository add parameter proxyUrl to the URL: https://extensions.stackgres.io/postgres/repository?proxyUrl=<proxy scheme>%3A%2F%2F<proxy host>[%3A<proxy port>] (URL encoded)

Other URL parameters are:

  • skipHostnameVerification: set it to true in order to use a server or a proxy with a self signed certificate
  • retry: set it to <max retriex>[:<sleep before next retry>] in order to retry a request on failure
  • setHttpScheme: set it to true in order to force using HTTP scheme

    Default: [https://pga.sh]

SGConfig.spec.prometheus

↩ Parent

Section to configure Prometheus integration.

Property
Required
Updatable
May Require Restart
Type
Description

Workaround for hugo bug not rendering first table row

allowAutobind boolean If set to false disable automatic bind to Prometheus created using the Prometheus Operator. If disabled the cluster will not be binded to Prometheus automatically and will require manual intervention by the Kubernetes cluster administrator.

Default: true

SGConfig.spec.rbac

↩ Parent

Section to configure RBAC for Web Console admin user

Property
Required
Updatable
May Require Restart
Type
Description

Workaround for hugo bug not rendering first table row

create boolean When set to true the admin user is assigned the cluster-admin ClusterRole by creating ClusterRoleBinding.

Default: true

SGConfig.spec.restapi

↩ Parent

Section to configure REST API Pod

Property
Required
Updatable
May Require Restart
Type
Description

Workaround for hugo bug not rendering first table row

affinity object REST API Pod affinity. See https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.29/#affinity-v1-core
annotations object REST API Pod annotations
image object Section to configure REST API image
name string REST API Deployment name

Default: stackgres-restapi
nodeSelector object REST API Pod node selector
resources object REST API Pod resources. See https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.29/#resourcerequirements-v1-core
service object Section to configure REST API Service
serviceAccount object Section to configure REST API ServiceAccount
tolerations []object REST API Pod tolerations. See https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.29/#toleration-v1-core

SGConfig.spec.restapi.image

↩ Parent

Section to configure REST API image

Property
Required
Updatable
May Require Restart
Type
Description

Workaround for hugo bug not rendering first table row

name string REST API image name

Default: stackgres/restapi
pullPolicy string REST API image pull policy

Default: IfNotPresent
tag string REST API image tag

SGConfig.spec.restapi.service

↩ Parent

Section to configure REST API Service

Property
Required
Updatable
May Require Restart
Type
Description

Workaround for hugo bug not rendering first table row

annotations object REST API Service annotations

SGConfig.spec.restapi.serviceAccount

↩ Parent

Section to configure REST API ServiceAccount

Property
Required
Updatable
May Require Restart
Type
Description

Workaround for hugo bug not rendering first table row

annotations object REST API ServiceAccount annotations
repoCredentials []string Repositories credentials Secret names

SGConfig.spec.serviceAccount

↩ Parent

Section to configure Operator Installation ServiceAccount

Property
Required
Updatable
May Require Restart
Type
Description

Workaround for hugo bug not rendering first table row

annotations object Section to configure Installation ServiceAccount annotations
create boolean If true the Operator Installation ServiceAccount will be created

This value can only be set in operator helm chart.

Default: true

repoCredentials []string Repositories credentials Secret names

This value can only be set in operator helm chart.

SGConfig.spec.shardingSphere

↩ Parent

Section to configure integration with ShardingSphere operator

Property
Required
Updatable
May Require Restart
Type
Description

Workaround for hugo bug not rendering first table row

serviceAccount object Section to configure ServiceAccount used by ShardingSphere operator.

You may configure a specific value for a sharded cluster under section SGShardedCluster.speccoordinator.configurations.shardingSphere.serviceAccount.

SGConfig.spec.shardingSphere.serviceAccount

↩ Parent

Section to configure ServiceAccount used by ShardingSphere operator.

You may configure a specific value for a sharded cluster under section SGShardedCluster.speccoordinator.configurations.shardingSphere.serviceAccount.

Property
Required
Updatable
May Require Restart
Type
Description

Workaround for hugo bug not rendering first table row

name string The name of the ServiceAccount used by ShardingSphere operator
namespace string The namespace of the ServiceAccount used by ShardingSphere operator

SGConfig.status

↩ Parent

Status defines the observed state of SGConfig

Property
Required
Updatable
May Require Restart
Type
Description

Workaround for hugo bug not rendering first table row

conditions []object
existingCrUpdatedToVersion string Indicate the version to which existing CRs have been updated to
grafana object
removeOldOperatorBundleResources boolean Indicate when the old operator bundle resources has been removed
version string Latest version of the operator used to check for updates

SGConfig.status.conditions[index]

↩ Parent

Property
Required
Updatable
May Require Restart
Type
Description

Workaround for hugo bug not rendering first table row

lastTransitionTime string Last time the condition transitioned from one status to another.
message string A human readable message indicating details about the transition.
reason string The reason for the condition’s last transition.
status string Status of the condition, one of True, False, Unknown.
type string Type of deployment condition.

SGConfig.status.grafana

↩ Parent

Property
Required
Updatable
May Require Restart
Type
Description

Workaround for hugo bug not rendering first table row

configHash string Grafana configuration hash
token string Grafana Token that allow to access dashboards
urls []string Grafana URLs to StackGres dashboards