From 2e52f1aacbc4edbeab43cf6fd016f0a6129537a3 Mon Sep 17 00:00:00 2001 From: Nikolai Rodionov Date: Fri, 14 Aug 2026 14:57:10 +0200 Subject: [PATCH 01/13] WIP: Start updating dbinstances Signed-off-by: Nikolai Rodionov --- charts/db-operator/Chart.yaml | 4 +- charts/db-operator/README.md | 2 +- .../crd/kinda.rocks_dbinstances.yaml | 559 +++++++++++++++++- 3 files changed, 561 insertions(+), 4 deletions(-) diff --git a/charts/db-operator/Chart.yaml b/charts/db-operator/Chart.yaml index 9218b5c..ad03968 100644 --- a/charts/db-operator/Chart.yaml +++ b/charts/db-operator/Chart.yaml @@ -2,12 +2,12 @@ apiVersion: v2 type: application name: db-operator -version: 3.15.0 +version: 4.0.0 description: This operator lets you manage databases in a Kubernetes native way, even if they are not deployed to Kubernetes # All supported k8s versions are in the test: # https://github.com/db-operator/charts/blob/main/.github/workflows/integration-test.yaml kubeVersion: ">= 1.32-prerelease" -appVersion: "2.39.0" +appVersion: "edcfac2412475d7073a9f7855605cda682647598" home: https://github.com/db-operator maintainers: - name: Nikolai Rodionov diff --git a/charts/db-operator/README.md b/charts/db-operator/README.md index 903ff60..3fd05dd 100644 --- a/charts/db-operator/README.md +++ b/charts/db-operator/README.md @@ -1,6 +1,6 @@ # db-operator -![Version: 3.15.0](https://img.shields.io/badge/Version-3.15.0-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 2.39.0](https://img.shields.io/badge/AppVersion-2.39.0-informational?style=flat-square) +![Version: 4.0.0](https://img.shields.io/badge/Version-4.0.0-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: edcfac2412475d7073a9f7855605cda682647598](https://img.shields.io/badge/AppVersion-edcfac2412475d7073a9f7855605cda682647598-informational?style=flat-square) This operator lets you manage databases in a Kubernetes native way, even if they are not deployed to Kubernetes diff --git a/charts/db-operator/crd/kinda.rocks_dbinstances.yaml b/charts/db-operator/crd/kinda.rocks_dbinstances.yaml index a04de93..2f7ea86 100644 --- a/charts/db-operator/crd/kinda.rocks_dbinstances.yaml +++ b/charts/db-operator/crd/kinda.rocks_dbinstances.yaml @@ -16,6 +16,563 @@ spec: singular: dbinstance scope: Cluster versions: + - additionalPrinterColumns: + - description: Which engine is used as a backend for this instance + jsonPath: .status.engine + name: Engine + type: string + - description: Which version of the engine is used as a backend for this instance + jsonPath: .status.version + name: Version + type: string + - description: How many databases on this instance are managed by the operator + jsonPath: .status.serverStatus.managedDatabasesCount + name: Managed Databases Count + type: string + - description: Which version of the db-operator is used to manage this instance + jsonPath: .status.operatorVersion + name: Operator Version + type: string + - description: "\t// When ready, an instance can be used by other controllers" + jsonPath: .status.ready + name: Ready + type: string + name: v1 + schema: + openAPIV3Schema: + description: DbInstance is the Schema for the dbinstances API + 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 DbInstance + properties: + auth: + description: How the operator should authenticate to the database + instance. + properties: + password: + description: ValueSource is a helper struct to let users either + provide a value directly or fetch a value from Secret/ConfigMap. + properties: + value: + type: string + valueFrom: + description: ValueFrom is a helper struct to let users fetch + data from Secret/ConfigMap. + properties: + configMap: + description: SecretOrCMRef is a helper struct to let users + fetch a value from Secret/ConfigMap. + properties: + key: + type: string + name: + type: string + namespace: + type: string + type: object + secret: + description: SecretOrCMRef is a helper struct to let users + fetch a value from Secret/ConfigMap. + properties: + key: + type: string + name: + type: string + namespace: + type: string + type: object + type: object + type: object + username: + description: ValueSource is a helper struct to let users either + provide a value directly or fetch a value from Secret/ConfigMap. + properties: + value: + type: string + valueFrom: + description: ValueFrom is a helper struct to let users fetch + data from Secret/ConfigMap. + properties: + configMap: + description: SecretOrCMRef is a helper struct to let users + fetch a value from Secret/ConfigMap. + properties: + key: + type: string + name: + type: string + namespace: + type: string + type: object + secret: + description: SecretOrCMRef is a helper struct to let users + fetch a value from Secret/ConfigMap. + properties: + key: + type: string + name: + type: string + namespace: + type: string + type: object + type: object + type: object + type: object + backupRules: + description: |- + If set, the operator will create backup jobs for database that are deployed to the namespaces + that will match the namespace regex + items: + description: DbInstanceBackupRule defines a rule for backing up + databases. + properties: + cron: + type: string + name: + type: string + namespace: + type: string + required: + - cron + - name + - namespace + type: object + type: array + endpoint: + description: The endpoint of the database instance. + properties: + host: + description: ValueSource is a helper struct to let users either + provide a value directly or fetch a value from Secret/ConfigMap. + properties: + value: + type: string + valueFrom: + description: ValueFrom is a helper struct to let users fetch + data from Secret/ConfigMap. + properties: + configMap: + description: SecretOrCMRef is a helper struct to let users + fetch a value from Secret/ConfigMap. + properties: + key: + type: string + name: + type: string + namespace: + type: string + type: object + secret: + description: SecretOrCMRef is a helper struct to let users + fetch a value from Secret/ConfigMap. + properties: + key: + type: string + name: + type: string + namespace: + type: string + type: object + type: object + type: object + port: + description: ValueSource is a helper struct to let users either + provide a value directly or fetch a value from Secret/ConfigMap. + properties: + value: + type: string + valueFrom: + description: ValueFrom is a helper struct to let users fetch + data from Secret/ConfigMap. + properties: + configMap: + description: SecretOrCMRef is a helper struct to let users + fetch a value from Secret/ConfigMap. + properties: + key: + type: string + name: + type: string + namespace: + type: string + type: object + secret: + description: SecretOrCMRef is a helper struct to let users + fetch a value from Secret/ConfigMap. + properties: + key: + type: string + name: + type: string + namespace: + type: string + type: object + type: object + type: object + sslConnection: + description: DbInstanceSSLConnection defines whether connection + from db-operator to instance has to be ssl or not + properties: + enabled: + type: boolean + skip-verify: + description: SkipVerify use SSL connection, but don't check + against a CA + type: boolean + required: + - enabled + - skip-verify + type: object + type: object + engine: + description: When not set, db-operator will try to determine the engine + itself. + enum: + - postgres + - mysql + type: string + grantRules: + description: If set, only databases from allowed namespaces will be + created on the instance. + items: + description: DbInstanceGrantRule defines a rule for granting access + to a database. + properties: + accessLevel: + type: string + namespace: + type: string + role: + type: string + required: + - accessLevel + - namespace + - role + type: object + type: array + instanceVars: + additionalProperties: + type: string + description: |- + InstanceVars can be used by any database/dbuser that are deployed + to this instance to build templated credentials with some generic values. + Can be used for example to provide a read only postgres replica url + type: object + namespaceFilters: + description: If set, only databases from allowed namespaces will be + created on the instance. + items: + type: string + type: array + readOnlyEndpoint: + description: ReadOnlyEndpoint is an optional endpoint that should + point to a read only replica of a database server. + properties: + host: + description: ValueSource is a helper struct to let users either + provide a value directly or fetch a value from Secret/ConfigMap. + properties: + value: + type: string + valueFrom: + description: ValueFrom is a helper struct to let users fetch + data from Secret/ConfigMap. + properties: + configMap: + description: SecretOrCMRef is a helper struct to let users + fetch a value from Secret/ConfigMap. + properties: + key: + type: string + name: + type: string + namespace: + type: string + type: object + secret: + description: SecretOrCMRef is a helper struct to let users + fetch a value from Secret/ConfigMap. + properties: + key: + type: string + name: + type: string + namespace: + type: string + type: object + type: object + type: object + port: + description: ValueSource is a helper struct to let users either + provide a value directly or fetch a value from Secret/ConfigMap. + properties: + value: + type: string + valueFrom: + description: ValueFrom is a helper struct to let users fetch + data from Secret/ConfigMap. + properties: + configMap: + description: SecretOrCMRef is a helper struct to let users + fetch a value from Secret/ConfigMap. + properties: + key: + type: string + name: + type: string + namespace: + type: string + type: object + secret: + description: SecretOrCMRef is a helper struct to let users + fetch a value from Secret/ConfigMap. + properties: + key: + type: string + name: + type: string + namespace: + type: string + type: object + type: object + type: object + sslConnection: + description: DbInstanceSSLConnection defines whether connection + from db-operator to instance has to be ssl or not + properties: + enabled: + type: boolean + skip-verify: + description: SkipVerify use SSL connection, but don't check + against a CA + type: boolean + required: + - enabled + - skip-verify + type: object + type: object + required: + - auth + - endpoint + - engine + type: object + status: + description: status defines the observed state of DbInstance + properties: + autoGrantRules: + items: + description: DbInstanceGrantRule defines a rule for granting access + to a database. + properties: + accessLevel: + type: string + namespace: + type: string + role: + type: string + required: + - accessLevel + - namespace + - role + type: object + type: array + conditions: + description: |- + conditions represent the current state of the DbInstance resource. + Each condition has a unique type and reflects the status of a specific aspect of the resource. + + Standard condition types include: + - "Available": the resource is fully functional + - "Progressing": the resource is being created or updated + - "Degraded": the resource failed to reach or maintain its desired state + + The status of each condition is one of True, False, or Unknown. + items: + description: Condition contains details for one aspect of the current + state of this API Resource. + properties: + lastTransitionTime: + description: |- + lastTransitionTime is the last time the condition transitioned from one status to another. + This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. + format: date-time + type: string + message: + description: |- + message is a human readable message indicating details about the transition. + This may be an empty string. + maxLength: 32768 + type: string + observedGeneration: + description: |- + observedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + minimum: 0 + type: integer + reason: + description: |- + reason contains a programmatic identifier indicating the reason for the condition's last transition. + Producers of specific condition types may define expected values and meanings for this field, + and whether the values are considered a guaranteed API. + The value should be a CamelCase string. + This field may not be empty. + maxLength: 1024 + minLength: 1 + pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$ + type: string + status: + description: status of the condition, one of True, False, Unknown. + enum: + - "True" + - "False" + - Unknown + type: string + type: + description: type of condition in CamelCase or in foo.example.com/CamelCase. + maxLength: 316 + pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$ + type: string + required: + - lastTransitionTime + - message + - reason + - status + - type + type: object + type: array + x-kubernetes-list-map-keys: + - type + x-kubernetes-list-type: map + engine: + description: Which engine is used as a backend for this instance + enum: + - postgres + - mysql + type: string + mainEndpoint: + description: MainEndpoint contains information about the host and + port of this instance. + properties: + host: + type: string + port: + type: integer + sslConnection: + description: DbInstanceSSLConnection defines whether connection + from db-operator to instance has to be ssl or not + properties: + enabled: + type: boolean + skip-verify: + description: SkipVerify use SSL connection, but don't check + against a CA + type: boolean + required: + - enabled + - skip-verify + type: object + type: object + namespaceFilters: + items: + type: string + type: array + operatorVersion: + description: Which version of the db-operator is used to manage this + instance + type: string + readOnlyEndpoint: + description: ReadOnlyEndpoint contains information about the host + and port of a read only replica of this instance. + properties: + host: + type: string + port: + type: integer + sslConnection: + description: DbInstanceSSLConnection defines whether connection + from db-operator to instance has to be ssl or not + properties: + enabled: + type: boolean + skip-verify: + description: SkipVerify use SSL connection, but don't check + against a CA + type: boolean + required: + - enabled + - skip-verify + type: object + type: object + ready: + type: boolean + serverStatus: + description: ServerStatus contains information about the databases + and users on this instance. + properties: + databases: + description: A list of databases on this instance. + items: + type: string + type: array + databasesCount: + description: Total number of databases created on this instance. + type: integer + managedDatabasesCount: + description: Total number of databases created on this instance + by the db-operator. + type: integer + users: + description: A list of users on this instance. + items: + type: string + type: array + required: + - managedDatabasesCount + type: object + version: + description: Which version of the engine is used as a backend for + this instance + type: string + versionTTL: + description: VersionTTL is the time when the version of the backend + will be checked again + format: int64 + type: integer + watchedResources: + description: WatchedResources is a list of resources that are being + watched by the db-operator for this instance. + items: + type: string + type: array + required: + - serverStatus + type: object + required: + - spec + type: object + served: true + storage: true + subresources: + status: {} - additionalPrinterColumns: - description: current phase jsonPath: .status.phase @@ -423,6 +980,6 @@ spec: type: object type: object served: true - storage: true + storage: false subresources: status: {} From ef7277eab6f2ebbfdc254cb4f53951cb8aec4e6a Mon Sep 17 00:00:00 2001 From: Nikolai Rodionov Date: Fri, 14 Aug 2026 15:05:22 +0200 Subject: [PATCH 02/13] WIP: Start updating dbinstances Signed-off-by: Nikolai Rodionov --- charts/db-operator/Chart.yaml | 2 +- charts/db-operator/values.yaml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/charts/db-operator/Chart.yaml b/charts/db-operator/Chart.yaml index ad03968..e0b5e6d 100644 --- a/charts/db-operator/Chart.yaml +++ b/charts/db-operator/Chart.yaml @@ -7,7 +7,7 @@ description: This operator lets you manage databases in a Kubernetes native way, # All supported k8s versions are in the test: # https://github.com/db-operator/charts/blob/main/.github/workflows/integration-test.yaml kubeVersion: ">= 1.32-prerelease" -appVersion: "edcfac2412475d7073a9f7855605cda682647598" +appVersion: "f141311d21ba0fa7fd8bc601e84458c4c177b913" home: https://github.com/db-operator maintainers: - name: Nikolai Rodionov diff --git a/charts/db-operator/values.yaml b/charts/db-operator/values.yaml index 38a497c..6057f4e 100644 --- a/charts/db-operator/values.yaml +++ b/charts/db-operator/values.yaml @@ -3,7 +3,7 @@ clusterDomain: cluster.local image: registry: ghcr.io - repository: db-operator/db-operator + repository: db-operator/db-operator-dev tag: "" pullPolicy: Always # imagePullSecrets: From 5670d87aa3c575f65ab244631d6caa7427d53ae9 Mon Sep 17 00:00:00 2001 From: Nikolai Rodionov Date: Fri, 14 Aug 2026 15:29:43 +0200 Subject: [PATCH 03/13] WIP: Start updating dbinstances Signed-off-by: Nikolai Rodionov --- charts/db-operator/Chart.yaml | 2 +- charts/db-operator/README.md | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/charts/db-operator/Chart.yaml b/charts/db-operator/Chart.yaml index e0b5e6d..f31cfee 100644 --- a/charts/db-operator/Chart.yaml +++ b/charts/db-operator/Chart.yaml @@ -7,7 +7,7 @@ description: This operator lets you manage databases in a Kubernetes native way, # All supported k8s versions are in the test: # https://github.com/db-operator/charts/blob/main/.github/workflows/integration-test.yaml kubeVersion: ">= 1.32-prerelease" -appVersion: "f141311d21ba0fa7fd8bc601e84458c4c177b913" +appVersion: "e9c286b86f761b9f9e51cdd7083557ae46a7221c" home: https://github.com/db-operator maintainers: - name: Nikolai Rodionov diff --git a/charts/db-operator/README.md b/charts/db-operator/README.md index 3fd05dd..454d181 100644 --- a/charts/db-operator/README.md +++ b/charts/db-operator/README.md @@ -1,6 +1,6 @@ # db-operator -![Version: 4.0.0](https://img.shields.io/badge/Version-4.0.0-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: edcfac2412475d7073a9f7855605cda682647598](https://img.shields.io/badge/AppVersion-edcfac2412475d7073a9f7855605cda682647598-informational?style=flat-square) +![Version: 4.0.0](https://img.shields.io/badge/Version-4.0.0-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: e9c286b86f761b9f9e51cdd7083557ae46a7221c](https://img.shields.io/badge/AppVersion-e9c286b86f761b9f9e51cdd7083557ae46a7221c-informational?style=flat-square) This operator lets you manage databases in a Kubernetes native way, even if they are not deployed to Kubernetes @@ -27,7 +27,7 @@ Kubernetes: `>= 1.32-prerelease` | nameOverride | string | `""` | | | clusterDomain | string | `"cluster.local"` | | | image.registry | string | `"ghcr.io"` | | -| image.repository | string | `"db-operator/db-operator"` | | +| image.repository | string | `"db-operator/db-operator-dev"` | | | image.tag | string | `""` | | | image.pullPolicy | string | `"Always"` | | | metadata.labels | object | `{}` | | From 0d98a0a79fda61fd886af4936d132993f17b6846 Mon Sep 17 00:00:00 2001 From: Nikolai Rodionov Date: Fri, 14 Aug 2026 15:56:31 +0200 Subject: [PATCH 04/13] WIP: Start updating dbinstances Signed-off-by: Nikolai Rodionov --- charts/db-operator/Chart.yaml | 2 +- charts/db-operator/README.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/charts/db-operator/Chart.yaml b/charts/db-operator/Chart.yaml index f31cfee..c38caec 100644 --- a/charts/db-operator/Chart.yaml +++ b/charts/db-operator/Chart.yaml @@ -7,7 +7,7 @@ description: This operator lets you manage databases in a Kubernetes native way, # All supported k8s versions are in the test: # https://github.com/db-operator/charts/blob/main/.github/workflows/integration-test.yaml kubeVersion: ">= 1.32-prerelease" -appVersion: "e9c286b86f761b9f9e51cdd7083557ae46a7221c" +appVersion: "fc5bb95db99a5ac69ff2092f1b7eec7026df12b4" home: https://github.com/db-operator maintainers: - name: Nikolai Rodionov diff --git a/charts/db-operator/README.md b/charts/db-operator/README.md index 454d181..4d0a112 100644 --- a/charts/db-operator/README.md +++ b/charts/db-operator/README.md @@ -1,6 +1,6 @@ # db-operator -![Version: 4.0.0](https://img.shields.io/badge/Version-4.0.0-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: e9c286b86f761b9f9e51cdd7083557ae46a7221c](https://img.shields.io/badge/AppVersion-e9c286b86f761b9f9e51cdd7083557ae46a7221c-informational?style=flat-square) +![Version: 4.0.0](https://img.shields.io/badge/Version-4.0.0-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: fc5bb95db99a5ac69ff2092f1b7eec7026df12b4](https://img.shields.io/badge/AppVersion-fc5bb95db99a5ac69ff2092f1b7eec7026df12b4-informational?style=flat-square) This operator lets you manage databases in a Kubernetes native way, even if they are not deployed to Kubernetes From bcf2bab1c98a0d14a9686734650ddc3ce1b16a5a Mon Sep 17 00:00:00 2001 From: Nikolai Rodionov Date: Fri, 14 Aug 2026 16:20:22 +0200 Subject: [PATCH 05/13] WIP: Start updating dbinstances Signed-off-by: Nikolai Rodionov --- charts/db-operator/Chart.yaml | 4 ++-- charts/db-operator/README.md | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/charts/db-operator/Chart.yaml b/charts/db-operator/Chart.yaml index c38caec..b7d19ed 100644 --- a/charts/db-operator/Chart.yaml +++ b/charts/db-operator/Chart.yaml @@ -6,8 +6,8 @@ version: 4.0.0 description: This operator lets you manage databases in a Kubernetes native way, even if they are not deployed to Kubernetes # All supported k8s versions are in the test: # https://github.com/db-operator/charts/blob/main/.github/workflows/integration-test.yaml -kubeVersion: ">= 1.32-prerelease" -appVersion: "fc5bb95db99a5ac69ff2092f1b7eec7026df12b4" +kubeVersion: ">= 1.33" +appVersion: "81bc45a9121ec83e27e6b16dbe95d194b647e958" home: https://github.com/db-operator maintainers: - name: Nikolai Rodionov diff --git a/charts/db-operator/README.md b/charts/db-operator/README.md index 4d0a112..f8bd22a 100644 --- a/charts/db-operator/README.md +++ b/charts/db-operator/README.md @@ -1,6 +1,6 @@ # db-operator -![Version: 4.0.0](https://img.shields.io/badge/Version-4.0.0-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: fc5bb95db99a5ac69ff2092f1b7eec7026df12b4](https://img.shields.io/badge/AppVersion-fc5bb95db99a5ac69ff2092f1b7eec7026df12b4-informational?style=flat-square) +![Version: 4.0.0](https://img.shields.io/badge/Version-4.0.0-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 81bc45a9121ec83e27e6b16dbe95d194b647e958](https://img.shields.io/badge/AppVersion-81bc45a9121ec83e27e6b16dbe95d194b647e958-informational?style=flat-square) This operator lets you manage databases in a Kubernetes native way, even if they are not deployed to Kubernetes @@ -18,7 +18,7 @@ This operator lets you manage databases in a Kubernetes native way, even if they ## Requirements -Kubernetes: `>= 1.32-prerelease` +Kubernetes: `>= 1.33` ## Values From a8e28862598f017c7241ac61703523b7a65f359a Mon Sep 17 00:00:00 2001 From: Nikolai Rodionov Date: Fri, 14 Aug 2026 16:33:06 +0200 Subject: [PATCH 06/13] WIP: Start updating dbinstances Signed-off-by: Nikolai Rodionov --- charts/db-operator/Chart.yaml | 2 +- charts/db-operator/README.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/charts/db-operator/Chart.yaml b/charts/db-operator/Chart.yaml index b7d19ed..2594f8b 100644 --- a/charts/db-operator/Chart.yaml +++ b/charts/db-operator/Chart.yaml @@ -7,7 +7,7 @@ description: This operator lets you manage databases in a Kubernetes native way, # All supported k8s versions are in the test: # https://github.com/db-operator/charts/blob/main/.github/workflows/integration-test.yaml kubeVersion: ">= 1.33" -appVersion: "81bc45a9121ec83e27e6b16dbe95d194b647e958" +appVersion: "5e2f1fee372a7b15fc92849f289f2ccdc9458238" home: https://github.com/db-operator maintainers: - name: Nikolai Rodionov diff --git a/charts/db-operator/README.md b/charts/db-operator/README.md index f8bd22a..bb8f7f5 100644 --- a/charts/db-operator/README.md +++ b/charts/db-operator/README.md @@ -1,6 +1,6 @@ # db-operator -![Version: 4.0.0](https://img.shields.io/badge/Version-4.0.0-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 81bc45a9121ec83e27e6b16dbe95d194b647e958](https://img.shields.io/badge/AppVersion-81bc45a9121ec83e27e6b16dbe95d194b647e958-informational?style=flat-square) +![Version: 4.0.0](https://img.shields.io/badge/Version-4.0.0-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 5e2f1fee372a7b15fc92849f289f2ccdc9458238](https://img.shields.io/badge/AppVersion-5e2f1fee372a7b15fc92849f289f2ccdc9458238-informational?style=flat-square) This operator lets you manage databases in a Kubernetes native way, even if they are not deployed to Kubernetes From 1704453d56c14080ed2b4f00608d882392596e9d Mon Sep 17 00:00:00 2001 From: Nikolai Rodionov Date: Tue, 18 Aug 2026 15:51:17 +0200 Subject: [PATCH 07/13] WIP: Implementing a downgrade webhook Signed-off-by: Nikolai Rodionov --- charts/db-operator/Chart.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/charts/db-operator/Chart.yaml b/charts/db-operator/Chart.yaml index 2594f8b..fb74bf4 100644 --- a/charts/db-operator/Chart.yaml +++ b/charts/db-operator/Chart.yaml @@ -7,7 +7,7 @@ description: This operator lets you manage databases in a Kubernetes native way, # All supported k8s versions are in the test: # https://github.com/db-operator/charts/blob/main/.github/workflows/integration-test.yaml kubeVersion: ">= 1.33" -appVersion: "5e2f1fee372a7b15fc92849f289f2ccdc9458238" +appVersion: "d41e0bde43c692eb3ddd23594e460e09e93f53a0" home: https://github.com/db-operator maintainers: - name: Nikolai Rodionov From 1dddb0748d34b5fdf91b6753fc0ef9e1ae4f71f3 Mon Sep 17 00:00:00 2001 From: Nikolai Rodionov Date: Thu, 20 Aug 2026 22:27:26 +0200 Subject: [PATCH 08/13] WIP: Updating tests with dbin v1 Signed-off-by: Nikolai Rodionov --- 1 | 21 ++ charts/db-operator/Chart.yaml | 2 +- .../crd/kinda.rocks_databases.yaml | 306 ------------------ .../crd/kinda.rocks_dbinstances.yaml | 173 ---------- .../templates/mysql-test.yaml | 24 +- .../templates/psql-test.yaml | 44 +-- 6 files changed, 60 insertions(+), 510 deletions(-) create mode 100644 1 diff --git a/1 b/1 new file mode 100644 index 0000000..871495a --- /dev/null +++ b/1 @@ -0,0 +1,21 @@ +--- +apiVersion: v2 +type: application +name: db-operator +version: 4.0.0 +description: This operator lets you manage databases in a Kubernetes native way, even if they are not deployed to Kubernetes +# All supported k8s versions are in the test: +# https://github.com/db-operator/charts/blob/main/.github/workflows/integration-test.yaml +kubeVersion: ">= 1.33" +appVersion: "78b82b16ccb62093186ef81baa9b57b7bcd00be9" +home: https://github.com/db-operator +maintainers: + - name: Nikolai Rodionov + email: allanger@posteo.com + url: https://badhouseplants.net +sources: + - https://github.com/db-operator/db-operator +keywords: + - database + - mysql + - postgres diff --git a/charts/db-operator/Chart.yaml b/charts/db-operator/Chart.yaml index fb74bf4..871495a 100644 --- a/charts/db-operator/Chart.yaml +++ b/charts/db-operator/Chart.yaml @@ -7,7 +7,7 @@ description: This operator lets you manage databases in a Kubernetes native way, # All supported k8s versions are in the test: # https://github.com/db-operator/charts/blob/main/.github/workflows/integration-test.yaml kubeVersion: ">= 1.33" -appVersion: "d41e0bde43c692eb3ddd23594e460e09e93f53a0" +appVersion: "78b82b16ccb62093186ef81baa9b57b7bcd00be9" home: https://github.com/db-operator maintainers: - name: Nikolai Rodionov diff --git a/charts/db-operator/crd/kinda.rocks_databases.yaml b/charts/db-operator/crd/kinda.rocks_databases.yaml index 518d6ae..83f8fbb 100644 --- a/charts/db-operator/crd/kinda.rocks_databases.yaml +++ b/charts/db-operator/crd/kinda.rocks_databases.yaml @@ -16,312 +16,6 @@ spec: singular: database scope: Namespaced versions: - - additionalPrinterColumns: - - description: current db phase - jsonPath: .status.phase - name: Phase - type: string - - description: current db status - jsonPath: .status.status - name: Status - type: boolean - - description: If database is protected to not get deleted. - jsonPath: .spec.deletionProtected - name: Protected - type: boolean - - description: instance reference - jsonPath: .spec.instance - name: DBInstance - type: string - - description: time since creation of resource - jsonPath: .metadata.creationTimestamp - name: Age - type: date - name: v1alpha1 - schema: - openAPIV3Schema: - description: Database is the Schema for the databases API - 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: DatabaseSpec defines the desired state of Database - properties: - backup: - description: DatabaseBackup defines the desired state of backup and - schedule - properties: - cron: - type: string - enable: - type: boolean - required: - - cron - - enable - type: object - cleanup: - type: boolean - connectionStringTemplate: - description: |- - ConnectionStringTemplate field can be used to pass a custom template for generating a db connection string. - These keywords can be used: Protocol, DatabaseHost, DatabasePort, UserName, Password, DatabaseName. - Default template looks like this: - "{{ .Protocol }}://{{ .UserName }}:{{ .Password }}@{{ .DatabaseHost }}:{{ .DatabasePort }}/{{ .DatabaseName }}" - type: string - deletionProtected: - type: boolean - extensions: - items: - type: string - type: array - instance: - type: string - postgres: - description: Postgres struct should be used to provide resource that - only applicable to postgres - properties: - dropPublicSchema: - description: If set to true, the public schema will be dropped - after the database creation - type: boolean - schemas: - description: Specify schemas to be created. The user created by - db-operator will have all access on them. - items: - type: string - type: array - type: object - secretName: - type: string - secretsTemplates: - additionalProperties: - type: string - type: object - required: - - backup - - deletionProtected - - instance - - secretName - type: object - status: - description: DatabaseStatus defines the observed state of Database - properties: - database: - type: string - instanceRef: - description: DbInstance is the Schema for the dbinstances API - 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: DbInstanceSpec defines the desired state of DbInstance - properties: - adminSecretRef: - description: |- - NamespacedName is a fork of the kubernetes api type of the same name. - Sadly this is required because CRD structs must have all fields json tagged and the kubernetes type is not tagged. - properties: - Name: - type: string - Namespace: - type: string - required: - - Name - - Namespace - type: object - backup: - description: DbInstanceBackup defines name of google bucket - to use for storing database dumps for backup when backup - is enabled - properties: - bucket: - type: string - required: - - bucket - type: object - engine: - description: 'Important: Run "make generate" to regenerate - code after modifying this file' - type: string - generic: - description: |- - GenericInstance is used when instance type is generic - and describes necessary information to use instance - generic instance can be any backend, it must be reachable by described address and port - properties: - backupHost: - description: |- - BackupHost address will be used for dumping database for backup - Usually secondary address for primary-secondary setup or cluster lb address - If it's not defined, above Host will be used as backup host address. - type: string - host: - type: string - port: - type: integer - publicIp: - type: string - required: - - host - - port - type: object - google: - description: |- - GoogleInstance is used when instance type is Google Cloud SQL - and describes necessary information to use google API to create sql instances - properties: - apiEndpoint: - type: string - clientSecretRef: - description: |- - NamespacedName is a fork of the kubernetes api type of the same name. - Sadly this is required because CRD structs must have all fields json tagged and the kubernetes type is not tagged. - properties: - Name: - type: string - Namespace: - type: string - required: - - Name - - Namespace - type: object - configmapRef: - description: |- - NamespacedName is a fork of the kubernetes api type of the same name. - Sadly this is required because CRD structs must have all fields json tagged and the kubernetes type is not tagged. - properties: - Name: - type: string - Namespace: - type: string - required: - - Name - - Namespace - type: object - instance: - type: string - required: - - configmapRef - - instance - type: object - monitoring: - description: DbInstanceMonitoring defines if exporter - properties: - enabled: - type: boolean - required: - - enabled - type: object - sslConnection: - description: DbInstanceSSLConnection defines weather connection - from db-operator to instance has to be ssl or not - properties: - enabled: - type: boolean - skip-verify: - description: SkipVerity use SSL connection, but don't - check against a CA - type: boolean - required: - - enabled - - skip-verify - type: object - required: - - adminSecretRef - - engine - type: object - status: - description: DbInstanceStatus defines the observed state of DbInstance - properties: - checksums: - additionalProperties: - type: string - type: object - info: - additionalProperties: - type: string - type: object - phase: - description: 'Important: Run "make generate" to regenerate - code after modifying this file' - type: string - status: - type: boolean - required: - - phase - - status - type: object - type: object - monitorUserSecret: - type: string - phase: - description: |- - Important: Run "make generate" to regenerate code after modifying this file - Add custom validation using kubebuilder tags: https://book-v1.book.kubebuilder.io/beyond_basics/generating_crd.html - type: string - proxyStatus: - description: |- - DatabaseProxyStatus defines whether proxy for database is enabled or not - if so, provide information - properties: - serviceName: - type: string - sqlPort: - format: int32 - type: integer - status: - type: boolean - required: - - serviceName - - sqlPort - - status - type: object - status: - type: boolean - user: - type: string - required: - - database - - instanceRef - - phase - - status - - user - type: object - type: object - served: true - storage: false - subresources: - status: {} - additionalPrinterColumns: - description: current db status jsonPath: .status.status diff --git a/charts/db-operator/crd/kinda.rocks_dbinstances.yaml b/charts/db-operator/crd/kinda.rocks_dbinstances.yaml index 2f7ea86..0d2154e 100644 --- a/charts/db-operator/crd/kinda.rocks_dbinstances.yaml +++ b/charts/db-operator/crd/kinda.rocks_dbinstances.yaml @@ -573,179 +573,6 @@ spec: storage: true subresources: status: {} - - additionalPrinterColumns: - - description: current phase - jsonPath: .status.phase - name: Phase - type: string - - description: health status - jsonPath: .status.status - name: Status - type: string - name: v1alpha1 - schema: - openAPIV3Schema: - description: DbInstance is the Schema for the dbinstances API - 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: DbInstanceSpec defines the desired state of DbInstance - properties: - adminSecretRef: - description: |- - NamespacedName is a fork of the kubernetes api type of the same name. - Sadly this is required because CRD structs must have all fields json tagged and the kubernetes type is not tagged. - properties: - Name: - type: string - Namespace: - type: string - required: - - Name - - Namespace - type: object - backup: - description: DbInstanceBackup defines name of google bucket to use - for storing database dumps for backup when backup is enabled - properties: - bucket: - type: string - required: - - bucket - type: object - engine: - description: 'Important: Run "make generate" to regenerate code after - modifying this file' - type: string - generic: - description: |- - GenericInstance is used when instance type is generic - and describes necessary information to use instance - generic instance can be any backend, it must be reachable by described address and port - properties: - backupHost: - description: |- - BackupHost address will be used for dumping database for backup - Usually secondary address for primary-secondary setup or cluster lb address - If it's not defined, above Host will be used as backup host address. - type: string - host: - type: string - port: - type: integer - publicIp: - type: string - required: - - host - - port - type: object - google: - description: |- - GoogleInstance is used when instance type is Google Cloud SQL - and describes necessary information to use google API to create sql instances - properties: - apiEndpoint: - type: string - clientSecretRef: - description: |- - NamespacedName is a fork of the kubernetes api type of the same name. - Sadly this is required because CRD structs must have all fields json tagged and the kubernetes type is not tagged. - properties: - Name: - type: string - Namespace: - type: string - required: - - Name - - Namespace - type: object - configmapRef: - description: |- - NamespacedName is a fork of the kubernetes api type of the same name. - Sadly this is required because CRD structs must have all fields json tagged and the kubernetes type is not tagged. - properties: - Name: - type: string - Namespace: - type: string - required: - - Name - - Namespace - type: object - instance: - type: string - required: - - configmapRef - - instance - type: object - monitoring: - description: DbInstanceMonitoring defines if exporter - properties: - enabled: - type: boolean - required: - - enabled - type: object - sslConnection: - description: DbInstanceSSLConnection defines weather connection from - db-operator to instance has to be ssl or not - properties: - enabled: - type: boolean - skip-verify: - description: SkipVerity use SSL connection, but don't check against - a CA - type: boolean - required: - - enabled - - skip-verify - type: object - required: - - adminSecretRef - - engine - type: object - status: - description: DbInstanceStatus defines the observed state of DbInstance - properties: - checksums: - additionalProperties: - type: string - type: object - info: - additionalProperties: - type: string - type: object - phase: - description: 'Important: Run "make generate" to regenerate code after - modifying this file' - type: string - status: - type: boolean - required: - - phase - - status - type: object - type: object - served: true - storage: false - subresources: - status: {} - additionalPrinterColumns: - description: current phase jsonPath: .status.phase diff --git a/ci/charts/db-operator-mysql-test/templates/mysql-test.yaml b/ci/charts/db-operator-mysql-test/templates/mysql-test.yaml index c7b6f2f..c355d8a 100644 --- a/ci/charts/db-operator-mysql-test/templates/mysql-test.yaml +++ b/ci/charts/db-operator-mysql-test/templates/mysql-test.yaml @@ -17,7 +17,7 @@ data: user: {{ .Values.mysql.admin.user | b64enc }} --- -apiVersion: kinda.rocks/v1beta1 +apiVersion: kinda.rocks/v1 kind: DbInstance metadata: name: {{ template "db-operator-mysql-test.name" . }}-mysql @@ -30,15 +30,21 @@ metadata: {{- end }} "helm.sh/hook-weight": "1" spec: - adminSecretRef: - Namespace: {{ .Release.Namespace }} - Name: {{ template "db-operator-mysql-test.name" . }}-mysql-admin-password + auth: + username: + value: root + password: + valueFrom: + secret: + namespace: {{ .Release.Namespace }} + name: {{ template "db-operator-mysql-test.name" . }}-mysql-admin-password + key: password engine: mysql - generic: - host: {{ .Values.mysql.service.name }}.{{ .Values.mysql.service.namespace }}.svc.cluster.local - port: 3306 - publicIp: "1.2.3.4" - backupHost: {{ .Values.mysql.service.name }}.{{ .Values.mysql.service.namespace }}.svc.cluster.local + endpoint: + host: + value: {{ .Values.mysql.service.name }}.{{ .Values.mysql.service.namespace }}.svc.cluster.local + port: + value: '3306' {{- if .Values.features.existingUser.enabled }} --- diff --git a/ci/charts/db-operator-psql-test/templates/psql-test.yaml b/ci/charts/db-operator-psql-test/templates/psql-test.yaml index a77ed84..fb76637 100644 --- a/ci/charts/db-operator-psql-test/templates/psql-test.yaml +++ b/ci/charts/db-operator-psql-test/templates/psql-test.yaml @@ -33,7 +33,7 @@ data: port: "5432" publicIp: "1.2.3.4" --- -apiVersion: kinda.rocks/v1beta1 +apiVersion: kinda.rocks/v1 kind: DbInstance metadata: name: {{ template "db-operator-psql-test.name" . }}-postgresql @@ -46,27 +46,29 @@ metadata: {{- end }} "helm.sh/hook-weight": "1" spec: - adminSecretRef: - Namespace: {{ .Release.Namespace }} - Name: {{ template "db-operator-psql-test.name" . }}-postgresql-admin-password + auth: + username: + value: db-operator + password: + valueFrom: + secret: + namespace: {{ .Release.Namespace }} + name: {{ template "db-operator-psql-test.name" . }}-postgresql-admin-password + key: password engine: postgres - generic: - hostFrom: - kind: ConfigMap - name: {{ template "db-operator-psql-test.name" . }}-postgresql-config - namespace: {{ .Release.Namespace }} - key: host - portFrom: - kind: ConfigMap - name: {{ template "db-operator-psql-test.name" . }}-postgresql-config - namespace: {{ .Release.Namespace }} - key: port - publicIpFrom: - kind: ConfigMap - name: {{ template "db-operator-psql-test.name" . }}-postgresql-config - namespace: {{ .Release.Namespace }} - key: publicIp - backupHost: {{ .Values.postgresql.service.name }}.{{ .Values.postgresql.service.namespace }}.svc.cluster.local + endpoint: + host: + valueFrom: + configMap: + name: {{ template "db-operator-psql-test.name" . }}-postgresql-config + namespace: {{ .Release.Namespace }} + key: host + port: + valueFrom: + configMap: + name: {{ template "db-operator-psql-test.name" . }}-postgresql-config + namespace: {{ .Release.Namespace }} + key: port {{- if .Values.features.existingUser.enabled }} --- From a5d0b0edb79d9f3111dbd5fa646b6bdfabbd4b55 Mon Sep 17 00:00:00 2001 From: Nikolai Rodionov Date: Thu, 20 Aug 2026 22:27:31 +0200 Subject: [PATCH 09/13] WIP: Updating tests with dbin v1 Signed-off-by: Nikolai Rodionov --- 1 | 21 --------------------- 1 file changed, 21 deletions(-) delete mode 100644 1 diff --git a/1 b/1 deleted file mode 100644 index 871495a..0000000 --- a/1 +++ /dev/null @@ -1,21 +0,0 @@ ---- -apiVersion: v2 -type: application -name: db-operator -version: 4.0.0 -description: This operator lets you manage databases in a Kubernetes native way, even if they are not deployed to Kubernetes -# All supported k8s versions are in the test: -# https://github.com/db-operator/charts/blob/main/.github/workflows/integration-test.yaml -kubeVersion: ">= 1.33" -appVersion: "78b82b16ccb62093186ef81baa9b57b7bcd00be9" -home: https://github.com/db-operator -maintainers: - - name: Nikolai Rodionov - email: allanger@posteo.com - url: https://badhouseplants.net -sources: - - https://github.com/db-operator/db-operator -keywords: - - database - - mysql - - postgres From 649283cab187ef206fcb0f465c535b6ecb4d08a0 Mon Sep 17 00:00:00 2001 From: Nikolai Rodionov Date: Tue, 25 Aug 2026 12:52:38 +0200 Subject: [PATCH 10/13] Update chart version Signed-off-by: Nikolai Rodionov --- charts/db-operator/Chart.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/charts/db-operator/Chart.yaml b/charts/db-operator/Chart.yaml index 871495a..1fe4fbe 100644 --- a/charts/db-operator/Chart.yaml +++ b/charts/db-operator/Chart.yaml @@ -7,7 +7,7 @@ description: This operator lets you manage databases in a Kubernetes native way, # All supported k8s versions are in the test: # https://github.com/db-operator/charts/blob/main/.github/workflows/integration-test.yaml kubeVersion: ">= 1.33" -appVersion: "78b82b16ccb62093186ef81baa9b57b7bcd00be9" +appVersion: "011d3d486e5189a110c8bfb5513a14036556bcd6" home: https://github.com/db-operator maintainers: - name: Nikolai Rodionov From 64db0deaab0d784a62292c8c6e7e1c1c437a7443 Mon Sep 17 00:00:00 2001 From: Nikolai Rodionov Date: Tue, 25 Aug 2026 12:53:23 +0200 Subject: [PATCH 11/13] Update chart version Signed-off-by: Nikolai Rodionov --- charts/db-operator/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/charts/db-operator/README.md b/charts/db-operator/README.md index bb8f7f5..9a87980 100644 --- a/charts/db-operator/README.md +++ b/charts/db-operator/README.md @@ -1,6 +1,6 @@ # db-operator -![Version: 4.0.0](https://img.shields.io/badge/Version-4.0.0-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 5e2f1fee372a7b15fc92849f289f2ccdc9458238](https://img.shields.io/badge/AppVersion-5e2f1fee372a7b15fc92849f289f2ccdc9458238-informational?style=flat-square) +![Version: 4.0.0](https://img.shields.io/badge/Version-4.0.0-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 011d3d486e5189a110c8bfb5513a14036556bcd6](https://img.shields.io/badge/AppVersion-011d3d486e5189a110c8bfb5513a14036556bcd6-informational?style=flat-square) This operator lets you manage databases in a Kubernetes native way, even if they are not deployed to Kubernetes From ae1f59aa2a75eb1f307d42e0aa6be43e67b7437a Mon Sep 17 00:00:00 2001 From: Nikolai Rodionov Date: Tue, 25 Aug 2026 13:02:43 +0200 Subject: [PATCH 12/13] Remove webhook from dbinstanceS Signed-off-by: Nikolai Rodionov --- charts/db-operator/templates/crds.yaml | 1 - 1 file changed, 1 deletion(-) diff --git a/charts/db-operator/templates/crds.yaml b/charts/db-operator/templates/crds.yaml index aeb5fe1..161c81b 100644 --- a/charts/db-operator/templates/crds.yaml +++ b/charts/db-operator/templates/crds.yaml @@ -31,7 +31,6 @@ metadata: spec: {{- if (or (eq $manifest.metadata.name "databases.kinda.rocks") - (eq $manifest.metadata.name "dbinstances.kinda.rocks") ) }} {{- if $.Values.webhook.enabled }} From db1926fc4a012c6b77dc5c1f1eb00c0c9c7c840c Mon Sep 17 00:00:00 2001 From: Nikolai Rodionov Date: Tue, 25 Aug 2026 15:28:29 +0200 Subject: [PATCH 13/13] WIP: Updating docs Signed-off-by: Nikolai Rodionov --- ci/charts/db-operator-mysql-test/templates/mysql-test.yaml | 2 +- ci/charts/db-operator-psql-test/templates/psql-test.yaml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/ci/charts/db-operator-mysql-test/templates/mysql-test.yaml b/ci/charts/db-operator-mysql-test/templates/mysql-test.yaml index c355d8a..854ec3c 100644 --- a/ci/charts/db-operator-mysql-test/templates/mysql-test.yaml +++ b/ci/charts/db-operator-mysql-test/templates/mysql-test.yaml @@ -31,7 +31,7 @@ metadata: "helm.sh/hook-weight": "1" spec: auth: - username: + username: value: root password: valueFrom: diff --git a/ci/charts/db-operator-psql-test/templates/psql-test.yaml b/ci/charts/db-operator-psql-test/templates/psql-test.yaml index fb76637..0e7277c 100644 --- a/ci/charts/db-operator-psql-test/templates/psql-test.yaml +++ b/ci/charts/db-operator-psql-test/templates/psql-test.yaml @@ -47,7 +47,7 @@ metadata: "helm.sh/hook-weight": "1" spec: auth: - username: + username: value: db-operator password: valueFrom: