fava accounting viewer

This commit is contained in:
azykov@mail.ru
2026-07-31 12:06:50 +03:00
parent 299907cb6a
commit 4cb79c0e35
14 changed files with 214 additions and 53 deletions
+86
View File
@@ -0,0 +1,86 @@
apiVersion: helm.toolkit.fluxcd.io/v2
kind: HelmRelease
metadata:
name: fava
namespace: finance
spec:
interval: 30m
chartRef:
kind: OCIRepository
name: fava
values:
controllers:
app:
initContainers:
seed-ledger:
image:
repository: busybox
tag: "1.36"
command:
- sh
- -c
- |
if [ ! -f /bean/main.beancount ]; then
printf '1970-01-01 open Assets:Cash\n1970-01-01 open Equity:Opening-Balances\n' > /main.beancount
fi
containers:
app:
image:
repository: yegle/fava
tag: latest
env:
TZ: Europe/Moscow
BEANCOUNT_FILE: /main.beancount
probes:
liveness:
enabled: true
readiness:
enabled: true
resources:
requests:
cpu: 50m
memory: 128Mi
limits:
memory: 512Mi
service:
app:
controller: app
ports:
http:
port: 5000
ingress:
app:
className: traefik
annotations:
cert-manager.io/cluster-issuer: letsencrypt-prod
traefik.ingress.kubernetes.io/router.middlewares: auth-authelia@kubernetescrd
hosts:
- host: acc.aggtaa.com
paths:
- path: /
pathType: Prefix
service:
identifier: app
port: http
tls:
- secretName: fava-tls
hosts:
- acc.aggtaa.com
persistence:
bean:
type: persistentVolumeClaim
accessMode: ReadWriteOnce
size: 1Gi
storageClass: longhorn
retain: true
globalMounts:
- path: /bean
documents:
type: persistentVolumeClaim
existingClaim: fava-documents
globalMounts:
- path: /documents
readOnly: true
@@ -0,0 +1,10 @@
apiVersion: source.toolkit.fluxcd.io/v1
kind: OCIRepository
metadata:
name: fava
namespace: finance
spec:
interval: 1h
url: oci://ghcr.io/bjw-s-labs/helm/app-template
ref:
tag: "5.0.1"
@@ -0,0 +1,6 @@
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
resources:
- helmrepository.yaml
- helmrelease.yaml
- pv-pvc-documents.yaml
@@ -0,0 +1,35 @@
apiVersion: v1
kind: PersistentVolume
metadata:
name: fava-documents-nfs
spec:
capacity:
storage: 30Gi
accessModes:
- ReadWriteMany
persistentVolumeReclaimPolicy: Retain
storageClassName: ""
mountOptions:
- nfsvers=4.1
nfs:
server: 10.0.64.5
path: /exports/shared/documents/accounting
claimRef:
namespace: finance
name: fava-documents
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: fava-documents
namespace: finance
annotations:
helm.sh/resource-policy: keep
spec:
accessModes:
- ReadWriteMany
storageClassName: ""
volumeName: fava-documents-nfs
resources:
requests:
storage: 30Gi