With this release, the targets for a v1.0.0 stable release of mechanic have been hit. At this time, this should handle maintenance events correctly and can be depended on for production workloads.
This release also builds functionality for customizing drain conditions and drain behavior (i.e. not draining on a preempt or another change that would deviate from the default behavior). You'll also be able to track mechanic operations for a given node by using the newly-available trace ID!
The default manifests used as the base for Kustomize now use project-provided images pulled from the GitHub Container Registry associated with this repo.
[1.0.0] - 2024-11-07
🚀 Features
- Adding support for customized drain conditions (#20)
- Opentelemtry tracing implementation and updates to logging (#36)
🐛 Bug Fixes
- Updated build components to handle distroless vs regular images
- Updating UncordonNode to correctly pull the values from the context
- Fixed a bad reference to the ContextValues struct when extracting it from the context in a function
🚜 Refactor
- Updating the container base runtime images to use Azure Linux 3.0
⚙️ Miscellaneous Tasks
- Project docs updates
- Working through changes to Goreleaser config
- Adding multiplatform support for Linux and Windows and building public images
- Updating tracer package to be correct for mechanic
- Fixing typo in push trigger
- Testing artifact download and extract
- Fixing podman manifest push for multi-arch linux images
- Windows image builds (#30)
- Windows 2019 and 2022 YAML updates (#37)
- Increasing golangci-lint timeout
- Fixing workflow triggers
There's also a multitude of fixes related to build workflows that aren't included under the Miscellaneous section.