65 lines
3.2 KiB
Plaintext
65 lines
3.2 KiB
Plaintext
BREAKING CHANGE
|
|
Migration plan for upgrading from 1.6.0+v1.8.1.
|
|
|
|
## 1. Reinsert secrets with shortened names
|
|
|
|
Secret and config names were shortened to max 14 characters to prevent going over Docker's 64 character
|
|
limit when STACK_NAME and VERSION are added to it.
|
|
|
|
- `abra app secret list <domain>` to see which secrets are missing under their new name
|
|
- `abra app cmd --local <domain> migrate_secret_names` to reinsert all of them automatically
|
|
(or manually: `abra app secret insert <domain> <secret_name> v1 <value>` per secret)
|
|
|
|
## 2. If you use OIDC (moved to seperate compose file)
|
|
|
|
- Add to your .env: `COMPOSE_FILE="$COMPOSE_FILE:compose.grafana-oidc.yml"`
|
|
|
|
## 3. If you use SMTP (moved to a seperate compose file)
|
|
|
|
- Add to your .env: `COMPOSE_FILE="$COMPOSE_FILE:compose.grafana-smtp.yml"`
|
|
|
|
## 4. node_exporter/cadvisor/promtail replaced by Grafana Alloy
|
|
|
|
Metrics collection changed from Prometheus scraping endpoints
|
|
to Alloy pushing via `remote_write`/`loki push`.
|
|
|
|
- Remove `compose.promtail.yml`, `compose.expose-ports.yml` and
|
|
`compose.basic-auth.yml` from your .env if present. They no
|
|
longer exist. `compose.yml` now declares the `basic_auth` secret directly, so
|
|
`SECRET_BASIC_AUTH_VERSION` is always required.
|
|
- Add `PROMETHEUS_REMOTE_WRITE_URL=https://prometheus.$DOMAIN/api/v1/write`
|
|
(`$DOMAIN` if this host also runs `compose.prometheus.yml`, otherwise a remote
|
|
Prometheus' URL). Without this, Alloy collects no metrics at all.
|
|
- Add `LOKI_PUSH_URL` (existing var, still used) and pick a log source:
|
|
`JOURNALD=1` (systemd hosts), `SYSLOG_FILES=1` (non-systemd, tails
|
|
`/var/log/*log`), or `SYSLOG=1` + `compose.syslog.yml` (network syslog listener).
|
|
|
|
- If this host had its own `node.$DOMAIN`/`cadvisor.$DOMAIN` scrape target
|
|
configured on a central Prometheus, remove it. Those endpoints are gone.
|
|
- `scrape-config.example.yml` and the `add_node`/`add_domain` abra.sh commands
|
|
are gone. Replaced by label-based auto-discovery (see README).
|
|
- `docker stack deploy` doesn't prune removed services, so old `cadvisor`/
|
|
`promtail` containers keep running after a normal `abra app deploy`. Run
|
|
`abra app undeploy <domain>` then `abra app deploy <domain>` to clear them out.
|
|
- Diff your `.env` against the current `.env.sample`, to verify any other changes.
|
|
|
|
### New: label-based metrics auto-discovery
|
|
|
|
Alloy now auto-discovers and scrapes other Docker Swarm services on the same
|
|
host/`proxy` network that opt in via `prometheus.io/scrape=true` deploy labels.
|
|
See the README's "Auto-discovering metrics from other apps" section.
|
|
|
|
- If you scrape Traefik metrics: the old `metrics.traefik.$domain` pull-based
|
|
endpoint still works if you keep the scrape config in Prometheus and
|
|
existing dashboards keep showing its data, but it's recommended to get
|
|
Traefik onto the new label-based discovery.
|
|
|
|
### Dashboards
|
|
|
|
The Swarm, Stacks and Traefik dashboards were reworked to show old (pull-model)
|
|
and new (Alloy push-model) data as one continuous line, so you don't lose history
|
|
across the migration.
|
|
|
|
The disk usage per container was disabled per default because of the CPU-expensive
|
|
filesystem scan (30% cpu increase). Enable by uncommenting env CADVISOR_DISK_USAGE=1
|