Skip to content

chore: migrate CR group refs to the 3-group *.nanohype.dev taxonomy#20

Merged
stxkxs merged 1 commit into
mainfrom
chore/cr-group-taxonomy
May 30, 2026
Merged

chore: migrate CR group refs to the 3-group *.nanohype.dev taxonomy#20
stxkxs merged 1 commit into
mainfrom
chore/cr-group-taxonomy

Conversation

@stxkxs

@stxkxs stxkxs commented May 30, 2026

Copy link
Copy Markdown
Member

Replaces the single agents.stxkxs.io CR group with the locked per-kind taxonomy on the nanohype.dev domain. API version stays v1alpha1 across all three groups.

Group Kinds
platform.nanohype.dev Tenant, Platform
agents.nanohype.dev AgentFleet, ModelGateway, AgentSandbox, SandboxPool
governance.nanohype.dev BudgetPolicy, EvalSuite

What changed

Code

  • src/k8s.ts — the single AGENTS_GROUP constant becomes a CRD_GROUP_BY_KIND map with groupForKind / apiVersionForKind resolvers and a CrdKind union. Call sites resolve per kind: getPlatformplatform.nanohype.dev, the AgentSandbox path → agents.nanohype.dev.
  • src/runtimes/sdk-k8s.ts — the dispatched AgentSandbox manifest builds its apiVersion via apiVersionForKind('AgentSandbox')agents.nanohype.dev/v1alpha1.

Deploy RBAC

  • deploy/rbac.yaml — fab's dispatch Role touches two kinds now in different groups, so the rule splits into agents.nanohype.dev (agentsandboxes) and platform.nanohype.dev (platforms).

Standards + contract

  • src/standards.ts, src/standards/platform-tenant-contract.json — Platform CR → platform.nanohype.dev/v1alpha1, AgentFleet CR → agents.nanohype.dev/v1alpha1.

Skills + role prose

  • skills/eks-agent-platform-curation.md, skills/kagent-curation.md, skills/agentgateway-curation.md, skills/kubebuilder-engineering.md, src/team/build/agent-platform.ts, .plans/k8s-first-standards.md — YAML examples and prose moved to the per-kind groups (kubebuilder PlatformQuota example scaffolds under platform.nanohype.dev).

Verification

CI gate green from a clean install:

  • npm run build — clean
  • npm run lint (typecheck + eslint) — clean
  • npm test — 257 passed (21 files)
  • npm run format:check — clean

Replace the single `agents.stxkxs.io` CR group with the locked per-kind
taxonomy on the `nanohype.dev` domain. The API version stays `v1alpha1`
across all three groups:

  - platform.nanohype.dev   — Tenant, Platform
  - agents.nanohype.dev     — AgentFleet, ModelGateway, AgentSandbox, SandboxPool
  - governance.nanohype.dev — BudgetPolicy, EvalSuite

─── Code ───

- src/k8s.ts: drop the single `AGENTS_GROUP` constant in favour of a
  `CRD_GROUP_BY_KIND` map plus `groupForKind(kind)` and
  `apiVersionForKind(kind)` resolvers, with a `CrdKind` union covering
  the eight mapped kinds. Both call sites resolve their group through the
  map: `getPlatform` reads `platform.nanohype.dev`, the AgentSandbox path
  reads `agents.nanohype.dev`.
- src/runtimes/sdk-k8s.ts: the dispatched `AgentSandbox` manifest builds
  its `apiVersion` via `apiVersionForKind('AgentSandbox')` →
  `agents.nanohype.dev/v1alpha1`, so the wire group tracks the map.

─── Deploy RBAC ───

- deploy/rbac.yaml: fab's dispatch Role touches two CRD kinds that now
  live in different groups, so the single `agents.stxkxs.io` rule splits
  into `agents.nanohype.dev` (agentsandboxes — create/get/list/watch/delete)
  and `platform.nanohype.dev` (platforms — get).

─── Standards + contract ───

- src/standards.ts: PLATFORM_TENANT_CONTRACT and IAC_BY_TARGET prose name
  the Platform CR as `platform.nanohype.dev/v1alpha1` and the AgentFleet CR
  as `agents.nanohype.dev/v1alpha1`.
- src/standards/platform-tenant-contract.json: the `platform_cr_shape`
  apiVersion becomes `platform.nanohype.dev/v1alpha1`.

─── Skills + role prose ───

- skills/eks-agent-platform-curation.md: the "API group" line documents
  all three groups; the Platform example uses `platform.nanohype.dev`, the
  AgentFleet example uses `agents.nanohype.dev`.
- skills/kagent-curation.md: the runtime kinds (Agent, AgentTool,
  AgentSkill) move to `agents.nanohype.dev`; the prose notes Platform CRDs
  now live in `platform.nanohype.dev`.
- skills/agentgateway-curation.md: the AgentRoute and ModelEgress examples
  move to `agents.nanohype.dev` (agent-traffic kinds alongside ModelGateway).
- skills/kubebuilder-engineering.md: the `operator-sdk create api` example
  scaffolds PlatformQuota under `platform.nanohype.dev` (a Platform quota
  override).
- src/team/build/agent-platform.ts: the eks-agent-platform-curator brief
  describes the `*.nanohype.dev/v1alpha1` surface across the three groups.
- .plans/k8s-first-standards.md: the Platform CR reference reads
  `platform.nanohype.dev/v1alpha1`.
@stxkxs stxkxs merged commit 2e3dab2 into main May 30, 2026
2 checks passed
@stxkxs stxkxs deleted the chore/cr-group-taxonomy branch May 30, 2026 02:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant