All Projects → algolia → Sup3rs3cretmes5age

algolia / Sup3rs3cretmes5age

Licence: mit
Simple to use, simple to deploy, one time self destruct messaging service, with hashicorp vault as a backend

Programming Languages

go
31211 projects - #10 most used programming language
golang
3204 projects

Projects that are alternatives of or similar to Sup3rs3cretmes5age

secrets-proxy
🔑 A secure proxy service for managing OneOps secrets.
Stars: ✭ 12 (-96.17%)
Mutual labels:  vault, secrets
Azure Key Vault To Kubernetes
Azure Key Vault to Kubernetes (akv2k8s for short) makes it simple and secure to use Azure Key Vault secrets, keys and certificates in Kubernetes.
Stars: ✭ 253 (-19.17%)
Mutual labels:  vault, secrets
Vault Secrets Gen
A Vault secrets plugin for generating high entropy passwords and passphrases.
Stars: ✭ 238 (-23.96%)
Mutual labels:  vault, secrets
Helm Secrets
Successor of zendesk/helm-secrets - A helm plugin that help manage secrets with Git workflow and store them anywhere
Stars: ✭ 165 (-47.28%)
Mutual labels:  vault, secrets
Daytona
a vault client, but for containers and servers.
Stars: ✭ 255 (-18.53%)
Mutual labels:  vault, secrets
Spring Vault
Provides familiar Spring abstractions for HashiCorp Vault
Stars: ✭ 179 (-42.81%)
Mutual labels:  vault, secrets
vault-sidecar-injector
Kubernetes admission webhook for secure, seamless and dynamic handling of secrets in your applications
Stars: ✭ 55 (-82.43%)
Mutual labels:  vault, secrets
Vault
A tool for secrets management, encryption as a service, and privileged access management
Stars: ✭ 22,383 (+7051.12%)
Mutual labels:  vault, secrets
secrets cli
CLI for storing and reading your secrets via vault
Stars: ✭ 24 (-92.33%)
Mutual labels:  vault, secrets
thycotic.secretserver
PowerShell module for automating with Thycotic Secret Server REST API
Stars: ✭ 41 (-86.9%)
Mutual labels:  vault, 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 (-71.88%)
Mutual labels:  vault, secrets
k8s-vault-webhook
A k8s vault webhook is a Kubernetes webhook that can inject secrets into Kubernetes resources by connecting to multiple secret managers
Stars: ✭ 107 (-65.81%)
Mutual labels:  vault, secrets
Drone Vault
Drone plugin for integrating with the Vault secrets manager
Stars: ✭ 36 (-88.5%)
Mutual labels:  vault, secrets
Hashicorp Vault Plugin
Jenkins plugin to populate environment variables from secrets stored in HashiCorp's Vault.
Stars: ✭ 191 (-38.98%)
Mutual labels:  vault, secrets
Vault Guides
Example usage of HashiCorp Vault secrets management
Stars: ✭ 636 (+103.19%)
Mutual labels:  vault, secrets
vault-monkey
Extract secrets from your vault in a multi-machine cluster environment.
Stars: ✭ 12 (-96.17%)
Mutual labels:  vault, secrets
Cryptr
Cryptr: a GUI for Hashicorp's Vault
Stars: ✭ 324 (+3.51%)
Mutual labels:  vault, secrets
Node Vault
Client for HashiCorp's Vault
Stars: ✭ 391 (+24.92%)
Mutual labels:  vault, secrets
teller
Cloud native secrets management for developers - never leave your command line for secrets.
Stars: ✭ 998 (+218.85%)
Mutual labels:  vault, secrets
polymerase
A tool for populating templates with environment variables and Vault values
Stars: ✭ 84 (-73.16%)
Mutual labels:  vault, secrets

sup3rS3cretMes5age!

A simple, secure self-destructing message service, using HashiCorp Vault product as a backend.

self-destruct

Read more about the reasoning behind this project in the relevant blog post.

Now using Let's Encrypt for simple and free SSL certs!

Deployment

Testing it locally

You can just run docker-compose up --build: it will build the Docker image and then run it alongside a standalone Vault server.

By default, the docker-compose.yml is configured to run the webapp on port 8082 in cleartext HTTP (so you can access it on http://localhost:8082).

Optionally, you can modify the docker-compose.yml and tweak the options (enable HTTPS, disable HTTP or enable redirection to HTTPS, etc.). See Configuration options.

Production Deployment

We recommend deploying the project via Docker and a container orchestration tool:

  • Build the Docker image using the provided Dockerfile
  • Host it in a Docker registry (Docker Hub, AWS ECR, etc.)
  • Deploy the image (alongside with a standalone Vault server) using a container orchestration tool (Kubernetes, Docker Swarm, AWS ECS, etc.)

You can read the configuration examples below.

Security notice!

Whatever deployment method you choose, you should always run this behind SSL/TLS, otherwise secrets will be sent unencrypted!

Depending on your infrastructure/deployment, you can have TLS termination either inside the container (see Configuration examples - TLS), or before e.g. at a load balancer/reverse proxy in front of the service. It is interesting to have TLS termination before the container so you don't have to manage the certificate/key there, but make sure the network between your TLS termination point and your container is secure.

Configuration options

  • VAULT_ADDR: address of the Vault server used for storing the temporary secrets.
  • VAULT_TOKEN: Vault token used to authenticate to the Vault server.
  • SUPERSECRETMESSAGE_HTTP_BINDING_ADDRESS: HTTP binding address (e.g. :80).
  • SUPERSECRETMESSAGE_HTTPS_BINDING_ADDRESS: HTTPS binding address (e.g. :443).
  • SUPERSECRETMESSAGE_HTTPS_REDIRECT_ENABLED: whether to enable HTTPS redirection or not (e.g. true).
  • SUPERSECRETMESSAGE_TLS_AUTO_DOMAIN: domain to use for "Auto" TLS, i.e. automatic generation of certificate with Let's Encrypt. See Configuration examples - TLS - Auto TLS.
  • SUPERSECRETMESSAGE_TLS_CERT_FILEPATH: certificate filepath to use for "manual" TLS.
  • SUPERSECRETMESSAGE_TLS_CERT_KEY_FILEPATH: certificate key filepath to use for "manual" TLS.

Configuration examples

Plain HTTP

VAULT_ADDR=http://vault:8200
VAULT_TOKEN=root

SUPERSECRETMESSAGE_HTTP_BINDING_ADDRESS=:80

TLS

Auto TLS
VAULT_ADDR=http://vault:8200
VAULT_TOKEN=root

SUPERSECRETMESSAGE_HTTPS_BINDING_ADDRESS=:443
SUPERSECRETMESSAGE_TLS_AUTO_DOMAIN=secrets.example.com
Auto TLS with HTTP > HTTPS redirection
VAULT_ADDR=http://vault:8200
VAULT_TOKEN=root

SUPERSECRETMESSAGE_HTTP_BINDING_ADDRESS=:80
SUPERSECRETMESSAGE_HTTPS_BINDING_ADDRESS=:443
SUPERSECRETMESSAGE_HTTPS_REDIRECT_ENABLED=true
SUPERSECRETMESSAGE_TLS_AUTO_DOMAIN=secrets.example.com
Manual TLS
VAULT_ADDR=http://vault:8200
VAULT_TOKEN=root

SUPERSECRETMESSAGE_HTTPS_BINDING_ADDRESS=:443
SUPERSECRETMESSAGE_TLS_CERT_FILEPATH=/mnt/ssl/cert_secrets.example.com.pem
SUPERSECRETMESSAGE_TLS_CERT_KEY_FILEPATH=/mnt/ssl/key_secrets.example.com.pem

Screenshot

secretmsg

Contributing

Pull requests are very welcome!

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].