Skip to content

Commit c80d965

Browse files
committed
chore: Merge branch 'main' into feat/crd-maintenance
2 parents 16ed410 + ebf9e20 commit c80d965

3 files changed

Lines changed: 36 additions & 1 deletion

File tree

crates/stackable-operator/CHANGELOG.md

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,12 @@ All notable changes to this project will be documented in this file.
44

55
## [Unreleased]
66

7+
### Added
8+
9+
- BREAKING: Add new ListenerClass `.spec.pinnedNodePorts` field ([#1105]).
10+
11+
[#1105]: https://github.com/stackabletech/operator-rs/pull/1105
12+
713
## [0.99.0] - 2025-10-06
814

915
### Added
@@ -15,7 +21,7 @@ All notable changes to this project will be documented in this file.
1521
- Add a `Client::create_if_missing` associated function to create a resource if it doesn't
1622
exist ([#1099]).
1723
- Add CLI argument and env var to disable the end-of-support checker: `EOS_DISABLED` (`--eos-disabled`) ([#1101]).
18-
- Add end-of-support checker ([#1096]).
24+
- Add end-of-support checker ([#1096], [#1103]).
1925
- The EoS checker can be constructed using `EndOfSupportChecker::new()`.
2026
- Add new `MaintenanceOptions` and `EndOfSupportOptions` structs.
2127
- Add new CLI arguments and env vars:

crates/stackable-operator/crds/ListenerClass.yaml

Lines changed: 15 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

crates/stackable-operator/src/crd/listener/class/mod.rs

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -66,5 +66,19 @@ pub mod versioned {
6666
/// Defaults to `HostnameConservative`.
6767
#[serde(default = "ListenerClassSpec::default_preferred_address_type")]
6868
pub preferred_address_type: core_v1alpha1::PreferredAddressType,
69+
70+
/// Whether or not a Pod exposed using a NodePort should be pinned to a specific Kubernetes node.
71+
///
72+
/// By pinning the Pod to a specific (stable) Kubernetes node, stable addresses can be
73+
/// provided using NodePorts. The pinning is achieved by listener-operator setting the
74+
/// `volume.kubernetes.io/selected-node` annotation on the Listener PVC.
75+
///
76+
/// However, this only works on setups with long-living nodes. If your nodes are rotated on
77+
/// a regular basis, the Pods previously running on a removed node will be stuck in Pending
78+
/// until you delete the PVC with the pinning.
79+
///
80+
/// Because of this we don't enable pinning by default to support all environments.
81+
#[serde(default)]
82+
pub pinned_node_ports: bool,
6983
}
7084
}

0 commit comments

Comments
 (0)