Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add support for version aliases #405

Open
7 tasks
dgn opened this issue Oct 10, 2024 · 0 comments
Open
7 tasks

Add support for version aliases #405

dgn opened this issue Oct 10, 2024 · 0 comments
Milestone

Comments

@dgn
Copy link
Collaborator

dgn commented Oct 10, 2024

In the past, we only supported selecting a minor version in spec.version, like v1.23. Today, we only support selecting a specific patch version. We should add an option to use the old way of selecting a minor version. When coupled with fully-automatic proxy updates, this could be useful for customers that want to make sure they always have the latest security fixes in both proxies and control plane.

The version aliases will be defined explicitly in versions.yaml:

versions:
  - name: latest-unstable
    ref: v1.25-alpha.d547b8580cf6298e15ba732823b2e027071516ea
  - name: v1.24-latest
    ref: v1.24.2
  - name: v1.24.2
    version: 1.24.2
    repo: https://github.com/istio/istio
    commit: 1.24.2
    charts:
      - https://istio-release.storage.googleapis.com/charts/base-1.24.2.tgz
      - https://istio-release.storage.googleapis.com/charts/istiod-1.24.2.tgz
      - https://istio-release.storage.googleapis.com/charts/gateway-1.24.2.tgz
      - https://istio-release.storage.googleapis.com/charts/cni-1.24.2.tgz
      - https://istio-release.storage.googleapis.com/charts/ztunnel-1.24.2.tgz
[...]

When a user sets an Istio's spec.version field to an alias, the operator will resolve it and create an IstioRevision with the underlying actual version:

kind: Istio
spec:
  version: v1.24-latest
---
kind: IstioRevision
spec:
  version: 1.24.4
  • Update scripts to add aliases
  • Update versions.yaml parser to understand aliases
  • Make versions.yaml available to the controllers
  • Add tests to verify the minor version aliases point to the latest patch versions
  • Add tests for automatic patch updates
  • Make sure existing tests also test version aliases
  • Document the new version aliases and their behavior
@dgn dgn added this to the v1.0 milestone Jan 9, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant