Skip to content

feat(helm): multi-account support - #79

Open
cxdy wants to merge 1 commit into
linode-obs:mainfrom
cxdy:feat/helm-multi-account
Open

feat(helm): multi-account support#79
cxdy wants to merge 1 commit into
linode-obs:mainfrom
cxdy:feat/helm-multi-account

Conversation

@cxdy

@cxdy cxdy commented Jul 23, 2026

Copy link
Copy Markdown
Member

Did some noodling and re-thought my approach in #59 / #58

Adds an optional multi-account mode to the latr Helm chart so a single helm release can run one latr Deployment per managed Linode account. Also bumps the chart version to 0.2.0.

This method gives us many latr pods (one process / account) without +N Applications in Argo/Flux/etc.

Behavior

Mode When Result
Single-instance (default) accounts: [] Unchanged: one Deployment / ConfigMap / S
Multi-account accounts non-empty One release → N Deployments + ConfigMaps + Secr

Per account

  • Resource name from accounts[].name (e.g. personal-account, work-account)
  • Optional accounts[].id only if name is omitted → latr-<id> (no special public “customer id” concept)
  • configFiles: map of filename → YAML text, mounted at /config
  • latr args: -config /config/* (Go filepath.Glob; no shell)
  • Or config: as a single latr-native YAML object → config.yaml
  • Secrets: inline secrets.* or secrets.existingSecret
  • Shared ServiceAccount for the release

Copilot AI review requested due to automatic review settings July 23, 2026 09:49

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR extends the latr Helm chart to support an optional multi-account mode, enabling a single Helm release (and typically one Argo/Flux app) to deploy one latr Deployment per managed Linode account, each with its own ConfigMap/Secret, while sharing a ServiceAccount.

Changes:

  • Add accounts:-driven multi-account rendering (N Deployments, ConfigMaps, Secrets, and per-account PDBs).
  • Add support for multi-file config via configFiles (mount under /config, run latr with -config /config/*) in both single-instance and multi-account modes.
  • Update chart docs/examples and bump chart version to 0.2.0.

Reviewed changes

Copilot reviewed 10 out of 10 changed files in this pull request and generated 3 comments.

Show a summary per file
File Description
helm/latr/values.yaml Documents new accounts structure and optional single-instance configFiles.
helm/latr/templates/secret.yaml Renders one Secret per account in multi-account mode (or none when existingSecret is used).
helm/latr/templates/poddisruptionbudget.yaml Creates per-account PDBs in multi-account mode; keeps single-instance PDB behavior.
helm/latr/templates/NOTES.txt Adds multi-account install notes and adjusts warnings for configFiles.
helm/latr/templates/deployment.yaml Adds multi-account Deployment rendering and configFiles-based -config /config/* support.
helm/latr/templates/configmap.yaml Adds per-account ConfigMaps and supports single/multi-account configFiles and embedded config.
helm/latr/templates/_helpers.tpl Adds multi-account helpers for mode detection, per-account names/labels, and secret name selection.
helm/latr/README.md Documents chart modes and updates example Vault storage path guidance.
helm/latr/examples/values-multi-account.yaml Adds a concrete multi-account values example.
helm/latr/Chart.yaml Bumps chart version from 0.1.0 to 0.2.0.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread helm/latr/templates/deployment.yaml Outdated
Comment thread helm/latr/values.yaml Outdated
Comment thread helm/latr/README.md Outdated
@cxdy
cxdy force-pushed the feat/helm-multi-account branch from 90dfe0a to 1e8a9aa Compare July 23, 2026 09:58
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.

2 participants