Skip to content

Minimalistic init system for containers injecting secrets from various secret stores

License

Notifications You must be signed in to change notification settings

csatib02/secret-init

 
 

Repository files navigation

secret-init

GitHub Workflow Status OpenSSF Scorecard

Minimalistic init system for containers injecting secrets from various secret stores.

Features

  • Multi-provider support - Automatically deduces and initializes required secret providers from environment variable references.
  • Async loading - Secrets are loaded asynchronously to improve speed.
  • Renew secrets - Use daemon mode to renew secrets in the background.
Supported Providers Status
Local provider ✅ Implemented
HashiCorp Vault ✅ Implemented
OpenBao ✅ Implemented
AWS Secrets Manager Upcoming

Getting started

  • secret-init is designed for use with the Kubernetes mutating webhook. It can also function as a standalone tool.
  • Take a look at some of the examples that showcase the use of secret-init.

Development

For an optimal developer experience, it is recommended to install Nix and direnv.

Alternatively, install Go on your computer then run make deps to install the rest of the dependencies.

Make sure Docker is installed with Compose and Buildx.

Run project dependencies:

make up

Build a binary:

make build

Run the test suite:

make test
make test-e2e

Run linters:

make lint # pass -j option to run them in parallel

Some linter violations can automatically be fixed:

make fmt

Build artifacts locally:

make artifacts

Once you are done either stop or tear down dependencies:

make stop

# OR

make down

License

The project is licensed under the Apache 2.0 License.

About

Minimalistic init system for containers injecting secrets from various secret stores

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Languages

  • Go 68.6%
  • Shell 25.2%
  • Makefile 3.0%
  • Nix 2.4%
  • Dockerfile 0.8%