commit 22c6c180b2b8d207c338c191fb2853ab8d215188
parent bfbc01b3b3c17a4dc8f252c2fb397f5f0b0f5cae
Author: MTRNord <MTRNord@users.noreply.github.com>
Date: Mon, 4 Aug 2025 10:30:57 +0200
Prep actual budget
Diffstat:
7 files changed, 148 insertions(+), 32 deletions(-)
diff --git a/apps/base/actualbudget-server/release.yaml b/apps/base/actualbudget-server/release.yaml
@@ -32,44 +32,44 @@ spec:
image: ghcr.io/actualbudget/actual:25.7.1
imagePullPolicy: IfNotPresent
resources:
- limits:
- cpu: 100m
- memory: 128Mi
- requests:
- cpu: 100m
- memory: 128Mi
+ limits:
+ cpu: 100m
+ memory: 128Mi
+ requests:
+ cpu: 100m
+ memory: 128Mi
env:
- - name: NODE_ENV
- value: "production"
+ - name: NODE_ENV
+ value: "production"
# - name: DEBUG
# value: "*"
ports:
- - containerPort: 5006
+ - containerPort: 5006
livenessProbe:
- httpGet:
- path: /
- port: 5006
- initialDelaySeconds: 30
- periodSeconds: 10
- timeoutSeconds: 5
- successThreshold: 1
- failureThreshold: 3
+ httpGet:
+ path: /
+ port: 5006
+ initialDelaySeconds: 30
+ periodSeconds: 10
+ timeoutSeconds: 5
+ successThreshold: 1
+ failureThreshold: 3
readinessProbe:
- httpGet:
- path: /
- port: 5006
- initialDelaySeconds: 30
- periodSeconds: 10
- timeoutSeconds: 5
- successThreshold: 1
- failureThreshold: 3
+ httpGet:
+ path: /
+ port: 5006
+ initialDelaySeconds: 30
+ periodSeconds: 10
+ timeoutSeconds: 5
+ successThreshold: 1
+ failureThreshold: 3
volumeMounts:
- - name: actualbudget-server
- mountPath: /data
+ - name: actualbudget-server
+ mountPath: /data
volumes:
- name: actualbudget-server
persistentVolumeClaim:
- claimName: actualbudget-server
+ claimName: actualbudget-server
---
apiVersion: v1
kind: Service
@@ -97,8 +97,8 @@ spec:
- budget.midnightthoughts.space
rules:
- backendRefs:
- - name: actualbudget-server-service
- port: 5006
+ - name: actualbudget-server-service
+ port: 5006
timeouts:
- request: 240s
- backendRequest: 0s
+ request: 240s
+ backendRequest: 0s
diff --git a/apps/talos_cluster/actualbudget-server/kustomization.yaml b/apps/talos_cluster/actualbudget-server/kustomization.yaml
@@ -0,0 +1,6 @@
+apiVersion: kustomize.config.k8s.io/v1beta1
+kind: Kustomization
+namespace: actualbudget-server
+resources:
+ - pvc.yaml
+ #- release.yaml
diff --git a/apps/talos_cluster/actualbudget-server/pvc.yaml b/apps/talos_cluster/actualbudget-server/pvc.yaml
@@ -0,0 +1,13 @@
+apiVersion: v1
+kind: PersistentVolumeClaim
+metadata:
+ name: actualbudget-server
+ namespace: actualbudget-server
+spec:
+ resources:
+ requests:
+ storage: 1Gi
+ storageClassName: ceph-filesystem
+ volumeMode: Filesystem
+ accessModes:
+ - ReadWriteMany
diff --git a/apps/talos_cluster/actualbudget-server/release.yaml b/apps/talos_cluster/actualbudget-server/release.yaml
@@ -0,0 +1,91 @@
+---
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+ name: actualbudget-server
+ namespace: actualbudget-server
+spec:
+ replicas: 1
+ selector:
+ matchLabels:
+ app: actualbudget-server
+ template:
+ metadata:
+ labels:
+ app: actualbudget-server
+ spec:
+ containers:
+ - name: actualbudget-server
+ image: ghcr.io/actualbudget/actual:25.8.0
+ imagePullPolicy: IfNotPresent
+ resources:
+ limits:
+ cpu: 100m
+ memory: 128Mi
+ requests:
+ cpu: 100m
+ memory: 128Mi
+ env:
+ - name: NODE_ENV
+ value: "production"
+ # - name: DEBUG
+ # value: "*"
+ ports:
+ - containerPort: 5006
+ livenessProbe:
+ httpGet:
+ path: /
+ port: 5006
+ initialDelaySeconds: 30
+ periodSeconds: 10
+ timeoutSeconds: 5
+ successThreshold: 1
+ failureThreshold: 3
+ readinessProbe:
+ httpGet:
+ path: /
+ port: 5006
+ initialDelaySeconds: 30
+ periodSeconds: 10
+ timeoutSeconds: 5
+ successThreshold: 1
+ failureThreshold: 3
+ volumeMounts:
+ - name: actualbudget-server
+ mountPath: /data
+ volumes:
+ - name: actualbudget-server
+ persistentVolumeClaim:
+ claimName: actualbudget-server
+---
+apiVersion: v1
+kind: Service
+metadata:
+ name: actualbudget-server-service
+ namespace: actualbudget-server
+spec:
+ selector:
+ app: actualbudget-server
+ ports:
+ - protocol: TCP
+ port: 5006
+ targetPort: 5006
+---
+apiVersion: gateway.networking.k8s.io/v1
+kind: HTTPRoute
+metadata:
+ name: actualbudget-server
+ namespace: actualbudget-server
+spec:
+ parentRefs:
+ - name: envoy-gateway
+ namespace: envoy-gateway
+ hostnames:
+ - budget.midnightthoughts.space
+ rules:
+ - backendRefs:
+ - name: actualbudget-server-service
+ port: 5006
+ timeouts:
+ request: 240s
+ backendRequest: 0s
diff --git a/apps/talos_cluster/kustomization.yaml b/apps/talos_cluster/kustomization.yaml
@@ -8,3 +8,4 @@ resources:
- ./draupnir4all
- ./draupnir-synapse
- ./vaultwarden
+ - ./actualbudget-server
diff --git a/apps/talos_cluster/namespaces/actualbudget-server.yaml b/apps/talos_cluster/namespaces/actualbudget-server.yaml
@@ -0,0 +1,4 @@
+apiVersion: v1
+kind: Namespace
+metadata:
+ name: actualbudget-server
diff --git a/apps/talos_cluster/namespaces/kustomization.yaml b/apps/talos_cluster/namespaces/kustomization.yaml
@@ -6,3 +6,4 @@ resources:
- authentik.yaml
- matrix.yaml
- vaultwarden.yaml
+ - actualbudget-server.yaml