@omnitron-dev/omnitron 0.1.1
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/LICENSE +21 -0
- package/README.md +35 -0
- package/dist/cli/omnitron.d.ts +9 -0
- package/dist/cli/omnitron.d.ts.map +1 -0
- package/dist/cli/omnitron.js +768 -0
- package/dist/cli/omnitron.js.map +1 -0
- package/dist/cluster/cluster.rpc-service.d.ts +48 -0
- package/dist/cluster/cluster.rpc-service.d.ts.map +1 -0
- package/dist/cluster/cluster.rpc-service.js +105 -0
- package/dist/cluster/cluster.rpc-service.js.map +1 -0
- package/dist/cluster/config-sync.d.ts +89 -0
- package/dist/cluster/config-sync.d.ts.map +1 -0
- package/dist/cluster/config-sync.js +162 -0
- package/dist/cluster/config-sync.js.map +1 -0
- package/dist/cluster/index.d.ts +9 -0
- package/dist/cluster/index.d.ts.map +1 -0
- package/dist/cluster/index.js +7 -0
- package/dist/cluster/index.js.map +1 -0
- package/dist/cluster/leader-election.d.ts +145 -0
- package/dist/cluster/leader-election.d.ts.map +1 -0
- package/dist/cluster/leader-election.js +410 -0
- package/dist/cluster/leader-election.js.map +1 -0
- package/dist/cluster/slave-connector.d.ts +104 -0
- package/dist/cluster/slave-connector.d.ts.map +1 -0
- package/dist/cluster/slave-connector.js +316 -0
- package/dist/cluster/slave-connector.js.map +1 -0
- package/dist/commands/backup.d.ts +9 -0
- package/dist/commands/backup.d.ts.map +1 -0
- package/dist/commands/backup.js +81 -0
- package/dist/commands/backup.js.map +1 -0
- package/dist/commands/cluster.d.ts +9 -0
- package/dist/commands/cluster.d.ts.map +1 -0
- package/dist/commands/cluster.js +148 -0
- package/dist/commands/cluster.js.map +1 -0
- package/dist/commands/daemon-cmd.d.ts +11 -0
- package/dist/commands/daemon-cmd.d.ts.map +1 -0
- package/dist/commands/daemon-cmd.js +182 -0
- package/dist/commands/daemon-cmd.js.map +1 -0
- package/dist/commands/deploy.d.ts +17 -0
- package/dist/commands/deploy.d.ts.map +1 -0
- package/dist/commands/deploy.js +110 -0
- package/dist/commands/deploy.js.map +1 -0
- package/dist/commands/dev.d.ts +23 -0
- package/dist/commands/dev.d.ts.map +1 -0
- package/dist/commands/dev.js +76 -0
- package/dist/commands/dev.js.map +1 -0
- package/dist/commands/discover.d.ts +9 -0
- package/dist/commands/discover.d.ts.map +1 -0
- package/dist/commands/discover.js +124 -0
- package/dist/commands/discover.js.map +1 -0
- package/dist/commands/env.d.ts +5 -0
- package/dist/commands/env.d.ts.map +1 -0
- package/dist/commands/env.js +30 -0
- package/dist/commands/env.js.map +1 -0
- package/dist/commands/exec.d.ts +5 -0
- package/dist/commands/exec.d.ts.map +1 -0
- package/dist/commands/exec.js +36 -0
- package/dist/commands/exec.js.map +1 -0
- package/dist/commands/fleet.d.ts +9 -0
- package/dist/commands/fleet.d.ts.map +1 -0
- package/dist/commands/fleet.js +136 -0
- package/dist/commands/fleet.js.map +1 -0
- package/dist/commands/health-check.d.ts +12 -0
- package/dist/commands/health-check.d.ts.map +1 -0
- package/dist/commands/health-check.js +91 -0
- package/dist/commands/health-check.js.map +1 -0
- package/dist/commands/health.d.ts +7 -0
- package/dist/commands/health.d.ts.map +1 -0
- package/dist/commands/health.js +44 -0
- package/dist/commands/health.js.map +1 -0
- package/dist/commands/infra.d.ts +32 -0
- package/dist/commands/infra.d.ts.map +1 -0
- package/dist/commands/infra.js +179 -0
- package/dist/commands/infra.js.map +1 -0
- package/dist/commands/init.d.ts +5 -0
- package/dist/commands/init.d.ts.map +1 -0
- package/dist/commands/init.js +78 -0
- package/dist/commands/init.js.map +1 -0
- package/dist/commands/inspect.d.ts +7 -0
- package/dist/commands/inspect.d.ts.map +1 -0
- package/dist/commands/inspect.js +95 -0
- package/dist/commands/inspect.js.map +1 -0
- package/dist/commands/k8s.d.ts +7 -0
- package/dist/commands/k8s.d.ts.map +1 -0
- package/dist/commands/k8s.js +74 -0
- package/dist/commands/k8s.js.map +1 -0
- package/dist/commands/kb.d.ts +21 -0
- package/dist/commands/kb.d.ts.map +1 -0
- package/dist/commands/kb.js +137 -0
- package/dist/commands/kb.js.map +1 -0
- package/dist/commands/list.d.ts +7 -0
- package/dist/commands/list.d.ts.map +1 -0
- package/dist/commands/list.js +77 -0
- package/dist/commands/list.js.map +1 -0
- package/dist/commands/logs.d.ts +17 -0
- package/dist/commands/logs.d.ts.map +1 -0
- package/dist/commands/logs.js +287 -0
- package/dist/commands/logs.js.map +1 -0
- package/dist/commands/metrics.d.ts +7 -0
- package/dist/commands/metrics.d.ts.map +1 -0
- package/dist/commands/metrics.js +64 -0
- package/dist/commands/metrics.js.map +1 -0
- package/dist/commands/monit.d.ts +7 -0
- package/dist/commands/monit.d.ts.map +1 -0
- package/dist/commands/monit.js +90 -0
- package/dist/commands/monit.js.map +1 -0
- package/dist/commands/node.d.ts +33 -0
- package/dist/commands/node.d.ts.map +1 -0
- package/dist/commands/node.js +169 -0
- package/dist/commands/node.js.map +1 -0
- package/dist/commands/pipeline.d.ts +9 -0
- package/dist/commands/pipeline.d.ts.map +1 -0
- package/dist/commands/pipeline.js +89 -0
- package/dist/commands/pipeline.js.map +1 -0
- package/dist/commands/project.d.ts +11 -0
- package/dist/commands/project.d.ts.map +1 -0
- package/dist/commands/project.js +54 -0
- package/dist/commands/project.js.map +1 -0
- package/dist/commands/reload.d.ts +5 -0
- package/dist/commands/reload.d.ts.map +1 -0
- package/dist/commands/reload.js +31 -0
- package/dist/commands/reload.js.map +1 -0
- package/dist/commands/remote.d.ts +13 -0
- package/dist/commands/remote.d.ts.map +1 -0
- package/dist/commands/remote.js +88 -0
- package/dist/commands/remote.js.map +1 -0
- package/dist/commands/restart.d.ts +5 -0
- package/dist/commands/restart.d.ts.map +1 -0
- package/dist/commands/restart.js +31 -0
- package/dist/commands/restart.js.map +1 -0
- package/dist/commands/scale.d.ts +5 -0
- package/dist/commands/scale.d.ts.map +1 -0
- package/dist/commands/scale.js +29 -0
- package/dist/commands/scale.js.map +1 -0
- package/dist/commands/secret.d.ts +14 -0
- package/dist/commands/secret.d.ts.map +1 -0
- package/dist/commands/secret.js +148 -0
- package/dist/commands/secret.js.map +1 -0
- package/dist/commands/stack.d.ts +18 -0
- package/dist/commands/stack.d.ts.map +1 -0
- package/dist/commands/stack.js +252 -0
- package/dist/commands/stack.js.map +1 -0
- package/dist/commands/start.d.ts +7 -0
- package/dist/commands/start.d.ts.map +1 -0
- package/dist/commands/start.js +43 -0
- package/dist/commands/start.js.map +1 -0
- package/dist/commands/status.d.ts +9 -0
- package/dist/commands/status.d.ts.map +1 -0
- package/dist/commands/status.js +70 -0
- package/dist/commands/status.js.map +1 -0
- package/dist/commands/stop.d.ts +10 -0
- package/dist/commands/stop.d.ts.map +1 -0
- package/dist/commands/stop.js +69 -0
- package/dist/commands/stop.js.map +1 -0
- package/dist/commands/up.d.ts +47 -0
- package/dist/commands/up.d.ts.map +1 -0
- package/dist/commands/up.js +278 -0
- package/dist/commands/up.js.map +1 -0
- package/dist/commands/webapp.d.ts +17 -0
- package/dist/commands/webapp.d.ts.map +1 -0
- package/dist/commands/webapp.js +103 -0
- package/dist/commands/webapp.js.map +1 -0
- package/dist/config/defaults.d.ts +22 -0
- package/dist/config/defaults.d.ts.map +1 -0
- package/dist/config/defaults.js +76 -0
- package/dist/config/defaults.js.map +1 -0
- package/dist/config/define-app.d.ts +6 -0
- package/dist/config/define-app.d.ts.map +1 -0
- package/dist/config/define-app.js +38 -0
- package/dist/config/define-app.js.map +1 -0
- package/dist/config/define-ecosystem.d.ts +6 -0
- package/dist/config/define-ecosystem.d.ts.map +1 -0
- package/dist/config/define-ecosystem.js +21 -0
- package/dist/config/define-ecosystem.js.map +1 -0
- package/dist/config/define-system.d.ts +9 -0
- package/dist/config/define-system.d.ts.map +1 -0
- package/dist/config/define-system.js +106 -0
- package/dist/config/define-system.js.map +1 -0
- package/dist/config/index.d.ts +7 -0
- package/dist/config/index.d.ts.map +1 -0
- package/dist/config/index.js +6 -0
- package/dist/config/index.js.map +1 -0
- package/dist/config/loader.d.ts +11 -0
- package/dist/config/loader.d.ts.map +1 -0
- package/dist/config/loader.js +68 -0
- package/dist/config/loader.js.map +1 -0
- package/dist/config/omnitron-config.schema.d.ts +14 -0
- package/dist/config/omnitron-config.schema.d.ts.map +1 -0
- package/dist/config/omnitron-config.schema.js +35 -0
- package/dist/config/omnitron-config.schema.js.map +1 -0
- package/dist/config/types.d.ts +807 -0
- package/dist/config/types.d.ts.map +1 -0
- package/dist/config/types.js +7 -0
- package/dist/config/types.js.map +1 -0
- package/dist/daemon/daemon-client.d.ts +147 -0
- package/dist/daemon/daemon-client.d.ts.map +1 -0
- package/dist/daemon/daemon-client.js +256 -0
- package/dist/daemon/daemon-client.js.map +1 -0
- package/dist/daemon/daemon-entry.d.ts +9 -0
- package/dist/daemon/daemon-entry.d.ts.map +1 -0
- package/dist/daemon/daemon-entry.js +62 -0
- package/dist/daemon/daemon-entry.js.map +1 -0
- package/dist/daemon/daemon-scheduler.d.ts +32 -0
- package/dist/daemon/daemon-scheduler.d.ts.map +1 -0
- package/dist/daemon/daemon-scheduler.js +93 -0
- package/dist/daemon/daemon-scheduler.js.map +1 -0
- package/dist/daemon/daemon.d.ts +115 -0
- package/dist/daemon/daemon.d.ts.map +1 -0
- package/dist/daemon/daemon.js +1202 -0
- package/dist/daemon/daemon.js.map +1 -0
- package/dist/daemon/daemon.module.d.ts +50 -0
- package/dist/daemon/daemon.module.d.ts.map +1 -0
- package/dist/daemon/daemon.module.js +506 -0
- package/dist/daemon/daemon.module.js.map +1 -0
- package/dist/daemon/daemon.rpc-service.d.ts +122 -0
- package/dist/daemon/daemon.rpc-service.d.ts.map +1 -0
- package/dist/daemon/daemon.rpc-service.js +452 -0
- package/dist/daemon/daemon.rpc-service.js.map +1 -0
- package/dist/daemon/pid-manager.d.ts +43 -0
- package/dist/daemon/pid-manager.d.ts.map +1 -0
- package/dist/daemon/pid-manager.js +103 -0
- package/dist/daemon/pid-manager.js.map +1 -0
- package/dist/daemon/state-store.d.ts +26 -0
- package/dist/daemon/state-store.d.ts.map +1 -0
- package/dist/daemon/state-store.js +34 -0
- package/dist/daemon/state-store.js.map +1 -0
- package/dist/database/index.d.ts +10 -0
- package/dist/database/index.d.ts.map +1 -0
- package/dist/database/index.js +10 -0
- package/dist/database/index.js.map +1 -0
- package/dist/database/migrate.d.ts +11 -0
- package/dist/database/migrate.d.ts.map +1 -0
- package/dist/database/migrate.js +62 -0
- package/dist/database/migrate.js.map +1 -0
- package/dist/database/migrations/001_initial_schema.d.ts +12 -0
- package/dist/database/migrations/001_initial_schema.d.ts.map +1 -0
- package/dist/database/migrations/001_initial_schema.js +246 -0
- package/dist/database/migrations/001_initial_schema.js.map +1 -0
- package/dist/database/migrations/002_metrics_raw.d.ts +17 -0
- package/dist/database/migrations/002_metrics_raw.d.ts.map +1 -0
- package/dist/database/migrations/002_metrics_raw.js +44 -0
- package/dist/database/migrations/002_metrics_raw.js.map +1 -0
- package/dist/database/migrations/003_pipelines_traces.d.ts +14 -0
- package/dist/database/migrations/003_pipelines_traces.d.ts.map +1 -0
- package/dist/database/migrations/003_pipelines_traces.js +108 -0
- package/dist/database/migrations/003_pipelines_traces.js.map +1 -0
- package/dist/database/migrations/004_sync_buffer.d.ts +17 -0
- package/dist/database/migrations/004_sync_buffer.d.ts.map +1 -0
- package/dist/database/migrations/004_sync_buffer.js +59 -0
- package/dist/database/migrations/004_sync_buffer.js.map +1 -0
- package/dist/database/migrations/005_node_health_checks.d.ts +11 -0
- package/dist/database/migrations/005_node_health_checks.d.ts.map +1 -0
- package/dist/database/migrations/005_node_health_checks.js +71 -0
- package/dist/database/migrations/005_node_health_checks.js.map +1 -0
- package/dist/database/schema.d.ts +217 -0
- package/dist/database/schema.d.ts.map +1 -0
- package/dist/database/schema.js +9 -0
- package/dist/database/schema.js.map +1 -0
- package/dist/execution/execution.service.d.ts +72 -0
- package/dist/execution/execution.service.d.ts.map +1 -0
- package/dist/execution/execution.service.js +191 -0
- package/dist/execution/execution.service.js.map +1 -0
- package/dist/execution/index.d.ts +3 -0
- package/dist/execution/index.d.ts.map +1 -0
- package/dist/execution/index.js +2 -0
- package/dist/execution/index.js.map +1 -0
- package/dist/index.d.ts +12 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +9 -0
- package/dist/index.js.map +1 -0
- package/dist/infrastructure/config-normalizer.d.ts +13 -0
- package/dist/infrastructure/config-normalizer.d.ts.map +1 -0
- package/dist/infrastructure/config-normalizer.js +84 -0
- package/dist/infrastructure/config-normalizer.js.map +1 -0
- package/dist/infrastructure/container-runtime.d.ts +63 -0
- package/dist/infrastructure/container-runtime.d.ts.map +1 -0
- package/dist/infrastructure/container-runtime.js +304 -0
- package/dist/infrastructure/container-runtime.js.map +1 -0
- package/dist/infrastructure/gateway-generator.d.ts +63 -0
- package/dist/infrastructure/gateway-generator.d.ts.map +1 -0
- package/dist/infrastructure/gateway-generator.js +253 -0
- package/dist/infrastructure/gateway-generator.js.map +1 -0
- package/dist/infrastructure/index.d.ts +5 -0
- package/dist/infrastructure/index.d.ts.map +1 -0
- package/dist/infrastructure/index.js +5 -0
- package/dist/infrastructure/index.js.map +1 -0
- package/dist/infrastructure/infrastructure-gate.d.ts +48 -0
- package/dist/infrastructure/infrastructure-gate.d.ts.map +1 -0
- package/dist/infrastructure/infrastructure-gate.js +92 -0
- package/dist/infrastructure/infrastructure-gate.js.map +1 -0
- package/dist/infrastructure/infrastructure.service.d.ts +84 -0
- package/dist/infrastructure/infrastructure.service.d.ts.map +1 -0
- package/dist/infrastructure/infrastructure.service.js +502 -0
- package/dist/infrastructure/infrastructure.service.js.map +1 -0
- package/dist/infrastructure/presets/gateway-openresty.d.ts +10 -0
- package/dist/infrastructure/presets/gateway-openresty.d.ts.map +1 -0
- package/dist/infrastructure/presets/gateway-openresty.js +30 -0
- package/dist/infrastructure/presets/gateway-openresty.js.map +1 -0
- package/dist/infrastructure/presets/index.d.ts +14 -0
- package/dist/infrastructure/presets/index.d.ts.map +1 -0
- package/dist/infrastructure/presets/index.js +24 -0
- package/dist/infrastructure/presets/index.js.map +1 -0
- package/dist/infrastructure/presets/minio.d.ts +10 -0
- package/dist/infrastructure/presets/minio.d.ts.map +1 -0
- package/dist/infrastructure/presets/minio.js +60 -0
- package/dist/infrastructure/presets/minio.js.map +1 -0
- package/dist/infrastructure/presets/postgres.d.ts +9 -0
- package/dist/infrastructure/presets/postgres.d.ts.map +1 -0
- package/dist/infrastructure/presets/postgres.js +80 -0
- package/dist/infrastructure/presets/postgres.js.map +1 -0
- package/dist/infrastructure/presets/redis.d.ts +9 -0
- package/dist/infrastructure/presets/redis.d.ts.map +1 -0
- package/dist/infrastructure/presets/redis.js +32 -0
- package/dist/infrastructure/presets/redis.js.map +1 -0
- package/dist/infrastructure/presets/registry.d.ts +21 -0
- package/dist/infrastructure/presets/registry.d.ts.map +1 -0
- package/dist/infrastructure/presets/registry.js +87 -0
- package/dist/infrastructure/presets/registry.js.map +1 -0
- package/dist/infrastructure/presets/types.d.ts +88 -0
- package/dist/infrastructure/presets/types.d.ts.map +1 -0
- package/dist/infrastructure/presets/types.js +14 -0
- package/dist/infrastructure/presets/types.js.map +1 -0
- package/dist/infrastructure/runtime/types.d.ts +35 -0
- package/dist/infrastructure/runtime/types.d.ts.map +1 -0
- package/dist/infrastructure/runtime/types.js +9 -0
- package/dist/infrastructure/runtime/types.js.map +1 -0
- package/dist/infrastructure/server-registry.d.ts +16 -0
- package/dist/infrastructure/server-registry.d.ts.map +1 -0
- package/dist/infrastructure/server-registry.js +45 -0
- package/dist/infrastructure/server-registry.js.map +1 -0
- package/dist/infrastructure/service-resolver.d.ts +93 -0
- package/dist/infrastructure/service-resolver.d.ts.map +1 -0
- package/dist/infrastructure/service-resolver.js +419 -0
- package/dist/infrastructure/service-resolver.js.map +1 -0
- package/dist/infrastructure/stack-infra-manager.d.ts +81 -0
- package/dist/infrastructure/stack-infra-manager.d.ts.map +1 -0
- package/dist/infrastructure/stack-infra-manager.js +309 -0
- package/dist/infrastructure/stack-infra-manager.js.map +1 -0
- package/dist/infrastructure/types.d.ts +413 -0
- package/dist/infrastructure/types.d.ts.map +1 -0
- package/dist/infrastructure/types.js +10 -0
- package/dist/infrastructure/types.js.map +1 -0
- package/dist/mcp/mcp-bridge.d.ts +21 -0
- package/dist/mcp/mcp-bridge.d.ts.map +1 -0
- package/dist/mcp/mcp-bridge.js +126 -0
- package/dist/mcp/mcp-bridge.js.map +1 -0
- package/dist/mcp/tool-groups/apps.tools.d.ts +7 -0
- package/dist/mcp/tool-groups/apps.tools.d.ts.map +1 -0
- package/dist/mcp/tool-groups/apps.tools.js +104 -0
- package/dist/mcp/tool-groups/apps.tools.js.map +1 -0
- package/dist/mcp/tool-groups/infra.tools.d.ts +7 -0
- package/dist/mcp/tool-groups/infra.tools.d.ts.map +1 -0
- package/dist/mcp/tool-groups/infra.tools.js +80 -0
- package/dist/mcp/tool-groups/infra.tools.js.map +1 -0
- package/dist/mcp/tool-groups/kb.tools.d.ts +7 -0
- package/dist/mcp/tool-groups/kb.tools.d.ts.map +1 -0
- package/dist/mcp/tool-groups/kb.tools.js +147 -0
- package/dist/mcp/tool-groups/kb.tools.js.map +1 -0
- package/dist/mcp/tool-groups/management.tools.d.ts +7 -0
- package/dist/mcp/tool-groups/management.tools.d.ts.map +1 -0
- package/dist/mcp/tool-groups/management.tools.js +263 -0
- package/dist/mcp/tool-groups/management.tools.js.map +1 -0
- package/dist/mcp/tool-groups/monitoring.tools.d.ts +6 -0
- package/dist/mcp/tool-groups/monitoring.tools.d.ts.map +1 -0
- package/dist/mcp/tool-groups/monitoring.tools.js +52 -0
- package/dist/mcp/tool-groups/monitoring.tools.js.map +1 -0
- package/dist/mcp/types.d.ts +23 -0
- package/dist/mcp/types.d.ts.map +1 -0
- package/dist/mcp/types.js +2 -0
- package/dist/mcp/types.js.map +1 -0
- package/dist/monitoring/app-health.indicator.d.ts +16 -0
- package/dist/monitoring/app-health.indicator.d.ts.map +1 -0
- package/dist/monitoring/app-health.indicator.js +45 -0
- package/dist/monitoring/app-health.indicator.js.map +1 -0
- package/dist/monitoring/docker-health.indicator.d.ts +19 -0
- package/dist/monitoring/docker-health.indicator.d.ts.map +1 -0
- package/dist/monitoring/docker-health.indicator.js +52 -0
- package/dist/monitoring/docker-health.indicator.js.map +1 -0
- package/dist/monitoring/health.service.d.ts +14 -0
- package/dist/monitoring/health.service.d.ts.map +1 -0
- package/dist/monitoring/health.service.js +50 -0
- package/dist/monitoring/health.service.js.map +1 -0
- package/dist/monitoring/log-manager.d.ts +88 -0
- package/dist/monitoring/log-manager.d.ts.map +1 -0
- package/dist/monitoring/log-manager.js +353 -0
- package/dist/monitoring/log-manager.js.map +1 -0
- package/dist/monitoring/metrics.service.d.ts +14 -0
- package/dist/monitoring/metrics.service.d.ts.map +1 -0
- package/dist/monitoring/metrics.service.js +40 -0
- package/dist/monitoring/metrics.service.js.map +1 -0
- package/dist/orchestrator/app-handle.d.ts +51 -0
- package/dist/orchestrator/app-handle.d.ts.map +1 -0
- package/dist/orchestrator/app-handle.js +90 -0
- package/dist/orchestrator/app-handle.js.map +1 -0
- package/dist/orchestrator/bootstrap-loader.d.ts +36 -0
- package/dist/orchestrator/bootstrap-loader.d.ts.map +1 -0
- package/dist/orchestrator/bootstrap-loader.js +118 -0
- package/dist/orchestrator/bootstrap-loader.js.map +1 -0
- package/dist/orchestrator/bootstrap-process.d.ts +73 -0
- package/dist/orchestrator/bootstrap-process.d.ts.map +1 -0
- package/dist/orchestrator/bootstrap-process.js +342 -0
- package/dist/orchestrator/bootstrap-process.js.map +1 -0
- package/dist/orchestrator/bootstrap-runner.d.ts +15 -0
- package/dist/orchestrator/bootstrap-runner.d.ts.map +1 -0
- package/dist/orchestrator/bootstrap-runner.js +152 -0
- package/dist/orchestrator/bootstrap-runner.js.map +1 -0
- package/dist/orchestrator/build-service.d.ts +70 -0
- package/dist/orchestrator/build-service.d.ts.map +1 -0
- package/dist/orchestrator/build-service.js +313 -0
- package/dist/orchestrator/build-service.js.map +1 -0
- package/dist/orchestrator/classic-launcher.d.ts +17 -0
- package/dist/orchestrator/classic-launcher.d.ts.map +1 -0
- package/dist/orchestrator/classic-launcher.js +111 -0
- package/dist/orchestrator/classic-launcher.js.map +1 -0
- package/dist/orchestrator/dependency-resolver.d.ts +14 -0
- package/dist/orchestrator/dependency-resolver.d.ts.map +1 -0
- package/dist/orchestrator/dependency-resolver.js +56 -0
- package/dist/orchestrator/dependency-resolver.js.map +1 -0
- package/dist/orchestrator/file-watcher.d.ts +53 -0
- package/dist/orchestrator/file-watcher.d.ts.map +1 -0
- package/dist/orchestrator/file-watcher.js +307 -0
- package/dist/orchestrator/file-watcher.js.map +1 -0
- package/dist/orchestrator/module-worker-process.d.ts +37 -0
- package/dist/orchestrator/module-worker-process.d.ts.map +1 -0
- package/dist/orchestrator/module-worker-process.js +187 -0
- package/dist/orchestrator/module-worker-process.js.map +1 -0
- package/dist/orchestrator/orchestrator.service.d.ts +170 -0
- package/dist/orchestrator/orchestrator.service.d.ts.map +1 -0
- package/dist/orchestrator/orchestrator.service.js +1146 -0
- package/dist/orchestrator/orchestrator.service.js.map +1 -0
- package/dist/orchestrator/service-router.d.ts +78 -0
- package/dist/orchestrator/service-router.d.ts.map +1 -0
- package/dist/orchestrator/service-router.js +148 -0
- package/dist/orchestrator/service-router.js.map +1 -0
- package/dist/orchestrator/topology-proxy.d.ts +65 -0
- package/dist/orchestrator/topology-proxy.d.ts.map +1 -0
- package/dist/orchestrator/topology-proxy.js +209 -0
- package/dist/orchestrator/topology-proxy.js.map +1 -0
- package/dist/orchestrator/topology-relay.d.ts +111 -0
- package/dist/orchestrator/topology-relay.d.ts.map +1 -0
- package/dist/orchestrator/topology-relay.js +255 -0
- package/dist/orchestrator/topology-relay.js.map +1 -0
- package/dist/orchestrator/ts-compiler.d.ts +55 -0
- package/dist/orchestrator/ts-compiler.d.ts.map +1 -0
- package/dist/orchestrator/ts-compiler.js +166 -0
- package/dist/orchestrator/ts-compiler.js.map +1 -0
- package/dist/project/artifact-builder.d.ts +63 -0
- package/dist/project/artifact-builder.d.ts.map +1 -0
- package/dist/project/artifact-builder.js +193 -0
- package/dist/project/artifact-builder.js.map +1 -0
- package/dist/project/config-resolver.d.ts +110 -0
- package/dist/project/config-resolver.d.ts.map +1 -0
- package/dist/project/config-resolver.js +563 -0
- package/dist/project/config-resolver.js.map +1 -0
- package/dist/project/dependency-analyzer.d.ts +53 -0
- package/dist/project/dependency-analyzer.d.ts.map +1 -0
- package/dist/project/dependency-analyzer.js +135 -0
- package/dist/project/dependency-analyzer.js.map +1 -0
- package/dist/project/index.d.ts +10 -0
- package/dist/project/index.d.ts.map +1 -0
- package/dist/project/index.js +6 -0
- package/dist/project/index.js.map +1 -0
- package/dist/project/registry.d.ts +28 -0
- package/dist/project/registry.d.ts.map +1 -0
- package/dist/project/registry.js +117 -0
- package/dist/project/registry.js.map +1 -0
- package/dist/project/requirements-scanner.d.ts +65 -0
- package/dist/project/requirements-scanner.d.ts.map +1 -0
- package/dist/project/requirements-scanner.js +217 -0
- package/dist/project/requirements-scanner.js.map +1 -0
- package/dist/services/alert.rpc-service.d.ts +41 -0
- package/dist/services/alert.rpc-service.d.ts.map +1 -0
- package/dist/services/alert.rpc-service.js +102 -0
- package/dist/services/alert.rpc-service.js.map +1 -0
- package/dist/services/alert.service.d.ts +83 -0
- package/dist/services/alert.service.d.ts.map +1 -0
- package/dist/services/alert.service.js +277 -0
- package/dist/services/alert.service.js.map +1 -0
- package/dist/services/auth-context.d.ts +39 -0
- package/dist/services/auth-context.d.ts.map +1 -0
- package/dist/services/auth-context.js +66 -0
- package/dist/services/auth-context.js.map +1 -0
- package/dist/services/auth-middleware.d.ts +47 -0
- package/dist/services/auth-middleware.d.ts.map +1 -0
- package/dist/services/auth-middleware.js +158 -0
- package/dist/services/auth-middleware.js.map +1 -0
- package/dist/services/auth.rpc-service.d.ts +61 -0
- package/dist/services/auth.rpc-service.d.ts.map +1 -0
- package/dist/services/auth.rpc-service.js +131 -0
- package/dist/services/auth.rpc-service.js.map +1 -0
- package/dist/services/auth.service.d.ts +70 -0
- package/dist/services/auth.service.d.ts.map +1 -0
- package/dist/services/auth.service.js +310 -0
- package/dist/services/auth.service.js.map +1 -0
- package/dist/services/backup.rpc-service.d.ts +37 -0
- package/dist/services/backup.rpc-service.d.ts.map +1 -0
- package/dist/services/backup.rpc-service.js +85 -0
- package/dist/services/backup.rpc-service.js.map +1 -0
- package/dist/services/backup.service.d.ts +45 -0
- package/dist/services/backup.service.d.ts.map +1 -0
- package/dist/services/backup.service.js +299 -0
- package/dist/services/backup.service.js.map +1 -0
- package/dist/services/deploy.rpc-service.d.ts +26 -0
- package/dist/services/deploy.rpc-service.d.ts.map +1 -0
- package/dist/services/deploy.rpc-service.js +61 -0
- package/dist/services/deploy.rpc-service.js.map +1 -0
- package/dist/services/deploy.service.d.ts +85 -0
- package/dist/services/deploy.service.d.ts.map +1 -0
- package/dist/services/deploy.service.js +269 -0
- package/dist/services/deploy.service.js.map +1 -0
- package/dist/services/discovery.rpc-service.d.ts +16 -0
- package/dist/services/discovery.rpc-service.d.ts.map +1 -0
- package/dist/services/discovery.rpc-service.js +55 -0
- package/dist/services/discovery.rpc-service.js.map +1 -0
- package/dist/services/discovery.service.d.ts +43 -0
- package/dist/services/discovery.service.d.ts.map +1 -0
- package/dist/services/discovery.service.js +178 -0
- package/dist/services/discovery.service.js.map +1 -0
- package/dist/services/environment.rpc-service.d.ts +22 -0
- package/dist/services/environment.rpc-service.d.ts.map +1 -0
- package/dist/services/environment.rpc-service.js +65 -0
- package/dist/services/environment.rpc-service.js.map +1 -0
- package/dist/services/environment.service.d.ts +87 -0
- package/dist/services/environment.service.d.ts.map +1 -0
- package/dist/services/environment.service.js +220 -0
- package/dist/services/environment.service.js.map +1 -0
- package/dist/services/event-broadcaster.rpc-service.d.ts +44 -0
- package/dist/services/event-broadcaster.rpc-service.d.ts.map +1 -0
- package/dist/services/event-broadcaster.rpc-service.js +84 -0
- package/dist/services/event-broadcaster.rpc-service.js.map +1 -0
- package/dist/services/event-broadcaster.service.d.ts +42 -0
- package/dist/services/event-broadcaster.service.d.ts.map +1 -0
- package/dist/services/event-broadcaster.service.js +87 -0
- package/dist/services/event-broadcaster.service.js.map +1 -0
- package/dist/services/fleet.rpc-service.d.ts +37 -0
- package/dist/services/fleet.rpc-service.d.ts.map +1 -0
- package/dist/services/fleet.rpc-service.js +104 -0
- package/dist/services/fleet.rpc-service.js.map +1 -0
- package/dist/services/fleet.service.d.ts +104 -0
- package/dist/services/fleet.service.d.ts.map +1 -0
- package/dist/services/fleet.service.js +243 -0
- package/dist/services/fleet.service.js.map +1 -0
- package/dist/services/health-check.rpc-service.d.ts +18 -0
- package/dist/services/health-check.rpc-service.d.ts.map +1 -0
- package/dist/services/health-check.rpc-service.js +64 -0
- package/dist/services/health-check.rpc-service.js.map +1 -0
- package/dist/services/health-check.service.d.ts +53 -0
- package/dist/services/health-check.service.d.ts.map +1 -0
- package/dist/services/health-check.service.js +232 -0
- package/dist/services/health-check.service.js.map +1 -0
- package/dist/services/infrastructure.rpc-service.d.ts +18 -0
- package/dist/services/infrastructure.rpc-service.d.ts.map +1 -0
- package/dist/services/infrastructure.rpc-service.js +64 -0
- package/dist/services/infrastructure.rpc-service.js.map +1 -0
- package/dist/services/kubernetes.rpc-service.d.ts +54 -0
- package/dist/services/kubernetes.rpc-service.d.ts.map +1 -0
- package/dist/services/kubernetes.rpc-service.js +112 -0
- package/dist/services/kubernetes.rpc-service.js.map +1 -0
- package/dist/services/kubernetes.service.d.ts +71 -0
- package/dist/services/kubernetes.service.d.ts.map +1 -0
- package/dist/services/kubernetes.service.js +244 -0
- package/dist/services/kubernetes.service.js.map +1 -0
- package/dist/services/log-collector.rpc-service.d.ts +38 -0
- package/dist/services/log-collector.rpc-service.d.ts.map +1 -0
- package/dist/services/log-collector.rpc-service.js +74 -0
- package/dist/services/log-collector.rpc-service.js.map +1 -0
- package/dist/services/log-collector.service.d.ts +96 -0
- package/dist/services/log-collector.service.d.ts.map +1 -0
- package/dist/services/log-collector.service.js +303 -0
- package/dist/services/log-collector.service.js.map +1 -0
- package/dist/services/metrics-collector.service.d.ts +103 -0
- package/dist/services/metrics-collector.service.d.ts.map +1 -0
- package/dist/services/metrics-collector.service.js +235 -0
- package/dist/services/metrics-collector.service.js.map +1 -0
- package/dist/services/metrics.rpc-service.d.ts +41 -0
- package/dist/services/metrics.rpc-service.d.ts.map +1 -0
- package/dist/services/metrics.rpc-service.js +90 -0
- package/dist/services/metrics.rpc-service.js.map +1 -0
- package/dist/services/metrics.service.d.ts +72 -0
- package/dist/services/metrics.service.d.ts.map +1 -0
- package/dist/services/metrics.service.js +185 -0
- package/dist/services/metrics.service.js.map +1 -0
- package/dist/services/netron-telemetry-transport.d.ts +42 -0
- package/dist/services/netron-telemetry-transport.d.ts.map +1 -0
- package/dist/services/netron-telemetry-transport.js +97 -0
- package/dist/services/netron-telemetry-transport.js.map +1 -0
- package/dist/services/node-health.repository.d.ts +65 -0
- package/dist/services/node-health.repository.d.ts.map +1 -0
- package/dist/services/node-health.repository.js +132 -0
- package/dist/services/node-health.repository.js.map +1 -0
- package/dist/services/node-manager.rpc-service.d.ts +66 -0
- package/dist/services/node-manager.rpc-service.d.ts.map +1 -0
- package/dist/services/node-manager.rpc-service.js +229 -0
- package/dist/services/node-manager.rpc-service.js.map +1 -0
- package/dist/services/node-manager.service.d.ts +149 -0
- package/dist/services/node-manager.service.d.ts.map +1 -0
- package/dist/services/node-manager.service.js +547 -0
- package/dist/services/node-manager.service.js.map +1 -0
- package/dist/services/pipeline.rpc-service.d.ts +37 -0
- package/dist/services/pipeline.rpc-service.d.ts.map +1 -0
- package/dist/services/pipeline.rpc-service.js +102 -0
- package/dist/services/pipeline.rpc-service.js.map +1 -0
- package/dist/services/pipeline.service.d.ts +77 -0
- package/dist/services/pipeline.service.d.ts.map +1 -0
- package/dist/services/pipeline.service.js +278 -0
- package/dist/services/pipeline.service.js.map +1 -0
- package/dist/services/project.rpc-service.d.ts +73 -0
- package/dist/services/project.rpc-service.d.ts.map +1 -0
- package/dist/services/project.rpc-service.js +184 -0
- package/dist/services/project.rpc-service.js.map +1 -0
- package/dist/services/project.service.d.ts +123 -0
- package/dist/services/project.service.d.ts.map +1 -0
- package/dist/services/project.service.js +1112 -0
- package/dist/services/project.service.js.map +1 -0
- package/dist/services/remote-deployer.service.d.ts +85 -0
- package/dist/services/remote-deployer.service.d.ts.map +1 -0
- package/dist/services/remote-deployer.service.js +332 -0
- package/dist/services/remote-deployer.service.js.map +1 -0
- package/dist/services/remote-ops.service.d.ts +72 -0
- package/dist/services/remote-ops.service.d.ts.map +1 -0
- package/dist/services/remote-ops.service.js +132 -0
- package/dist/services/remote-ops.service.js.map +1 -0
- package/dist/services/secrets.rpc-service.d.ts +45 -0
- package/dist/services/secrets.rpc-service.d.ts.map +1 -0
- package/dist/services/secrets.rpc-service.js +81 -0
- package/dist/services/secrets.rpc-service.js.map +1 -0
- package/dist/services/secrets.service.d.ts +57 -0
- package/dist/services/secrets.service.d.ts.map +1 -0
- package/dist/services/secrets.service.js +211 -0
- package/dist/services/secrets.service.js.map +1 -0
- package/dist/services/slave-storage.service.d.ts +69 -0
- package/dist/services/slave-storage.service.d.ts.map +1 -0
- package/dist/services/slave-storage.service.js +131 -0
- package/dist/services/slave-storage.service.js.map +1 -0
- package/dist/services/sync.rpc-service.d.ts +37 -0
- package/dist/services/sync.rpc-service.d.ts.map +1 -0
- package/dist/services/sync.rpc-service.js +72 -0
- package/dist/services/sync.rpc-service.js.map +1 -0
- package/dist/services/sync.service.d.ts +121 -0
- package/dist/services/sync.service.d.ts.map +1 -0
- package/dist/services/sync.service.js +440 -0
- package/dist/services/sync.service.js.map +1 -0
- package/dist/services/system-info.rpc-service.d.ts +12 -0
- package/dist/services/system-info.rpc-service.d.ts.map +1 -0
- package/dist/services/system-info.rpc-service.js +37 -0
- package/dist/services/system-info.rpc-service.js.map +1 -0
- package/dist/services/system-info.service.d.ts +89 -0
- package/dist/services/system-info.service.d.ts.map +1 -0
- package/dist/services/system-info.service.js +151 -0
- package/dist/services/system-info.service.js.map +1 -0
- package/dist/services/telemetry.rpc-service.d.ts +27 -0
- package/dist/services/telemetry.rpc-service.d.ts.map +1 -0
- package/dist/services/telemetry.rpc-service.js +56 -0
- package/dist/services/telemetry.rpc-service.js.map +1 -0
- package/dist/services/telemetry.service.d.ts +31 -0
- package/dist/services/telemetry.service.d.ts.map +1 -0
- package/dist/services/telemetry.service.js +134 -0
- package/dist/services/telemetry.service.js.map +1 -0
- package/dist/services/trace-collector.rpc-service.d.ts +24 -0
- package/dist/services/trace-collector.rpc-service.d.ts.map +1 -0
- package/dist/services/trace-collector.rpc-service.js +75 -0
- package/dist/services/trace-collector.rpc-service.js.map +1 -0
- package/dist/services/trace-collector.service.d.ts +76 -0
- package/dist/services/trace-collector.service.d.ts.map +1 -0
- package/dist/services/trace-collector.service.js +201 -0
- package/dist/services/trace-collector.service.js.map +1 -0
- package/dist/shared/dto/project.d.ts +156 -0
- package/dist/shared/dto/project.d.ts.map +1 -0
- package/dist/shared/dto/project.js +8 -0
- package/dist/shared/dto/project.js.map +1 -0
- package/dist/shared/dto/services.d.ts +254 -0
- package/dist/shared/dto/services.d.ts.map +1 -0
- package/dist/shared/dto/services.js +7 -0
- package/dist/shared/dto/services.js.map +1 -0
- package/dist/shared/dto/types.d.ts +5 -0
- package/dist/shared/dto/types.d.ts.map +1 -0
- package/dist/shared/dto/types.js +5 -0
- package/dist/shared/dto/types.js.map +1 -0
- package/dist/shared/events.d.ts +215 -0
- package/dist/shared/events.d.ts.map +1 -0
- package/dist/shared/events.js +101 -0
- package/dist/shared/events.js.map +1 -0
- package/dist/shared/format.d.ts +18 -0
- package/dist/shared/format.d.ts.map +1 -0
- package/dist/shared/format.js +93 -0
- package/dist/shared/format.js.map +1 -0
- package/dist/shared/roles.d.ts +31 -0
- package/dist/shared/roles.d.ts.map +1 -0
- package/dist/shared/roles.js +39 -0
- package/dist/shared/roles.js.map +1 -0
- package/dist/shared/tokens.d.ts +70 -0
- package/dist/shared/tokens.d.ts.map +1 -0
- package/dist/shared/tokens.js +46 -0
- package/dist/shared/tokens.js.map +1 -0
- package/dist/shared/xec-loader.d.ts +17 -0
- package/dist/shared/xec-loader.d.ts.map +1 -0
- package/dist/shared/xec-loader.js +41 -0
- package/dist/shared/xec-loader.js.map +1 -0
- package/dist/supervisor/omnitron-supervisor.d.ts +21 -0
- package/dist/supervisor/omnitron-supervisor.d.ts.map +1 -0
- package/dist/supervisor/omnitron-supervisor.js +43 -0
- package/dist/supervisor/omnitron-supervisor.js.map +1 -0
- package/dist/supervisor/restart-policy.d.ts +11 -0
- package/dist/supervisor/restart-policy.d.ts.map +1 -0
- package/dist/supervisor/restart-policy.js +33 -0
- package/dist/supervisor/restart-policy.js.map +1 -0
- package/dist/webapp/static-server.d.ts +24 -0
- package/dist/webapp/static-server.d.ts.map +1 -0
- package/dist/webapp/static-server.js +152 -0
- package/dist/webapp/static-server.js.map +1 -0
- package/dist/webapp/webapp.service.d.ts +55 -0
- package/dist/webapp/webapp.service.d.ts.map +1 -0
- package/dist/webapp/webapp.service.js +233 -0
- package/dist/webapp/webapp.service.js.map +1 -0
- package/dist/workers/health-monitor-process.d.ts +41 -0
- package/dist/workers/health-monitor-process.d.ts.map +1 -0
- package/dist/workers/health-monitor-process.js +128 -0
- package/dist/workers/health-monitor-process.js.map +1 -0
- package/dist/workers/health-monitor.module.d.ts +11 -0
- package/dist/workers/health-monitor.module.d.ts.map +1 -0
- package/dist/workers/health-monitor.module.js +29 -0
- package/dist/workers/health-monitor.module.js.map +1 -0
- package/dist/workers/health-monitor.service.d.ts +55 -0
- package/dist/workers/health-monitor.service.d.ts.map +1 -0
- package/dist/workers/health-monitor.service.js +402 -0
- package/dist/workers/health-monitor.service.js.map +1 -0
- package/dist/workers/system-worker-manager.d.ts +47 -0
- package/dist/workers/system-worker-manager.d.ts.map +1 -0
- package/dist/workers/system-worker-manager.js +98 -0
- package/dist/workers/system-worker-manager.js.map +1 -0
- package/dist/workers/types.d.ts +80 -0
- package/dist/workers/types.d.ts.map +1 -0
- package/dist/workers/types.js +8 -0
- package/dist/workers/types.js.map +1 -0
- package/package.json +85 -0
- package/webapp/dist/assets/Chip-BySxTjyN.js +1 -0
- package/webapp/dist/assets/DialogContentText-YQWiAVrU.js +1 -0
- package/webapp/dist/assets/DialogTitle-CDkgUIwp.js +1 -0
- package/webapp/dist/assets/FormControlLabel-Bu3CCsBM.js +1 -0
- package/webapp/dist/assets/Grid-BFY8hAzL.js +1 -0
- package/webapp/dist/assets/InputAdornment-_Dayk-3y.js +3 -0
- package/webapp/dist/assets/Skeleton-BGj6Sw8m.js +37 -0
- package/webapp/dist/assets/Switch-CA6682vv.js +1 -0
- package/webapp/dist/assets/TableContainer-4epq10KJ.js +1 -0
- package/webapp/dist/assets/TextField-C73KHMVN.js +1 -0
- package/webapp/dist/assets/alerts-JEQALS7Y.js +1 -0
- package/webapp/dist/assets/apps-DMPysEKB.js +1 -0
- package/webapp/dist/assets/client-DlGPter5.js +110 -0
- package/webapp/dist/assets/constants-DqFQJ27U.js +1 -0
- package/webapp/dist/assets/containers-CvkC7do8.js +1 -0
- package/webapp/dist/assets/dashboard-C0Fre9pC.js +1 -0
- package/webapp/dist/assets/dashboard-builder-DAghqdpE.js +1 -0
- package/webapp/dist/assets/deployments-Cg1lI1uT.js +1 -0
- package/webapp/dist/assets/detail-CyFtEson.js +1 -0
- package/webapp/dist/assets/detail-DqoSGKT1.js +8 -0
- package/webapp/dist/assets/formatters-J3Xqn6BQ.js +1 -0
- package/webapp/dist/assets/fs-uP8eiZAR.js +1 -0
- package/webapp/dist/assets/icons-ynIWYfBP.js +3 -0
- package/webapp/dist/assets/index-CHVXOsTS.css +1 -0
- package/webapp/dist/assets/index-vKrDmEA_.js +259 -0
- package/webapp/dist/assets/inter-cyrillic-400-normal-HOLc17fK.woff +0 -0
- package/webapp/dist/assets/inter-cyrillic-400-normal-obahsSVq.woff2 +0 -0
- package/webapp/dist/assets/inter-cyrillic-500-normal-BasfLYem.woff2 +0 -0
- package/webapp/dist/assets/inter-cyrillic-500-normal-CxZf_p3X.woff +0 -0
- package/webapp/dist/assets/inter-cyrillic-600-normal-4D_pXhcN.woff +0 -0
- package/webapp/dist/assets/inter-cyrillic-600-normal-CWCymEST.woff2 +0 -0
- package/webapp/dist/assets/inter-cyrillic-700-normal-CjBOestx.woff2 +0 -0
- package/webapp/dist/assets/inter-cyrillic-700-normal-DrXBdSj3.woff +0 -0
- package/webapp/dist/assets/inter-cyrillic-ext-400-normal-BQZuk6qB.woff2 +0 -0
- package/webapp/dist/assets/inter-cyrillic-ext-400-normal-DQukG94-.woff +0 -0
- package/webapp/dist/assets/inter-cyrillic-ext-500-normal-B0yAr1jD.woff2 +0 -0
- package/webapp/dist/assets/inter-cyrillic-ext-500-normal-BmqWE9Dz.woff +0 -0
- package/webapp/dist/assets/inter-cyrillic-ext-600-normal-Bcila6Z-.woff +0 -0
- package/webapp/dist/assets/inter-cyrillic-ext-600-normal-Dfes3d0z.woff2 +0 -0
- package/webapp/dist/assets/inter-cyrillic-ext-700-normal-BjwYoWNd.woff2 +0 -0
- package/webapp/dist/assets/inter-cyrillic-ext-700-normal-LO58E6JB.woff +0 -0
- package/webapp/dist/assets/inter-greek-400-normal-B4URO6DV.woff2 +0 -0
- package/webapp/dist/assets/inter-greek-400-normal-q2sYcFCs.woff +0 -0
- package/webapp/dist/assets/inter-greek-500-normal-BIZE56-Y.woff2 +0 -0
- package/webapp/dist/assets/inter-greek-500-normal-Xzm54t5V.woff +0 -0
- package/webapp/dist/assets/inter-greek-600-normal-BZpKdvQh.woff +0 -0
- package/webapp/dist/assets/inter-greek-600-normal-plRanbMR.woff2 +0 -0
- package/webapp/dist/assets/inter-greek-700-normal-BUv2fZ6O.woff +0 -0
- package/webapp/dist/assets/inter-greek-700-normal-C3JjAnD8.woff2 +0 -0
- package/webapp/dist/assets/inter-greek-ext-400-normal-DGGRlc-M.woff2 +0 -0
- package/webapp/dist/assets/inter-greek-ext-400-normal-KugGGMne.woff +0 -0
- package/webapp/dist/assets/inter-greek-ext-500-normal-2j5mBUwD.woff +0 -0
- package/webapp/dist/assets/inter-greek-ext-500-normal-C4iEst2y.woff2 +0 -0
- package/webapp/dist/assets/inter-greek-ext-600-normal-B8X0CLgF.woff +0 -0
- package/webapp/dist/assets/inter-greek-ext-600-normal-DRtmH8MT.woff2 +0 -0
- package/webapp/dist/assets/inter-greek-ext-700-normal-BoQ6DsYi.woff +0 -0
- package/webapp/dist/assets/inter-greek-ext-700-normal-qfdV9bQt.woff2 +0 -0
- package/webapp/dist/assets/inter-latin-400-normal-C38fXH4l.woff2 +0 -0
- package/webapp/dist/assets/inter-latin-400-normal-CyCys3Eg.woff +0 -0
- package/webapp/dist/assets/inter-latin-500-normal-BL9OpVg8.woff +0 -0
- package/webapp/dist/assets/inter-latin-500-normal-Cerq10X2.woff2 +0 -0
- package/webapp/dist/assets/inter-latin-600-normal-CiBQ2DWP.woff +0 -0
- package/webapp/dist/assets/inter-latin-600-normal-LgqL8muc.woff2 +0 -0
- package/webapp/dist/assets/inter-latin-700-normal-BLAVimhd.woff +0 -0
- package/webapp/dist/assets/inter-latin-700-normal-Yt3aPRUw.woff2 +0 -0
- package/webapp/dist/assets/inter-latin-ext-400-normal-77YHD8bZ.woff +0 -0
- package/webapp/dist/assets/inter-latin-ext-400-normal-C1nco2VV.woff2 +0 -0
- package/webapp/dist/assets/inter-latin-ext-500-normal-BxGbmqWO.woff +0 -0
- package/webapp/dist/assets/inter-latin-ext-500-normal-CV4jyFjo.woff2 +0 -0
- package/webapp/dist/assets/inter-latin-ext-600-normal-CIVaiw4L.woff +0 -0
- package/webapp/dist/assets/inter-latin-ext-600-normal-D2bJ5OIk.woff2 +0 -0
- package/webapp/dist/assets/inter-latin-ext-700-normal-Ca8adRJv.woff2 +0 -0
- package/webapp/dist/assets/inter-latin-ext-700-normal-TidjK2hL.woff +0 -0
- package/webapp/dist/assets/inter-vietnamese-400-normal-Bbgyi5SW.woff +0 -0
- package/webapp/dist/assets/inter-vietnamese-400-normal-DMkecbls.woff2 +0 -0
- package/webapp/dist/assets/inter-vietnamese-500-normal-DOriooB6.woff2 +0 -0
- package/webapp/dist/assets/inter-vietnamese-500-normal-mJboJaSs.woff +0 -0
- package/webapp/dist/assets/inter-vietnamese-600-normal-BuLX-rYi.woff +0 -0
- package/webapp/dist/assets/inter-vietnamese-600-normal-Cc8MFFhd.woff2 +0 -0
- package/webapp/dist/assets/inter-vietnamese-700-normal-BZaoP0fm.woff +0 -0
- package/webapp/dist/assets/inter-vietnamese-700-normal-DlLaEgI2.woff2 +0 -0
- package/webapp/dist/assets/isMuiElement-BRL3YuCT.js +1 -0
- package/webapp/dist/assets/logs-IovIij1C.js +11 -0
- package/webapp/dist/assets/metrics-Dufwtwjq.js +1 -0
- package/webapp/dist/assets/nodes-Brvu8W3j.js +7 -0
- package/webapp/dist/assets/pipelines-t40X4MuC.js +4 -0
- package/webapp/dist/assets/prop-types-CvVtHxp4.js +1 -0
- package/webapp/dist/assets/react-apexcharts.esm-CLO6gala.js +954 -0
- package/webapp/dist/assets/settings-DTAIST3v.js +1 -0
- package/webapp/dist/assets/sign-in-DQEAkJum.js +1 -0
- package/webapp/dist/assets/stacks-BjM1f45N.js +1 -0
- package/webapp/dist/assets/system-info-BQSbSEK-.js +1 -0
- package/webapp/dist/assets/topology-6N8-Az_Z.js +12 -0
- package/webapp/dist/assets/topology-CHpVij2M.css +1 -0
- package/webapp/dist/assets/traces-DVXyb-4m.js +1 -0
- package/webapp/dist/assets/use-stack-context-CbE8fxBA.js +1 -0
- package/webapp/dist/favicon.png +0 -0
- package/webapp/dist/index.html +19 -0
- package/webapp/dist/logo.svg +80 -0
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* RemoteOpsService — Reusable remote operations layer on @xec-sh/core
|
|
3
|
+
*
|
|
4
|
+
* Provides ping, SSH, and remote command execution for all omnitron subsystems.
|
|
5
|
+
* Built on ExecutionService which wraps @xec-sh/core ExecutionEngine.
|
|
6
|
+
*
|
|
7
|
+
* Used by: NodeManagerService, ProjectService, DeployService, DiscoveryService
|
|
8
|
+
*/
|
|
9
|
+
import { ExecutionService } from '../execution/execution.service.js';
|
|
10
|
+
export const DEFAULT_CHECK_CONFIG = {
|
|
11
|
+
pingEnabled: true,
|
|
12
|
+
pingTimeout: 5_000,
|
|
13
|
+
sshTimeout: 10_000,
|
|
14
|
+
omnitronCheckTimeout: 15_000,
|
|
15
|
+
};
|
|
16
|
+
// =============================================================================
|
|
17
|
+
// Service
|
|
18
|
+
// =============================================================================
|
|
19
|
+
export class RemoteOpsService {
|
|
20
|
+
exec;
|
|
21
|
+
constructor(logger) {
|
|
22
|
+
this.exec = new ExecutionService(logger);
|
|
23
|
+
}
|
|
24
|
+
// ===========================================================================
|
|
25
|
+
// Ping (ICMP)
|
|
26
|
+
// ===========================================================================
|
|
27
|
+
/**
|
|
28
|
+
* ICMP ping a host. Uses system `ping` command via @xec-sh/core.
|
|
29
|
+
* Returns latency in ms or null if unreachable.
|
|
30
|
+
*/
|
|
31
|
+
async ping(host, timeoutMs = DEFAULT_CHECK_CONFIG.pingTimeout) {
|
|
32
|
+
const start = Date.now();
|
|
33
|
+
try {
|
|
34
|
+
const timeoutSec = Math.max(1, Math.ceil(timeoutMs / 1000));
|
|
35
|
+
// macOS: /sbin/ping -c count -W timeout(ms), Linux: /bin/ping -c count -W timeout(s)
|
|
36
|
+
// Use absolute paths — child processes may not have /sbin in PATH
|
|
37
|
+
const isMac = process.platform === 'darwin';
|
|
38
|
+
const pingBin = isMac ? '/sbin/ping' : '/bin/ping';
|
|
39
|
+
const cmd = isMac
|
|
40
|
+
? `${pingBin} -c 1 -W ${timeoutMs} '${host}'`
|
|
41
|
+
: `${pingBin} -c 1 -W ${timeoutSec} '${host}'`;
|
|
42
|
+
const result = await this.exec.exec(cmd, { timeout: timeoutMs + 2000 });
|
|
43
|
+
if (result.exitCode === 0) {
|
|
44
|
+
const match = result.stdout.match(/time[=<](\d+\.?\d*)\s*ms/);
|
|
45
|
+
const latency = match ? parseFloat(match[1]) : Date.now() - start;
|
|
46
|
+
return { reachable: true, latencyMs: Math.round(latency * 100) / 100 };
|
|
47
|
+
}
|
|
48
|
+
return { reachable: false, latencyMs: null, error: 'Host unreachable' };
|
|
49
|
+
}
|
|
50
|
+
catch (err) {
|
|
51
|
+
return { reachable: false, latencyMs: null, error: err.message };
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
// ===========================================================================
|
|
55
|
+
// SSH
|
|
56
|
+
// ===========================================================================
|
|
57
|
+
/**
|
|
58
|
+
* Check SSH connectivity to a remote host.
|
|
59
|
+
* Executes `echo ok && uname -s -m -n` to verify connection and get OS info.
|
|
60
|
+
*/
|
|
61
|
+
async checkSsh(target, timeoutMs = DEFAULT_CHECK_CONFIG.sshTimeout) {
|
|
62
|
+
const start = Date.now();
|
|
63
|
+
try {
|
|
64
|
+
const result = await this.exec.ssh(target, 'echo ok && uname -s -m -n', { timeout: timeoutMs });
|
|
65
|
+
const latency = Date.now() - start;
|
|
66
|
+
if (result.exitCode === 0 && result.stdout.includes('ok')) {
|
|
67
|
+
const lines = result.stdout.trim().split('\n');
|
|
68
|
+
const unameParts = (lines[1] ?? '').trim().split(/\s+/);
|
|
69
|
+
const sshResult = { connected: true, latencyMs: latency };
|
|
70
|
+
if (unameParts.length >= 3) {
|
|
71
|
+
sshResult.os = { platform: unameParts[0].toLowerCase(), arch: unameParts[1], hostname: unameParts[2] };
|
|
72
|
+
}
|
|
73
|
+
return sshResult;
|
|
74
|
+
}
|
|
75
|
+
return { connected: false, latencyMs: latency, error: result.stderr || 'SSH command failed' };
|
|
76
|
+
}
|
|
77
|
+
catch (err) {
|
|
78
|
+
return { connected: false, latencyMs: Date.now() - start, error: err.message };
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* Execute a command on a remote host via SSH.
|
|
83
|
+
*/
|
|
84
|
+
async sshExec(target, command, timeoutMs) {
|
|
85
|
+
return this.exec.ssh(target, command, timeoutMs ? { timeout: timeoutMs } : undefined);
|
|
86
|
+
}
|
|
87
|
+
// ===========================================================================
|
|
88
|
+
// Remote Omnitron Status
|
|
89
|
+
// ===========================================================================
|
|
90
|
+
/**
|
|
91
|
+
* Check if omnitron daemon is running on a remote node.
|
|
92
|
+
* Executes `omnitron status --json` via SSH.
|
|
93
|
+
*/
|
|
94
|
+
async checkRemoteOmnitron(target, timeoutMs = DEFAULT_CHECK_CONFIG.omnitronCheckTimeout) {
|
|
95
|
+
try {
|
|
96
|
+
const result = await this.exec.ssh(target, 'omnitron status --json 2>/dev/null || echo "{"', { timeout: timeoutMs });
|
|
97
|
+
if (result.exitCode !== 0) {
|
|
98
|
+
return { connected: false };
|
|
99
|
+
}
|
|
100
|
+
try {
|
|
101
|
+
const info = JSON.parse(result.stdout.trim() || '{}');
|
|
102
|
+
return {
|
|
103
|
+
connected: !!info.pid,
|
|
104
|
+
version: info.version,
|
|
105
|
+
pid: info.pid,
|
|
106
|
+
uptime: info.uptime,
|
|
107
|
+
role: info.role,
|
|
108
|
+
os: info.os,
|
|
109
|
+
};
|
|
110
|
+
}
|
|
111
|
+
catch {
|
|
112
|
+
return { connected: false };
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
catch {
|
|
116
|
+
return { connected: false };
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
// ===========================================================================
|
|
120
|
+
// Local Execution (convenience)
|
|
121
|
+
// ===========================================================================
|
|
122
|
+
async localExec(command, timeoutMs) {
|
|
123
|
+
return this.exec.exec(command, timeoutMs ? { timeout: timeoutMs } : undefined);
|
|
124
|
+
}
|
|
125
|
+
// ===========================================================================
|
|
126
|
+
// Lifecycle
|
|
127
|
+
// ===========================================================================
|
|
128
|
+
async dispose() {
|
|
129
|
+
await this.exec.dispose?.();
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
//# sourceMappingURL=remote-ops.service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"remote-ops.service.js","sourceRoot":"","sources":["../../src/services/remote-ops.service.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,EAAE,gBAAgB,EAAmC,MAAM,mCAAmC,CAAC;AAoCtG,MAAM,CAAC,MAAM,oBAAoB,GAAoB;IACnD,WAAW,EAAE,IAAI;IACjB,WAAW,EAAE,KAAK;IAClB,UAAU,EAAE,MAAM;IAClB,oBAAoB,EAAE,MAAM;CAC7B,CAAC;AAEF,gFAAgF;AAChF,UAAU;AACV,gFAAgF;AAEhF,MAAM,OAAO,gBAAgB;IACV,IAAI,CAAmB;IAExC,YAAY,MAAe;QACzB,IAAI,CAAC,IAAI,GAAG,IAAI,gBAAgB,CAAC,MAAM,CAAC,CAAC;IAC3C,CAAC;IAED,8EAA8E;IAC9E,cAAc;IACd,8EAA8E;IAE9E;;;OAGG;IACH,KAAK,CAAC,IAAI,CAAC,IAAY,EAAE,SAAS,GAAG,oBAAoB,CAAC,WAAW;QACnE,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACzB,IAAI,CAAC;YACH,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,CAAC,CAAC;YAC5D,qFAAqF;YACrF,kEAAkE;YAClE,MAAM,KAAK,GAAG,OAAO,CAAC,QAAQ,KAAK,QAAQ,CAAC;YAC5C,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,WAAW,CAAC;YACnD,MAAM,GAAG,GAAG,KAAK;gBACf,CAAC,CAAC,GAAG,OAAO,YAAY,SAAS,KAAK,IAAI,GAAG;gBAC7C,CAAC,CAAC,GAAG,OAAO,YAAY,UAAU,KAAK,IAAI,GAAG,CAAC;YAEjD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,SAAS,GAAG,IAAI,EAAE,CAAC,CAAC;YAExE,IAAI,MAAM,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;gBAC1B,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC;gBAC9D,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC;gBACnE,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,GAAG,CAAC,GAAG,GAAG,EAAE,CAAC;YACzE,CAAC;YACD,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,kBAAkB,EAAE,CAAC;QAC1E,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAG,GAAa,CAAC,OAAO,EAAE,CAAC;QAC9E,CAAC;IACH,CAAC;IAED,8EAA8E;IAC9E,MAAM;IACN,8EAA8E;IAE9E;;;OAGG;IACH,KAAK,CAAC,QAAQ,CAAC,MAAiB,EAAE,SAAS,GAAG,oBAAoB,CAAC,UAAU;QAC3E,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACzB,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,2BAA2B,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC;YAChG,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC;YAEnC,IAAI,MAAM,CAAC,QAAQ,KAAK,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC1D,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBAC/C,MAAM,UAAU,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;gBACxD,MAAM,SAAS,GAAmB,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC;gBAC1E,IAAI,UAAU,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;oBAC3B,SAAS,CAAC,EAAE,GAAG,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAE,CAAC,WAAW,EAAE,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC,CAAE,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAE,EAAE,CAAC;gBAC5G,CAAC;gBACD,OAAO,SAAS,CAAC;YACnB,CAAC;YACD,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,IAAI,oBAAoB,EAAE,CAAC;QAChG,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,EAAE,KAAK,EAAG,GAAa,CAAC,OAAO,EAAE,CAAC;QAC5F,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,OAAO,CAAC,MAAiB,EAAE,OAAe,EAAE,SAAkB;QAClE,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IACxF,CAAC;IAED,8EAA8E;IAC9E,yBAAyB;IACzB,8EAA8E;IAE9E;;;OAGG;IACH,KAAK,CAAC,mBAAmB,CACvB,MAAiB,EACjB,SAAS,GAAG,oBAAoB,CAAC,oBAAoB;QAErD,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAChC,MAAM,EACN,gDAAgD,EAChD,EAAE,OAAO,EAAE,SAAS,EAAE,CACvB,CAAC;YAEF,IAAI,MAAM,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;gBAC1B,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;YAC9B,CAAC;YAED,IAAI,CAAC;gBACH,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,IAAI,CAAC,CAAC;gBACtD,OAAO;oBACL,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG;oBACrB,OAAO,EAAE,IAAI,CAAC,OAAO;oBACrB,GAAG,EAAE,IAAI,CAAC,GAAG;oBACb,MAAM,EAAE,IAAI,CAAC,MAAM;oBACnB,IAAI,EAAE,IAAI,CAAC,IAAI;oBACf,EAAE,EAAE,IAAI,CAAC,EAAE;iBACZ,CAAC;YACJ,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;YAC9B,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;QAC9B,CAAC;IACH,CAAC;IAED,8EAA8E;IAC9E,gCAAgC;IAChC,8EAA8E;IAE9E,KAAK,CAAC,SAAS,CAAC,OAAe,EAAE,SAAkB;QACjD,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IACjF,CAAC;IAED,8EAA8E;IAC9E,YAAY;IACZ,8EAA8E;IAE9E,KAAK,CAAC,OAAO;QACX,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC;IAC9B,CAAC;CACF"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Secrets RPC Service
|
|
3
|
+
*
|
|
4
|
+
* Netron RPC endpoints for encrypted secrets management.
|
|
5
|
+
* All endpoints require authentication (admin role).
|
|
6
|
+
*/
|
|
7
|
+
import type { SecretsService } from './secrets.service.js';
|
|
8
|
+
export declare class SecretsRpcService {
|
|
9
|
+
private readonly secrets;
|
|
10
|
+
constructor(secrets: SecretsService);
|
|
11
|
+
/**
|
|
12
|
+
* Get a secret by key. Returns null if not found.
|
|
13
|
+
*/
|
|
14
|
+
get(data: {
|
|
15
|
+
key: string;
|
|
16
|
+
}): Promise<{
|
|
17
|
+
key: string;
|
|
18
|
+
value: string | null;
|
|
19
|
+
}>;
|
|
20
|
+
/**
|
|
21
|
+
* Set a secret. Creates or updates the value.
|
|
22
|
+
*/
|
|
23
|
+
set(data: {
|
|
24
|
+
key: string;
|
|
25
|
+
value: string;
|
|
26
|
+
}): Promise<{
|
|
27
|
+
success: boolean;
|
|
28
|
+
}>;
|
|
29
|
+
/**
|
|
30
|
+
* Delete a secret by key.
|
|
31
|
+
*/
|
|
32
|
+
delete(data: {
|
|
33
|
+
key: string;
|
|
34
|
+
}): Promise<{
|
|
35
|
+
success: boolean;
|
|
36
|
+
existed: boolean;
|
|
37
|
+
}>;
|
|
38
|
+
/**
|
|
39
|
+
* List all secret keys (values are NOT returned for security).
|
|
40
|
+
*/
|
|
41
|
+
list(): Promise<{
|
|
42
|
+
keys: string[];
|
|
43
|
+
}>;
|
|
44
|
+
}
|
|
45
|
+
//# sourceMappingURL=secrets.rpc-service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"secrets.rpc-service.d.ts","sourceRoot":"","sources":["../../src/services/secrets.rpc-service.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAE3D,qBACa,iBAAiB;IAChB,OAAO,CAAC,QAAQ,CAAC,OAAO;gBAAP,OAAO,EAAE,cAAc;IAEpD;;OAEG;IAEG,GAAG,CAAC,IAAI,EAAE;QAAE,GAAG,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC;IAKhF;;OAEG;IAEG,GAAG,CAAC,IAAI,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC;IAK9E;;OAEG;IAEG,MAAM,CAAC,IAAI,EAAE;QAAE,GAAG,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC;IAKpF;;OAEG;IAEG,IAAI,IAAI,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;CAI1C"}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Secrets RPC Service
|
|
3
|
+
*
|
|
4
|
+
* Netron RPC endpoints for encrypted secrets management.
|
|
5
|
+
* All endpoints require authentication (admin role).
|
|
6
|
+
*/
|
|
7
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
8
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
10
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
11
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
12
|
+
};
|
|
13
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
14
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
15
|
+
};
|
|
16
|
+
import { Service, Public } from '@omnitron-dev/titan/decorators';
|
|
17
|
+
import { ADMIN_ROLES } from '../shared/roles.js';
|
|
18
|
+
let SecretsRpcService = class SecretsRpcService {
|
|
19
|
+
secrets;
|
|
20
|
+
constructor(secrets) {
|
|
21
|
+
this.secrets = secrets;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Get a secret by key. Returns null if not found.
|
|
25
|
+
*/
|
|
26
|
+
async get(data) {
|
|
27
|
+
const value = await this.secrets.get(data.key);
|
|
28
|
+
return { key: data.key, value };
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Set a secret. Creates or updates the value.
|
|
32
|
+
*/
|
|
33
|
+
async set(data) {
|
|
34
|
+
await this.secrets.set(data.key, data.value);
|
|
35
|
+
return { success: true };
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Delete a secret by key.
|
|
39
|
+
*/
|
|
40
|
+
async delete(data) {
|
|
41
|
+
const existed = await this.secrets.delete(data.key);
|
|
42
|
+
return { success: true, existed };
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* List all secret keys (values are NOT returned for security).
|
|
46
|
+
*/
|
|
47
|
+
async list() {
|
|
48
|
+
const keys = await this.secrets.list();
|
|
49
|
+
return { keys };
|
|
50
|
+
}
|
|
51
|
+
};
|
|
52
|
+
__decorate([
|
|
53
|
+
Public({ auth: { roles: ADMIN_ROLES } }),
|
|
54
|
+
__metadata("design:type", Function),
|
|
55
|
+
__metadata("design:paramtypes", [Object]),
|
|
56
|
+
__metadata("design:returntype", Promise)
|
|
57
|
+
], SecretsRpcService.prototype, "get", null);
|
|
58
|
+
__decorate([
|
|
59
|
+
Public({ auth: { roles: ADMIN_ROLES } }),
|
|
60
|
+
__metadata("design:type", Function),
|
|
61
|
+
__metadata("design:paramtypes", [Object]),
|
|
62
|
+
__metadata("design:returntype", Promise)
|
|
63
|
+
], SecretsRpcService.prototype, "set", null);
|
|
64
|
+
__decorate([
|
|
65
|
+
Public({ auth: { roles: ADMIN_ROLES } }),
|
|
66
|
+
__metadata("design:type", Function),
|
|
67
|
+
__metadata("design:paramtypes", [Object]),
|
|
68
|
+
__metadata("design:returntype", Promise)
|
|
69
|
+
], SecretsRpcService.prototype, "delete", null);
|
|
70
|
+
__decorate([
|
|
71
|
+
Public({ auth: { roles: ADMIN_ROLES } }),
|
|
72
|
+
__metadata("design:type", Function),
|
|
73
|
+
__metadata("design:paramtypes", []),
|
|
74
|
+
__metadata("design:returntype", Promise)
|
|
75
|
+
], SecretsRpcService.prototype, "list", null);
|
|
76
|
+
SecretsRpcService = __decorate([
|
|
77
|
+
Service({ name: 'OmnitronSecrets' }),
|
|
78
|
+
__metadata("design:paramtypes", [Function])
|
|
79
|
+
], SecretsRpcService);
|
|
80
|
+
export { SecretsRpcService };
|
|
81
|
+
//# sourceMappingURL=secrets.rpc-service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"secrets.rpc-service.js","sourceRoot":"","sources":["../../src/services/secrets.rpc-service.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;;;;;;;;;;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAI1C,IAAM,iBAAiB,GAAvB,MAAM,iBAAiB;IACC;IAA7B,YAA6B,OAAuB;QAAvB,YAAO,GAAP,OAAO,CAAgB;IAAG,CAAC;IAExD;;OAEG;IAEG,AAAN,KAAK,CAAC,GAAG,CAAC,IAAqB;QAC7B,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC/C,OAAO,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,KAAK,EAAE,CAAC;IAClC,CAAC;IAED;;OAEG;IAEG,AAAN,KAAK,CAAC,GAAG,CAAC,IAAoC;QAC5C,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QAC7C,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IAC3B,CAAC;IAED;;OAEG;IAEG,AAAN,KAAK,CAAC,MAAM,CAAC,IAAqB;QAChC,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACpD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;IACpC,CAAC;IAED;;OAEG;IAEG,AAAN,KAAK,CAAC,IAAI;QACR,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QACvC,OAAO,EAAE,IAAI,EAAE,CAAC;IAClB,CAAC;CACF,CAAA;AA/BO;IADL,MAAM,CAAC,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE,CAAC;;;;4CAIxC;AAMK;IADL,MAAM,CAAC,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE,CAAC;;;;4CAIxC;AAMK;IADL,MAAM,CAAC,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE,CAAC;;;;+CAIxC;AAMK;IADL,MAAM,CAAC,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE,CAAC;;;;6CAIxC;AArCU,iBAAiB;IAD7B,OAAO,CAAC,EAAE,IAAI,EAAE,iBAAiB,EAAE,CAAC;;GACxB,iBAAiB,CAsC7B"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Secrets Service — Encrypted Secrets Storage
|
|
3
|
+
*
|
|
4
|
+
* Stores secrets (API keys, DB passwords, signing keys) encrypted at rest
|
|
5
|
+
* in a JSON file using AES-256-GCM.
|
|
6
|
+
*
|
|
7
|
+
* Key derivation: scrypt(passphrase + machineId, salt, 64) → 32-byte key
|
|
8
|
+
* Encryption: AES-256-GCM with random IV per encryption
|
|
9
|
+
* Storage: ~/.omnitron/secrets.enc (JSON envelope with salt, iv, ciphertext, tag)
|
|
10
|
+
*
|
|
11
|
+
* Zero external dependencies — uses Node.js native crypto.
|
|
12
|
+
*/
|
|
13
|
+
export declare class SecretsService {
|
|
14
|
+
private readonly filePath;
|
|
15
|
+
private passphrase;
|
|
16
|
+
private cache;
|
|
17
|
+
constructor(filePath: string, passphrase: string);
|
|
18
|
+
/**
|
|
19
|
+
* Get a secret by key.
|
|
20
|
+
* Returns null if the key doesn't exist or the secrets file is missing.
|
|
21
|
+
*/
|
|
22
|
+
get(key: string): Promise<string | null>;
|
|
23
|
+
/**
|
|
24
|
+
* Set a secret. Creates or updates the value for the given key.
|
|
25
|
+
* Writes the encrypted file immediately.
|
|
26
|
+
*/
|
|
27
|
+
set(key: string, value: string): Promise<void>;
|
|
28
|
+
/**
|
|
29
|
+
* Delete a secret by key.
|
|
30
|
+
* Returns true if the key existed and was deleted.
|
|
31
|
+
*/
|
|
32
|
+
delete(key: string): Promise<boolean>;
|
|
33
|
+
/**
|
|
34
|
+
* List all secret keys (values are NOT returned).
|
|
35
|
+
*/
|
|
36
|
+
list(): Promise<string[]>;
|
|
37
|
+
/**
|
|
38
|
+
* Rotate the encryption key by re-encrypting with a new passphrase.
|
|
39
|
+
* The old passphrase must match the current encryption.
|
|
40
|
+
*/
|
|
41
|
+
rotate(oldPassphrase: string, newPassphrase: string): Promise<void>;
|
|
42
|
+
/**
|
|
43
|
+
* Check if the secrets file exists.
|
|
44
|
+
*/
|
|
45
|
+
exists(): boolean;
|
|
46
|
+
private deriveKey;
|
|
47
|
+
private encrypt;
|
|
48
|
+
private decrypt;
|
|
49
|
+
private load;
|
|
50
|
+
private save;
|
|
51
|
+
/**
|
|
52
|
+
* Get a stable machine identifier for key derivation.
|
|
53
|
+
* Falls back to hostname if machine-id is unavailable.
|
|
54
|
+
*/
|
|
55
|
+
private getMachineId;
|
|
56
|
+
}
|
|
57
|
+
//# sourceMappingURL=secrets.service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"secrets.service.d.ts","sourceRoot":"","sources":["../../src/services/secrets.service.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAoDH,qBAAa,cAAc;IAIvB,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,UAAU;IAJpB,OAAO,CAAC,KAAK,CAA2B;gBAGrB,QAAQ,EAAE,MAAM,EACzB,UAAU,EAAE,MAAM;IAO5B;;;OAGG;IACG,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAK9C;;;OAGG;IACG,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAMpD;;;OAGG;IACG,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAQ3C;;OAEG;IACG,IAAI,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAK/B;;;OAGG;IACG,MAAM,CAAC,aAAa,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAczE;;OAEG;IACH,MAAM,IAAI,OAAO;YAQH,SAAS;YAOT,OAAO;YAqBP,OAAO;YAmBP,IAAI;YAwBJ,IAAI;IAiBlB;;;OAGG;YACW,YAAY;CA+B3B"}
|
|
@@ -0,0 +1,211 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Secrets Service — Encrypted Secrets Storage
|
|
3
|
+
*
|
|
4
|
+
* Stores secrets (API keys, DB passwords, signing keys) encrypted at rest
|
|
5
|
+
* in a JSON file using AES-256-GCM.
|
|
6
|
+
*
|
|
7
|
+
* Key derivation: scrypt(passphrase + machineId, salt, 64) → 32-byte key
|
|
8
|
+
* Encryption: AES-256-GCM with random IV per encryption
|
|
9
|
+
* Storage: ~/.omnitron/secrets.enc (JSON envelope with salt, iv, ciphertext, tag)
|
|
10
|
+
*
|
|
11
|
+
* Zero external dependencies — uses Node.js native crypto.
|
|
12
|
+
*/
|
|
13
|
+
import { createCipheriv, createDecipheriv, randomBytes, scrypt, } from 'node:crypto';
|
|
14
|
+
import { promisify } from 'node:util';
|
|
15
|
+
import { readFile, writeFile, mkdir } from 'node:fs/promises';
|
|
16
|
+
import { existsSync } from 'node:fs';
|
|
17
|
+
import path from 'node:path';
|
|
18
|
+
const scryptAsync = promisify(scrypt);
|
|
19
|
+
// =============================================================================
|
|
20
|
+
// Constants
|
|
21
|
+
// =============================================================================
|
|
22
|
+
const ALGORITHM = 'aes-256-gcm';
|
|
23
|
+
const KEY_LENGTH = 32; // 256 bits
|
|
24
|
+
const SALT_LENGTH = 32;
|
|
25
|
+
const IV_LENGTH = 16;
|
|
26
|
+
// scrypt parameters are controlled via Node's defaults (N=16384, r=8, p=1)
|
|
27
|
+
// which match our production requirements. Custom tuning can be added
|
|
28
|
+
// by passing options to scryptAsync if needed in the future.
|
|
29
|
+
// =============================================================================
|
|
30
|
+
// Service
|
|
31
|
+
// =============================================================================
|
|
32
|
+
export class SecretsService {
|
|
33
|
+
filePath;
|
|
34
|
+
passphrase;
|
|
35
|
+
cache = null;
|
|
36
|
+
constructor(filePath, passphrase) {
|
|
37
|
+
this.filePath = filePath;
|
|
38
|
+
this.passphrase = passphrase;
|
|
39
|
+
}
|
|
40
|
+
// ===========================================================================
|
|
41
|
+
// Public API
|
|
42
|
+
// ===========================================================================
|
|
43
|
+
/**
|
|
44
|
+
* Get a secret by key.
|
|
45
|
+
* Returns null if the key doesn't exist or the secrets file is missing.
|
|
46
|
+
*/
|
|
47
|
+
async get(key) {
|
|
48
|
+
const secrets = await this.load();
|
|
49
|
+
return secrets[key] ?? null;
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Set a secret. Creates or updates the value for the given key.
|
|
53
|
+
* Writes the encrypted file immediately.
|
|
54
|
+
*/
|
|
55
|
+
async set(key, value) {
|
|
56
|
+
const secrets = await this.load();
|
|
57
|
+
secrets[key] = value;
|
|
58
|
+
await this.save(secrets);
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Delete a secret by key.
|
|
62
|
+
* Returns true if the key existed and was deleted.
|
|
63
|
+
*/
|
|
64
|
+
async delete(key) {
|
|
65
|
+
const secrets = await this.load();
|
|
66
|
+
if (!(key in secrets))
|
|
67
|
+
return false;
|
|
68
|
+
delete secrets[key];
|
|
69
|
+
await this.save(secrets);
|
|
70
|
+
return true;
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* List all secret keys (values are NOT returned).
|
|
74
|
+
*/
|
|
75
|
+
async list() {
|
|
76
|
+
const secrets = await this.load();
|
|
77
|
+
return Object.keys(secrets);
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* Rotate the encryption key by re-encrypting with a new passphrase.
|
|
81
|
+
* The old passphrase must match the current encryption.
|
|
82
|
+
*/
|
|
83
|
+
async rotate(oldPassphrase, newPassphrase) {
|
|
84
|
+
// Decrypt with old passphrase
|
|
85
|
+
const oldService = new SecretsService(this.filePath, oldPassphrase);
|
|
86
|
+
const secrets = await oldService.load();
|
|
87
|
+
// Re-encrypt with new passphrase
|
|
88
|
+
const newService = new SecretsService(this.filePath, newPassphrase);
|
|
89
|
+
await newService.save(secrets);
|
|
90
|
+
// Update our own passphrase reference
|
|
91
|
+
this.passphrase = newPassphrase;
|
|
92
|
+
this.cache = secrets;
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
95
|
+
* Check if the secrets file exists.
|
|
96
|
+
*/
|
|
97
|
+
exists() {
|
|
98
|
+
return existsSync(this.filePath);
|
|
99
|
+
}
|
|
100
|
+
// ===========================================================================
|
|
101
|
+
// Encryption / Decryption
|
|
102
|
+
// ===========================================================================
|
|
103
|
+
async deriveKey(salt) {
|
|
104
|
+
// Combine passphrase with machine-id for additional binding
|
|
105
|
+
const machineId = await this.getMachineId();
|
|
106
|
+
const combined = `${this.passphrase}:${machineId}`;
|
|
107
|
+
return scryptAsync(combined, salt, KEY_LENGTH);
|
|
108
|
+
}
|
|
109
|
+
async encrypt(data) {
|
|
110
|
+
const salt = randomBytes(SALT_LENGTH);
|
|
111
|
+
const iv = randomBytes(IV_LENGTH);
|
|
112
|
+
const key = await this.deriveKey(salt);
|
|
113
|
+
const cipher = createCipheriv(ALGORITHM, key, iv);
|
|
114
|
+
const plaintext = JSON.stringify(data);
|
|
115
|
+
let ciphertext = cipher.update(plaintext, 'utf8', 'hex');
|
|
116
|
+
ciphertext += cipher.final('hex');
|
|
117
|
+
const tag = cipher.getAuthTag();
|
|
118
|
+
return {
|
|
119
|
+
version: 1,
|
|
120
|
+
salt: salt.toString('hex'),
|
|
121
|
+
iv: iv.toString('hex'),
|
|
122
|
+
ciphertext,
|
|
123
|
+
tag: tag.toString('hex'),
|
|
124
|
+
};
|
|
125
|
+
}
|
|
126
|
+
async decrypt(envelope) {
|
|
127
|
+
const salt = Buffer.from(envelope.salt, 'hex');
|
|
128
|
+
const iv = Buffer.from(envelope.iv, 'hex');
|
|
129
|
+
const tag = Buffer.from(envelope.tag, 'hex');
|
|
130
|
+
const key = await this.deriveKey(salt);
|
|
131
|
+
const decipher = createDecipheriv(ALGORITHM, key, iv);
|
|
132
|
+
decipher.setAuthTag(tag);
|
|
133
|
+
let plaintext = decipher.update(envelope.ciphertext, 'hex', 'utf8');
|
|
134
|
+
plaintext += decipher.final('utf8');
|
|
135
|
+
return JSON.parse(plaintext);
|
|
136
|
+
}
|
|
137
|
+
// ===========================================================================
|
|
138
|
+
// Persistence
|
|
139
|
+
// ===========================================================================
|
|
140
|
+
async load() {
|
|
141
|
+
if (this.cache)
|
|
142
|
+
return this.cache;
|
|
143
|
+
if (!existsSync(this.filePath)) {
|
|
144
|
+
this.cache = {};
|
|
145
|
+
return this.cache;
|
|
146
|
+
}
|
|
147
|
+
try {
|
|
148
|
+
const raw = await readFile(this.filePath, 'utf8');
|
|
149
|
+
const envelope = JSON.parse(raw);
|
|
150
|
+
if (envelope.version !== 1) {
|
|
151
|
+
throw new Error(`Unsupported secrets envelope version: ${envelope.version}`);
|
|
152
|
+
}
|
|
153
|
+
this.cache = await this.decrypt(envelope);
|
|
154
|
+
return this.cache;
|
|
155
|
+
}
|
|
156
|
+
catch (err) {
|
|
157
|
+
if (err.message.includes('Unsupported'))
|
|
158
|
+
throw err;
|
|
159
|
+
throw new Error(`Failed to decrypt secrets file: ${err.message}. Wrong passphrase?`, { cause: err });
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
async save(secrets) {
|
|
163
|
+
// Ensure directory exists
|
|
164
|
+
const dir = path.dirname(this.filePath);
|
|
165
|
+
await mkdir(dir, { recursive: true });
|
|
166
|
+
const envelope = await this.encrypt(secrets);
|
|
167
|
+
await writeFile(this.filePath, JSON.stringify(envelope, null, 2), {
|
|
168
|
+
mode: 0o600, // Owner-only read/write
|
|
169
|
+
});
|
|
170
|
+
this.cache = secrets;
|
|
171
|
+
}
|
|
172
|
+
// ===========================================================================
|
|
173
|
+
// Machine ID
|
|
174
|
+
// ===========================================================================
|
|
175
|
+
/**
|
|
176
|
+
* Get a stable machine identifier for key derivation.
|
|
177
|
+
* Falls back to hostname if machine-id is unavailable.
|
|
178
|
+
*/
|
|
179
|
+
async getMachineId() {
|
|
180
|
+
try {
|
|
181
|
+
// Linux: /etc/machine-id
|
|
182
|
+
const { readFile: readFs } = await import('node:fs/promises');
|
|
183
|
+
try {
|
|
184
|
+
const id = await readFs('/etc/machine-id', 'utf8');
|
|
185
|
+
if (id.trim())
|
|
186
|
+
return id.trim();
|
|
187
|
+
}
|
|
188
|
+
catch {
|
|
189
|
+
// Not Linux
|
|
190
|
+
}
|
|
191
|
+
// macOS: IOPlatformUUID via system_profiler
|
|
192
|
+
try {
|
|
193
|
+
const { execSync } = await import('node:child_process');
|
|
194
|
+
const output = execSync('ioreg -rd1 -c IOPlatformExpertDevice | grep IOPlatformUUID', { encoding: 'utf8', timeout: 5000 });
|
|
195
|
+
const match = output.match(/"IOPlatformUUID"\s*=\s*"([^"]+)"/);
|
|
196
|
+
if (match?.[1])
|
|
197
|
+
return match[1];
|
|
198
|
+
}
|
|
199
|
+
catch {
|
|
200
|
+
// Not macOS or command failed
|
|
201
|
+
}
|
|
202
|
+
// Fallback: hostname
|
|
203
|
+
const os = await import('node:os');
|
|
204
|
+
return os.hostname();
|
|
205
|
+
}
|
|
206
|
+
catch {
|
|
207
|
+
return 'omnitron-default-machine-id';
|
|
208
|
+
}
|
|
209
|
+
}
|
|
210
|
+
}
|
|
211
|
+
//# sourceMappingURL=secrets.service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"secrets.service.js","sourceRoot":"","sources":["../../src/services/secrets.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* SlaveStorageService — SQLite-backed local storage for slave daemons
|
|
3
|
+
*
|
|
4
|
+
* Slave daemons run WITHOUT PostgreSQL/Docker. All local data is stored
|
|
5
|
+
* in a single SQLite database using Kysely through titan-database.
|
|
6
|
+
*
|
|
7
|
+
* Tables:
|
|
8
|
+
* - metrics_raw: time-series metrics (cpu, memory, rpc, custom)
|
|
9
|
+
* - sync_buffer: WAL for slave→master data replication
|
|
10
|
+
* - logs: structured log entries (buffered locally)
|
|
11
|
+
*
|
|
12
|
+
* Location: ~/.omnitron/data/slave.db
|
|
13
|
+
*
|
|
14
|
+
* Features:
|
|
15
|
+
* - WAL mode for concurrent reads/writes
|
|
16
|
+
* - Auto-creates tables on first use
|
|
17
|
+
* - Used by: titan-metrics (SQLiteMetricsStorage), SyncService, LogCollector
|
|
18
|
+
* - Zero Docker dependency
|
|
19
|
+
*/
|
|
20
|
+
import { Kysely } from 'kysely';
|
|
21
|
+
import type { ILogger } from '@omnitron-dev/titan/module/logger';
|
|
22
|
+
export interface SlaveDatabase {
|
|
23
|
+
metrics_raw: {
|
|
24
|
+
id: number;
|
|
25
|
+
timestamp: number;
|
|
26
|
+
nodeId: string | null;
|
|
27
|
+
app: string;
|
|
28
|
+
name: string;
|
|
29
|
+
value: number;
|
|
30
|
+
labels: string | null;
|
|
31
|
+
};
|
|
32
|
+
sync_buffer: {
|
|
33
|
+
id: number;
|
|
34
|
+
category: string;
|
|
35
|
+
payload: string;
|
|
36
|
+
createdAt: string;
|
|
37
|
+
syncedAt: string | null;
|
|
38
|
+
};
|
|
39
|
+
logs: {
|
|
40
|
+
id: string;
|
|
41
|
+
timestamp: string;
|
|
42
|
+
nodeId: string | null;
|
|
43
|
+
app: string;
|
|
44
|
+
level: string;
|
|
45
|
+
message: string;
|
|
46
|
+
labels: string | null;
|
|
47
|
+
traceId: string | null;
|
|
48
|
+
spanId: string | null;
|
|
49
|
+
metadata: string | null;
|
|
50
|
+
};
|
|
51
|
+
}
|
|
52
|
+
export declare class SlaveStorageService {
|
|
53
|
+
private readonly logger;
|
|
54
|
+
private readonly dbPath;
|
|
55
|
+
private db;
|
|
56
|
+
private initialized;
|
|
57
|
+
constructor(logger: ILogger, dbPath?: string);
|
|
58
|
+
/**
|
|
59
|
+
* Get the Kysely instance (lazy-creates on first access).
|
|
60
|
+
* Returns a typed Kysely<SlaveDatabase> ready for queries.
|
|
61
|
+
*/
|
|
62
|
+
getDb(): Promise<Kysely<SlaveDatabase>>;
|
|
63
|
+
/**
|
|
64
|
+
* Close the database connection.
|
|
65
|
+
*/
|
|
66
|
+
dispose(): Promise<void>;
|
|
67
|
+
private createTables;
|
|
68
|
+
}
|
|
69
|
+
//# sourceMappingURL=slave-storage.service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"slave-storage.service.d.ts","sourceRoot":"","sources":["../../src/services/slave-storage.service.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAIH,OAAO,EAAE,MAAM,EAAsB,MAAM,QAAQ,CAAC;AACpD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mCAAmC,CAAC;AAUjE,MAAM,WAAW,aAAa;IAC5B,WAAW,EAAE;QACX,EAAE,EAAE,MAAM,CAAC;QACX,SAAS,EAAE,MAAM,CAAC;QAClB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;QACtB,GAAG,EAAE,MAAM,CAAC;QACZ,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;KACvB,CAAC;IACF,WAAW,EAAE;QACX,EAAE,EAAE,MAAM,CAAC;QACX,QAAQ,EAAE,MAAM,CAAC;QACjB,OAAO,EAAE,MAAM,CAAC;QAChB,SAAS,EAAE,MAAM,CAAC;QAClB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;KACzB,CAAC;IACF,IAAI,EAAE;QACJ,EAAE,EAAE,MAAM,CAAC;QACX,SAAS,EAAE,MAAM,CAAC;QAClB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;QACtB,GAAG,EAAE,MAAM,CAAC;QACZ,KAAK,EAAE,MAAM,CAAC;QACd,OAAO,EAAE,MAAM,CAAC;QAChB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;QACtB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;QACvB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;QACtB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;KACzB,CAAC;CACH;AAMD,qBAAa,mBAAmB;IAK5B,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,MAAM;IALzB,OAAO,CAAC,EAAE,CAAsC;IAChD,OAAO,CAAC,WAAW,CAAS;gBAGT,MAAM,EAAE,OAAO,EACf,MAAM,GAAE,MAAwB;IAGnD;;;OAGG;IACG,KAAK,IAAI,OAAO,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;IA4B7C;;OAEG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;YAWhB,YAAY;CA2D3B"}
|