The coreos/etcd-operator project is a important piece of our hosted etcd and Kubernetes products. It has unfortunately been left unmaintained since the 23th of May. This while the community continues to create issues and submit pull requests.
It was required for us to do something make sure continued development of the etcd operator.
So we forked the etcd operator to cbws/etcd-operator to our GitHub organisation. We have also worked on getting a continuous-integration pipeline up and have setup Dependabot to maintain dependencies.
For CI we have chosen to use GitHub Actions, this gives us some experience with GitHub's new CI offering but also provides great integration with GitHub itself.
As of now we have setup builds of Docker images to test the building of the project but also the basic E2E tests. For this we have tried to keep the development scripts used by the original CI pipeline/developers as similar as possible.
As part of the implementation of the CI pipeline we have also moved from Gopkg to go modules. The Go version has been set to 1.13.
The move to Go modules also enabled us to setup Dependabot for the project, the bot will over time monitor for new releases of dependencies and will create pull requests for the updates.
Currently we haven't setup automated building of Docker images for new releases yet. These are currently being build by our SRE team on release. We would like to add this in the future so we can have more consistent releases and new images up more quickly.
Since the stagnation of the original project there have been many pull request with new features and other patches.
We have taken some of those pull requests and patches and merged them into our fork. For examples this include cluster-wide backup and restore, support for (tmpfs) memory based storage and improvements to how old backups are removed.
A new release
The new features and some other patches have been packaged into a new release of the etcd operator as version 0.10.0. This new version can be found on GitHub including the corresponding Docker images.