Skip to content

v4.1.0

Choose a tag to compare

@zyupo zyupo released this 10 Oct 12:32
· 15 commits to 4.0 since this release

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 admin account gets a random password printed to the log (or SPUG_ADMIN_PASSWORD)
  • Upgrade with docker compose pull && docker compose up -d
  • The Compose file no longer uses privileged: true; sshfs-based file distribution needs only SYS_ADMIN and /dev/fuse
  • TZ sets the time zone of scheduled tasks and timestamps
  • docker run -d -p 8080:80 openspug/spug:4.1 starts 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 protocol when 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