diff --git a/CHANGELOG.md b/CHANGELOG.md index e7e22d41..3e7abe0e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,42 @@ # CHANGELOG +## [v1.9.1](https://github.com/StarRocks/starrocks-kubernetes-operator/releases/tag/v1.9.1) + +Release Notes for starrocks-kubernetes-operator v1.9.0 + +We are thrilled to announce the release of StarRocks Kubernetes Operator v1.9.1. This release introduces several +enhancements and bug fixes to improve the user experience of deploying and managing StarRocks +clusters on Kubernetes. + +### What's New + +There are enhancements in this release. + +1. **[chart]** When you set logStorageSize to 0, the operator will not create PVC for log + storage [#398](https://github.com/StarRocks/starrocks-kubernetes-operator/pull/398). +2. **[operator]** Checked volumes and mount paths to avoid duplication + error [#388](https://github.com/StarRocks/starrocks-kubernetes-operator/pull/388) +3. **[operator]** Disabled FE scale to 1 [#394](https://github.com/StarRocks/starrocks-kubernetes-operator/pull/394) +4. **[operator]** Supported use of map to define feEnvVars/beEnvVars/cnEnvVars to merge on multiple values files (#396) +5. **[operator]** exposed `spec.containers.securityContext.capabilities` for user to customize the capabilities of + containers. [#404](https://github.com/StarRocks/starrocks-kubernetes-operator/pull/404) + +### BugFix + +1. **[operator]** Supported to update service annotations + fields [#402](https://github.com/StarRocks/starrocks-kubernetes-operator/pull/402) [#399](https://github.com/StarRocks/starrocks-kubernetes-operator/pull/399) +2. **[operator]** Switched to using patch method instead of update method to modify statefulset and + deployment [#397](https://github.com/StarRocks/starrocks-kubernetes-operator/pull/397). + This solves the problem that when CN + HPA is enabled, upgrading CN will cause all CN pods to be terminated and + restarted. +3. **[operator]** Switched to using Patch method instead of Update to modify service + object [#387](https://github.com/StarRocks/starrocks-kubernetes-operator/pull/387). This solves the + problem that when cloud provider is used, the service object will be modified by cloud provider, and the operator + will overwrite the modification. +4. **[operator]** Considered Cn Replicas when calculating component + hash [#392](https://github.com/StarRocks/starrocks-kubernetes-operator/pull/392) +5. **[chart]** Corrected typo in storageSpec [#385](https://github.com/StarRocks/starrocks-kubernetes-operator/pull/385) + ## [v1.9.0](https://github.com/StarRocks/starrocks-kubernetes-operator/releases/tag/v1.9.0) Release Notes for starrocks-kubernetes-operator v1.9.0 @@ -10,25 +47,36 @@ clusters on Kubernetes. ### What's New -1. [Feature] Add StarRocksWarehouse CRD to support StarRocks Warehouse Feature (#323). Note: warehouse is an +1. [Feature] Add StarRocksWarehouse CRD to support StarRocks Warehouse + Feature [#323](https://github.com/StarRocks/starrocks-kubernetes-operator/pull/323). Note: warehouse is an enterprise feature for StarRocks. -2. [Enhancement] Use StarRocksCluster State to log errors when subController apply failed (#359): We have improved error +2. [Enhancement] Use StarRocksCluster State to log errors when subController apply + failed [#359](https://github.com/StarRocks/starrocks-kubernetes-operator/pull/359): We have improved error logging by using the StarRocksCluster status.State when the subController apply operation fails. -3. [Enhancement] Support to mount emptyDir in storageVolumes (#324): We have added support to mount emptyDir in +3. [Enhancement] Support to mount emptyDir in + storageVolumes [#324](https://github.com/StarRocks/starrocks-kubernetes-operator/pull/324): We have added support to + mount emptyDir in storageVolumes. ### BugFix -1. [BugFix] We have fixed an issue where the cluster status phase was not in sync with the component.(#380) -2. [BugFix] We have fixed an issue where the HPA was not removed when the autoScalingPolicy was removed.(#379) -3. [BugFix] We have fixed an issue where the HPA resource was not removed when the CN spec was removed.(#357) +1. [BugFix] We have fixed an issue where the cluster status phase was not in sync with the + component.[#380](https://github.com/StarRocks/starrocks-kubernetes-operator/pull/380) +2. [BugFix] We have fixed an issue where the HPA was not removed when the autoScalingPolicy was + removed.[#379](https://github.com/StarRocks/starrocks-kubernetes-operator/pull/379) +3. [BugFix] We have fixed an issue where the HPA resource was not removed when the CN spec was + removed.[#357](https://github.com/StarRocks/starrocks-kubernetes-operator/pull/357) ### Maintenance -1. We have improved the setup of the Kubernetes environment for unit tests by using setup-envtest. (#347) -2. We have added unit tests and ensured that the code coverage is at least 65%. (#354) -3. We have updated the script to generate the API reference documentation.(#350) -4. We have switched to using zap as the logger for better logging capabilities.(#341) +1. We have improved the setup of the Kubernetes environment for unit tests by using + setup-envtest. [#347](https://github.com/StarRocks/starrocks-kubernetes-operator/pull/347) +2. We have added unit tests and ensured that the code coverage is at least + 65%. [#354](https://github.com/StarRocks/starrocks-kubernetes-operator/pull/354) +3. We have updated the script to generate the API reference + documentation.[#350](https://github.com/StarRocks/starrocks-kubernetes-operator/pull/350) +4. We have switched to using zap as the logger for better logging + capabilities.[#341](https://github.com/StarRocks/starrocks-kubernetes-operator/pull/341) We encourage you to update to this new version and benefit from these improvements. As always, your feedback is very welcome. @@ -82,7 +130,7 @@ and enhancements. Here are the key updates: ### Bug Fixes 1. Fix the problem of nginx sending the request body to FE when redirecting the stream load request, which may cause - the stream load to fail. (#303) + the stream load to fail. [#303](https://github.com/StarRocks/starrocks-kubernetes-operator/pull/303) ### Maintenance diff --git a/deploy/operator.yaml b/deploy/operator.yaml index f36a2952..a701a02e 100644 --- a/deploy/operator.yaml +++ b/deploy/operator.yaml @@ -174,7 +174,7 @@ spec: kubectl.kubernetes.io/default-container: manager labels: app: kube-starrocks-operator - version: 1.9.0 + version: 1.9.1 spec: automountServiceAccountToken: true containers: @@ -187,7 +187,7 @@ spec: env: - name: TZ value: Asia/Shanghai - image: "starrocks/operator:v1.9.0" + image: "starrocks/operator:v1.9.1" imagePullPolicy: Always name: manager securityContext: diff --git a/doc/api.md b/doc/api.md index c613ae3c..c8ea989d 100644 --- a/doc/api.md +++ b/doc/api.md @@ -2071,5 +2071,5 @@ AutoScalingPolicy

