ceecko / le-challenge-etcd

An etcd-based strategy for greenlock for reading, setting and removing ACME challenges

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

npm Badge

le-challenge-etcd

An etcd-based strategy for node-greenlock for setting, retrieving, and clearing ACME challenges issued by the ACME server.

This module saves ACME challenge in etcd as specified by etcdPathPrefix and removes it once the challenge has either completed or failed.

  • Safe to use with node cluster
  • Safe to use with ephemeral services (EvenNode, Heroku, etc.)

Install

npm install --save le-challenge-etcd

Usage

let 
  Etcd = require('node-etcd'),
  etcd = new Etcd('localhost');

let leChallenge = require('le-challenge-etcd').create({
  etcdObj: etcd,
  etcdPathPrefix: '/letsencrypt/www/:hostname/'  // defaults to "/le-challenge-etcd/"
});

let LE = require('letsencrypt');

LE.create({
  server: LE.stagingServerUrl,   // Change to LE.productionServerUrl in production
  challenge: leChallenge
});

NOTE: If you request a certificate with 6 domains listed, it will require 6 individual challenges.

Exposed Methods

For ACME Challenge:

  • set(opts, domain, key, val, done)
  • get(defaults, domain, key, done)
  • remove(defaults, domain, key, done)

For node-letsencrypt internals:

  • getOptions() returns the internal defaults merged with the user-supplied options
  • loopback(defaults, domain, key, value, done) test, by external means, that the ACME server's challenge server will succeed

About

An etcd-based strategy for greenlock for reading, setting and removing ACME challenges

License:MIT License


Languages

Language:JavaScript 100.0%