DEP: Native REST APIs for Dynamo CRD Lifecycle Management (Dynadmin)#3
Open
kangclzjc wants to merge 5 commits into
Open
DEP: Native REST APIs for Dynamo CRD Lifecycle Management (Dynadmin)#3kangclzjc wants to merge 5 commits into
kangclzjc wants to merge 5 commits into
Conversation
…e management (Governor) Proposes "Governor", a stateless control-plane REST API that fronts the Dynamo CRDs (DGD/DGDR/DM/DCD) with a versioned, OpenAPI-described contract plus a high-level deploy endpoint that translates a UI-friendly config into a DGD or DGDR — the single, canonical home for the intent -> CR translation consumers re-implement today. Covers the resource/endpoint model, auth (K8s RBAC via user impersonation, no kubeconfigs), deployment-topology options (standalone gateway recommended), RFC-2119 requirements, and risks. A non-normative appendix carries the detailed design, and a reference "Deploy a model" UI/UX (NVIDIA style) with the full form-field -> CR mapping table. Co-Authored-By: Anish Maddipoti <amaddipoti@nvidia.com> Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Embeds an illustrative 'Deploy a model' form screenshot in the Reference UI section (top branding bar cropped). Self-contained: image vendored under docs/proposals/images/ rather than hotlinked. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Keep References; reduce Appendix A to just the reference UI/UX (design tokens, field-visibility, wireframe, full form-field -> CR mapping). Drop the implementation-detail appendix subsections (routes, error model, versioning, authz detail) — deferred to a follow-up design doc / impl PR — and fix the in-body forward references accordingly. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Renames the proposed service throughout the DEP — and the reference screenshot asset — from Governor to Dynadmin (dynamo + admin). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Reshape toward a Kubernetes-KEP flow: add a Proposal with User Stories and an explicit Scope (in / deferred), move architecture/API/auth/topology under Design Details, and drop the formal RFC-2119 Requirements list — folding the essential normative points into plain Design Details statements. Detailed implementation (full schemas, error model, OpenAPI) stays deferred; the API surface (resources, routes, deploy endpoint, dry-run) is kept explicit. Title now carries the (Dynadmin) codename. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
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.
What
Proposes Governor — a stateless control-plane REST API that fronts the Dynamo CRDs
(
DynamoGraphDeployment,DynamoGraphDeploymentRequest,DynamoModel,DynamoComponentDeployment) with a versioned, OpenAPI-described contract, plus a high-leveldeployendpoint that translates a UI-friendly config into a DGD or DGDR.This is a design proposal (DEP), not an implementation — it adds one doc:
docs/proposals/dep-crd-rest-api.md.Why
The operator is 100% Kubernetes-API native (no management HTTP/REST surface), so every consumer
(web portals, multi-tenant SaaS, non-Go automation, CLIs) re-embeds client-go, re-solves
multi-tenancy/RBAC, and re-derives the intent→CR translation — which then drifts from the CRD
schema (e.g. the v1alpha1
servicesmap → v1beta1componentslist migration). Governorcentralizes that translation in one place that tracks the CRD.
Contents
DynamoModelis v1alpha1 and aregistry, not a deploy target)
deployendpoint with two-level dry-run (render-only + server-sidedryRun=All)style) with the full form-field → CR mapping table
Notes
deploy/operator/api/{v1beta1,v1alpha1}/*.go.🤖 Generated with Claude Code