{ "_comment": "Wird vom update-agent bei 'install' und 'configure' gelesen und liegt im Paket neben der manifest.json. Beschreibung des Formats: Deploymentcenter/docs/SETUP_INTEGRATION_GUIDE.md", "schema": 1, "displayName": "ClawdDotNet", "description": "ClawdDotNet braucht die Adresse des Deploymentcenters, einen Lizenzschluessel und ein Token fuer Heartbeat und Fehlermeldungen. Das Token stellt der Server selbst aus.", "_targets_comment": "location 'config' loest zu %APPDATA% bzw. $XDG_CONFIG_HOME auf - genau das, was AppPaths.ConfigDirectory erwartet. AppPaths schreibt den Ordner plattformabhaengig unterschiedlich: 'ClawdDotNet' unter Windows, 'clawddotnet' unter Linux. Beide Namen sind deshalb ausdruecklich angegeben, statt sich darauf zu verlassen, dass NTFS die Schreibweise ignoriert - auf einem per fsutil umgestellten Ordner oder unter APFS mit Beachtung der Schreibweise traegt das naemlich nicht mehr.", "targets": [ { "id": "app", "file": "clawddotnet/Settings.json", "fileWindows": "ClawdDotNet/Settings.json", "fileLinux": "clawddotnet/Settings.json", "location": "config", "format": "json" }, { "_comment": "#588: Der Instanzmanager liegt seit 0.1.6 im selben Paket. manager.json liegt im selben Konfigurationsordner; der Manager verschluesselt Token beim ersten Start und liest Klartext unveraendert ein.", "id": "manager", "file": "clawddotnet/manager.json", "fileWindows": "ClawdDotNet/manager.json", "fileLinux": "clawddotnet/manager.json", "location": "config", "format": "json" } ], "fields": [ { "key": "deploymentcenterUrl", "label": "Deploymentcenter", "help": "Adresse, von der auch dieses Paket geladen wurde.", "type": "url", "source": "detect:baseurl" }, { "key": "licenseKey", "label": "Lizenzschluessel", "help": "Fuenf Bloecke zu fuenf Zeichen. Oeffnet zugleich die Release-Ablage fuer kuenftige Updates.", "type": "secret", "required": true, "validate": "^[A-Za-z0-9]{5}(-[A-Za-z0-9]{5}){4}$", "validationMessage": "Erwartet werden fuenf Bloecke zu fuenf Zeichen, durch Bindestriche getrennt." }, { "key": "deploymentcenterToken", "label": "Token dieser Installation", "help": "Wird vom Server ausgestellt und eingetragen - nichts zu kopieren.", "source": "provision", "scopes": ["watchdog:ping", "bugtracker:report"] }, { "key": "updateChannel", "label": "Update-Kanal", "type": "enum", "options": ["prod", "beta", "dev"], "default": "prod", "required": false }, { "key": "deploymentcenterEnvironment", "label": "Umgebung", "help": "Haengt an Fehler- und Bugtracker-Meldungen.", "type": "enum", "options": ["production", "development"], "default": "production", "required": false }, { "key": "webUiToken", "target": "manager", "label": "Zugangstoken der Weboberflaeche", "help": "Mindestens 20 Zeichen. Wer es kennt, bedient alle Instanzen - wie ein Passwort behandeln.", "type": "secret", "required": true, "validate": "^.{20,}$", "validationMessage": "Das Token braucht mindestens 20 Zeichen." }, { "key": "webUiBinding", "target": "manager", "label": "Weboberflaeche erreichbar", "help": "loopback: nur auf diesem Rechner. any: auch aus dem Netz - dann Firewall bzw. VPN beachten.", "type": "enum", "options": ["loopback", "any"], "default": "loopback", "required": false }, { "key": "webUiPort", "target": "manager", "label": "Port der Weboberflaeche", "type": "int", "default": "7000", "required": false }, { "key": "instanceWindows", "target": "manager", "label": "Instanzen mit eigenem Fenster", "help": "Auf einem Server ohne Bildschirmsitzung: false - dann laufen die Instanzen kopflos und werden ueber die Weboberflaeche bedient.", "type": "bool", "default": "true", "required": false } ] }