Commit Graph

128 Commits

Author SHA1 Message Date
5bad2481ae Add /version endpoint to all products + BUILD_SHA/BUILD_TIME in Dockerfiles
Some checks failed
CI — P2 Drift (Go + Node) / saas (push) Successful in 34s
CI — P2 Drift (Go + Node) / build-push (push) Failing after 4s
CI — P3 Alert / build-push (push) Failing after 3s
CI — P6 Run / saas (push) Successful in 23s
CI — P4 Portal / build-push (push) Failing after 2s
CI — P2 Drift (Go + Node) / agent (push) Successful in 17s
CI — P3 Alert / test (push) Successful in 21s
CI — P5 Cost / test (push) Successful in 24s
CI — P4 Portal / test (push) Successful in 38s
CI — P5 Cost / build-push (push) Failing after 3s
CI — P6 Run / build-push (push) Failing after 2s
2026-03-02 13:53:15 +00:00
c4ec43cb76 Add CI build-push jobs targeting reg.dd0c.net with docker login + deploy
Some checks failed
CI — P2 Drift (Go + Node) / saas (push) Successful in 26s
CI — P2 Drift (Go + Node) / agent (push) Successful in 53s
CI — P3 Alert / test (push) Successful in 26s
CI — P5 Cost / test (push) Successful in 22s
CI — P4 Portal / test (push) Successful in 38s
CI — P2 Drift (Go + Node) / build-push (push) Failing after 4s
CI — P3 Alert / build-push (push) Failing after 2s
CI — P6 Run / saas (push) Successful in 22s
CI — P5 Cost / build-push (push) Failing after 2s
CI — P4 Portal / build-push (push) Failing after 3s
CI — P6 Run / build-push (push) Failing after 2s
2026-03-02 13:48:10 +00:00
6b045637be Switch registry to reg.dd0c.net (HTTPS on 443) 2026-03-02 13:31:11 +00:00
09eb22af62 Add comprehensive API reference doc for all 6 products 2026-03-02 05:42:27 +00:00
6181727406 Add docker login to build-push.sh and watch-loop.sh for registry auth (HTTP secret) 2026-03-02 05:40:02 +00:00
ee11ef9e9b Remove build-push from CI — Nas runner lacks Docker socket inside containers
Build+push must happen on the NAS host via watch-loop.sh or build-push.sh
2026-03-02 05:35:46 +00:00
18d476f7a0 Target Nas runner (ubuntu-24.04) for build-push jobs — sandbox lacks Docker
Some checks failed
CI — P2 Drift (Go + Node) / saas (push) Successful in 24s
CI — P2 Drift (Go + Node) / agent (push) Successful in 53s
CI — P3 Alert / test (push) Successful in 27s
CI — P5 Cost / test (push) Successful in 23s
CI — P4 Portal / test (push) Successful in 37s
CI — P6 Run / saas (push) Successful in 25s
CI — P2 Drift (Go + Node) / build-push (push) Failing after 17s
CI — P3 Alert / build-push (push) Failing after 17s
CI — P5 Cost / build-push (push) Failing after 11s
CI — P4 Portal / build-push (push) Failing after 14s
CI — P6 Run / build-push (push) Failing after 13s
2026-03-02 05:32:04 +00:00
2df0ce2fff Trigger CI build+push to populate registry at 192.168.86.11:30095
Some checks failed
CI — P4 Portal / test (push) Successful in 36s
CI — P6 Run / saas (push) Successful in 22s
CI — P3 Alert / build-push (push) Failing after 1s
CI — P5 Cost / build-push (push) Failing after 0s
CI — P6 Run / build-push (push) Failing after 0s
CI — P2 Drift (Go + Node) / saas (push) Successful in 27s
CI — P2 Drift (Go + Node) / agent (push) Successful in 52s
CI — P3 Alert / test (push) Successful in 26s
CI — P5 Cost / test (push) Successful in 24s
CI — P4 Portal / build-push (push) Failing after 0s
CI — P2 Drift (Go + Node) / build-push (push) Failing after 41s
2026-03-02 05:29:03 +00:00
6b79d3cbc9 Switch to Brian's registry at 192.168.86.11:30095, add CI build+push+deploy jobs
- All services pull from 192.168.86.11:30095 instead of localhost:5000
- Removed self-hosted registry container (Brian runs his own)
- CI workflows: test → build → push to registry → deploy
- build-push.sh and watch-loop.sh updated with new registry address
2026-03-02 05:28:35 +00:00
1ea42bbb87 Restore build: directives alongside image: tags — allows both local build and registry pull 2026-03-02 05:21:33 +00:00
17ec444dcd Update README: local registry workflow, smart watch-loop, test commands, fix cost port 2026-03-02 05:18:49 +00:00
551a5c4158 Remove build-push from CI (runners lack Docker access); watch-loop.sh handles it on NAS 2026-03-02 05:17:21 +00:00
21bf967e76 Add smart watch-loop.sh: detects changed products, builds only what changed, pushes to registry 2026-03-02 05:16:58 +00:00
41e016e9a6 Add local Docker registry: registry:2 on :5000, build-push.sh, CI auto-deploy
- docker-compose services now pull from localhost:5000 instead of building locally
- build-push.sh builds + pushes all 5 Node images to local registry
- CI workflows get build-push job: test → build → push → deploy
- Deploy becomes: docker compose pull && docker compose up -d
- Eliminates silent git pull + stale Docker cache issues
2026-03-02 05:15:37 +00:00
2c9408b1df Fix indentation on registerWebhookSecretRoutes call
All checks were successful
CI — P3 Alert / test (push) Successful in 23s
2026-03-02 05:11:37 +00:00
571a93953d Fix integration test ordering: move new tests before exit, add runbook execution flow 2026-03-02 05:07:59 +00:00
aea88065b4 Extend integration tests: webhook secrets CRUD + drift report submission/history/deletion 2026-03-02 05:04:11 +00:00
c537022fa8 Add drift report submission + stack deletion endpoints to P2
All checks were successful
CI — P2 Drift (Go + Node) / saas (push) Successful in 25s
CI — P2 Drift (Go + Node) / agent (push) Successful in 43s
2026-03-02 05:03:34 +00:00
9f46b84257 Add API to manage webhook secrets for alert integrations
All checks were successful
CI — P3 Alert / test (push) Successful in 15s
2026-03-02 05:00:40 +00:00
9d33c536d5 Add Fly.io deployment script with shared Postgres/Redis, custom domains, auto-stop 2026-03-02 04:57:50 +00:00
380a1b44d5 Fix integration-test.sh payloads to match correct Zod schemas and Fastify empty body requirements 2026-03-02 04:49:30 +00:00
4eda9d7be3 Add .dockerignore to all Node products (skip node_modules/dist/tests in build context)
All checks were successful
CI — P2 Drift (Go + Node) / saas (push) Successful in 25s
CI — P2 Drift (Go + Node) / agent (push) Successful in 52s
CI — P3 Alert / test (push) Successful in 29s
CI — P5 Cost / test (push) Successful in 23s
CI — P4 Portal / test (push) Successful in 36s
CI — P6 Run / saas (push) Successful in 21s
2026-03-02 04:45:57 +00:00
d175c3a6e7 Clean up drift: restore Dockerfile name, remove cache bust artifacts
All checks were successful
CI — P2 Drift (Go + Node) / agent (push) Successful in 14s
CI — P2 Drift (Go + Node) / saas (push) Successful in 28s
2026-03-02 04:45:12 +00:00
e0b84f5481 Fix drift SET LOCAL: use string interpolation with UUID validation (SET doesn't support params)
All checks were successful
CI — P2 Drift (Go + Node) / agent (push) Successful in 15s
CI — P2 Drift (Go + Node) / saas (push) Successful in 29s
2026-03-02 03:59:26 +00:00
d55162a047 Force drift rebuild: explicit image tag dd0c-drift:v2 2026-03-02 00:21:12 +00:00
364e411e69 Nuclear cache bust: rename drift Dockerfile to Dockerfile.v2
All checks were successful
CI — P2 Drift (Go + Node) / saas (push) Successful in 25s
CI — P2 Drift (Go + Node) / agent (push) Successful in 42s
2026-03-02 00:14:43 +00:00
00aaf1a941 Force drift rebuild: add CACHE_BUST build arg to Dockerfile + docker-compose
All checks were successful
CI — P2 Drift (Go + Node) / agent (push) Successful in 10s
CI — P2 Drift (Go + Node) / saas (push) Successful in 27s
2026-03-01 23:06:19 +00:00
cbc9e01807 Cache bust: force drift image rebuild to pick up auth middleware
All checks were successful
CI — P2 Drift (Go + Node) / saas (push) Successful in 26s
CI — P2 Drift (Go + Node) / agent (push) Successful in 44s
2026-03-01 22:59:34 +00:00
0da2f77035 Fix smoke-test.sh: correct port parsing, webhook slug path, 404 as valid response, arithmetic safety 2026-03-01 22:40:29 +00:00
81d03c1735 Fix tenant slug collision: append random hex suffix to prevent 23505 on duplicate tenant names
All checks were successful
CI — P2 Drift (Go + Node) / saas (push) Successful in 34s
CI — P2 Drift (Go + Node) / agent (push) Successful in 1m6s
CI — P3 Alert / test (push) Successful in 37s
CI — P5 Cost / test (push) Successful in 29s
CI — P4 Portal / test (push) Successful in 48s
CI — P6 Run / saas (push) Successful in 25s
2026-03-01 22:36:21 +00:00
e0d3a3c043 Add auth middleware to P2 Drift (signup/login/API keys), remove pino-pretty dev transport
All checks were successful
CI — P2 Drift (Go + Node) / agent (push) Successful in 53s
CI — P2 Drift (Go + Node) / saas (push) Successful in 52s
2026-03-01 22:24:18 +00:00
23fda04854 Add waitlist modal to marketing site (all 7 pages) — triggers on #waitlist links, Formspree-ready 2026-03-01 22:09:35 +00:00
580872f059 Fix docker-compose: add NODE_ENV=production to all services (drift crashes on pino-pretty in dev mode) 2026-03-01 20:41:47 +00:00
d6d8de16db Fix docker-compose: remap Postgres from :5432 to :5433 (5432 already in use on NAS) 2026-03-01 20:34:49 +00:00
362c94af33 Fix Node Dockerfiles: npm ci --include=dev so tsc is available in builder stage
All checks were successful
CI — P2 Drift (Go + Node) / saas (push) Successful in 34s
CI — P3 Alert / test (push) Successful in 38s
CI — P4 Portal / test (push) Successful in 38s
CI — P6 Run / saas (push) Successful in 39s
CI — P2 Drift (Go + Node) / agent (push) Successful in 1m15s
CI — P5 Cost / test (push) Successful in 1m7s
2026-03-01 19:31:44 +00:00
aec0d62787 docker-compose: put Rust services behind 'rust' profile so Node services start independently
docker compose up -d          → starts Node services only (fast)
docker compose --profile rust up -d → starts everything including Rust (slow build)
2026-03-01 19:15:49 +00:00
6c97ce0547 Fix docker-compose: remap P5 cost from :3005 to :3007 (3005 is Gitea) 2026-03-01 19:07:52 +00:00
a8a8c53917 cargo fmt: format all Rust source files
All checks were successful
CI — P1 Route (Rust) / test (push) Successful in 6m35s
2026-03-01 17:53:28 +00:00
00db59ff83 Fix Dockerfile: bump Rust 1.79 -> 1.85 (edition2024 support)
Some checks failed
CI — P1 Route (Rust) / test (push) Failing after 7m12s
2026-03-01 17:44:41 +00:00
435b5b1a3b Fix Dockerfile: copy benches/ dir so Cargo.toml bench entry resolves
Some checks failed
CI — P1 Route (Rust) / test (push) Failing after 6m56s
2026-03-01 17:34:12 +00:00
0a3173c6a9 Fix P1 Rust: all clippy warnings resolved, all tests passing
Some checks failed
CI — P1 Route (Rust) / test (push) Has been cancelled
- Fixed struct field references (_org_id, _config) in constructors
- Added chrono::Weekday import in test module
- cargo clippy --workspace -- -D warnings: CLEAN
- cargo test --workspace: 5/5 passing
2026-03-01 17:28:41 +00:00
4b6292e0c3 Fix P1 Rust: remove all unused imports, variables, and fields across api/worker bins
Some checks failed
CI — P1 Route (Rust) / test (push) Failing after 3m48s
2026-03-01 17:15:31 +00:00
6e044809d4 Fix P1 Rust: repair mangled auth lines, fix _jwt_secret constructor
Some checks failed
CI — P1 Route (Rust) / test (push) Failing after 6m52s
2026-03-01 17:04:02 +00:00
d5a10d9266 Fix P1 Rust clippy: unused variable _auth_ctx, _jwt_secret, derive Default for RouterBrain
Some checks failed
CI — P1 Route (Rust) / test (push) Failing after 4m22s
2026-03-01 16:56:24 +00:00
1af409ad7e Trigger P2 CI to pick up the Go sudo fix
All checks were successful
CI — P2 Drift (Go + Node) / saas (push) Successful in 29s
CI — P2 Drift (Go + Node) / agent (push) Successful in 55s
2026-03-01 16:55:52 +00:00
c1faed7c73 Fix P1 Rust: remove unused imports (clippy -D warnings)
Some checks failed
CI — P1 Route (Rust) / test (push) Failing after 6m10s
2026-03-01 16:47:24 +00:00
7db364716c CI: install Go to HOME dir instead of /usr/local (no sudo needed) 2026-03-01 16:45:03 +00:00
45a0237163 Fix P1 Rust: revert proxy/handler.rs to crate:: (it's part of the library)
Some checks failed
CI — P1 Route (Rust) / test (push) Failing after 7m3s
Only api/handler.rs (binary-only module) uses dd0c_route::
proxy/handler.rs is included via lib.rs pub mod proxy, so it must use crate::
2026-03-01 16:16:23 +00:00
b5e5d22c32 Fix P1 Rust: use dd0c_route:: instead of crate:: in binary imports, add hex crate
Some checks failed
CI — P1 Route (Rust) / test (push) Failing after 4m37s
Binary targets (api, proxy, worker) can't use crate:: to access lib modules.
Must reference the library crate name dd0c_route:: instead.
2026-03-01 16:08:25 +00:00
5346e88331 CI: fix Go agent test by ensuring go mod tidy runs correctly
Some checks failed
CI — P2 Drift (Go + Node) / saas (push) Successful in 30s
CI — P2 Drift (Go + Node) / agent (push) Failing after 51m11s
2026-03-01 07:07:02 +00:00