Schema-first

Module catalog

A module is the unit of work a single Destiny step applies. Core modules are compiled into the binaries: no separate install, module version = binary version. Custom ones attach as plugin processes over gRPC.

Name form

A step addresses a module and its state as core.<module>.<state>. state is a desired state (installed / present / running) or a verb (run / probe / fetched). Every declarative state is idempotent: a step yields changed=true or changed=false.

Living contracts

Every module has a strict parameter schema. The validator catches typos and types before apply — not on the host.

core.pkg.installed
namestring · requiredpackage name
versionstringa specific version (else any)
stateenuminstalled · absent · latest
core.file.rendered
pathstring · requiredpath on the host
templatestring · requiredtemplate (text/template, strict)
varsmapvalues from Essence
mode / owner / groupstringpermissions and owner

Soul-side — on the managed host

Packages & repositories

core.pkg
OS packages via the native pkg manager (apt / dnf / yum / apk).
installed · absent · latest
core.repo
An OS package repository (with a GPG key for apt).
present · absent

Files

core.file
A file from content or a template, a directory, deletion.
present · absent · rendered · directory
core.line
In-place line editing of a file (lineinfile).
present · absent
core.archive
Unpacking archives (tar / tar.gz / zip).
extracted

Services & processes

core.service
An OS service via systemd / openrc / sysv.
running · stopped · restarted · enabled
core.exec
A command directly via exec() — no shell.
run
core.cmd
A shell string via sh -c (pipes, redirects).
shell
core.cron
Cron jobs via /etc/cron.d/.
present · absent

Users & groups

core.user
Local OS users.
present · absent
core.group
Local OS groups.
present · absent

System

core.mount
Mount points and /etc/fstab.
present · mounted · unmounted
core.sysctl
Kernel params (vm.* / kernel.* / net.*).
present · applied
core.firewall
A single firewall rule (ufw / firewalld).
present · absent

Network & external data

core.git
Cloning and updating a git repository.
cloned · pulled
core.url
Downloading a file by URL (checksum-verified).
fetched
core.http
HTTP read-probe (health-check / readiness).
probe
core.augur
A read-probe of live access to an external system.
fetch

Utility

core.noop
A barrier anchor: does nothing, always succeeds.
run

Keeper-side — on the server

Dispatched with on: keeper. They work with registries, cloud and Vault, not the host filesystem.

core.soul
Binds a host (SID) to registry coven labels.
registered
core.cloud
Create / destroy / resize cloud instances.
created · destroyed · resized
core.choir
A host’s membership in an incarnation choir.
present · absent
core.vault
Reads a secret from Vault KV with an audit event.
read

Secure defaults

  • core.url / core.httphttps:// only and an SSRF guard by default; loosening needs explicit flags with a mandatory warning.
  • core.url — checksum verification before the file appears at its target path.
  • core.repogpg_check on by default; an http:// mirror raises a warning.
  • core.firewall — never touches the default policy or enables the firewall wholesale.
  • core.archive — zip-slip / zip-bomb protection, setuid/setgid masking.