# le-challenge-etcd

> An etcd3-based strategy for greenlock v4 for reading, setting and removing ACME challenges

Latest version **3.0.0** (published 2021-04-05) · MIT license · 0 weekly downloads

## Install

```sh
npm install le-challenge-etcd
pnpm add le-challenge-etcd
yarn add le-challenge-etcd
bun add le-challenge-etcd
```

## Health

**Score 15/100 (F)** — status: abandoned.

Positive: no vulnerabilities.

Warnings: low downloads; no types; no esm support.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 3.0.0 |
| Published | 2021-04-05 |
| First published | 2017-10-01 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | none |
| Module format | CommonJS |
| Dependencies | 0 |
| Unpacked size | 4.6 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 2 |
| Author | ceecko |
| Maintainers | ceecko |
| Keywords | acme, challenge, cluster, ephemeral, etcd, etcd3, http, http-01, le, le-challenge, le-challenge-, le-challenge-etcd, letsencrypt |

## Links

- npm: https://www.npmjs.com/package/le-challenge-etcd
- Repository: https://github.com/ceecko/le-challenge-etcd
- Homepage: https://github.com/ceecko/le-challenge-etcd#readme
- Issues: https://github.com/ceecko/le-challenge-etcd/issues
- npm.io page: https://npm.io/package/le-challenge-etcd

## Alternatives

- [@lexical/table](https://npm.io/package/@lexical/table.md) — 3.0M weekly downloads
- [mantine-datatable](https://npm.io/package/mantine-datatable.md) — 98.2K weekly downloads
- [react-native-collapsible-tab-view](https://npm.io/package/react-native-collapsible-tab-view.md) — 70.6K weekly downloads
- [@handsontable/vue3](https://npm.io/package/@handsontable/vue3.md) — 16.1K weekly downloads
- [vuewordcloud](https://npm.io/package/vuewordcloud.md) — 7.2K weekly downloads

## Recent versions

- 3.0.0 (latest) — 2021-04-05
- 2.0.0 — 2020-06-07
- 1.0.0 — 2017-10-01

## README

[![npm Badge](https://nodei.co/npm/le-challenge-etcd.png?downloads=true)](http://npmjs.org/package/le-challenge-etcd)

# le-challenge-etcd

An etcd-based strategy for [node-greenlock](https://git.daplie.com/Daplie/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
-------

```bash
npm install --save le-challenge-etcd
```

Usage
-----

```javascript
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

---
_Source: https://npm.io/package/le-challenge-etcd · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
