wattetheria 0.2.3 → 0.2.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +7 -2
- package/docker-compose.release.yml +9 -5
- package/lib/cli.js +9 -2
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -586,8 +586,9 @@ read it from the `wattetheria_state` volume; for the full stack, read
|
|
|
586
586
|
`./data/wattetheria/control.token`.
|
|
587
587
|
|
|
588
588
|
The supervision console includes an Agent Runtime configuration card for the brain provider.
|
|
589
|
-
Saving that form updates the deployment env file under `.wattetheria/deploy/.env`
|
|
590
|
-
|
|
589
|
+
Saving that form updates the deployment env file under `.wattetheria/deploy/.env` through the
|
|
590
|
+
container's `/var/lib/wattetheria-deploy` mount, so the next service restart picks up the new
|
|
591
|
+
runtime settings without manual env editing.
|
|
591
592
|
|
|
592
593
|
The Logs page is now a WattSwarm Diagnostics view. It proxies authenticated
|
|
593
594
|
`/v1/client/wattswarm-diagnostics` to the local Wattswarm UI API so operators can inspect
|
|
@@ -696,6 +697,9 @@ Release deployment `.env` example for a host-local OpenClaw gateway:
|
|
|
696
697
|
```env
|
|
697
698
|
WATTETHERIA_HOST_STATE_DIR=./data/wattetheria
|
|
698
699
|
WATTSWARM_HOST_STATE_DIR=./data/wattswarm
|
|
700
|
+
WATTETHERIA_WATTSWARM_UI_BASE_URL=http://wattswarm-kernel:7788
|
|
701
|
+
WATTETHERIA_WATTSWARM_SYNC_GRPC_ENDPOINT=http://wattswarm-kernel:7791
|
|
702
|
+
WATTETHERIA_WATTSWARM_AGENT_EVENT_CALLBACK_BASE_URL=http://kernel:7777
|
|
699
703
|
WATTETHERIA_AGENT_CONTROL_PLANE_ENDPOINT=http://127.0.0.1:7777
|
|
700
704
|
WATTETHERIA_AGENT_WATTSWARM_UI_BASE_URL=http://127.0.0.1:7788
|
|
701
705
|
WATTETHERIA_AGENT_WATTSWARM_SYNC_GRPC_ENDPOINT=http://127.0.0.1:7791
|
|
@@ -704,6 +708,7 @@ WATTETHERIA_BRAIN_PROVIDER_KIND=openai-compatible
|
|
|
704
708
|
WATTETHERIA_BRAIN_BASE_URL=http://host.docker.internal:18789/v1
|
|
705
709
|
WATTETHERIA_BRAIN_MODEL=openclaw
|
|
706
710
|
WATTETHERIA_BRAIN_API_KEY_ENV=WATTETHERIA_BRAIN_API_KEY
|
|
711
|
+
WATTETHERIA_BRAIN_API_KEY=<secret>
|
|
707
712
|
WATTETHERIA_GATEWAY_URLS=http://gateway.example.com:8080
|
|
708
713
|
```
|
|
709
714
|
|
|
@@ -17,15 +17,17 @@ services:
|
|
|
17
17
|
image: ${WATTETHERIA_KERNEL_IMAGE:-wattetheria/wattetheria-kernel:latest}
|
|
18
18
|
restart: unless-stopped
|
|
19
19
|
env_file:
|
|
20
|
-
- ${
|
|
20
|
+
- ${WATTETHERIA_COMPOSE_ENV_FILE:-.env.release.local}
|
|
21
21
|
depends_on:
|
|
22
22
|
wattswarm-kernel:
|
|
23
23
|
condition: service_started
|
|
24
24
|
environment:
|
|
25
25
|
WATTETHERIA_DATA_DIR: /var/lib/wattetheria
|
|
26
26
|
WATTETHERIA_CONTROL_PLANE_BIND: 0.0.0.0:7777
|
|
27
|
-
|
|
28
|
-
|
|
27
|
+
WATTETHERIA_RUNTIME_ENV_FILE: ${WATTETHERIA_RUNTIME_ENV_FILE:-/var/lib/wattetheria-deploy/.env.release.local}
|
|
28
|
+
WATTETHERIA_WATTSWARM_UI_BASE_URL: ${WATTETHERIA_WATTSWARM_UI_BASE_URL:-http://wattswarm-kernel:7788}
|
|
29
|
+
WATTETHERIA_WATTSWARM_SYNC_GRPC_ENDPOINT: ${WATTETHERIA_WATTSWARM_SYNC_GRPC_ENDPOINT:-http://wattswarm-kernel:7791}
|
|
30
|
+
WATTETHERIA_WATTSWARM_AGENT_EVENT_CALLBACK_BASE_URL: ${WATTETHERIA_WATTSWARM_AGENT_EVENT_CALLBACK_BASE_URL:-http://kernel:7777}
|
|
29
31
|
WATTETHERIA_AGENT_CONTROL_PLANE_ENDPOINT: ${WATTETHERIA_AGENT_CONTROL_PLANE_ENDPOINT:-http://127.0.0.1:7777}
|
|
30
32
|
WATTETHERIA_AGENT_WATTSWARM_UI_BASE_URL: ${WATTETHERIA_AGENT_WATTSWARM_UI_BASE_URL:-http://127.0.0.1:7788}
|
|
31
33
|
WATTETHERIA_AGENT_WATTSWARM_SYNC_GRPC_ENDPOINT: ${WATTETHERIA_AGENT_WATTSWARM_SYNC_GRPC_ENDPOINT:-http://127.0.0.1:7791}
|
|
@@ -34,12 +36,14 @@ services:
|
|
|
34
36
|
WATTETHERIA_BRAIN_BASE_URL: ${WATTETHERIA_BRAIN_BASE_URL:-}
|
|
35
37
|
WATTETHERIA_BRAIN_MODEL: ${WATTETHERIA_BRAIN_MODEL:-}
|
|
36
38
|
WATTETHERIA_BRAIN_API_KEY_ENV: ${WATTETHERIA_BRAIN_API_KEY_ENV:-}
|
|
39
|
+
WATTETHERIA_BRAIN_API_KEY: ${WATTETHERIA_BRAIN_API_KEY:-}
|
|
37
40
|
WATTETHERIA_SERVICENET_BASE_URL: ${WATTETHERIA_SERVICENET_BASE_URL:-}
|
|
38
41
|
WATTETHERIA_GATEWAY_URLS: ${WATTETHERIA_GATEWAY_URLS:-}
|
|
39
42
|
WATTETHERIA_GATEWAY_CONFIG_PATH: ${WATTETHERIA_GATEWAY_CONFIG_PATH:-/var/lib/wattswarm/startup_config.json}
|
|
40
43
|
WATTETHERIA_AUTONOMY_ENABLED: ${WATTETHERIA_AUTONOMY_ENABLED:-false}
|
|
41
44
|
WATTETHERIA_AUTONOMY_INTERVAL_SEC: ${WATTETHERIA_AUTONOMY_INTERVAL_SEC:-30}
|
|
42
45
|
volumes:
|
|
46
|
+
- ${WATTETHERIA_DEPLOY_DIR:-.}:/var/lib/wattetheria-deploy
|
|
43
47
|
- ${WATTETHERIA_HOST_STATE_DIR:-./data/wattetheria}:/var/lib/wattetheria
|
|
44
48
|
- ${WATTSWARM_HOST_STATE_DIR:-./data/wattswarm}:/var/lib/wattswarm:ro
|
|
45
49
|
ports:
|
|
@@ -110,8 +114,8 @@ services:
|
|
|
110
114
|
WATTSWARM_UDP_ANNOUNCE_MODE: ${WATTSWARM_UDP_ANNOUNCE_MODE:-multicast}
|
|
111
115
|
WATTSWARM_UDP_ANNOUNCE_ADDR: ${WATTSWARM_UDP_ANNOUNCE_ADDR:-239.255.42.99}
|
|
112
116
|
WATTSWARM_UDP_ANNOUNCE_PORT: ${WATTSWARM_UDP_ANNOUNCE_PORT:-37931}
|
|
113
|
-
WATTSWARM_IROH_RELAY_URLS: ${WATTSWARM_IROH_RELAY_URLS:-}
|
|
114
|
-
WATTSWARM_IROH_PUBLISH_DIRECT_ADDRS: ${WATTSWARM_IROH_PUBLISH_DIRECT_ADDRS:-
|
|
117
|
+
WATTSWARM_IROH_RELAY_URLS: ${WATTSWARM_IROH_RELAY_URLS:-https://relay.wattetheria.com}
|
|
118
|
+
WATTSWARM_IROH_PUBLISH_DIRECT_ADDRS: ${WATTSWARM_IROH_PUBLISH_DIRECT_ADDRS:-false}
|
|
115
119
|
WATTSWARM_PUBLIC_BOOTSTRAP_URLS: ${WATTSWARM_PUBLIC_BOOTSTRAP_URLS:-}
|
|
116
120
|
WATTSWARM_PUBLIC_BOOTSTRAP_CONTACTS: ${WATTSWARM_PUBLIC_BOOTSTRAP_CONTACTS:-}
|
|
117
121
|
WATTSWARM_PUBLIC_GATEWAY_URLS: ${WATTSWARM_PUBLIC_GATEWAY_URLS:-}
|
package/lib/cli.js
CHANGED
|
@@ -37,7 +37,9 @@ const DEFAULT_ENV_ENTRIES = [
|
|
|
37
37
|
["WATTSWARM_UDP_ANNOUNCE_HOST_PORT", "37931"],
|
|
38
38
|
["WATTETHERIA_HOST_STATE_DIR", "./data/wattetheria"],
|
|
39
39
|
["WATTSWARM_HOST_STATE_DIR", "./data/wattswarm"],
|
|
40
|
-
["
|
|
40
|
+
["WATTETHERIA_COMPOSE_ENV_FILE", ".env.release.local"],
|
|
41
|
+
["WATTETHERIA_DEPLOY_DIR", "."],
|
|
42
|
+
["WATTETHERIA_RUNTIME_ENV_FILE", "/var/lib/wattetheria-deploy/.env.release.local"],
|
|
41
43
|
["WATTETHERIA_AGENT_CONTROL_PLANE_ENDPOINT", "http://127.0.0.1:7777"],
|
|
42
44
|
["WATTETHERIA_AGENT_WATTSWARM_UI_BASE_URL", "http://127.0.0.1:7788"],
|
|
43
45
|
["WATTETHERIA_AGENT_WATTSWARM_SYNC_GRPC_ENDPOINT", "http://127.0.0.1:7791"],
|
|
@@ -55,6 +57,8 @@ const DEFAULT_ENV_ENTRIES = [
|
|
|
55
57
|
["WATTSWARM_P2P_ENABLED", "true"],
|
|
56
58
|
["WATTSWARM_P2P_MDNS", "true"],
|
|
57
59
|
["WATTSWARM_P2P_PORT", "4001"],
|
|
60
|
+
["WATTSWARM_IROH_RELAY_URLS", "https://relay.wattetheria.com"],
|
|
61
|
+
["WATTSWARM_IROH_PUBLISH_DIRECT_ADDRS", "false"],
|
|
58
62
|
["WATTSWARM_WORKER_CONCURRENCY", "16"],
|
|
59
63
|
["WATTSWARM_WORKER_POLL_MS", "250"],
|
|
60
64
|
["WATTSWARM_WORKER_LEASE_MS", "30000"],
|
|
@@ -708,7 +712,10 @@ function ensureDeploymentAssets(options) {
|
|
|
708
712
|
refreshDeploymentComposeAsset(templateComposePath, targetComposePath, options);
|
|
709
713
|
|
|
710
714
|
const envMap = readEnvFile(targetEnvPath);
|
|
711
|
-
|
|
715
|
+
const envFileName = path.basename(targetEnvPath);
|
|
716
|
+
envMap.set("WATTETHERIA_COMPOSE_ENV_FILE", envFileName);
|
|
717
|
+
envMap.set("WATTETHERIA_DEPLOY_DIR", ".");
|
|
718
|
+
envMap.set("WATTETHERIA_RUNTIME_ENV_FILE", `/var/lib/wattetheria-deploy/${envFileName}`);
|
|
712
719
|
ensureDatabasePassword(envMap);
|
|
713
720
|
if (options.tag) {
|
|
714
721
|
pinImageTags(envMap, options.tag);
|