Daemons
Daemons let you run a managed process on every machine in a customer deployment.
Use them for the work that should live on the machine: observability collectors, node agents, and host-level control loops.
const agent = new alien.Daemon("agent")
.code({ type: "image", image: "ghcr.io/acme/agent:v1" })
.commandsEnabled(true)
.permissions("execution")
.build()You define the daemon in alien.ts and ship it with the rest of your stack.
Alien handles placement, release rollouts, rollback, health, logs, deployment
inputs, linked resources, and command-receiver configuration.
Daemons are private by default and can expose HTTP endpoints when they need a
public surface. For remote commands, the Daemon application starts an explicit
receiver from @alienplatform/commands or alien-commands; Alien injects its
target identity and credentials, but does not add a runtime or polling sidecar.