# @greenlock/manager

> FileSytem-based Manager with optional encrypted Cloud backup for Greenlock SSL

Latest version **3.1.0** (published 2019-11-30) · MPL-2.0 license · 0 weekly downloads

## Install

```sh
npm install @greenlock/manager
pnpm add @greenlock/manager
yarn add @greenlock/manager
bun add @greenlock/manager
```

## 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.1.0 |
| Published | 2019-11-30 |
| First published | 2019-11-05 |
| Weekly downloads | 0 |
| License | MPL-2.0 |
| TypeScript types | none |
| Module format | CommonJS |
| Dependencies | 1 |
| Unpacked size | 20.6 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| Author | AJ ONeal |
| Maintainers | coolaj86, thejshaver |
| Keywords | greenlock, manager, cloud, fs, ssl, file, system |

## Links

- npm: https://www.npmjs.com/package/@greenlock/manager
- Repository: https://git.rootprojects.org/root/greenlock-manager.js
- npm.io page: https://npm.io/package/@greenlock/manager

## Dependencies (1)

- [greenlock-manager-fs](https://npm.io/package/greenlock-manager-fs.md) ^3.1.0

## Alternatives

- [unionfs](https://npm.io/package/unionfs.md) — 2.2M weekly downloads
- [path-starts-with](https://npm.io/package/path-starts-with.md) — 35.9K weekly downloads
- [redzip](https://npm.io/package/redzip.md) — 1.2K weekly downloads
- [vscode-anymatch](https://npm.io/package/vscode-anymatch.md) — 848 weekly downloads
- [@ledgerhq/coin-filecoin](https://npm.io/package/@ledgerhq/coin-filecoin.md) — 793 weekly downloads

## Recent versions

- 3.1.0 (latest) — 2019-11-30
- 3.0.0 — 2019-11-05

## README

# [Greenlock Manager](https://git.rootprojects.org/root/greenlock-manager.js)

Manages SSL Certificate issue and renewal for [Greenlock](https://git.rootprojects.org/root/greenlock-manager.js).

Saves global and per-site config to a local File Sytem (current), with optional encrypted Cloud backup (coming soon).

## Install

```bash
npm install --save greenlock@4
npm install --save greenlock-manager@3
```

## Usage

To enable encrypted cloud backup, when it becomes available:

```js
npx greenlock init --manager cloud --config-dir './greenlock.d'
```

For local file system only:

```js
npx greenlock init --manager fs --config-dir './greenlock.d'
```

Or, place this file in the root of your project:

`.greenlockrc`:

```json
{
    "manager": { "module": "@greenlock/manager" },
    "configDir": "./greenlock.d"
}
```

# Greenlock Manager CLI & API

All manager plugins have the **same API**.

The manager-specific implementation is overlaid by Greenlock with error handling and common utilities,
and then exposed as documented here.

**Note**: Most people do not need to (and should not) not use the JavaScript API.
Instead, use the CLI (current) or Web API (coming soon).

## Initialize the Manager

```bash
npx greenlock init --manager cloud --config-dir './greenlock.d'
```

Note: You **should not** initialize greenlock directly as
this may make it incompatible with the CLI and Web GUI.

Instead use the file generated by the CLI `init` (shown above).

```js
Greenlock.create({
    manager: "@greenlock/manager",
    cloud: true,
    configDir: "./greenlock.d",
    packageRoot: __dirname
});
```

## Set Subscriber and other global Defaults

```bash
npx greenlock defaults --subscriber-email jon@example.com --agree-to-terms true
```

```js
greenlock.manager.defaults({
    subscriberEmail: "jon@example.com",
    agreeToTerms: true
});
```

# Site Management

By "site" we mean a primary domain and, optionally, secondary domains, to be listed on an ssl certificate,
along with any configuration that is necessary for getting and renewing those certificates.

## Add a sites - domains and SSL certificates

```bash
npx greenlock add --subject example.com --altnames 'example.com,www.example.com'
```

```js
greenlock.sites.add({
    subject: "example.com",
    altnames: ["example.com", "www.example.com"]
});
```

## View site config

```bash
npx greenlock config --subject example.com
```

```js
greenlock.sites.get({
    servername: "www.example.com",
    wildname: "*.example.com"
});
```

## Update site config

```bash
npx greenlock update --subject example.com --challenge-dns-01 acme-dns-01-ovh --challenge-dns-01-token xxxx
```

```js
greenlock.sites.update({
    subject: "www.example.com",
    challenges: {
        "dns-01": {
            module: "acme-dns-01-ovh",
            token: "xxxx"
        }
    }
});
```

## Remove a site

To stop automatic renewal of SSL certificates for a particular site.
You to restart renewal you must use `add()`.

```bash
npx greenlock remove --subject example.com
```

```js
greenlock.sites.remove({
    subject: "example.com"
});
```

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