garcard Public
Go to file
T
Code
Use Git or checkout with SVN using the web URL.
No matching headings.
garcard
garcard is the in-progress Polkit authentication agent for the gar desktop suite.
Workspace
garcard: daemon runtimegarcard-ipc: shared protocol typesgarcardctl: control/debug CLI
Quick Start
cargo run -p garcard -- daemoncargo run -p garcardctl -- statuscargo run -p garcard -- prompt --mode secret --message "Validation prompt"
Lifecycle Commands
cargo run -q -p garcardctl -- diagnosecargo run -q -p garcardctl -- temp-listcargo run -q -p garcardctl -- temp-revoke <authorization-id>cargo run -q -p garcardctl -- temp-revoke-all
User Service
- Install unit file:
install -Dm644 garcard.service ~/.config/systemd/user/garcard.service
- Enable and start:
systemctl --user daemon-reloadsystemctl --user enable --now garcard
- Check health:
cargo run -q -p garcardctl -- status
Config
Default config path: ~/.config/garcard/config.toml
Environment overrides:
GARCARD_SOCKETGARCARD_SOCKET_MODEGARCARD_CONFIGGARCARD_AGENT_BACKENDGARCARD_POLKIT_OBJECT_PATHGARCARD_LOCALEGARCARD_POLKIT_HELPER_SOCKETGARCARD_PROMPT_COMMANDGARCARD_PROMPT_TIMEOUT_SECSGARCARD_BACKEND_HEALTHCHECK_SECS
Default scaffold file for packaging/integration: config/garcard/config.toml
See examples/config.toml for a minimal local starter file.
GARCARD_PROMPT_COMMAND is optional. If unset, garcard runs the built-in
gartk prompt path with a persistent in-process modal session and falls back to
systemd-ask-password when the X11 prompt backend is unavailable.
Validation Docs
examples/sprint-02-validation.mdexamples/sprint-03-validation-report-2026-02-18.mdexamples/sprint-04-validation.mdexamples/validate-sprint-02.shexamples/validate-sprint-03-integration.shexamples/validate-sprint-04.shexamples/validate-sprint-04-runtime.shexamples/sprint-07-validation.mdexamples/validate-sprint-07.shexamples/sprint-08-parity-matrix.mdexamples/validate-sprint-08-parity.shexamples/sprint-08-integration-certification.mdexamples/validate-sprint-08-integration.shexamples/sprint-08-validation-report-2026-02-26.md
Troubleshooting
Authorization requires authentication but no agent is available- ensure daemon is running:
cargo run -q -p garcardctl -- ping - inspect authority and subject health:
cargo run -q -p garcardctl -- diagnose - restart daemon after polkit restart:
cargo run -q -p garcardctl -- quitthen relaunch
- ensure daemon is running:
failed to connect to garcard daemon ...- check socket path from
garcardctl status - if using custom socket, export the same
GARCARD_SOCKETfor both daemon and ctl
- check socket path from
- Prompt did not open in X11
- run with debug logs:
RUST_LOG=garcard=debug cargo run -p garcard -- daemon - verify fallback path by setting
GARCARD_PROMPT_COMMANDexplicitly
- run with debug logs:
Runbooks
docs/runbooks/migrate-from-external-agent.mddocs/runbooks/incident-triage.mddocs/runbooks/garcardctl-cookbook.mddocs/runbooks/rollback-plan.mddocs/release/ga-checklist.md
Known Limitations
- Policy results are host-specific; some actions may auto-authorize and not trigger prompts.
- Current implementation targets logged-in user sessions on X11.