Skip to content

DEP: Native REST APIs for Dynamo CRD Lifecycle Management (Dynadmin)#3

Open
kangclzjc wants to merge 5 commits into
mainfrom
dep-governor-crd-rest-api
Open

DEP: Native REST APIs for Dynamo CRD Lifecycle Management (Dynadmin)#3
kangclzjc wants to merge 5 commits into
mainfrom
dep-governor-crd-rest-api

Conversation

@kangclzjc

Copy link
Copy Markdown
Owner

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-level
deploy endpoint 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 services map → v1beta1 components list migration). Governor
centralizes that translation in one place that tracks the CRD.

Contents

  • Motivation, Goals / Non-goals
  • Resource & endpoint model (per-resource served apiVersion; DynamoModel is v1alpha1 and a
    registry, not a deploy target)
  • High-level deploy endpoint with two-level dry-run (render-only + server-side dryRun=All)
  • AuthN/AuthZ — Kubernetes RBAC via user impersonation; no kubeconfigs; secrets referenced by name
  • Deployment-topology decision matrix (standalone gateway recommended for Phase 1)
  • 14 RFC-2119 requirements; risks / open questions
  • Non-normative Appendix A (detailed design) + a reference "Deploy a model" UI/UX (NVIDIA
    style) with the full form-field → CR mapping table

Notes

  • All CRD field / enum / version claims were verified against
    deploy/operator/api/{v1beta1,v1alpha1}/*.go.
  • Status: Draft — opening for review.

🤖 Generated with Claude Code

…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>
@github-actions github-actions Bot added the documentation Improvements or additions to documentation label Jun 7, 2026
kangclzjc and others added 3 commits June 7, 2026 20:27
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>
@kangclzjc kangclzjc changed the title DEP: Native REST APIs for Dynamo CRD Lifecycle Management (Governor) DEP: Native REST APIs for Dynamo CRD Lifecycle Management (Dynadmin) Jun 8, 2026
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>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant