Skip to content
Talk to our solutions team

DevSecOps how-tos

The guides are grouped by when you reach for them, not by which task they happen to use.

Every guide shows both surfaces. The finished deliverable appears as a flow and as a script, because both reach the same atoms — and where one is genuinely the better tool for that job, the guide says which and why. For most of the work on this page that answer is the flow: an operator wants to know which host got as far as where when something fails at 3am, and only a flow keeps that record.

If you are new to the engine, read Flows and the atom reference first — these guides assume you know what a task is and go straight to assembling them.

Getting a machine to the point where it can build anything.

GuideGoal
Prepare a build machineA host with every toolchain a polyglot build needs
Prepare a container build workspaceThe same toolchains as a reproducible image
Prepare a macOS build machineThe developer-laptop variant

Turning source into binaries, across one repository or a hundred.

GuideGoal
Clone or refresh a repository fleetEvery repo present and current, in one command
Build every service from trunkA complete set of binaries from the mainline
Build a tagged releaseThe same, reproducible from tags
Build a fleet in parallelThe same build, bounded concurrency, much faster
Build only what changedSkip repositories whose source has not moved
Clean a build treeReclaim space without losing artefacts you still need

Cutting, publishing and correcting releases.

GuideGoal
Tag a release across many repositoriesOne version applied consistently to a fleet
Tag at a specific commitA release cut from a known-good point, not from HEAD
Audit tags across the fleetFind repositories that missed a release
Delete a tag safelyRemove a bad tag locally and remotely, in the right order
Publish artefacts to object storageBinaries uploaded, checksummed and addressable

Standing up the services a deployment depends on.

GuideGoal
Provision a single-machine environmentEverything on one host, for evaluation or a small site
Install a container runtimeRootless containers ready for workloads
Stand up PostgreSQLA tuned, TLS-enabled relational store
Create a database and roleA per-service database with least privilege
Stand up ClickHouse with TLSThe analytical store, encrypted in transit
Stand up etcdThe coordination store, with certificates
Stand up object storageBuckets, credentials and a health check
Stand up a search backendFull-text search for content workloads
Stand up a package registryAn internal registry for private packages
GuideGoal
Rotate a secret across a fleetA credential replaced everywhere, with no request failing
Renew certificatesRenewal on a schedule, proved by a handshake
GuideGoal
Stand up a secrets backendA single-node secrets store, initialised and unsealed
Stand up a secrets backend in HAThe same, clustered, with no single point of failure
Stand up the API gatewayThe edge, configured from a file you can review
Manage gateway config across environmentsOne source of truth, rendered per environment

Keeping it running.

GuideGoal
Restart a service safelyA restart that waits for readiness instead of hoping
Back up a serviceA dated, verified archive on separate storage
Restore from a backupA rehearsed restore, not a first attempt during an incident
Run scheduled maintenancePatching and reboots on a window you choose
Stand up metrics collectionScraping, retention and a first dashboard
Gate a flow on code qualityBuilds that fail on regressions rather than reporting them
Run a flow across many hostsThe same change applied to a fleet, with bounded blast radius
GuideGoal
Add a DNS entry for a new serviceA resolvable name, with the record checked before you rely on it