Upgrade Notes
This is our first release that includes the rewritten JetStream Controller backend. This updated backend can be enabled by providing the --control-loop
flag to jetstream-controller
. The default behavior is still to use the legacy backend.
The new backend is based on the controller-runtime
libraries and will more reliably enforce the state of your resources, if mutated out-of-band, and will more rapidly respond to spec changes due to being event-driven. It will also make use of the JetStream Pedantic Mode in NATS Server 2.11.
KeyValue and Object Store are now supported when running with the new backend.
Configuration for the CRD resources have been expanded with the new backend to match options provided by NATS. No options were renamed or removed, so no breaking changes are expected.
The resources' State
field with the updated backend has more potential options, so this field may change (for example Created
to Ready
) when you migrate from the legacy backend. This does not impact the NATS resources.
The --crd-connect
flag is ignored with the new backend. Connection settings will follow a hierarchy: resource-specific options override account-level settings, which override global defaults. Any combination of these options is supported.
If upgrading from a prior version, be sure to apply the new CRDs to your cluster.
kubectl apply -f https://github.com/nats-io/nack/releases/download/v0.17.1/crds.yml
Added
- (Experimental) Fully re-written JetStream Controller backend based on the
controller-runtime
libraries - Support for KeyValue and Object Store when using the new backend
- Migration off deprecated generation scripts to
kube_codegen.sh
- Support for user/password auth in account config
- Dependency updates
What's Changed
- Bump golang from 1.23.1-bullseye to 1.23.2-bullseye in /cicd by @dependabot in #203
- Bump golang from 1.23.2-bullseye to 1.23.3-bullseye in /cicd by @dependabot in #205
- [FIX] consumer from headers-only to deliver bodies by @ramonberrutti in #194
- Bump alpine from 3.20.3 to 3.21.0 in /cicd by @dependabot in #210
- Bump golang from 1.23.3-bullseye to 1.23.4-bullseye in /cicd by @dependabot in #209
- Bump helm/kind-action from 1.10.0 to 1.11.0 by @dependabot in #213
- Bump helm/kind-action from 1.11.0 to 1.12.0 by @dependabot in #214
- Correct Makefile Docker Targets by @samuelattwood in #217
- Bump docker/bake-action from 5 to 6 by @dependabot in #223
- Bump alpine from 3.21.0 to 3.21.2 in /cicd by @dependabot in #222
- Bump golang from 1.23.4-bullseye to 1.23.5-bullseye in /cicd by @dependabot in #226
- Extend Account to support token and user/password auth by @vavsab in #219
- Bump golang from 1.23.5-bullseye to 1.23.6-bullseye in /cicd by @dependabot in #228
- Bump golang from 1.23.6-bullseye to 1.24.0-bullseye in /cicd by @dependabot in #229
- Add Control Loop by @samuelattwood and @adriandieter in #225
- Add Connection Pool for controller-runtime controllers by @samuelattwood in #231
- Build Fix by @samuelattwood in #232
New Contributors
- @ramonberrutti made their first contribution in #194
- @vavsab made their first contribution in #219
- @adriandieter made their first contribution in #225
Full Changelog: v0.16.2...v0.17.1