Skip to content

CLOUDP-381747: Generate Group#3220

Closed
josvazg wants to merge 4 commits intomainfrom
CLOUDP-381747/gen-group
Closed

CLOUDP-381747: Generate Group#3220
josvazg wants to merge 4 commits intomainfrom
CLOUDP-381747/gen-group

Conversation

@josvazg
Copy link
Collaborator

@josvazg josvazg commented Feb 17, 2026

Summary

Make Group non experimental

  • New config/generated/crd/production-kinds.json is an array promoting generated CRDs to production.
  • Atlas Generated Group documentation appears, filling properly from comments is WIP.
  • Registry has now separated legacyReconcilers and generatedReconcilers functions.
  • Similarly Indexers are also setup separately as legacyIndexers and generatedIndexers.
  • The whole generatedv1 scheme is always loaded. These means that some unusable experimental schemes use some memory in production, but will not be exposed.
  • Generated crds are split into crds.experimental.yaml and individual YAML files under config/crd/bases.

This this setup, we can continue to write experimental generated resources and chose when to promote them to production at will.

Proof of Work

TBD

Checklist

  • Have you linked a jira ticket and/or is the ticket in the title?
  • Have you checked whether your jira ticket required DOCSP changes?
  • Have you signed our CLA?

@josvazg josvazg requested a review from a team as a code owner February 17, 2026 18:38
@josvazg josvazg marked this pull request as draft February 17, 2026 18:38
@josvazg josvazg force-pushed the CLOUDP-381747/gen-group branch 3 times, most recently from fc6ba4f to f139fa7 Compare February 18, 2026 14:30
Signed-off-by: Jose Vazquez <jose.vazquez@mongodb.com>
@josvazg josvazg force-pushed the CLOUDP-381747/gen-group branch from f139fa7 to b3a63ba Compare February 18, 2026 14:59
@@ -0,0 +1,4 @@
[
"Group"
Copy link
Collaborator

Choose a reason for hiding this comment

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

why is this special treatment needed?

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

The idea is that we produce generated resources once, as done today, but them pick which ones are promoted as production ready.

I am open to alternatives, but one thing I would like to keep is that we should be able to work on experimental resources without releasing them until ready. Smaller PRs, and protecting production from ongoing work are important.

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

An alternative is we use a separate source for generated production CRDs, which would implying moving from experimental to production means cut the CRD schema from the experimental file and pasting into the production one. Not sure we want to go that path.

Another option is the other way around, mark experimental ones instead of production ready. But that is kind of dangerous, as we might expose experimental code by accident.

Copy link
Collaborator

Choose a reason for hiding this comment

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

I am not convinced we need experimental support any more and introduce more complexity. we know we want to promote these CRDs now, why do we want to add additional complexity, I don't see a requirement from the PD+Scope/TD for this.

@josvazg
Copy link
Collaborator Author

josvazg commented Feb 19, 2026

We are going for solving the experimental/non experimental split in the openapi2crd config, by using different domains in the group version. Experimental will be optional, not a pre-step before promoting as prod.

@josvazg josvazg closed this Feb 19, 2026
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.

2 participants

Comments