Skip to content

Sync with flant/shell-operator (alpine 3.23 base) and drop perl-utils - #5

Merged
skudin13 merged 3 commits into
mainfrom
PTEUDO-4980-sync-upstream
Oct 30, 2026
Merged

skudin13 merged 3 commits into
mainfrom
PTEUDO-4980-sync-upstream

Conversation

@skudin13

@skudin13 skudin13 commented Oct 30, 2026 •

Copy link
Copy Markdown
Collaborator

Overview

Merge upstream flant/shell-operator ccd0f3e (flant#956) into this fork and drop perl-utils from the runtime image.

What this PR does / why we need it

The current image is built on an old pinned base (alpine 3.22.2) and has many Critical/High CVEs (python3, rsync, openssh, openssl, curl, perl).

  • Merge upstream main (ccd0f3e). The fork was one commit behind. That commit moves the Dockerfile to golang:1.26.4-alpine3.23 + alpine:3.23 (jq from apk) and adds an image architecture check, hook-log handling in pkg/executor, and a PR-only images.yaml workflow.
  • Keep the fork's additions: certwatcher, the logr bridge, Jenkinsfile, yq, kubectl.
  • Drop perl-utils: perl has Critical CVEs with no fix. Its only consumer (shasum in the aws-tagging-operator hooks) switches to busybox sha1sum, which gives the same output.
  • Conflicts resolved in the Dockerfile apk list and go.sum (go mod verify OK).
  • Align Go deps with upstream: controller-runtime v0.23.3 (already used upstream, includes certwatcher) instead of v0.25.2, so k8s.io/* go back to v0.35.8 and match kubectl v1.35.8 (make generate passes).

How tested

  • go build (linux), go vet and go test for ./pkg/executor/... ./pkg/webhook/...: OK.
  • Local image build (linux/amd64): vulnerability scan shows 0 Critical / 0 High.
  • The aws-tagging-operator admission hook gives byte-identical patches on the old and new image in 9 test cases.

Special notes for your reviewer

  • This image has no shasum. Consumers must switch to sha1sum before or together with adopting it.

Glitchy-Sheep and others added 2 commits October 29, 2026 15:57
…t#956)

Signed-off-by: Roman Berezkin <roman.berezkin@flant.com>
Sync the fork with upstream ccd0f3e (flant flant#956), which moves the image
from the pinned deckhouse container-factory base (alpine 3.22.2) to
golang:1.26.4-alpine3.23 and alpine:3.23. Keep our yq and kubectl.

Drop perl-utils: perl 5.42.2 carries 2 Critical CVEs with no fix. The
aws-tagging-operator hooks switch from shasum to busybox sha1sum (same
output) in the charts PR that bumps appVersion to this build.

Wiz (local build, linux/amd64): 0 Critical / 0 High.
Current j4 image: 20 Critical / 85 High.

PTEUDO-4980

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@skudin13 skudin13 added the enhancement New feature or request label Oct 30, 2026
The rebase added controller-runtime v0.25.2 for certwatcher, which pulled
k8s.io/* to v0.37.0. That breaks the upstream `make generate` check
(it wants kubectl v1.37.0) and is newer than our clusters (1.35-1.36).

Use the controller-runtime version upstream already has (v0.23.3, which
includes certwatcher) and go back to upstream's k8s.io v0.35.8. go.mod is
now upstream's plus the direct controller-runtime and go-logr requirements.

make generate: no changes. Tests pass. Wiz on the image: 0 Critical / 0 High.
@skudin13
skudin13 merged commit 25e823f into main Oct 30, 2026
8 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants