Skip to content

feat(t8s-cluster/management-cluster): add quotas fied to cluster#1998

Merged
cwrau merged 1 commit intomainfrom
feat/t8s-cluster/add-quotas-field
Feb 16, 2026
Merged

feat(t8s-cluster/management-cluster): add quotas fied to cluster#1998
cwrau merged 1 commit intomainfrom
feat/t8s-cluster/add-quotas-field

Conversation

@cwrau
Copy link
Member

@cwrau cwrau commented Feb 16, 2026

Summary by CodeRabbit

  • New Features
    • Added configurable quotas for cloud resources, including a floatingIPs quota that accepts integer values (minimum -1).
    • Cluster configuration now includes an optional quotas block that is applied when quotas are provided.
    • Default chart values now include a quotas entry (empty by default) and schema validation enforces the quotas shape and constraints.

Copilot AI review requested due to automatic review settings February 16, 2026 14:02
@cwrau cwrau enabled auto-merge February 16, 2026 14:02
@gemini-code-assist
Copy link

Summary of Changes

Hello @cwrau, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request enhances the t8s-cluster management cluster configuration by introducing a new quotas capability. This allows operators to define resource limits, starting with floatingIPs, directly within the Helm chart values. The changes involve updating the chart's schema, modifying the cluster template to consume these values, and providing a default empty quotas object, ensuring that resource management can be integrated into cluster deployments.

Highlights

  • New Quotas Field: A new quotas field has been introduced to the t8s-cluster Helm chart, allowing for resource limit definitions.
  • Floating IPs Configuration: The quotas field currently supports configuring floatingIPs as an integer value.
  • Schema and Template Updates: The Helm chart's values.schema.json and the cluster.yaml template have been updated to properly define and render the new quotas configuration.
  • CI Test File Added: A new CI test file (quotas-values.yaml) was added to validate the quotas configuration.
Changelog
  • charts/t8s-cluster/ci/quotas-values.yaml
    • Introduced a new CI test file to validate the quotas configuration, specifically setting floatingIPs to -1.
  • charts/t8s-cluster/templates/management-cluster/cluster.yaml
    • Modified the cluster template to conditionally render the quotas block if defined in values.yaml, using toYaml and nindent for proper YAML formatting.
  • charts/t8s-cluster/values.schema.json
    • Added a new quotas object definition to the values.schema.json, specifying floatingIPs as an integer property and disallowing additional properties.
  • charts/t8s-cluster/values.yaml
    • Initialized an empty quotas object in the default values.yaml to allow for future configuration.
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

@coderabbitai
Copy link

coderabbitai bot commented Feb 16, 2026

No actionable comments were generated in the recent review. 🎉


📝 Walkthrough

Walkthrough

This pull request adds quotas configuration support to the t8s-cluster Helm chart by introducing a quotas values file, a quotas entry in default values, a schema definition for quotas.floatingIPs, and conditional rendering of quotas in the management cluster template.

Changes

Cohort / File(s) Summary
Quotas Values
charts/t8s-cluster/ci/quotas-values.yaml, charts/t8s-cluster/values.yaml
Added CI override with quotas.floatingIPs: -1 and added a top-level quotas key to default values.
Schema & Template
charts/t8s-cluster/values.schema.json, charts/t8s-cluster/templates/management-cluster/cluster.yaml
Added quotas object under cloud in JSON schema (floatingIPs integer, minimum -1) and conditionally render spec.quotas in the cluster template using toYaml when .Values.quotas is present.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Suggested reviewers

  • tasches
  • teutonet-bot
  • marvinWolff

Poem

🐰 A quota hops into the chart,
Tiny digits playing their part,
Values, schema, template sing,
Floating IPs take wing—
A config nibble straight from the heart.

