Getting started: choose a deployment¶
Each concern (state, secrets, blobs, signing, trigger, schedule, audit) is served by an adapter chosen by name. A preset names one adapter per concern, so you answer a few questions about your platform instead of choosing seven adapters.
Decision tree¶
AWS? ── no ──► Kubernetes? ── no ──► server (unavailable)
│ └─ yes ─► OpenBao? ── yes ─► k8s-openbao (unavailable)
│ └ no ─► k8s-minimal (unavailable)
└─ yes ─► Kubernetes? ── no ──► aws-serverless
└─ yes ─► sluis on Lambda? ── yes ─► aws-hybrid
└ no ─► k8s-aws
The answers are the platform block of the service document. preset names a preset outright; see the installation document. The same tree is port.PresetFor in internal/port/resolve.go.
Tutorials¶
| You have | Preset | Tutorial |
|---|---|---|
| AWS, and you want sluis on Lambda | aws-hybrid, aws-serverless |
sluis on AWS Lambda |
| EKS, and you want sluis as a pod with DynamoDB, S3 and KMS | k8s-aws |
Kubernetes with AWS storage |
| An installation on Kubernetes objects and Valkey | legacy adapters, no preset |
Legacy store |
Shapes beyond the tutorials, including Cloudflare in front of Lambda, are in deployment shapes.
Availability¶
A preset that names an adapter that is not built is unavailable. Loading it fails, naming the preset and the missing adapters, unless adapters replaces every one of them.
-
aws-serverless,aws-hybridandk8s-awsare available.aws-eksis the deprecated name ofk8s-aws: it resolves to it and start warns. -
server,k8s-minimalandk8s-openbaoare unavailable.
To change one concern on top of a preset, set adapters.<concern>. The adapter reference lists the presets, adapters and availability. To add an adapter, see adding an adapter. Design: ports.