Skip to content

feat(operator)!: Introduce v1alpha2 Role and RoleGroup - #1287

Draft
Techassi wants to merge 1 commit into
mainfrom
feat/operator-version-role
Draft

Techassi wants to merge 1 commit into
mainfrom
feat/operator-version-role

Conversation

@Techassi

Copy link
Copy Markdown
Member

Caution

The CRD structure needs to be decided on. Also, this PR needs a changelog entry before it can be merged.

Proposed CRD shape

spec:
  role:
    roleGroup:
      replicas:
        # Use a fixed number of replicas
        fixed:
          count: 2

        # Or: Use a fully-managed (by us), auto-scaled number of replicas
        managed: {}

        # Or: Use a auto-scaled number of replicas managed by external/custom mechanisms
        custom: {}

Summary of changes

Note

A whole bunch of changes are just code moves, no new code.

This PR includes a bunch of changes:

  • The Role and RoleGroup types are now versioned via our versioned macro.
  • It introduces two new versions: v1alpha1 and v1alpha2. v1alpha1 represents the shape of these types unchanged up until now. v1alpha2 introduces the changes which made versioning these types necessary at all.
  • In v1alpha2 the replicas field was changed from a simple Option to a complex enum to support our planned auto-scaling mechanism.

This is a breaking change for primarily two reasons:

  • The shape of Role and RoleGroup changed in v1alpha2.
  • The location of the Role, RoleGroup, and supporting code (like function and helper types) changed. The code is now located at stackable_operator::crd::role.

This commit includes a bunch of changes:

- The Role and RoleGroup types are now versioned via our versioned macro.
- It introduces two new versions: v1alpha1 and v1alpha2. v1alpha1
  represents the shape of these types unchanged up until now. v1alpha2
  introduces the changes which made versioning these types necessary
  at all.
- In v1alpha2 the replicas field was changed from a simple Option<u16>
  to a complex enum to support our planned auto-scaling mechanism.

This is a breaking change for primarily two reasons:

- The shape of Role and RoleGroup changed in v1alpha2.
- The location of the Role, RoleGroup, and supporting code (like
  function and helper types) changed. The code is now located at
  stackable_operator::crd::role.

This branch has not been deployed

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

Labels

None yet

Projects

Status: Development: In Progress

Development

Successfully merging this pull request may close these issues.

1 participant