Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,9 @@ flowchart LR

| Document | What it covers |
| --- | --- |
| [Deploy on a new VM (standalone)](docs/deployment/standalone-vm.md) | Step-by-step install on a fresh Linux VM without any PlusClouds service: build, configure, bootstrap, TLS, backups, upgrades |
| [Usage guide](docs/usage-guide.md) | Monitor websites, servers, network gear and sensors; alerts, webhooks, incidents, metrics |
| [API guide](docs/api/README.md) | Authentication, errors, pagination, every endpoint, push ingest and webhook event formats |
| [Design document](docs/monitoring%20server%20design.md) | The full system design: targets, architecture, data model, alerting, API, security, roadmap |
| [Feature specs](docs/features/README.md) | One spec per sub-feature, with MVP scope, behavior and acceptance criteria |
| [Architecture decision records](docs/adr/README.md) | Infrastructure and technology decisions, each with options considered and consequences |
Expand Down
14 changes: 9 additions & 5 deletions deploy/compose/mqtt-cert-hook.sh
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,15 @@
# by the container's user (uid 65532). The broker picks up a changed
# certificate within a minute, without a restart.
#
# Once, as root, from deploy/compose:
# certbot certonly --standalone -d mqtt.plusclouds.com # or your DNS plugin
# ./mqtt-cert-hook.sh mqtt.plusclouds.com
# On every renewal:
# certbot renew --deploy-hook "/path/to/deploy/compose/mqtt-cert-hook.sh mqtt.plusclouds.com"
# Once, as root, with the reverse proxy serving /.well-known/acme-challenge/
# for the name from /var/www/letsencrypt (not --standalone: it needs port 80
# and fails, or stops the proxy, on renewal):
# certbot certonly --webroot -w /var/www/letsencrypt -d mqtt.plusclouds.com \
# --deploy-hook "sh /path/to/deploy/compose/mqtt-cert-hook.sh mqtt.plusclouds.com"
# sh /path/to/deploy/compose/mqtt-cert-hook.sh mqtt.plusclouds.com
# certbot's timer then renews and runs the hook by itself. Pass the hook with
# --deploy-hook as above, not in /etc/letsencrypt/renewal-hooks/deploy/: the
# script finds ./tls next to itself and needs the certificate name.
set -eu
name=${1:?usage: mqtt-cert-hook.sh <certificate name>}
dir=$(cd "$(dirname "$0")" && pwd)/tls
Expand Down
1 change: 0 additions & 1 deletion internal/engine/evaluate.go
Original file line number Diff line number Diff line change
Expand Up @@ -213,7 +213,6 @@ func Evaluate(cfg Config, prev State, in Input) Outcome {
if ws.Hits >= threshold.WhoopsyRelearn*max(w.Window, w.Consecutive) && len(ws.Outliers) >= w.Window {
ws.Values, ws.Outliers = ws.Outliers, nil
ws.Hits, ws.Band = 0, nil
outside = false
}
} else {
ws.Outliers = nil
Expand Down