Upgrade and back up
Upgrade
Section titled “Upgrade”Install the release, restart the daemon, and check the running version:
curl -fsSL https://github.com/wardrik-dev/wardrik/releases/download/wardrik_daemon-v0.1.0-rc.12/install.sh | shsystemctl --user restart wardrikwardrik version- Without
WARDRIK_VERSION, it installs the latest release, including pre-releases. - The new release installs next to the old one. The running daemon continues using the previous release until restarted.
- To roll back, run the script with
WARDRIK_VERSIONset to the previous release, and restart.
In Docker, start a new container with the same volumes:
docker pull ghcr.io/wardrik-dev/wardrik:0.1.0-rc.12docker rm -f wardrikdocker run -d --name wardrik -p 127.0.0.1:4747:4747 \ -v wardrik-config:/config -v wardrik:/data ghcr.io/wardrik-dev/wardrik:0.1.0-rc.12After an upgrade, run wardrik doctor. It fails for each agent whose saved state the new release
can't read, and says why.
Back up
Section titled “Back up”| What | Where |
|---|---|
| Your files | ~/.config/wardrik: config.yaml, agents/, policies/, env |
| The vault key | ~/.local/share/wardrik/vault_key, or wherever WARDRIK_VAULT_KEY is stored |
| The store | ~/.local/share/wardrik/store, the Postgres database, or the S3 bucket |
Back up the vault key separately from the store. Together they decrypt every secret.
A store on disk:
wardrik stoptar -czf wardrik-store-$(date +%F).tar.gz -C ~/.local/share/wardrik storewardrik startTo restore, stop the daemon, extract the archive, and start it. Back up Postgres with pg_dump, and a bucket with your provider's versioning or replication.
Details
Section titled “Details”- The script verifies the release against its
SHA256SUMS. It keeps the previous release and removes older ones. - The daemon regenerates the cookie and the
wardrikcommand's token on startup. - If a new release can't read an agent's saved state, such as one naming a module the release no
longer has, the agent doesn't start. Its status is
unreadable, with the reason asproblem, and messages to it return an error. Defining it again starts it over with an empty conversation:wardrik reloaddoes for agents inagents/. Its definition, files and events stay. ~/.config/wardrikcan be kept in a dotfiles repository. Excludeenv, which contains keys.