Added
- Added golangci-lint and codespell CI jobs using GitHub Actions.
- Added CI for vendor directory, generated files, Go modules tidiness, Dockerfile etc.
- Added missing documentation for all packages.
- Added integration tests for
pkg/updateengine
. - Added unit tests for
pkg/operator
.
Changed
- Updated used Go version to 1.16 and Alpine version for container images to 3.14.
- Container images will be now published to
ghcr.io/flatcar-linux/flatcar-linux-update-operator
instead of
quay.io/kinvolk/flatcar-linux-update-operator
. update-agent
now use a dedicated Service Account with lower privileges than the operator.update-agent
now use a dedicated Pod Security Policy.update-operator
now use more strict Pod Security Policy, as it no longer needs permissions
for agent related resources.Flatcar Linux
references has been changed toFlatcar Container Linux
.- Migrated from glog to klog,
which is a recommended logger for Kubernetes operators. pkg/drain
has been integrated intopkg/k8sutil
.- Errors returned from operator and agent runs are now properly wrapped and can be unwrapped by the user.
- Remaining CoreOS references has been replaced with Flatcar.
pkg/k8sutil.GetVersionInfo()
will now return an error when/etc/flatcar/update.conf
file is present,
but not readable.- Marking node as Unschedulable should now be more robust on frequent Node object updates.
- Renamed Go module from
github.com/kinvolk/flatcar-linux-update-operator
togithub.com/flatcar-linux/flatcar-linux-update-operator
, following the move of repository into new organization.
Fixed
- Fixed various typos found by codespell.
- Operator will no longer leak leader election goroutine, it will be now shut down when stop channel gets closed.
- Operator will now internally gracefully return an error when leader election is lost, so process can be restarted
to start a new leader election.
Removed
- Removed no longer used Travis CI, Jenkins configuration files and build scripts.
- Removed
AttemptUpdate()
,GetStatus()
andRebootNeededSignal()
functions frompkg/updateengine
package. - Removed deprecated
--manage-agent
,--agent-image-repo
and--analytics
flags fromupdate-operator
. - Deprecated operator functionality to manage agent DaemonSet has been removed. Agent DaemonSet must be now deployed separately.