mirror of
https://github.com/Termix-SSH/Termix.git
synced 2026-10-30 15:15:24 +00:00
chore: simplify plugin readmes, changelogs and manifest descriptions
This commit is contained in:
1 parent
7423e33184
commit
8043d6dbdd
96 files changed
+1147
-722
No files matched your search
@@ -2,14 +2,6 @@
|
||||
|
||||
## 1.0.0
|
||||
|
||||
Bundled with Termix 2.9.0.
|
||||
First release, bundled with Termix 2.9.0.
|
||||
|
||||
- ACME certificates moved out of core. Termix no longer runs certbot; the
|
||||
plugin talks to the CA directly.
|
||||
- The domain, email, challenge type and Cloudflare token moved from Admin
|
||||
Settings into this plugin's settings. The token is now stored encrypted.
|
||||
- Renewal is automatic: a check every 12 hours renews within 30 days of
|
||||
expiry.
|
||||
- The 2.8 certbot account is not reused. A new ACME account is registered on
|
||||
the first request.
|
||||
- Uploading your own certificate stays in Admin Settings > HTTPS certificate.
|
||||
Gets the HTTPS certificate Termix serves from Let's Encrypt or another ACME provider and renews it before it expires. Supports the HTTP challenge and the Cloudflare DNS challenge.
|
||||
+33
-26
@@ -1,36 +1,43 @@
|
||||
# ACME Certificates
|
||||
|
||||
Gets the certificate Termix serves over HTTPS from Let's Encrypt, or any other
|
||||
ACME certificate authority, and renews it before it expires.
|
||||
Gets and renews the Termix HTTPS certificate from Let's Encrypt or another ACME provider.
|
||||
|
||||
Termix itself serves HTTPS. This plugin only gets certificates: it hands each
|
||||
one to core, which checks that the key matches and swaps it in without a
|
||||
restart. Turn the plugin off and the current certificate keeps being served,
|
||||
but nothing renews it. Admin Settings > HTTPS certificate then warns with the
|
||||
expiry date.
|
||||
## Features
|
||||
|
||||
- Gets a certificate from Let's Encrypt, Let's Encrypt staging or any ACME directory URL.
|
||||
- Checks twice a day and renews when there is no certificate, the current one is self-signed, it does not cover the domain or it expires within 30 days.
|
||||
- Swaps in the new certificate without a restart.
|
||||
- Shows the current certificate and the last attempt, with a button to request one now.
|
||||
|
||||
## Setup
|
||||
|
||||
Pick a challenge type:
|
||||
|
||||
- HTTP: the provider fetches `http://<domain>/.well-known/acme-challenge/...`, so port 80 must reach Termix.
|
||||
- DNS (Cloudflare): needs a Cloudflare API token with Zone:DNS:Edit. Works when port 80 is closed.
|
||||
|
||||
If you turn this plugin off, Termix keeps serving the current certificate but nothing renews it. Admin Settings > HTTPS certificate warns you before it expires. Uploading your own certificate is still done there.
|
||||
|
||||
## Settings
|
||||
|
||||
Admin settings, under Settings > Plugins > ACME Certificates:
|
||||
### Admin
|
||||
|
||||
- **Renew automatically**: check twice a day and get a new certificate when
|
||||
there is none, it is the self-signed one, it does not cover the domain, or
|
||||
it expires within 30 days.
|
||||
- **Domain** and **Email**.
|
||||
- **Certificate authority**: Let's Encrypt, Let's Encrypt staging (for
|
||||
testing without rate limits) or a custom ACME directory URL.
|
||||
- **Challenge type**:
|
||||
- **HTTP**: the CA fetches `http://<domain>/.well-known/acme-challenge/...`,
|
||||
so port 80 must reach Termix. Core answers it.
|
||||
- **DNS (Cloudflare)**: needs an API token with Zone:DNS:Edit. Works when
|
||||
port 80 is closed.
|
||||
- Renew automatically: turn automatic renewal on or off.
|
||||
- Domain and Email: the domain to cover and the contact email for the provider.
|
||||
- Certificate authority: Let's Encrypt, Let's Encrypt staging or a custom ACME directory URL.
|
||||
- Challenge type: HTTP or DNS (Cloudflare).
|
||||
- Cloudflare API token: used by the DNS challenge. Stored encrypted.
|
||||
|
||||
The status box shows the served certificate and the last attempt, and has a
|
||||
button to request a certificate now.
|
||||
## Permissions
|
||||
|
||||
## How it works
|
||||
- `acme-ssl.manage`: Manage ACME certificates. Only admins have it by default.
|
||||
|
||||
It runs [acme-client](https://github.com/publishlab/node-acme-client) with
|
||||
every request sent through `ctx.fetch`. The ACME account key is sealed with
|
||||
`ctx.secrets.seal` and kept in `ctx.kv`. Certificates are written and loaded
|
||||
through `ctx.system` (`system:tls`).
|
||||
## Development
|
||||
|
||||
```bash
|
||||
npm run build # build into dist/
|
||||
npm run test # run this plugin's tests
|
||||
npm run typecheck # type-check this plugin
|
||||
```
|
||||
|
||||
See `packages/plugin-sdk/ARCHITECTURE.md` for the plugin contract.
|
||||
@@ -2,7 +2,7 @@
|
||||
"id": "acme-ssl",
|
||||
"name": "ACME Certificates",
|
||||
"version": "1.0.0",
|
||||
"description": "Gets and renews the Termix HTTPS certificate from Let's Encrypt or another ACME CA, with the http-01 or Cloudflare dns-01 challenge. Termix keeps serving the current certificate when this plugin is off, but it is no longer renewed.",
|
||||
"description": "Gets and renews the Termix HTTPS certificate from Let's Encrypt or another ACME provider.",
|
||||
"author": {
|
||||
"name": "Termix"
|
||||
},
|
||||
|
||||
Reference in new issue
Block a user