AJ ONeal d2ca6038dc | ||
---|---|---|
tests | ||
.gitignore | ||
.prettierrc | ||
LICENSE | ||
README.md | ||
manager.js | ||
package-lock.json | ||
package.json |
README.md
Greenlock Manager
Manages SSL Certificate issue and renewal for Greenlock.
Saves global and per-site config to a local File Sytem (current), with optional encrypted Cloud backup (coming soon).
Install
npm install --save greenlock@3
npm install --save greenlock-manager@3
Usage
To enable encrypted cloud backup, when it becomes available:
npx greenlock init --manager cloud --manager-config-file './greenlock.json'
For local file system only:
npx greenlock init --manager fs --manager-config-file './greenlock.json'
Or, place this file in the root of your project:
.greenlockrc
:
{
"manager": "@greenlock/manager",
"configFile": "./greenlock.json"
}
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
npx greenlock init --manager cloud --manager-config-file './greenlock.json'
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).
Greenlock.create({
manager: "@greenlock/manager",
cloud: true,
configFile: "./greenlock.json",
packageRoot: __dirname
});
Set Subscriber and other global Defaults
npx greenlock defaults --subscriber-email jon@example.com --agree-to-terms true
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
npx greenlock add --subject example.com --altnames 'example.com,www.example.com'
greenlock.sites.add({
subject: "example.com",
altnames: ["example.com", "www.example.com"]
});
View site config
npx greenlock config --subject example.com
greenlock.sites.get({
servername: "www.example.com",
wildname: "*.example.com"
});
Update site config
npx greenlock update --subject example.com --challenge-dns-01 acme-dns-01-ovh --challenge-dns-01-token xxxx
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()
.
npx greenlock remove --subject example.com
greenlock.sites.remove({
subject: "example.com"
});