Releases: Tuxdude/pico
pico v0.2.3
Released Sun, Aug 18 2024 10:34 PM UTC+0000
v0.2.3 patch release.
Changelog
- 2b6c6a3: build(deps): bump golang.org/x/sys from 0.20.0 to 0.21.0 (@dependabot[bot])
- dfc672c: build(deps): bump golang.org/x/sys from 0.21.0 to 0.22.0 (@dependabot[bot])
- 9e199b3: build(deps): bump golang.org/x/sys from 0.22.0 to 0.23.0 (@dependabot[bot])
- ce43b80: build(deps): bump golang.org/x/sys from 0.23.0 to 0.24.0 (@dependabot[bot])
- 7323a48: build: [upgrade-makesystem-bot] Upgrade to v0.5.28. (@Tuxdude)
- a511654: build: [upgrade-makesystem-bot] Upgrade to v0.5.29. (@Tuxdude)
- 1b2e916: build: [upgrade-makesystem-bot] Upgrade to v0.5.30. (@Tuxdude)
- ba120e5: build: [upgrade-makesystem-bot] Upgrade to v0.5.31. (@Tuxdude)
- 846532e: build: [upgrade-makesystem-bot] Upgrade to v0.5.32. (@Tuxdude)
- 346eb60: build: [upgrade-makesystem-bot] Upgrade to v0.5.33. (@Tuxdude)
- ee50e9d: build: [upgrade-makesystem-bot] Upgrade to v0.5.34. (@Tuxdude)
- ed770e6: build: [upgrade-makesystem-bot] Upgrade to v0.5.35. (@Tuxdude)
- 47f5ffb: build: [upgrade-makesystem-bot] Upgrade to v0.6.0. (@Tuxdude)
- bb61806: feat: Bump dependency versions. ( <>)
- e571090: feat: Set version=2 explicitly in .goreleaser.yml . (@Tuxdude)
Thanks!
Those include all the new changes in the v0.2.3 release!
pico v0.2.2
Released Tue, May 7 2024 07:09 PM UTC+0000
New release with newer version of dependencies.
Changelog
- 4a4d0ad: build(deps): bump golang.org/x/sys (@dependabot[bot])
- bfc45fb: build(deps): bump golang.org/x/sys from 0.1.0 to 0.16.0 (@dependabot[bot])
- 42fdff1: build(deps): bump golang.org/x/sys from 0.16.0 to 0.17.0 (@dependabot[bot])
- ce954e7: build(deps): bump golang.org/x/sys from 0.17.0 to 0.18.0 (@dependabot[bot])
- 37f1d94: build(deps): bump golang.org/x/sys from 0.18.0 to 0.19.0 (@dependabot[bot])
- 2752488: build(deps): bump golang.org/x/sys from 0.19.0 to 0.20.0 (@dependabot[bot])
- bd1a229: build: Add workflow for auto upgrading the makesystem. (@Tuxdude)
- b3d0ab0: build: Fix makesystem bootstrap issues on macOS. (@Tuxdude)
- b928d5a: build: Move to the self-upgradable makesystem. (@Tuxdude)
- b8583bc: build: Simplified generic makesystem. (@Tuxdude)
- cac9434: build: Update CodeQL analysis workflow. (@Tuxdude)
- 44aba40: build: Update Github lint workflow. (@Tuxdude)
- 2ab2e82: build: Update Github workflows. (@Tuxdude)
- 3dfbc92: build: Update build workflow. (@Tuxdude)
- 13788d8: build: Update lint workflow. (@Tuxdude)
- bcf5824: build: Update release workflow. (@Tuxdude)
- a8c18e5: build: Update tests workflow. (@Tuxdude)
- 97ed5b2: build: Use .TagSubject and .TagBody for better goreleaser release notes. (@Tuxdude)
- f73ec7a: build: Use generic Github workflows (with dynamic OS matrix generation). (@Tuxdude)
- d188ef4: build: [upgrade-makesystem-bot] Upgrade to v0.4.4. (@Tuxdude)
- 13de9ea: build: [upgrade-makesystem-bot] Upgrade to v0.5.10. (@Tuxdude)
- 74a8597: build: [upgrade-makesystem-bot] Upgrade to v0.5.12. (@Tuxdude)
- 4e7a9b1: build: [upgrade-makesystem-bot] Upgrade to v0.5.13. (@Tuxdude)
- 1a30c14: build: [upgrade-makesystem-bot] Upgrade to v0.5.14. (@Tuxdude)
- 46b139c: build: [upgrade-makesystem-bot] Upgrade to v0.5.15. (@Tuxdude)
- fcc08a8: build: [upgrade-makesystem-bot] Upgrade to v0.5.16. (@Tuxdude)
- 632ad7a: build: [upgrade-makesystem-bot] Upgrade to v0.5.17. (@Tuxdude)
- e91db0b: build: [upgrade-makesystem-bot] Upgrade to v0.5.19. (@Tuxdude)
- a7377bc: build: [upgrade-makesystem-bot] Upgrade to v0.5.2. (@Tuxdude)
- 11a83a5: build: [upgrade-makesystem-bot] Upgrade to v0.5.20. (@Tuxdude)
- 055fd9c: build: [upgrade-makesystem-bot] Upgrade to v0.5.21. (@Tuxdude)
- 758409b: build: [upgrade-makesystem-bot] Upgrade to v0.5.22. (@Tuxdude)
- 24fe54f: build: [upgrade-makesystem-bot] Upgrade to v0.5.23. (@Tuxdude)
- 8172662: build: [upgrade-makesystem-bot] Upgrade to v0.5.24. (@Tuxdude)
- 8f5fd5b: build: [upgrade-makesystem-bot] Upgrade to v0.5.25. (@Tuxdude)
- 447fa1c: build: [upgrade-makesystem-bot] Upgrade to v0.5.26. (@Tuxdude)
- 8cf5e82: build: [upgrade-makesystem-bot] Upgrade to v0.5.27. (@Tuxdude)
- 86904de: build: [upgrade-makesystem-bot] Upgrade to v0.5.3. (@Tuxdude)
- 1d359cc: build: [upgrade-makesystem-bot] Upgrade to v0.5.4. (@Tuxdude)
- 17493f2: build: [upgrade-makesystem-bot] Upgrade to v0.5.5. (@Tuxdude)
- 8887c1e: build: [upgrade-makesystem-bot] Upgrade to v0.5.6. (@Tuxdude)
- e37c06a: build: [upgrade-makesystem-bot] Upgrade to v0.5.7. (@Tuxdude)
- b3bcaf3: build: [upgrade-makesystem-bot] Upgrade to v0.5.8. (@Tuxdude)
- e216378: fix: Change src archive format to tar.gz. (@Tuxdude)
- 1f1ce65: fix: Eliminate dependency on archives.replacements. (@Tuxdude)
Thanks!
Those include all the new changes in the v0.2.2 release!
pico v0.2.1
Released Mon, Feb 21 2022 11:37 PM UTC+0000
Minor bugfixes on top of v0.2.0.
This release fixes a bug with handling of empty service list provided to
picoinit. In this scenario, picoinit will gracefully exit with an error
status code.
With this release, picoinit also validates that it is being invoked from
a process with pid 1. There are numerous other edge cases when the
process is not pid 1, and hence right now picoinit is conservative in
only supporting its functionality when running as pid 1.
Changelog
- 1c16f68: feat: Only support running as pid 1. (@Tuxdude)
- 91bb6df: fix: Clear the pre-hook janitor after completion. (@Tuxdude)
- 3c7d1a7: fix: Gracefully handle the case when the service list is empty. (@Tuxdude)
- 6215cfd: refactor: Define a constant for default failed exit status. (@Tuxdude)
- 0023e38: style: Change the warning message when unable to forward signals. (@Tuxdude)
Thanks!
Those include all the new changes in the v0.2.1 release!
pico v0.2.0
Released Mon, Feb 21 2022 12:40 AM UTC+0000
picoinit with pre-hook support.
The main delta with this release is the pre-hook support which allows
launching the specified hook (which is technically just another service)
prior to launching the actual list of services. picoinit will wait for
the hook to terminate successfully prior to launching the services. If
the hook terminates with a non-zero exit status, the services will not
be launched by picoinit.
This also introduces changes to the signature of the function used to
construct Init. In the future, there should be no further breaking
changes in this part.
Changelog
- 7cce895: Remove architectures that won't be supported. (@Tuxdude)
- 665b067: build: Revamp Makefile. (@Tuxdude)
- a5b45a7: feat: Less verbose logs. (@Tuxdude)
- bb9e79a: feat: Placeholder for supporting pre-hook. (@Tuxdude)
- a9a5858: feat: Support launching pre-hook prior to launching services. (@Tuxdude)
- c913204: feat: Support pre-hook. (@Tuxdude)
- 8e4806d: refactor: Decouple janitor and signal manager. (@Tuxdude)
- 1512f14: refactor: Decouple signal manager and repo. (@Tuxdude)
- ec30594: refactor: Do not store repo in the init struct. (@Tuxdude)
- 7f0cf7a: refactor: More decoupling between janitor and signal manager. (@Tuxdude)
- 8ef18e4: refactor: Prepare for supporting hooks transparently. (@Tuxdude)
- e58b3fd: refactor: Smaller modular functions in init.go. (@Tuxdude)
Thanks!
Those include all the new changes in the v0.2.0 release!
pico v0.1.0
Released Sun, Feb 20 2022 01:39 AM UTC+0000
First release of pico.
This is a go library containing the core logic of picoinit, an init
system for docker containers that allows managing multiple services
running within the container in a minimalistic way.
Changelog
- 2eea86d: Add CodeQL analysis workflow. (@Tuxdude)
- 74bbbbc: Add Dependabot configuration. (@Tuxdude)
- 886d991: Add a 10ms sleep in shut down to allow the unblocked goroutines to resume and exit gracefully. (@Tuxdude)
- 0018463: Add a README for this repository. (@Tuxdude)
- 8857224: Add a github release workflow. (@Tuxdude)
- c8d0f61: Add a gorelease configuration. (@Tuxdude)
- 6af4735: Add a state machine to ensure right state transitions. (@Tuxdude)
- d4c8f33: Add a stringified representation for ServiceInfo. (@Tuxdude)
- b1206b0: Add a warning about an unexpected state and gracefully handle it. (@Tuxdude)
- 627d056: Add build workflow. (@Tuxdude)
- 632dd8c: Add comments for all internal functions, types and fields. (@Tuxdude)
- 9a2ca34: Add comments for fields in the service manager impl. (@Tuxdude)
- 2ef44b2: Add lint workflow. (@Tuxdude)
- 1caca97: Add logic for launching services. (@Tuxdude)
- 582bfe9: Add logic for shutting down and cleaning up resources. (@Tuxdude)
- c81aaaf: Add logic for waiting. (@Tuxdude)
- 819845c: Add logic to monitor service termination and notifying the waiter. (@Tuxdude)
- 60071a7: Add logic to reap processes when picoinit gets notification for SIGCHLD. (@Tuxdude)
- 45c033b: Add missing comment for type. (@Tuxdude)
- aa954a4: Add missing function comment. (@Tuxdude)
- 307dd0a: Add placeholder for handling reaped process terminations. (@Tuxdude)
- 1e8c9f8: Add signal forwarding logic. (@Tuxdude)
- de0f825: Add test workflow. (@Tuxdude)
- 61e5e64: Add wait logic directly in the janitor. (@Tuxdude)
- b5b95c1: Adding a go.mod for picoinit. (@Tuxdude)
- ea41e39: Attach stdin TTY (if present) in single service mode. (@Tuxdude)
- 38ba520: Change NewServiceManager -> NewInit instead to be consistent. (@Tuxdude)
- c09a212: Change type reapedProcInfo -> reapedProc since it is shorter. (@Tuxdude)
- 0b2c8e8: Close the signal channel to notify the reader to exit from the goroutine. (@Tuxdude)
- ebacb50: Defining the interface for picoinit Service Manager along with an outline implementation. (@Tuxdude)
- df47533: Disabling workflows for non-linux, since picoinit is meant specifically for linux docker containers. (@Tuxdude)
- 1032025: Eliminate race condition with accessing the shuttingDown field. (@Tuxdude)
- 3e6d760: Fix formatting. (@Tuxdude)
- b9e50b0: Fix the comment for a function. (@Tuxdude)
- 99e4119: Get latest version of zzzlogi. (@Tuxdude)
- 4790425: Group related functions together. (@Tuxdude)
- bed24c7: Ignore test coverage data using .gitignore. (@Tuxdude)
- a970a78: Indicate the janitor that we are shutting down prior to the shut down. (@Tuxdude)
- 25ac1b8: Log human readable descriptive signal name/info uniformly. (@Tuxdude)
- 3e5a049: Log more verbose graceful termination attempts. (@Tuxdude)
- 44a138f: Log process exit status while reaping. (@Tuxdude)
- 0b056dc: Make Launch services an independent function. (@Tuxdude)
- 8714a0f: Mark shut down in the janitor as part of the shutDown() function. (@Tuxdude)
- 9acc264: Monitor signals of interest while initializing picoinit. (@Tuxdude)
- 7f594ff: Move logic for service termination handling into janitor struct. (@Tuxdude)
- a22556a: Move logic into a smaller helper function. (@Tuxdude)
- 129deb6: Move service launcher logic into a separate struct. (@Tuxdude)
- 610b51e: Move service repository logic into a separate file. (@Tuxdude)
- 7c49765: Move service shut down logic into the janitor. (@Tuxdude)
- f350ec9: Move signal handling logic into a separate signal manager file. (@Tuxdude)
- d75d3c0: Move the exported types into a separate file. (@Tuxdude)
- 74b0e93: Move zombie reaper directly within signal manager. (@Tuxdude)
- d290bea: Movie zombie reaper logic into a separate file and type/struct. (@Tuxdude)
- 6af6eb3: Only log signal forwarding if there are services. (@Tuxdude)
- 3bb2f0c: Remove buildcmd target from Makefile which is unused. (@Tuxdude)
- 7fb91b9: Remove direct coupling between janitor and signal manager. (@Tuxdude)
- 18b7e31: Remove reaper instance from Service Manager. (@Tuxdude)
- b14346a: Remove strong coupling between launcher and repo. (@Tuxdude)
- 7aac4f2: Rename file service_manager.go -> init.go. (@Tuxdude)
- e53ffe5: Rename file signal_manager.go -> signals.go to keep it shorter. (@Tuxdude)
- a19d5fc: Rename files to use shorter file names. (@Tuxdude)
- d1fbb73: Rename service manager -> init to be consistent. (@Tuxdude)
- 4adb817: Rename the exported type to Init to go with shorter names. (@Tuxdude)
- a8123a3: Rename the method in janitor to make it shorter. (@Tuxdude)
- 0a34135: Rename type ServiceInfo -> Service instead. (@Tuxdude)
- 324a4c6: Rename type launchedServiceInfo -> launchedService. (@Tuxdude)
- 8b8f781: Reset the signals state in shut down to prevent getting further notifications. (@Tuxdude)
- f0562c0: Revamp Makefile. (@Tuxdude)
- 2d118d6: Reword and/or update levels for some logs. (@Tuxdude)
- 6159736: Simplify logic for determining multi service mode. (@Tuxdude)
- e172a09: Simplify settings multiServiceMode. (@Tuxdude)
- 97cf517: Unify initializing and launching services. (@Tuxdude)
- 6dd578b: Update comments to reflect the correct name/terminology. (@Tuxdude)
- ec1f4bf: Update dependency versions. (@Tuxdude)
- 84205d4: Use a channel to confirm signal handler goroutine is ready. (@Tuxdude)
- 3e9830b: Use a channel to wait for signal handler goroutine to exit. (@Tuxdude)
- 6ebe9e4: Use the term exit status to be consistent. (@Tuxdude)
- e26c40d: Use unix.SysProcAttr instead of syscall.SysProcAttr. (@Tuxdude)
Thanks!
Those include all the new changes in the v0.1.0 release!