8 Commits

Author SHA1 Message Date
rw
9d4244891e fix(ci,deps): correct action versions and patch security vulnerabilities
GitHub Actions:
- checkout@v4 → @v6 (v6 is current, v4 was wrong downgrade)
- upload-artifact@v4 → @v7 (latest), @v6 → @v7 in dbal-tests.yml
- download-artifact@v4 → @v8 (latest)
- cache@v6 → @v5 (v6 does not exist, v5 is latest)
- codeql-action@v4 confirmed correct

Security (Dependabot):
- next 16.1.5 → 16.1.7 (dockerterminal): HTTP smuggling, CSRF, DoS fixes
- PyJWT 2.10.1 → 2.12.0 (5 requirements.txt): unknown crit header bypass
- CairoSVG 2.8.2 → 2.9.0 (pcbgenerator): recursive <use> ReDoS
- postgres overrides: add hono >=4.12.4, @hono/node-server >=1.19.10,
  rollup >=4.59.0, serialize-javascript >=7.0.3 for transitive vulns

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-20 20:13:54 +00:00
b3962d742e fix: regenerate favicon.ico files with proper rounded rect + white letter
Previous ICOs were just solid color squares. Now rendered with Pillow
using Arial Bold, rounded corners, and centered white text matching
the SVG designs.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-18 22:27:17 +00:00
0d7c2da91b feat: add favicons (SVG + ICO) to all 10 frontends missing them
Portal (M), Pastebin (P), WorkflowUI (W), Exploded Diagrams (3D),
Email Client (E), DBAL (DB), Frontend App (A), RepoForge (RF),
CaproverForge (CF), PackageRepo (PR) — each with matching brand color.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-18 22:23:14 +00:00
9df6e1c64f fix: upgrade all Dockerfiles to node:24-alpine, fix portal build errors
- Update all 12 Dockerfiles from node:18/20/22 to node:24-alpine
- Fix caproverforge portal: remove event handlers from Server Component
- Fix repoforge/caproverforge portals: ensure public/ dir exists in builder
- Fix packagerepo Dockerfile: node:18 → node:24 (Next.js 16 requires >=20)
- Fix DBAL frontend port conflict: 3009 → 3015 (3009 in use by external container)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-18 21:43:28 +00:00
7e12140e41 feat: wire up 5 missing frontends, add analytics dashboard + Starlink monitoring
- Wire DBAL frontend, Docker Terminal, Package Repo into Docker stack
  with Dockerfiles, docker-compose entries, and nginx reverse proxy
- Create APK download portals for RepoForge and CaproverForge (Next.js)
- Add DBAL Query Console (REST query interface with history sidebar)
- Add C++ Prometheus /metrics endpoint to DBAL daemon (request counters,
  error rates, method breakdown, uptime, active connections)
- Enable Grafana/Prometheus via nginx sub-path routing (/grafana, /prometheus)
- Auto-provision 4 Grafana dashboards: DBAL Overview, Infrastructure,
  Starlink Dish
- Add Starlink exporter (danopstech/starlink_exporter) to monitoring profile
- Add alert rules for DBAL error rate, Starlink latency, Starlink obstruction
- Update welcome portal with all new app cards and monitoring section

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-18 21:35:19 +00:00
03d07635a2 feat(deployment): add modular Python CLI, fix node-deps registry routing, bump to Node 24
- Dockerfile.node-deps: upgrade FROM node:22 to node:24
- Dockerfile.node-deps: rewrite main registry= line to Nexus when detected
  (was only rewriting scoped @esbuild-kit registry, leaving registry.npmjs.org
  unreachable inside Docker)
- Dockerfile.node-deps: fix sed ordering so cleanup of old auth lines runs
  before registry rewrite (prevents new registry= line from being deleted)
- Add deployment/cli/ modular Python CLI powered by JSON config, replacing
  12 shell scripts (build-base-images.sh, build-apps.sh, deploy.sh,
  start-stack.sh, release.sh, nexus-init.sh, nexus-ci-init.sh,
  push-to-nexus.sh, populate-nexus.sh, publish-npm-patches.sh,
  build-testcontainers.sh, artifactory-init.sh)
- Bump rocksdict 0.3.23 -> 0.3.29 (old version removed from PyPI)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-16 01:13:47 +00:00
0108b0373b chore: remove workspace package-lock.json files from git tracking
In an npm monorepo, only the root lockfile is authoritative. Workspace-specific
lockfiles were stale, couldn't benefit from root overrides, and were triggering
Dependabot false positives. Switching to **/package-lock.json gitignore pattern.

Also adds eslint peer dep overrides to frontends/postgres for standalone compatibility.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-09 23:49:43 +00:00
862cc29457 various changes 2026-03-09 22:30:41 +00:00