From 2fbded32ac2e1a9c6d67005180ef12386f7635d3 Mon Sep 17 00:00:00 2001 From: Peter Keappock Date: Wed, 25 Feb 2026 11:21:55 +0000 Subject: [PATCH 01/22] add dockerfile.konflux --- Dockerfile.konflux | 45 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 Dockerfile.konflux diff --git a/Dockerfile.konflux b/Dockerfile.konflux new file mode 100644 index 000000000..dc856c910 --- /dev/null +++ b/Dockerfile.konflux @@ -0,0 +1,45 @@ +ARG VERSION="0.5.1" +ARG APP_BUILD_ROOT=/opt/app-root + +FROM registry.redhat.io/ubi9/go-toolset:9.7@sha256:82b82ecf4aedf67c4369849047c2680dba755fe57547bbb05eca211b22038e29 AS builder + +ARG TARGETOS +ARG TARGETARCH +ARG APP_BUILD_ROOT + +## strictfipsruntime does not work with disabling CGO, which is a best practice in this case +# ENV GOEXPERIMENT=strictfipsruntime +ENV APP_ROOT=$APP_BUILD_ROOT +ENV GOPATH=$APP_ROOT + +WORKDIR $APP_ROOT/src/ +COPY go.mod ./ +COPY go.sum ./ +COPY cmd/main.go cmd/main.go +COPY api/ api/ +COPY internal/ internal/ +COPY pkg/ pkg/ +RUN go mod download && \ + CGO_ENABLED=0 GOOS=${TARGETOS:-linux} GOARCH=${TARGETARCH} go build -a -o ${APP_ROOT}/manager cmd/main.go + +FROM registry.access.redhat.com/ubi9/ubi-minimal@sha256:759f5f42d9d6ce2a705e290b7fc549e2d2cd39312c4fa345f93c02e4abb8da95 AS deploy + +ARG VERSION +ARG APP_BUILD_ROOT + +WORKDIR / +COPY --from=builder ${APP_BUILD_ROOT}/manager . +COPY LICENSE /licenses/license.txt +USER 65532:65532 + +ENTRYPOINT ["/manager"] + +LABEL com.redhat.component="odh-workload-variant-autoscaler-controller-rhel9" \ + name="rhoai/odh-workload-variant-autoscaler-controller-rhel9" \ + description="a Kubernetes controller that performs intelligent autoscaling for inference model servers based on saturation" \ + summary="odh-workload-variant-autoscaler-controller" \ + maintainer="['managed-open-data-hub@redhat.com']" \ + io.openshift.expose-services="" \ + io.k8s.display-name="odh-workload-variant-autoscaler-controller" \ + io.k8s.description="odh-workload-variant-autoscaler-controller" \ + com.redhat.license_terms="https://www.redhat.com/licenses/Red_Hat_Standard_EULA_20191108.pdf" \ No newline at end of file From c4e8b34f33d6b707c26255afe0ecb107a968eec5 Mon Sep 17 00:00:00 2001 From: "rhods-devops-app[bot]" <131765678+rhods-devops-app[bot]@users.noreply.github.com> Date: Thu, 26 Feb 2026 11:29:51 +0000 Subject: [PATCH 02/22] sync config with renovate-central --- .github/renovate.json | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 .github/renovate.json diff --git a/.github/renovate.json b/.github/renovate.json new file mode 100644 index 000000000..281db416f --- /dev/null +++ b/.github/renovate.json @@ -0,0 +1,6 @@ +{ + "$schema": "https://docs.renovatebot.com/renovate-schema.json", + "extends": [ + "github>red-hat-data-services/konflux-central//renovate/default-renovate.json" + ] +} From cf809039548601158f646453df6ec36601c2c6af Mon Sep 17 00:00:00 2001 From: "konflux-internal-p02[bot]" <170854209+konflux-internal-p02[bot]@users.noreply.github.com> Date: Thu, 26 Feb 2026 13:17:00 +0000 Subject: [PATCH 03/22] chore(deps): update dockerfile digest updates (#21) Signed-off-by: konflux-internal-p02 <170854209+konflux-internal-p02[bot]@users.noreply.github.com> Co-authored-by: konflux-internal-p02[bot] <170854209+konflux-internal-p02[bot]@users.noreply.github.com> --- Dockerfile.konflux | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Dockerfile.konflux b/Dockerfile.konflux index dc856c910..47f45197f 100644 --- a/Dockerfile.konflux +++ b/Dockerfile.konflux @@ -1,7 +1,7 @@ ARG VERSION="0.5.1" ARG APP_BUILD_ROOT=/opt/app-root -FROM registry.redhat.io/ubi9/go-toolset:9.7@sha256:82b82ecf4aedf67c4369849047c2680dba755fe57547bbb05eca211b22038e29 AS builder +FROM registry.redhat.io/ubi9/go-toolset:9.7@sha256:799cc027d5ad58cdc156b65286eb6389993ec14c496cf748c09834b7251e78dc AS builder ARG TARGETOS ARG TARGETARCH @@ -22,7 +22,7 @@ COPY pkg/ pkg/ RUN go mod download && \ CGO_ENABLED=0 GOOS=${TARGETOS:-linux} GOARCH=${TARGETARCH} go build -a -o ${APP_ROOT}/manager cmd/main.go -FROM registry.access.redhat.com/ubi9/ubi-minimal@sha256:759f5f42d9d6ce2a705e290b7fc549e2d2cd39312c4fa345f93c02e4abb8da95 AS deploy +FROM registry.access.redhat.com/ubi9/ubi-minimal@sha256:c7d44146f826037f6873d99da479299b889473492d3c1ab8af86f08af04ec8a0 AS deploy ARG VERSION ARG APP_BUILD_ROOT From 6d43f5464a12733028394b97f11a967a9ee37a34 Mon Sep 17 00:00:00 2001 From: "konflux-internal-p02[bot]" <170854209+konflux-internal-p02[bot]@users.noreply.github.com> Date: Mon, 2 Mar 2026 05:32:52 +0000 Subject: [PATCH 04/22] chore(deps): update registry.redhat.io/ubi9/go-toolset:9.7 docker digest to 3efce46 (#23) Signed-off-by: konflux-internal-p02 <170854209+konflux-internal-p02[bot]@users.noreply.github.com> Co-authored-by: konflux-internal-p02[bot] <170854209+konflux-internal-p02[bot]@users.noreply.github.com> --- Dockerfile.konflux | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile.konflux b/Dockerfile.konflux index 47f45197f..09b0e12fb 100644 --- a/Dockerfile.konflux +++ b/Dockerfile.konflux @@ -1,7 +1,7 @@ ARG VERSION="0.5.1" ARG APP_BUILD_ROOT=/opt/app-root -FROM registry.redhat.io/ubi9/go-toolset:9.7@sha256:799cc027d5ad58cdc156b65286eb6389993ec14c496cf748c09834b7251e78dc AS builder +FROM registry.redhat.io/ubi9/go-toolset:9.7@sha256:3efce4620be592211a75d648d13c691fd4354c81d44e996371f27faeb66bdeae AS builder ARG TARGETOS ARG TARGETARCH From 3305429c1ed30a57e4753101ab1aff91ba30e05b Mon Sep 17 00:00:00 2001 From: "konflux-internal-p02[bot]" <170854209+konflux-internal-p02[bot]@users.noreply.github.com> Date: Mon, 2 Mar 2026 17:45:07 +0000 Subject: [PATCH 05/22] chore(deps): update registry.redhat.io/ubi9/go-toolset:9.7 docker digest to b3b98e0 (#24) Signed-off-by: konflux-internal-p02 <170854209+konflux-internal-p02[bot]@users.noreply.github.com> Co-authored-by: konflux-internal-p02[bot] <170854209+konflux-internal-p02[bot]@users.noreply.github.com> --- Dockerfile.konflux | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile.konflux b/Dockerfile.konflux index 09b0e12fb..58b2d97c0 100644 --- a/Dockerfile.konflux +++ b/Dockerfile.konflux @@ -1,7 +1,7 @@ ARG VERSION="0.5.1" ARG APP_BUILD_ROOT=/opt/app-root -FROM registry.redhat.io/ubi9/go-toolset:9.7@sha256:3efce4620be592211a75d648d13c691fd4354c81d44e996371f27faeb66bdeae AS builder +FROM registry.redhat.io/ubi9/go-toolset:9.7@sha256:b3b98e0b21ddbb979d968ca319b8eebdca121e30d58994072cbf99ce86e5d24e AS builder ARG TARGETOS ARG TARGETARCH From d19c2ff2243b97e5ec5293458151a2f752ae01d9 Mon Sep 17 00:00:00 2001 From: "konflux-internal-p02[bot]" <170854209+konflux-internal-p02[bot]@users.noreply.github.com> Date: Thu, 5 Mar 2026 21:49:41 +0000 Subject: [PATCH 06/22] chore(deps): update registry.redhat.io/ubi9/go-toolset:9.7 docker digest to e421039 (#28) Signed-off-by: konflux-internal-p02 <170854209+konflux-internal-p02[bot]@users.noreply.github.com> Co-authored-by: konflux-internal-p02[bot] <170854209+konflux-internal-p02[bot]@users.noreply.github.com> --- Dockerfile.konflux | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile.konflux b/Dockerfile.konflux index 58b2d97c0..7da84c268 100644 --- a/Dockerfile.konflux +++ b/Dockerfile.konflux @@ -1,7 +1,7 @@ ARG VERSION="0.5.1" ARG APP_BUILD_ROOT=/opt/app-root -FROM registry.redhat.io/ubi9/go-toolset:9.7@sha256:b3b98e0b21ddbb979d968ca319b8eebdca121e30d58994072cbf99ce86e5d24e AS builder +FROM registry.redhat.io/ubi9/go-toolset:9.7@sha256:e4210398439060b5e7bbea2dc5ee532b3b85911e64924c3a81a645553c2ab240 AS builder ARG TARGETOS ARG TARGETARCH From 928452aa4af383f614b8b0cd442cb528e926b134 Mon Sep 17 00:00:00 2001 From: "konflux-internal-p02[bot]" <170854209+konflux-internal-p02[bot]@users.noreply.github.com> Date: Mon, 9 Mar 2026 06:07:27 +0000 Subject: [PATCH 07/22] chore(deps): update registry.redhat.io/ubi9/go-toolset:9.7 docker digest to 71101fd (#32) Signed-off-by: konflux-internal-p02 <170854209+konflux-internal-p02[bot]@users.noreply.github.com> Co-authored-by: konflux-internal-p02[bot] <170854209+konflux-internal-p02[bot]@users.noreply.github.com> --- Dockerfile.konflux | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile.konflux b/Dockerfile.konflux index 7da84c268..8741f7b10 100644 --- a/Dockerfile.konflux +++ b/Dockerfile.konflux @@ -1,7 +1,7 @@ ARG VERSION="0.5.1" ARG APP_BUILD_ROOT=/opt/app-root -FROM registry.redhat.io/ubi9/go-toolset:9.7@sha256:e4210398439060b5e7bbea2dc5ee532b3b85911e64924c3a81a645553c2ab240 AS builder +FROM registry.redhat.io/ubi9/go-toolset:9.7@sha256:71101fd9ba32aabeaec2c073e5786c91642aaee902475fce3d8280457fb19e9d AS builder ARG TARGETOS ARG TARGETARCH From a9f9ed252f7c960a012c57a0974e55beed6ff895 Mon Sep 17 00:00:00 2001 From: "konflux-internal-p02[bot]" <170854209+konflux-internal-p02[bot]@users.noreply.github.com> Date: Tue, 10 Mar 2026 02:04:09 +0000 Subject: [PATCH 08/22] chore(deps): update registry.redhat.io/ubi9/go-toolset:9.7 docker digest to 6da1160 (#35) Signed-off-by: konflux-internal-p02 <170854209+konflux-internal-p02[bot]@users.noreply.github.com> Co-authored-by: konflux-internal-p02[bot] <170854209+konflux-internal-p02[bot]@users.noreply.github.com> --- Dockerfile.konflux | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile.konflux b/Dockerfile.konflux index 8741f7b10..0ccf900c8 100644 --- a/Dockerfile.konflux +++ b/Dockerfile.konflux @@ -1,7 +1,7 @@ ARG VERSION="0.5.1" ARG APP_BUILD_ROOT=/opt/app-root -FROM registry.redhat.io/ubi9/go-toolset:9.7@sha256:71101fd9ba32aabeaec2c073e5786c91642aaee902475fce3d8280457fb19e9d AS builder +FROM registry.redhat.io/ubi9/go-toolset:9.7@sha256:6da1160c0e8da15b585560ac6ef7b0179f17686aeaaa477ead6427daf8948fea AS builder ARG TARGETOS ARG TARGETARCH From cc74c375cd825ef210d7c2d9bdb8f93dfbfe64af Mon Sep 17 00:00:00 2001 From: "konflux-internal-p02[bot]" <170854209+konflux-internal-p02[bot]@users.noreply.github.com> Date: Wed, 11 Mar 2026 13:50:54 +0000 Subject: [PATCH 09/22] chore(deps): update registry.access.redhat.com/ubi9/ubi-minimal docker digest to 69f5c98 (#36) Signed-off-by: konflux-internal-p02 <170854209+konflux-internal-p02[bot]@users.noreply.github.com> Co-authored-by: konflux-internal-p02[bot] <170854209+konflux-internal-p02[bot]@users.noreply.github.com> --- Dockerfile.konflux | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile.konflux b/Dockerfile.konflux index 0ccf900c8..503d65cd7 100644 --- a/Dockerfile.konflux +++ b/Dockerfile.konflux @@ -22,7 +22,7 @@ COPY pkg/ pkg/ RUN go mod download && \ CGO_ENABLED=0 GOOS=${TARGETOS:-linux} GOARCH=${TARGETARCH} go build -a -o ${APP_ROOT}/manager cmd/main.go -FROM registry.access.redhat.com/ubi9/ubi-minimal@sha256:c7d44146f826037f6873d99da479299b889473492d3c1ab8af86f08af04ec8a0 AS deploy +FROM registry.access.redhat.com/ubi9/ubi-minimal@sha256:69f5c9886ecb19b23e88275a5cd904c47dd982dfa370fbbd0c356d7b1047ef68 AS deploy ARG VERSION ARG APP_BUILD_ROOT From 1a988c1e31e330fd700776d832cf12b4768c4a30 Mon Sep 17 00:00:00 2001 From: Mohammed Munir Abdi Date: Tue, 3 Mar 2026 13:07:55 -0500 Subject: [PATCH 10/22] update wva image after repo graduate (#833) Signed-off-by: Mohammed Abdi (cherry picked from commit affba3885d738491deacfad363dec4923df143e5) --- Makefile | 2 +- deploy/install.sh | 2 +- deploy/kind-emulator/README.md | 2 +- deploy/kubernetes/README.md | 4 ++-- docs/user-guide/installation.md | 4 ++-- 5 files changed, 7 insertions(+), 7 deletions(-) diff --git a/Makefile b/Makefile index 5bb16547f..8de703721 100644 --- a/Makefile +++ b/Makefile @@ -1,7 +1,7 @@ # Image URL to use all building/pushing image targets IMAGE_TAG_BASE ?= ghcr.io/llm-d IMG_TAG ?= latest -IMG ?= $(IMAGE_TAG_BASE)/workload-variant-autoscaler:$(IMG_TAG) +IMG ?= $(IMAGE_TAG_BASE)/llm-d-workload-variant-autoscaler:$(IMG_TAG) KIND_ARGS ?= -t mix -n 3 -g 2 # Default: 3 nodes, 2 GPUs per node, mixed vendors CLUSTER_GPU_TYPE ?= nvidia-mix CLUSTER_NODES ?= 3 diff --git a/deploy/install.sh b/deploy/install.sh index 6a59dc677..a8785ad39 100755 --- a/deploy/install.sh +++ b/deploy/install.sh @@ -246,7 +246,7 @@ Examples: $(basename "$0") # Deploy with custom WVA image - IMG=/workload-variant-autoscaler:tag $(basename "$0") + IMG=/llm-d-workload-variant-autoscaler:tag $(basename "$0") # Deploy with custom model and accelerator $(basename "$0") -m unsloth/Meta-Llama-3.1-8B -a A100 diff --git a/deploy/kind-emulator/README.md b/deploy/kind-emulator/README.md index 23c63c930..7674d61b7 100644 --- a/deploy/kind-emulator/README.md +++ b/deploy/kind-emulator/README.md @@ -293,7 +293,7 @@ KIND_IMAGE_PLATFORM=linux/arm64 make deploy-wva-emulated-on-kind CREATE_CLUSTER= Alternatively, build the image locally and deploy with `IfNotPresent` so the script skips the registry pull and loads your local single-platform image: ```bash -make docker-build IMG=ghcr.io/llm-d/workload-variant-autoscaler:latest +make docker-build IMG=ghcr.io/llm-d/llm-d-workload-variant-autoscaler:latest WVA_IMAGE_PULL_POLICY=IfNotPresent make deploy-wva-emulated-on-kind CREATE_CLUSTER=true DEPLOY_LLM_D=true ``` diff --git a/deploy/kubernetes/README.md b/deploy/kubernetes/README.md index c2d1a7c26..3e37f9f4b 100644 --- a/deploy/kubernetes/README.md +++ b/deploy/kubernetes/README.md @@ -183,7 +183,7 @@ make deploy-wva-on-k8s ```bash export HF_TOKEN="hf_xxxxx" -export IMG="ghcr.io/yourorg/workload-variant-autoscaler:latest" +export IMG="ghcr.io/yourorg/llm-d-workload-variant-autoscaler:latest" make deploy-wva-on-k8s ``` @@ -657,7 +657,7 @@ kubectl set env deployment/workload-variant-autoscaler-controller-manager \ ### Update WVA Image ```bash -export WVA_IMAGE="ghcr.io/yourorg/workload-variant-autoscaler:custom-tag" +export WVA_IMAGE="ghcr.io/yourorg/llm-d-workload-variant-autoscaler:custom-tag" export DEPLOY_LLM_D=false # Don't redeploy llm-d export DEPLOY_PROMETHEUS=false # Don't redeploy Prometheus make deploy-wva-on-k8s diff --git a/docs/user-guide/installation.md b/docs/user-guide/installation.md index 0fe21906c..1f441aec6 100644 --- a/docs/user-guide/installation.md +++ b/docs/user-guide/installation.md @@ -28,7 +28,7 @@ Using kustomize for more control: make install # Deploy the controller -make deploy IMG=quay.io/llm-d/workload-variant-autoscaler:latest +make deploy IMG=quay.io/llm-d/llm-d-workload-variant-autoscaler:latest ``` ### Option 3: Local Development (Kind Emulator): @@ -44,7 +44,7 @@ Key configuration options: ```yaml # custom-values.yaml image: - repository: quay.io/llm-d/workload-variant-autoscaler + repository: quay.io/llm-d/llm-d-workload-variant-autoscaler tag: latest pullPolicy: IfNotPresent From 44f2f16d2f9c2ee6d264112c86b9549cb10d4b31 Mon Sep 17 00:00:00 2001 From: Mohammed Munir Abdi Date: Wed, 4 Mar 2026 12:51:57 -0500 Subject: [PATCH 11/22] update helm version in repo (#841) Signed-off-by: Mohammed Abdi (cherry picked from commit 35808f17d200300c8bbd0a6195654b3544ac4713) --- .github/workflows/helm-release.yaml | 22 +++++++++---------- README.md | 2 +- charts/workload-variant-autoscaler/Chart.yaml | 4 ++-- charts/workload-variant-autoscaler/README.md | 11 ++++++++-- .../workload-variant-autoscaler/values.yaml | 2 +- config/manager/kustomization.yaml | 2 +- docs/saturation-analyzer.md | 1 - 7 files changed, 25 insertions(+), 19 deletions(-) diff --git a/.github/workflows/helm-release.yaml b/.github/workflows/helm-release.yaml index 1800b755f..dbaf6c303 100644 --- a/.github/workflows/helm-release.yaml +++ b/.github/workflows/helm-release.yaml @@ -167,18 +167,20 @@ jobs: -f visibility='public' || echo "::warning::Could not set chart package to public — may need manual update" # ----------------------------------------- - # 11. Commit updated chart files + # 11. Commit updated chart files back to default branch # ----------------------------------------- - name: Commit updated Helm chart files env: GITHUB_TOKEN: ${{ github.token }} run: | + CHART_DIR="charts/workload-variant-autoscaler" + # Save release-patched chart files (they are lost when we checkout default branch) + cp "$CHART_DIR/Chart.yaml" Chart.yaml.release + cp "$CHART_DIR/values.yaml" values.yaml.release + # Configure Git user to match the person who triggered the release - # This ensures each person is responsible for their own release commits git config user.name "${{ github.actor }}" git config user.email "${{ github.actor }}@users.noreply.github.com" - - # Configure remote to use github.token (belongs to the person who triggered workflow) git remote set-url origin https://${{ github.token }}@github.com/${{ github.repository }}.git # Checkout the default branch (we're in detached HEAD from tag checkout) @@ -186,15 +188,13 @@ jobs: DEFAULT_BRANCH=$(git remote show origin | grep "HEAD branch" | cut -d' ' -f5 || echo "main") git checkout $DEFAULT_BRANCH git pull origin $DEFAULT_BRANCH - - # Stage changes - git add charts/workload-variant-autoscaler/Chart.yaml - git add charts/workload-variant-autoscaler/values.yaml - # Commit with message showing who created the release + # Restore the release version into the repo so the commit updates the chart + cp Chart.yaml.release "$CHART_DIR/Chart.yaml" + cp values.yaml.release "$CHART_DIR/values.yaml" + + git add "$CHART_DIR/Chart.yaml" "$CHART_DIR/values.yaml" COMMIT_MSG="Release ${{ steps.version.outputs.tag }}: update Chart.yaml and values.yaml" git commit -m "$COMMIT_MSG" || echo "No changes to commit" - # Push directly to main (bypass enabled via role-based permissions) - # The person who triggered the workflow must have Write/Maintain role with bypass git push origin $DEFAULT_BRANCH || echo "Push failed - ensure your role has bypass permissions" diff --git a/README.md b/README.md index f04c159f6..75ac611e6 100644 --- a/README.md +++ b/README.md @@ -133,7 +133,7 @@ helm upgrade workload-variant-autoscaler ./charts/workload-variant-autoscaler \ ### Breaking Changes -#### v0.5.0 (upcoming) +#### v0.5.1 - **VariantAutoscaling CRD**: Added `scaleTargetRef` field as **required**. v0.4.1 VariantAutoscaling resources without `scaleTargetRef` must be updated before upgrading: - **Impact on Scale-to-Zero**: VAs without `scaleTargetRef` will not scale to zero properly, even with HPAScaleToZero enabled and HPA `minReplicas: 0`, because the HPA cannot reference the target deployment. - **Migration**: Update existing VAs to include `scaleTargetRef`: diff --git a/charts/workload-variant-autoscaler/Chart.yaml b/charts/workload-variant-autoscaler/Chart.yaml index 7bed44a4b..272d23b2c 100644 --- a/charts/workload-variant-autoscaler/Chart.yaml +++ b/charts/workload-variant-autoscaler/Chart.yaml @@ -2,5 +2,5 @@ apiVersion: v2 name: workload-variant-autoscaler description: Helm chart for Workload-Variant-Autoscaler (WVA) - GPU-aware autoscaler for LLM inference workloads type: application -version: 0.5.0 -appVersion: "v0.5.0" +version: 0.5.1 +appVersion: "v0.5.1" diff --git a/charts/workload-variant-autoscaler/README.md b/charts/workload-variant-autoscaler/README.md index ed5a4be11..552168030 100644 --- a/charts/workload-variant-autoscaler/README.md +++ b/charts/workload-variant-autoscaler/README.md @@ -1,9 +1,16 @@ # workload-variant-autoscaler -![Version: 0.4.1](https://img.shields.io/badge/Version-0.4.1-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: v0.4.1](https://img.shields.io/badge/AppVersion-v0.4.1-informational?style=flat-square) +![Version: 0.5.1](https://img.shields.io/badge/Version-0.5.1-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: v0.5.1](https://img.shields.io/badge/AppVersion-v0.5.1-informational?style=flat-square) Helm chart for Workload-Variant-Autoscaler (WVA) - GPU-aware autoscaler for LLM inference workloads +### Chart registry (OCI) + +The chart is published to GitHub Container Registry under the **llm-d** org (not llm-d-incubation). Use this OCI URL in Helm or Helmfile: + +- **OCI URL:** `oci://ghcr.io/llm-d/workload-variant-autoscaler` +- **Example:** `helm pull oci://ghcr.io/llm-d/workload-variant-autoscaler --version 0.5.1` + ## Installation (OpenShift) Helm is the recommended installation method. Before running, be sure to delete all previous helm installations for `workload-variant-autoscaler` and `prometheus-adapter`. To list all helm charts installed in the cluster run `helm ls -A`. @@ -11,7 +18,7 @@ Helm is the recommended installation method. Before running, be sure to delete a ``` export OWNER="llm-d" export WVA_PROJECT="llm-d-workload-variant-autoscaler" -export WVA_RELEASE="v0.5.0" +export WVA_RELEASE="v0.5.1" export WVA_NS="workload-variant-autoscaler-system" export MON_NS="openshift-user-workload-monitoring" diff --git a/charts/workload-variant-autoscaler/values.yaml b/charts/workload-variant-autoscaler/values.yaml index dc8870170..3275c5536 100644 --- a/charts/workload-variant-autoscaler/values.yaml +++ b/charts/workload-variant-autoscaler/values.yaml @@ -9,7 +9,7 @@ wva: image: repository: ghcr.io/llm-d/llm-d-workload-variant-autoscaler - tag: v0.5.0 + tag: v0.5.1 imagePullPolicy: Always metrics: diff --git a/config/manager/kustomization.yaml b/config/manager/kustomization.yaml index 2c3844b53..245e4b847 100644 --- a/config/manager/kustomization.yaml +++ b/config/manager/kustomization.yaml @@ -7,4 +7,4 @@ kind: Kustomization images: - name: controller newName: ghcr.io/llm-d/llm-d-workload-variant-autoscaler - newTag: v0.4.1 + newTag: v0.5.1 diff --git a/docs/saturation-analyzer.md b/docs/saturation-analyzer.md index a64a0356a..82c9f74a5 100644 --- a/docs/saturation-analyzer.md +++ b/docs/saturation-analyzer.md @@ -1,4 +1,3 @@ -# NOTE: we are currently updating the documentation to be aligned with the 0.4.0 release # Saturation Analyzer ## Overview From 750b95ff310d98d727466f74ef9045d3c194ee46 Mon Sep 17 00:00:00 2001 From: Wen Zhou Date: Fri, 6 Mar 2026 11:58:03 +0100 Subject: [PATCH 12/22] fix: cert name and make mount for optional - keep only one replica for deployment via Kustomize - add serect for SA as optional for mount - if our EPP disable --metrics-endpoint-auth then no need it - by default GIE set true, so we need it otherwise will failed to get metrics - fix cert from CM openshift-service-ca.crt - add missing RBAC on inferencepool and deployment/scale - add missing rolebinding on controller for the monitoring view Signed-off-by: Wen Zhou Signed-off-by: Wen Zhou (cherry picked from commit d442a768694113608c0b488039b775be95442316) (cherry picked from commit df8059daa2cc0cf5e5ef7ed62032e9d5fc3c4be5) --- config/manager/manager.yaml | 3 ++- .../cluster-monitoring-view-binding.yaml | 12 ++++++++++++ config/openshift/epp-metrics-token-patch.yaml | 7 +++++++ config/openshift/epp-metrics-volume-patch.yaml | 14 ++++++++++++++ config/openshift/kustomization.yaml | 9 +++++++++ config/openshift/prometheus-patch.yaml | 12 ++++++------ config/rbac/role.yaml | 16 ++++++++++++++++ .../controller/variantautoscaling_controller.go | 2 ++ 8 files changed, 68 insertions(+), 7 deletions(-) create mode 100644 config/openshift/cluster-monitoring-view-binding.yaml create mode 100644 config/openshift/epp-metrics-token-patch.yaml create mode 100644 config/openshift/epp-metrics-volume-patch.yaml diff --git a/config/manager/manager.yaml b/config/manager/manager.yaml index 90fafcbc0..977928506 100644 --- a/config/manager/manager.yaml +++ b/config/manager/manager.yaml @@ -21,7 +21,8 @@ spec: matchLabels: control-plane: controller-manager app.kubernetes.io/name: workload-variant-autoscaler - replicas: 2 + # to reduce resource usage in OCP, set replica to 1 but keep it 2 in chart + replicas: 1 template: metadata: annotations: diff --git a/config/openshift/cluster-monitoring-view-binding.yaml b/config/openshift/cluster-monitoring-view-binding.yaml new file mode 100644 index 000000000..40a76af2b --- /dev/null +++ b/config/openshift/cluster-monitoring-view-binding.yaml @@ -0,0 +1,12 @@ +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRoleBinding +metadata: + name: workload-variant-autoscaler-cluster-monitoring-view +roleRef: + apiGroup: rbac.authorization.k8s.io + kind: ClusterRole + name: cluster-monitoring-view +subjects: +- kind: ServiceAccount + name: controller-manager + namespace: system # replaced by the namespace in kustomization.yaml diff --git a/config/openshift/epp-metrics-token-patch.yaml b/config/openshift/epp-metrics-token-patch.yaml new file mode 100644 index 000000000..ce9ef746a --- /dev/null +++ b/config/openshift/epp-metrics-token-patch.yaml @@ -0,0 +1,7 @@ +apiVersion: v1 +kind: Secret +metadata: + name: epp-metrics-token + namespace: system + annotations: + kubernetes.io/service-account.name: workload-variant-autoscaler-epp-metrics-reader diff --git a/config/openshift/epp-metrics-volume-patch.yaml b/config/openshift/epp-metrics-volume-patch.yaml new file mode 100644 index 000000000..e1dd282b3 --- /dev/null +++ b/config/openshift/epp-metrics-volume-patch.yaml @@ -0,0 +1,14 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: controller-manager + namespace: system +spec: + template: + spec: + volumes: + - name: epp-metrics-token + secret: + secretName: epp-metrics-token + defaultMode: 420 + optional: true # wont fail deployment if secret doest not exist diff --git a/config/openshift/kustomization.yaml b/config/openshift/kustomization.yaml index cbd14bac1..923e838b3 100644 --- a/config/openshift/kustomization.yaml +++ b/config/openshift/kustomization.yaml @@ -3,6 +3,7 @@ kind: Kustomization resources: - ../default +- cluster-monitoring-view-binding.yaml patches: - path: configmap-patch.yaml @@ -13,5 +14,13 @@ patches: target: kind: Deployment name: controller-manager +- path: epp-metrics-token-patch.yaml + target: + kind: Secret + name: epp-metrics-token +- path: epp-metrics-volume-patch.yaml + target: + kind: Deployment + name: controller-manager namespace: workload-variant-autoscaler-system diff --git a/config/openshift/prometheus-patch.yaml b/config/openshift/prometheus-patch.yaml index 9bcd7f0d6..826a83f15 100644 --- a/config/openshift/prometheus-patch.yaml +++ b/config/openshift/prometheus-patch.yaml @@ -12,7 +12,7 @@ spec: - name: PROMETHEUS_TOKEN_PATH value: "/var/run/secrets/kubernetes.io/serviceaccount/token" - name: PROMETHEUS_CA_CERT_PATH - value: "/etc/openshift-ca/ca.crt" + value: "/etc/openshift-service-ca/service-ca.crt" - name: PROMETHEUS_CLIENT_CERT_PATH value: "" - name: PROMETHEUS_CLIENT_KEY_PATH @@ -21,12 +21,12 @@ spec: value: "thanos-querier.openshift-monitoring.svc" volumeMounts: - name: openshift-service-ca - mountPath: /etc/openshift-ca + mountPath: /etc/openshift-service-ca readOnly: true volumes: - name: openshift-service-ca - secret: - secretName: openshift-service-ca + configMap: + name: openshift-service-ca.crt items: - - key: ca.crt - path: ca.crt \ No newline at end of file + - key: service-ca.crt + path: service-ca.crt \ No newline at end of file diff --git a/config/rbac/role.yaml b/config/rbac/role.yaml index 82709e18b..3c1822304 100644 --- a/config/rbac/role.yaml +++ b/config/rbac/role.yaml @@ -58,6 +58,13 @@ rules: - patch - update - watch +- apiGroups: + - apps + resources: + - deployments/scale + verbs: + - get + - update - apiGroups: - apps resources: @@ -66,6 +73,15 @@ rules: - get - list - watch +- apiGroups: + - inference.networking.k8s.io + - inference.networking.x-k8s.io + resources: + - inferencepools + verbs: + - get + - list + - watch - apiGroups: - llmd.ai resources: diff --git a/internal/controller/variantautoscaling_controller.go b/internal/controller/variantautoscaling_controller.go index 234b4c542..b8f56338f 100644 --- a/internal/controller/variantautoscaling_controller.go +++ b/internal/controller/variantautoscaling_controller.go @@ -71,6 +71,8 @@ type VariantAutoscalingReconciler struct { // +kubebuilder:rbac:groups="",resources=namespaces,verbs=get;list;watch // Note: Namespace watch permission is required for label-based namespace opt-in for namespace-local ConfigMaps. // +kubebuilder:rbac:groups=monitoring.coreos.com,resources=servicemonitors,verbs=get;list;watch +// +kubebuilder:rbac:groups=inference.networking.x-k8s.io;inference.networking.k8s.io,resources=inferencepools,verbs=get;watch;list +// +kubebuilder:rbac:groups=apps,resources=deployments/scale,verbs=get;update // +kubebuilder:rbac:groups="",resources=events,verbs=create;patch const ( From b022e9cf604269b0931743f26c14c7724038085a Mon Sep 17 00:00:00 2001 From: Wen Zhou Date: Fri, 6 Mar 2026 13:33:13 +0100 Subject: [PATCH 13/22] update: code review - remove replica set in the deployment - make mount not optional - use existing path in the pod, skip configmap and mount Signed-off-by: Wen Zhou (cherry picked from commit a5b8c3270ac930677270daaeb60d935bb7f84060) (cherry picked from commit 0c725d0e5c35b7aac301afcffa0df329684bc030) --- config/manager/manager.yaml | 3 +-- config/openshift/epp-metrics-volume-patch.yaml | 1 - config/openshift/prometheus-patch.yaml | 15 ++------------- 3 files changed, 3 insertions(+), 16 deletions(-) diff --git a/config/manager/manager.yaml b/config/manager/manager.yaml index 977928506..c21d7d454 100644 --- a/config/manager/manager.yaml +++ b/config/manager/manager.yaml @@ -21,8 +21,7 @@ spec: matchLabels: control-plane: controller-manager app.kubernetes.io/name: workload-variant-autoscaler - # to reduce resource usage in OCP, set replica to 1 but keep it 2 in chart - replicas: 1 + # k8s defaults to 1 replica, omit config here, but keep replica 2 in chart template: metadata: annotations: diff --git a/config/openshift/epp-metrics-volume-patch.yaml b/config/openshift/epp-metrics-volume-patch.yaml index e1dd282b3..4eb6b88a6 100644 --- a/config/openshift/epp-metrics-volume-patch.yaml +++ b/config/openshift/epp-metrics-volume-patch.yaml @@ -11,4 +11,3 @@ spec: secret: secretName: epp-metrics-token defaultMode: 420 - optional: true # wont fail deployment if secret doest not exist diff --git a/config/openshift/prometheus-patch.yaml b/config/openshift/prometheus-patch.yaml index 826a83f15..d7d5fc107 100644 --- a/config/openshift/prometheus-patch.yaml +++ b/config/openshift/prometheus-patch.yaml @@ -12,21 +12,10 @@ spec: - name: PROMETHEUS_TOKEN_PATH value: "/var/run/secrets/kubernetes.io/serviceaccount/token" - name: PROMETHEUS_CA_CERT_PATH - value: "/etc/openshift-service-ca/service-ca.crt" + value: "/var/run/secrets/kubernetes.io/serviceaccount/service-ca.crt" - name: PROMETHEUS_CLIENT_CERT_PATH value: "" - name: PROMETHEUS_CLIENT_KEY_PATH value: "" - name: PROMETHEUS_SERVER_NAME - value: "thanos-querier.openshift-monitoring.svc" - volumeMounts: - - name: openshift-service-ca - mountPath: /etc/openshift-service-ca - readOnly: true - volumes: - - name: openshift-service-ca - configMap: - name: openshift-service-ca.crt - items: - - key: service-ca.crt - path: service-ca.crt \ No newline at end of file + value: "thanos-querier.openshift-monitoring.svc" \ No newline at end of file From 9d899ca9c1b0634dc908b5091af2ed730ffb0023 Mon Sep 17 00:00:00 2001 From: Wen Zhou Date: Tue, 10 Mar 2026 18:30:11 +0100 Subject: [PATCH 14/22] update: code review - remove comments Signed-off-by: Wen Zhou (cherry picked from commit 1f6c90f56e1e4adc7d1ba616c04e88d97dc3ce86) (cherry picked from commit b7f6aa37539dfdfb499d2be57ef9f14f6406b95e) --- config/manager/manager.yaml | 1 - 1 file changed, 1 deletion(-) diff --git a/config/manager/manager.yaml b/config/manager/manager.yaml index c21d7d454..8c9d13d01 100644 --- a/config/manager/manager.yaml +++ b/config/manager/manager.yaml @@ -21,7 +21,6 @@ spec: matchLabels: control-plane: controller-manager app.kubernetes.io/name: workload-variant-autoscaler - # k8s defaults to 1 replica, omit config here, but keep replica 2 in chart template: metadata: annotations: From d52164ac316ac9cca8d3c681d971dd9d0062f4fb Mon Sep 17 00:00:00 2001 From: "konflux-internal-p02[bot]" <170854209+konflux-internal-p02[bot]@users.noreply.github.com> Date: Thu, 12 Mar 2026 14:27:53 +0000 Subject: [PATCH 15/22] chore(deps): update registry.redhat.io/ubi9/go-toolset:9.7 docker digest to 3cdf0d1 (#42) Signed-off-by: konflux-internal-p02 <170854209+konflux-internal-p02[bot]@users.noreply.github.com> Co-authored-by: konflux-internal-p02[bot] <170854209+konflux-internal-p02[bot]@users.noreply.github.com> --- Dockerfile.konflux | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile.konflux b/Dockerfile.konflux index 503d65cd7..21a063a15 100644 --- a/Dockerfile.konflux +++ b/Dockerfile.konflux @@ -1,7 +1,7 @@ ARG VERSION="0.5.1" ARG APP_BUILD_ROOT=/opt/app-root -FROM registry.redhat.io/ubi9/go-toolset:9.7@sha256:6da1160c0e8da15b585560ac6ef7b0179f17686aeaaa477ead6427daf8948fea AS builder +FROM registry.redhat.io/ubi9/go-toolset:9.7@sha256:3cdf0d1e8d8601c89fe3070d7aa63a54d1aaf049ba55fba314f6358b1d95a2f9 AS builder ARG TARGETOS ARG TARGETARCH From 3105d1c006094568808cc3ffd518500c522187df Mon Sep 17 00:00:00 2001 From: Wen Zhou Date: Thu, 12 Mar 2026 10:18:50 +0100 Subject: [PATCH 16/22] update: for ODH and RHDS we need bypass reconcile by Operator on configmap --- config/manager/configmap-saturation-scaling.yaml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/config/manager/configmap-saturation-scaling.yaml b/config/manager/configmap-saturation-scaling.yaml index 040c215af..c0827ed48 100644 --- a/config/manager/configmap-saturation-scaling.yaml +++ b/config/manager/configmap-saturation-scaling.yaml @@ -13,6 +13,8 @@ metadata: labels: app.kubernetes.io/name: workload-variant-autoscaler app.kubernetes.io/managed-by: kustomize + annotations: + opendatahub.io/managed: "false" data: # Global defaults applied to all variants unless overridden default: | From e14611c0017516f0036c41e7d51795c482f454eb Mon Sep 17 00:00:00 2001 From: "konflux-internal-p02[bot]" <170854209+konflux-internal-p02[bot]@users.noreply.github.com> Date: Wed, 18 Mar 2026 18:24:03 +0000 Subject: [PATCH 17/22] chore(deps): update registry.redhat.io/ubi9/go-toolset:9.7 docker digest to 8b211cc (#46) Signed-off-by: konflux-internal-p02 <170854209+konflux-internal-p02[bot]@users.noreply.github.com> Co-authored-by: konflux-internal-p02[bot] <170854209+konflux-internal-p02[bot]@users.noreply.github.com> --- Dockerfile.konflux | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile.konflux b/Dockerfile.konflux index 21a063a15..9fb65dab1 100644 --- a/Dockerfile.konflux +++ b/Dockerfile.konflux @@ -1,7 +1,7 @@ ARG VERSION="0.5.1" ARG APP_BUILD_ROOT=/opt/app-root -FROM registry.redhat.io/ubi9/go-toolset:9.7@sha256:3cdf0d1e8d8601c89fe3070d7aa63a54d1aaf049ba55fba314f6358b1d95a2f9 AS builder +FROM registry.redhat.io/ubi9/go-toolset:9.7@sha256:8b211cc8793d8013140844e8070aa584a8eb3e4e6e842ea4b03dd9914b1a5dc6 AS builder ARG TARGETOS ARG TARGETARCH From de6eb4bb8378e7a2891c97a4b91457c60289b1b1 Mon Sep 17 00:00:00 2001 From: "konflux-internal-p02[bot]" <170854209+konflux-internal-p02[bot]@users.noreply.github.com> Date: Fri, 20 Mar 2026 08:25:00 +0000 Subject: [PATCH 18/22] chore(deps): update registry.access.redhat.com/ubi9/ubi-minimal docker digest to 83006d5 (#47) Signed-off-by: konflux-internal-p02 <170854209+konflux-internal-p02[bot]@users.noreply.github.com> Co-authored-by: konflux-internal-p02[bot] <170854209+konflux-internal-p02[bot]@users.noreply.github.com> --- Dockerfile.konflux | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile.konflux b/Dockerfile.konflux index 9fb65dab1..f00c3c134 100644 --- a/Dockerfile.konflux +++ b/Dockerfile.konflux @@ -22,7 +22,7 @@ COPY pkg/ pkg/ RUN go mod download && \ CGO_ENABLED=0 GOOS=${TARGETOS:-linux} GOARCH=${TARGETARCH} go build -a -o ${APP_ROOT}/manager cmd/main.go -FROM registry.access.redhat.com/ubi9/ubi-minimal@sha256:69f5c9886ecb19b23e88275a5cd904c47dd982dfa370fbbd0c356d7b1047ef68 AS deploy +FROM registry.access.redhat.com/ubi9/ubi-minimal@sha256:83006d535923fcf1345067873524a3980316f51794f01d8655be55d6e9387183 AS deploy ARG VERSION ARG APP_BUILD_ROOT From 53fbf678d0391d603b5701c75ab39cace14e6c21 Mon Sep 17 00:00:00 2001 From: "konflux-internal-p02[bot]" <170854209+konflux-internal-p02[bot]@users.noreply.github.com> Date: Tue, 24 Mar 2026 02:21:43 +0000 Subject: [PATCH 19/22] chore(deps): update registry.redhat.io/ubi9/go-toolset:9.7 docker digest to f8315b3 (#53) Signed-off-by: konflux-internal-p02 <170854209+konflux-internal-p02[bot]@users.noreply.github.com> Co-authored-by: konflux-internal-p02[bot] <170854209+konflux-internal-p02[bot]@users.noreply.github.com> --- Dockerfile.konflux | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile.konflux b/Dockerfile.konflux index f00c3c134..0be3c8fc2 100644 --- a/Dockerfile.konflux +++ b/Dockerfile.konflux @@ -1,7 +1,7 @@ ARG VERSION="0.5.1" ARG APP_BUILD_ROOT=/opt/app-root -FROM registry.redhat.io/ubi9/go-toolset:9.7@sha256:8b211cc8793d8013140844e8070aa584a8eb3e4e6e842ea4b03dd9914b1a5dc6 AS builder +FROM registry.redhat.io/ubi9/go-toolset:9.7@sha256:f8315b365526773d010668c0532d8b431ff505ec2720cdcd1e484c01d012f099 AS builder ARG TARGETOS ARG TARGETARCH From 600359ba09d1152c9e8163b01c8c7987a2f828a5 Mon Sep 17 00:00:00 2001 From: "konflux-internal-p02[bot]" <170854209+konflux-internal-p02[bot]@users.noreply.github.com> Date: Tue, 24 Mar 2026 17:28:31 +0000 Subject: [PATCH 20/22] chore(deps): update registry.redhat.io/ubi9/go-toolset:9.7 docker digest to 22c5f0e (#56) Signed-off-by: konflux-internal-p02 <170854209+konflux-internal-p02[bot]@users.noreply.github.com> Co-authored-by: konflux-internal-p02[bot] <170854209+konflux-internal-p02[bot]@users.noreply.github.com> --- Dockerfile.konflux | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile.konflux b/Dockerfile.konflux index 0be3c8fc2..68b62cb27 100644 --- a/Dockerfile.konflux +++ b/Dockerfile.konflux @@ -1,7 +1,7 @@ ARG VERSION="0.5.1" ARG APP_BUILD_ROOT=/opt/app-root -FROM registry.redhat.io/ubi9/go-toolset:9.7@sha256:f8315b365526773d010668c0532d8b431ff505ec2720cdcd1e484c01d012f099 AS builder +FROM registry.redhat.io/ubi9/go-toolset:9.7@sha256:22c5f0e0dfa133c7bd9d004ce2fbb01075ec88001bc7404bb4fe72ea4037bde1 AS builder ARG TARGETOS ARG TARGETARCH From f0919084311ed934d2f71eb9f0659acfdd5364c7 Mon Sep 17 00:00:00 2001 From: "konflux-internal-p02[bot]" <170854209+konflux-internal-p02[bot]@users.noreply.github.com> Date: Thu, 26 Mar 2026 05:45:35 +0000 Subject: [PATCH 21/22] chore(deps): update registry.redhat.io/ubi9/go-toolset:9.7 docker digest to 2830e4b (#61) Signed-off-by: konflux-internal-p02 <170854209+konflux-internal-p02[bot]@users.noreply.github.com> Co-authored-by: konflux-internal-p02[bot] <170854209+konflux-internal-p02[bot]@users.noreply.github.com> --- Dockerfile.konflux | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile.konflux b/Dockerfile.konflux index 68b62cb27..3befee3ea 100644 --- a/Dockerfile.konflux +++ b/Dockerfile.konflux @@ -1,7 +1,7 @@ ARG VERSION="0.5.1" ARG APP_BUILD_ROOT=/opt/app-root -FROM registry.redhat.io/ubi9/go-toolset:9.7@sha256:22c5f0e0dfa133c7bd9d004ce2fbb01075ec88001bc7404bb4fe72ea4037bde1 AS builder +FROM registry.redhat.io/ubi9/go-toolset:9.7@sha256:2830e4bd1c394ed506c00a9abbb4d00445e2e72e8ef4e3cd51e0da0db66dee12 AS builder ARG TARGETOS ARG TARGETARCH From 7913a47cfbd942003b2f41805430787c23579e45 Mon Sep 17 00:00:00 2001 From: "konflux-internal-p02[bot]" <170854209+konflux-internal-p02[bot]@users.noreply.github.com> Date: Mon, 30 Mar 2026 02:29:30 +0000 Subject: [PATCH 22/22] chore(deps): update registry.redhat.io/ubi9/go-toolset:9.7 docker digest to 0f4f6f7 (#62) Signed-off-by: konflux-internal-p02 <170854209+konflux-internal-p02[bot]@users.noreply.github.com> Co-authored-by: konflux-internal-p02[bot] <170854209+konflux-internal-p02[bot]@users.noreply.github.com> --- Dockerfile.konflux | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile.konflux b/Dockerfile.konflux index 3befee3ea..983bb1360 100644 --- a/Dockerfile.konflux +++ b/Dockerfile.konflux @@ -1,7 +1,7 @@ ARG VERSION="0.5.1" ARG APP_BUILD_ROOT=/opt/app-root -FROM registry.redhat.io/ubi9/go-toolset:9.7@sha256:2830e4bd1c394ed506c00a9abbb4d00445e2e72e8ef4e3cd51e0da0db66dee12 AS builder +FROM registry.redhat.io/ubi9/go-toolset:9.7@sha256:0f4f6f7868962aa75dddfe4230b664bdf77071e92c43c70c824c58450e37693f AS builder ARG TARGETOS ARG TARGETARCH