Hotfix for #77. That PR attached the CrowdSec middleware via ports.websecure.middlewares, but the Traefik chart 40.x values schema has no such key:
at '/ports/websecure': additional properties 'middlewares' not allowed
Because Helm upgrades are atomic, the entire Traefik upgrade was rejected — so neither the plugin nor the middleware applied (old pods kept serving, no outage), and the failed HelmRelease degraded the infrastructure Flux kustomization, which in turn blocked dependents (home-assistant, matter-server, …) from reconciling.
Fix: attach the entrypoint default middleware via additionalArguments (a CLI flag → static config entryPoints.websecure.http.middlewares), which isn't schema-constrained. experimental.plugins validated fine and is unchanged.
⚠️ This is the change that actually triggers the Traefik restart + GitHub plugin download (the outage-risk moment #77 described). Watch the ingress/traefik rollout after merge; revert if pods don't go Ready. Merging this also unblocks the stuck infrastructure kustomization.
**Hotfix for #77.** That PR attached the CrowdSec middleware via `ports.websecure.middlewares`, but the Traefik chart 40.x values schema has no such key:
```
at '/ports/websecure': additional properties 'middlewares' not allowed
```
Because Helm upgrades are atomic, the **entire** Traefik upgrade was rejected — so neither the plugin nor the middleware applied (old pods kept serving, **no outage**), and the failed HelmRelease degraded the `infrastructure` Flux kustomization, which in turn blocked dependents (home-assistant, matter-server, …) from reconciling.
Fix: attach the entrypoint default middleware via `additionalArguments` (a CLI flag → static config `entryPoints.websecure.http.middlewares`), which isn't schema-constrained. `experimental.plugins` validated fine and is unchanged.
> ⚠️ This is the change that actually triggers the Traefik restart + GitHub plugin download (the outage-risk moment #77 described). Watch the `ingress/traefik` rollout after merge; revert if pods don't go Ready. Merging this also unblocks the stuck `infrastructure` kustomization.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
PR #77 used ports.websecure.middlewares, which chart 40.x's values schema rejects ('additional properties middlewares not allowed'), so the whole Helm upgrade failed and degraded the infrastructure kustomization. Attach the entrypoint default middleware via additionalArguments CLI flag instead (schema-free). experimental.plugins was fine and is unchanged.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
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.
Hotfix for #77. That PR attached the CrowdSec middleware via
ports.websecure.middlewares, but the Traefik chart 40.x values schema has no such key:Because Helm upgrades are atomic, the entire Traefik upgrade was rejected — so neither the plugin nor the middleware applied (old pods kept serving, no outage), and the failed HelmRelease degraded the
infrastructureFlux kustomization, which in turn blocked dependents (home-assistant, matter-server, …) from reconciling.Fix: attach the entrypoint default middleware via
additionalArguments(a CLI flag → static configentryPoints.websecure.http.middlewares), which isn't schema-constrained.experimental.pluginsvalidated fine and is unchanged.🤖 Generated with Claude Code