Skip to content

Commit 459f4d5

Browse files
committed
Add OpenStack Barbican key management support
- Implement Barbican key source with authentication and client functionality - Add comprehensive test suite including unit, integration, and property-based tests - Update configuration system to support Barbican endpoints and authentication - Integrate Barbican support into keyservice and stores - Add documentation and usage examples for Barbican configuration - Ensure backward compatibility and proper error handling Signed-off-by: Victor Palma <palma.victor@gmail.com>
1 parent 8fdd867 commit 459f4d5

33 files changed

Lines changed: 13929 additions & 60 deletions

README.rst

Lines changed: 25 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ SOPS: Secrets OPerationS
22
========================
33

44
**SOPS** is an editor of encrypted files that supports YAML, JSON, ENV, INI and BINARY
5-
formats and encrypts with AWS KMS, GCP KMS, Azure Key Vault, HuaweiCloud KMS, age, and PGP.
5+
formats and encrypts with AWS KMS, GCP KMS, Azure Key Vault, HuaweiCloud KMS, OpenStack Barbican, age, and PGP.
66
(`demo <https://www.youtube.com/watch?v=YTEVyLXFiq0>`_)
77

88
.. image:: https://i.imgur.com/X0TM5NI.gif
@@ -96,6 +96,30 @@ separated, in the **SOPS_PGP_FP** env variable.
9696
9797
Note: you can use both PGP and KMS simultaneously.
9898

99+
If you want to use OpenStack Barbican, export the Barbican secret references, comma
100+
separated, in the **SOPS_BARBICAN_SECRETS** env variable. You'll also need to set
101+
OpenStack authentication environment variables.
102+
103+
.. code:: bash
104+
105+
export SOPS_BARBICAN_SECRETS="550e8400-e29b-41d4-a716-446655440000,region:us-west-1:660e8400-e29b-41d4-a716-446655440001"
106+
export OS_AUTH_URL="https://keystone.example.com:5000/v3"
107+
export OS_USERNAME="sops-user"
108+
export OS_PASSWORD="secret"
109+
export OS_PROJECT_ID="abc123"
110+
export OS_DOMAIN_NAME="default"
111+
112+
Alternatively, you can use OpenStack application credentials (recommended):
113+
114+
.. code:: bash
115+
116+
export SOPS_BARBICAN_SECRETS="550e8400-e29b-41d4-a716-446655440000"
117+
export OS_AUTH_URL="https://keystone.example.com:5000/v3"
118+
export OS_APPLICATION_CREDENTIAL_ID="app-cred-id"
119+
export OS_APPLICATION_CREDENTIAL_SECRET="app-cred-secret"
120+
121+
Note: you can use Barbican with other key management services simultaneously.
122+
99123
Then simply call ``sops edit`` with a file path as argument. It will handle the
100124
encryption/decryption transparently and open the cleartext file in an editor
101125

0 commit comments

Comments
 (0)