sw-env
v1.0.2
Published
Module that loads data from Docker Secrets into process.env
Downloads
19
Maintainers
Readme
sw-env
Module that loads data from Docker Secrets into process.env with zero-dependency
Installation
NPM
npm install sw-env
Options
{
dir: '/run/secrets', // The location of the mount point within the container
encode: 'utf8', // ReadFileSync encoding
override: false // Override existing environment
}
Usage
Create Docker secrets using the command line.
echo "your-password" | docker secret create DB_PASSWORD -
echo "your-username" | docker secret create DB_USERNAME -
Or using a text file that contains the value of the secret.
docker secret create DB_USERNAME /path/to/username.txt
docker secret create DB_PASSWORD /path/to/password.txt
Or in your docker-compose.yml
version: "3.8"
services:
app:
image: node:latest
secrets:
- DB_USERNAME
- DB_PASSWORD
deploy:
mode: replicated
replicas: 1
secrets:
DB_USERNAME:
name: DB_USERNAME
file: /path/to/username.txt
DB_PASSWORD:
name: DB_PASSWORD
file: /path/to/pwd.txt
Reading and using Docker secrets in Node.js:
import swenv from 'sw-env';
// ... As early as possible in your App
const options = {}
swenv(options)
console.log(process.env.DB_USERNAME) // your-username
console.log(process.env.DB_PASSWORD) // your-password
// or ...
const secrets = swenv()
console.log(secrets.getSecrets()) // Object contain all container secrets
License
MIT
Use and abuse at your own risk.