From 22f11c092012b9549e669d7a7f09a80bb17adeaf Mon Sep 17 00:00:00 2001 From: Rui Fu Date: Tue, 1 Jul 2025 09:20:38 +0800 Subject: [PATCH 1/6] release 0.25.0-rc.1 --- .ci/olm-tests/catalog.yml | 2 +- .ci/olm-tests/subs.yml | 2 +- Makefile | 2 +- README.md | 2 +- charts/function-mesh-operator/Chart.yaml | 6 +++--- charts/function-mesh-operator/README.md | 8 ++++---- .../charts/admission-webhook/Chart.yaml | 4 ++-- .../charts/admission-webhook/README.md | 2 +- .../templates/crd-compute.functionmesh.io-functions.yaml | 2 +- charts/function-mesh-operator/values.yaml | 2 +- .../crd/bases/compute.functionmesh.io_backendconfigs.yaml | 3 +-- .../crd/bases/compute.functionmesh.io_functionmeshes.yaml | 3 +-- config/crd/bases/compute.functionmesh.io_functions.yaml | 3 +-- config/crd/bases/compute.functionmesh.io_sinks.yaml | 3 +-- config/crd/bases/compute.functionmesh.io_sources.yaml | 3 +-- config/rbac/role.yaml | 1 - config/webhook/manifests.yaml | 2 -- install.sh | 2 +- 18 files changed, 22 insertions(+), 30 deletions(-) diff --git a/.ci/olm-tests/catalog.yml b/.ci/olm-tests/catalog.yml index 52163d18b..a296631d7 100644 --- a/.ci/olm-tests/catalog.yml +++ b/.ci/olm-tests/catalog.yml @@ -5,4 +5,4 @@ metadata: namespace: olm spec: sourceType: grpc - image: kind-registry:5000/streamnativeio/function-mesh-catalog:v0.24.0 + image: kind-registry:5000/streamnativeio/function-mesh-catalog:v0.25.0-rc.1 diff --git a/.ci/olm-tests/subs.yml b/.ci/olm-tests/subs.yml index 39645c039..104a0a175 100644 --- a/.ci/olm-tests/subs.yml +++ b/.ci/olm-tests/subs.yml @@ -6,6 +6,6 @@ metadata: spec: channel: alpha name: function-mesh - startingCSV: function-mesh.v0.24.0 + startingCSV: function-mesh.v0.25.0-rc.1 source: my-test-catalog sourceNamespace: olm diff --git a/Makefile b/Makefile index fcfd39a9f..64444eee5 100644 --- a/Makefile +++ b/Makefile @@ -1,5 +1,5 @@ # Current Operator version -VERSION ?= 0.24.0 +VERSION ?= 0.25.0-rc.1 # Default image tag DOCKER_REPO := $(if $(DOCKER_REPO),$(DOCKER_REPO),streamnative) OPERATOR_IMG ?= ${DOCKER_REPO}/function-mesh:v$(VERSION) diff --git a/README.md b/README.md index 63d8c2a47..6e0f656f1 100644 --- a/README.md +++ b/README.md @@ -4,7 +4,7 @@ A Kubernetes-Native way to run pulsar functions, connectors and composed functio ## Install ```bash -curl -sSL https://github.com/streamnative/function-mesh/releases/download/v0.24.0/install.sh | bash +curl -sSL https://github.com/streamnative/function-mesh/releases/download/v0.25.0-rc.1/install.sh | bash ``` The above command installs all the CRDs, required service account configuration, and all function-mesh operator components. Before you start running a function-mesh example, verify if Function Mesh is installed correctly. diff --git a/charts/function-mesh-operator/Chart.yaml b/charts/function-mesh-operator/Chart.yaml index daed57905..ff3b9b325 100644 --- a/charts/function-mesh-operator/Chart.yaml +++ b/charts/function-mesh-operator/Chart.yaml @@ -19,12 +19,12 @@ type: application # 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: 0.2.31 +version: 0.2.32 # 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. -appVersion: 0.24.0 +appVersion: 0.25.0-rc.1 home: https://github.com/streamnative/function-mesh sources: @@ -33,5 +33,5 @@ sources: dependencies: - name: admission-webhook condition: admissionWebhook.enabled - version: 0.2.31 + version: 0.2.32 # repository: https://charts.functionmesh.io/ diff --git a/charts/function-mesh-operator/README.md b/charts/function-mesh-operator/README.md index 944752d7b..5ea87a253 100644 --- a/charts/function-mesh-operator/README.md +++ b/charts/function-mesh-operator/README.md @@ -1,6 +1,6 @@ # function-mesh-operator -![Version: 0.2.31](https://img.shields.io/badge/Version-0.2.31-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 0.24.0](https://img.shields.io/badge/AppVersion-0.24.0-informational?style=flat-square) +![Version: 0.2.32](https://img.shields.io/badge/Version-0.2.32-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 0.25.0-rc.1](https://img.shields.io/badge/AppVersion-0.25.0--rc.1-informational?style=flat-square) function mesh operator Helm chart for Kubernetes @@ -20,7 +20,7 @@ function mesh operator Helm chart for Kubernetes | Repository | Name | Version | |------------|------|---------| -| | admission-webhook | 0.2.31 | +| | admission-webhook | 0.2.32 | ## Values @@ -36,7 +36,7 @@ function mesh operator Helm chart for Kubernetes | controllerManager.globalBackendConfig | string | `"global-backend-config"` | | | controllerManager.globalBackendConfigNamespace | string | `"default"` | | | controllerManager.healthProbe.port | int | `8000` | | -| controllerManager.metrics.port | int | `8080` | | +| controllerManager.metrics.port | int | `8443` | | | controllerManager.namespacedBackendConfig | string | `"backend-config"` | | | controllerManager.nodeSelector | object | `{}` | | | controllerManager.pprof.enable | bool | `false` | | @@ -50,7 +50,7 @@ function mesh operator Helm chart for Kubernetes | imagePullPolicy | string | `"IfNotPresent"` | | | imagePullSecrets | list | `[]` | | | installation.namespace | string | `"function-mesh-system"` | | -| operatorImage | string | `"streamnative/function-mesh:v0.24.0"` | | +| operatorImage | string | `"streamnative/function-mesh:v0.25.0-rc.1"` | | | rbac.create | bool | `true` | | ---------------------------------------------- diff --git a/charts/function-mesh-operator/charts/admission-webhook/Chart.yaml b/charts/function-mesh-operator/charts/admission-webhook/Chart.yaml index 89de23956..e47ecf60c 100644 --- a/charts/function-mesh-operator/charts/admission-webhook/Chart.yaml +++ b/charts/function-mesh-operator/charts/admission-webhook/Chart.yaml @@ -19,13 +19,13 @@ type: application # 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: 0.2.31 +version: 0.2.32 # 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: 0.24.0 +appVersion: 0.25.0-rc.1 home: https://github.com/streamnative/function-mesh sources: diff --git a/charts/function-mesh-operator/charts/admission-webhook/README.md b/charts/function-mesh-operator/charts/admission-webhook/README.md index 31cd1d305..3a677df5f 100644 --- a/charts/function-mesh-operator/charts/admission-webhook/README.md +++ b/charts/function-mesh-operator/charts/admission-webhook/README.md @@ -1,6 +1,6 @@ # admission-webhook -![Version: 0.2.31](https://img.shields.io/badge/Version-0.2.31-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 0.24.0](https://img.shields.io/badge/AppVersion-0.24.0-informational?style=flat-square) +![Version: 0.2.32](https://img.shields.io/badge/Version-0.2.32-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 0.25.0-rc.1](https://img.shields.io/badge/AppVersion-0.25.0--rc.1-informational?style=flat-square) function mesh admission webhook Helm chart for Kubernetes diff --git a/charts/function-mesh-operator/charts/admission-webhook/templates/crd-compute.functionmesh.io-functions.yaml b/charts/function-mesh-operator/charts/admission-webhook/templates/crd-compute.functionmesh.io-functions.yaml index 83c8e6821..1d485c85b 100644 --- a/charts/function-mesh-operator/charts/admission-webhook/templates/crd-compute.functionmesh.io-functions.yaml +++ b/charts/function-mesh-operator/charts/admission-webhook/templates/crd-compute.functionmesh.io-functions.yaml @@ -6,7 +6,7 @@ metadata: {{- if eq .Values.admissionWebhook.certificate.provider "cert-manager" }} {{- include "function-mesh-operator.certManager.annotation" . | nindent 4 -}} {{- end }} - controller-gen.kubebuilder.io/version: v0.9.2 + controller-gen.kubebuilder.io/version: v0.15.0 name: functions.compute.functionmesh.io spec: conversion: diff --git a/charts/function-mesh-operator/values.yaml b/charts/function-mesh-operator/values.yaml index dc98f9f04..7a30277fc 100644 --- a/charts/function-mesh-operator/values.yaml +++ b/charts/function-mesh-operator/values.yaml @@ -11,7 +11,7 @@ installation: namespace: function-mesh-system # operatorImage is Function Mesh Operator image -operatorImage: streamnative/function-mesh:v0.24.0 +operatorImage: streamnative/function-mesh:v0.25.0-rc.1 imagePullPolicy: IfNotPresent imagePullSecrets: [] diff --git a/config/crd/bases/compute.functionmesh.io_backendconfigs.yaml b/config/crd/bases/compute.functionmesh.io_backendconfigs.yaml index 67baf85a4..ba0db81be 100644 --- a/config/crd/bases/compute.functionmesh.io_backendconfigs.yaml +++ b/config/crd/bases/compute.functionmesh.io_backendconfigs.yaml @@ -3,8 +3,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.9.2 - creationTimestamp: null + controller-gen.kubebuilder.io/version: v0.15.0 name: backendconfigs.compute.functionmesh.io spec: group: compute.functionmesh.io diff --git a/config/crd/bases/compute.functionmesh.io_functionmeshes.yaml b/config/crd/bases/compute.functionmesh.io_functionmeshes.yaml index e0fd39554..6a2dae2e5 100644 --- a/config/crd/bases/compute.functionmesh.io_functionmeshes.yaml +++ b/config/crd/bases/compute.functionmesh.io_functionmeshes.yaml @@ -3,8 +3,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.9.2 - creationTimestamp: null + controller-gen.kubebuilder.io/version: v0.15.0 name: functionmeshes.compute.functionmesh.io spec: group: compute.functionmesh.io diff --git a/config/crd/bases/compute.functionmesh.io_functions.yaml b/config/crd/bases/compute.functionmesh.io_functions.yaml index 1bcc3daa5..c361189da 100644 --- a/config/crd/bases/compute.functionmesh.io_functions.yaml +++ b/config/crd/bases/compute.functionmesh.io_functions.yaml @@ -3,8 +3,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.9.2 - creationTimestamp: null + controller-gen.kubebuilder.io/version: v0.15.0 name: functions.compute.functionmesh.io spec: group: compute.functionmesh.io diff --git a/config/crd/bases/compute.functionmesh.io_sinks.yaml b/config/crd/bases/compute.functionmesh.io_sinks.yaml index 7e6757091..b1afff52a 100644 --- a/config/crd/bases/compute.functionmesh.io_sinks.yaml +++ b/config/crd/bases/compute.functionmesh.io_sinks.yaml @@ -3,8 +3,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.9.2 - creationTimestamp: null + controller-gen.kubebuilder.io/version: v0.15.0 name: sinks.compute.functionmesh.io spec: group: compute.functionmesh.io diff --git a/config/crd/bases/compute.functionmesh.io_sources.yaml b/config/crd/bases/compute.functionmesh.io_sources.yaml index 7bf7ea615..d42956579 100644 --- a/config/crd/bases/compute.functionmesh.io_sources.yaml +++ b/config/crd/bases/compute.functionmesh.io_sources.yaml @@ -3,8 +3,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.9.2 - creationTimestamp: null + controller-gen.kubebuilder.io/version: v0.15.0 name: sources.compute.functionmesh.io spec: group: compute.functionmesh.io diff --git a/config/rbac/role.yaml b/config/rbac/role.yaml index 7ba2a2733..0f8dd41ef 100644 --- a/config/rbac/role.yaml +++ b/config/rbac/role.yaml @@ -2,7 +2,6 @@ apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole metadata: - creationTimestamp: null name: manager-role rules: - apiGroups: diff --git a/config/webhook/manifests.yaml b/config/webhook/manifests.yaml index 79400e6d4..47cbd5b2d 100644 --- a/config/webhook/manifests.yaml +++ b/config/webhook/manifests.yaml @@ -2,7 +2,6 @@ apiVersion: admissionregistration.k8s.io/v1 kind: MutatingWebhookConfiguration metadata: - creationTimestamp: null name: mutating-webhook-configuration webhooks: - admissionReviewVersions: @@ -72,7 +71,6 @@ webhooks: apiVersion: admissionregistration.k8s.io/v1 kind: ValidatingWebhookConfiguration metadata: - creationTimestamp: null name: validating-webhook-configuration webhooks: - admissionReviewVersions: diff --git a/install.sh b/install.sh index 212357375..c53420116 100755 --- a/install.sh +++ b/install.sh @@ -56,7 +56,7 @@ EOF main() { local local_kube="kind" - local fm_version="v0.24.0" + local fm_version="v0.25.0-rc.1" local kind_name="kind" local kind_version="v0.7.0" local node_num=2 From f04499c6c02f97d1b7ed6a05a21796a6c90f061e Mon Sep 17 00:00:00 2001 From: Rui Fu Date: Wed, 9 Jul 2025 20:59:42 +0800 Subject: [PATCH 2/6] upgrade go to 1.24.4 (#813) --- .github/workflows/bundle-release.yml | 8 ++++---- .github/workflows/olm-verify.yml | 4 ++-- .github/workflows/project.yml | 2 +- .github/workflows/release.yml | 4 ++-- .github/workflows/test-helm-charts.yml | 4 ++-- .github/workflows/trivy.yml | 4 ++-- .github/workflows/trivy_scheduled_master.yml | 4 ++-- Dockerfile | 2 +- api/go.mod | 2 +- go.mod | 2 +- images/samples/go-function-samples/Dockerfile | 2 +- images/samples/go-function-samples/func/go.mod | 2 +- redhat.Dockerfile | 2 +- 13 files changed, 21 insertions(+), 21 deletions(-) diff --git a/.github/workflows/bundle-release.yml b/.github/workflows/bundle-release.yml index fd0d7f8f1..44ed6c383 100644 --- a/.github/workflows/bundle-release.yml +++ b/.github/workflows/bundle-release.yml @@ -49,10 +49,10 @@ jobs: username: ${{ secrets.DOCKER_USER }} password: ${{ secrets.DOCKER_PASSWORD }} - - name: Set up GO 1.24.2 + - name: Set up GO 1.24.4 uses: actions/setup-go@v1 with: - go-version: 1.24.2 + go-version: 1.24.4 id: go - name: InstallKubebuilder @@ -180,10 +180,10 @@ jobs: username: ${{ secrets.DOCKER_USER }} password: ${{ secrets.DOCKER_PASSWORD }} - - name: Set up GO 1.24.2 + - name: Set up GO 1.24.4 uses: actions/setup-go@v1 with: - go-version: 1.24.2 + go-version: 1.24.4 id: go - name: InstallKubebuilder diff --git a/.github/workflows/olm-verify.yml b/.github/workflows/olm-verify.yml index 373e2bd5a..6dff4f683 100644 --- a/.github/workflows/olm-verify.yml +++ b/.github/workflows/olm-verify.yml @@ -34,10 +34,10 @@ jobs: - name: checkout uses: actions/checkout@v2 - - name: Set up GO 1.24.2 + - name: Set up GO 1.24.4 uses: actions/setup-go@v1 with: - go-version: 1.24.2 + go-version: 1.24.4 id: go - name: InstallKubebuilder diff --git a/.github/workflows/project.yml b/.github/workflows/project.yml index 6d783fd28..5edc6b22c 100644 --- a/.github/workflows/project.yml +++ b/.github/workflows/project.yml @@ -18,7 +18,7 @@ jobs: strategy: fail-fast: false matrix: - go-version: [1.22.12, 1.24.2] + go-version: [1.22.12, 1.24.4] steps: - name: Free Disk Space (Ubuntu) uses: jlumbroso/free-disk-space@v1.3.0 diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 9e86e5a25..61543dc26 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -37,10 +37,10 @@ jobs: username: ${{ secrets.DOCKER_USER }} password: ${{ secrets.DOCKER_PASSWORD }} - - name: Set up GO 1.24.2 + - name: Set up GO 1.24.4 uses: actions/setup-go@v1 with: - go-version: 1.24.2 + go-version: 1.24.4 id: go - name: InstallKubebuilder diff --git a/.github/workflows/test-helm-charts.yml b/.github/workflows/test-helm-charts.yml index 4fbfad068..1d51288a9 100644 --- a/.github/workflows/test-helm-charts.yml +++ b/.github/workflows/test-helm-charts.yml @@ -83,11 +83,11 @@ jobs: run: hack/kind-cluster-build.sh --name chart-testing -c 1 -v 10 --k8sVersion v1.23.17 if: steps.list-changed.outputs.changed == 'true' - - name: Set up GO 1.24.2 + - name: Set up GO 1.24.4 if: steps.list-changed.outputs.changed == 'true' uses: actions/setup-go@v1 with: - go-version: 1.24.2 + go-version: 1.24.4 id: go - name: setup kubebuilder 3.6.0 diff --git a/.github/workflows/trivy.yml b/.github/workflows/trivy.yml index 26cff21d6..6d34de1a6 100644 --- a/.github/workflows/trivy.yml +++ b/.github/workflows/trivy.yml @@ -34,10 +34,10 @@ jobs: repository: ${{github.event.pull_request.head.repo.full_name}} ref: ${{ github.event.pull_request.head.sha }} - - name: Set up GO 1.24.2 + - name: Set up GO 1.24.4 uses: actions/setup-go@v1 with: - go-version: 1.24.2 + go-version: 1.24.4 id: go - name: InstallKubebuilder diff --git a/.github/workflows/trivy_scheduled_master.yml b/.github/workflows/trivy_scheduled_master.yml index 2dca11a61..7b9cd36db 100644 --- a/.github/workflows/trivy_scheduled_master.yml +++ b/.github/workflows/trivy_scheduled_master.yml @@ -45,10 +45,10 @@ jobs: repository: ${{github.event.pull_request.head.repo.full_name}} ref: ${{ github.event.pull_request.head.sha }} - - name: Set up GO 1.24.2 + - name: Set up GO 1.24.4 uses: actions/setup-go@v1 with: - go-version: 1.24.2 + go-version: 1.24.4 id: go - name: InstallKubebuilder diff --git a/Dockerfile b/Dockerfile index 7a0e257cb..066d424b6 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,5 +1,5 @@ # Build the manager binary -FROM golang:1.24.2-bullseye as builder +FROM golang:1.24.4-bullseye as builder WORKDIR /workspace/api COPY api/ . diff --git a/api/go.mod b/api/go.mod index c7fd39dff..49fc4b224 100644 --- a/api/go.mod +++ b/api/go.mod @@ -1,6 +1,6 @@ module github.com/streamnative/function-mesh/api -go 1.24.2 +go 1.24.4 require ( k8s.io/api v0.30.9 diff --git a/go.mod b/go.mod index 3b77f4d4d..2f6e95fe3 100644 --- a/go.mod +++ b/go.mod @@ -1,6 +1,6 @@ module github.com/streamnative/function-mesh -go 1.24.2 +go 1.24.4 require ( github.com/apache/pulsar-client-go v0.9.1-0.20230816081803-fbee610ddcbf diff --git a/images/samples/go-function-samples/Dockerfile b/images/samples/go-function-samples/Dockerfile index b396b979b..1c6412317 100644 --- a/images/samples/go-function-samples/Dockerfile +++ b/images/samples/go-function-samples/Dockerfile @@ -1,5 +1,5 @@ ARG PULSAR_IMAGE_TAG -FROM golang:1.24.2-bullseye as builder +FROM golang:1.24.4-bullseye as builder WORKDIR /workspace # Copy the Go Modules manifests diff --git a/images/samples/go-function-samples/func/go.mod b/images/samples/go-function-samples/func/go.mod index 9d2631d4c..f128a66c6 100644 --- a/images/samples/go-function-samples/func/go.mod +++ b/images/samples/go-function-samples/func/go.mod @@ -1,6 +1,6 @@ module github.com/apache/pulsar/pulsar-function-go/examples -go 1.24.2 +go 1.24.4 require github.com/apache/pulsar/pulsar-function-go v0.0.0-20250430085326-611dc3f360b5 diff --git a/redhat.Dockerfile b/redhat.Dockerfile index 663d17571..06a17376a 100644 --- a/redhat.Dockerfile +++ b/redhat.Dockerfile @@ -1,5 +1,5 @@ # Build the manager binary -FROM golang:1.24.2-bullseye as builder +FROM golang:1.24.4-bullseye as builder WORKDIR /workspace/api COPY api/ . From c1708c3089fbe78f65034c49c3d7255e5598323e Mon Sep 17 00:00:00 2001 From: Rui Fu Date: Wed, 9 Jul 2025 21:12:41 +0800 Subject: [PATCH 3/6] release 0.25.0-rc.2 --- .ci/olm-tests/catalog.yml | 2 +- .ci/olm-tests/subs.yml | 2 +- Makefile | 2 +- README.md | 2 +- charts/function-mesh-operator/Chart.yaml | 6 +++--- charts/function-mesh-operator/README.md | 6 +++--- .../charts/admission-webhook/Chart.yaml | 4 ++-- .../charts/admission-webhook/README.md | 2 +- charts/function-mesh-operator/values.yaml | 2 +- install.sh | 2 +- 10 files changed, 15 insertions(+), 15 deletions(-) diff --git a/.ci/olm-tests/catalog.yml b/.ci/olm-tests/catalog.yml index a296631d7..cc9e445b3 100644 --- a/.ci/olm-tests/catalog.yml +++ b/.ci/olm-tests/catalog.yml @@ -5,4 +5,4 @@ metadata: namespace: olm spec: sourceType: grpc - image: kind-registry:5000/streamnativeio/function-mesh-catalog:v0.25.0-rc.1 + image: kind-registry:5000/streamnativeio/function-mesh-catalog:v0.25.0-rc.2 diff --git a/.ci/olm-tests/subs.yml b/.ci/olm-tests/subs.yml index 104a0a175..9e96d8d46 100644 --- a/.ci/olm-tests/subs.yml +++ b/.ci/olm-tests/subs.yml @@ -6,6 +6,6 @@ metadata: spec: channel: alpha name: function-mesh - startingCSV: function-mesh.v0.25.0-rc.1 + startingCSV: function-mesh.v0.25.0-rc.2 source: my-test-catalog sourceNamespace: olm diff --git a/Makefile b/Makefile index 64444eee5..04cfadd6d 100644 --- a/Makefile +++ b/Makefile @@ -1,5 +1,5 @@ # Current Operator version -VERSION ?= 0.25.0-rc.1 +VERSION ?= 0.25.0-rc.2 # Default image tag DOCKER_REPO := $(if $(DOCKER_REPO),$(DOCKER_REPO),streamnative) OPERATOR_IMG ?= ${DOCKER_REPO}/function-mesh:v$(VERSION) diff --git a/README.md b/README.md index 6e0f656f1..94cd57ef1 100644 --- a/README.md +++ b/README.md @@ -4,7 +4,7 @@ A Kubernetes-Native way to run pulsar functions, connectors and composed functio ## Install ```bash -curl -sSL https://github.com/streamnative/function-mesh/releases/download/v0.25.0-rc.1/install.sh | bash +curl -sSL https://github.com/streamnative/function-mesh/releases/download/v0.25.0-rc.2/install.sh | bash ``` The above command installs all the CRDs, required service account configuration, and all function-mesh operator components. Before you start running a function-mesh example, verify if Function Mesh is installed correctly. diff --git a/charts/function-mesh-operator/Chart.yaml b/charts/function-mesh-operator/Chart.yaml index ff3b9b325..41b8896fd 100644 --- a/charts/function-mesh-operator/Chart.yaml +++ b/charts/function-mesh-operator/Chart.yaml @@ -19,12 +19,12 @@ type: application # 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: 0.2.32 +version: 0.2.33 # 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. -appVersion: 0.25.0-rc.1 +appVersion: 0.25.0-rc.2 home: https://github.com/streamnative/function-mesh sources: @@ -33,5 +33,5 @@ sources: dependencies: - name: admission-webhook condition: admissionWebhook.enabled - version: 0.2.32 + version: 0.2.33 # repository: https://charts.functionmesh.io/ diff --git a/charts/function-mesh-operator/README.md b/charts/function-mesh-operator/README.md index 5ea87a253..153067210 100644 --- a/charts/function-mesh-operator/README.md +++ b/charts/function-mesh-operator/README.md @@ -1,6 +1,6 @@ # function-mesh-operator -![Version: 0.2.32](https://img.shields.io/badge/Version-0.2.32-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 0.25.0-rc.1](https://img.shields.io/badge/AppVersion-0.25.0--rc.1-informational?style=flat-square) +![Version: 0.2.33](https://img.shields.io/badge/Version-0.2.33-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 0.25.0-rc.2](https://img.shields.io/badge/AppVersion-0.25.0--rc.2-informational?style=flat-square) function mesh operator Helm chart for Kubernetes @@ -20,7 +20,7 @@ function mesh operator Helm chart for Kubernetes | Repository | Name | Version | |------------|------|---------| -| | admission-webhook | 0.2.32 | +| | admission-webhook | 0.2.33 | ## Values @@ -50,7 +50,7 @@ function mesh operator Helm chart for Kubernetes | imagePullPolicy | string | `"IfNotPresent"` | | | imagePullSecrets | list | `[]` | | | installation.namespace | string | `"function-mesh-system"` | | -| operatorImage | string | `"streamnative/function-mesh:v0.25.0-rc.1"` | | +| operatorImage | string | `"streamnative/function-mesh:v0.25.0-rc.2"` | | | rbac.create | bool | `true` | | ---------------------------------------------- diff --git a/charts/function-mesh-operator/charts/admission-webhook/Chart.yaml b/charts/function-mesh-operator/charts/admission-webhook/Chart.yaml index e47ecf60c..c547e54c5 100644 --- a/charts/function-mesh-operator/charts/admission-webhook/Chart.yaml +++ b/charts/function-mesh-operator/charts/admission-webhook/Chart.yaml @@ -19,13 +19,13 @@ type: application # 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: 0.2.32 +version: 0.2.33 # 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: 0.25.0-rc.1 +appVersion: 0.25.0-rc.2 home: https://github.com/streamnative/function-mesh sources: diff --git a/charts/function-mesh-operator/charts/admission-webhook/README.md b/charts/function-mesh-operator/charts/admission-webhook/README.md index 3a677df5f..1e04b2fed 100644 --- a/charts/function-mesh-operator/charts/admission-webhook/README.md +++ b/charts/function-mesh-operator/charts/admission-webhook/README.md @@ -1,6 +1,6 @@ # admission-webhook -![Version: 0.2.32](https://img.shields.io/badge/Version-0.2.32-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 0.25.0-rc.1](https://img.shields.io/badge/AppVersion-0.25.0--rc.1-informational?style=flat-square) +![Version: 0.2.33](https://img.shields.io/badge/Version-0.2.33-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 0.25.0-rc.2](https://img.shields.io/badge/AppVersion-0.25.0--rc.2-informational?style=flat-square) function mesh admission webhook Helm chart for Kubernetes diff --git a/charts/function-mesh-operator/values.yaml b/charts/function-mesh-operator/values.yaml index 7a30277fc..ece91bb5c 100644 --- a/charts/function-mesh-operator/values.yaml +++ b/charts/function-mesh-operator/values.yaml @@ -11,7 +11,7 @@ installation: namespace: function-mesh-system # operatorImage is Function Mesh Operator image -operatorImage: streamnative/function-mesh:v0.25.0-rc.1 +operatorImage: streamnative/function-mesh:v0.25.0-rc.2 imagePullPolicy: IfNotPresent imagePullSecrets: [] diff --git a/install.sh b/install.sh index c53420116..e35b7ca24 100755 --- a/install.sh +++ b/install.sh @@ -56,7 +56,7 @@ EOF main() { local local_kube="kind" - local fm_version="v0.25.0-rc.1" + local fm_version="v0.25.0-rc.2" local kind_name="kind" local kind_version="v0.7.0" local node_num=2 From 1ed84f431bcfb4050537c47e5129e0b961ebe06e Mon Sep 17 00:00:00 2001 From: jiangpengcheng Date: Fri, 18 Jul 2025 15:03:58 +0800 Subject: [PATCH 4/6] Add default anti affinity (#810) * [feat] Add default affinities to ensure pods: 1. prefer to be in different zones (soft rule) 2. must not be scheduled on the same node * add test * fix npe * fix vulnerabilities * fix unittest * fix unittest * fix ci * increase kind nodes in ci * fix ci * fix ci * Add a `DisableDefaultAffinity` field to PodPolicy * Update doc --- .../manifests.yaml | 1 + .../cases/python-function/manifests.yaml | 3 +- .ci/tests/kind.yaml | 8 ++++- Makefile | 2 +- api/compute/v1alpha1/common.go | 2 ++ ...ompute.functionmesh.io-backendconfigs.yaml | 2 ++ ...ompute.functionmesh.io-functionmeshes.yaml | 6 ++++ ...crd-compute.functionmesh.io-functions.yaml | 2 ++ .../crd-compute.functionmesh.io-sinks.yaml | 2 ++ .../crd-compute.functionmesh.io-sources.yaml | 2 ++ .../controller-manager-deployment.yaml | 1 + charts/function-mesh-operator/values.yaml | 1 + ...ompute.functionmesh.io_backendconfigs.yaml | 2 ++ ...ompute.functionmesh.io_functionmeshes.yaml | 6 ++++ .../compute.functionmesh.io_functions.yaml | 2 ++ .../bases/compute.functionmesh.io_sinks.yaml | 2 ++ .../compute.functionmesh.io_sources.yaml | 2 ++ controllers/spec/common.go | 35 +++++++++++++++++-- main.go | 4 +++ utils/configs.go | 1 + 20 files changed, 80 insertions(+), 6 deletions(-) diff --git a/.ci/tests/integration/cases/global-and-namespaced-config/manifests.yaml b/.ci/tests/integration/cases/global-and-namespaced-config/manifests.yaml index 9bf4ea094..1de288fec 100644 --- a/.ci/tests/integration/cases/global-and-namespaced-config/manifests.yaml +++ b/.ci/tests/integration/cases/global-and-namespaced-config/manifests.yaml @@ -16,6 +16,7 @@ spec: - persistent://public/default/input-java-topic typeClassName: java.lang.String pod: + disableDefaultAffinity: true env: - name: "podenv" value: "podvalue" diff --git a/.ci/tests/integration/cases/python-function/manifests.yaml b/.ci/tests/integration/cases/python-function/manifests.yaml index 00cf818a5..a88819ee4 100644 --- a/.ci/tests/integration/cases/python-function/manifests.yaml +++ b/.ci/tests/integration/cases/python-function/manifests.yaml @@ -8,8 +8,7 @@ spec: className: exclamation_function.ExclamationFunction forwardSourceMessageProperty: true maxPendingAsyncRequests: 1000 - replicas: 1 - maxReplicas: 1 + replicas: 3 logTopic: persistent://public/default/py-function-logs input: topics: diff --git a/.ci/tests/kind.yaml b/.ci/tests/kind.yaml index 5d3179bcb..857b170ea 100644 --- a/.ci/tests/kind.yaml +++ b/.ci/tests/kind.yaml @@ -31,4 +31,10 @@ nodes: listenAddress: "127.0.0.1" # optional: set the protocol to one of TCP, UDP, SCTP. # TCP is the default - protocol: TCP \ No newline at end of file + protocol: TCP + + - role: worker + image: kindest/node:v1.23.17 + + - role: worker + image: kindest/node:v1.23.17 diff --git a/Makefile b/Makefile index 04cfadd6d..ddccb5b60 100644 --- a/Makefile +++ b/Makefile @@ -72,7 +72,7 @@ test-ginkgo: generate fmt vet manifests envtest .PHONY: envtest envtest: - test -s $(LOCALBIN)/setup-envtest || GOBIN=$(LOCALBIN) go install sigs.k8s.io/controller-runtime/tools/setup-envtest@v0.0.0-20240320141353-395cfc7486e6 + test -s $(LOCALBIN)/setup-envtest || GOBIN=$(LOCALBIN) go install sigs.k8s.io/controller-runtime/tools/setup-envtest@v0.0.0-20250630142431-4c2e9cec2954 # Build manager binary manager: generate fmt vet diff --git a/api/compute/v1alpha1/common.go b/api/compute/v1alpha1/common.go index f679038ad..53d205eef 100644 --- a/api/compute/v1alpha1/common.go +++ b/api/compute/v1alpha1/common.go @@ -227,6 +227,8 @@ type PodPolicy struct { Env []corev1.EnvVar `json:"env,omitempty"` Liveness *Liveness `json:"liveness,omitempty"` + + DisableDefaultAffinity bool `json:"disableDefaultAffinity,omitempty"` } type Runtime struct { diff --git a/charts/function-mesh-operator/charts/admission-webhook/templates/crd-compute.functionmesh.io-backendconfigs.yaml b/charts/function-mesh-operator/charts/admission-webhook/templates/crd-compute.functionmesh.io-backendconfigs.yaml index fbc7a6784..b6801fea5 100644 --- a/charts/function-mesh-operator/charts/admission-webhook/templates/crd-compute.functionmesh.io-backendconfigs.yaml +++ b/charts/function-mesh-operator/charts/admission-webhook/templates/crd-compute.functionmesh.io-backendconfigs.yaml @@ -828,6 +828,8 @@ spec: items: type: string type: array + disableDefaultAffinity: + type: boolean env: items: properties: diff --git a/charts/function-mesh-operator/charts/admission-webhook/templates/crd-compute.functionmesh.io-functionmeshes.yaml b/charts/function-mesh-operator/charts/admission-webhook/templates/crd-compute.functionmesh.io-functionmeshes.yaml index fcf913399..f2c8eb4b5 100644 --- a/charts/function-mesh-operator/charts/admission-webhook/templates/crd-compute.functionmesh.io-functionmeshes.yaml +++ b/charts/function-mesh-operator/charts/admission-webhook/templates/crd-compute.functionmesh.io-functionmeshes.yaml @@ -1127,6 +1127,8 @@ spec: items: type: string type: array + disableDefaultAffinity: + type: boolean env: items: properties: @@ -5004,6 +5006,8 @@ spec: items: type: string type: array + disableDefaultAffinity: + type: boolean env: items: properties: @@ -8662,6 +8666,8 @@ spec: items: type: string type: array + disableDefaultAffinity: + type: boolean env: items: properties: diff --git a/charts/function-mesh-operator/charts/admission-webhook/templates/crd-compute.functionmesh.io-functions.yaml b/charts/function-mesh-operator/charts/admission-webhook/templates/crd-compute.functionmesh.io-functions.yaml index 1d485c85b..4e2471c1e 100644 --- a/charts/function-mesh-operator/charts/admission-webhook/templates/crd-compute.functionmesh.io-functions.yaml +++ b/charts/function-mesh-operator/charts/admission-webhook/templates/crd-compute.functionmesh.io-functions.yaml @@ -1146,6 +1146,8 @@ spec: items: type: string type: array + disableDefaultAffinity: + type: boolean env: items: properties: diff --git a/charts/function-mesh-operator/charts/admission-webhook/templates/crd-compute.functionmesh.io-sinks.yaml b/charts/function-mesh-operator/charts/admission-webhook/templates/crd-compute.functionmesh.io-sinks.yaml index e60681670..f3e7918ff 100644 --- a/charts/function-mesh-operator/charts/admission-webhook/templates/crd-compute.functionmesh.io-sinks.yaml +++ b/charts/function-mesh-operator/charts/admission-webhook/templates/crd-compute.functionmesh.io-sinks.yaml @@ -1067,6 +1067,8 @@ spec: items: type: string type: array + disableDefaultAffinity: + type: boolean env: items: properties: diff --git a/charts/function-mesh-operator/charts/admission-webhook/templates/crd-compute.functionmesh.io-sources.yaml b/charts/function-mesh-operator/charts/admission-webhook/templates/crd-compute.functionmesh.io-sources.yaml index 35501f161..a314e7107 100644 --- a/charts/function-mesh-operator/charts/admission-webhook/templates/crd-compute.functionmesh.io-sources.yaml +++ b/charts/function-mesh-operator/charts/admission-webhook/templates/crd-compute.functionmesh.io-sources.yaml @@ -1062,6 +1062,8 @@ spec: items: type: string type: array + disableDefaultAffinity: + type: boolean env: items: properties: diff --git a/charts/function-mesh-operator/templates/controller-manager-deployment.yaml b/charts/function-mesh-operator/templates/controller-manager-deployment.yaml index 69705479d..fcae43fbe 100644 --- a/charts/function-mesh-operator/templates/controller-manager-deployment.yaml +++ b/charts/function-mesh-operator/templates/controller-manager-deployment.yaml @@ -65,6 +65,7 @@ spec: - --global-backend-config={{ .Values.controllerManager.globalBackendConfig }} - --global-backend-config-namespace={{ .Values.controllerManager.globalBackendConfigNamespace }} - --namespaced-backend-config={{ .Values.controllerManager.namespacedBackendConfig }} + - --add-default-affinity={{ .Values.controllerManager.addDefaultAffinity }} env: - name: NAMESPACE valueFrom: diff --git a/charts/function-mesh-operator/values.yaml b/charts/function-mesh-operator/values.yaml index ece91bb5c..e700e0332 100644 --- a/charts/function-mesh-operator/values.yaml +++ b/charts/function-mesh-operator/values.yaml @@ -73,6 +73,7 @@ controllerManager: globalBackendConfig: global-backend-config globalBackendConfigNamespace: default namespacedBackendConfig: backend-config + addDefaultAffinity: true admissionWebhook: enabled: true diff --git a/config/crd/bases/compute.functionmesh.io_backendconfigs.yaml b/config/crd/bases/compute.functionmesh.io_backendconfigs.yaml index ba0db81be..24e15f4a6 100644 --- a/config/crd/bases/compute.functionmesh.io_backendconfigs.yaml +++ b/config/crd/bases/compute.functionmesh.io_backendconfigs.yaml @@ -806,6 +806,8 @@ spec: items: type: string type: array + disableDefaultAffinity: + type: boolean env: items: properties: diff --git a/config/crd/bases/compute.functionmesh.io_functionmeshes.yaml b/config/crd/bases/compute.functionmesh.io_functionmeshes.yaml index 6a2dae2e5..d09dfed79 100644 --- a/config/crd/bases/compute.functionmesh.io_functionmeshes.yaml +++ b/config/crd/bases/compute.functionmesh.io_functionmeshes.yaml @@ -1127,6 +1127,8 @@ spec: items: type: string type: array + disableDefaultAffinity: + type: boolean env: items: properties: @@ -5004,6 +5006,8 @@ spec: items: type: string type: array + disableDefaultAffinity: + type: boolean env: items: properties: @@ -8662,6 +8666,8 @@ spec: items: type: string type: array + disableDefaultAffinity: + type: boolean env: items: properties: diff --git a/config/crd/bases/compute.functionmesh.io_functions.yaml b/config/crd/bases/compute.functionmesh.io_functions.yaml index c361189da..0d8232bf1 100644 --- a/config/crd/bases/compute.functionmesh.io_functions.yaml +++ b/config/crd/bases/compute.functionmesh.io_functions.yaml @@ -1124,6 +1124,8 @@ spec: items: type: string type: array + disableDefaultAffinity: + type: boolean env: items: properties: diff --git a/config/crd/bases/compute.functionmesh.io_sinks.yaml b/config/crd/bases/compute.functionmesh.io_sinks.yaml index b1afff52a..7e752064a 100644 --- a/config/crd/bases/compute.functionmesh.io_sinks.yaml +++ b/config/crd/bases/compute.functionmesh.io_sinks.yaml @@ -1045,6 +1045,8 @@ spec: items: type: string type: array + disableDefaultAffinity: + type: boolean env: items: properties: diff --git a/config/crd/bases/compute.functionmesh.io_sources.yaml b/config/crd/bases/compute.functionmesh.io_sources.yaml index d42956579..04c1ad55e 100644 --- a/config/crd/bases/compute.functionmesh.io_sources.yaml +++ b/config/crd/bases/compute.functionmesh.io_sources.yaml @@ -1040,6 +1040,8 @@ spec: items: type: string type: array + disableDefaultAffinity: + type: boolean env: items: properties: diff --git a/controllers/spec/common.go b/controllers/spec/common.go index 9592d7ebd..49ed1d845 100644 --- a/controllers/spec/common.go +++ b/controllers/spec/common.go @@ -463,9 +463,10 @@ func makePodTemplate(container *corev1.Container, filebeatContainer *corev1.Cont if filebeatContainer != nil { containers = append(containers, *filebeatContainer) } + mergedLabels := mergeMaps(labels, Configs.ResourceLabels, policy.Labels) return &corev1.PodTemplateSpec{ ObjectMeta: metav1.ObjectMeta{ - Labels: mergeMaps(labels, Configs.ResourceLabels, policy.Labels), + Labels: mergedLabels, Annotations: generateAnnotations(Configs.ResourceAnnotations, policy.Annotations), }, Spec: corev1.PodSpec{ @@ -474,7 +475,7 @@ func makePodTemplate(container *corev1.Container, filebeatContainer *corev1.Cont TerminationGracePeriodSeconds: policy.TerminationGracePeriodSeconds, Volumes: volumes, NodeSelector: policy.NodeSelector, - Affinity: policy.Affinity, + Affinity: GenerateAffinity(policy.Affinity, mergedLabels, policy.DisableDefaultAffinity), Tolerations: policy.Tolerations, SecurityContext: podSecurityContext, ImagePullSecrets: policy.ImagePullSecrets, @@ -483,6 +484,36 @@ func makePodTemplate(container *corev1.Container, filebeatContainer *corev1.Cont } } +func GenerateAffinity(affinity *corev1.Affinity, labels map[string]string, disableDefaultAffinity bool) *corev1.Affinity { + if !utils.AddDefaultAffinity || disableDefaultAffinity { + return affinity + } + if affinity == nil { + affinity = &corev1.Affinity{} + } + if affinity.PodAntiAffinity == nil { + affinity.PodAntiAffinity = &corev1.PodAntiAffinity{} + } + + // add default pod anti-affinity rules to ensure replica pods prefer running on different node + if affinity.PodAntiAffinity.PreferredDuringSchedulingIgnoredDuringExecution == nil { + affinity.PodAntiAffinity.PreferredDuringSchedulingIgnoredDuringExecution = []corev1.WeightedPodAffinityTerm{} + } + affinity.PodAntiAffinity.PreferredDuringSchedulingIgnoredDuringExecution = append( + affinity.PodAntiAffinity.PreferredDuringSchedulingIgnoredDuringExecution, + corev1.WeightedPodAffinityTerm{ + Weight: 100, + PodAffinityTerm: corev1.PodAffinityTerm{ + LabelSelector: &metav1.LabelSelector{ + MatchLabels: labels, + }, + TopologyKey: "kubernetes.io/hostname", + }, + }, + ) + return affinity +} + func MakeJavaFunctionCommand(downloadPath, packageFile, name, clusterName, generateLogConfigCommand, logLevel, details, extraDependenciesDir, uid string, memory *resource.Quantity, javaOpts []string, hasPulsarctl, hasWget, authProvided, tlsProvided bool, secretMaps map[string]v1alpha1.SecretRef, state *v1alpha1.Stateful, diff --git a/main.go b/main.go index 0309ddfb4..cede58afa 100644 --- a/main.go +++ b/main.go @@ -79,6 +79,7 @@ func main() { var globalBackendConfigNamespace string var namespacedBackendConfig string var secureMetrics bool + var addDefaultAffinity bool flag.StringVar(&metricsAddr, "metrics-addr", lookupEnvOrString("METRICS_ADDR", ":8443"), "The address the metric endpoint binds to.") flag.StringVar(&leaderElectionID, "leader-election-id", @@ -112,6 +113,8 @@ func main() { "The backend config name used for functions&sinks&sources in the same namespace") flag.BoolVar(&secureMetrics, "metrics-secure", true, "If set, the metrics endpoint is served securely via HTTPS."+ " Use --metrics-secure=false to use HTTP instead.") + flag.BoolVar(&addDefaultAffinity, "add-default-affinity", lookupEnvOrBool("ADD_DEFAULT_AFFINITY", true), "If set, the generated pod will add one default podAntiAffinity:"+ + " make pods prefer not be scheduled on the same node (soft rule).") flag.Parse() ctrl.SetLogger(zap.New(zap.UseDevMode(true))) @@ -119,6 +122,7 @@ func main() { utils.GlobalBackendConfig = globalBackendConfig utils.GlobalBackendConfigNamespace = globalBackendConfigNamespace utils.NamespacedBackendConfig = namespacedBackendConfig + utils.AddDefaultAffinity = addDefaultAffinity // enable pprof if enablePprof { diff --git a/utils/configs.go b/utils/configs.go index 5e7bd9027..14a8066dd 100644 --- a/utils/configs.go +++ b/utils/configs.go @@ -22,3 +22,4 @@ var EnableInitContainers = false var GlobalBackendConfig = "" var GlobalBackendConfigNamespace = "default" var NamespacedBackendConfig = "" +var AddDefaultAffinity = true From 3a11e16cd38101c59dd9426470dc8c99788e06aa Mon Sep 17 00:00:00 2001 From: Rui Fu Date: Tue, 29 Jul 2025 11:30:10 +0800 Subject: [PATCH 5/6] release 0.25.0-rc.4 --- .ci/olm-tests/catalog.yml | 2 +- .ci/olm-tests/subs.yml | 2 +- README.md | 2 +- charts/function-mesh-operator/README.md | 2 +- charts/function-mesh-operator/values.yaml | 2 +- install.sh | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/.ci/olm-tests/catalog.yml b/.ci/olm-tests/catalog.yml index cc9e445b3..b947f6020 100644 --- a/.ci/olm-tests/catalog.yml +++ b/.ci/olm-tests/catalog.yml @@ -5,4 +5,4 @@ metadata: namespace: olm spec: sourceType: grpc - image: kind-registry:5000/streamnativeio/function-mesh-catalog:v0.25.0-rc.2 + image: kind-registry:5000/streamnativeio/function-mesh-catalog:v0.25.0-rc.4 diff --git a/.ci/olm-tests/subs.yml b/.ci/olm-tests/subs.yml index 9e96d8d46..d9b03f5e3 100644 --- a/.ci/olm-tests/subs.yml +++ b/.ci/olm-tests/subs.yml @@ -6,6 +6,6 @@ metadata: spec: channel: alpha name: function-mesh - startingCSV: function-mesh.v0.25.0-rc.2 + startingCSV: function-mesh.v0.25.0-rc.4 source: my-test-catalog sourceNamespace: olm diff --git a/README.md b/README.md index 94cd57ef1..4ed5981b7 100644 --- a/README.md +++ b/README.md @@ -4,7 +4,7 @@ A Kubernetes-Native way to run pulsar functions, connectors and composed functio ## Install ```bash -curl -sSL https://github.com/streamnative/function-mesh/releases/download/v0.25.0-rc.2/install.sh | bash +curl -sSL https://github.com/streamnative/function-mesh/releases/download/v0.25.0-rc.4/install.sh | bash ``` The above command installs all the CRDs, required service account configuration, and all function-mesh operator components. Before you start running a function-mesh example, verify if Function Mesh is installed correctly. diff --git a/charts/function-mesh-operator/README.md b/charts/function-mesh-operator/README.md index 153067210..eb3d37599 100644 --- a/charts/function-mesh-operator/README.md +++ b/charts/function-mesh-operator/README.md @@ -50,7 +50,7 @@ function mesh operator Helm chart for Kubernetes | imagePullPolicy | string | `"IfNotPresent"` | | | imagePullSecrets | list | `[]` | | | installation.namespace | string | `"function-mesh-system"` | | -| operatorImage | string | `"streamnative/function-mesh:v0.25.0-rc.2"` | | +| operatorImage | string | `"streamnative/function-mesh:v0.25.0-rc.4"` | | | rbac.create | bool | `true` | | ---------------------------------------------- diff --git a/charts/function-mesh-operator/values.yaml b/charts/function-mesh-operator/values.yaml index e700e0332..b921172eb 100644 --- a/charts/function-mesh-operator/values.yaml +++ b/charts/function-mesh-operator/values.yaml @@ -11,7 +11,7 @@ installation: namespace: function-mesh-system # operatorImage is Function Mesh Operator image -operatorImage: streamnative/function-mesh:v0.25.0-rc.2 +operatorImage: streamnative/function-mesh:v0.25.0-rc.4 imagePullPolicy: IfNotPresent imagePullSecrets: [] diff --git a/install.sh b/install.sh index e35b7ca24..3f68dbab1 100755 --- a/install.sh +++ b/install.sh @@ -56,7 +56,7 @@ EOF main() { local local_kube="kind" - local fm_version="v0.25.0-rc.2" + local fm_version="v0.25.0-rc.4" local kind_name="kind" local kind_version="v0.7.0" local node_num=2 From e5dd86b4a86f520afd323fd3228f36e93da5b72c Mon Sep 17 00:00:00 2001 From: Rui Fu Date: Thu, 31 Jul 2025 15:47:23 +0800 Subject: [PATCH 6/6] Release version 0.25.0 --- .ci/olm-tests/catalog.yml | 2 +- .ci/olm-tests/subs.yml | 2 +- CHANGELOG.md | 9 +++++++++ Makefile | 2 +- README.md | 2 +- charts/function-mesh-operator/Chart.yaml | 6 +++--- charts/function-mesh-operator/README.md | 4 ++-- .../charts/admission-webhook/Chart.yaml | 4 ++-- .../charts/admission-webhook/README.md | 2 +- charts/function-mesh-operator/values.yaml | 2 +- install.sh | 2 +- 11 files changed, 23 insertions(+), 14 deletions(-) diff --git a/.ci/olm-tests/catalog.yml b/.ci/olm-tests/catalog.yml index b947f6020..58cabebfb 100644 --- a/.ci/olm-tests/catalog.yml +++ b/.ci/olm-tests/catalog.yml @@ -5,4 +5,4 @@ metadata: namespace: olm spec: sourceType: grpc - image: kind-registry:5000/streamnativeio/function-mesh-catalog:v0.25.0-rc.4 + image: kind-registry:5000/streamnativeio/function-mesh-catalog:v0.25.0 diff --git a/.ci/olm-tests/subs.yml b/.ci/olm-tests/subs.yml index d9b03f5e3..bfb2f2550 100644 --- a/.ci/olm-tests/subs.yml +++ b/.ci/olm-tests/subs.yml @@ -6,6 +6,6 @@ metadata: spec: channel: alpha name: function-mesh - startingCSV: function-mesh.v0.25.0-rc.4 + startingCSV: function-mesh.v0.25.0 source: my-test-catalog sourceNamespace: olm diff --git a/CHANGELOG.md b/CHANGELOG.md index dd37f24ea..ce0681517 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,12 @@ +# Function Mesh v0.25.0 Release Notes + +## v0.25.0 What's New + +* [Dependency] Upgrade go to 1.24.4 ([#813](https://github.com/streamnative/function-mesh/pull/813)) +* [CRD] Add default anti affinity ([#810](https://github.com/streamnative/function-mesh/pull/810)) +* [Runtime] Use java21 for pulsar 4.0+ ([#809](https://github.com/streamnative/function-mesh/pull/809)) +* [Controller] Add more fields to BackendConfig ([#804](https://github.com/streamnative/function-mesh/pull/804)) + # Function Mesh v0.24.0 Release Notes ## v0.24.0 What's New diff --git a/Makefile b/Makefile index ddccb5b60..afa89a99f 100644 --- a/Makefile +++ b/Makefile @@ -1,5 +1,5 @@ # Current Operator version -VERSION ?= 0.25.0-rc.2 +VERSION ?= 0.25.0 # Default image tag DOCKER_REPO := $(if $(DOCKER_REPO),$(DOCKER_REPO),streamnative) OPERATOR_IMG ?= ${DOCKER_REPO}/function-mesh:v$(VERSION) diff --git a/README.md b/README.md index 4ed5981b7..683bc5f76 100644 --- a/README.md +++ b/README.md @@ -4,7 +4,7 @@ A Kubernetes-Native way to run pulsar functions, connectors and composed functio ## Install ```bash -curl -sSL https://github.com/streamnative/function-mesh/releases/download/v0.25.0-rc.4/install.sh | bash +curl -sSL https://github.com/streamnative/function-mesh/releases/download/v0.25.0/install.sh | bash ``` The above command installs all the CRDs, required service account configuration, and all function-mesh operator components. Before you start running a function-mesh example, verify if Function Mesh is installed correctly. diff --git a/charts/function-mesh-operator/Chart.yaml b/charts/function-mesh-operator/Chart.yaml index 41b8896fd..d03b38b63 100644 --- a/charts/function-mesh-operator/Chart.yaml +++ b/charts/function-mesh-operator/Chart.yaml @@ -19,12 +19,12 @@ type: application # 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: 0.2.33 +version: 0.2.34 # 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. -appVersion: 0.25.0-rc.2 +appVersion: 0.25.0 home: https://github.com/streamnative/function-mesh sources: @@ -33,5 +33,5 @@ sources: dependencies: - name: admission-webhook condition: admissionWebhook.enabled - version: 0.2.33 + version: 0.2.34 # repository: https://charts.functionmesh.io/ diff --git a/charts/function-mesh-operator/README.md b/charts/function-mesh-operator/README.md index eb3d37599..6913a9d5c 100644 --- a/charts/function-mesh-operator/README.md +++ b/charts/function-mesh-operator/README.md @@ -1,6 +1,6 @@ # function-mesh-operator -![Version: 0.2.33](https://img.shields.io/badge/Version-0.2.33-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 0.25.0-rc.2](https://img.shields.io/badge/AppVersion-0.25.0--rc.2-informational?style=flat-square) +![Version: 0.2.34](https://img.shields.io/badge/Version-0.2.34-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 0.25.0](https://img.shields.io/badge/AppVersion-0.25.0-informational?style=flat-square) function mesh operator Helm chart for Kubernetes @@ -50,7 +50,7 @@ function mesh operator Helm chart for Kubernetes | imagePullPolicy | string | `"IfNotPresent"` | | | imagePullSecrets | list | `[]` | | | installation.namespace | string | `"function-mesh-system"` | | -| operatorImage | string | `"streamnative/function-mesh:v0.25.0-rc.4"` | | +| operatorImage | string | `"streamnative/function-mesh:v0.25.0"` | | | rbac.create | bool | `true` | | ---------------------------------------------- diff --git a/charts/function-mesh-operator/charts/admission-webhook/Chart.yaml b/charts/function-mesh-operator/charts/admission-webhook/Chart.yaml index c547e54c5..2acd98aac 100644 --- a/charts/function-mesh-operator/charts/admission-webhook/Chart.yaml +++ b/charts/function-mesh-operator/charts/admission-webhook/Chart.yaml @@ -19,13 +19,13 @@ type: application # 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: 0.2.33 +version: 0.2.34 # 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: 0.25.0-rc.2 +appVersion: 0.25.0 home: https://github.com/streamnative/function-mesh sources: diff --git a/charts/function-mesh-operator/charts/admission-webhook/README.md b/charts/function-mesh-operator/charts/admission-webhook/README.md index 1e04b2fed..2e4ed3321 100644 --- a/charts/function-mesh-operator/charts/admission-webhook/README.md +++ b/charts/function-mesh-operator/charts/admission-webhook/README.md @@ -1,6 +1,6 @@ # admission-webhook -![Version: 0.2.33](https://img.shields.io/badge/Version-0.2.33-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 0.25.0-rc.2](https://img.shields.io/badge/AppVersion-0.25.0--rc.2-informational?style=flat-square) +![Version: 0.2.34](https://img.shields.io/badge/Version-0.2.34-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 0.25.0](https://img.shields.io/badge/AppVersion-0.25.0-informational?style=flat-square) function mesh admission webhook Helm chart for Kubernetes diff --git a/charts/function-mesh-operator/values.yaml b/charts/function-mesh-operator/values.yaml index b921172eb..be7e60dca 100644 --- a/charts/function-mesh-operator/values.yaml +++ b/charts/function-mesh-operator/values.yaml @@ -11,7 +11,7 @@ installation: namespace: function-mesh-system # operatorImage is Function Mesh Operator image -operatorImage: streamnative/function-mesh:v0.25.0-rc.4 +operatorImage: streamnative/function-mesh:v0.25.0 imagePullPolicy: IfNotPresent imagePullSecrets: [] diff --git a/install.sh b/install.sh index 3f68dbab1..76429aeed 100755 --- a/install.sh +++ b/install.sh @@ -56,7 +56,7 @@ EOF main() { local local_kube="kind" - local fm_version="v0.25.0-rc.4" + local fm_version="v0.25.0" local kind_name="kind" local kind_version="v0.7.0" local node_num=2