Skip to content

K8s Manifests

All in deploy/k8s/, synced by ArgoCD. One namespace, multiple services.

Resources

File Kind Purpose
namespace.yaml Namespace ai-accountant
eventstore-deployment.yaml Deployment Event Store API (SHA updated by CI)
eventstore-service.yaml Service ClusterIP 80→8080
accounting-deployment.yaml Deployment Accounting API (SHA updated by CI)
accounting-service.yaml Service ClusterIP 80→8080
cost-deployment.yaml Deployment Cost API (SHA updated by CI)
cost-service.yaml Service ClusterIP 80→8080
book-e-deployment.yaml Deployment Book-E agent (SHA updated by automate-e CI)
book-e-configmap.yaml ConfigMap character.json mounted at /config/
book-e-secrets.yaml SealedSecret Discord token + Anthropic key
eventstore-secrets.yaml SealedSecret Postgres credentials
accounting-secrets.yaml SealedSecret Folio + Fiken tokens
cost-secrets.yaml SealedSecret Anthropic/Google/Cloudflare usage keys
postgres-statefulset.yaml StatefulSet PostgreSQL 16, 1 replica
postgres-service.yaml Service ClusterIP 5432
cronjob.yaml CronJob Daily 07:00 compliance checks

Resource Limits

Pod CPU req Mem req CPU lim Mem lim
book-e 50m 64Mi 500m 256Mi
eventstore-api 50m 64Mi 500m 256Mi
accounting-api 50m 64Mi 500m 256Mi
cost-api 50m 64Mi 500m 256Mi
postgres 100m 256Mi 500m 512Mi

All API services have low requests (50m/64Mi) because they're mostly idle on a single-node k3s cluster.

Images

Service Image Tag source
Event Store API ghcr.io/stig-johnny/ai-accountant-eventstore CI on src/EventStoreApi/**
Accounting API ghcr.io/stig-johnny/ai-accountant-accounting CI on src/AccountingApi/**
Cost API ghcr.io/stig-johnny/ai-accountant-cost CI on src/CostApi/**
Book-E ghcr.io/stig-johnny/automate-e automate-e repo CI