Skip to content

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

License

Notifications You must be signed in to change notification settings

ceecko/le-challenge-etcd

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

Resources

License

Stars

Watchers

Forks

Packages

No packages published