Generated with gen-crd-api-reference-docs -on git commit b7b3c3f. +on git commit 13a5c05.

diff --git a/helm-charts/charts/kube-starrocks/Chart.yaml b/helm-charts/charts/kube-starrocks/Chart.yaml index 000769e3..f2abcdb1 100644 --- a/helm-charts/charts/kube-starrocks/Chart.yaml +++ b/helm-charts/charts/kube-starrocks/Chart.yaml @@ -25,7 +25,7 @@ maintainers: # This is the chart version. This version number should be incremented each time you make changes # to the chart and its templates, including the app version. # Versions are expected to follow Semantic Versioning (https://semver.org/) -version: 1.9.0 +version: 1.9.1 # This is the version number of the application being deployed. This version number should be # incremented each time you make changes to the application. Versions are not expected to diff --git a/helm-charts/charts/kube-starrocks/charts/operator/Chart.yaml b/helm-charts/charts/kube-starrocks/charts/operator/Chart.yaml index 9ca98b70..fc4d72c3 100644 --- a/helm-charts/charts/kube-starrocks/charts/operator/Chart.yaml +++ b/helm-charts/charts/kube-starrocks/charts/operator/Chart.yaml @@ -25,13 +25,13 @@ maintainers: # This is the chart version. This version number should be incremented each time you make changes # to the chart and its templates, including the app version. # Versions are expected to follow Semantic Versioning (https://semver.org/) -version: 1.9.0 +version: 1.9.1 # This is the version number of the application being deployed. This version number should be # incremented each time you make changes to the application. Versions are not expected to # follow Semantic Versioning. They should reflect the version the application is using. # It is recommended to use it with quotes. -appVersion: 1.9.0 +appVersion: 1.9.1 kubeVersion: ">=1.18.3-0" diff --git a/helm-charts/charts/kube-starrocks/charts/operator/values.yaml b/helm-charts/charts/kube-starrocks/charts/operator/values.yaml index ceba8a42..ef323189 100644 --- a/helm-charts/charts/kube-starrocks/charts/operator/values.yaml +++ b/helm-charts/charts/kube-starrocks/charts/operator/values.yaml @@ -32,7 +32,7 @@ starrocksOperator: image: # image sliced by "repository:tag" repository: starrocks/operator - tag: v1.9.0 + tag: v1.9.1 imagePullPolicy: Always replicaCount: 1 resources: diff --git a/helm-charts/charts/kube-starrocks/charts/starrocks/Chart.yaml b/helm-charts/charts/kube-starrocks/charts/starrocks/Chart.yaml index 4ce243e6..96305c55 100644 --- a/helm-charts/charts/kube-starrocks/charts/starrocks/Chart.yaml +++ b/helm-charts/charts/kube-starrocks/charts/starrocks/Chart.yaml @@ -25,7 +25,7 @@ maintainers: # This is the chart version. This version number should be incremented each time you make changes # to the chart and its templates, including the app version. # Versions are expected to follow Semantic Versioning (https://semver.org/) -version: 1.9.0 +version: 1.9.1 # This is the version number of the application being deployed. This version number should be # incremented each time you make changes to the application. Versions are not expected to diff --git a/helm-charts/charts/kube-starrocks/charts/starrocks/values.yaml b/helm-charts/charts/kube-starrocks/charts/starrocks/values.yaml index 548115ff..476981b8 100644 --- a/helm-charts/charts/kube-starrocks/charts/starrocks/values.yaml +++ b/helm-charts/charts/kube-starrocks/charts/starrocks/values.yaml @@ -146,6 +146,7 @@ starrocksFESpec: cpu: 8 memory: 8Gi # fe storageSpec for persistent metadata. + # Note: Once set, the following fields will not be allowed to be modified. storageSpec: name: "" # the storageClassName represent the used storageclass name. if not set will use k8s cluster default storageclass. @@ -154,7 +155,8 @@ starrocksFESpec: # the persistent volume size, default 10Gi. # fe container stop running if the disk free space which the fe meta directory residents, is less than 5Gi. storageSize: 10Gi - # Setting this parameter can persist log storage + # Setting this parameter can persist log storage. + # If you set it to 0Gi, the related PVC will not be created, and the log will not be persisted. logStorageSize: 5Gi # mount other volumes if necessary. # Note: please use storageSpec field for persistent metadata and log. @@ -334,6 +336,7 @@ starrocksCnSpec: cpu: 4 memory: 8Gi # specify storageclass name and request size. + # Note: Once set, the following fields will not be allowed to be modified. storageSpec: # the name of volume for mount. if not will use emptyDir. name: "" @@ -343,6 +346,7 @@ starrocksCnSpec: # the storage size of persistent volume for data. storageSize: 1Ti # the storage size of persistent volume for log. + # If you set it to 0Gi, the related PVC will not be created, and the log will not be persisted. logStorageSize: 1Gi # mount other volumes if necessary. # Note: please use storageSpec field for persistent storage data and log. @@ -488,6 +492,7 @@ starrocksBeSpec: cpu: 8 memory: 8Gi # be storageSpec for persistent storage. + # Note: Once set, the following fields will not be allowed to be modified. storageSpec: # the name of volume for mount. if not will use emptyDir. name: "" @@ -496,6 +501,7 @@ starrocksBeSpec: storageClassName: "" storageSize: 1Ti # Setting this parameter can persist log storage + # If you set it to 0Gi, the related PVC will not be created, and the log will not be persisted. logStorageSize: 1Gi # mount other volumes if necessary. # Note: please use storageSpec field for persistent storage data and log. diff --git a/helm-charts/charts/kube-starrocks/values.yaml b/helm-charts/charts/kube-starrocks/values.yaml index 165fa0e6..eb24a560 100644 --- a/helm-charts/charts/kube-starrocks/values.yaml +++ b/helm-charts/charts/kube-starrocks/values.yaml @@ -39,7 +39,7 @@ operator: image: # image sliced by "repository:tag" repository: starrocks/operator - tag: v1.9.0 + tag: v1.9.1 imagePullPolicy: Always replicaCount: 1 resources: @@ -226,6 +226,7 @@ starrocks: cpu: 8 memory: 8Gi # fe storageSpec for persistent metadata. + # Note: Once set, the following fields will not be allowed to be modified. storageSpec: name: "" # the storageClassName represent the used storageclass name. if not set will use k8s cluster default storageclass. @@ -234,7 +235,8 @@ starrocks: # the persistent volume size, default 10Gi. # fe container stop running if the disk free space which the fe meta directory residents, is less than 5Gi. storageSize: 10Gi - # Setting this parameter can persist log storage + # Setting this parameter can persist log storage. + # If you set it to 0Gi, the related PVC will not be created, and the log will not be persisted. logStorageSize: 5Gi # mount other volumes if necessary. # Note: please use storageSpec field for persistent metadata and log. @@ -414,6 +416,7 @@ starrocks: cpu: 4 memory: 8Gi # specify storageclass name and request size. + # Note: Once set, the following fields will not be allowed to be modified. storageSpec: # the name of volume for mount. if not will use emptyDir. name: "" @@ -423,6 +426,7 @@ starrocks: # the storage size of persistent volume for data. storageSize: 1Ti # the storage size of persistent volume for log. + # If you set it to 0Gi, the related PVC will not be created, and the log will not be persisted. logStorageSize: 1Gi # mount other volumes if necessary. # Note: please use storageSpec field for persistent storage data and log. @@ -568,6 +572,7 @@ starrocks: cpu: 8 memory: 8Gi # be storageSpec for persistent storage. + # Note: Once set, the following fields will not be allowed to be modified. storageSpec: # the name of volume for mount. if not will use emptyDir. name: "" @@ -576,6 +581,7 @@ starrocks: storageClassName: "" storageSize: 1Ti # Setting this parameter can persist log storage + # If you set it to 0Gi, the related PVC will not be created, and the log will not be persisted. logStorageSize: 1Gi # mount other volumes if necessary. # Note: please use storageSpec field for persistent storage data and log. diff --git a/helm-charts/charts/warehouse/Chart.yaml b/helm-charts/charts/warehouse/Chart.yaml index a3b3a861..8d3e6f0e 100644 --- a/helm-charts/charts/warehouse/Chart.yaml +++ b/helm-charts/charts/warehouse/Chart.yaml @@ -23,7 +23,7 @@ maintainers: # This is the chart version. This version number should be incremented each time you make changes # to the chart and its templates, including the app version. # Versions are expected to follow Semantic Versioning (https://semver.org/) -version: 1.9.0 +version: 1.9.1 # This is the version number of the application being deployed. This version number should be # incremented each time you make changes to the application. Versions are not expected to diff --git a/index.yaml b/index.yaml index 73e6988b..476093dd 100644 --- a/index.yaml +++ b/index.yaml @@ -1,6 +1,33 @@ apiVersion: v1 entries: kube-starrocks: + - apiVersion: v2 + appVersion: 3.2-latest + created: "2024-01-18T10:41:12.137421+08:00" + description: kube-starrocks includes two subcharts, operator and starrocks + digest: 392d67e5b1902e6b566add19a7c39e2d3491aaf537d44ddac20f3b92fd212bbc + home: https://github.com/StarRocks/starrocks-kubernetes-operator + icon: https://avatars.githubusercontent.com/u/88238841 + keywords: + - operator + - starrocks + - database + - olap + kubeVersion: '>=1.18.3-0' + maintainers: + - email: caixiaohua@starrocks.com + name: Kevin Cai + - email: shensida@starrocks.com + name: SidaShen + - email: yandongxiao@starrocks.com + name: Dongxiao Yan + name: kube-starrocks + sources: + - https://github.com/StarRocks/starrocks + type: application + urls: + - https://github.com/StarRocks/starrocks-kubernetes-operator/releases/download/v1.9.1/kube-starrocks-1.9.1.tgz + version: 1.9.1 - apiVersion: v2 appVersion: 3.1-latest created: "2024-01-04T17:29:08.143527+08:00" @@ -360,6 +387,33 @@ entries: - https://github.com/StarRocks/helm-charts/releases/download/kube-starrocks-1.6.1/kube-starrocks-1.6.1.tgz version: 1.6.1 operator: + - apiVersion: v2 + appVersion: 1.9.1 + created: "2024-01-18T10:41:14.409568+08:00" + description: A Helm chart for StarRocks operator + digest: d1450a6c6ff1a4ee35e22cc5321d490ff8ff920f95a44f92195c746211e1daa4 + home: https://github.com/StarRocks/starrocks-kubernetes-operator + icon: https://avatars.githubusercontent.com/u/88238841 + keywords: + - operator + - starrocks + - database + - olap + kubeVersion: '>=1.18.3-0' + maintainers: + - email: caixiaohua@starrocks.com + name: Kevin Cai + - email: shensida@starrocks.com + name: SidaShen + - email: yandongxiao@starrocks.com + name: Dongxiao Yan + name: operator + sources: + - https://github.com/StarRocks/starrocks + type: application + urls: + - https://github.com/StarRocks/starrocks-kubernetes-operator/releases/download/v1.9.1/operator-1.9.1.tgz + version: 1.9.1 - apiVersion: v2 appVersion: 1.9.0 created: "2024-01-04T17:29:10.339435+08:00" @@ -631,6 +685,33 @@ entries: - https://github.com/StarRocks/starrocks-kubernetes-operator/releases/download/v1.8.0/operator-1.8.0.tgz version: 1.8.0 starrocks: + - apiVersion: v2 + appVersion: 3.2-latest + created: "2024-01-18T10:41:16.677917+08:00" + description: A Helm chart for StarRocks cluster + digest: 84587e58b56adf435c8b0fbd40172e1abb39bc9629e9c75691bcf6c58e36da30 + home: https://github.com/StarRocks/starrocks-kubernetes-operator + icon: https://avatars.githubusercontent.com/u/88238841 + keywords: + - operator + - starrocks + - database + - olap + kubeVersion: '>=1.18.3-0' + maintainers: + - email: caixiaohua@starrocks.com + name: Kevin Cai + - email: shensida@starrocks.com + name: SidaShen + - email: yandongxiao@starrocks.com + name: Dongxiao Yan + name: starrocks + sources: + - https://github.com/StarRocks/starrocks + type: application + urls: + - https://github.com/StarRocks/starrocks-kubernetes-operator/releases/download/v1.9.1/starrocks-1.9.1.tgz + version: 1.9.1 - apiVersion: v2 appVersion: 3.1-latest created: "2024-01-04T17:29:12.538365+08:00" @@ -902,6 +983,32 @@ entries: - https://github.com/StarRocks/starrocks-kubernetes-operator/releases/download/v1.8.0/starrocks-1.8.0.tgz version: 1.8.0 warehouse: + - apiVersion: v2 + appVersion: 3.2-latest + created: "2024-01-18T10:41:19.386772+08:00" + description: Warehouse is currently a feature of the StarRocks Enterprise Edition. + digest: cead81aec6beb7b5a31944427fc8f592a04bf5332faa366e45e9bb3738edea14 + home: https://github.com/StarRocks/starrocks-kubernetes-operator + icon: https://avatars.githubusercontent.com/u/88238841 + keywords: + - operator + - starrocks + - database + - olap + - multi-warehouse + kubeVersion: '>=1.18.3-0' + maintainers: + - email: caixiaohua@starrocks.com + name: Kevin Cai + - email: yandongxiao@starrocks.com + name: Dongxiao Yan + name: warehouse + sources: + - https://github.com/StarRocks/starrocks + type: application + urls: + - https://github.com/StarRocks/starrocks-kubernetes-operator/releases/download/v1.9.1/warehouse-1.9.1.tgz + version: 1.9.1 - apiVersion: v2 appVersion: 3.1-latest created: "2024-01-04T17:29:14.816308+08:00" @@ -928,4 +1035,4 @@ entries: urls: - https://github.com/StarRocks/starrocks-kubernetes-operator/releases/download/v1.9.0/warehouse-1.9.0.tgz version: 1.9.0 -generated: "2024-01-04T17:29:14.815154+08:00" +generated: "2024-01-18T10:41:19.386213+08:00" diff --git a/scripts/change-pr-number-to-link.go b/scripts/change-pr-number-to-link.go new file mode 100644 index 00000000..731b5820 --- /dev/null +++ b/scripts/change-pr-number-to-link.go @@ -0,0 +1,37 @@ +package main + +import ( + "fmt" + "os" + "regexp" +) + +func main() { + // Input Markdown file + inputFile := "../CHANGELOG.md" + + // GitHub project URL + githubURL := "https://github.com/StarRocks/starrocks-kubernetes-operator/pull" + + // Read the input file + content, err := os.ReadFile(inputFile) + if err != nil { + panic(err) + } + + // Create a regular expression to match (#number) + re := regexp.MustCompile(`\(#([0-9]+)\)`) + + // Replace (#number) with [#number](githubURL/number) + newContent := re.ReplaceAllStringFunc(string(content), func(s string) string { + number := s[2 : len(s)-1] // Extract the number + return fmt.Sprintf("[#%s](%s/%s)", number, githubURL, number) + }) + + // Write the new content back to the input file + var perm os.FileMode = 0600 + err = os.WriteFile(inputFile, []byte(newContent), perm) + if err != nil { + panic(err) + } +}