fix(ical-proxy): pull the image from the Gitea registry (main-db90a59) #1036

Merged
Ghost merged 1 commits from atlas/ren-201-ical-proxy-gitea-image into master 2026-09-27 15:20:54 +00:00

What

Switch apps/ical-proxy from ghcr.io/konairius/ical-proxy:main-99a912b to gitea.renner.uno/konairius/ical-proxy:main-db90a59, and update the image name in the pin comment and in image-automation/README.md.

Why

ical-proxy moved to Gitea (REN-199). Woodpecker now builds the image and pushes it to the Gitea registry. The ghcr.io image gets no new builds.

Verified

  • Woodpecker push pipeline #3 on db90a59 passed: clone, test, lint, build-and-push.
  • Anonymous pull of main-db90a59 from the registry returns 200 (digest sha256:62853c31…), so there is no imagePullSecret.
  • 99a912b..db90a59 changes only CI and docs: no Go code, no Dockerfile change. The runtime behaviour, /health and runAsUser 1001 stay the same.
  • Not applied to a cluster. Checked as a diff only. I have no kubectl here. After merge, check that Flux rolls 2/2 pods Ready and that the readiness probe on /health passes.

Risk

The new image is amd64 only, while the old ghcr image was multi-arch. If a node is arm64, a pod scheduled there fails to pull. The repo has no references to arm64 nodes. During the rollout one of the two replicas stays up.

Revert

git revert this commit. Flux rolls the pods back to the ghcr.io main-99a912b image, which still exists.

Refs REN-201.

🤖 Generated with Claude Code

## What Switch `apps/ical-proxy` from `ghcr.io/konairius/ical-proxy:main-99a912b` to `gitea.renner.uno/konairius/ical-proxy:main-db90a59`, and update the image name in the pin comment and in `image-automation/README.md`. ## Why ical-proxy moved to Gitea (REN-199). Woodpecker now builds the image and pushes it to the Gitea registry. The ghcr.io image gets no new builds. ## Verified - Woodpecker push pipeline #3 on `db90a59` passed: clone, test, lint, build-and-push. - Anonymous pull of `main-db90a59` from the registry returns 200 (digest `sha256:62853c31…`), so there is no `imagePullSecret`. - `99a912b..db90a59` changes only CI and docs: no Go code, no Dockerfile change. The runtime behaviour, `/health` and runAsUser 1001 stay the same. - **Not applied to a cluster.** Checked as a diff only. I have no kubectl here. After merge, check that Flux rolls 2/2 pods Ready and that the readiness probe on `/health` passes. ## Risk The new image is **amd64 only**, while the old ghcr image was multi-arch. If a node is arm64, a pod scheduled there fails to pull. The repo has no references to arm64 nodes. During the rollout one of the two replicas stays up. ## Revert `git revert` this commit. Flux rolls the pods back to the ghcr.io `main-99a912b` image, which still exists. Refs REN-201. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
Ghost added 1 commit 2026-09-27 15:18:35 +00:00
fix(ical-proxy): pull the image from the Gitea registry (main-db90a59)
ci/woodpecker/pr/ci-scripts-test Pipeline was successful
ci/woodpecker/pr/ci-manifests-test Pipeline was successful
ci/woodpecker/pr/pr-review Pipeline was successful
d6681702a9
ical-proxy moved from GitHub to Gitea and its image is now built by
Woodpecker and pushed to gitea.renner.uno/konairius/ical-proxy. The
ghcr.io image gets no new builds.

main-db90a59 has the same application code and Dockerfile as the
running main-99a912b; the commits in between touch only CI and docs.
The package pulls anonymously, so no imagePullSecret is added.

Revert: git revert this commit; Flux rolls the pods back to
ghcr.io/konairius/ical-proxy:main-99a912b.

Refs: REN-201

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Ghost approved these changes 2026-09-27 15:20:53 +00:00
Ghost left a comment

Approve at d6681702a9.

Checked:

  • Diff: image line, pin comment, one README line. Nothing else.
  • Registry: anonymous token + manifest GET for main-db90a59 = 200, digest sha256:62853c31…ca68; the config says linux/amd64, user appuser, cmd ./ical-proxy, port 8080.
  • Arch risk: node_uname_info reports k8s-1/2/3 all x86_64, so amd64-only is fine on this cluster.
  • Upstream 99a912b..db90a59: only .github/, .woodpecker.yml, README.md, k8s/ are changed. No Go code or Dockerfile change. Dockerfile at db90a59 creates appuser with uid 1001, which matches runAsUser 1001 / runAsNonRoot.
  • Pull path: nodes already pull from gitea.renner.uno (netbird-service-sync).
  • Blast radius: RollingUpdate 25%/25% with 2 replicas means maxUnavailable 0. If the pull fails, the old pods stay serving.
  • Revert: ghcr main-99a912b still resolves (200), so a git revert restores a pullable image.
Approve at d6681702a970f035803a70e87a1f168f92bb6c5c. Checked: - Diff: image line, pin comment, one README line. Nothing else. - Registry: anonymous token + manifest GET for main-db90a59 = 200, digest sha256:62853c31…ca68; the config says linux/amd64, user appuser, cmd ./ical-proxy, port 8080. - Arch risk: node_uname_info reports k8s-1/2/3 all x86_64, so amd64-only is fine on this cluster. - Upstream 99a912b..db90a59: only .github/, .woodpecker.yml, README.md, k8s/ are changed. No Go code or Dockerfile change. Dockerfile at db90a59 creates appuser with uid 1001, which matches runAsUser 1001 / runAsNonRoot. - Pull path: nodes already pull from gitea.renner.uno (netbird-service-sync). - Blast radius: RollingUpdate 25%/25% with 2 replicas means maxUnavailable 0. If the pull fails, the old pods stay serving. - Revert: ghcr main-99a912b still resolves (200), so a git revert restores a pullable image.
Ghost merged commit 7154a8dd3f into master 2026-09-27 15:20:54 +00:00
Sign in to join this conversation.