diff --git a/CHANGELOG.md b/CHANGELOG.md index bbb39ce55..71a1fc687 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,8 +1,23 @@ # Changelog +## v1.3.0 +* Add DSE 6.8.1 support, and update to config-builder 1.0.1 [#139](https://github.com/datastax/cass-operator/commit/8026d3687ee6eb783743ea5481ee51e69e284e1c) +* Experimental support for Cassandra Reaper running in sidecar mode [#116](https://github.com/datastax/cass-operator/commit/30ac85f3d71886b750414e90476c42394d439026) +* Support using RedHat universal base image containers [#95](https://github.com/datastax/cass-operator/commit/6f383bd8d22491c5a784611620e1327dafc3ffae) +* Provide an easy way to specify additional seeds in the CRD [#136](https://github.com/datastax/cass-operator/commit/0125b1f639830fad31f4b0b1b955ac991212fd16) +* Unblocking Kubernetes 1.18 support [#132](https://github.com/datastax/cass-operator/commit/b8bbbf15394119cbbd604aa40fdb9224a9f312cd) +* Bump version of Management API sidecar to 0.1.5 [#129](https://github.com/datastax/cass-operator/commit/248b30efe797d0656f2fc5c8e96dc3c431ab9a32) +* No need to always set LastRollingRestart status [#124](https://github.com/datastax/cass-operator/commit/d0635a2507080455ed252a26252a336a96252bc9) +* Set controller reference after updating StatefulSets, makes sure StatefulSets are cleaned up on delete [#121](https://github.com/datastax/cass-operator/commit/f90a4d30d37fa8ace8119dc7808fd7561df9270e) +* Use the PodIP for Management API calls [#112](https://github.com/datastax/cass-operator/commit/dbf0f67aa7c3831cd5dacc52b10b4dd1c59a32d1) +* Watch secrets to trigger reconciling user and password updates [#109](https://github.com/datastax/cass-operator/commit/394d25a6d6ec452ecd1667f3dca40b7496379eea) +* Remove NodeIP from status [#96](https://github.com/datastax/cass-operator/commit/71ed104a7ec642e13ef27bafb6ac1a6c0a28a21e) +* Add ability to specify additional Cassandra users in CassandraDatacenter [#94](https://github.com/datastax/cass-operator/commit/9b376e8be93976a0a344bcda2e417aa90dd9758f) +* Improve validation for webhook configuration [#103](https://github.com/datastax/cass-operator/commit/6656d1a2fd9cdec1fe495c28dd3fbac9617341f6) + ## v1.2.0 -* Support for several k8s versions in the helm chart - [#97](https://github.com/datastax/cass-operator/commit/9d76ad8258aa4e1d4893a357546de7de80aef0a0) -* Ability to roll back a broken upgrade / configuration change - [#85](https://github.com/datastax/cass-operator/commit/86b869df65f8180524dc12ff11502f6f6889eef5) +* Support for several k8s versions in the helm chart [#97](https://github.com/datastax/cass-operator/commit/9d76ad8258aa4e1d4893a357546de7de80aef0a0) +* Ability to roll back a broken upgrade / configuration change [#85](https://github.com/datastax/cass-operator/commit/86b869df65f8180524dc12ff11502f6f6889eef5) * Mount root as read-only and temp dir as memory emptyvol [#86](https://github.com/datastax/cass-operator/commit/0474057e8339da4f89b2e901ab697f10a2184d78) * Fix managed-by label [#84](https://github.com/datastax/cass-operator/commit/39519b8bae8795542a5fb16a844aeb55cf3b2737) * Add sequence diagrams [#90](https://github.com/datastax/cass-operator/commit/f1fe5fb3e07cec71a2ba0df8fabfec2b7751a95b) diff --git a/README.md b/README.md index b0dbd2151..b703062f7 100644 --- a/README.md +++ b/README.md @@ -8,9 +8,9 @@ The DataStax Kubernetes Operator for Apache Cassandra® Quick start: ```console # *** This is for GKE Regular Channel - k8s 1.16 -> Adjust based on your cloud or storage options -kubectl create -f https://raw.githubusercontent.com/datastax/cass-operator/v1.2.0/docs/user/cass-operator-manifests-v1.16.yaml -kubectl create -f https://raw.githubusercontent.com/datastax/cass-operator/v1.2.0/operator/k8s-flavors/gke/storage.yaml -kubectl -n cass-operator create -f https://raw.githubusercontent.com/datastax/cass-operator/v1.2.0/operator/example-cassdc-yaml/cassandra-3.11.6/example-cassdc-minimal.yaml +kubectl create -f https://raw.githubusercontent.com/datastax/cass-operator/v1.3.0/docs/user/cass-operator-manifests-v1.16.yaml +kubectl create -f https://raw.githubusercontent.com/datastax/cass-operator/v1.3.0/operator/k8s-flavors/gke/storage.yaml +kubectl -n cass-operator create -f https://raw.githubusercontent.com/datastax/cass-operator/v1.3.0/operator/example-cassdc-yaml/cassandra-3.11.6/example-cassdc-minimal.yaml ``` ### Loading the operator @@ -19,7 +19,7 @@ Installing the Cass Operator itself is straightforward. We have provided manifes ```console K8S_VER=v1.16 -kubectl apply -f https://raw.githubusercontent.com/datastax/cass-operator/v1.2.0/docs/user/cass-operator-manifests-$K8S_VER.yaml +kubectl apply -f https://raw.githubusercontent.com/datastax/cass-operator/v1.3.0/docs/user/cass-operator-manifests-$K8S_VER.yaml ``` Note that since the manifest will install a [Custom Resource Definition](https://kubernetes.io/docs/concepts/extend-kubernetes/api-extension/custom-resources/), the user running the above command will need cluster-admin privileges. @@ -52,7 +52,7 @@ reclaimPolicy: Delete Apply the above as follows: ``` -kubectl apply -f https://raw.githubusercontent.com/datastax/cass-operator/v1.2.0/operator/k8s-flavors/gke/storage.yaml +kubectl apply -f https://raw.githubusercontent.com/datastax/cass-operator/v1.3.0/operator/k8s-flavors/gke/storage.yaml ``` ### Creating a CassandraDatacenter @@ -92,7 +92,7 @@ spec: Apply the above as follows: ```console -kubectl -n cass-operator apply -f https://raw.githubusercontent.com/datastax/cass-operator/v1.2.0/operator/example-cassdc-yaml/cassandra-3.11.6/example-cassdc-minimal.yaml +kubectl -n cass-operator apply -f https://raw.githubusercontent.com/datastax/cass-operator/v1.3.0/operator/example-cassdc-yaml/cassandra-3.11.6/example-cassdc-minimal.yaml ``` You can check the status of pods in the Cassandra cluster as follows: @@ -171,7 +171,7 @@ roleName: cass-operator roleBindingName: cass-operator deploymentName: cass-operator deploymentReplicas: 1 -image: "datastax/cass-operator:1.2.0" +image: "datastax/cass-operator:1.3.0" imagePullPolicy: IfNotPresent ``` @@ -296,7 +296,7 @@ kubectl delete cassdcs --all-namespaces --all Remove the operator Deployment, CRD, etc. ``` -kubectl delete -f https://raw.githubusercontent.com/datastax/cass-operator/v1.2.0/docs/user/cass-operator-manifests-v1.16.yaml +kubectl delete -f https://raw.githubusercontent.com/datastax/cass-operator/v1.3.0/docs/user/cass-operator-manifests-v1.16.yaml ``` ## Contacts diff --git a/buildsettings.yaml b/buildsettings.yaml index 67cbfc661..6cbbf0363 100644 --- a/buildsettings.yaml +++ b/buildsettings.yaml @@ -1,8 +1,8 @@ version: major: 1 - minor: 2 - patch: 1 - prerelease: "snapshot" + minor: 3 + patch: 0 + prerelease: "release" jenkins: master: plugins: diff --git a/charts/cass-operator-chart/values.yaml b/charts/cass-operator-chart/values.yaml index 6dd96c7bc..7c182032b 100644 --- a/charts/cass-operator-chart/values.yaml +++ b/charts/cass-operator-chart/values.yaml @@ -6,5 +6,5 @@ roleName: cass-operator roleBindingName: cass-operator deploymentName: cass-operator deploymentReplicas: 1 -image: "datastax/cass-operator:1.2.0" +image: "datastax/cass-operator:1.3.0" imagePullPolicy: IfNotPresent diff --git a/docs/user/cass-operator-manifests-v1.13.yaml b/docs/user/cass-operator-manifests-v1.13.yaml index 90424d58c..0eaf852d7 100644 --- a/docs/user/cass-operator-manifests-v1.13.yaml +++ b/docs/user/cass-operator-manifests-v1.13.yaml @@ -56,6 +56,10 @@ spec: spec: description: CassandraDatacenterSpec defines the desired state of a CassandraDatacenter properties: + additionalSeeds: + items: + type: string + type: array allowMultipleNodesPerWorker: description: Turning this option on allows multiple server pods to be created on a k8s worker node. By default the operator creates just @@ -5891,6 +5895,17 @@ spec: - name type: object type: array + reaper: + properties: + enabled: + type: boolean + image: + type: string + imagePullPolicy: + description: PullPolicy describes a policy for if/when to pull a + container image + type: string + type: object replaceNodes: description: A list of pod names that need to be replaced. items: @@ -5940,6 +5955,7 @@ spec: server configuration enum: - 6.8.0 + - 6.8.1 - 3.11.6 - 4.0.0 type: string @@ -6264,6 +6280,12 @@ rules: - '*' verbs: - '*' +- apiGroups: + - batch + resources: + - '*' + verbs: + - '*' --- apiVersion: rbac.authorization.k8s.io/v1 kind: RoleBinding @@ -6321,7 +6343,7 @@ spec: value: cass-operator - name: SKIP_VALIDATING_WEBHOOK value: "FALSE" - image: datastax/cass-operator:1.2.0 + image: datastax/cass-operator:1.3.0 imagePullPolicy: IfNotPresent livenessProbe: exec: diff --git a/docs/user/cass-operator-manifests-v1.14.yaml b/docs/user/cass-operator-manifests-v1.14.yaml index 6663ae8e9..94f4c800d 100644 --- a/docs/user/cass-operator-manifests-v1.14.yaml +++ b/docs/user/cass-operator-manifests-v1.14.yaml @@ -56,6 +56,10 @@ spec: spec: description: CassandraDatacenterSpec defines the desired state of a CassandraDatacenter properties: + additionalSeeds: + items: + type: string + type: array allowMultipleNodesPerWorker: description: Turning this option on allows multiple server pods to be created on a k8s worker node. By default the operator creates just @@ -5891,6 +5895,17 @@ spec: - name type: object type: array + reaper: + properties: + enabled: + type: boolean + image: + type: string + imagePullPolicy: + description: PullPolicy describes a policy for if/when to pull a + container image + type: string + type: object replaceNodes: description: A list of pod names that need to be replaced. items: @@ -5940,6 +5955,7 @@ spec: server configuration enum: - 6.8.0 + - 6.8.1 - 3.11.6 - 4.0.0 type: string @@ -6264,6 +6280,12 @@ rules: - '*' verbs: - '*' +- apiGroups: + - batch + resources: + - '*' + verbs: + - '*' --- apiVersion: rbac.authorization.k8s.io/v1 kind: RoleBinding @@ -6321,7 +6343,7 @@ spec: value: cass-operator - name: SKIP_VALIDATING_WEBHOOK value: "FALSE" - image: datastax/cass-operator:1.2.0 + image: datastax/cass-operator:1.3.0 imagePullPolicy: IfNotPresent livenessProbe: exec: diff --git a/docs/user/cass-operator-manifests-v1.15.yaml b/docs/user/cass-operator-manifests-v1.15.yaml index 30f85bee8..ca23a1836 100644 --- a/docs/user/cass-operator-manifests-v1.15.yaml +++ b/docs/user/cass-operator-manifests-v1.15.yaml @@ -56,6 +56,10 @@ spec: spec: description: CassandraDatacenterSpec defines the desired state of a CassandraDatacenter properties: + additionalSeeds: + items: + type: string + type: array allowMultipleNodesPerWorker: description: Turning this option on allows multiple server pods to be created on a k8s worker node. By default the operator creates just @@ -5891,6 +5895,17 @@ spec: - name type: object type: array + reaper: + properties: + enabled: + type: boolean + image: + type: string + imagePullPolicy: + description: PullPolicy describes a policy for if/when to pull a + container image + type: string + type: object replaceNodes: description: A list of pod names that need to be replaced. items: @@ -5940,6 +5955,7 @@ spec: server configuration enum: - 6.8.0 + - 6.8.1 - 3.11.6 - 4.0.0 type: string @@ -6265,6 +6281,12 @@ rules: - '*' verbs: - '*' +- apiGroups: + - batch + resources: + - '*' + verbs: + - '*' --- apiVersion: rbac.authorization.k8s.io/v1 kind: RoleBinding @@ -6322,7 +6344,7 @@ spec: value: cass-operator - name: SKIP_VALIDATING_WEBHOOK value: "FALSE" - image: datastax/cass-operator:1.2.0 + image: datastax/cass-operator:1.3.0 imagePullPolicy: IfNotPresent livenessProbe: exec: diff --git a/docs/user/cass-operator-manifests-v1.16.yaml b/docs/user/cass-operator-manifests-v1.16.yaml index de9498b6e..b70f25c8b 100644 --- a/docs/user/cass-operator-manifests-v1.16.yaml +++ b/docs/user/cass-operator-manifests-v1.16.yaml @@ -56,6 +56,10 @@ spec: spec: description: CassandraDatacenterSpec defines the desired state of a CassandraDatacenter properties: + additionalSeeds: + items: + type: string + type: array allowMultipleNodesPerWorker: description: Turning this option on allows multiple server pods to be created on a k8s worker node. By default the operator creates just @@ -5903,6 +5907,17 @@ spec: - name type: object type: array + reaper: + properties: + enabled: + type: boolean + image: + type: string + imagePullPolicy: + description: PullPolicy describes a policy for if/when to pull a + container image + type: string + type: object replaceNodes: description: A list of pod names that need to be replaced. items: @@ -5952,6 +5967,7 @@ spec: server configuration enum: - 6.8.0 + - 6.8.1 - 3.11.6 - 4.0.0 type: string @@ -6277,6 +6293,12 @@ rules: - '*' verbs: - '*' +- apiGroups: + - batch + resources: + - '*' + verbs: + - '*' --- apiVersion: rbac.authorization.k8s.io/v1 kind: RoleBinding @@ -6334,7 +6356,7 @@ spec: value: cass-operator - name: SKIP_VALIDATING_WEBHOOK value: "FALSE" - image: datastax/cass-operator:1.2.0 + image: datastax/cass-operator:1.3.0 imagePullPolicy: IfNotPresent livenessProbe: exec: diff --git a/docs/user/cass-operator-manifests-v1.17.yaml b/docs/user/cass-operator-manifests-v1.17.yaml index de9498b6e..b70f25c8b 100644 --- a/docs/user/cass-operator-manifests-v1.17.yaml +++ b/docs/user/cass-operator-manifests-v1.17.yaml @@ -56,6 +56,10 @@ spec: spec: description: CassandraDatacenterSpec defines the desired state of a CassandraDatacenter properties: + additionalSeeds: + items: + type: string + type: array allowMultipleNodesPerWorker: description: Turning this option on allows multiple server pods to be created on a k8s worker node. By default the operator creates just @@ -5903,6 +5907,17 @@ spec: - name type: object type: array + reaper: + properties: + enabled: + type: boolean + image: + type: string + imagePullPolicy: + description: PullPolicy describes a policy for if/when to pull a + container image + type: string + type: object replaceNodes: description: A list of pod names that need to be replaced. items: @@ -5952,6 +5967,7 @@ spec: server configuration enum: - 6.8.0 + - 6.8.1 - 3.11.6 - 4.0.0 type: string @@ -6277,6 +6293,12 @@ rules: - '*' verbs: - '*' +- apiGroups: + - batch + resources: + - '*' + verbs: + - '*' --- apiVersion: rbac.authorization.k8s.io/v1 kind: RoleBinding @@ -6334,7 +6356,7 @@ spec: value: cass-operator - name: SKIP_VALIDATING_WEBHOOK value: "FALSE" - image: datastax/cass-operator:1.2.0 + image: datastax/cass-operator:1.3.0 imagePullPolicy: IfNotPresent livenessProbe: exec: diff --git a/docs/user/cass-operator-manifests-v1.18.yaml b/docs/user/cass-operator-manifests-v1.18.yaml index 71d916a87..73cdbb452 100644 --- a/docs/user/cass-operator-manifests-v1.18.yaml +++ b/docs/user/cass-operator-manifests-v1.18.yaml @@ -56,6 +56,10 @@ spec: spec: description: CassandraDatacenterSpec defines the desired state of a CassandraDatacenter properties: + additionalSeeds: + items: + type: string + type: array allowMultipleNodesPerWorker: description: Turning this option on allows multiple server pods to be created on a k8s worker node. By default the operator creates just @@ -5901,6 +5905,17 @@ spec: - name type: object type: array + reaper: + properties: + enabled: + type: boolean + image: + type: string + imagePullPolicy: + description: PullPolicy describes a policy for if/when to pull a + container image + type: string + type: object replaceNodes: description: A list of pod names that need to be replaced. items: @@ -5950,6 +5965,7 @@ spec: server configuration enum: - 6.8.0 + - 6.8.1 - 3.11.6 - 4.0.0 type: string @@ -6275,6 +6291,12 @@ rules: - '*' verbs: - '*' +- apiGroups: + - batch + resources: + - '*' + verbs: + - '*' --- apiVersion: rbac.authorization.k8s.io/v1 kind: RoleBinding @@ -6332,7 +6354,7 @@ spec: value: cass-operator - name: SKIP_VALIDATING_WEBHOOK value: "FALSE" - image: datastax/cass-operator:1.2.0 + image: datastax/cass-operator:1.3.0 imagePullPolicy: IfNotPresent livenessProbe: exec: