All Projects → dollarshaveclub → polymerase

dollarshaveclub / polymerase

Licence: MIT License
A tool for populating templates with environment variables and Vault values

Programming Languages

go
31211 projects - #10 most used programming language
Makefile
30231 projects

Projects that are alternatives of or similar to polymerase

Gomplate
A flexible commandline tool for template rendering. Supports lots of local and remote datasources.
Stars: ✭ 1,270 (+1411.9%)
Mutual labels:  config, vault, templating
Konfig
Composable, observable and performant config handling for Go for the distributed processing era
Stars: ✭ 597 (+610.71%)
Mutual labels:  config, vault
Vault Secrets Gen
A Vault secrets plugin for generating high entropy passwords and passphrases.
Stars: ✭ 238 (+183.33%)
Mutual labels:  vault, secrets
Spring Cloud Vault
Configuration Integration with HashiCorp Vault
Stars: ✭ 210 (+150%)
Mutual labels:  config, vault
Helm Secrets
Successor of zendesk/helm-secrets - A helm plugin that help manage secrets with Git workflow and store them anywhere
Stars: ✭ 165 (+96.43%)
Mutual labels:  vault, secrets
Spring Vault
Provides familiar Spring abstractions for HashiCorp Vault
Stars: ✭ 179 (+113.1%)
Mutual labels:  vault, secrets
Dynaconf
Configuration Management for Python ⚙
Stars: ✭ 2,082 (+2378.57%)
Mutual labels:  config, vault
Vault
A tool for secrets management, encryption as a service, and privileged access management
Stars: ✭ 22,383 (+26546.43%)
Mutual labels:  vault, secrets
vault-monkey
Extract secrets from your vault in a multi-machine cluster environment.
Stars: ✭ 12 (-85.71%)
Mutual labels:  vault, secrets
vault-sidecar-injector
Kubernetes admission webhook for secure, seamless and dynamic handling of secrets in your applications
Stars: ✭ 55 (-34.52%)
Mutual labels:  vault, secrets
exenv
Exenv makes loading environment variables from external sources easy.
Stars: ✭ 35 (-58.33%)
Mutual labels:  config, secrets
Catesta
Catesta is a PowerShell module project generator. It uses templates to rapidly scaffold test and build integration for a variety of CI/CD platforms.
Stars: ✭ 88 (+4.76%)
Mutual labels:  vault, secrets
Drone Vault
Drone plugin for integrating with the Vault secrets manager
Stars: ✭ 36 (-57.14%)
Mutual labels:  vault, secrets
Hashicorp Vault Plugin
Jenkins plugin to populate environment variables from secrets stored in HashiCorp's Vault.
Stars: ✭ 191 (+127.38%)
Mutual labels:  vault, secrets
Vault Guides
Example usage of HashiCorp Vault secrets management
Stars: ✭ 636 (+657.14%)
Mutual labels:  vault, secrets
thycotic.secretserver
PowerShell module for automating with Thycotic Secret Server REST API
Stars: ✭ 41 (-51.19%)
Mutual labels:  vault, secrets
Cryptr
Cryptr: a GUI for Hashicorp's Vault
Stars: ✭ 324 (+285.71%)
Mutual labels:  vault, secrets
Node Vault
Client for HashiCorp's Vault
Stars: ✭ 391 (+365.48%)
Mutual labels:  vault, secrets
sitri
Sitri - powerful settings & configs for python
Stars: ✭ 20 (-76.19%)
Mutual labels:  config, vault
teller
Cloud native secrets management for developers - never leave your command line for secrets.
Stars: ✭ 998 (+1088.1%)
Mutual labels:  vault, secrets

polymerase

CircleCI

Polymerase is a CLI tool for easy templating using environment variables and Vault values.

Polymerase takes a file containing Go-style template directives {{ }} as an argument, populates the template directives with values based on environment variables and Vault, and outputs the result to stdout. Input can also be provided via stdin.

Supported Vault auth backends include token and App ID. Additionally, default Go template functions are supported out of the box.


Installation   Usage   Examples  


Installation

go install github.com/dollarshaveclub/polymerase

Usage

Usage:
  polymerase [flags]

Examples:
polymerase <filename>

Flags:
  -a, --app-id string         Vault App-ID. Can use APP_ID environment variable instead.
  -u, --user-id-path string   Path to user id. Can use USER_ID_PATH environment variable instead.
  -v, --vault-addr string     Vault server address (including protocol and port). Can use VAULT_ADDR environment variable instead.
  -t, --vault-token string    Vault token. Can use VAULT_TOKEN environment variable instead.

Examples

File example

Given there is a file with the name file.tmpl and contents:

Hello, {{ .LOCATION }}! My name is {{ vault "secret_agents/007/first_name" }}.

Running the command:

VAULT_ADDR=https://vault.internal VAULT_TOKEN=1234kasd LOCATION=World polymerase file.tmpl

Polymerase will produce:

Hello, World! My name is James.

Stdin example

Running the command:

echo "Hello, {{ .LOCATION }}!" | VAULT_ADDR=https://vault.internal VAULT_TOKEN=1234kasd LOCATION=World polymerase

Polymerase will produce:

Hello, World!
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].