2026-02-22 13:56:34 +00:00
|
|
|
include "root" {
|
|
|
|
|
path = find_in_parent_folders()
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
dependency "platform" {
|
|
|
|
|
config_path = "../platform"
|
|
|
|
|
skip_outputs = true
|
|
|
|
|
}
|
2026-03-14 17:15:48 +00:00
|
|
|
|
|
|
|
|
dependency "vault" {
|
|
|
|
|
config_path = "../vault"
|
|
|
|
|
skip_outputs = true
|
|
|
|
|
}
|
wealth: SQLite→PG ETL sidecar + new Grafana dashboard
Mirrors Wealthfolio's daily_account_valuation / accounts / activities
from SQLite into a new PG database (wealthfolio_sync) every hour, so
Grafana can chart net worth, contributions, and growth over time.
Components:
- dbaas: null_resource creates wealthfolio_sync DB + role on the CNPG
cluster (dynamic primary lookup so it survives failover).
- vault: pg-wealthfolio-sync static role rotates the password every 7d.
- wealthfolio: ExternalSecret pulls the rotated password into the WF
namespace; new pg-sync sidecar (alpine + sqlite + postgresql-client +
busybox crond) does sqlite3 .backup → TSV dump → truncate-and-reload
psql, hourly at :07. Plus a grafana-wealth-datasource ConfigMap in
the monitoring namespace (uid: wealth-pg).
- monitoring: new Wealth dashboard (wealth.json, 10 panels) — current
net worth / contribution / growth / ROI% stats, then time-series
for net worth, contribution-vs-market, growth area, per-account
stacked area, cash-vs-invested, and a 100-row activity log.
Initial sync: 6 accounts, 10,798 daily valuations, 518 activities.
Verified PG totals match SQLite latest snapshot exactly.
2026-04-25 17:07:33 +00:00
|
|
|
|
|
|
|
|
dependency "external-secrets" {
|
|
|
|
|
config_path = "../external-secrets"
|
|
|
|
|
skip_outputs = true
|
|
|
|
|
}
|