diff --git a/README.md b/README.md index 7bd1747a..6c6cd761 100644 --- a/README.md +++ b/README.md @@ -112,8 +112,8 @@ Please do not expect the operator to be stable, and expect breaking changes to t - [x] In-memory ETCD clusters - [x] Persisted data ETCD clusters -- [ ] Scaling up/down of existing clusters -- [ ] Upgrading existing clusters +- [x] Scaling up/down of existing clusters +- [x] Upgrading existing clusters - [ ] Backup/restore of cluster data - [ ] TLS between cluster peers diff --git a/docs/release-notes/v0.2.md b/docs/release-notes/v0.2.md new file mode 100644 index 00000000..0e9349df --- /dev/null +++ b/docs/release-notes/v0.2.md @@ -0,0 +1,68 @@ +# Release v0.2 + +## Changelog for [v0.2.0](https://github.com/improbable-eng/etcd-cluster-operator/releases/${patch-version}) - ${date} + +### Notable changes + +* [#34](https://github.com/improbable-eng/etcd-cluster-operator/issue/34) & [#35](https://github.com/improbable-eng/etcd-cluster-operator/issue/35) **Clusters can be scaled up and down** + + Etcd clusters can be [scaled up](https://github.com/improbable-eng/etcd-cluster-operator/blob/master/docs/operations.md#scale-up-a-cluster) or [down](https://github.com/improbable-eng/etcd-cluster-operator/blob/master/docs/operations.md#scale-down-a-cluster) by modifying the `.spec.replicas` field in the `EtcdCluster` resource. + You can also use `kubectl scale` to do this. + +* [#145](https://github.com/improbable-eng/etcd-cluster-operator/pull/145) **Perform version upgrade by rolling update of peers** + + The `EtcdCluster` resource now has a `.spec.version` field for specifying the version of etcd to use. + If the field is [updated to a higher value](https://github.com/improbable-eng/etcd-cluster-operator/blob/master/docs/operations.md#upgrade-a-cluster), the operator will perform a rolling version upgrade. + +* [#136](https://github.com/improbable-eng/etcd-cluster-operator/pull/136) **EtcdCluster supports specifying affinity in pod template** + + The `EtcdCluster` resource now has a `.spec.podTemplate.affinity` field for specifying affinity rules on the underlying etcd pods. + This allows users to enforce rules such as scheduling each etcd pod on a different host to enable high-availability clusters. + +* [#125](https://github.com/improbable-eng/etcd-cluster-operator/pull/125) **Set resource requests and limits on Etcd peer containers** + + The `EtcdCluster` resource now has a `.spec.podTemplate.resources` field for specifying resource requests and limits on the underlying etcd pods. + This allows users to control how much resources the etcd pods can use. + +* [#110](https://github.com/improbable-eng/etcd-cluster-operator/pull/110) **Support passing annotations through to the underlying pods** + + The `EtcdCluster` resource now has a `.spec.podTemplate.metadata.annotations` field for specifying annotations to be passed through to the underlying etcd pods. + These annotations can be used to setup scraping of metrics from the etcd pods with Prometheus. + + +### Everything else + +* [#156](https://github.com/improbable-eng/etcd-cluster-operator/pull/156) **Use pflag** +* [#153](https://github.com/improbable-eng/etcd-cluster-operator/pull/153) **Add a --version flag and log the version before starting the operator** +* [#152](https://github.com/improbable-eng/etcd-cluster-operator/pull/152) **Use ETCDCTL_API=3 in e2e tests** +* [#150](https://github.com/improbable-eng/etcd-cluster-operator/pull/150) **Use controller-tools 0.2.5** +* [#151](https://github.com/improbable-eng/etcd-cluster-operator/pull/151) **Update all dependencies to latest patch versions** +* [#148](https://github.com/improbable-eng/etcd-cluster-operator/pull/148) **Pin etcd client version** +* [#142](https://github.com/improbable-eng/etcd-cluster-operator/pull/142) **Redeploy the etcd-cluster-operator before each E2E test run** +* [#120](https://github.com/improbable-eng/etcd-cluster-operator/pull/120) **Allow scaled-down clusters to be scaled back up (v2)** +* [#121](https://github.com/improbable-eng/etcd-cluster-operator/pull/121) **Patch rather than Update EtcdCluster.Status to avoid conflict errors** +* [#123](https://github.com/improbable-eng/etcd-cluster-operator/pull/123) **Fix some race conditions** +* [#135](https://github.com/improbable-eng/etcd-cluster-operator/pull/135) **Download kubebuilder 2.2.0 assets for tests** +* [#96](https://github.com/improbable-eng/etcd-cluster-operator/pull/96) **Backup docs** +* [#133](https://github.com/improbable-eng/etcd-cluster-operator/pull/133) **Use latest 3.2 patch version** +* [#129](https://github.com/improbable-eng/etcd-cluster-operator/pull/129) **FAQ - explain why we have not added Readiness Probes or Liveness Probes.** +* [#128](https://github.com/improbable-eng/etcd-cluster-operator/pull/128) **Retry the number-of-peers test** +* [#131](https://github.com/improbable-eng/etcd-cluster-operator/pull/131) **Fix broken release image build due to shell invocation** +* [#118](https://github.com/improbable-eng/etcd-cluster-operator/pull/118) **Backup schedule race fix** +* [#122](https://github.com/improbable-eng/etcd-cluster-operator/pull/122) **Update to controller-runtime 0.4.0** +* [#124](https://github.com/improbable-eng/etcd-cluster-operator/pull/124) **Update to controller-tools 0.2.4** +* [#111](https://github.com/improbable-eng/etcd-cluster-operator/pull/111) **Remove insecure kube_rbac_proxy** +* [#95](https://github.com/improbable-eng/etcd-cluster-operator/pull/95) **Implement EtcdBackupSchedule** +* [#103](https://github.com/improbable-eng/etcd-cluster-operator/pull/103) **Rewrite operations guide** +* [#65](https://github.com/improbable-eng/etcd-cluster-operator/pull/65) **Implement backup resource controller** +* [#94](https://github.com/improbable-eng/etcd-cluster-operator/pull/94) **Add debug container docker build option** +* [#88](https://github.com/improbable-eng/etcd-cluster-operator/pull/88) **EventuallyInCluster: a helper to run a command in the cluster and wait for it** +* [#91](https://github.com/improbable-eng/etcd-cluster-operator/pull/91) **Shorter tick time in tests** +* [#89](https://github.com/improbable-eng/etcd-cluster-operator/pull/89) **Ensure that the stopped channel gets closed** +* [#78](https://github.com/improbable-eng/etcd-cluster-operator/pull/78) **Make it easier to re-use an existing Kind cluster for E2E tests** +* [#81](https://github.com/improbable-eng/etcd-cluster-operator/pull/81) **Documentation for deleting a cluster and restoring a deleted cluster.** +* [#80](https://github.com/improbable-eng/etcd-cluster-operator/pull/80) **Set a 1 second timeout for the Etcdclient** +* [#73](https://github.com/improbable-eng/etcd-cluster-operator/pull/73) **Run Circle jobs in parallel** +* [#84](https://github.com/improbable-eng/etcd-cluster-operator/pull/84) **Reduce the volume size in test clusters to 1Mi** +* [#85](https://github.com/improbable-eng/etcd-cluster-operator/pull/85) **Save the kind logs after the e2e tests** +* [#86](https://github.com/improbable-eng/etcd-cluster-operator/pull/86) **Fixups for cluster scale-up**