fava accounting viewer

This commit is contained in:
azykov@mail.ru
2026-07-31 12:06:50 +03:00
parent 05a8a73c03
commit 0f10e12381
8 changed files with 161 additions and 0 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
+4
View File
@@ -0,0 +1,4 @@
apiVersion: v1
kind: Namespace
metadata:
name: finance
+18
View File
@@ -0,0 +1,18 @@
apiVersion: kustomize.toolkit.fluxcd.io/v1
kind: Kustomization
metadata:
name: fava
namespace: flux-system
spec:
interval: 10m
sourceRef:
kind: GitRepository
name: flux-system
path: ./clusters/base/apps/fava
prune: true
wait: true
dependsOn:
- name: namespaces
- name: infra
- name: nfs-ganesha
retryInterval: 5s
+1
View File
@@ -11,3 +11,4 @@ resources:
- markdown-vault-mcp.yaml - markdown-vault-mcp.yaml
- nfs-ganesha.yaml - nfs-ganesha.yaml
- webdav.yaml - webdav.yaml
- fava.yaml
@@ -12,4 +12,5 @@ resources:
- ../../base/namespaces/ai.yaml - ../../base/namespaces/ai.yaml
- ../../base/namespaces/mcp.yaml - ../../base/namespaces/mcp.yaml
- ../../base/namespaces/webdav.yaml - ../../base/namespaces/webdav.yaml
- ../../base/namespaces/finance.yaml
- ../../base/namespaces/nfs.yaml - ../../base/namespaces/nfs.yaml