72 lines
1.9 KiB
Markdown
72 lines
1.9 KiB
Markdown
# Server Folders mit Parametern
|
||
|
||
## Backend-Proxy
|
||
|
||
Der bestehende Frontend-Endpunkt bleibt:
|
||
|
||
```http
|
||
GET /admin/server-folders?path=D:\Milestone
|
||
POST /admin/server-folders
|
||
```
|
||
|
||
Zusätzlich kann der Proxy diese Parameter auswerten:
|
||
|
||
```http
|
||
GET /admin/server-folders?path=D:\Milestone&schema=http&port=8099&token=CHANGE-ME
|
||
```
|
||
|
||
Aliasnamen:
|
||
|
||
- `schema`, `scheme`, `agentSchema`, `agentScheme`
|
||
- `port`, `agentPort`
|
||
- `token`, `agentToken`
|
||
|
||
Der Proxy entfernt diese Parameter, bevor er an den Agent weiterleitet.
|
||
Der Token wird als Header weitergegeben:
|
||
|
||
```http
|
||
X-Server-Folders-Token: <token>
|
||
```
|
||
|
||
## Token-Handling (automatisch)
|
||
|
||
Der Agent wird **ohne** Token gestartet. Das Backend erzeugt beim Speichern der
|
||
Milestone-Einstellungen automatisch einen zufälligen Token und überträgt ihn per
|
||
`PUT /agent-token` an den Agent. Der Agent persistiert den Token in einer Datei
|
||
(Standard: neben der `.exe`) und nutzt ihn danach für alle weiteren Anfragen –
|
||
auch nach einem Neustart.
|
||
|
||
```http
|
||
PUT /agent-token
|
||
X-Server-Folders-Token: <aktueller-token> # nur nötig, wenn bereits ein Token gesetzt ist
|
||
Content-Type: application/json
|
||
|
||
{ "token": "<neuer-token>" }
|
||
```
|
||
|
||
Solange noch kein Token gesetzt ist, akzeptiert der Agent `PUT /agent-token` auch
|
||
ohne Header (Bootstrap). Betreibe den Agent daher in einem vertrauenswürdigen
|
||
Netzwerk und speichere die Einstellungen nach dem Start zeitnah.
|
||
|
||
## Agent starten
|
||
|
||
```powershell
|
||
.\server-folders-agent.exe -port 8099 -roots "Milestone D=D:\Milestone;Milestone E=E:\Milestone"
|
||
```
|
||
|
||
Alternativ weiter per ENV:
|
||
|
||
```powershell
|
||
$env:LISTEN_ADDR=":8099"
|
||
$env:SERVER_FOLDER_ROOTS="Milestone D=D:\Milestone;Milestone E=E:\Milestone"
|
||
|
||
.\server-folders-agent.exe
|
||
```
|
||
|
||
Optionale Parameter:
|
||
|
||
- `-token` / `SERVER_FOLDER_AGENT_TOKEN`: nur als Start-Seed, falls noch keine
|
||
Token-Datei existiert (in der Regel nicht nötig).
|
||
- `-token-file` / `SERVER_FOLDER_AGENT_TOKEN_FILE`: Pfad der Token-Datei
|
||
(Standard: `server-folders-agent.token` neben der `.exe`).
|