This service exposes secrets and usernames from a KeePass database file through a webservice interface.
This way, secrets and usernames can be queried using curl.
For security reasons, data read from the KeePass database is encrypted in memory.
|
Note
|
This is my first project in Rust. There may be a lot of potential for improvements — of which I’m happy to hear! |
Usage of secrets in direnv:
GITLAB_TOKEN="$(curl --silent "http://localhost:8123/access-keys/GitLab/GitLab-API-Token-Shell/secret")"The same way you may obtain the username of an entry:
GITLAB_TOKEN="$(curl --silent "http://localhost:8123/access-keys/GitLab/GitLab-API-Token-Shell/username")"You may want to start the service in background using the following command:
nohup seekret-service --keepass-path "/path/to/keepassfile.kdbx" > /dev/null 2>&1 &For further help please run:
seekret-service --helpRUST_LOG=debug cargo run -- --keepass-path test.kdbx --keepass-keyfile test.key --port 8124Test-keyfile test.kdbx with password test and keyfile test.key.
Here you can find the entry root_entry1 wich username root-username and password root-password.
You may then request username and password of this test entry using:
curl http://127.0.0.1:8124/root_entry1/username
curl http://127.0.0.1:8124/root_entry1/secretTo automatically update all dependencies and run tests:
./update-dependencies.shThis script will:
-
Update all dependencies to their latest compatible versions
-
Build the project
-
Run all tests
-
Run clippy linter
-
Check code formatting
-
Display a summary of dependency changes
After running the script, review the changes and update CHANGELOG.md if needed.