mirror of
https://github.com/Such-Software/adaptive-multi-protocol-gateway.git
synced 2026-10-17 15:41:41 +02:00
Add transport status and doctor preflight
This commit is contained in:
@@ -91,6 +91,22 @@ Daemon adapters provide a common interface:
|
||||
Adapters must be conservative. They do not modify non-AMPG config without showing a
|
||||
plan first, and managed config lives under AMPG-owned state directories.
|
||||
|
||||
## Platform providers
|
||||
|
||||
Platform providers decide what daemon management means on the current host. AMPG detects
|
||||
systemd Linux, user-space Linux, macOS user launchd, Termux-style Android, and unknown
|
||||
platforms. A provider can allow managed daemons without allowing system config writes.
|
||||
|
||||
Operators can override detection for dry runs:
|
||||
|
||||
```sh
|
||||
python3 -m ampg --config gateway.toml doctor --platform linux-systemd
|
||||
python3 -m ampg --config gateway.toml doctor --platform android-termux
|
||||
```
|
||||
|
||||
This keeps the same gateway config portable across a VPS, laptop, old phone, or manual
|
||||
render-only environment while making daemon ownership decisions explicit.
|
||||
|
||||
## Interaction boundary
|
||||
|
||||
v1 is static-first, but the architecture reserves a path for interactive applications.
|
||||
|
||||
@@ -31,13 +31,37 @@ For each enabled protocol, AMPG checks:
|
||||
3. Common system services and ports.
|
||||
4. Known config paths for supported daemons.
|
||||
|
||||
The result is shown in `ampg plan`.
|
||||
The result is shown in `ampg status`. `ampg plan` shows rendered outputs and reviewable
|
||||
config artifacts.
|
||||
|
||||
## Preflight commands
|
||||
|
||||
```sh
|
||||
python3 -m ampg --config gateway.toml status
|
||||
python3 -m ampg --config gateway.toml doctor
|
||||
python3 -m ampg --config gateway.toml doctor --platform android-termux
|
||||
```
|
||||
|
||||
`status` prints one row per enabled protocol with the selected platform provider,
|
||||
adapter, installed/running daemon probe, action, and policy result.
|
||||
|
||||
`doctor` checks source paths, renderer support, route exposure, output readiness, and
|
||||
daemon policy feasibility. It exits nonzero only for errors; missing build output is a
|
||||
warning so operators can run it before the first build.
|
||||
|
||||
Platform providers describe how AMPG may supervise managed daemons:
|
||||
|
||||
- `linux-systemd`: system service management after approval.
|
||||
- `linux-user`: user-space foreground or user service management.
|
||||
- `macos-launchd`: user LaunchAgents or foreground processes.
|
||||
- `android-termux`: Termux-style user-space daemons for mobile/server experiments.
|
||||
- `unknown`: render and plan only; daemon management is disabled.
|
||||
|
||||
## Adapter notes
|
||||
|
||||
### Clearnet
|
||||
|
||||
Default daemon: Caddy.
|
||||
Default daemon: nginx.
|
||||
|
||||
AMPG should usually adopt clearnet ingress instead of managing it. Existing TLS,
|
||||
firewall, and reverse proxy rules are operator-owned. Managed clearnet is useful for
|
||||
|
||||
@@ -54,3 +54,14 @@ Notes:
|
||||
Notes:
|
||||
- IPFS output is static web content for a local gateway or later pinning.
|
||||
- IPFS is content-addressed distribution, not an anonymity layer.
|
||||
|
||||
## rnsd
|
||||
|
||||
- Protocols: reticulum
|
||||
- Default policy: `auto`
|
||||
- Generated artifacts: Reticulum page-service plan
|
||||
|
||||
Notes:
|
||||
- Reticulum output is planned as small page-service content.
|
||||
- Reticulum is resilient/private routing, not an anonymity layer.
|
||||
- Physical interfaces may require explicit operator setup.
|
||||
|
||||
Reference in New Issue
Block a user