Publish capacity, recovery, labor, and allocation-driver evidence for resource:railiance:apps-pg so resource-control can forecast and allocate without reading application data or inventing booked cost.
139 lines
3.9 KiB
JSON
139 lines
3.9 KiB
JSON
{
|
|
"schema_version": "0.1",
|
|
"record_type": "usage_observation",
|
|
"resource_id": "resource:railiance:apps-pg",
|
|
"source": "railiance-platform",
|
|
"workplan_id": "RAILIANCE-WP-0016",
|
|
"reef": "reef-railiance",
|
|
"captured_at": "2026-08-14T00:04:19Z",
|
|
"identity": {
|
|
"cluster": "apps-pg",
|
|
"namespace": "databases",
|
|
"pod": "apps-pg-1",
|
|
"image": "ghcr.io/cloudnative-pg/postgresql:16",
|
|
"postgres_version": "PostgreSQL 16.13 (Debian 16.13-1.pgdg11+1) on x86_64-pc-linux-gnu, compiled by gcc (Debian 10.2.1-6) 10.2.1 20210110, 64-bit",
|
|
"created_at": "2026-08-09T00:15:53Z",
|
|
"phase": "Cluster in healthy state"
|
|
},
|
|
"capacity": {
|
|
"instances_provisioned": 1,
|
|
"instances_ready": 1,
|
|
"cpu_request": null,
|
|
"memory_request": null,
|
|
"cpu_limit": null,
|
|
"memory_limit": null,
|
|
"storage_provisioned": "10Gi",
|
|
"storage_class": "local-path",
|
|
"max_connections": 100
|
|
},
|
|
"utilization": {
|
|
"cpu_observed": "9m",
|
|
"memory_observed": "102Mi",
|
|
"pgdata_bytes": 619083120,
|
|
"wal_bytes_since_init": 587202560,
|
|
"sessions": 7,
|
|
"databases": [
|
|
{
|
|
"name": "apps_meta",
|
|
"bytes": 7830551,
|
|
"backends": 0,
|
|
"xact_commit": 14374,
|
|
"xact_rollback": 0,
|
|
"blks_read": 126,
|
|
"blks_hit": 525989,
|
|
"tup_inserted": 0,
|
|
"tup_updated": 0,
|
|
"tup_deleted": 0
|
|
},
|
|
{
|
|
"name": "coulomb_social_db",
|
|
"bytes": 8952855,
|
|
"backends": 0,
|
|
"xact_commit": 14754,
|
|
"xact_rollback": 0,
|
|
"blks_read": 41,
|
|
"blks_hit": 574766,
|
|
"tup_inserted": 982,
|
|
"tup_updated": 77,
|
|
"tup_deleted": 11
|
|
},
|
|
{
|
|
"name": "postgres",
|
|
"bytes": 7830551,
|
|
"backends": 1,
|
|
"xact_commit": 146383,
|
|
"xact_rollback": 0,
|
|
"blks_read": 356,
|
|
"blks_hit": 3445068,
|
|
"tup_inserted": 0,
|
|
"tup_updated": 4,
|
|
"tup_deleted": 0
|
|
},
|
|
{
|
|
"name": "vergabe_db",
|
|
"bytes": 7668239,
|
|
"backends": 0,
|
|
"xact_commit": 0,
|
|
"xact_rollback": 0,
|
|
"blks_read": 0,
|
|
"blks_hit": 0,
|
|
"tup_inserted": 0,
|
|
"tup_updated": 0,
|
|
"tup_deleted": 0
|
|
}
|
|
]
|
|
},
|
|
"consumers": [
|
|
{
|
|
"database": "coulomb_social_db",
|
|
"workload": "coulomb-social",
|
|
"role": "coulomb_social",
|
|
"cost_attribution_key": "platform:coulomb-social",
|
|
"bytes": 8952855,
|
|
"xact_commit": 14754,
|
|
"backends": 0,
|
|
"share_of_consumer_bytes": 0.5386
|
|
},
|
|
{
|
|
"database": "vergabe_db",
|
|
"workload": "vergabe-teilnahme",
|
|
"role": "vergabe",
|
|
"cost_attribution_key": "platform:vergabe-teilnahme",
|
|
"bytes": 7668239,
|
|
"xact_commit": 0,
|
|
"backends": 0,
|
|
"share_of_consumer_bytes": 0.4614
|
|
}
|
|
],
|
|
"recovery": {
|
|
"cluster_ready": true,
|
|
"continuous_archiving": true,
|
|
"scheduled_backup_present": false,
|
|
"option_a_target": false,
|
|
"restore_drill_recorded": false,
|
|
"rpo": "unbounded",
|
|
"rto": "undefined",
|
|
"failure_domain": "single-host local-path on railiance01"
|
|
},
|
|
"allocation": {
|
|
"method": "proportional",
|
|
"driver": "database_gb",
|
|
"method_version": "apps-pg-dbbytes-v1",
|
|
"consumer_bytes": 16621094,
|
|
"residual_bytes": 586800924,
|
|
"residual_key": "platform:apps-pg-overhead",
|
|
"notes": [
|
|
"Consumer share is pg_database_size of declared consumer databases only.",
|
|
"Residual is PGDATA minus all non-template databases (WAL and catalogs)."
|
|
]
|
|
},
|
|
"provenance": {
|
|
"commands": [
|
|
"kubectl get cluster apps-pg -n databases -o json",
|
|
"kubectl top pod -n databases -l cnpg.io/cluster=apps-pg",
|
|
"kubectl exec -n databases apps-pg-1 -c postgres -- du -sb /var/lib/postgresql/data/pgdata",
|
|
"psql non-secret catalog and pg_stat_database queries"
|
|
],
|
|
"authority": "reef-railiance Kubernetes API + local postgres catalog"
|
|
}
|
|
}
|