fix(obsidian): seed per-vault config and enable openclaw OTLP
Merged
SH
6mo ago+34+34+01234567890123456789-0-0-0123456789
Summary
- Obsidian fix:
activate.shnow seeds missing<vault-id>.jsonfiles (e.g.wiki.json) in~/.config/obsidian/on activation. This eliminates theENOENT: no such file or directory, open '/home/ubuntu/.config/obsidian/wiki.json'error logged on every daemon restart. - OpenClaw OTLP: Enables
diagnostics-otelplugin and adds top-leveldiagnosticsconfig block to both template files with traces, metrics, and logs overhttp/protobuf. - Removed the
chmod 644onobsidian.jsonso Obsidian can write back to it (update timestamps, vault state) withoutEACCESerrors during activation races.
Test plan
-
shellspec spec/activate_config_spec.shpasses (25 examples, 0 failures) -
shellspec spec/openclaw_hydrate_spec.shpasses (20 examples, 0 failures) - Both JSON templates validate
- Tested activate.sh creates
wiki.jsonfor new vaults and preserves existing ones - Manually seeded
wiki.jsonon kyber - next obsidian restart should be clean
Summary by cubic
Turns on OpenClaw OTLP telemetry (http/protobuf) and auto-wires the endpoint to the in-cluster Alloy collector during hydration. Adds a top-level diagnostics block and enables the diagnostics-otel plugin in both templates.
- New Features
- Add diagnostics.otel config in
openclaw.template.jsonandopenclaw.tpl.json(serviceName "openclaw"; traces, metrics, logs enabled; endpoint placeholder__OTEL_ENDPOINT__). - Hydration resolves
__OTEL_ENDPOINT__tohttp://<Alloy ClusterIP>:4318viakubectl, falling back tohttp://localhost:4318.
- Add diagnostics.otel config in