@better-openclaw/core 1.0.0 → 1.0.2
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/.github/ISSUE_TEMPLATE/service-proposal.yml +57 -0
- package/.github/ISSUE_TEMPLATE/stack-submission.yml +32 -0
- package/.github/workflows/ci.yml +57 -0
- package/.github/workflows/publish-core.yml +38 -0
- package/biome.json +62 -0
- package/package.json +7 -7
- package/tsconfig.base.json +25 -0
- package/tsconfig.json +1 -1
- package/vitest.config.ts +21 -0
- package/.turbo/turbo-build.log +0 -4
- package/.turbo/turbo-lint.log +0 -360
- package/.turbo/turbo-typecheck.log +0 -4
- package/dist/bare-metal-partition.d.ts +0 -22
- package/dist/bare-metal-partition.d.ts.map +0 -1
- package/dist/bare-metal-partition.js +0 -49
- package/dist/bare-metal-partition.js.map +0 -1
- package/dist/composer.d.ts +0 -17
- package/dist/composer.d.ts.map +0 -1
- package/dist/composer.js +0 -305
- package/dist/composer.js.map +0 -1
- package/dist/generate.d.ts +0 -7
- package/dist/generate.d.ts.map +0 -1
- package/dist/generate.js +0 -218
- package/dist/generate.js.map +0 -1
- package/dist/generators/bare-metal-install.d.ts +0 -18
- package/dist/generators/bare-metal-install.d.ts.map +0 -1
- package/dist/generators/bare-metal-install.js +0 -228
- package/dist/generators/bare-metal-install.js.map +0 -1
- package/dist/generators/caddy.d.ts +0 -13
- package/dist/generators/caddy.d.ts.map +0 -1
- package/dist/generators/caddy.js +0 -85
- package/dist/generators/caddy.js.map +0 -1
- package/dist/generators/env.d.ts +0 -42
- package/dist/generators/env.d.ts.map +0 -1
- package/dist/generators/env.js +0 -276
- package/dist/generators/env.js.map +0 -1
- package/dist/generators/grafana.d.ts +0 -19
- package/dist/generators/grafana.d.ts.map +0 -1
- package/dist/generators/grafana.js +0 -247
- package/dist/generators/grafana.js.map +0 -1
- package/dist/generators/n8n-workflows.d.ts +0 -7
- package/dist/generators/n8n-workflows.d.ts.map +0 -1
- package/dist/generators/n8n-workflows.js +0 -78
- package/dist/generators/n8n-workflows.js.map +0 -1
- package/dist/generators/native-services.d.ts +0 -13
- package/dist/generators/native-services.d.ts.map +0 -1
- package/dist/generators/native-services.js +0 -85
- package/dist/generators/native-services.js.map +0 -1
- package/dist/generators/postgres-init.d.ts +0 -27
- package/dist/generators/postgres-init.d.ts.map +0 -1
- package/dist/generators/postgres-init.js +0 -119
- package/dist/generators/postgres-init.js.map +0 -1
- package/dist/generators/prometheus.d.ts +0 -10
- package/dist/generators/prometheus.d.ts.map +0 -1
- package/dist/generators/prometheus.js +0 -79
- package/dist/generators/prometheus.js.map +0 -1
- package/dist/generators/readme.d.ts +0 -21
- package/dist/generators/readme.d.ts.map +0 -1
- package/dist/generators/readme.js +0 -224
- package/dist/generators/readme.js.map +0 -1
- package/dist/generators/scripts.d.ts +0 -7
- package/dist/generators/scripts.d.ts.map +0 -1
- package/dist/generators/scripts.js +0 -352
- package/dist/generators/scripts.js.map +0 -1
- package/dist/generators/skills.d.ts +0 -10
- package/dist/generators/skills.d.ts.map +0 -1
- package/dist/generators/skills.js +0 -596
- package/dist/generators/skills.js.map +0 -1
- package/dist/index.d.ts +0 -24
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js +0 -27
- package/dist/index.js.map +0 -1
- package/dist/presets/registry.d.ts +0 -5
- package/dist/presets/registry.d.ts.map +0 -1
- package/dist/presets/registry.js +0 -121
- package/dist/presets/registry.js.map +0 -1
- package/dist/resolver.d.ts +0 -17
- package/dist/resolver.d.ts.map +0 -1
- package/dist/resolver.js +0 -254
- package/dist/resolver.js.map +0 -1
- package/dist/schema.d.ts +0 -2426
- package/dist/schema.d.ts.map +0 -1
- package/dist/schema.js +0 -259
- package/dist/schema.js.map +0 -1
- package/dist/services/definitions/anything-llm.d.ts +0 -3
- package/dist/services/definitions/anything-llm.d.ts.map +0 -1
- package/dist/services/definitions/anything-llm.js +0 -39
- package/dist/services/definitions/anything-llm.js.map +0 -1
- package/dist/services/definitions/appflowy.d.ts +0 -3
- package/dist/services/definitions/appflowy.d.ts.map +0 -1
- package/dist/services/definitions/appflowy.js +0 -39
- package/dist/services/definitions/appflowy.js.map +0 -1
- package/dist/services/definitions/beszel.d.ts +0 -3
- package/dist/services/definitions/beszel.d.ts.map +0 -1
- package/dist/services/definitions/beszel.js +0 -39
- package/dist/services/definitions/beszel.js.map +0 -1
- package/dist/services/definitions/browserless.d.ts +0 -3
- package/dist/services/definitions/browserless.d.ts.map +0 -1
- package/dist/services/definitions/browserless.js +0 -77
- package/dist/services/definitions/browserless.js.map +0 -1
- package/dist/services/definitions/caddy.d.ts +0 -3
- package/dist/services/definitions/caddy.d.ts.map +0 -1
- package/dist/services/definitions/caddy.js +0 -50
- package/dist/services/definitions/caddy.js.map +0 -1
- package/dist/services/definitions/chromadb.d.ts +0 -3
- package/dist/services/definitions/chromadb.d.ts.map +0 -1
- package/dist/services/definitions/chromadb.js +0 -61
- package/dist/services/definitions/chromadb.js.map +0 -1
- package/dist/services/definitions/claude-code.d.ts +0 -3
- package/dist/services/definitions/claude-code.d.ts.map +0 -1
- package/dist/services/definitions/claude-code.js +0 -49
- package/dist/services/definitions/claude-code.js.map +0 -1
- package/dist/services/definitions/code-server.d.ts +0 -3
- package/dist/services/definitions/code-server.d.ts.map +0 -1
- package/dist/services/definitions/code-server.js +0 -61
- package/dist/services/definitions/code-server.js.map +0 -1
- package/dist/services/definitions/codex.d.ts +0 -3
- package/dist/services/definitions/codex.d.ts.map +0 -1
- package/dist/services/definitions/codex.js +0 -41
- package/dist/services/definitions/codex.js.map +0 -1
- package/dist/services/definitions/coolify.d.ts +0 -3
- package/dist/services/definitions/coolify.d.ts.map +0 -1
- package/dist/services/definitions/coolify.js +0 -44
- package/dist/services/definitions/coolify.js.map +0 -1
- package/dist/services/definitions/dify.d.ts +0 -3
- package/dist/services/definitions/dify.d.ts.map +0 -1
- package/dist/services/definitions/dify.js +0 -75
- package/dist/services/definitions/dify.js.map +0 -1
- package/dist/services/definitions/docsgpt.d.ts +0 -3
- package/dist/services/definitions/docsgpt.d.ts.map +0 -1
- package/dist/services/definitions/docsgpt.js +0 -39
- package/dist/services/definitions/docsgpt.js.map +0 -1
- package/dist/services/definitions/dokploy.d.ts +0 -3
- package/dist/services/definitions/dokploy.d.ts.map +0 -1
- package/dist/services/definitions/dokploy.js +0 -44
- package/dist/services/definitions/dokploy.js.map +0 -1
- package/dist/services/definitions/dozzle.d.ts +0 -3
- package/dist/services/definitions/dozzle.d.ts.map +0 -1
- package/dist/services/definitions/dozzle.js +0 -33
- package/dist/services/definitions/dozzle.js.map +0 -1
- package/dist/services/definitions/ffmpeg.d.ts +0 -3
- package/dist/services/definitions/ffmpeg.d.ts.map +0 -1
- package/dist/services/definitions/ffmpeg.js +0 -63
- package/dist/services/definitions/ffmpeg.js.map +0 -1
- package/dist/services/definitions/flowise.d.ts +0 -3
- package/dist/services/definitions/flowise.d.ts.map +0 -1
- package/dist/services/definitions/flowise.js +0 -39
- package/dist/services/definitions/flowise.js.map +0 -1
- package/dist/services/definitions/gemini-cli.d.ts +0 -3
- package/dist/services/definitions/gemini-cli.d.ts.map +0 -1
- package/dist/services/definitions/gemini-cli.js +0 -41
- package/dist/services/definitions/gemini-cli.js.map +0 -1
- package/dist/services/definitions/gitea.d.ts +0 -3
- package/dist/services/definitions/gitea.d.ts.map +0 -1
- package/dist/services/definitions/gitea.js +0 -45
- package/dist/services/definitions/gitea.js.map +0 -1
- package/dist/services/definitions/gotify.d.ts +0 -3
- package/dist/services/definitions/gotify.d.ts.map +0 -1
- package/dist/services/definitions/gotify.js +0 -60
- package/dist/services/definitions/gotify.js.map +0 -1
- package/dist/services/definitions/grafana.d.ts +0 -3
- package/dist/services/definitions/grafana.d.ts.map +0 -1
- package/dist/services/definitions/grafana.js +0 -61
- package/dist/services/definitions/grafana.js.map +0 -1
- package/dist/services/definitions/index.d.ts +0 -68
- package/dist/services/definitions/index.d.ts.map +0 -1
- package/dist/services/definitions/index.js +0 -198
- package/dist/services/definitions/index.js.map +0 -1
- package/dist/services/definitions/kimi.d.ts +0 -3
- package/dist/services/definitions/kimi.d.ts.map +0 -1
- package/dist/services/definitions/kimi.js +0 -41
- package/dist/services/definitions/kimi.js.map +0 -1
- package/dist/services/definitions/lasuite-meet-agents.d.ts +0 -3
- package/dist/services/definitions/lasuite-meet-agents.d.ts.map +0 -1
- package/dist/services/definitions/lasuite-meet-agents.js +0 -26
- package/dist/services/definitions/lasuite-meet-agents.js.map +0 -1
- package/dist/services/definitions/lasuite-meet-backend.d.ts +0 -3
- package/dist/services/definitions/lasuite-meet-backend.d.ts.map +0 -1
- package/dist/services/definitions/lasuite-meet-backend.js +0 -118
- package/dist/services/definitions/lasuite-meet-backend.js.map +0 -1
- package/dist/services/definitions/lasuite-meet-frontend.d.ts +0 -3
- package/dist/services/definitions/lasuite-meet-frontend.d.ts.map +0 -1
- package/dist/services/definitions/lasuite-meet-frontend.js +0 -31
- package/dist/services/definitions/lasuite-meet-frontend.js.map +0 -1
- package/dist/services/definitions/librechat.d.ts +0 -3
- package/dist/services/definitions/librechat.d.ts.map +0 -1
- package/dist/services/definitions/librechat.js +0 -47
- package/dist/services/definitions/librechat.js.map +0 -1
- package/dist/services/definitions/lightpanda.d.ts +0 -3
- package/dist/services/definitions/lightpanda.d.ts.map +0 -1
- package/dist/services/definitions/lightpanda.js +0 -59
- package/dist/services/definitions/lightpanda.js.map +0 -1
- package/dist/services/definitions/litellm.d.ts +0 -3
- package/dist/services/definitions/litellm.d.ts.map +0 -1
- package/dist/services/definitions/litellm.js +0 -41
- package/dist/services/definitions/litellm.js.map +0 -1
- package/dist/services/definitions/livekit.d.ts +0 -3
- package/dist/services/definitions/livekit.d.ts.map +0 -1
- package/dist/services/definitions/livekit.js +0 -31
- package/dist/services/definitions/livekit.js.map +0 -1
- package/dist/services/definitions/matomo.d.ts +0 -3
- package/dist/services/definitions/matomo.d.ts.map +0 -1
- package/dist/services/definitions/matomo.js +0 -75
- package/dist/services/definitions/matomo.js.map +0 -1
- package/dist/services/definitions/matrix-synapse.d.ts +0 -3
- package/dist/services/definitions/matrix-synapse.d.ts.map +0 -1
- package/dist/services/definitions/matrix-synapse.js +0 -82
- package/dist/services/definitions/matrix-synapse.js.map +0 -1
- package/dist/services/definitions/mattermost.d.ts +0 -3
- package/dist/services/definitions/mattermost.d.ts.map +0 -1
- package/dist/services/definitions/mattermost.js +0 -59
- package/dist/services/definitions/mattermost.js.map +0 -1
- package/dist/services/definitions/meilisearch.d.ts +0 -3
- package/dist/services/definitions/meilisearch.d.ts.map +0 -1
- package/dist/services/definitions/meilisearch.js +0 -76
- package/dist/services/definitions/meilisearch.js.map +0 -1
- package/dist/services/definitions/minio.d.ts +0 -3
- package/dist/services/definitions/minio.d.ts.map +0 -1
- package/dist/services/definitions/minio.js +0 -98
- package/dist/services/definitions/minio.js.map +0 -1
- package/dist/services/definitions/mixpost.d.ts +0 -3
- package/dist/services/definitions/mixpost.d.ts.map +0 -1
- package/dist/services/definitions/mixpost.js +0 -82
- package/dist/services/definitions/mixpost.js.map +0 -1
- package/dist/services/definitions/motion-canvas.d.ts +0 -3
- package/dist/services/definitions/motion-canvas.d.ts.map +0 -1
- package/dist/services/definitions/motion-canvas.js +0 -48
- package/dist/services/definitions/motion-canvas.js.map +0 -1
- package/dist/services/definitions/n8n.d.ts +0 -3
- package/dist/services/definitions/n8n.d.ts.map +0 -1
- package/dist/services/definitions/n8n.js +0 -146
- package/dist/services/definitions/n8n.js.map +0 -1
- package/dist/services/definitions/nocodb.d.ts +0 -3
- package/dist/services/definitions/nocodb.d.ts.map +0 -1
- package/dist/services/definitions/nocodb.js +0 -39
- package/dist/services/definitions/nocodb.js.map +0 -1
- package/dist/services/definitions/ntfy.d.ts +0 -3
- package/dist/services/definitions/ntfy.d.ts.map +0 -1
- package/dist/services/definitions/ntfy.js +0 -61
- package/dist/services/definitions/ntfy.js.map +0 -1
- package/dist/services/definitions/ollama.d.ts +0 -3
- package/dist/services/definitions/ollama.d.ts.map +0 -1
- package/dist/services/definitions/ollama.js +0 -61
- package/dist/services/definitions/ollama.js.map +0 -1
- package/dist/services/definitions/open-webui.d.ts +0 -3
- package/dist/services/definitions/open-webui.d.ts.map +0 -1
- package/dist/services/definitions/open-webui.js +0 -47
- package/dist/services/definitions/open-webui.js.map +0 -1
- package/dist/services/definitions/opencode.d.ts +0 -3
- package/dist/services/definitions/opencode.d.ts.map +0 -1
- package/dist/services/definitions/opencode.js +0 -47
- package/dist/services/definitions/opencode.js.map +0 -1
- package/dist/services/definitions/openpanel.d.ts +0 -3
- package/dist/services/definitions/openpanel.d.ts.map +0 -1
- package/dist/services/definitions/openpanel.js +0 -41
- package/dist/services/definitions/openpanel.js.map +0 -1
- package/dist/services/definitions/outline.d.ts +0 -3
- package/dist/services/definitions/outline.d.ts.map +0 -1
- package/dist/services/definitions/outline.js +0 -68
- package/dist/services/definitions/outline.js.map +0 -1
- package/dist/services/definitions/paperless-ngx.d.ts +0 -3
- package/dist/services/definitions/paperless-ngx.d.ts.map +0 -1
- package/dist/services/definitions/paperless-ngx.js +0 -85
- package/dist/services/definitions/paperless-ngx.js.map +0 -1
- package/dist/services/definitions/playwright-server.d.ts +0 -3
- package/dist/services/definitions/playwright-server.d.ts.map +0 -1
- package/dist/services/definitions/playwright-server.js +0 -34
- package/dist/services/definitions/playwright-server.js.map +0 -1
- package/dist/services/definitions/portainer.d.ts +0 -3
- package/dist/services/definitions/portainer.d.ts.map +0 -1
- package/dist/services/definitions/portainer.js +0 -44
- package/dist/services/definitions/portainer.js.map +0 -1
- package/dist/services/definitions/postgresql.d.ts +0 -3
- package/dist/services/definitions/postgresql.d.ts.map +0 -1
- package/dist/services/definitions/postgresql.js +0 -83
- package/dist/services/definitions/postgresql.js.map +0 -1
- package/dist/services/definitions/postiz.d.ts +0 -3
- package/dist/services/definitions/postiz.d.ts.map +0 -1
- package/dist/services/definitions/postiz.js +0 -79
- package/dist/services/definitions/postiz.js.map +0 -1
- package/dist/services/definitions/prometheus.d.ts +0 -3
- package/dist/services/definitions/prometheus.d.ts.map +0 -1
- package/dist/services/definitions/prometheus.js +0 -47
- package/dist/services/definitions/prometheus.js.map +0 -1
- package/dist/services/definitions/qdrant.d.ts +0 -3
- package/dist/services/definitions/qdrant.d.ts.map +0 -1
- package/dist/services/definitions/qdrant.js +0 -75
- package/dist/services/definitions/qdrant.js.map +0 -1
- package/dist/services/definitions/redis.d.ts +0 -3
- package/dist/services/definitions/redis.d.ts.map +0 -1
- package/dist/services/definitions/redis.js +0 -90
- package/dist/services/definitions/redis.js.map +0 -1
- package/dist/services/definitions/remotion.d.ts +0 -3
- package/dist/services/definitions/remotion.d.ts.map +0 -1
- package/dist/services/definitions/remotion.js +0 -48
- package/dist/services/definitions/remotion.js.map +0 -1
- package/dist/services/definitions/rocketchat.d.ts +0 -3
- package/dist/services/definitions/rocketchat.d.ts.map +0 -1
- package/dist/services/definitions/rocketchat.js +0 -54
- package/dist/services/definitions/rocketchat.js.map +0 -1
- package/dist/services/definitions/searxng.d.ts +0 -3
- package/dist/services/definitions/searxng.d.ts.map +0 -1
- package/dist/services/definitions/searxng.js +0 -61
- package/dist/services/definitions/searxng.js.map +0 -1
- package/dist/services/definitions/stable-diffusion.d.ts +0 -3
- package/dist/services/definitions/stable-diffusion.d.ts.map +0 -1
- package/dist/services/definitions/stable-diffusion.js +0 -44
- package/dist/services/definitions/stable-diffusion.js.map +0 -1
- package/dist/services/definitions/steel-browser.d.ts +0 -3
- package/dist/services/definitions/steel-browser.d.ts.map +0 -1
- package/dist/services/definitions/steel-browser.js +0 -68
- package/dist/services/definitions/steel-browser.js.map +0 -1
- package/dist/services/definitions/tailscale.d.ts +0 -3
- package/dist/services/definitions/tailscale.d.ts.map +0 -1
- package/dist/services/definitions/tailscale.js +0 -62
- package/dist/services/definitions/tailscale.js.map +0 -1
- package/dist/services/definitions/temporal.d.ts +0 -3
- package/dist/services/definitions/temporal.d.ts.map +0 -1
- package/dist/services/definitions/temporal.js +0 -97
- package/dist/services/definitions/temporal.js.map +0 -1
- package/dist/services/definitions/traefik.d.ts +0 -3
- package/dist/services/definitions/traefik.d.ts.map +0 -1
- package/dist/services/definitions/traefik.js +0 -52
- package/dist/services/definitions/traefik.js.map +0 -1
- package/dist/services/definitions/umami.d.ts +0 -3
- package/dist/services/definitions/umami.d.ts.map +0 -1
- package/dist/services/definitions/umami.js +0 -41
- package/dist/services/definitions/umami.js.map +0 -1
- package/dist/services/definitions/uptime-kuma.d.ts +0 -3
- package/dist/services/definitions/uptime-kuma.d.ts.map +0 -1
- package/dist/services/definitions/uptime-kuma.js +0 -46
- package/dist/services/definitions/uptime-kuma.js.map +0 -1
- package/dist/services/definitions/valkey.d.ts +0 -3
- package/dist/services/definitions/valkey.d.ts.map +0 -1
- package/dist/services/definitions/valkey.js +0 -60
- package/dist/services/definitions/valkey.js.map +0 -1
- package/dist/services/definitions/watchtower.d.ts +0 -3
- package/dist/services/definitions/watchtower.d.ts.map +0 -1
- package/dist/services/definitions/watchtower.js +0 -41
- package/dist/services/definitions/watchtower.js.map +0 -1
- package/dist/services/definitions/weaviate.d.ts +0 -3
- package/dist/services/definitions/weaviate.d.ts.map +0 -1
- package/dist/services/definitions/weaviate.js +0 -89
- package/dist/services/definitions/weaviate.js.map +0 -1
- package/dist/services/definitions/whisper.d.ts +0 -3
- package/dist/services/definitions/whisper.d.ts.map +0 -1
- package/dist/services/definitions/whisper.js +0 -55
- package/dist/services/definitions/whisper.js.map +0 -1
- package/dist/services/registry.d.ts +0 -12
- package/dist/services/registry.d.ts.map +0 -1
- package/dist/services/registry.js +0 -28
- package/dist/services/registry.js.map +0 -1
- package/dist/skills/registry.d.ts +0 -7
- package/dist/skills/registry.d.ts.map +0 -1
- package/dist/skills/registry.js +0 -111
- package/dist/skills/registry.js.map +0 -1
- package/dist/types.d.ts +0 -60
- package/dist/types.d.ts.map +0 -1
- package/dist/types.js +0 -20
- package/dist/types.js.map +0 -1
- package/dist/validator.d.ts +0 -16
- package/dist/validator.d.ts.map +0 -1
- package/dist/validator.js +0 -142
- package/dist/validator.js.map +0 -1
- package/dist/version-manager.d.ts +0 -10
- package/dist/version-manager.d.ts.map +0 -1
- package/dist/version-manager.js +0 -60
- package/dist/version-manager.js.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"env.js","sourceRoot":"","sources":["../../src/generators/env.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Generates Grafana provisioning configuration files.
|
|
3
|
-
*
|
|
4
|
-
* Returns a map of file paths (relative to project root) to file contents.
|
|
5
|
-
* Includes datasource provisioning YAML for the Prometheus connection.
|
|
6
|
-
*/
|
|
7
|
-
export declare function generateGrafanaConfig(): Record<string, string>;
|
|
8
|
-
/**
|
|
9
|
-
* Generates a Grafana dashboard JSON for the OpenClaw stack overview.
|
|
10
|
-
*
|
|
11
|
-
* The dashboard includes:
|
|
12
|
-
* - Service Health (stat panel)
|
|
13
|
-
* - Memory Usage (gauge)
|
|
14
|
-
* - Request Rate (graph)
|
|
15
|
-
*
|
|
16
|
-
* Uses Prometheus as the datasource.
|
|
17
|
-
*/
|
|
18
|
-
export declare function generateGrafanaDashboard(): string;
|
|
19
|
-
//# sourceMappingURL=grafana.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"grafana.d.ts","sourceRoot":"","sources":["../../src/generators/grafana.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,wBAAgB,qBAAqB,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAqF9D;AAED;;;;;;;;;GASG;AACH,wBAAgB,wBAAwB,IAAI,MAAM,CAuJjD"}
|
|
@@ -1,247 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Generates Grafana provisioning configuration files.
|
|
3
|
-
*
|
|
4
|
-
* Returns a map of file paths (relative to project root) to file contents.
|
|
5
|
-
* Includes datasource provisioning YAML for the Prometheus connection.
|
|
6
|
-
*/
|
|
7
|
-
export function generateGrafanaConfig() {
|
|
8
|
-
const files = {};
|
|
9
|
-
// ── Datasource Provisioning ─────────────────────────────────────────────
|
|
10
|
-
files["config/grafana/provisioning/datasources/prometheus.yml"] =
|
|
11
|
-
`# ═══════════════════════════════════════════════════════════════════════════════
|
|
12
|
-
# Grafana Datasource Provisioning — Auto-generated by OpenClaw
|
|
13
|
-
# ═══════════════════════════════════════════════════════════════════════════════
|
|
14
|
-
|
|
15
|
-
apiVersion: 1
|
|
16
|
-
|
|
17
|
-
datasources:
|
|
18
|
-
# Prometheus — primary metrics datasource
|
|
19
|
-
- name: Prometheus
|
|
20
|
-
type: prometheus
|
|
21
|
-
access: proxy
|
|
22
|
-
url: http://prometheus:9090
|
|
23
|
-
isDefault: true
|
|
24
|
-
editable: true
|
|
25
|
-
jsonData:
|
|
26
|
-
httpMethod: POST
|
|
27
|
-
timeInterval: "15s"
|
|
28
|
-
exemplarTraceIdDestinations:
|
|
29
|
-
- name: traceID
|
|
30
|
-
datasourceUid: ""
|
|
31
|
-
version: 1
|
|
32
|
-
`;
|
|
33
|
-
// ── Dashboard Provisioning ───────────────────────────────────────────────
|
|
34
|
-
files["config/grafana/provisioning/dashboards/default.yml"] =
|
|
35
|
-
`# ═══════════════════════════════════════════════════════════════════════════════
|
|
36
|
-
# Grafana Dashboard Provisioning — Auto-generated by OpenClaw
|
|
37
|
-
# ═══════════════════════════════════════════════════════════════════════════════
|
|
38
|
-
|
|
39
|
-
apiVersion: 1
|
|
40
|
-
|
|
41
|
-
providers:
|
|
42
|
-
- name: "OpenClaw Dashboards"
|
|
43
|
-
orgId: 1
|
|
44
|
-
folder: "OpenClaw"
|
|
45
|
-
type: file
|
|
46
|
-
disableDeletion: false
|
|
47
|
-
editable: true
|
|
48
|
-
updateIntervalSeconds: 30
|
|
49
|
-
allowUiUpdates: true
|
|
50
|
-
options:
|
|
51
|
-
path: /var/lib/grafana/dashboards
|
|
52
|
-
foldersFromFilesStructure: false
|
|
53
|
-
`;
|
|
54
|
-
// ── Grafana Configuration (grafana.ini overrides) ────────────────────────
|
|
55
|
-
files["config/grafana/grafana.ini"] =
|
|
56
|
-
`# ═══════════════════════════════════════════════════════════════════════════════
|
|
57
|
-
# Grafana Configuration — Auto-generated by OpenClaw
|
|
58
|
-
# ═══════════════════════════════════════════════════════════════════════════════
|
|
59
|
-
|
|
60
|
-
[server]
|
|
61
|
-
root_url = %(protocol)s://%(domain)s/
|
|
62
|
-
|
|
63
|
-
[security]
|
|
64
|
-
# Admin credentials are set via environment variables:
|
|
65
|
-
# GF_SECURITY_ADMIN_USER
|
|
66
|
-
# GF_SECURITY_ADMIN_PASSWORD
|
|
67
|
-
|
|
68
|
-
[auth.anonymous]
|
|
69
|
-
enabled = false
|
|
70
|
-
|
|
71
|
-
[dashboards]
|
|
72
|
-
default_home_dashboard_path = /var/lib/grafana/dashboards/home.json
|
|
73
|
-
|
|
74
|
-
[alerting]
|
|
75
|
-
enabled = true
|
|
76
|
-
|
|
77
|
-
[unified_alerting]
|
|
78
|
-
enabled = true
|
|
79
|
-
|
|
80
|
-
[log]
|
|
81
|
-
mode = console
|
|
82
|
-
level = info
|
|
83
|
-
`;
|
|
84
|
-
return files;
|
|
85
|
-
}
|
|
86
|
-
/**
|
|
87
|
-
* Generates a Grafana dashboard JSON for the OpenClaw stack overview.
|
|
88
|
-
*
|
|
89
|
-
* The dashboard includes:
|
|
90
|
-
* - Service Health (stat panel)
|
|
91
|
-
* - Memory Usage (gauge)
|
|
92
|
-
* - Request Rate (graph)
|
|
93
|
-
*
|
|
94
|
-
* Uses Prometheus as the datasource.
|
|
95
|
-
*/
|
|
96
|
-
export function generateGrafanaDashboard() {
|
|
97
|
-
const dashboard = {
|
|
98
|
-
annotations: { list: [] },
|
|
99
|
-
editable: true,
|
|
100
|
-
fiscalYearStartMonth: 0,
|
|
101
|
-
graphTooltip: 1,
|
|
102
|
-
links: [],
|
|
103
|
-
panels: [
|
|
104
|
-
{
|
|
105
|
-
// ── Service Health (stat panel) ──
|
|
106
|
-
id: 1,
|
|
107
|
-
title: "Service Health",
|
|
108
|
-
type: "stat",
|
|
109
|
-
gridPos: { h: 8, w: 8, x: 0, y: 0 },
|
|
110
|
-
datasource: { type: "prometheus", uid: "prometheus" },
|
|
111
|
-
targets: [
|
|
112
|
-
{
|
|
113
|
-
expr: 'count(up{job=~".+"} == 1)',
|
|
114
|
-
legendFormat: "Healthy Services",
|
|
115
|
-
refId: "A",
|
|
116
|
-
},
|
|
117
|
-
],
|
|
118
|
-
fieldConfig: {
|
|
119
|
-
defaults: {
|
|
120
|
-
thresholds: {
|
|
121
|
-
mode: "absolute",
|
|
122
|
-
steps: [
|
|
123
|
-
{ color: "red", value: null },
|
|
124
|
-
{ color: "yellow", value: 1 },
|
|
125
|
-
{ color: "green", value: 3 },
|
|
126
|
-
],
|
|
127
|
-
},
|
|
128
|
-
color: { mode: "thresholds" },
|
|
129
|
-
mappings: [],
|
|
130
|
-
},
|
|
131
|
-
overrides: [],
|
|
132
|
-
},
|
|
133
|
-
options: {
|
|
134
|
-
reduceOptions: {
|
|
135
|
-
values: false,
|
|
136
|
-
calcs: ["lastNotNull"],
|
|
137
|
-
fields: "",
|
|
138
|
-
},
|
|
139
|
-
orientation: "auto",
|
|
140
|
-
textMode: "auto",
|
|
141
|
-
colorMode: "background",
|
|
142
|
-
graphMode: "none",
|
|
143
|
-
justifyMode: "auto",
|
|
144
|
-
},
|
|
145
|
-
},
|
|
146
|
-
{
|
|
147
|
-
// ── Memory Usage (gauge) ──
|
|
148
|
-
id: 2,
|
|
149
|
-
title: "Memory Usage",
|
|
150
|
-
type: "gauge",
|
|
151
|
-
gridPos: { h: 8, w: 8, x: 8, y: 0 },
|
|
152
|
-
datasource: { type: "prometheus", uid: "prometheus" },
|
|
153
|
-
targets: [
|
|
154
|
-
{
|
|
155
|
-
expr: "sum(container_memory_usage_bytes) / sum(machine_memory_bytes) * 100",
|
|
156
|
-
legendFormat: "Memory %",
|
|
157
|
-
refId: "A",
|
|
158
|
-
},
|
|
159
|
-
],
|
|
160
|
-
fieldConfig: {
|
|
161
|
-
defaults: {
|
|
162
|
-
thresholds: {
|
|
163
|
-
mode: "absolute",
|
|
164
|
-
steps: [
|
|
165
|
-
{ color: "green", value: null },
|
|
166
|
-
{ color: "yellow", value: 60 },
|
|
167
|
-
{ color: "red", value: 85 },
|
|
168
|
-
],
|
|
169
|
-
},
|
|
170
|
-
color: { mode: "thresholds" },
|
|
171
|
-
min: 0,
|
|
172
|
-
max: 100,
|
|
173
|
-
unit: "percent",
|
|
174
|
-
mappings: [],
|
|
175
|
-
},
|
|
176
|
-
overrides: [],
|
|
177
|
-
},
|
|
178
|
-
options: {
|
|
179
|
-
reduceOptions: {
|
|
180
|
-
values: false,
|
|
181
|
-
calcs: ["lastNotNull"],
|
|
182
|
-
fields: "",
|
|
183
|
-
},
|
|
184
|
-
orientation: "auto",
|
|
185
|
-
showThresholdLabels: false,
|
|
186
|
-
showThresholdMarkers: true,
|
|
187
|
-
},
|
|
188
|
-
},
|
|
189
|
-
{
|
|
190
|
-
// ── Request Rate (graph / timeseries) ──
|
|
191
|
-
id: 3,
|
|
192
|
-
title: "Request Rate",
|
|
193
|
-
type: "timeseries",
|
|
194
|
-
gridPos: { h: 8, w: 8, x: 16, y: 0 },
|
|
195
|
-
datasource: { type: "prometheus", uid: "prometheus" },
|
|
196
|
-
targets: [
|
|
197
|
-
{
|
|
198
|
-
expr: 'sum(rate(http_requests_total{job=~".+"}[5m])) by (job)',
|
|
199
|
-
legendFormat: "{{job}}",
|
|
200
|
-
refId: "A",
|
|
201
|
-
},
|
|
202
|
-
],
|
|
203
|
-
fieldConfig: {
|
|
204
|
-
defaults: {
|
|
205
|
-
color: { mode: "palette-classic" },
|
|
206
|
-
custom: {
|
|
207
|
-
axisBorderShow: false,
|
|
208
|
-
axisCenteredZero: false,
|
|
209
|
-
axisColorMode: "text",
|
|
210
|
-
axisLabel: "req/s",
|
|
211
|
-
drawStyle: "line",
|
|
212
|
-
fillOpacity: 10,
|
|
213
|
-
gradientMode: "none",
|
|
214
|
-
lineInterpolation: "smooth",
|
|
215
|
-
lineWidth: 2,
|
|
216
|
-
pointSize: 5,
|
|
217
|
-
showPoints: "auto",
|
|
218
|
-
spanNulls: false,
|
|
219
|
-
stacking: { group: "A", mode: "none" },
|
|
220
|
-
},
|
|
221
|
-
mappings: [],
|
|
222
|
-
thresholds: {
|
|
223
|
-
mode: "absolute",
|
|
224
|
-
steps: [{ color: "green", value: null }],
|
|
225
|
-
},
|
|
226
|
-
unit: "reqps",
|
|
227
|
-
},
|
|
228
|
-
overrides: [],
|
|
229
|
-
},
|
|
230
|
-
options: {
|
|
231
|
-
legend: { calcs: [], displayMode: "list", placement: "bottom" },
|
|
232
|
-
tooltip: { mode: "multi", sort: "desc" },
|
|
233
|
-
},
|
|
234
|
-
},
|
|
235
|
-
],
|
|
236
|
-
schemaVersion: 39,
|
|
237
|
-
tags: ["openclaw"],
|
|
238
|
-
templating: { list: [] },
|
|
239
|
-
time: { from: "now-1h", to: "now" },
|
|
240
|
-
timepicker: {},
|
|
241
|
-
timezone: "browser",
|
|
242
|
-
title: "OpenClaw Stack Overview",
|
|
243
|
-
uid: "openclaw-stack-overview",
|
|
244
|
-
};
|
|
245
|
-
return JSON.stringify(dashboard, null, 2);
|
|
246
|
-
}
|
|
247
|
-
//# sourceMappingURL=grafana.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"grafana.js","sourceRoot":"","sources":["../../src/generators/grafana.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import type { ResolverOutput } from "../types.js";
|
|
2
|
-
/**
|
|
3
|
-
* Generates n8n workflow template files.
|
|
4
|
-
* Returns a map of file paths to JSON content strings.
|
|
5
|
-
*/
|
|
6
|
-
export declare function generateN8nWorkflows(resolved: ResolverOutput): Record<string, string>;
|
|
7
|
-
//# sourceMappingURL=n8n-workflows.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"n8n-workflows.d.ts","sourceRoot":"","sources":["../../src/generators/n8n-workflows.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAElD;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,cAAc,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAcrF"}
|
|
@@ -1,78 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Generates n8n workflow template files.
|
|
3
|
-
* Returns a map of file paths to JSON content strings.
|
|
4
|
-
*/
|
|
5
|
-
export function generateN8nWorkflows(resolved) {
|
|
6
|
-
const files = {};
|
|
7
|
-
// Only generate if n8n is in the stack
|
|
8
|
-
const hasN8n = resolved.services.some((s) => s.definition.id === "n8n");
|
|
9
|
-
if (!hasN8n)
|
|
10
|
-
return files;
|
|
11
|
-
files["n8n/workflows/openclaw-webhook-handler.json"] = JSON.stringify(createWebhookHandlerWorkflow(resolved), null, 2);
|
|
12
|
-
return files;
|
|
13
|
-
}
|
|
14
|
-
function createWebhookHandlerWorkflow(resolved) {
|
|
15
|
-
// Create a basic n8n workflow JSON that:
|
|
16
|
-
// 1. Has a Webhook trigger node listening on /openclaw-webhook
|
|
17
|
-
// 2. Has a Function node that processes the payload
|
|
18
|
-
// 3. Outputs to a Respond to Webhook node
|
|
19
|
-
const serviceNames = resolved.services.map((s) => s.definition.name).join(", ");
|
|
20
|
-
return {
|
|
21
|
-
name: "OpenClaw Webhook Handler",
|
|
22
|
-
nodes: [
|
|
23
|
-
{
|
|
24
|
-
parameters: {
|
|
25
|
-
httpMethod: "POST",
|
|
26
|
-
path: "openclaw-webhook",
|
|
27
|
-
responseMode: "responseNode",
|
|
28
|
-
options: {},
|
|
29
|
-
},
|
|
30
|
-
id: "webhook-trigger",
|
|
31
|
-
name: "Webhook",
|
|
32
|
-
type: "n8n-nodes-base.webhook",
|
|
33
|
-
typeVersion: 2,
|
|
34
|
-
position: [250, 300],
|
|
35
|
-
},
|
|
36
|
-
{
|
|
37
|
-
parameters: {
|
|
38
|
-
jsCode: "// Process OpenClaw webhook payload\n" +
|
|
39
|
-
"const payload = $input.all()[0].json;\n" +
|
|
40
|
-
"\n" +
|
|
41
|
-
"// Available services in this stack:\n" +
|
|
42
|
-
`// ${serviceNames}\n` +
|
|
43
|
-
"\n" +
|
|
44
|
-
"return [{ json: { received: true, timestamp: new Date().toISOString(), payload } }];",
|
|
45
|
-
},
|
|
46
|
-
id: "process-payload",
|
|
47
|
-
name: "Process Payload",
|
|
48
|
-
type: "n8n-nodes-base.code",
|
|
49
|
-
typeVersion: 2,
|
|
50
|
-
position: [470, 300],
|
|
51
|
-
},
|
|
52
|
-
{
|
|
53
|
-
parameters: {
|
|
54
|
-
respondWith: "json",
|
|
55
|
-
responseBody: "={{ JSON.stringify($json) }}",
|
|
56
|
-
options: {},
|
|
57
|
-
},
|
|
58
|
-
id: "respond",
|
|
59
|
-
name: "Respond to Webhook",
|
|
60
|
-
type: "n8n-nodes-base.respondToWebhook",
|
|
61
|
-
typeVersion: 1,
|
|
62
|
-
position: [690, 300],
|
|
63
|
-
},
|
|
64
|
-
],
|
|
65
|
-
connections: {
|
|
66
|
-
Webhook: {
|
|
67
|
-
main: [[{ node: "Process Payload", type: "main", index: 0 }]],
|
|
68
|
-
},
|
|
69
|
-
"Process Payload": {
|
|
70
|
-
main: [[{ node: "Respond to Webhook", type: "main", index: 0 }]],
|
|
71
|
-
},
|
|
72
|
-
},
|
|
73
|
-
active: false,
|
|
74
|
-
settings: { executionOrder: "v1" },
|
|
75
|
-
tags: [{ name: "openclaw" }],
|
|
76
|
-
};
|
|
77
|
-
}
|
|
78
|
-
//# sourceMappingURL=n8n-workflows.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"n8n-workflows.js","sourceRoot":"","sources":["../../src/generators/n8n-workflows.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,MAAM,UAAU,oBAAoB,CAAC,QAAwB;IAC5D,MAAM,KAAK,GAA2B,EAAE,CAAC;IAEzC,uCAAuC;IACvC,MAAM,MAAM,GAAG,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,EAAE,KAAK,KAAK,CAAC,CAAC;IACxE,IAAI,CAAC,MAAM;QAAE,OAAO,KAAK,CAAC;IAE1B,KAAK,CAAC,6CAA6C,CAAC,GAAG,IAAI,CAAC,SAAS,CACpE,4BAA4B,CAAC,QAAQ,CAAC,EACtC,IAAI,EACJ,CAAC,CACD,CAAC;IAEF,OAAO,KAAK,CAAC;AACd,CAAC;AAED,SAAS,4BAA4B,CAAC,QAAwB;IAC7D,yCAAyC;IACzC,+DAA+D;IAC/D,oDAAoD;IACpD,0CAA0C;IAC1C,MAAM,YAAY,GAAG,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAEhF,OAAO;QACN,IAAI,EAAE,0BAA0B;QAChC,KAAK,EAAE;YACN;gBACC,UAAU,EAAE;oBACX,UAAU,EAAE,MAAM;oBAClB,IAAI,EAAE,kBAAkB;oBACxB,YAAY,EAAE,cAAc;oBAC5B,OAAO,EAAE,EAAE;iBACX;gBACD,EAAE,EAAE,iBAAiB;gBACrB,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,wBAAwB;gBAC9B,WAAW,EAAE,CAAC;gBACd,QAAQ,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC;aACpB;YACD;gBACC,UAAU,EAAE;oBACX,MAAM,EACL,uCAAuC;wBACvC,yCAAyC;wBACzC,IAAI;wBACJ,wCAAwC;wBACxC,MAAM,YAAY,IAAI;wBACtB,IAAI;wBACJ,sFAAsF;iBACvF;gBACD,EAAE,EAAE,iBAAiB;gBACrB,IAAI,EAAE,iBAAiB;gBACvB,IAAI,EAAE,qBAAqB;gBAC3B,WAAW,EAAE,CAAC;gBACd,QAAQ,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC;aACpB;YACD;gBACC,UAAU,EAAE;oBACX,WAAW,EAAE,MAAM;oBACnB,YAAY,EAAE,8BAA8B;oBAC5C,OAAO,EAAE,EAAE;iBACX;gBACD,EAAE,EAAE,SAAS;gBACb,IAAI,EAAE,oBAAoB;gBAC1B,IAAI,EAAE,iCAAiC;gBACvC,WAAW,EAAE,CAAC;gBACd,QAAQ,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC;aACpB;SACD;QACD,WAAW,EAAE;YACZ,OAAO,EAAE;gBACR,IAAI,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;aAC7D;YACD,iBAAiB,EAAE;gBAClB,IAAI,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,oBAAoB,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;aAChE;SACD;QACD,MAAM,EAAE,KAAK;QACb,QAAQ,EAAE,EAAE,cAAc,EAAE,IAAI,EAAE;QAClC,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;KAC5B,CAAC;AACH,CAAC"}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import type { NativePlatform, ResolvedService } from "../types.js";
|
|
2
|
-
export interface NativeServicesGeneratorOptions {
|
|
3
|
-
nativeServices: ResolvedService[];
|
|
4
|
-
platform: NativePlatform;
|
|
5
|
-
projectName: string;
|
|
6
|
-
}
|
|
7
|
-
/**
|
|
8
|
-
* Generates native install/run scripts for services that have a native recipe.
|
|
9
|
-
* Returns e.g. native/install-linux.sh (or native/install.ps1 for Windows).
|
|
10
|
-
* Scripts source .env and run install steps then start commands in dependency order.
|
|
11
|
-
*/
|
|
12
|
-
export declare function generateNativeInstallScripts(options: NativeServicesGeneratorOptions): Record<string, string>;
|
|
13
|
-
//# sourceMappingURL=native-services.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"native-services.d.ts","sourceRoot":"","sources":["../../src/generators/native-services.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAEnE,MAAM,WAAW,8BAA8B;IAC9C,cAAc,EAAE,eAAe,EAAE,CAAC;IAClC,QAAQ,EAAE,cAAc,CAAC;IACzB,WAAW,EAAE,MAAM,CAAC;CACpB;AAED;;;;GAIG;AACH,wBAAgB,4BAA4B,CAC3C,OAAO,EAAE,8BAA8B,GACrC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAcxB"}
|
|
@@ -1,85 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Generates native install/run scripts for services that have a native recipe.
|
|
3
|
-
* Returns e.g. native/install-linux.sh (or native/install.ps1 for Windows).
|
|
4
|
-
* Scripts source .env and run install steps then start commands in dependency order.
|
|
5
|
-
*/
|
|
6
|
-
export function generateNativeInstallScripts(options) {
|
|
7
|
-
const { nativeServices, platform } = options;
|
|
8
|
-
const files = {};
|
|
9
|
-
if (platform === "linux") {
|
|
10
|
-
files["native/install-linux.sh"] = buildLinuxNativeScript(nativeServices);
|
|
11
|
-
}
|
|
12
|
-
else if (platform === "windows") {
|
|
13
|
-
files["native/install-windows.ps1"] = buildWindowsNativeScript(nativeServices);
|
|
14
|
-
}
|
|
15
|
-
else {
|
|
16
|
-
// macos: use bash script similar to linux
|
|
17
|
-
files["native/install-macos.sh"] = buildLinuxNativeScript(nativeServices);
|
|
18
|
-
}
|
|
19
|
-
return files;
|
|
20
|
-
}
|
|
21
|
-
function buildLinuxNativeScript(nativeServices) {
|
|
22
|
-
const lines = [
|
|
23
|
-
"#!/usr/bin/env bash",
|
|
24
|
-
"set -euo pipefail",
|
|
25
|
-
"# OpenClaw native services — install and start (Linux). Run from project root. Source .env first.",
|
|
26
|
-
"",
|
|
27
|
-
'SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"',
|
|
28
|
-
'PROJECT_DIR="$(dirname "$SCRIPT_DIR")"',
|
|
29
|
-
'cd "$PROJECT_DIR"',
|
|
30
|
-
"",
|
|
31
|
-
"if [ -f .env ]; then set -a; source .env; set +a; fi",
|
|
32
|
-
"",
|
|
33
|
-
];
|
|
34
|
-
for (const { definition: def } of nativeServices) {
|
|
35
|
-
const recipe = def.nativeRecipes?.find((r) => r.platform === "linux");
|
|
36
|
-
if (!recipe)
|
|
37
|
-
continue;
|
|
38
|
-
lines.push(`# ─── ${def.icon} ${def.name} ─────────────────────────────────────────`);
|
|
39
|
-
lines.push("");
|
|
40
|
-
if (recipe.configPath && recipe.configTemplate) {
|
|
41
|
-
const delim = `ENDOF_${def.id.toUpperCase().replace(/-/g, "_")}_CONF`;
|
|
42
|
-
lines.push(`# Write config for ${def.id}`);
|
|
43
|
-
lines.push(`sudo mkdir -p "$(dirname "${recipe.configPath}")" 2>/dev/null || true`);
|
|
44
|
-
lines.push(`sudo tee "${recipe.configPath}" > /dev/null << ${delim}`);
|
|
45
|
-
lines.push(recipe.configTemplate.trim());
|
|
46
|
-
lines.push(delim);
|
|
47
|
-
lines.push("");
|
|
48
|
-
}
|
|
49
|
-
for (const step of recipe.installSteps) {
|
|
50
|
-
lines.push(`# Install: ${def.id}`);
|
|
51
|
-
lines.push(step);
|
|
52
|
-
lines.push("");
|
|
53
|
-
}
|
|
54
|
-
lines.push(`# Start: ${def.id}`);
|
|
55
|
-
lines.push(recipe.startCommand);
|
|
56
|
-
lines.push("");
|
|
57
|
-
}
|
|
58
|
-
lines.push("echo 'Native services started.'");
|
|
59
|
-
return lines.join("\n");
|
|
60
|
-
}
|
|
61
|
-
function buildWindowsNativeScript(nativeServices) {
|
|
62
|
-
const lines = [
|
|
63
|
-
"# OpenClaw native services — install and start (Windows). Run from project root.",
|
|
64
|
-
"$ErrorActionPreference = 'Stop'",
|
|
65
|
-
"$ProjectDir = (Get-Item $PSScriptRoot).Parent.FullName",
|
|
66
|
-
"Set-Location $ProjectDir",
|
|
67
|
-
"",
|
|
68
|
-
"if (Test-Path .env) { Get-Content .env | ForEach-Object { if ($_ -match '^([^#=]+)=(.*)$') { [System.Environment]::SetEnvironmentVariable($matches[1].Trim(), $matches[2].Trim(), 'Process') } } }",
|
|
69
|
-
"",
|
|
70
|
-
];
|
|
71
|
-
for (const { definition: def } of nativeServices) {
|
|
72
|
-
const recipe = def.nativeRecipes?.find((r) => r.platform === "windows");
|
|
73
|
-
if (!recipe)
|
|
74
|
-
continue;
|
|
75
|
-
lines.push(`# ${def.name}`);
|
|
76
|
-
for (const step of recipe.installSteps) {
|
|
77
|
-
lines.push(`Invoke-Expression "${step.replace(/"/g, '`"')}"`);
|
|
78
|
-
}
|
|
79
|
-
lines.push(recipe.startCommand);
|
|
80
|
-
lines.push("");
|
|
81
|
-
}
|
|
82
|
-
lines.push("Write-Host 'Native services started.'");
|
|
83
|
-
return lines.join("\n");
|
|
84
|
-
}
|
|
85
|
-
//# sourceMappingURL=native-services.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"native-services.js","sourceRoot":"","sources":["../../src/generators/native-services.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
import type { ResolverOutput } from "../types.js";
|
|
2
|
-
/**
|
|
3
|
-
* Database requirement descriptor for a service.
|
|
4
|
-
*/
|
|
5
|
-
interface DbRequirement {
|
|
6
|
-
serviceId: string;
|
|
7
|
-
serviceName: string;
|
|
8
|
-
dbName: string;
|
|
9
|
-
dbUser: string;
|
|
10
|
-
passwordEnvVar: string;
|
|
11
|
-
}
|
|
12
|
-
/**
|
|
13
|
-
* Get the list of database requirements for all resolved services.
|
|
14
|
-
* Exported so other generators (env, composer) can access the same data.
|
|
15
|
-
*/
|
|
16
|
-
export declare function getDbRequirements(resolved: ResolverOutput): DbRequirement[];
|
|
17
|
-
/**
|
|
18
|
-
* Generates a PostgreSQL initialization script that creates databases and users
|
|
19
|
-
* for all companion services that need their own DB.
|
|
20
|
-
*
|
|
21
|
-
* Returns null if PostgreSQL is not in the resolved stack or no services need extra DBs.
|
|
22
|
-
* The script is designed to be mounted at /docker-entrypoint-initdb.d/init-databases.sh
|
|
23
|
-
* and runs automatically during PostgreSQL's first initialization.
|
|
24
|
-
*/
|
|
25
|
-
export declare function generatePostgresInit(resolved: ResolverOutput): string | null;
|
|
26
|
-
export {};
|
|
27
|
-
//# sourceMappingURL=postgres-init.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"postgres-init.d.ts","sourceRoot":"","sources":["../../src/generators/postgres-init.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAElD;;GAEG;AACH,UAAU,aAAa;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,cAAc,EAAE,MAAM,CAAC;CACvB;AA4BD;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,cAAc,GAAG,aAAa,EAAE,CAa3E;AAED;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,cAAc,GAAG,MAAM,GAAG,IAAI,CAsE5E"}
|
|
@@ -1,119 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Known database requirements for services that need their own PostgreSQL database.
|
|
3
|
-
* Maps service ID to the DB name, user, and password env var they expect.
|
|
4
|
-
*/
|
|
5
|
-
const DB_REQUIREMENTS = {
|
|
6
|
-
n8n: { dbName: "n8n", dbUser: "n8n", passwordEnvVar: "N8N_DB_PASSWORD" },
|
|
7
|
-
postiz: { dbName: "postiz", dbUser: "postiz", passwordEnvVar: "POSTIZ_DB_PASSWORD" },
|
|
8
|
-
outline: { dbName: "outline", dbUser: "outline", passwordEnvVar: "OUTLINE_DB_PASSWORD" },
|
|
9
|
-
dify: { dbName: "dify", dbUser: "dify", passwordEnvVar: "DIFY_DB_PASSWORD" },
|
|
10
|
-
temporal: { dbName: "temporal", dbUser: "temporal", passwordEnvVar: "TEMPORAL_DB_PASSWORD" },
|
|
11
|
-
mattermost: {
|
|
12
|
-
dbName: "mattermost",
|
|
13
|
-
dbUser: "mattermost",
|
|
14
|
-
passwordEnvVar: "MATTERMOST_DB_PASSWORD",
|
|
15
|
-
},
|
|
16
|
-
"matrix-synapse": { dbName: "synapse", dbUser: "synapse", passwordEnvVar: "SYNAPSE_DB_PASSWORD" },
|
|
17
|
-
"paperless-ngx": {
|
|
18
|
-
dbName: "paperless",
|
|
19
|
-
dbUser: "paperless",
|
|
20
|
-
passwordEnvVar: "PAPERLESS_DB_PASSWORD",
|
|
21
|
-
},
|
|
22
|
-
umami: { dbName: "umami", dbUser: "umami", passwordEnvVar: "UMAMI_DB_PASSWORD" },
|
|
23
|
-
matomo: { dbName: "matomo", dbUser: "matomo", passwordEnvVar: "MATOMO_DB_PASSWORD" },
|
|
24
|
-
mixpost: { dbName: "mixpost", dbUser: "mixpost", passwordEnvVar: "MIXPOST_DB_PASSWORD" },
|
|
25
|
-
};
|
|
26
|
-
/**
|
|
27
|
-
* Get the list of database requirements for all resolved services.
|
|
28
|
-
* Exported so other generators (env, composer) can access the same data.
|
|
29
|
-
*/
|
|
30
|
-
export function getDbRequirements(resolved) {
|
|
31
|
-
const reqs = [];
|
|
32
|
-
for (const { definition } of resolved.services) {
|
|
33
|
-
const req = DB_REQUIREMENTS[definition.id];
|
|
34
|
-
if (req) {
|
|
35
|
-
reqs.push({
|
|
36
|
-
serviceId: definition.id,
|
|
37
|
-
serviceName: definition.name,
|
|
38
|
-
...req,
|
|
39
|
-
});
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
return reqs;
|
|
43
|
-
}
|
|
44
|
-
/**
|
|
45
|
-
* Generates a PostgreSQL initialization script that creates databases and users
|
|
46
|
-
* for all companion services that need their own DB.
|
|
47
|
-
*
|
|
48
|
-
* Returns null if PostgreSQL is not in the resolved stack or no services need extra DBs.
|
|
49
|
-
* The script is designed to be mounted at /docker-entrypoint-initdb.d/init-databases.sh
|
|
50
|
-
* and runs automatically during PostgreSQL's first initialization.
|
|
51
|
-
*/
|
|
52
|
-
export function generatePostgresInit(resolved) {
|
|
53
|
-
const hasPostgres = resolved.services.some((s) => s.definition.id === "postgresql");
|
|
54
|
-
if (!hasPostgres)
|
|
55
|
-
return null;
|
|
56
|
-
const reqs = getDbRequirements(resolved);
|
|
57
|
-
if (reqs.length === 0)
|
|
58
|
-
return null;
|
|
59
|
-
const createCalls = reqs
|
|
60
|
-
.map((r) => `create_db_and_user "${r.dbName}" "${r.dbUser}" "\${${r.passwordEnvVar}:-$POSTGRES_PASSWORD}"`)
|
|
61
|
-
.join("\n");
|
|
62
|
-
return `#!/bin/bash
|
|
63
|
-
set -e
|
|
64
|
-
|
|
65
|
-
# ═══════════════════════════════════════════════════════════════════════════════
|
|
66
|
-
# PostgreSQL Initialization Script
|
|
67
|
-
# Generated by better-openclaw
|
|
68
|
-
#
|
|
69
|
-
# This script runs automatically during PostgreSQL's first initialization.
|
|
70
|
-
# It creates databases and users for all companion services in your stack.
|
|
71
|
-
# ═══════════════════════════════════════════════════════════════════════════════
|
|
72
|
-
|
|
73
|
-
create_db_and_user() {
|
|
74
|
-
local db="$1"
|
|
75
|
-
local user="$2"
|
|
76
|
-
local password="$3"
|
|
77
|
-
|
|
78
|
-
echo ">>> Creating database '$db' with user '$user'..."
|
|
79
|
-
|
|
80
|
-
psql -v ON_ERROR_STOP=1 --username "$POSTGRES_USER" --dbname "$POSTGRES_DB" <<-EOSQL
|
|
81
|
-
-- Create user if not exists
|
|
82
|
-
DO \\$\\$
|
|
83
|
-
BEGIN
|
|
84
|
-
IF NOT EXISTS (SELECT FROM pg_catalog.pg_roles WHERE rolname = '$user') THEN
|
|
85
|
-
CREATE ROLE "$user" WITH LOGIN PASSWORD '$password';
|
|
86
|
-
RAISE NOTICE 'Created user: $user';
|
|
87
|
-
ELSE
|
|
88
|
-
-- Update password in case it changed
|
|
89
|
-
ALTER ROLE "$user" WITH PASSWORD '$password';
|
|
90
|
-
RAISE NOTICE 'User already exists, updated password: $user';
|
|
91
|
-
END IF;
|
|
92
|
-
END
|
|
93
|
-
\\$\\$;
|
|
94
|
-
|
|
95
|
-
-- Create database if not exists
|
|
96
|
-
SELECT 'CREATE DATABASE "$db" OWNER "$user"'
|
|
97
|
-
WHERE NOT EXISTS (SELECT FROM pg_database WHERE datname = '$db')\\gexec
|
|
98
|
-
|
|
99
|
-
-- Grant privileges
|
|
100
|
-
GRANT ALL PRIVILEGES ON DATABASE "$db" TO "$user";
|
|
101
|
-
EOSQL
|
|
102
|
-
|
|
103
|
-
echo ">>> Done: database '$db' with user '$user'"
|
|
104
|
-
}
|
|
105
|
-
|
|
106
|
-
echo "═══════════════════════════════════════════════════════════"
|
|
107
|
-
echo " Initializing databases for companion services..."
|
|
108
|
-
echo "═══════════════════════════════════════════════════════════"
|
|
109
|
-
|
|
110
|
-
${createCalls}
|
|
111
|
-
|
|
112
|
-
echo ""
|
|
113
|
-
echo "═══════════════════════════════════════════════════════════"
|
|
114
|
-
echo " All databases initialized successfully!"
|
|
115
|
-
echo " Services: ${reqs.map((r) => r.serviceName).join(", ")}"
|
|
116
|
-
echo "═══════════════════════════════════════════════════════════"
|
|
117
|
-
`;
|
|
118
|
-
}
|
|
119
|
-
//# sourceMappingURL=postgres-init.js.map
|