Commit Graph

  • 9f52f195a7 test(conformance): lower chainsaw parallelism 4->2 to avoid dev etcd overload cascades jakman85andClaude Opus 4.8 2026-08-25 17:21:48 -05:00
  • 63b87ffe46 test(conformance): update DNS tests to Proxmox Gateway VIP 192.168.1.53 (was 10.73.0.24x) jakman85andClaude Opus 4.8 2026-08-25 16:52:09 -05:00
  • 28a34c4477 fix(kyverno): raise admission-controller resources + dev replicas 2 to stop fail-closed crashloop/502s jakman85andClaude Opus 4.8 2026-08-25 16:43:43 -05:00
  • 1b0848c224 fix(kyverno): correct default-deny-shape to require both Ingress+Egress via deny.conditions (scalar-array pattern was inverted) jakman85andClaude Opus 4.8 2026-08-25 16:00:42 -05:00
  • 08113ccfbb ci(l0): fix kyverno test expectations for CLI 1.13.4; pin kyverno-json 0.0.3 jakman85andClaude Opus 4.8 2026-08-25 15:57:29 -05:00
  • bb48f675ee ci: bake pinned test toolchain into devcontainer + fix conformance layer/spec-immutability seams jakman85andClaude Opus 4.8 2026-08-25 15:43:19 -05:00
  • 0d7495486e devcontainer: wire dev.sh to the Proxmox k3s cluster jakman85andClaude Opus 4.8 2026-08-25 14:59:19 -05:00
  • 21669da075 flux: re-enable KubeVirt + CDI (new 16GB Proxmox nodes with nested virt) jakman85andClaude Opus 4.8 2026-08-25 13:21:00 -05:00
  • e6b3a03ff4 flux: re-enable oauth2-proxy now Keycloak is live and split-horizon DNS points at 192.168.1.53 jakman85andClaude Opus 4.8 2026-08-25 13:17:04 -05:00
  • 604552e51c flux(dev): set GATEWAY_VIP to Proxmox Gateway VIP 192.168.1.53 (split-horizon DNS) jakman85andClaude Opus 4.8 2026-08-25 13:15:16 -05:00
  • efd6dbeb3b flux(platform-config): temp-disable orphaned oauth2-proxy refs (missing ns) to unblock reconcile jakman85andClaude Opus 4.8 2026-08-25 13:02:08 -05:00
  • 2fea1e261c flux(platform): temp-disable oauth2-proxy to break cold-start OIDC deadlock (re-enable after platform-config green) jakman85andClaude Opus 4.8 2026-08-25 12:48:05 -05:00
  • c6301a79c5 fix(bootstrap): subshell the repo_root fallback so trailing pwd doesn't corrupt the path jakman85andClaude Opus 4.8 2026-08-25 12:27:34 -05:00
  • fff44992e7 migrate(proxmox): bootstrap source URL -> 192.168.2.103; Cilium k8sServiceHost -> 192.168.1.50 jakman85andClaude Opus 4.8 2026-08-25 12:22:08 -05:00
  • 0037fb40fa ansible(cilium): rewrite controller kubeconfig to SSH-tunnel endpoint (kube-API not NAT-forwarded) jakman85andClaude Opus 4.8 2026-08-25 12:15:12 -05:00
  • 1004c8eae6 ansible(node_baseline): don't fail on qemu-guest-agent when no virtio channel (agent disabled in tofu); enable-only jakman85andClaude Opus 4.8 2026-08-25 12:04:19 -05:00
  • 1ff25318c9 ansible(proxmox): route Ansible via pfSense NAT; decouple k3s node-ip from ansible_host; mount vault-pass into dev container jakman85andClaude Opus 4.8 2026-08-25 11:55:37 -05:00
  • 28d200caf2 tofu(proxmox): use debian generic image + serial console to fix first-boot kernel panic (bpg#1639) jakman85andClaude Opus 4.8 2026-08-25 11:45:29 -05:00
  • fca8d8f800 tofu(proxmox): download base image as import content-type for disk import_from jakman85andClaude Opus 4.8 2026-08-25 10:59:01 -05:00
  • a2392a4a43 tofu(proxmox): API-only native cloud-init; move node baseline to Ansible node_baseline role jakman85andClaude Opus 4.8 2026-08-25 10:55:48 -05:00
  • 8a8f28bf80 infra(proxmox): bump node disks to 64GB OS + 128GB Longhorn data (per operator) jakman85 2026-08-25 10:31:39 -05:00
  • d57c9cbf12 infra(net): repoint ansible inventory + Cilium VIPs to the Proxmox LAN jakman85andClaude Opus 4.8 2026-08-25 10:23:37 -05:00
  • 4bb9c8fcbd infra(tofu): docs + example for the Proxmox migration jakman85andClaude Opus 4.8 2026-08-25 10:23:28 -05:00
  • 39123d7806 infra(cloud-init): deliver baseline via bpg user-data snippet; drop netplan/meta-data templates jakman85andClaude Opus 4.8 2026-08-25 10:23:21 -05:00
  • 53ca698edc infra(tofu): migrate node provisioning from libvirt to bpg/proxmox jakman85andClaude Opus 4.8 2026-08-25 10:23:13 -05:00
  • 4f28ba6945 Merge chore/free-memory-disable-kubevirt (relieve OOM) jakman85 2026-08-25 09:29:30 -05:00
  • 971c730400 chore(memory): temp-disable KubeVirt to relieve node memory pressure jakman85 2026-08-25 09:29:29 -05:00
  • c16e0889fd Merge fix/internet-egress-and-tags (world egress per class + image tags) jakman85 2026-08-25 09:02:06 -05:00
  • 7e8ae472c9 fix(net): renderer emits world/internet egress allow per egress class + fix jackett/plex tags jakman85 2026-08-25 09:02:05 -05:00
  • f9e96402c0 chore(arr): scrub unscaffolded R-STATE-04 token from bulk-storage comments (gate hygiene) jakman85 2026-08-25 08:46:08 -05:00
  • c8c862908b Merge feature/onboard-arr: Sonarr + Radarr (VPN + arr->downloader allows) jakman85 2026-08-25 08:45:56 -05:00
  • ca1239c2c1 Merge feature/onboard-vpn-downloaders: qBittorrent + Jackett (VPN egress) jakman85 2026-08-25 08:45:42 -05:00
  • aea8fca966 Merge chore/longhorn-capacity-plex-size jakman85 2026-08-25 08:45:12 -05:00
  • 4f74c8a2f0 chore(storage): Longhorn over-provisioning 100->200% + right-size plex config 20->8Gi jakman85 2026-08-25 08:45:12 -05:00
  • 8392b52ee8 Onboard VPN downloaders (qBittorrent + Jackett) via ServiceDefinition renderer jakman85andClaude Opus 4.8 2026-08-25 08:40:48 -05:00
  • 0f12950831 Onboard arr apps (Sonarr + Radarr) via ServiceDefinition renderer jakman85andClaude Opus 4.8 2026-08-25 08:32:39 -05:00
  • 87087e06c7 Merge feature/onboard-plex: onboard Plex (media, public; bulk media deferred on OQ-2) jakman85 2026-08-25 08:29:35 -05:00
  • d47c8f91cb Onboard Plex to the k3s platform via ServiceDefinition (WS-APPS) jakman85andClaude Opus 4.8 2026-08-25 08:26:22 -05:00
  • 49229c65cf Merge feature/onboard-gitea: onboard Gitea (git hosting, DR-critical) via renderer jakman85 2026-08-25 08:24:21 -05:00
  • b76fb7bea7 feat(apps): onboard Gitea via ServiceDefinition renderer jakman85andClaude Opus 4.8 2026-08-25 08:23:33 -05:00
  • c70f99afd2 Merge docs/vip-bug-was-transient jakman85 2026-08-25 08:22:21 -05:00
  • 42fc8c7029 docs(pm): the Cilium VIP reachability bug was TRANSIENT - cleared by reboot, no CNI change needed jakman85 2026-08-25 08:22:21 -05:00
  • 1eb2cb70d0 Merge fix/trusted-tls-prod-verify (R-TLS-01/03 green on LE-prod) jakman85 2026-08-25 08:21:58 -05:00
  • 5ba3f9d46d fix(conformance): trusted-tls verifies LE-prod cert via system trust + split-horizon DNS (R-TLS-01/03) jakman85 2026-08-25 08:21:55 -05:00
  • 90714cb910 Merge docs/cilium-vip-reachability-finding jakman85 2026-08-25 01:48:48 -05:00
  • f977bcbee5 docs(pm): root-caused Cilium pod->Gateway-VIP reachability bug (non-announcer nodes) + gateway-ingress/pihole jakman85 2026-08-25 01:48:46 -05:00
  • 6522204478 Merge fix/gateway-ingress-default-deny: renderer emits gateway-ingress allow for exposed apps (R-NET-01/02/03) jakman85 2026-08-25 01:01:03 -05:00
  • c6a480eed1 test(net): L2 conformance — exposed app reachable through Gateway under default-deny (R-NET-03) jakman85andClaude Opus 4.8 2026-08-25 00:10:56 -05:00
  • c13ef69e71 feat(net): renderer emits gateway-ingress allow for exposed services (R-NET-01/02) jakman85andClaude Opus 4.8 2026-08-24 23:40:52 -05:00
  • e022a2aea4 Merge feature/onboard-pihole (first WS-APPS onboarding) jakman85 2026-08-24 23:27:22 -05:00
  • e843db2601 feat(apps): onboard pihole via renderer + --no-image-automation flag (WS-APPS golden path) jakman85 2026-08-24 23:27:22 -05:00
  • 34e4b191f1 Merge docs/session7-certified jakman85 2026-08-24 23:23:05 -05:00
  • 1cb8282f62 docs(pm): both deliverables certified — Keycloak SSO + KubeVirt P5 all green on KVM jakman85 2026-08-24 23:23:03 -05:00
  • c05fd6702a Merge fix/kubevirt-vm-boot: real-KVM DataVolume VMs (R-PLAT-03/04 green; useEmulation:false, EFI, DataVolume roots) jakman85 2026-08-24 23:10:14 -05:00
  • 0fd022c7f0 Merge fix/oidc-grafana-probe-busybox (R-IDP-01 probe) jakman85 2026-08-24 23:10:14 -05:00
  • a177d62925 fix(conformance): busybox-compatible wget in oidc-sso-grafana probe (R-IDP-01) jakman85 2026-08-24 23:09:06 -05:00
  • 3a59ef1918 fix(kubevirt): boot VMs via CDI DataVolume + EFI + real KVM (Phase 5) jakman85andClaude Opus 4.8 2026-08-24 23:07:10 -05:00
  • 98b7200830 Merge fix/grafana-oidc-rollout (R-IDP-01) jakman85 2026-08-24 22:57:00 -05:00
  • bc0982c213 fix(grafana): roll Grafana to load the OIDC client-secret (R-IDP-01) jakman85 2026-08-24 22:57:00 -05:00
  • e78025e54a Merge docs/session7-deploy-log jakman85 2026-08-24 22:50:23 -05:00
  • ff59d2bc6d docs(pm): Session 7 log — Phase 5/6+4 deployed, Keycloak SSO functional (4-gap fix chain) jakman85 2026-08-24 22:50:22 -05:00
  • 1338b43926 Merge feature/reenable-oauth2proxy-trusted (SSO forward-auth online) jakman85 2026-08-24 22:47:08 -05:00
  • 4a6e0d3d37 feat: re-enable oauth2-proxy on the LE-prod-trusted wildcard cert (R-IDP-02) jakman85 2026-08-24 22:47:07 -05:00
  • d639cfeaba Merge chore/defer-oauth2proxy-for-cert (break prod-cert deadlock) jakman85 2026-08-24 22:42:20 -05:00
  • fc62345f0d chore: temp-defer oauth2-proxy to break the prod-cert deadlock (re-enable after) jakman85 2026-08-24 22:42:19 -05:00
  • ae3a0d7fd7 Merge fix/dev-tls-production (LE prod certs for in-cluster SSO trust) jakman85 2026-08-24 22:39:47 -05:00
  • 8a7700e49a fix(tls): switch dev to LE production issuer so in-cluster clients trust the wildcard cert jakman85andClaude Opus 4.8 2026-08-24 22:39:47 -05:00
  • 3b97f5f058 Merge fix/split-horizon-dns: in-cluster split-horizon DNS (R-DNS-01/03) — unblocks SSO jakman85 2026-08-24 22:29:59 -05:00
  • 8b199a6780 test(dns): internal split-horizon resolution conformance (R-DNS-01/R-DNS-03) jakman85andClaude Opus 4.8 2026-08-24 22:28:53 -05:00
  • 3a1e0e6887 feat(dns): split-horizon in-cluster DNS via coredns-custom (R-DNS-01/R-DNS-03) jakman85andClaude Opus 4.8 2026-08-24 22:28:46 -05:00
  • bba67d03ce feat(dns): add GATEWAY_VIP cluster-var for split-horizon target (R-DNS-03) jakman85andClaude Opus 4.8 2026-08-24 22:28:37 -05:00
  • 186ff23098 Merge feature/servicedefinition-renderer: ServiceDefinition renderer T-0.3 (R-GITOPS-02) + L1 render tests green jakman85 2026-08-24 22:23:25 -05:00
  • a79f24f75e Add container-workload-render L1 test (R-PLAT-02) jakman85andClaude Opus 4.8 2026-08-24 22:22:04 -05:00
  • 4a017c590e Wire L1 render conformance tests to the renderer (R-NET-01, R-NET-05/06/07) jakman85andClaude Opus 4.8 2026-08-24 22:19:08 -05:00
  • 6b2c04ed5c Add ServiceDefinition renderer (T-0.3, R-GITOPS-02) jakman85andClaude Opus 4.8 2026-08-24 22:18:58 -05:00
  • 01bcb99337 Merge feature/phase4-image-automation: Phase 4 hands-off updates (R-UPD-01/02/03) jakman85 2026-08-24 22:17:44 -05:00
  • 0fb4ef2baf Merge fix/oauth2-proxy-cookie-secret (32-byte cookie) jakman85 2026-08-24 22:17:20 -05:00
  • 951973b74d fix(oauth2-proxy): cookie-secret must be 32 raw bytes (hex16), not base64-44 jakman85andClaude Opus 4.8 2026-08-24 22:17:20 -05:00
  • cbe5fab040 test(updates): complete hands-off-update L3 conformance (R-UPD-01/02/03) jakman85andClaude Opus 4.8 2026-08-24 22:15:03 -05:00
  • bfec9d869e feat(updates): alert on failed / rolled-back updates (R-UPD-02 + R-OBS) jakman85andClaude Opus 4.8 2026-08-24 22:14:54 -05:00
  • f538f8ff38 feat(updates): per-service update-policy render contract + Renovate config (R-UPD-01/R-UPD-03) jakman85andClaude Opus 4.8 2026-08-24 22:14:48 -05:00
  • 37f4fa6767 feat(updates): install Flux image controllers + cluster-wide write-back engine (R-UPD-02) jakman85andClaude Opus 4.8 2026-08-24 22:14:39 -05:00
  • 392f458d94 Merge feature/keycloak-sso-secrets (complete Phase 6 SSO: client secrets + oauth2-proxy) jakman85 2026-08-24 22:08:06 -05:00
  • ed6a772599 feat(keycloak): provision SSO client secrets + re-enable oauth2-proxy (R-IDP-01/02/04) jakman85andClaude Opus 4.8 2026-08-24 22:08:04 -05:00
  • f49b8c2e02 Merge chore/defer-oauth2proxy-pending-secret (unwedge platform for KubeVirt certification) jakman85 2026-08-24 21:43:24 -05:00
  • ef5b7bd57b chore(phase6): temp-defer oauth2-proxy until its SOPS secret is provisioned jakman85andClaude Opus 4.8 2026-08-24 21:43:12 -05:00
  • fb9ff9e783 Merge docs/pm-phase5-6-integration (PM log: Phase 5/6 integration + deploy blocker) jakman85 2026-08-24 21:18:03 -05:00
  • 1868a47701 docs(pm): log Phase 5 (KubeVirt) + Phase 6 (Keycloak) integration + deploy blocker jakman85andClaude Opus 4.8 2026-08-24 21:17:58 -05:00
  • b95b540468 Merge feature/keycloak-auth-stack: Phase 6 Keycloak IdP + oauth2-proxy + CNPG (R-IDP-01..06, R-OBS) jakman85 2026-08-24 21:15:46 -05:00
  • cb4fdf4a55 keycloak: README — operator+CNPG design, runbook, hand-offs jakman85 2026-08-24 21:10:39 -05:00
  • 4bebd4b6d2 keycloak: coverage tests + dashboard + reword cross-cutting tags jakman85 2026-08-24 21:07:27 -05:00
  • 4ba4337c67 Merge feature/kubevirt-iaas: Phase 5 KubeVirt+CDI IaaS proof (R-PLAT-03/04, R-STATE-01, R-NET-01, R-OBS) jakman85 2026-08-24 21:02:37 -05:00
  • 9da209c71e Merge branch 'main' into feature/kubevirt-iaas jakman85 2026-08-24 21:01:29 -05:00
  • 0cb25c12e3 Merge branch 'main' into feature/keycloak-auth-stack jakman85 2026-08-24 20:59:51 -05:00
  • cd4c44874f Merge chore/harness-baseline-spec-pin-gap-exemptions (green baseline for Phase 5/6) jakman85 2026-08-24 20:57:38 -05:00
  • f5f52b0b8c chore(harness): adopt spec pin b633b7f + exempt R-ENV-02/R-GITOPS-01 coverage gaps jakman85andClaude Opus 4.8 2026-08-24 20:57:26 -05:00
  • ce83c6af3b WIP keycloak stack (gate probe) jakman85 2026-08-24 19:52:25 -05:00
  • dbffb8fab8 Phase 5: KubeVirt + CDI IaaS proof (R-PLAT-03/04, R-STATE-01, R-NET-01) jakman85andClaude Opus 4.8 2026-08-24 19:43:56 -05:00
  • 254d50a20c docs: pia-* cluster secrets retired + host vault committed (Phase 3 cleanup complete) jakman85andClaude Opus 4.8 2026-08-24 15:04:31 -05:00
  • 509a421d01 Merge chore/retire-pia-cluster-secrets (ADR-0015 cleanup) jakman85 2026-08-24 15:03:22 -05:00