Skip to content

feat(plane-ce): opt-in Stakater Reloader annotation (1.8.0) - #309

Closed
pratapalakshmi wants to merge 1 commit into
masterfrom
feat/plane-ce-reloader
Closed

feat(plane-ce): opt-in Stakater Reloader annotation (1.8.0)#309
pratapalakshmi wants to merge 1 commit into
masterfrom
feat/plane-ce-reloader

Conversation

@pratapalakshmi

Copy link
Copy Markdown
Contributor

1.7.0 has no reloader flag — checked the published chart and master: no reloader block in values.yaml, and no reloader string anywhere in templates/.

That leaves #285 half-finished in practice. It gave the chart the externalized-secret contract, but nothing restarts the workloads when one of those Secrets changes — so a rotated credential lands in the Kubernetes Secret while the pods keep the value they started with. The credentials would be out of git and still effectively unrotatable, which is worse than obviously-unmigrated because it looks done.

Same flag as plane-cloud 4.9.0 (#707), plane-enterprise 3.6.0 (#278) and plane-mcp-server 1.5.0 (#708): reloader.enabled annotates every workload with reloader.stakater.com/auto, on the workload rather than the pod template, which is where Reloader looks.

Why now

internal-scripts#172 migrates community-canary and community-latest, and their secrets are already in AWS (terraform-scripts#117). Without this, that migration ships rotation-broken. Their app PR should pin 1.8.0 and set the flag in the same change rather than bumping twice.

Verification

  • Flag off → 0 lines different from published 1.7.0 on the default render. Additive.
  • Flag on → 12/12 workloads annotated, checked against both community environments' real values.yaml rather than chart defaults.
  • helm lint clean.

Version

1.7.0 → 1.8.0, matching the minor bumps the other three charts took for this same change. Note #285's description earmarked 1.8.0 for the discrete-parts / DSN work; that work is still blocked on upstream makeplane/plane support, so it takes the next number instead. Worth a glance in case you would rather this be 1.7.1 — it is additive and defaults off, so either is defensible.

1.7.0 gave this chart the externalized-secret contract but nothing to restart the
workloads when one of those Secrets changes, so a rotated credential would land in
the Kubernetes Secret while the pods kept the value they started with. The
credentials would be out of git and still effectively unrotatable.

Same flag as plane-cloud 4.9.0, plane-enterprise 3.6.0 and plane-mcp-server 1.5.0:
reloader.enabled annotates every workload with reloader.stakater.com/auto, on the
workload rather than the pod template, which is where Reloader looks for it.

This is what the two dev community environments need before their migration is
worth anything -- 1.7.0 alone would move their credentials and leave rotation
broken in a way that looks finished.

Additive: with the flag off the default render is 0 lines different from published
1.7.0. With it on, 12 of 12 workloads are annotated in both of those
environments' real values files. helm lint clean.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@coderabbitai

coderabbitai Bot commented Aug 27, 2026

Copy link
Copy Markdown
Contributor

Warning

Review limit reached

Next included review available in 29 minutes.

View limit details

Limit details: You’ve used the included review currently available.

You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository.

Learn how review limits work.

Review configuration:

⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro Plus

Run ID: 2200228f-a5a6-4f5c-9fde-696d3ea152de

📥 Commits

Reviewing files that changed from the base of the PR and between 23b924a and b41bf71.

📒 Files selected for processing (14)
  • charts/plane-ce/Chart.yaml
  • charts/plane-ce/templates/workloads/admin.deployment.yaml
  • charts/plane-ce/templates/workloads/api.deployment.yaml
  • charts/plane-ce/templates/workloads/beat-worker.deployment.yaml
  • charts/plane-ce/templates/workloads/live.deployment.yaml
  • charts/plane-ce/templates/workloads/migrator.job.yaml
  • charts/plane-ce/templates/workloads/minio.stateful.yaml
  • charts/plane-ce/templates/workloads/postgres.stateful.yaml
  • charts/plane-ce/templates/workloads/rabbitmq.stateful.yaml
  • charts/plane-ce/templates/workloads/redis.stateful.yaml
  • charts/plane-ce/templates/workloads/space.deployment.yaml
  • charts/plane-ce/templates/workloads/web.deployment.yaml
  • charts/plane-ce/templates/workloads/worker.deployment.yaml
  • charts/plane-ce/values.yaml

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@pratapalakshmi

Copy link
Copy Markdown
Contributor Author

Closing: we are not adding Reloader annotations to the public charts.

The chart does not need to offer this. plane-ce already exposes per-workload annotations (api, worker, beatworker, live, web, space, admin, redis, postgres, rabbitmq, minio) and they land on the workload resource, which is where Reloader reads them. Verified against the already-released 1.7.0 with both dev community environments' real values files: 13/13 workloads annotated, no chart change involved.

So this would have added a second way to do something the chart could already do, on a public chart, for a deployment-specific decision — which workloads should restart when a credential rotates depends on the install, and the datastores generally should not.

The annotations go in internal-scripts per environment instead. Two things learned while checking, recorded here so they are not rediscovered:

  • The values key is beatworker, not beat-worker. An unknown values key is silently ignored, so the wrong name looks configured and does nothing.
  • The namespace route does not work here. Reloader supports namespace-level annotations in recent versions, and Fleet's namespaceAnnotations would have been the tidiest option, but neither installed instance (v1.4.8, v1.4.21) has RBAC to read namespaces — so it would silently do nothing.

plane-enterprise gets the same treatment in #278 (3c0435e): the reloader flag is removed there and the guidance repointed at services.<name>.annotations.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant