Add oidc actualbudget 2

This commit is contained in:
Ruben Hensen
2026-04-10 21:32:19 +02:00
parent 068ac20693
commit 499cd6826a
5 changed files with 67 additions and 12 deletions
+17
View File
@@ -0,0 +1,17 @@
apiVersion: external-secrets.io/v1beta1
kind: ExternalSecret
metadata:
name: actualbudget-oidc-client-secret
spec:
secretStoreRef:
name: vault-backend
kind: ClusterSecretStore
refreshInterval: 15m
target:
name: actualbudget-oidc-client-secret
creationPolicy: Owner
data:
- secretKey: client_secret
remoteRef:
key: kv/actualbudget-oidc
property: client_secret
+14 -8
View File
@@ -21,6 +21,20 @@ spec:
image:
tag: "26.3.0"
# OIDC configuration
env:
- name: ACTUAL_OPENID_DISCOVERY_URL
value: https://authentik.rubenhensen.nl/application/o/actualbudget/
- name: ACTUAL_OPENID_CLIENT_ID
value: actualbudget
- name: ACTUAL_OPENID_CLIENT_SECRET
valueFrom:
secretKeyRef:
name: actualbudget-oidc-client-secret
key: client_secret
- name: ACTUAL_OPENID_SERVER_HOSTNAME
value: https://ynab.rubenhensen.nl
# Service configuration
service:
type: ClusterIP
@@ -33,14 +47,6 @@ spec:
annotations:
cert-manager.io/cluster-issuer: prod-cluster-issuer
nginx.ingress.kubernetes.io/proxy-body-size: 50m
nginx.ingress.kubernetes.io/auth-url: |-
http://authentik-server.authentik.svc.cluster.local/outpost.goauthentik.io/auth/nginx
nginx.ingress.kubernetes.io/auth-signin: |-
https://authentik.rubenhensen.nl/outpost.goauthentik.io/start?rd=$scheme%3A%2F%2F$host$escaped_request_uri
nginx.ingress.kubernetes.io/auth-response-headers: |-
Set-Cookie,X-authentik-username,X-authentik-groups,X-authentik-entitlements,X-authentik-email,X-authentik-name,X-authentik-uid
nginx.ingress.kubernetes.io/auth-snippet: |-
proxy_set_header X-Forwarded-Host $http_host;
hosts:
- host: ynab.rubenhensen.nl
paths:
+5
View File
@@ -81,6 +81,11 @@ spec:
secretKeyRef:
name: freshrss-oidc-client-secret
key: client_secret
- name: ACTUALBUDGET_OIDC_CLIENT_SECRET
valueFrom:
secretKeyRef:
name: actualbudget-oidc-client-secret
key: client_secret
server:
volumes:
- name: blueprint-vault
+13 -4
View File
@@ -6,9 +6,9 @@ data:
actualbudget-proxy.yaml: |
version: 1
metadata:
name: Actual Budget Proxy
name: Actual Budget OIDC
entries:
- model: authentik_providers_proxy.proxyprovider
- model: authentik_providers_oauth2.oauth2provider
id: actualbudget-provider
state: present
identifiers:
@@ -18,8 +18,17 @@ data:
authorization_flow: !Find [authentik_flows.flow, [slug, default-provider-authorization-implicit-consent]]
authentication_flow: !Find [authentik_flows.flow, [slug, default-authentication-flow]]
invalidation_flow: !Find [authentik_flows.flow, [slug, default-provider-invalidation-flow]]
mode: forward_single
external_host: https://ynab.rubenhensen.nl
client_type: confidential
client_id: actualbudget
client_secret: !Env [ACTUALBUDGET_OIDC_CLIENT_SECRET, ""]
redirect_uris:
- matching_mode: strict
url: https://ynab.rubenhensen.nl/openid/callback
signing_key: !Find [authentik_crypto.certificatekeypair, [name, "authentik Self-signed Certificate"]]
property_mappings:
- !Find [authentik_providers_oauth2.scopemapping, [managed, goauthentik.io/providers/oauth2/scope-openid]]
- !Find [authentik_providers_oauth2.scopemapping, [managed, goauthentik.io/providers/oauth2/scope-email]]
- !Find [authentik_providers_oauth2.scopemapping, [managed, goauthentik.io/providers/oauth2/scope-profile]]
- model: authentik_core.application
id: actualbudget-app
state: present
+18
View File
@@ -117,3 +117,21 @@ spec:
remoteRef:
key: kv/freshrss-oidc
property: client_secret
---
apiVersion: external-secrets.io/v1beta1
kind: ExternalSecret
metadata:
name: actualbudget-oidc-client-secret
spec:
secretStoreRef:
name: vault-backend
kind: ClusterSecretStore
refreshInterval: 15m
target:
name: actualbudget-oidc-client-secret
creationPolicy: Owner
data:
- secretKey: client_secret
remoteRef:
key: kv/actualbudget-oidc
property: client_secret