I’m trying to find a video that demonstrated automated container image updates for Kubernetes, similar to Watchtower for Docker. I believe the video was by @[email protected] but I can’t seem to find it. The closest functionality that I can find to what I recall from the video is k8s-digester. Some key features that were discussed include:

  • Automatically update tagged version number (eg - Image:v1.1.0 -> Image:v1.2.0)
  • Automatically update image based on tagged image’s digest for tags like “latest” or “stable”
  • Track container updates through modified configuration files
    • Ability to manage deploying updates through Git workflows to prevent unwanted updates
  • Minimal (if any) downtime
  • This may not have been in the video, but I believe it also discussed managing backups and rollback functionality as part of the upgrade process

While this tool may be used in a CI/CD pipeline, its not limited exclusively to Git repositories as it could be used to monitor container registries from various people or organizations. The tool/process may have also incorporated Ansible.

If you don’t know which video I’m referring to, do you have any suggestions on how to achieve this functionality?

EDIT: For anyone stumbling on this thread, the video was Meet Renovate - Your Update Automation Bot for Kubernetes and More! by @[email protected], which discusses the Kubernetes tool Renovate.

  • Scott@sh.itjust.works
    link
    fedilink
    English
    arrow-up
    4
    ·
    11 months ago

    For kubernetes you can use keel, allows you to specify what type to of tags to update

    For docker you can use watchtower, will need to read the docs since it uses labels to tell it how to update, but by default will go to the latest available versions

    • rhymepurple@lemmy.mlOP
      link
      fedilink
      English
      arrow-up
      2
      ·
      11 months ago

      Keel looks nearly identical to what I’m looking for. I can’t quite recall how the functionality worked in what I watched, but I believe (one of the ways that) it worked was by creating a new git branch for each update. I see Keel has approval functionality, but I don’t see anything about git integration.

      If you use Keel, do you just rely on Kubernetes deployment versions for update history and other tools for config backups?

      • Scott@sh.itjust.works
        link
        fedilink
        English
        arrow-up
        2
        ·
        11 months ago

        I don’t believe it has any git integration and just updates the deployed manifests directly.

        As far as revision history I’m not certain.

        If you are looking for git integration you might want to look into Argo.

        • rhymepurple@lemmy.mlOP
          link
          fedilink
          English
          arrow-up
          2
          ·
          10 months ago

          I found what I was looking for - Renovate. I was wrong about it making branches (just makes pull requests). Looking into it a little further though, it seems people use Renovate (to automate updates) in conjunction with something like Argo (to automate deployments).

          I think Keel does both of those tasks? I still need to research the similarities/differences of Keel and Renovate a bit further. Thanks again for the recommendation!

    • rhymepurple@lemmy.mlOP
      link
      fedilink
      English
      arrow-up
      1
      ·
      11 months ago

      Is this the Quadlet you mentioned? The repo states it was merged into Podman. It seems pretty similar to the podman-auto-update from the article.

      I wasn’t aware of this functionality, but I don’t think it provides the functionality I’m looking for. I might have missed it in the documentation, but it doesn’t seem to look for new version tag updates.

      For example, Forgejo’s image registry on Codeberg doesn’t have tags like latest, stable, etc. and instead just has semantic versions like 1.19.1, 1.19.2, 1.19.3, 1.20.1, etc. From what I’m seeing, the images wouldn’t auto update unless the tags that omit the bugfix version like 1.19 or 1.20 are used. However, Podman still wouldn’t update across those minor version updates.

      • poVoq@slrpnk.net
        link
        fedilink
        arrow-up
        2
        ·
        11 months ago

        Yes it is integrated now.

        Indeed it is nicer if the container repo provides major version number tags like 1.19, but I would not recommend updating across major version numbers automatically (or use the :latest tag with auto-updates) as the very definition of these are to signify breaking changes, so autoupdating will not work anyway in most cases.