Skip to content

Semantic Versioning (semver)ΒΆ

The semver rule allows you to define a rule that will be executed when the image is updated with a new semver version. It follows the Semantic Versioning specification. A lot of options are available to match the version you want to update.

  • semver-major: Update the image with the latest major version.
  • semver-minor: Update the image with the latest minor version.
  • semver-patch: Update the image with the latest patch version.

semver-major is the most restrictive and will only update the image when the major version is updated.

Semver rule
version: 1.0.0
Match: >=2.*.* # (1)
  1. πŸ™‹β€β™‚οΈ For more information about the semver range, you can check the semver documentation.

semver-minor is less restrictive and will update the image when the minor version is updated.

Semver rule
version: 1.0.0
Match: >=1.1.* <2 # (1)
  1. πŸ™‹β€β™‚οΈ For more information about the semver range, you can check the semver documentation.

semver-patch is the least restrictive and will update the image when the patch version is updated.

Semver rule
version: 1.0.0
Match: >=1.0.1 <1.1.0 # (1)
  1. πŸ™‹β€β™‚οΈ For more information about the semver range, you can check the semver documentation.

Who to useΒΆ

Create an Image resource with the semver rule.

apiVersion: kimup.cloudavenue.io/v1alpha1
kind: Image
metadata:
  labels:
    app.kubernetes.io/name: kube-image-updater
    app.kubernetes.io/managed-by: kustomize
  name: image-sample-with-auth
spec:
  image: registry.127.0.0.1.nip.io/demo
  baseTag: v0.0.4
  triggers:
    - [...]
  rules:
    - name: Notify when semver major is detected
      type: semver-major
      actions:
        - type: alert-xxx
          [...]
    - name: Automatic update semver minor
      type: semver-minor
      actions:
        - type: apply
    - name: Automatic update semver patch
      type: semver-patch
      actions:
        - type: apply