kubernetes/apps/ical-proxy/deployment.yaml: image main-73b5d97 → main-926ead0, plus the tag comment. One file, no other resources.
Why (REN-294, parent REN-230)
main-926ead0 is the ical-proxy main build that contains:
PR #7 (65ddc6d): the upstream response body is capped at 2 MiB (io.LimitReader); an oversized feed gets 413 instead of being buffered whole into a 256Mi pod. This closes the memory-exhaustion DoS.
PR #10 (926ead0): upstream fetch failures are logged with the host and answered with 502 instead of 500.
Known residual gap, out of scope here: 20 concurrent 2 MiB feeds can still exceed the 256Mi limit.
How verified
65ddc6d is an ancestor of Gitea konairius/ical-proxy main 926ead0.
Registry: GET /v2/konairius/ical-proxy/manifests/main-926ead0 → 200.
Baseline now: 2/2 ready on main-73b5d97, 0 restarts, /health 200.
After merge Atlas checks: rollout on main-926ead0, /health 200, a real feed through /proxy?url=... 200, no OOMKilled restarts.
Impact
Rolling update of a 2-replica Deployment; no Home Assistant, storage, network policy or Flux core change, so no HA window needed.
Revert
Revert this commit (tag back to main-73b5d97); Flux rolls it back.
## What changed
`kubernetes/apps/ical-proxy/deployment.yaml`: image `main-73b5d97` → `main-926ead0`, plus the tag comment. One file, no other resources.
## Why (REN-294, parent REN-230)
`main-926ead0` is the ical-proxy main build that contains:
- PR #7 (65ddc6d): the upstream response body is capped at 2 MiB (`io.LimitReader`); an oversized feed gets 413 instead of being buffered whole into a 256Mi pod. This closes the memory-exhaustion DoS.
- PR #10 (926ead0): upstream fetch failures are logged with the host and answered with 502 instead of 500.
Known residual gap, out of scope here: 20 concurrent 2 MiB feeds can still exceed the 256Mi limit.
## How verified
- `65ddc6d` is an ancestor of Gitea `konairius/ical-proxy` main `926ead0`.
- Registry: `GET /v2/konairius/ical-proxy/manifests/main-926ead0` → 200.
- Baseline now: 2/2 ready on `main-73b5d97`, 0 restarts, `/health` 200.
- After merge Atlas checks: rollout on `main-926ead0`, `/health` 200, a real feed through `/proxy?url=...` 200, no OOMKilled restarts.
## Impact
Rolling update of a 2-replica Deployment; no Home Assistant, storage, network policy or Flux core change, so no HA window needed.
## Revert
Revert this commit (tag back to `main-73b5d97`); Flux rolls it back.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
main-926ead0 includes ical-proxy PR #7 (REN-230): the upstream response
body is capped at 2 MiB, so an oversized feed gets 413 instead of being
buffered whole into a 256Mi pod. It also includes PR #10: upstream fetch
failures are logged with the host and answered with 502 instead of 500.
Refs: REN-294
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
🤖Automated review — model CLI default (complexity: unknown), commit 1cd4b864ef0946e952c09874550860f0fdf7ce78.
Advisory review by the review-bot pipeline. It never approves; a human merges. Push new commits to get a fresh review.
Summary
Single-file change: bumps kubernetes/apps/ical-proxy/deployment.yaml's pinned image tag from main-73b5d97 to main-926ead0 and updates the adjacent explanatory comment to describe the new build's behavior (2 MiB response cap, 502-on-fetch-failure). No other resources touched. This is a low-risk, mechanical rollout of an already-reviewed upstream change, and the diff itself is correct and internally consistent.
🟡 Suggestions
The PR body's residual-gap note ("20 concurrent 2 MiB feeds can still exceed the 256Mi limit") is worth double-checking against resources.limits.memory: 256Mi at kubernetes/apps/ical-proxy/deployment.yaml:78. Nominally 20 × 2 MiB = 40 MiB, well under the limit, so the stated risk likely accounts for decompression/parsing overhead per request rather than raw buffer size — that's plausible but not derivable from this diff alone. Since the PR explicitly scopes this out as a known, accepted gap, it's not blocking here, just flagging for whoever picks up that follow-up.
The claim "65ddc6d is an ancestor of main-926ead0" (upstream konairius/ical-proxy repo) is not verifiable from this checkout since that repo isn't present here. Not a concern for this PR specifically, just noting the verification step relies on external state this review can't confirm.
Tests
No tests are expected or applicable for a pure image-tag/comment bump in a Kustomize manifest; the repo's own verification model for this class of change is the described rollout/health-check plan (baseline vs. post-merge Atlas checks), which is appropriate and matches the pattern used for prior bumps in this same file's comment history.
Recommendation
Looks reasonable — no blocking issues; comments above are optional.
🤖 **Automated review** — model `CLI default` (complexity: unknown), commit `1cd4b864ef0946e952c09874550860f0fdf7ce78`.
> Advisory review by the `review-bot` pipeline. It never approves; a human merges. Push new commits to get a fresh review.
---
## Summary
Single-file change: bumps `kubernetes/apps/ical-proxy/deployment.yaml`'s pinned image tag from `main-73b5d97` to `main-926ead0` and updates the adjacent explanatory comment to describe the new build's behavior (2 MiB response cap, 502-on-fetch-failure). No other resources touched. This is a low-risk, mechanical rollout of an already-reviewed upstream change, and the diff itself is correct and internally consistent.
## 🟡 Suggestions
- The PR body's residual-gap note ("20 concurrent 2 MiB feeds can still exceed the 256Mi limit") is worth double-checking against `resources.limits.memory: 256Mi` at `kubernetes/apps/ical-proxy/deployment.yaml:78`. Nominally 20 × 2 MiB = 40 MiB, well under the limit, so the stated risk likely accounts for decompression/parsing overhead per request rather than raw buffer size — that's plausible but not derivable from this diff alone. Since the PR explicitly scopes this out as a known, accepted gap, it's not blocking here, just flagging for whoever picks up that follow-up.
- The claim "`65ddc6d` is an ancestor of `main-926ead0`" (upstream `konairius/ical-proxy` repo) is not verifiable from this checkout since that repo isn't present here. Not a concern for this PR specifically, just noting the verification step relies on external state this review can't confirm.
## Tests
No tests are expected or applicable for a pure image-tag/comment bump in a Kustomize manifest; the repo's own verification model for this class of change is the described rollout/health-check plan (baseline vs. post-merge Atlas checks), which is appropriate and matches the pattern used for prior bumps in this same file's comment history.
## Recommendation
Looks reasonable — no blocking issues; comments above are optional.
<!-- pr-review:sha=1cd4b864ef0946e952c09874550860f0fdf7ce78 -->
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
What changed
kubernetes/apps/ical-proxy/deployment.yaml: imagemain-73b5d97→main-926ead0, plus the tag comment. One file, no other resources.Why (REN-294, parent REN-230)
main-926ead0is the ical-proxy main build that contains:io.LimitReader); an oversized feed gets 413 instead of being buffered whole into a 256Mi pod. This closes the memory-exhaustion DoS.Known residual gap, out of scope here: 20 concurrent 2 MiB feeds can still exceed the 256Mi limit.
How verified
65ddc6dis an ancestor of Giteakonairius/ical-proxymain926ead0.GET /v2/konairius/ical-proxy/manifests/main-926ead0→ 200.main-73b5d97, 0 restarts,/health200.main-926ead0,/health200, a real feed through/proxy?url=...200, no OOMKilled restarts.Impact
Rolling update of a 2-replica Deployment; no Home Assistant, storage, network policy or Flux core change, so no HA window needed.
Revert
Revert this commit (tag back to
main-73b5d97); Flux rolls it back.🤖 Generated with Claude Code
Approved at
1cd4b864ef. Checked: diff is one file, tag + comment only; upstream konairius/ical-proxy main = 926ead0, contains 65ddc6d (2 MiB cap, server/main.go:38,383-390 -> 413) and PR #10 (502); Woodpecker success on 926ead0; registry manifest main-926ead0 -> 200.🤖 Automated review — model
CLI default(complexity: unknown), commit1cd4b864ef0946e952c09874550860f0fdf7ce78.Summary
Single-file change: bumps
kubernetes/apps/ical-proxy/deployment.yaml's pinned image tag frommain-73b5d97tomain-926ead0and updates the adjacent explanatory comment to describe the new build's behavior (2 MiB response cap, 502-on-fetch-failure). No other resources touched. This is a low-risk, mechanical rollout of an already-reviewed upstream change, and the diff itself is correct and internally consistent.🟡 Suggestions
resources.limits.memory: 256Miatkubernetes/apps/ical-proxy/deployment.yaml:78. Nominally 20 × 2 MiB = 40 MiB, well under the limit, so the stated risk likely accounts for decompression/parsing overhead per request rather than raw buffer size — that's plausible but not derivable from this diff alone. Since the PR explicitly scopes this out as a known, accepted gap, it's not blocking here, just flagging for whoever picks up that follow-up.65ddc6dis an ancestor ofmain-926ead0" (upstreamkonairius/ical-proxyrepo) is not verifiable from this checkout since that repo isn't present here. Not a concern for this PR specifically, just noting the verification step relies on external state this review can't confirm.Tests
No tests are expected or applicable for a pure image-tag/comment bump in a Kustomize manifest; the repo's own verification model for this class of change is the described rollout/health-check plan (baseline vs. post-merge Atlas checks), which is appropriate and matches the pattern used for prior bumps in this same file's comment history.
Recommendation
Looks reasonable — no blocking issues; comments above are optional.