🚥 Pre-merge checks | ✅ 4
✅ Passed checks (4 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title contains a typo ('fied' instead of 'field') and is grammatically incorrect, but it clearly refers to adding quotas functionality to the cluster, which aligns with the actual changes.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Merge Conflict Detection ✅ Passed ✅ No merge conflicts detected when merging into main

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch feat/t8s-cluster/add-quotas-field

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

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

Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR adds support for configuring quotas in the t8s-cluster chart, specifically for floating IPs. The implementation includes schema validation and a test configuration file.

Changes:

  • Added a new quotas field to the cluster configuration
  • Defined schema validation for the quotas object with floatingIPs property
  • Created a CI test file to validate the quotas configuration

Reviewed changes

Copilot reviewed 4 out of 4 changed files in this pull request and generated 2 comments.

File Description
charts/t8s-cluster/values.yaml Adds empty quotas object as default configuration
charts/t8s-cluster/values.schema.json Defines JSON schema for quotas with floatingIPs integer property
charts/t8s-cluster/templates/management-cluster/cluster.yaml Integrates quotas field into cluster template
charts/t8s-cluster/ci/quotas-values.yaml Provides test configuration with floatingIPs set to -1

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Copy link

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request introduces a quotas field to the cluster configuration, allowing resource limits like floatingIPs to be set. The implementation across the Helm templates, values.yaml, and schema files is sound. I have one suggestion to enhance the JSON schema for better validation and clarity. Additionally, there's a small typo in the pull request title ('fied' should be 'field').

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🧹 Nitpick comments (1)
charts/t8s-cluster/values.schema.json (1)

166-174: Consider adding a description for the quotas object and its floatingIPs property.

A brief description (e.g., explaining that -1 means unlimited) would help users configuring these values. This is a minor readability improvement — other properties in the schema follow a similar pattern of omitting descriptions, so this is consistent as-is.

@cwrau cwrau force-pushed the feat/t8s-cluster/add-quotas-field branch from d965929 to 03616e5 Compare February 16, 2026 14:10
@cwrau cwrau added this pull request to the merge queue Feb 16, 2026
Merged via the queue into main with commit 3123514 Feb 16, 2026
32 checks passed
@cwrau cwrau deleted the feat/t8s-cluster/add-quotas-field branch February 16, 2026 16:36
github-merge-queue bot pushed a commit that referenced this pull request Feb 25, 2026
🤖 I have created a release *beep* *boop*
---


##
[9.6.0](t8s-cluster-v9.5.2...t8s-cluster-v9.6.0)
(2026-02-25)


### Features

* **t8s-cluster/management-cluster:** add `compute-plane` role label to
nodes
([#1953](#1953))
([f5897e3](f5897e3))
* **t8s-cluster/management-cluster:** add quotas fied to cluster
([#1998](#1998))
([3123514](3123514))
* **t8s-cluster/management-cluster:** ignore local storage for
autoscaler
([#1973](#1973))
([d4abff8](d4abff8))


### Bug Fixes

* **t8s-cluster/management-cluster:** add missing securityGroupRule for
cilium hubble
([#1971](#1971))
([f36f231](f36f231))
* **t8s-cluster/management-cluster:** adjust test helmRepositories
([#1964](#1964))
([66be444](66be444))
* **t8s-cluster/management-cluster:** remove hardcoded field
([#1984](#1984))
([227af97](227af97))
* **t8s-cluster/workload-cluster:** add missing tolerations
([#1933](#1933))
([8718c0d](8718c0d))
* **t8s-cluster/workload-cluster:** correctly set extraArgs value
([#2003](#2003))
([6e558f0](6e558f0))
* **t8s-cluster/workload-cluster:** migrate extraArgs type to string
([#1985](#1985))
([79d6df5](79d6df5))


### Miscellaneous Chores

* **t8s-cluster/dependencies:** update common docker tag to v1.8.0
([#1940](#1940))
([cdf387f](cdf387f))
* **t8s-cluster/dependencies:** update helm release cilium to v1.19.0
([#1969](#1969))
([e95a9a5](e95a9a5))
* **t8s-cluster/dependencies:** update helm release cluster-autoscaler
to v9.55.0
([#1963](#1963))
([659a529](659a529))
* **t8s-cluster/dependencies:** update helm release openstack-cinder-csi
to v2.35.0
([#1970](#1970))
([741d5b2](741d5b2))
* **t8s-cluster/dependencies:** update helm release
openstack-cloud-controller-manager to v2.35.0
([#1941](#1941))
([a580142](a580142))
* **t8s-cluster/dependencies:** update registry.k8s.io/etcd docker tag
to v3.6.8
([#1996](#1996))
([aa7d054](aa7d054))

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).

---------

Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants