charts/stackgres-operator/crds/SGConfig.yaml
2024-05-30 20:42:52 +08:00

906 lines
46 KiB
YAML
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
name: sgconfigs.stackgres.io
spec:
group: stackgres.io
names:
kind: SGConfig
listKind: SGConfigList
plural: sgconfigs
singular: sgconfig
scope: Namespaced
versions:
- name: v1
served: true
storage: true
subresources:
status: {}
additionalPrinterColumns:
- jsonPath: .metadata.annotations.stackgres\.io/lockPod
name: operator-pod
type: string
- jsonPath: .status.version
name: operator-version
type: string
schema:
openAPIV3Schema:
type: object
description: |
SGConfig stores the configuration of the StackGres Operator
> **WARNING**: Creating more than one SGConfig is forbidden in order to avoid misbehaviours. The single SGConfig should be created automatically during installation.
properties:
apiVersion:
description: 'APIVersion defines the versioned schema of this representation
of an object. Servers should convert recognized schemas to the latest
internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
type: string
kind:
description: 'Kind is a string value representing the REST resource this
object represents. Servers may infer this from the endpoint the client
submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
type: string
metadata:
type: object
spec:
description: Spec defines the desired state of SGConfig
type: object
x-kubernetes-preserve-unknown-fields: true
properties:
containerRegistry:
type: string
default: quay.io
description: The container registry host (and port) where the images will be pulled from.
imagePullPolicy:
type: string
default: "IfNotPresent"
description: Image pull policy used for images loaded by the Operator
serviceAccount:
type: object
description: Section to configure Operator Installation ServiceAccount
properties:
create:
type: boolean
default: true
description: If `true` the Operator Installation ServiceAccount will be created
annotations:
type: object
x-kubernetes-preserve-unknown-fields: true
description: Section to configure Installation ServiceAccount annotations
repoCredentials:
type: array
description: Repositories credentials Secret names
items:
type: string
description: Repository credentials Secret name
operator:
type: object
description: Section to configure Operator Pod
properties:
image:
type: object
description: Section to configure Operator image
properties:
name:
type: string
default: "stackgres/operator"
description: Operator image name
tag:
type: string
description: Operator image tag
pullPolicy:
type: string
default: "IfNotPresent"
description: Operator image pull policy
annotations:
type: object
description: Operator Pod annotations
x-kubernetes-preserve-unknown-fields: true
resources:
type: object
description: Operator Pod resources. See https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#resourcerequirements-v1-core
x-kubernetes-preserve-unknown-fields: true
nodeSelector:
type: object
x-kubernetes-preserve-unknown-fields: true
description: Operator Pod node selector
tolerations:
type: array
description: Operator Pod tolerations. See https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#toleration-v1-core
items:
type: object
x-kubernetes-preserve-unknown-fields: true
affinity:
type: object
x-kubernetes-preserve-unknown-fields: true
description: Operator Pod affinity. See https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#affinity-v1-core
serviceAccount:
type: object
description: Section to configure Operator ServiceAccount
properties:
annotations:
type: object
x-kubernetes-preserve-unknown-fields: true
description: Section to configure Operator ServiceAccount annotations
repoCredentials:
type: array
description: Repositories credentials Secret names
items:
type: string
description: Repository credentials Secret name
service:
type: object
description: Section to configure Operator Service
properties:
annotations:
type: object
x-kubernetes-preserve-unknown-fields: true
description: Section to configure Operator Service annotations
restapi:
type: object
description: Section to configure REST API Pod
properties:
name:
type: string
default: stackgres-restapi
description: REST API container name
image:
type: object
description: Section to configure REST API image
properties:
name:
type: string
default: "stackgres/restapi"
description: REST API image name
tag:
type: string
description: REST API image tag
pullPolicy:
type: string
default: "IfNotPresent"
description: REST API image pull policy
annotations:
type: object
x-kubernetes-preserve-unknown-fields: true
description: REST API Pod annotations
resources:
type: object
x-kubernetes-preserve-unknown-fields: true
description: REST API Pod resources. See https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#resourcerequirements-v1-core
nodeSelector:
type: object
x-kubernetes-preserve-unknown-fields: true
description: REST API Pod node selector
tolerations:
type: array
description: REST API Pod tolerations. See https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#toleration-v1-core
items:
type: object
x-kubernetes-preserve-unknown-fields: true
affinity:
type: object
x-kubernetes-preserve-unknown-fields: true
description: REST API Pod affinity. See https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#affinity-v1-core
serviceAccount:
type: object
description: Section to configure REST API ServiceAccount
properties:
annotations:
type: object
x-kubernetes-preserve-unknown-fields: true
description: REST API ServiceAccount annotations
repoCredentials:
type: array
description: Repositories credentials Secret names
items:
type: string
description: Repository credentials Secret name
service:
type: object
description: Section to configure REST API Service
properties:
annotations:
type: object
x-kubernetes-preserve-unknown-fields: true
description: REST API Service annotations
adminui:
type: object
description: Section to configure Web Console container
properties:
image:
type: object
description: Section to configure Web Console image
properties:
name:
type: string
default: "stackgres/admin-ui"
description: Web Console image name
tag:
type: string
description: Web Console image tag
pullPolicy:
type: string
default: "IfNotPresent"
description: Web Console image pull policy
resources:
type: object
x-kubernetes-preserve-unknown-fields: true
description: Web Console resources. See https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#resourcerequirements-v1-core
service:
type: object
description: Section to configure Web Console service.
properties:
exposeHTTP:
type: boolean
default: false
description: When set to `true` the HTTP port will be exposed in the Web Console Service
type:
type: string
default: ClusterIP
description: |
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.
loadBalancerIP:
type: string
description: |
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:
type: array
description: |
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/
items:
type: string
nodePort:
type: integer
description: The HTTPS port used to expose the Service on Kubernetes nodes
nodePortHTTP:
type: integer
description: The HTTP port used to expose the Service on Kubernetes nodes
jobs:
type: object
description: Section to configure Operator Installation Jobs
properties:
image:
type: object
description: Section to configure Operator Installation Jobs image
properties:
name:
type: string
default: "stackgres/jobs"
description: Operator Installation Jobs image name
tag:
type: string
description: Operator Installation Jobs image tag
pullPolicy:
type: string
default: "IfNotPresent"
description: Operator Installation Jobs image pull policy
annotations:
type: object
x-kubernetes-preserve-unknown-fields: true
description: Operator Installation Jobs annotations
resources:
type: object
x-kubernetes-preserve-unknown-fields: true
description: Operator Installation Jobs resources. See https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#resourcerequirements-v1-core
nodeSelector:
type: object
x-kubernetes-preserve-unknown-fields: true
description: Operator Installation Jobs node selector
tolerations:
type: array
description: Operator Installation Jobs tolerations. See https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#toleration-v1-core
items:
type: object
x-kubernetes-preserve-unknown-fields: true
affinity:
type: object
x-kubernetes-preserve-unknown-fields: true
description: Operator Installation Jobs affinity. See https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#affinity-v1-core
serviceAccount:
type: object
description: Section to configure Jobs ServiceAccount
properties:
annotations:
type: object
x-kubernetes-preserve-unknown-fields: true
description: Jobs ServiceAccount annotations
repoCredentials:
type: array
description: Repositories credentials Secret names
items:
type: string
description: Repository credentials Secret name
deploy:
type: object
description: Section to configure deployment aspects.
properties:
operator:
type: boolean
default: true
description: When set to `true` the Operator will be deployed.
restapi:
type: boolean
default: true
description: When set to `true` the Web Console / REST API will be deployed.
cert:
type: object
description: Section to configure the Operator, REST API and Web Console certificates and JWT RSA key-pair.
properties:
autoapprove:
type: boolean
default: true
description: |
If set to `true` the CertificateSigningRequest used to generate the certificate used by
Webhooks will be approved by the Operator Installation Job.
createForOperator:
type: boolean
default: true
description: When set to `true` the Operator certificate will be created.
createForWebApi:
type: boolean
default: true
description: When set to `true` the Web Console / REST API certificate will be created.
secretName:
type: string
description: |
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
regenerateCert:
type: boolean
description: |
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
certDuration:
type: integer
description: |
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.
webSecretName:
type: string
description: |
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
regenerateWebCert:
type: boolean
description: |
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:
type: boolean
description: |
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
webCertDuration:
type: integer
description: |
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:
type: integer
description: |
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.
certManager:
type: object
description: Section to configure cert-manager integration to generate Operator certificates
properties:
autoConfigure:
type: boolean
default: false
description: |
When set to `true` then Issuer and Certificate for Operator and Web Console / REST API
Pods will be generated
duration:
type: string
default: "2160h"
description: The requested duration (i.e. lifetime) of the Certificates. See https://cert-manager.io/docs/reference/api-docs/#cert-manager.io%2fv1
renewBefore:
type: string
default: "360h"
description: How long before the currently issued certificates expiry cert-manager should renew the certificate. See https://cert-manager.io/docs/reference/api-docs/#cert-manager.io%2fv1
encoding:
type: string
default: PKCS1
description: The private key cryptography standards (PKCS) encoding for this certificates private key to be encoded in. See https://cert-manager.io/docs/reference/api-docs/#cert-manager.io/v1.CertificatePrivateKey
size:
type: integer
default: 2048
description: 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
rbac:
type: object
description: Section to configure RBAC for Web Console admin user
properties:
create:
type: boolean
default: true
description: |
When set to `true` the admin user is assigned the `cluster-admin` ClusterRole by creating
ClusterRoleBinding.
authentication:
type: object
description: Section to configure Web Console authentication
properties:
type:
type: string
default: jwt
description: |
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.
createAdminSecret:
type: boolean
description: |
When `true` will create the secret used to store the admin user credentials to access the UI.
default: true
user:
type: string
default: admin
description: |
The admin username that will be created for the Web Console
Operator bundle installation can not change the default value of this field.
password:
type: string
description: |
The admin password that will be created for the Web Console.
If not specified a random password will be generated.
secretRef:
type: object
description: |
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.
properties:
name:
description: The name of the Secret.
type: string
oidc:
type: object
description: Section to configure Web Console OIDC authentication
properties:
tlsVerification:
type: string
description: Can be one of `required`, `certificate-validation` or `none`
authServerUrl:
type: string
clientId:
type: string
credentialsSecret:
type: string
clientIdSecretRef:
type: object
properties:
name:
type: string
key:
type: string
credentialsSecretSecretRef:
type: object
properties:
name:
type: string
key:
type: string
prometheus:
type: object
description: Section to configure Prometheus integration.
properties:
allowAutobind:
type: boolean
default: true
description: |
If set to false disable automatic bind to Prometheus
created using the [Prometheus Operator](https://github.com/prometheus-operator/prometheus-operator).
If disabled the cluster will not be binded to Prometheus automatically and will require manual
intervention by the Kubernetes cluster administrator.
grafana:
type: object
description: Section to configure Grafana integration
properties:
autoEmbed:
type: boolean
default: false
description: |
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
schema:
type: string
default: http
description: |
The schema to access Grafana. By default http. (used to embed manually and
automatically grafana)
webHost:
type: string
description: |
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](https://kubernetes.io/docs/concepts/services-networking/dns-pod-service/) `svc_name.namespace`
datasourceName:
type: string
default: Prometheus
description: The datasource name used to create the StackGres Dashboard into Grafana
user:
type: string
default: admin
description: |
The username to access Grafana. By default admin. (used to embed automatically
Grafana)
password:
type: string
default: prom-operator
description: |
The password to access Grafana. By default prom-operator (the default in for
kube-prometheus-stack helm chart). (used to embed automatically Grafana)
secretNamespace:
type: string
description: |
The namespace of secret with credentials to access Grafana. (used to
embed automatically Grafana, alternative to use `user` and `password`)
secretName:
type: string
description: |
The name of secret with credentials to access Grafana. (used to embed
automatically Grafana, alternative to use `user` and `password`)
secretUserKey:
type: string
description: |
The key of secret with username used to access Grafana. (used to embed
automatically Grafana, alternative to use `user` and `password`)
secretPasswordKey:
type: string
description: |
The key of secret with password used to access Grafana. (used to
embed automatically Grafana, alternative to use `user` and `password`)
dashboardConfigMap:
type: string
description: |
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:
type: string
description: |
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
url:
type: string
description: |
The URL of the PostgreSQL dashboard created in Grafana (used to embed manually
Grafana)
token:
type: string
description: |
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
extensions:
type: object
description: Section to configure extensions
properties:
repositoryUrls:
type: array
default:
- https://extensions.stackgres.io/postgres/repository
description: |
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
items:
type: string
cache:
type: object
description: |
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
properties:
enabled:
type: boolean
default: false
description: |
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
preloadedExtensions:
type: array
default:
- x86_64/linux/timescaledb-1\.7\.4-pg12
description: An array of extensions pattern used to pre-loaded estensions into the extensions cache
items:
type: string
description: An extension pattern used to pre-loaded estensions into the extensions cache
persistentVolume:
type: object
description: Section to configure the extensions cache PersistentVolume
properties:
size:
type: string
default: 1Gi
description: |
The PersistentVolume size for the extensions cache
Only use whole numbers (e.g. not 1e6) and K/Ki/M/Mi/G/Gi as units
storageClass:
type: string
description: |
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)
hostPath:
type: string
description: |
If set, will use a host path volume with the specified path for the extensions cache
instead of a PersistentVolume
shardingSphere:
type: object
description: Section to configure integration with ShardingSphere operator
properties:
serviceAccount:
type: object
description: |
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`.
required: [namespace,name]
properties:
namespace:
type: string
description: The namespace of the ServiceAccount used by ShardingSphere operator
name:
type: string
description: The name of the ServiceAccount used by ShardingSphere operator
developer:
type: object
x-kubernetes-preserve-unknown-fields: true
description: |
Section to configure developer options.
Following options are for developers only, but can also be useful in some cases ;)
properties:
version:
type: string
description: Set the operator version (used for testing)
logLevel:
type: string
description: Set `quarkus.log.level`. See https://quarkus.io/guides/logging#root-logger-configuration
showDebug:
type: boolean
default: false
description: If set to `true` add extra debug to any script controlled by the reconciliation cycle of the operator configuration
showStackTraces:
type: boolean
default: false
description: 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
useJvmImages:
type: boolean
default: false
description: |
The operator will use JVM version of the images
enableJvmDebug:
type: boolean
default: false
description: |
Only work with JVM version and allow connect
on port 8000 of operator Pod with jdb or similar
enableJvmDebugSuspend:
type: boolean
default: false
description: |
Only work with JVM version and if `enableJvmDebug` is `true`
suspend the JVM until a debugger session is started
externalOperatorIp:
type: string
description: Set the external Operator IP
externalOperatorPort:
type: integer
description: Set the external Operator port
externalRestApiIp:
type: string
description: Set the external REST API IP
externalRestApiPort:
type: integer
description: Set the external REST API port
allowPullExtensionsFromImageRepository:
type: boolean
default: false
description: |
If set to `true` and `extensions.cache.enabled` is also `true`
it will try to download extensions from images (experimental)
disableArbitraryUser:
type: boolean
default: false
description: |
It set to `true` disable arbitrary user that is set for OpenShift clusters
patches:
type: object
description: |
Section to define patches for some StackGres Pods
properties:
operator:
type: object
description: |
Section to define volumes to be used by the operator container
properties:
volumes:
type: array
description: Pod volumes. See https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#volume-v1-core
items:
type: object
x-kubernetes-preserve-unknown-fields: true
volumeMounts:
type: array
description: Pod's container volume mounts. See https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#volumemount-v1-core
items:
type: object
x-kubernetes-preserve-unknown-fields: true
restapi:
type: object
description: |
Section to define volumes to be used by the restapi container
properties:
volumes:
type: array
description: Pod volumes. See https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#volume-v1-core
items:
type: object
x-kubernetes-preserve-unknown-fields: true
volumeMounts:
type: array
description: Pod's container volume mounts. See https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#volumemount-v1-core
items:
type: object
x-kubernetes-preserve-unknown-fields: true
adminui:
type: object
description: |
Section to define volumes to be used by the adminui container
properties:
volumes:
type: array
description: Pod volumes. See https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#volume-v1-core
items:
type: object
x-kubernetes-preserve-unknown-fields: true
volumeMounts:
type: array
description: Pod's container volume mounts. See https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#volumemount-v1-core
items:
type: object
x-kubernetes-preserve-unknown-fields: true
jobs:
type: object
description: |
Section to define volumes to be used by the jobs container
properties:
volumes:
type: array
description: Pod volumes. See https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#volume-v1-core
items:
type: object
x-kubernetes-preserve-unknown-fields: true
volumeMounts:
type: array
description: Pod's container volume mounts. See https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#volumemount-v1-core
items:
type: object
x-kubernetes-preserve-unknown-fields: true
clusterController:
type: object
description: |
Section to define volumes to be used by the cluster controller container
properties:
volumes:
type: array
description: Pod volumes. See https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#volume-v1-core
items:
type: object
x-kubernetes-preserve-unknown-fields: true
volumeMounts:
type: array
description: Pod's container volume mounts. See https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#volumemount-v1-core
items:
type: object
x-kubernetes-preserve-unknown-fields: true
distributedlogsController:
type: object
description: |
Section to define volumes to be used by the distributedlogs controller container
properties:
volumes:
type: array
description: Pod volumes. See https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#volume-v1-core
items:
type: object
x-kubernetes-preserve-unknown-fields: true
volumeMounts:
type: array
description: Pod's container volume mounts. See https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#volumemount-v1-core
items:
type: object
x-kubernetes-preserve-unknown-fields: true
status:
type: object
description: Status defines the observed state of SGConfig
x-kubernetes-preserve-unknown-fields: true
properties:
conditions:
type: array
items:
type: object
properties:
lastTransitionTime:
description: Last time the condition transitioned from one status to another.
type: string
message:
description: A human readable message indicating details about the transition.
type: string
reason:
description: The reason for the condition's last transition.
type: string
status:
description: Status of the condition, one of True, False, Unknown.
type: string
type:
description: Type of deployment condition.
type: string
version:
type: string
description: Latest version of the operator used to check for updates
removeOldOperatorBundleResources:
type: boolean
description: Indicate when the old operator bundle resources has been removed
grafana:
type: object
properties:
urls:
description: Grafana URLs to StackGres dashboards
type: array
items:
type: string
description: Grafana URL to StackGres dashboards preceded by the dashboard name and a semicolon `:`
token:
description: Grafana Token that allow to access dashboards
type: string
configHash:
description: Grafana configuration hash
type: string