Add kubedb provisioning client package (all KubeDB databases)#36
Open
tamalsaha wants to merge 1 commit into
Open
Add kubedb provisioning client package (all KubeDB databases)#36tamalsaha wants to merge 1 commit into
tamalsaha wants to merge 1 commit into
Conversation
tamalsaha
force-pushed
the
add-kubedb-shared-module
branch
from
July 15, 2026 20:24
9a6ba75 to
1a9ea2f
Compare
Add a dependency-free (stdlib-only) kubedb package to the go.bytebuilders.dev/client module: a client for the KubeDB Platform API Server's Helm editor-mode provisioning flow, imported as go.bytebuilders.dev/client/kubedb by the bmchelix and servicenow adapters. - Editor-mode provisioning: options/model, editor apply/delete, proxy GET (CR status + connection secret), available-types - Typed APIError with NotFound detection; configurable User-Agent - Engine registry for every database KubeDB supports (30 engines), with coordinates from kubedb.dev/apimachinery: GA kinds under kubedb.com/v1, the rest under kubedb.com/v1alpha2. Only Qdrant and Weaviate use API-key auth; the rest (incl. Memcached and Milvus) use username/password. - Unit tests for client behavior and the engine registry Signed-off-by: Tamal Saha <tamal@appscode.com>
tamalsaha
force-pushed
the
add-kubedb-shared-module
branch
from
July 15, 2026 20:29
1a9ea2f to
90b8124
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Adds a
kubedbpackage to the existinggo.bytebuilders.dev/clientmodule: a thin, dependency-free (stdlib-only) client for the KubeDB Platform API Server's Helm editor-mode provisioning flow. It is imported asgo.bytebuilders.dev/client/kubedbby thebmchelixandservicenowprovisioning adapters.What it provides
options/model(generate model), editorapply/delete, proxyGETfor CR status + connection secret, andavailable-types.APIErrorwithNotFound()detection; configurableUser-Agent; hardened HTTP transport (dial/TLS/idle timeouts).kubedb.dev/apimachinery(apis/kubedb): GA kinds underkubedb.com/v1, the rest underkubedb.com/v1alpha2. Only Qdrant and Weaviate use API-key auth; the rest (including Memcached and Milvus) use username/password.NotFound, base64 secret decode,APIErrorstatus, editor apply body) and registry completeness/coordinates.Packaging
This is a package within the existing
go.bytebuilders.dev/clientmodule, not a separate module. Consumers require the module and import the package; with module-graph pruning they pull only the stdlib-onlykubedbpackage (the client library's k8s/nats/jwt deps are pruned out). The two adapters pin it via a localreplaceand vendor only this package.Files carry the repo's Apache 2.0 license header.
Branch is a single clean, signed commit on top of
master, touching onlykubedb/*(5 files).Consumers
The provisioning adapters that import this package (
go.bytebuilders.dev/client/kubedb), each a small stateless Go HTTP service:Both pin this module via a local
replaceand vendor only thekubedbpackage. The integration design is documented in theprompt-librarydocs (bmc-helix-integration.md,servicenow-integration.md, and the matching implementation plans).