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

[RFE] Auto-detect latest release versions in release builds #42

Open
t-lo opened this issue Feb 12, 2024 · 7 comments
Open

[RFE] Auto-detect latest release versions in release builds #42

t-lo opened this issue Feb 12, 2024 · 7 comments
Labels
kind/feature A feature request.

Comments

@t-lo
Copy link
Member

t-lo commented Feb 12, 2024

Current situation

While new Kubernetes patch-level releases of all supported minor versions are auto-detected and the latest one is built, a similar feature is not implemented for docker, docker-compose, and wasmtime.

Impact

New versions need to be specified manually in order to be included in a release build.

Ideal future situation

New versions are automatically detected by release builds.
Ideally, the implementation is modular and makes it easy to add new components / sysexts to the release auto-build.

Follow-up tasks

  • build new releases on a schedule (e.g. daily, weekly, etc) to keep "latest" release up to date with upstream releases.
  • automatically tag "latest" in the build instead of relying on manual tagging. Done. Release CI action will re-tag.
@jsalatiel
Copy link
Contributor

Could the same be added to cri-o ?

@tormath1 tormath1 changed the title [RFE] Auto-detect latest docker, compose, wasmtime release versions in release builds [RFE] Auto-detect latest release versions in release builds Jul 31, 2024
@tormath1
Copy link
Contributor

tormath1 commented Jul 31, 2024

Most of the components are pulled from Github releases (except Tailscale, Docker and Keepalived). To get the latest we can inspire from how we fetch the CNI components for Kubernetes sysext:

# install CNI.
version="${CNI_VERSION}"
if [[ "${CNI_VERSION}" == "latest" ]]; then
version=$(curl -fsSL https://api.github.com/repos/containernetworking/plugins/releases/latest | jq -r .tag_name)
echo "Using latest version: ${version} for CNI plugins"
fi
curl -o cni.tgz -fsSL "https://github.com/containernetworking/plugins/releases/download/${version}/cni-plugins-linux-${ARCH}-${version}.tgz"

In this file we will set crio-latest for example:

and we can still track specific versions.

For non github releases, it has to be handled with a custom way for each.

@mnbro
Copy link

mnbro commented Nov 16, 2024

Can we implement this also for k3s?

@tormath1
Copy link
Contributor

Can we implement this also for k3s?

@mnbro thanks for the suggestion. This is done here #98 with rke2 as well.

@mnbro
Copy link

mnbro commented Nov 20, 2024

Can we implement this also for k3s?

@mnbro thanks for the suggestion. This is done here #98 with rke2 as well.

@tormath1 thank you!

Maybe this is not the right place but do you think that also adding k0s and also supporting its major/minor releases would be possible? In this way, Flatcar Linux OS would have a plug-and-play support for all major k8s distributions.

@tormath1
Copy link
Contributor

@mnbro usually Kubernetes distribution (k3s, rancher, etc.) are installed via systemd-sysext. Having a k0s sysext would be totally great and possible.
Two options:

  • open an issue on this repository to ask for this sysext
  • implement yourself the recipe to build the sysext and add some documentation (you can take inspiration of existing contributions: e.g k3s)

@mnbro
Copy link

mnbro commented Nov 21, 2024

@mnbro usually Kubernetes distribution (k3s, rancher, etc.) are installed via systemd-sysext. Having a k0s sysext would be totally great and possible. Two options:

  • open an issue on this repository to ask for this sysext
  • implement yourself the recipe to build the sysext and add some documentation (you can take inspiration of existing contributions: e.g k3s)

@tormath1 PR #99 should implement k0s sysext.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind/feature A feature request.
Projects
None yet
Development

No branches or pull requests

4 participants