⚙️ Deckhouse Prom++ Installer
· 5 мин. чтения

promppctl.sh is a native Linux installer and lifecycle helper for Deckhouse Prom++.
It installs Prom++ without Docker, creates a systemd service, can safely migrate an existing Prometheus TSDB copy, can perform release updates from GitHub Releases, and can roll back to the original prometheus.service.
Features
- Native installation (no Docker).
- Automatic latest release detection from the official GitHub repository.
- Optional pinned release or custom release URL.
systemdservice generation.- Safe Prometheus data migration:
- old
/var/lib/prometheusremains untouched; - data is copied into
/var/lib/prompp; - WAL is converted with
prompptool walvanilla.
- old
- Clean install mode for machines without Prometheus.
- Automatic config creation:
- uses existing
/etc/prometheus/prometheus.ymlif present; - otherwise tries to use an example config from the release archive;
- otherwise creates a minimal working config.
- uses existing
- Release update command:
- downloads the latest release;
- extracts and validates binaries;
- stops
prompp.service; - backs up current binaries;
- installs new binaries;
- starts
prompp.service.
- Rollback command:
- stops Prom++;
- removes Prom++ service/binaries;
- starts original
prometheus.serviceif it exists.
- Flexible environment overrides for paths, ports, retention, migration behavior and release selection.
Default paths
| Item | Default |
|---|---|
| Prom++ binary | /usr/local/bin/prompp |
| Prom++ tool | /usr/local/bin/prompptool |
| Install dir | /opt/prompp |
| Config file | /etc/prometheus/prometheus.yml |
| Prom++ data dir | /var/lib/prompp |
| Old Prometheus data dir | /var/lib/prometheus |
| Systemd unit | /etc/systemd/system/prompp.service |
| Listen address | 127.0.0.1:9090 |
| Retention | 15d |
| User/group | prometheus:prometheus |
Requirements
The script expects a Linux host with systemd.
Required commands:
curl tar install find cp date grep sed awk tr chmod chown getent id
Optional but recommended:
rsync
If rsync is not installed, the script falls back to cp -a for TSDB migration.
