This repository currently contains the project scaffold. The items below are
intentionally not implemented yet and are tracked here so they are not
mistaken for done. See also the architecture decisions in docs/adr.
- Decide whether to drive release builds with GoReleaser. It is currently
not configured — the reference project uses GoReleaser with
CGO_ENABLED=0cross-compilation, which does not fit shukueki because the macOS daemon links a cgo keychain bridge and cannot be cross-compiled. - macOS release pipeline on a macOS runner: build (cgo), code sign (Developer ID + hardened runtime), notarize + staple.
- Build the
.pkginstaller (pkgbuild/productbuild) bundling the LaunchDaemon plist and the PPPC profile. - Wire the above into
.github/workflows/release.yml(thebuildjob is a placeholder today) and upload artifacts to the tagpr draft release.
-
internal/auth: the darwin cgo signing bridge (Security.framework,SecKeyCreateSignature, PS256) — see ADR-0004. Currently a stub. -
internal/config: managed-preferences plist parsing, validation, reload. -
internal/tail: fsnotify tailing, rotation/truncation detection, partial lines. -
internal/formatter: regex/json/syslog/raw + multiline + time mapping. -
internal/persistence: SQLite (WAL) checkpoint + bounded buffer + dead-letter. -
internal/ingestion: batch + gzip + retry/backoff + error classification. -
internal/status: status.json writer, self-telemetry heartbeat. -
internal/agent: orchestration, back-pressure, scheduling, graceful shutdown. -
cmd/shukuekictl: implementstatus [--json] [--field].
- LaunchDaemon plist, PPPC profile template, configuration-profile template.
- Fill in the planned guides (Azure setup, deployment, configuration, credentials, operations, deduplication KQL).