Passbolt secret source plugin for Hermes Agent
Project description
hermes-passbolt-secret-source
Passbolt secret source plugin for Hermes Agent.
Resolves provider API keys from Passbolt at process startup instead of storing
them in plaintext inside ~/.hermes/.env.
Install
Option 1: Git via hermes plugins (recommended)
hermes plugins install gitlab.com:AndreasBBS/hermes-passbolt-secret-source
Option 2: Manual plugin directory
cd ~/.hermes/plugins
git clone https://gitlab.com/AndreasBBS/hermes-passbolt-secret-source.git
Then enable:
hermes plugins enable hermes-passbolt-secret-source
Prerequisites
- Hermes Agent ≥ v0.18.2 (SecretSource ABC)
- go-passbolt-cli installed and authenticated (
passbolt --version) - Passbolt instance with GPGAuth enabled
Configuration
Add to ~/.hermes/config.yaml:
secrets:
sources: [passbolt]
passbolt:
enabled: true
server_url: "https://passbolt.example.com"
private_key_file: "/home/user/.passbolt/private-key.asc"
env:
OPENROUTER_API_KEY: "passbolt://<resource_uuid>"
ANTHROPIC_API_KEY: "passbolt://<resource_uuid>"
Add PASSBOLT_PASSWORD (your GPG passphrase) to ~/.hermes/.env.
How it works
- Hermes starts up, loads the plugin via
hermes_agent.pluginsentry point - Plugin reads
PASSBOLT_PASSWORDfrom environment - For each
passbolt://<uuid>reference, callspassbolt get resource --id <uuid> -j - Extracts the
passwordfield from JSON output → sets env var - Agent sees resolved secrets in environment, never touches Passbolt directly
Development
See CONTRIBUTING.md for setup, testing, and commit conventions.
All tests run inside Docker — no local dependencies required.
# Unit tests (mocked CLI)
docker build -t hermes-passbolt-unit -f tests/unit/Dockerfile . && docker run --rm hermes-passbolt-unit
# Integration tests (live Passbolt)
cd tests/integration && bash run.sh
Architecture
| Component | Shape | Auth |
|---|---|---|
interface_type: cli (current) |
mapped | GPGAuth via go-passbolt-cli |
interface_type: rest-api (planned) |
mapped | JWT / Server-to-Server |
See open issues for planned features: bulk mode, REST API interface, lazy CLI install.
License
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file hermes_passbolt_secret_source-1.1.1-py3-none-any.whl.
File metadata
- Download URL: hermes_passbolt_secret_source-1.1.1-py3-none-any.whl
- Upload date:
- Size: 5.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fddd86ec588deedd01fa791d9819034dbd1388516ec0c46d325ae136548e1c8b
|
|
| MD5 |
cab7730adfcfab9901c674a60673efc3
|
|
| BLAKE2b-256 |
99398fcc41120511d7d78beed467bd0fbfb7fb0d09931d0a5f3268acb8892150
|