Storage Service¶
Storage provides both runtime key-value operations and internal configuration persistence.
Base URL examples:
- Local:
http://localhost:8086 - Cluster:
http://storage:8086
Capability Areas¶
- Runtime key-value storage for workflow data.
- Internal storage for workflows, connections, policies, and schedules.
- Runtime config hierarchy (global, group, workflow scopes).
- Secret upload/download and secret value retrieval.
Endpoint Groups¶
Health¶
GET /healthzGET /readyz
Runtime key-value API¶
GET /v1/storage/{bucket}/{key}PUT /v1/storage/{bucket}/{key}GET /v1/storageGET /v1/storage/{bucket}
Internal artifact APIs¶
/internal/workflows*/internal/connections*/internal/policies*/internal/schedules*
Internal runtime config APIs¶
/internal/config/global*/internal/config/groups*/internal/config/workflows*/internal/config/resolved
Internal secret APIs¶
/internal/upload/secrets/internal/download/secrets/internal/secrets*
Internal upload APIs (single-item)¶
All upload endpoints require the runtime-admin token.
POST /internal/upload/workflows/{name}(YAML body)POST /internal/upload/connections/{name}(YAML body)POST /internal/upload/policies/{name}(YAML body)POST /internal/upload/schedules/{name}(YAML body)POST /internal/upload/config(YAML body, scoped runtime settings)
After uploading a workflow, trigger a reload in the orchestrator to pick up the new
definition (POST /admin/reload).
Usage Notes¶
- Internal endpoints are intended for trusted services and operational tooling.
- Runtime config resolution is used by Orchestrator for merged effective config.
- Secret data should only be accessed by least-privileged service identities.
Startup Seeding¶
Storage supports file-based startup seeding, so workflows/connections/policies/schedules/secrets do not need to be hardcoded in service code.
STORAGE_RUNTIME_SEED_PATH: absolute path to a YAML/JSON seed file.STORAGE_RUNTIME_SEED_OVERWRITE:true/false(defaultfalse).
Supported top-level seed sections:
workflowsconnectionspoliciesschedulessecrets
Each section can be either:
- A list of documents (each document requires
name), or - A mapping keyed by name (name is inferred from the key).
Example seed file: engine/config/runtime.seed.yaml.example.
Runtime config scope seeding remains supported via:
STORAGE_CONFIG_SEED_PATHSTORAGE_CONFIG_SEED_OVERWRITE
Operational Guidance¶
- Keep backups/snapshots for persistent storage data.
- Restrict network access to internal routes.
- Monitor latency and error rates on key-value operations.
- Use explicit bucket/key naming conventions per domain.