github netresearch/ofelia v0.9.0

latest releases: v0.25.0, v0.24.0, v0.23.1...
9 months ago

Changelog since v0.8.3 → v0.9.0

  • New: Compose jobs

    • Run Docker Compose services on a schedule with docker compose run --rm, or set exec = true to use docker compose exec.
    • Minimal INI example:
      [job-compose "backup"]
      schedule = @daily
      file = docker-compose.yml
      service = db
      command = pg_dumpall -U postgres
    • Details: see compose in docs/jobs.md.
  • New: Config file globs

    • Load multiple INI files with a single flag:
      ofelia daemon --config="/etc/ofelia/conf.d/*.ini"
    • Also available via OFELIA_CONFIG.
  • New: Max runtime limits

    • Enforce time limits for run and service-run jobs (kills if exceeded).
    • Set globally in [global] (max-runtime, default 24h) or per job via max-runtime. See examples in docs/jobs.md.
  • Web UI enhancements

    • Create, update, delete, enable/disable, and run jobs from the UI (all job types, including compose).
    • View job origin (INI/label/API), type, full config JSON, and past run history.
    • Timezone selector (local/server/UTC) with preference persistence.
    • Endpoints include /api/jobs, /api/jobs/removed, /api/jobs/disabled, /api/config, and job CRUD actions. See README.md.
  • Config reload improvements

    • Automatic reload now applies job changes and most [global] settings (e.g., slack-*, save-*, mail-*, log-level, max-runtime) at runtime.
    • Options that start servers (enable-web, web-address, enable-pprof, pprof-address) and [docker] settings still require a restart.
    • More reliable reloads, including non-schedule and environment-derived changes. See README.md.
  • Behavior and compatibility changes

    • No more --docker flag: label-based configuration is enabled by default. Update any old invocations accordingly (see “Docker label configurations” in README.md).
    • Configuration precedence is now:
      1. built-in defaults → 2) config.ini → 3) Docker labels → 4) command-line flags → 5) environment variables.
    • INI vs labels: INI-defined jobs take precedence; label jobs with the same name are skipped (and logged).
    • Removed jobs are retained and visible in the web UI.
  • Quality-of-life

    • Docker image includes a healthcheck (usable with depends_on.condition: service_healthy in Compose).
    • Tighter HTTP server timeouts and broader validation/error messages (more resilient web/API experience).
    • Updated examples: see example/ofelia.ini.

Upgrade notes

  • Remove --docker from any daemon commands; labels are processed by default.

  • If you previously split configs manually, prefer --config="…/*.ini" or OFELIA_CONFIG.

  • Consider setting a global max-runtime and/or per-job max-runtime for runaway protections.

  • Be aware that environment variables now override flags (by design).

  • Short summary:

    • Added compose job type.
    • Globbing for --config, plus broader runtime reloads.
    • Web UI now supports full job CRUD, timezone selector, origins, and history.

What's Changed

  • feat: add glob support for --config by @CybotTM in #197
  • Improve config reload logging by @CybotTM in #198
  • Improve config reload logging and tests by @CybotTM in #199
  • Add compose job type by @CybotTM in #200
  • feat: Initialize TaskMaster project management system by @CybotTM in #201
  • Add configurable max runtime by @CybotTM in #202
  • Implement config refactor with JobSource by @CybotTM in #203
  • Update configuration precedence docs by @CybotTM in #205
  • Add ComposeJob buildCommand tests by @CybotTM in #208
  • Fix config reload for env changes by @CybotTM in #209
  • Fix ComposeJob initialization in tests by @CybotTM in #213
  • Add runtime reload for global settings by @CybotTM in #214
  • Add timezone selector for web UI by @CybotTM in #212
  • chore(deps): bump github.com/docker/docker from 28.2.2+incompatible to 28.3.3+incompatible in the go_modules group across 1 directory by @dependabot[bot] in #216
  • Chore/lint improvements by @CybotTM in #217
  • ci: consolidate duplicated CI workflow and fix YAML errors (single CI… by @CybotTM in #219
  • Chore/lint improvements by @CybotTM in #220

Full Changelog: v0.8.3...v0.9.0

Included in this release

View all PRs and Issues included in this release

Don't miss a new ofelia release

NewReleases is sending notifications on new releases.