Draft
Conversation
Deploy Actual Budget (actualbudget.org) as a self-hosted personal finance
app at budget.${domain}. Configuration:
- Helm chart: community-charts/actualbudget v1.8.7 (appVersion 26.2.0)
- Auth: OIDC via Dex (reuses public-client static client)
- Scaling: KEDA HTTP scale-to-zero (0→1, 5min cooldown)
- Storage: Persistent (10Gi prod, 2Gi local Docker)
- Ingress: Gateway API HTTPRoute through KEDA HTTP interceptor
- Homepage: Dashboard integration via annotations
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Contributor
There was a problem hiding this comment.
Pull request overview
Adds a new GitOps-managed deployment for the Actual Budget app to the platform, exposing it at budget.${domain} and integrating it with the existing Dex OIDC auth chain and KEDA HTTP scale-to-zero pattern used by other apps.
Changes:
- Adds a new
k8s/bases/apps/actual-budget/app bundle (namespace, HelmRepository/HelmRelease, Gateway API HTTPRoute, KEDA HTTPScaledObject). - Extends Dex’s
public-clientredirect URIs to allow Actual Budget’s OIDC callback. - Adds a Docker-provider patch to reduce PVC size for local dev and introduces a prod replica variable + local DNS host entry.
Reviewed changes
Copilot reviewed 12 out of 12 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
| k8s/providers/docker/apps/kustomization.yaml | Applies a Docker-provider overlay patch for the Actual Budget HelmRelease. |
| k8s/providers/docker/apps/actual-budget/patches/helm-release-patch.yaml | Reduces Actual Budget persistence size to 2Gi for Docker/local environments. |
| k8s/clusters/prod/variables/variables-cluster-config-map.yaml | Adds actual_budget_replicas for prod and documents KEDA-managed replica behavior. |
| k8s/bases/infrastructure/controllers/dex/helm-release.yaml | Adds https://budget.${domain}/oidc/callback to Dex redirect URIs for the shared client. |
| k8s/bases/apps/kustomization.yaml | Includes the new actual-budget/ base in the apps bundle. |
| k8s/bases/apps/actual-budget/namespace.yaml | Creates the actual-budget namespace. |
| k8s/bases/apps/actual-budget/kustomization.yaml | Wires Actual Budget resources into a single kustomize package. |
| k8s/bases/apps/actual-budget/httproute.yaml | Routes budget.${domain} through the KEDA HTTP interceptor via Gateway API. |
| k8s/bases/apps/actual-budget/http-scaled-object.yaml | Enables KEDA HTTP scale-to-zero behavior (0→1) for Actual Budget. |
| k8s/bases/apps/actual-budget/helm-repository.yaml | Defines the HelmRepository source for the community actualbudget chart. |
| k8s/bases/apps/actual-budget/helm-release.yaml | Deploys Actual Budget via Helm with persistence and Dex OIDC settings. |
| hosts | Adds budget.platform.lan for local access via the shared ingress setup. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Deploy Actual Budget as a self-hosted personal finance app at
budget.${domain}.Configuration
community-charts/actualbudgetv1.8.7 (appVersion 26.2.0)budget.${domain}public-clientstatic client)Changes
k8s/bases/apps/actual-budget/— Full app manifests (HelmRelease, HelmRepository, HTTPRoute, HTTPScaledObject, Namespace)actual_budget_replicasvariablehostsfile — Addedbudget.platform.lanentryAuth Flow
Actual Budget uses the platform's Dex OIDC provider for single sign-on via GitHub. No new secrets are required — reuses the existing
dex_client_secretwith thepublic-clientclient ID.