Repository navigation
v4.1.0
Spug 4.1 adds an all-in-one Docker image, open APIs for automation, retries for failed hosts and pipeline run history, and fixes background services that kept restarting on new installations.
New: all-in-one Docker image
openspug/spug (also ghcr.io/openspug/spug) now ships Spug 4 with the back end and the web UI built in, for amd64 and arm64:
curl -fsSLO https://raw.githubusercontent.com/openspug/spug/4.0/docker-compose.yml
docker compose up -d
docker compose logs spug | grep password- Nothing is downloaded when the container starts, so it also works on isolated networks
- The database schema is created and upgraded automatically on start, and the first
adminaccount gets a random password printed to the log (orSPUG_ADMIN_PASSWORD) - Upgrade with
docker compose pull && docker compose up -d - The Compose file no longer uses
privileged: true;sshfs-based file distribution needs onlySYS_ADMINand/dev/fuse TZsets the time zone of scheduled tasks and timestampsdocker run -d -p 8080:80 openspug/spug:4.1starts a single container on SQLite for a quick look
The legacy 3.x all-in-one image (MariaDB inside the container) remains available as openspug/spug:3.3.2; a 4.x container refuses to start on its volume and leaves it untouched. openspug/spug-service is unchanged. See the installation guide.
New features
- Open API: trigger batch execution templates and pipelines and query their results (#718)
- Open API: read-only host inventory, usable directly as an Ansible dynamic inventory (#739)
- Batch execution: retry a single failed host, or all failed hosts at once (#722)
- Pipelines: execution history with console output replay
Fixes
- Background services (task worker, scheduler, monitor) restarted every 5 seconds on installations that pulled redis-py 8, which made scheduled tasks and monitors unreliable; redis-py is now kept below 8
- WebSocket consoles logged
Attempt to send on a closed protocolwhen the browser had already closed the connection (#758) - Pipeline parameters with a default value were reported as missing when running the pipeline, and were not applied when the pipeline was triggered through the API
- Replayed pipeline runs lost the final state of their nodes
- The dashboard alert trend left out the current day, and filtering it by type showed nothing in the English interface
- Host disk collection ignored disks smaller than 10 GB and listed ram / loop / cdrom devices (#721)
- In-app documentation links pointed to an address that no longer serves the documentation
Other
- Added a security policy (
SECURITY.md) describing how to report vulnerabilities - The bug report template accepts reports in English or Chinese
Full changelog: v4.0.1...v4.1.0