Skip to content

feat(tenant): optional ResourceQuota/LimitRange guardrails on the KRO Tenant RGD - #2533

Merged
devantler merged 1 commit into
mainfrom
claude/tenant-resourcequota-limitrange
Jul 9, 2026
Merged

devantler merged 1 commit into
mainfrom
claude/tenant-resourcequota-limitrange

Conversation

@devantler

Copy link
Copy Markdown
Contributor

🤖 Generated by the Daily AI Assistant

Why

The KRO Tenant abstraction (see the ADR) does not yet emit a namespace ResourceQuota or per-container LimitRange — a standard multi-tenancy guardrail against a tenant consuming unbounded cluster resources.

What

Adds optional resourceQuota / limitRange inputs to the Tenant RGD schema, each with its own enabled toggle (default false). When enabled, the RGD emits the matching object in the tenant namespace; existing tenants are unaffected. Follows the RGD's own already-proven boolean-toggle pattern (externalDns/sops), so it needed no new kro features — statically validated via ksail workload validate (the RGD file validates cleanly; the 3 unrelated failures in the same run are a network-fetch timeout on an unrelated schema and a pre-existing HelmRelease YAML issue, both present on unmodified main).

Fixes #2522
Part of #1932

Documented in docs/tenant-abstraction.md and pointed to from docs/TENANTS.md per the issue's acceptance criteria.

… Tenant RGD

Adds opt-in `resourceQuota`/`limitRange` inputs to the Tenant RGD schema, each
gated by its own `enabled` toggle (default false — no behaviour change for
existing tenants). When enabled, the RGD emits a namespace ResourceQuota
and/or a per-container default LimitRange alongside the existing skeleton.

Fixes #2522
Part of #1932

🤖 Generated by the Daily AI Assistant
@coderabbitai

coderabbitai Bot commented Jul 8, 2026 •

Copy link
Copy Markdown
Contributor

Review Change Stack

📝 Walkthrough

Walkthrough

This PR extends the KRO Tenant ResourceGraphDefinition schema with two new optional guardrail types, TenantResourceQuota and TenantLimitRange, each with an enabled toggle (defaulting to false) and default resource values. These are wired into spec.resourceQuota and spec.limitRange on the Tenant schema, and conditionally render a ResourceQuota and LimitRange in the tenant namespace when enabled. Documentation in tenant-abstraction.md marks this follow-up as completed and expands details on the ExternalSecret follow-up. TENANTS.md gains a note describing a KRO-based fast path for tenant onboarding alongside the existing pre-KRO flow.

Possibly related PRs

  • devantler-tech/platform#2519: Updates the same "Consequences → Follow-ups" section in docs/tenant-abstraction.md, including the ResourceQuota/LimitRange and ExternalSecret follow-up items.
🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Linked Issues check ✅ Passed The changes satisfy #2522 by adding optional inputs, conditional ResourceQuota/LimitRange rendering, and docs updates.
Out of Scope Changes check ✅ Passed The changes stay focused on the Tenant guardrails and related documentation, with no clear unrelated additions.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Title check ✅ Passed The title accurately summarizes the main change: optional ResourceQuota/LimitRange guardrails for the KRO Tenant RGD.
Description check ✅ Passed The description clearly matches the changes and objectives, including the optional guardrails, docs updates, and linked issue context.

Comment @coderabbitai help to get the list of available commands.

@devantler
devantler marked this pull request as ready for review July 9, 2026 03:10
@devantler
devantler added this pull request to the merge queue Jul 9, 2026
Merged via the queue into main with commit ab256ac Jul 9, 2026
16 checks passed
@devantler
devantler deleted the claude/tenant-resourcequota-limitrange branch July 9, 2026 03:26
@github-project-automation github-project-automation Bot moved this from 🫴 Ready to ✅ Done in 🌊 Project Board Jul 9, 2026
@botantler-1

botantler-1 Bot commented Jul 9, 2026

Copy link
Copy Markdown
Contributor

🎉 This PR is included in version 1.109.0 🎉

The release is available on GitHub release

Your semantic-release bot 📦🚀

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

Archived in project

Development

Successfully merging this pull request may close these issues.

feat(tenant): optional ResourceQuota / LimitRange on the KRO Tenant schema

1 participant