9 Commits
Author SHA1 Message Date
Admin 94d60482e6 [build](dev): publish Maestro on all interfaces for a LAN phone
The debug stack is the instance an app on the phone talks to, and Maestro is the
only port an app is ever given (the single data plane routes every service under
/api/{service}). Binding 127.0.0.1 makes the instance unreachable from a device
on the LAN — only USB with `adb reverse` could reach it — so the dev compose now
publishes on 0.0.0.0.
2026-10-19 14:52:56 +01:00
Admin 85b4b4cd91 feat(transport): loopback-only default port binding + reverse-proxy docs (onboarding M3) 2026-08-23 00:39:53 +01:00
Admin cda3091ad8 fix(containers): remap identity bind sources to host paths in dev
The dev maestro container's data root is /data/.dcntrlized
(XDG_DATA_HOME=/data), but bind-mount sources are resolved on the daemon's
host namespace — a nonexistent /data/.dcntrlized/... source made Docker
create empty directories, so the auth hub saw /dcntrlized/pki/tls.crt as a
directory and TLS setup failed. DCNTRLIZED_HOST_DATA_ROOT (compose-injected,
/home/franciscofadigas/.dcntrlized) is now substituted for the container-internal prefix when
building identity bind sources. hostBindSource leaves paths unchanged on host
installs.
2026-08-16 16:34:46 +01:00
Admin addaabc0a8 feat(dev): DCNTRLIZED_DEV drives dev mode; dev fleet runs real mTLS
The single canonical dev flag is DCNTRLIZED_DEV=true, injected by every
docker-compose.debug/dev.yaml. Dev mode now selects endpoints and behaviors
without downgrading control-plane security:

- lib/env: IsDev()/GiteaURL(); registry BaseURL keys on DCNTRLIZED_DEV and
  DCNTRLIZED_GITEA_URL (renamed from GITEA_URL).
- authmgmt: Scheme()/PeerTransport() (satellite edges) key on DCNTRLIZED_DEV
  — dev satellites keep a plaintext RN-facing listener, production mTLS. The
  auth-management edge (New()) stays mTLS in both, preferring
  DCNTRLIZED_AUTH_URL in dev.
- Removed INSECURE_INTERNAL + propagateInsecureInternal from Maestro: the
  orchestrator no longer runs plaintext, and no longer injects the escape
  hatch into services it starts.
- lib/devboot: at boot (dev only) Maestro provisions the identities its
  compose-managed peers bind-mount at /dcntrlized/pki (before infra boots)
  and approves the known fleet in the auth trust store. Unknown peers still
  record a pending authorization and are refused (mechanisms active).
- Composes: prod docker-compose.yaml is clean (no DCNTRLIZED_DEV/GITEA_URL);
  the debug compose carries the dev flag + DCNTRLIZED_GITEA_URL only.
2026-08-16 15:51:49 +01:00
Admin 420768318c fix(dev): serve web UI in debug mode — real frontend embed + data mounts in debug compose 2026-08-16 03:27:17 +01:00
Admin 92f4787146 M2 §2: run actions and manifest fetch over mTLS with Maestro's identity
Extract maestroTransport() (Maestro's identity cert + instance CA) and
expose PeerTransport()/Scheme()/InsecureInternal() so every service peer
edge uses the same client. RunAction now targets
https://{ip}:{port}/action/{name} presenting Maestro's cert (services
require a CA-issued client cert, so only Maestro can drive actions — T4)
and FetchManifestWithRetry fetches /_manifest the same way.
INSECURE_INTERNAL=1 keeps the dev fleet plaintext (debug compose updated
to set it).
2026-08-16 01:12:01 +01:00
Admin a172b542b7 dev: point dev infra at 192.168.122.183 2026-08-15 18:08:27 +01:00
Admin 642852f3fc feat(registry): add DCNTRLIZED_DEV/GITEA_URL seam for dev registry 2026-08-15 16:27:57 +01:00
Admin 0accff3e19 real init 2026-07-29 01:36:09 +01:00