id: T026 name: MVP-PracticalTest goal: Validate MVP stack with live deployment smoke test (FlareDB→IAM→k8shost) status: complete priority: P0 owner: peerB (implementation) created: 2025-12-09 depends_on: [T025] blocks: [T027] context: | MVP-K8s achieved (T025 complete). Before production hardening, validate the integrated stack with live deployment testing. PROJECT.md emphasizes 実戦テスト (practical testing) - this task delivers that. Standard engineering principle: validate before harden. Smoke test reveals integration issues early, before investing in HA/monitoring. acceptance: - All 9 packages build successfully via nix - NixOS modules load without error - Services start and pass health checks - Cross-component integration verified (FlareDB→IAM→k8shost) - Configuration unification validated - Deployment issues documented for T027 hardening steps: - step: S1 name: Environment Setup done: NixOS deployment environment ready, all packages build status: complete owner: peerB priority: P0 notes: | COMPLETE: 2025-12-09 Results: - 9/9 packages build: chainfire-server, flaredb-server, iam-server, plasmavmc-server, novanet-server, flashdns-server, fiberlb-server, lightningstor-server, k8shost-server - 9/9 NixOS modules defined (k8shost.nix added by foreman 2025-12-09) Evidence: .cccc/work/foreman/20251209-180700/build_verification.md - step: S2 name: FlareDB Smoke Test done: FlareDB starts, accepts writes, serves reads status: complete owner: peerB priority: P0 notes: | COMPLETE: 2025-12-09 - Server starts on 50051 - ChainFire integration works - Standalone fallback works - Issue: flaredb-client test mock stale (non-blocking) - step: S3 name: IAM Smoke Test done: IAM starts, authenticates users, issues tokens status: complete owner: peerB priority: P0 notes: | COMPLETE: 2025-12-09 - Server starts on 50054 - In-memory backend initialized - Builtin roles loaded - Health checks enabled - Prometheus metrics on 9090 - Note: Full auth test needs iam-client/grpcurl - step: S4 name: k8shost Smoke Test done: k8shost starts, creates pods with auth, assigns IPs status: complete owner: peerB priority: P0 notes: | COMPLETE: 2025-12-10 - k8shost-server verified with IAM/FlareDB/NovaNET - CNI plugin ADD/DEL confirmed working with NovaNET IPAM (10.102.1.12) - Evidence: cni_integration_test passed status: in_progress owner: peerB priority: P0 - step: S5 name: Cross-Component Integration done: Full stack integration verified end-to-end status: complete owner: peerB priority: P0 notes: | COMPLETE: 2025-12-10 - Bootstrapped IAM with admin user + token via setup_iam tool - Verified k8shost authenticates with IAM (rejects invalid, accepts valid) - Verified k8shost list_nodes returns empty list (success) - Confirmed stack connectivity: Client -> k8shost -> IAM/FlareDB - step: S6 name: Config Unification Verification done: All components use unified configuration approach status: complete owner: peerB priority: P0 notes: | COMPLETE: 2025-12-10 (Verification Only) - FINDING: Configuration is NOT unified. - flaredb: clap flags - iam: clap + config file - novanet: clap flags + env - k8shost: env vars only (no clap) - ACTION: T027 must address config unification (Standardize on clap + config file or env). blockers: [] evidence: - S1: .cccc/work/foreman/20251209-180700/build_verification.md - S4: k8shost CNI integration test pass - S5: smoke_test_e2e pass notes: | T026 COMPLETE. Smoke test successful. Stack is operational. Major debt identified: Configuration unification needed (T027).