The machine you work from -- a laptop, a VM, a jump host -- with Ansible code
from our collections instead of hand-run curl | install lines. Two
playbooks against localhost:
Playbook
What it installs
Needed for
sthings.container.docker
Docker CE + the compose plugin, your user in the docker group
Tested on Ubuntu (amd64). Both are idempotent: rerun them to update after
bumping a version in workstation/tools.yaml; a tool already at its target
version is not downloaded again.
workstation/requirements.yaml
pins sthings.container and the community collections it uses -- the same
pins as a cluster's clusters/<cluster>/k3s/requirements.yaml, so either file
will do. --upgrade replaces an older sthings.container already in
~/.ansible/collections.
workstation/tools.yaml holds the versions and a bin selection: it
replaces the collection's full tool list (dozens of CLIs), so only these
eight are installed. Want one more? Copy its entry from the collection's
playbooks/vars/tools.yaml into the file.
The first dagger call pulls and starts the engine container
(registry.dagger.io/engine:v0.21.10, managed by the CLI) by itself -- nothing else to set up.
Optional: the Dagger engine with custom CA certificates¶
Behind a TLS-inspecting proxy, or to pull from a registry with an internal CA,
the engine needs those CAs. sthings.container.dagger puts them into
~/.config/dagger/ca-certificates (each fetched from a URL, e.g. a Vault/
OpenBao PKI endpoint) and starts the engine container
dagger-engine-<version> with them: