All Projects â†’ candidco â†’ confidential

candidco / confidential

Licence: Apache-2.0 license
🤫 Easily manage configs and secrets in your Python projects (with CLI support)

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to confidential

aws-env
Securely populate environment variables using KMS/SSM/Secrets manager on AWS.
Stars: ✭ 72 (+16.13%)
Mutual labels:  aws-secrets-manager
Kubernetes External Secrets
Integrate external secret management systems with Kubernetes
Stars: ✭ 2,412 (+3790.32%)
Mutual labels:  aws-secrets-manager
secrets-init
minimalistic init system for containers with AWS/GCP secrets support
Stars: ✭ 114 (+83.87%)
Mutual labels:  aws-secrets-manager
awssecret2env
Convert secrets stored in AWS Secrets Manager to environment variables
Stars: ✭ 44 (-29.03%)
Mutual labels:  aws-secrets-manager
hyper-kube-config
H Y P E R K U B E - A Serverless API and kubectl plugin providing a storage and retrieval Kubernetes cluster credentials. Hyperkube leverages AWS Secrets Manager for storing credential information.
Stars: ✭ 27 (-56.45%)
Mutual labels:  aws-secrets-manager
argocd-vault-plugin
An Argo CD plugin to retrieve secrets from Secret Management tools and inject them into Kubernetes secrets
Stars: ✭ 404 (+551.61%)
Mutual labels:  aws-secrets-manager
xilution-react-todomvc
An implementation of TodoMVC featuring AWS Serverless Application Model (SAM) and Xilution SaaS.
Stars: ✭ 24 (-61.29%)
Mutual labels:  aws-secrets-manager
summon-aws-secrets
Summon provider for AWS Secrets Manager
Stars: ✭ 47 (-24.19%)
Mutual labels:  aws-secrets-manager
kube-secrets-init
Kubernetes mutating webhook for `secrets-init` injection
Stars: ✭ 106 (+70.97%)
Mutual labels:  aws-secrets-manager

confidential

badge

Installation

pip install confidential

How does it work?

Confidential manages secrets for your project, using AWS Secrets Manager.

First, store a secret in AWS Secrets Manager. Then, create a secrets file, say my_secrets.json. A value will be decrypted if the word secret precedes it, like the database value below:

{
  "database": "secret:database_details",
  "environment": "production",
  "debug_mode": false
}

You can decrypt this file either in Python, or directly using the CLI. Ensure AWS CLI is set up, then run:

confidential my_secrets.json

which outputs the file with decrypted values

{
  "database": {
    "url": "https://example.com",
    "username": "admin",
    "password": "p@55w0rd",
    "port": 5678
  },
  "environment": "production",
  "debug_mode": false
}

image

Can I use it in my Python projects?

Yes, simply import and instantiate SecretsManager, like so:

settings.py

from confidential import SecretsManager


secrets = SecretManager(
    secrets_file=".secrets/production.json",
    secrets_file_default=".secrets/defaults.json",  # Overridable defaults you can use in common environments
    region_name="us-east-1",
)

DATABASES = {
    'default': secrets["database"]
}

Testing

First, install all dependencies:

poetry install

Then run the tests

poetry run pytest
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].