Skip to content

v0.1.0

Choose a tag to compare

@github-actions github-actions released this 20 Sep 16:22
Immutable release. Only release title and notes can be modified.
e43d675

A cross-platform CLI and library that installs system daemons described in a
goetia.yaml manifest as native services: systemd on Linux, launchd on macOS,
and the Service Control Manager on Windows.

This is the first release. Everything documented in the README — the
manifest's interpolation syntax, the .env grammar, the --json document, and
the exit codes — is pre-1.0 and may still change between releases. Pin a
specific released version, or a specific commit if working ahead of one.

goetia requires systemd 242+ (2019) on Linux, and refuses to act on an older
one before writing or running anything.

Binaries below are published for five targets, with SHA256SUMS and a sigstore
attestation bundle. The crate is on crates.io.


What's Changed

  • feat: goetia.yaml spec types, parsing, resolution, and validation by @bindreams in #1
  • test: marker inertness probe by @bindreams in #2
  • chore: pin GitHub Action digests and bump them with Renovate by @bindreams in #3
  • chore: scaffold backend modules and the shared Identity type by @bindreams in #4
  • chore(deps): update dependency prek to v0.4.14 by @renovate[bot] in #6
  • feat: artifact-level and spec-level diff rendering by @bindreams in #8
  • feat: canonical metadata blob encoding by @bindreams in #9
  • chore(deps): update actions/checkout action to v7 by @renovate[bot] in #11
  • feat: shared install decision function by @bindreams in #12
  • feat: SCM registration builder by @bindreams in #13
  • feat: systemd unit generator by @bindreams in #14
  • feat: launchd plist generator by @bindreams in #15
  • fix: reject trailing backslashes and XML noncharacters before emission by @bindreams in #16
  • fix: SCM registration builder review findings by @bindreams in #17
  • feat: ServiceManager trait, conformance suite, and CLI by @bindreams in #19
  • fix: resolve paths against an absolute base dir so blobs stay decodable by @bindreams in #20
  • feat: launchd backend (effectful, macOS) by @bindreams in #21
  • feat: SCM backend (effectful, Windows, type: managed) by @bindreams in #22
  • fix: report unreadable services once, not per service by @bindreams in #23
  • feat: systemd backend (effectful, Linux) by @bindreams in #24
  • chore(deps): update actions/upload-artifact action to v7 by @renovate[bot] in #18
  • chore(deps): update rand to 0.10 and follow its RngExt move by @bindreams in #25
  • fix(deps): update rust crates by @renovate[bot] in #26
  • feat: goetia-shim (Windows service host) and the type: simple path by @bindreams in #27
  • fix: launchd start must not be fooled by a stale job holding the label by @bindreams in #28
  • feat: .env interpolation, --json for list/status, and one exit-code vocabulary by @bindreams in #30
  • fix: report daemons goetia cannot read instead of omitting them by @bindreams in #31
  • fix(deps): update rust crate cosca to 0.3 by @renovate[bot] in #32
  • ci: the v0.1.0 release pipeline by @bindreams in #33
  • fix: reject an explicit YAML null everywhere in the manifest by @bindreams in #35
  • feat: per-backend manifest overrides by @bindreams in #34
  • chore(deps): replace serde_yaml_ng with yaml_serde by @bindreams in #37
  • fix(deps): update rust crate cosca to 0.4 by @renovate[bot] in #38
  • chore(deps): update astral-sh/setup-uv action to v10.1.0 by @renovate[bot] in #40
  • feat: start waits for the service manager, bounded by --timeout by @bindreams in #39
  • chore(deps): update dependency prek to v0.5.3 by @renovate[bot] in #29
  • chore: auto-merge non-major bumps to the version-pinned CI tools too by @bindreams in #41
  • fix(shim): make the daemon's waiter thread before spawning it by @bindreams in #42

New Contributors

Full Changelog: https://github.com/bindreams/goetia/commits/v0.1.0