sw-env

1.0.2 • Public • Published

sw-env

NPM

Build Status Coverage Status node-current

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.

Package Sidebar

Install

npm i sw-env

Weekly Downloads

4

Version

1.0.2

License

MIT

Unpacked Size

6.81 kB

Total Files

5

Last publish

Collaborators

  • y-amine