⚠️ Work in Progress
Kure is currently under active development and has not been released yet. APIs and features are subject to change.

Compatibility Matrix

Kure Compatibility Matrix

This document describes the versions of infrastructure tools that Kure supports.

Version Philosophy

Kure maintains two version concepts for each dependency:

  1. Build Version (current in versions.yaml): The exact library version Kure imports in go.mod
  2. Deployment Compatibility (supported_range): The range of deployed tool versions that Kure can generate YAML for

Go Version

Current: Go 1.24.12

Infrastructure Dependencies

ToolBuild VersionDeployment CompatibilityNotes
cert-manager1.16.51.14 - 1.161.17+ requires Go 1.25
fluxcd2.6.42.4 - 2.62.7+ requires Go 1.25, tracked in #128
image-automation-controller 1.0+ requires Go 1.25 (#171)
All github.com/fluxcd/* packages blocked from minor/major updates
flux-operator0.24.10.23 - 0.240.25+ requires Go 1.25
metallb0.15.20.14 - 0.150.15.3+ requires Go 1.25 and triggers k8s.io upgrade to 0.34+ (#169)
external-secrets0.19.20.18 - 0.19Compatible with current Go version
controller-runtime0.21.00.19 - 0.210.22+ requires Go 1.25
kubernetes0.33.21.28 - 1.33Tested in CI matrix

Understanding the Matrix

Build Version (go.mod)

The version Kure imports and builds against. This is validated by CI to match versions.yaml.

Deployment Compatibility

The range of versions that Kure can generate valid YAML for. Kure may generate YAML compatible with older or newer versions than it builds against.

For example:

  • Kure builds against cert-manager 1.16.2
  • But generates YAML compatible with cert-manager 1.14.x, 1.15.x, and 1.16.x

Upgrading Dependencies

When upgrading a dependency:

  1. Update versions.yaml with new current and supported_range
  2. Run go get <module>@<version> to update go.mod
  3. Update code for any API changes
  4. Run ./scripts/sync-versions.sh generate to update docs
  5. Run ./scripts/sync-versions.sh check to validate consistency
  • #133 - Go 1.25 upgrade tracking
  • #128 - FluxCD ecosystem upgrade (blocked by Go 1.25)