Skip to content

Conversation

@sbernauer
Copy link
Member

@sbernauer sbernauer commented Oct 23, 2025

Description

Part of stackabletech/issues#770

With recent changes from stackabletech/issues#770, stackablectl demo install on kind broke, as kind by default does not have a LoadBalancer installed.

We could try to document/automate/whatnot this, but I expect significant user problems with this. So instead we can make stackablectl a little bit more clever and detect kind and k3s and don't use LoadBalancers in that case.

stackablectl now tries the following order and simple passes the result to the listener-operator helm-chart:

  1. Use --listener-class-preset flag
  2. If not set determine Kubernetes environment (kind, k3, IONOS) by looking at nodes and use according defaults
  3. If any error occurs, default to ephemeral-nodes

PS: Yes I know the OnceCell is not ideal, but I hope this is a temporary feature until #406 is implemented properly.

Definition of Done Checklist

  • Not all of these items are applicable to all PRs, the author should update this template to only leave the boxes in that are relevant
  • Please make sure all these things are done and tick the boxes

Author

  • Changes are OpenShift compatible
  • CRD changes approved
  • Helm chart can be installed and deployed operator works
  • Integration tests passed (for non trivial changes)

Reviewer

  • Code contains useful comments
  • (Integration-)Test cases added
  • Documentation added or updated
  • Changelog updated
  • Cargo.toml only contains references to git tags (not specific commits or branches)

Acceptance

  • Feature Tracker has been updated
  • Proper release label has been added

@sbernauer sbernauer marked this pull request as ready for review October 23, 2025 11:21
@sbernauer sbernauer self-assigned this Oct 23, 2025
@sbernauer sbernauer moved this to Development: Waiting for Review in Stackable Engineering Oct 23, 2025
@sbernauer sbernauer changed the title feat: Support configuring listner-operator preset (with sensible defaults) feat: Support configuring listener-operator preset (with sensible defaults) Oct 23, 2025
Comment on lines 13 to 14
/// This argument is likely temporary until we support setting arbitrary helm values for the
/// operators!
Copy link
Member

Choose a reason for hiding this comment

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

I think even then, there is a valid case to keep it as a shortcut.

Copy link
Member Author

Choose a reason for hiding this comment

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

Removed in 3019ae3

Copy link
Member

@NickLarsenNZ NickLarsenNZ left a comment

Choose a reason for hiding this comment

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

Some recommended changes.

I will update the PR description.

I also think "preset" should be plural: "presets", but that's outside of the scope of this and would need to change in the chart.

@NickLarsenNZ NickLarsenNZ changed the title feat: Support configuring listener-operator preset (with sensible defaults) feat: Support configuring ListenerClass preset (with sensible defaults) Oct 24, 2025
@sbernauer
Copy link
Member Author

I also think "preset" should be plural: "presets", but that's outside of the scope of this and would need to change in the chart.

Hmm, I think preset is technically more correct, as it's e.g. "stable-nodes".
Yes, that produces 1..n ListenerClasses, but it's still a single preset, isn't it?

@sbernauer sbernauer moved this from Development: Waiting for Review to Development: In Review in Stackable Engineering Oct 24, 2025
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 Review

Development

Successfully merging this pull request may close these issues.

2 participants