v1.1.0
What's Changed
Features
- Add daemon
servicemode with configurable sync interval and graceful shutdown - Add daemon sync loop for flags, certificates, secrets, and extensions
- Add osquery restart integration when managed content changes
- Add extension deployment support, including extension directory configuration, manifest retrieval, and binary deployment
- Add YAML configuration as the default format while keeping JSON support
- Add
--log-formatflag andLogFormatconfig field - Add
--intervalflag andIntervalconfig field
Fixes
- Fix
--forceflag destination wiring - Fix typo in error message and remove dead code in
runScript - Fix config tests to use inline temp files instead of relative paths
- Fix Makefile test targets to use the correct package path
- Fix service files for daemon mode
- Fix golangci-lint issues, including errcheck, gosimple, and unused warnings
- Fix OS-independent behavior in
TestGenURLs
Refactoring
- Migrate logging from stdlib
logtoslog, then tozerolog - Refactor write helpers to return change detection state
- Propagate change detection through flag and certificate retrieval
Tests
- Add tests for action helpers
- Add tests for CLI action functions
- Add tests for service mode helpers
- Add tests for osquery restart behavior
- Add tests for extension deployment behavior
- Improve config test coverage
CI and Release
- Add golangci-lint and test pipeline for pull requests
- Restrict release workflow to tag pushes
- Add
.golangci.yml - Update Makefile test targets
Documentation
- Add production hardening design spec and implementation plan
- Add zerolog migration design spec and implementation plan
- Add daemon mode design spec and implementation plan
- Add osquery lifecycle management spec and plan
- Add extension deployment spec and plan
- Update README for daemon mode, lifecycle management, extensions, and YAML config
- Remove generated docs and update
.gitignore
Commits
f40a2c8Add production hardening design specf6e1a98docs: add production hardening implementation plan41c3de4fix: force flag destination pointed to Verbose instead of Force502a7f0fix: typo in error message and dead code in runScript2cc000dfix: config test uses inline temp file instead of relative path34f4de4refactor: migrate logging from stdlib log to log/slog3ad5dcftest: add tests for action helpersa950687test: add tests for CLI action functions4df3aa0fix: Makefile test targets use correct package path9480802ci: add golangci-lint and test pipeline for PRs13b6a26docs: add zerolog migration design specc5a5639docs: add zerolog migration implementation plan4165655deps: add github.com/rs/zerolog dependencye420f60feat: add --log-format flag and LogFormat config fieldc274b28refactor: migrate main.go from slog to zerolog4f718fcrefactor: migrate remaining source files from slog to zerolog17ef7b3docs: add daemon mode design spec432cf63docs: add daemon mode implementation plan901a47efeat: add --interval flag and Interval config fieldf3a84c7feat: add service.go with jitter helper and testsd85b079feat: register service command in CLId4faedbfeat: add syncOnce helper for daemon sync loop2335f85feat: implement serviceNode daemon loop with graceful shutdowne13e32dfix: update service files for daemon mode491d64ddocs: add osquery lifecycle management spec and plan56652a7feat: change writeContentExists to return (bool, error) for change detectiond2d1b39feat: propagate change detection through getFlags and getCertf8c6f19feat: add restartOsquery function for OS service manager integration3b9b98efeat: integrate osquery restart into daemon sync loop2695851docs: add extension deployment spec and plan75ef2e2feat: add ExtensionsDir config and extensions URL generation81a632cfeat: add extension data types15bf7fefeat: add extension manifest retrieval and binary deployment6136c80feat: integrate extension sync into daemon loop2d1aeb7chore: bump version to 2.0.09d154a4fix: resolve golangci-lint errcheck, gosimple, and unused warningsfc1b750fix: check remaining os.WriteFile returns in helper tests7ffbe3afix: make TestGenURLs OS-independent for CIb51a977ci: only run release workflow on tag pushes956ef26docs: update README for v2.0.0 features3fe8770chore: remove generated docs and update gitignore3b9d915feat: migrate config to YAML by default, keep JSON support50c5713chore: bump version to 1.1.0c186313Merge pull request #1 from alvarofraguas/main
New Contributors
- @alvarofraguas made their first contribution in #1
Full Changelog: v1.0.0...v1.1.0