- Add ia_dev submodule (projects/smart_ide on forge 4nk) - Document APIs, orchestrator, gateway, local-office, rollout - Add systemd/scripts layout; relocate setup scripts - Remove obsolete nginx/enso-only docs from this repo scope
45 lines
1.8 KiB
Markdown
45 lines
1.8 KiB
Markdown
# API — claw-harness-api (proxy HTTP)
|
||
|
||
Le dossier [`services/claw-harness-api/`](../../services/claw-harness-api/) documente l’intégration **claw-code** (amont, hors monorepo). Ce fichier décrit uniquement le **proxy Node** sous `services/claw-harness-api/proxy/`, qui aligne sécurité et bind avec les autres services locaux.
|
||
|
||
- **Bind** : `CLAW_PROXY_HOST` (défaut `127.0.0.1`)
|
||
- **Port** : `CLAW_PROXY_PORT` (défaut `37142`)
|
||
- **Amont** : `CLAW_UPSTREAM_URL` — URL de base du serveur HTTP claw-code (ex. `http://127.0.0.1:37143`)
|
||
|
||
## Authentification
|
||
|
||
Sur le proxy, les requêtes (hors `/health`) doivent inclure :
|
||
|
||
```http
|
||
Authorization: Bearer <CLAW_PROXY_TOKEN>
|
||
```
|
||
|
||
`CLAW_PROXY_TOKEN` est obligatoire au démarrage. Les en-têtes de la requête cliente (hors hop-by-hop et `Host`) sont recopiés vers l’amont ; l’amont peut avoir sa propre politique d’auth.
|
||
|
||
## Endpoints (côté proxy)
|
||
|
||
### `GET /health` et `GET /health/`
|
||
|
||
**Réponse `200`**
|
||
|
||
```json
|
||
{ "status": "ok" }
|
||
```
|
||
|
||
Sans Bearer.
|
||
|
||
### Toute autre méthode et chemin (authentifié)
|
||
|
||
Après validation du Bearer, le proxy construit l’URL cible : `CLAW_UPSTREAM_URL` + chemin et query de la requête entrante, puis **transfère** méthode, corps et en-têtes (filtrés) vers l’amont. Le corps de réponse et le code statut viennent de l’amont (ou `502` en cas d’erreur de connexion).
|
||
|
||
Il n’y a **pas** de catalogue d’routes fixe dans le monorepo : les chemins effectifs dépendent du serveur HTTP claw-code déployé.
|
||
|
||
## Variables d’environnement
|
||
|
||
| Variable | Obligatoire | Description |
|
||
|----------|-------------|-------------|
|
||
| `CLAW_PROXY_TOKEN` | oui | Secret Bearer côté clients du proxy |
|
||
| `CLAW_UPSTREAM_URL` | oui | Base URL du serveur claw HTTP |
|
||
| `CLAW_PROXY_HOST` | non | Bind |
|
||
| `CLAW_PROXY_PORT` | non | Port d’écoute du proxy |
|