TODO: Move to boris/keywarden-agent. In main repo for now for development. # keywarden-agent Minimal Go agent for Keywarden. ## Build ``` go build -o keywarden-agent ./cmd/keywarden-agent ``` ## Run ``` ./keywarden-agent --config /etc/keywarden/agent.json --server-url https://keywarden.example.com --enroll-token ``` Short aliases are also supported: ```bash ./keywarden-agent -c /etc/keywarden/agent.json -t -f ``` To rotate/re-enroll an existing agent identity in place, use `-f/--force-enroll` with a fresh token. When `server_id` already exists in config, force-enroll rotates the client certificate for that server instead of creating a new server record. You can also pass `KEYWARDEN_SERVER_URL` and `KEYWARDEN_ENROLL_TOKEN` as environment variables. ## systemd service (portable) The repo includes a reusable unit file and installer: - Unit: `systemd/keywarden-agent.service` - Env template: `systemd/keywarden-agent.env.example` - Installer: `scripts/install-systemd.sh` ### Quick install From this `agent/` directory: ```bash go build -o keywarden-agent ./cmd/keywarden-agent sudo ./scripts/install-systemd.sh sudoedit /etc/default/keywarden-agent sudo systemctl enable --now keywarden-agent ``` ### Manual install ```bash sudo install -D -m 0755 ./keywarden-agent /usr/local/bin/keywarden-agent sudo install -D -m 0644 ./systemd/keywarden-agent.service /etc/systemd/system/keywarden-agent.service sudo install -D -m 0640 ./systemd/keywarden-agent.env.example /etc/default/keywarden-agent sudo mkdir -p /etc/keywarden sudo bash -c 'cat > /etc/keywarden/agent.json <