|
1 | | -{"version": 2, "width": 130, "height": 35, "timestamp": 1779531590, "env": {"SHELL": "/bin/bash", "TERM": "xterm-256color"}, "title": "DV2.0 multi-branch live demo"} |
2 | | -[0.01269, "o", "\r\n\u001b[1;33m# === Beat 1 — Cluster topology (00:25) ===\u001b[0m\r\n"] |
3 | | -[1.520249, "o", "\u001b[1;36m$\u001b[0m kubectl get nodes --show-labels | head -5\r\n"] |
4 | | -[2.411272, "o", "NAME STATUS ROLES AGE VERSION LABELS\r\nhq-demo-control-plane Ready control-plane 6h18m v1.35.0 beta.kubernetes.io/arch=amd64,beta.kubernetes.io/os=linux,branch=msk,kubernetes.io/arch=amd64,kubernetes.io/hostname=hq-demo-control-plane,kubernetes.io/os=linux,node-role.kubernetes.io/control-plane=,node.kubernetes.io/exclude-from-external-load-balancers=,nodepool=hq-control\r\nhq-demo-worker Ready <none> 6h18m v1.35.0 beta.kubernetes.io/arch=amd64,beta.kubernetes.io/os=linux,branch=msk,kubernetes.io/arch=amd64,kubernetes.io/hostname=hq-demo-worker,kubernetes.io/os=linux,nodepool=hq-data-tier-a,workload=postgres\r\nhq-demo-worker2 Ready <none> 6h18m v1.35.0 beta.kubernetes.io/arch=amd64,beta.kubernetes.io/os=linux,branch=msk,kubernetes.io/arch=amd64,kubernetes.io/hostname=hq-demo-worker2,kubernetes.io/os=linux,nodepool=hq-data-tier-b,workload=clickhouse\r\n"] |
5 | | -[4.921556, "o", "\r\n\u001b[1;33m# === Beat 2 — DV2.0 model surface (00:45) ===\u001b[0m\r\n"] |
6 | | -[6.434524, "o", "\u001b[1;36m$\u001b[0m kubectl exec -n dv2 clickhouse-0 -- clickhouse-client --user default --password demo --query \"SELECT splitByString('_', name)[1] AS kind, count() FROM system.tables WHERE database='rv' GROUP BY kind ORDER BY kind\"\r\n"] |
7 | | -[7.428901, "o", "bv\t6\r\nhub\t8\r\nlnk\t8\r\nsat\t39\r\n"] |
8 | | -[9.95663, "o", "\r\n\u001b[1;33m# === Beat 3 — Multi-branch distribution (01:05) ===\u001b[0m\r\n"] |
9 | | -[11.465034, "o", "\u001b[1;36m$\u001b[0m kubectl exec -n dv2 clickhouse-0 -- clickhouse-client --user default --password demo --query \"SELECT splitByString('__', record_source)[2] AS branch, count() AS orders, round(count()*100.0/(SELECT count() FROM rv.hub_order),1) AS pct FROM rv.hub_order GROUP BY branch ORDER BY pct DESC FORMAT PrettyCompact\"\r\n"] |
10 | | -[12.475313, "o", " ┌─branch─┬─orders─┬──pct─┐\r\n1. │ msk │ 4200 │ 40.5 │\r\n2. │ spb │ 2500 │ 24.1 │\r\n3. │ ekb │ 1500 │ 14.5 │\r\n4. │ dxb │ 1160 │ 11.2 │\r\n5. │ ala │ 1000 │ 9.7 │\r\n └────────┴────────┴──────┘\r\n"] |
11 | | -[14.995744, "o", "\r\n\u001b[1;33m# === Beat 4 — Business Vault MDM (01:25) ===\u001b[0m\r\n"] |
12 | | -[16.50705, "o", "\u001b[1;36m$\u001b[0m kubectl exec -n dv2 clickhouse-0 -- clickhouse-client --user default --password demo --multiline --query \"SELECT 'msk' AS branch, count() AS rows, countIf(first_name != '') AS with_pii, countIf(loyalty_segment != '') AS with_loyalty FROM rv.bv_customer_mdm__msk UNION ALL SELECT 'dxb', count(), countIf(first_name != ''), countIf(loyalty_segment IS NOT NULL AND loyalty_segment != '') FROM rv.bv_customer_mdm__dxb FORMAT PrettyCompact\"\r\n"] |
13 | | -[17.550896, "o", " ┌─branch─┬─rows─┬─with_pii─┬─with_loyalty─┐\r\n1. │ dxb │ 200 │ 200 │ 0 │\r\n2. │ msk │ 800 │ 800 │ 640 │\r\n └────────┴──────┴──────────┴──────────────┘\r\n"] |
14 | | -[20.072279, "o", "\r\n\u001b[1;33m# === Beat 5a — Cold offload (01:50) ===\u001b[0m\r\n"] |
15 | | -[21.576438, "o", "\u001b[1;36m$\u001b[0m kubectl create job --from=cronjob/dv2-cold-offload-msk cold-demo-3455 -n dv2\r\n"] |
16 | | -[22.483005, "o", "job.batch/cold-demo-3455 created\r\n"] |
17 | | -[32.996093, "o", "\r\n\u001b[1;33m# === Beat 5b — MinIO parquet listing ===\u001b[0m\r\n"] |
18 | | -[34.50554, "o", "\u001b[1;36m$\u001b[0m kubectl exec -n dv2 minio-0 -- mc ls -r local/cold-tier | tail -5\r\n"] |
19 | | -[35.495859, "o", "[2026-05-23 09:44:37 UTC] 6.7KiB STANDARD branch=ala/year=2026/month=05/customers_anon.parquet\r\n[2026-05-23 09:44:32 UTC] 6.7KiB STANDARD branch=dxb/year=2026/month=05/customers_anon.parquet\r\n[2026-05-23 09:44:37 UTC] 8.6KiB STANDARD branch=ekb/year=2026/month=05/customers_anon.parquet\r\n[2026-05-23 10:20:13 UTC] 20KiB STANDARD branch=msk/year=2026/month=05/customers_anon.parquet\r\n[2026-05-23 09:44:32 UTC] 13KiB STANDARD branch=spb/year=2026/month=05/customers_anon.parquet\r\n"] |
20 | | -[38.005981, "o", "\r\n\u001b[1;33m# === Closing (02:00) — Single bootstrap reproduces everything ===\u001b[0m\r\n"] |
21 | | -[39.516429, "o", "\u001b[1;36m$\u001b[0m bash infrastructure/dv2/bootstrap.sh\r\n"] |
22 | | -[41.521865, "o", "\r\n\u001b[1;33mDemo complete. See docs/dv2-multi-branch/demo_evidence.md for the full breakdown.\u001b[0m\r\n"] |
| 1 | +{"version": 2, "width": 130, "height": 35, "timestamp": 1783334766, "env": {"SHELL": "/bin/bash", "TERM": "xterm-256color"}, "title": "DV2.0 multi-branch live demo"} |
| 2 | +[0.033084, "o", "\r\n\u001b[1;33m# === Beat 1 — Cluster topology (00:25) ===\u001b[0m\r\n"] |
| 3 | +[1.554022, "o", "\u001b[1;36m$\u001b[0m kubectl get nodes --show-labels | head -5\r\n"] |
| 4 | +[2.805528, "o", "NAME STATUS ROLES AGE VERSION LABELS\r\nhq-demo-control-plane Ready control-plane 5h30m v1.32.2 beta.kubernetes.io/arch=amd64,beta.kubernetes.io/os=linux,branch=msk,kubernetes.io/arch=amd64,kubernetes.io/hostname=hq-demo-control-plane,kubernetes.io/os=linux,node-role.kubernetes.io/control-plane=,node.kubernetes.io/exclude-from-external-load-balancers=,nodepool=hq-control\r\nhq-demo-worker Ready <none> 5h29m v1.32.2 beta.kubernetes.io/arch=amd64,beta.kubernetes.io/os=linux,branch=msk,kubernetes.io/arch=amd64,kubernetes.io/hostname=hq-demo-worker,kubernetes.io/os=linux,nodepool=hq-data-tier-a,workload=postgres\r\nhq-demo-worker2 Ready <none> 5h29m v1.32.2 beta.kubernetes.io/arch=amd64,beta.kubernetes.io/os=linux,branch=msk,kubernetes.io/arch=amd64,kubernetes.io/hostname=hq-demo-worker2,kubernetes.io/os=linux,nodepool=hq-data-tier-b,workload=clickhouse\r\n"] |
| 5 | +[5.31246, "o", "\r\n\u001b[1;33m# === Beat 2 — DV2.0 model surface (00:45) ===\u001b[0m\r\n"] |
| 6 | +[6.826426, "o", "\u001b[1;36m$\u001b[0m kubectl exec -n dv2 clickhouse-0 -- clickhouse-client --user default --password demo --query \"SELECT splitByString('_', name)[1] AS kind, count() FROM system.tables WHERE database='rv' GROUP BY kind ORDER BY kind\"\r\n"] |
| 7 | +[13.226603, "o", "bv\t6\r\nhub\t8\r\nlnk\t8\r\nsat\t48\r\n"] |
| 8 | +[17.616754, "o", "\r\n\u001b[1;33m# === Beat 3 — Multi-branch distribution (01:05) ===\u001b[0m\r\n"] |
| 9 | +[19.126624, "o", "\u001b[1;36m$\u001b[0m kubectl exec -n dv2 clickhouse-0 -- clickhouse-client --user default --password demo --query \"SELECT splitByString('__', record_source)[2] AS branch, count() AS orders, round(count()*100.0/(SELECT count() FROM rv.hub_order),1) AS pct FROM rv.hub_order GROUP BY branch ORDER BY pct DESC FORMAT PrettyCompact\"\r\n"] |
| 10 | +[21.499089, "o", " ┌─branch─┬─orders─┬──pct─┐\r\n1. │ msk │ 9740 │ 94.7 │\r\n2. │ spb │ 180 │ 1.8 │\r\n3. │ dxb │ 155 │ 1.5 │\r\n4. │ ekb │ 130 │ 1.3 │\r\n5. │ ala │ 75 │ 0.7 │\r\n └────────┴────────┴──────┘\r\n"] |
| 11 | +[24.128329, "o", "\r\n\u001b[1;33m# === Beat 4 — Business Vault MDM (01:25) ===\u001b[0m\r\n"] |
| 12 | +[25.635284, "o", "\u001b[1;36m$\u001b[0m kubectl exec -n dv2 clickhouse-0 -- clickhouse-client --user default --password demo --multiline --query \"SELECT 'msk' AS branch, count() AS rows, countIf(first_name != '') AS with_pii, countIf(loyalty_segment != '') AS with_loyalty FROM rv.bv_customer_mdm__msk UNION ALL SELECT 'dxb', count(), countIf(first_name != ''), countIf(loyalty_segment IS NOT NULL AND loyalty_segment != '') FROM rv.bv_customer_mdm__dxb FORMAT PrettyCompact\"\r\n"] |
| 13 | +[37.092843, "o", " ┌─branch─┬─rows─┬─with_pii─┬─with_loyalty─┐\r\n1. │ dxb │ 80 │ 80 │ 0 │\r\n2. │ msk │ 2240 │ 2240 │ 152 │\r\n └────────┴──────┴──────────┴──────────────┘\r\n"] |
| 14 | +[40.056267, "o", "\r\n"] |
| 15 | +[40.056349, "o", "\u001b[1;33m# === Beat 5a — Cold offload (01:50) ===\u001b[0m\r\n"] |
| 16 | +[41.566622, "o", "\u001b[1;36m$\u001b[0m kubectl create job --from=cronjob/dv2-cold-offload-msk cold-demo-5534 -n dv2\r\n"] |
| 17 | +[42.711019, "o", "job.batch/cold-demo-5534 created\r\n"] |
| 18 | +[53.229094, "o", "\r\n\u001b[1;33m# === Beat 5b — MinIO parquet listing ===\u001b[0m\r\n"] |
| 19 | +[54.745112, "o", "\u001b[1;36m$\u001b[0m kubectl exec -n dv2 minio-0 -- mc ls -r local/cold-tier | tail -5\r\n"] |
| 20 | +[62.23601, "o", "[2026-07-06 06:00:06 UTC] 4.1KiB STANDARD branch=ala/year=2026/month=07/customers_anon.parquet\r\n[2026-07-06 05:59:53 UTC] 3.7KiB STANDARD branch=dxb/year=2026/month=07/customers_anon.parquet\r\n[2026-07-06 05:59:49 UTC] 3.9KiB STANDARD branch=ekb/year=2026/month=07/customers_anon.parquet\r\n[2026-07-06 10:44:10 UTC] 50KiB STANDARD branch=msk/year=2026/month=07/customers_anon.parquet\r\n[2026-07-06 05:59:48 UTC] 4.6KiB STANDARD branch=spb/year=2026/month=07/customers_anon.parquet\r\n"] |
| 21 | +[64.753412, "o", "\r\n\u001b[1;33m# === Closing (02:00) — Single bootstrap reproduces everything ===\u001b[0m\r\n"] |
| 22 | +[66.268043, "o", "\u001b[1;36m$\u001b[0m bash infrastructure/dv2/bootstrap.sh\r\n"] |
| 23 | +[68.281547, "o", "\r\n"] |
| 24 | +[68.281596, "o", "\u001b[1;33mDemo complete. See docs/dv2-multi-branch/demo_evidence.md for the full breakdown.\u001b[0m\r\n"] |
0 commit comments