Skip to content

feat: dbaas operator#321

Draft
ArkuNC wants to merge 24 commits intomainfrom
feat/dbaas-operator
Draft

feat: dbaas operator#321
ArkuNC wants to merge 24 commits intomainfrom
feat/dbaas-operator

Conversation

@ArkuNC
Copy link
Copy Markdown
Collaborator

@ArkuNC ArkuNC commented Mar 13, 2026

No description provided.

@github-actions github-actions bot added the enhancement New feature or request label Mar 13, 2026
kichasov and others added 3 commits March 19, 2026 12:42
* feat: ExternalDatabaseDeclaration CRD

* feat: added dbaas-client

* feat: added externaldatabasedeclaration controller

* feat: wip externaldatabasedeclaration

* feat: added error handling for DBaaS responses

* feat: added k8s test examples

* feat: added leader election

* feat: added read creds from dbaas secret

* feat: hot secret reload

* feat: added events

* feat: added ObservedGeneration

* feat: setup backoff for requeue

* feat: added tmf error handling

* feat: adding unit tests, updating declarativepayload

* fix: removing redundant code in tests

* feat: added tmf response from library

* fix: Adapter-specific extra properties are merged first so that typed fields below always take precedence over them

* test: Adapter-specific extra properties are merged first so that typed fields below always take precedence over them

* fix: validate Secret keys before building aggregator request

If a referenced Secret exists but is missing the username or password
key, the controller now returns an explicit error instead of silently
sending empty credentials to dbaas-aggregator.

* docs: clarify observedGeneration semantics for BackingOff state

* chore: regenerate CRD manifests

* fix: making sure 401 cannot be returned as a client error

* feat: adding a sample CR for external db testing

* refactor: move to resty in dbaas client

* refactor: removed explisit host, port, authDbName from ExternalDatabaseDeclaration

* refactor: credentials reading separated

* chore: garbage removed

* refactor: statuses and conditions

* refactor: DBAAS_AGGREGATOR_URL is optional now

* refactor: emulator renamed to dbaas-aggregator

* refactor: removed deprecated api

* fix: build

* fix: renamed phases

---------

Co-authored-by: Abhimanyu Roy <abhimanyuroy3197@gmail.com>
@github-actions github-actions bot added the build label Mar 19, 2026
@Logaka Logaka force-pushed the feat/dbaas-operator branch from 6f99b1b to 02cae4d Compare March 19, 2026 14:08
@github-actions github-actions bot added the bug Something isn't working label Mar 20, 2026
Logaka and others added 4 commits March 20, 2026 13:04
* feat: databasedeclaration processing

* refactor(controller): unify status transitions and fix EDB 4xx handling

* refactor(client): centralize aggregator error decoding

* refactor(controller): split external database request assembly

* refactor(test): extract shared controller test helpers

* refactor(controller): simplify database declaration state handling

* refactor(controller): centralize status patch lifecycle

* refactor(controller): move shared condition constants

* refactor(test): add shared controller sync fixtures

* refactor(api): replace observedGeneration type switch with interface

* fix(controller): use errors.As result directly; expand condition comments

* fix(api): exclude ObservedGenerationSetter interface from controller-gen
* fix(api): rename TrackingId → TrackingID per Go naming conventions

* fix(api): replace non-standard omitzero tag with omitempty

* refactor(api): move TrackingID out of shared OperatorStatus into DatabaseDeclarationStatus

* fix(controller): align LastTransitionTime with Kubernetes API conventions

* test(controller): add unit tests for setCondition LastTransitionTime behavior

* docs(controller): sync setCondition comments with actual LastTransitionTime behavior

* refactor(client): remove dead IsClientError method

* refactor(controller): extract shared handleAggregatorError helper

* refactor(controller): name the inline DbPolicy aggregator spec type

* refactor(mock): read request body once in logRequest, pass to handlers

* refactor(controller): extract shared invalidSpec helper

* test(controller): delegate DD reconcileAndFetch to shared helper; add GinkgoHelper()

* refactor(controller): convert clearPendingOperation and markProvisioningStarted to package functions

* refactor(client): unify JSON decoding in GetOperationStatus with ApplyConfig

* fix(controller): resubmit on TERMINATED instead of permanent failure

* fix(controller): report SecretError for empty credential values in Secret

* fix(controller): remove trackingID from Ready condition message
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working build enhancement New feature or request refactor

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants