Skip to content

Latest commit

 

History

History
40 lines (31 loc) · 2.06 KB

File metadata and controls

40 lines (31 loc) · 2.06 KB

TODO

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.

Release & packaging

  • Decide whether to drive release builds with GoReleaser. It is currently not configured — the reference project uses GoReleaser with CGO_ENABLED=0 cross-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 .pkg installer (pkgbuild/productbuild) bundling the LaunchDaemon plist and the PPPC profile.
  • Wire the above into .github/workflows/release.yml (the build job is a placeholder today) and upload artifacts to the tagpr draft release.

Core functionality (per package skeleton)

  • 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: implement status [--json] [--field].

Deployment artifacts (deploy/)

  • LaunchDaemon plist, PPPC profile template, configuration-profile template.

Documentation (docs/)

  • Fill in the planned guides (Azure setup, deployment, configuration, credentials, operations, deduplication KQL).