fava accounting viewer
This commit is contained in:
@@ -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
|
||||||
@@ -0,0 +1,4 @@
|
|||||||
|
apiVersion: v1
|
||||||
|
kind: Namespace
|
||||||
|
metadata:
|
||||||
|
name: finance
|
||||||
@@ -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
|
||||||
@@ -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
|
||||||
|
|||||||
Reference in New Issue
Block a user