- [Image] Update runner image base to alpine (#747)
- [Image] Install gcompat for Pulsar 2.10.x (#756)
- [Controller] Add liveness in backend config (#767)
- [Controller] Change type of TerminationGracePeriodSeconds to
*int64
(#778)
For the full changes in this release, see the full changelog: v0.21.6...v0.22.0
- [Controller] Add BackendConfig crd to provider cluster wide and namespace wide configs (#734)
- [Controller] Remove initial ram percentage (#724)
- [Image] Update versions of golang and alpine (#743)
- [Controller] Add exit_on_oom=tru (#744)
For the full changes in this release, see the Pull Requests
- [Controller] Delete HPA when it's disabled (#726)
- [Helm Charts] Add annotation to exclude the webhook port from Istio proxying (#728)
- [Controller] Use numeric uid:gid in Dockerfile to support Tanzu's PSP (#720)
- [Release] Fix redhat api changes for bundle release (#719)
- [CI] Use /dev/sdb1 to save docker's data in CI (#723)
For the full changes in this release, see the Pull Requests
- [Controller] Optimize jvm parameters (#708)
- [Controller] Avoid NPE error when convert HPA V2 to V2beta2 (#713)
- [Controller] Use
bash -c
instead ofsh -c
(#714)
For the full changes in this release, see the Pull Requests
- [Controller] Support generic runtime (#688)
- [Controller] Set -Xms and -XX:UseG1GC for java runtime (#698)
- [Controller] Allow memory requests to be equal as the memory limits (#692)
For the full changes in this release, see the Pull Requests
- [Controller] Provides the health and reconcile metrics (#689)
- [Controller] Support very long resource name (#654)
For the full changes in this release, see the Pull Requests
- [Controller] Decide to whether use pulsarctl based on image name (#669)
- [CRD] Remove connector catalog CRD (#672)
- [Controller] Support using sidecar to routing pod logs to Pulsar topics (#673)
- [Controller] Fix yaml format log config (#681)
- [Controller] Use regex to check whether runner image has pulsarctl (#682)
- [Controller] Do not create filebeat container when log topic is not set (#683)
For the full changes in this release, see the Pull Requests
- [Controller] Add support for autoscaling/v2 (#658)
- [Runner Image] Fix python runner image with pulsar-client==3.2.0 (#660)
- [CRD][Controller] Support YAML format for log4j (#667)
- [CI] Upgrade to autoscaling/v2 for HPA (#668)
- [Controller] back support autoscaling/v2beta2 (#675)
- [Controller] Fix yaml log config filename (#676)
- [Controller] Use correct value for resources in FunctionDetails (#677)
For the full changes in this release, see the Pull Requests
- [Runner Image] Support Pulsar 3.0 (#625)
- [Helm Charts] Allow the
function-mesh-secrets-webhook
Helm chart to be deployed into non-default Kubernetes namespaces (#628) - [Controller] Support the
CleanupSubscription
configuration (#622) - [CI] Trigger the release action when the tag with the prefix
v
is pushed (#631) - [CRD] Support the
PersistentVolumeClaimRetentionPolicy
configuration (#633) - [Runner Image] Release runner images with
pulsarctl
(#630) - [Controller] Sync to the latest Pulsar Function Proto files (#637)
- [Controller] Upgrade to Golang 1.20.4 (#641)
- [Controller] Prevent cleaning up resources that are managed by the Function Mesh Worker service (#640)
- [Controller] Prevent updating unmodifiable fields of StatefulSet when reconciling (#639)
- [CI] Allow release the bundle to operatorhub and openshift catalog via Github Actions (#642)
For the full changes in this release, see the Pull Requests.
For the full changes in this release, see the Pull Requests.
- [Controller] Ensure the Pod security standard follows restricted specifications (#574)
- [Controller] Fix the issue that the
fsGroup
does not work when a volume mount uses an existing directory as a subpath (#577) - [Controller] Add the default value for
minReplicas
andreplicas
(#582) - [Controller] Introduce the
ConnectorCatalog
CRD (#585, #610) - [Controller] Allow passing Function Mesh Operator configurations through the environment variables (#587)
- [Controller] Allow scaling a function or connector to zero when HPA is disabled (#590)
- [Controller] Fix the issue that
SubscriptionType
is not handled properly (#592) - [Controller] Fix the issue that
DeadLetterTopic
is set to an incorrect value in some specific cases (#595) - [Controller] Fix the issue that
MaxPendingAsyncRequests
is not working (#599) - [Controller] Fix the issue that the liveness probe is not working (#604)
- [Controller] Support configuring multiple PVs to a CR (#605)
- [Controller] Introduce
ShowPreciseParallelism
to CRDs (#607) - [Controller] Make
Limits.CPU
optional (#608) - [Controller] Move
webhook
intopkg
(#613) - [Runner Image] Remove unused dependencies from runner images (#576)
- [CVE] Resolve vulnerabilities and bump dependencies (#568, #583, #600)
For the full changes in this release, see the Pull Requests.
- [Runner Images] Copy /pulsar/pulsar-client only when it exists (#569)
- [CVE] Resolve vulnerabilities (#571)
For the full changes in this release, see the Pull Requests.
- [Controller] Use wget for http/https package in downloader container (#556)
- [Controller] Add exclusivity to the BuiltinHPARule (#549)
For the full changes in this release, see the Pull Requests.
- [Controller] Support for Pulsar Function health check (#538)
- [Controller] Fix operator vulnerability (#550)
- [Controller] Add an overall condition field to Mesh resource (#546)
- [Controller] Bump pulsarctl image to 2.10.2.3 (#548)
- [Controller] Add a validation webhook for the
spec.pulsar
connection configs (#534) - [Bundle] Address openshift security vulnerabilities (#536)
- [Sample] Update the FunctionMesh examples to use the package with the Docker image (#544)
- [Sample] Change the example function to make the function works with the documentation (#542)
- [Sample] Add a Pulsar IO Connector sample (#541)
- [Makefile] change
truncate
to>
(#530) - [Test] Validate the init container feature with legacy auth and tls config (#532)
- [Test] Enable trivy scanner (#527)
For the full changes in this release, see the Pull Requests.
- [Controller] Upgrade the k8s dependency libraries to v1.22.*. (#494)
- [Controller] Add batch source config (#496)
- [Controller] Fix python runner oauth2 (#506)
- [Controller] Support vpa (#479)
- [Controller] Enable stateful configs to connectors (#510)
- [Controller] 503: temporarily fix the protobuf conflict in run command (#512)
- [Controller] Resolve the namespace conflict of protocol buffers package (#517)
- [Controller] Add a flag to enable/disable downloader (#515)
- [Controller] Add java opts (#484)
- [Controller] Fix legacy authSecret and tlsSecret error (#523)
- [CRD] Add finalizers to RBAC (#485)
- [CRD] Migrate ClusterRole from v1beta1 to v1 (#492)
- [CRD] Upgrade OLM operator capability level to "Full Lifecycle" (#518)
- [CRD] Reserve unknown fields for batchSourceConfig (#513)
- [Doc] Add readme docs to helm chart (#497)
- [Makefile] Adopt openshift olm annotation (#488)
- [Test] Fix release bug (#520)
- [Test] Change e2e to pull_request_target trigger type (#519)
For the full changes in this release, see the Pull Requests.
- [CVE] Resolve vulnerabilities (#478)
- [Test] Remove secret data in CI workflows (#477)
- [Test] Migrate e2e tests to skywalking-e2e-infra action (#476)
- [Controller] Add client for FunctionMesh (#473)
- [Controller] Use init container to download packages and functions (#411)
- [Controller] Fix logging window function (#481)
For the full changes in this release, see the Pull Requests.
- [Test] Add integration tests for Pulsar using OAuth2 authentication (#459)
- [Controller] Support OAuth2 authentication for Pulsar (#463)
- [Controller] Support log rotation (#417)
- [Controller] Rename the metrics port name to make Istio compatible (#466
- [Controller] Improve the stability of autoscaling when HPA is enabled (#450)
- [Controller] Support Pulsar window function (#460)
- [Controller] Improve Function Mesh labels (#451)
- [Runner Images] Make runner images use different Java versions based on the Pulsar versions (#469)
For the full changes in this release, see the Pull Requests.
- [Test] Add tests for package download (#429)
- [Test] Refine the test cases of the sinks, sources, and Crypto functions (#435)
- [Test] Use cert-manager v1.8.2 for tests (#433)
- [Helm Charts] Add the handle logic for Function Mesh to clean up orphaned subcomponents (#431)
- [Controller] Support setting the logging levels (#445)
- [Controller] Update the CSV for OpenShift (#417)
- [Controller] Add the sky-walking workflow for the Pulsar cluster enabled with the self-signed TLS certificate (#439)
- [Controller] Add a limit to the resource name (#437)
For the full changes in this release, see the Pull Requests.
- [Makefile] Add
kustomize
beforecrd
in therelease
command in Makefile (#395) - [Makefile] Remove
helm-crds
from therelease
command in Makefile (#396) - [Makefile] Fix some small typos in README and Makefile (#423)
- [Test] Fix failed actions to wait for the controller POD ready in Github Action (#406)
- [Test] Add the
paths-ignore
configuration to allow changing some files without triggering the CI test workflow. (#410) - [Test] Update the CI test workflow (#420)
- [Test] Add the
make e2e
command for E2E tests based on SkyWalking Infra E2E (#422) - [Helm Charts] Remove invalid caBundle in webhook patches (#398)
- [Helm Charts] Improve tools for generating helm chart templates (#409)
- [Controller] Update the codeowners (#407)
- [Controller] Fix comments on the Dockerfile (#405)
- [Controller] Remove useless omitempty (#402)
- [Controller] Support mounting secrets to provide sensitive information to Function Mesh (#414)
- [Controller] Allow key-value environment variable passthrough (#424)
- [Controller] Use
ctrl.CreateOrUpdate
to determine whether a resource should be updated or created (#427)
For the full changes in this release, see the Pull Requests.
- [Helm Charts] Support deploying the of webhook-enabled operator through Helm Charts (#319)
- [Controller] Support converting memory values to a decimal format (#375)
- [Controller] Support specifying an object as an unmanaged object (#376, #377)
- [Controller] Fix the Python runner Protobuf version (#379)
- [Controller] Pass
LeaderElectionNamespace
when running the Function Mesh operator outside of a Kubernetes cluster (#382)
For the full changes in this release, see the Pull Requests.
- [Helm Charts] Release the FunctionMesh operator to helm charts repository (#356)
- [Controller] Support stateful functions for Pulsar Functions (#325)
- [Controller] Migrate to golang 1.18 (#366)
For the full changes in this release, see the Pull Requests.
- [Helm Charts] Support more controller manager parameters for Helm charts (#339)
- [Helm Charts] Fix Helm charts installation issues (#347), (#346), (#345), (#344)
- [Helm Charts] Support namespace configurations for Helm charts (#327)
- [Controller] Apply the Istio service port name convention to services (#343)
- [Controller] Fix the Webhook service (#341)
- [Controller] Move
apiextensions.k8s.io/v1beta1
toapiextensions.k8s.io/v1
(#328) - [Controller] fix service
controller-manager-metrics-service
wrong selector (#333) - [Controller] expose more parameters for manager (#329)
- [Controller] add controller config file (#322)
- [Controller] Add annotation to exclude the webhook port from Istio proxying (#321)
- [OLM] Increase resource limit for manager (#324)
- [Runner Images] Verify Pulsar 2.10 (#336)
- [Runner Images] Bump sample dependencies (#317), (#318)
- [Test] Bump versions for the test script toolsets (#334)
- [Test] Remove unused steps from the test scripts (#331)
- [Controller] Remove unused
CAP_FOWNER
Capability from SecurityContext (#313) - [Controller] Fix Json marshal nil to
"null"
and break FunctionDetails (#312) - [Controller] Sync function, source, or sink configurations to the Pod when they are updated. (#262)
Action required: We have moved the Function Mesh Worker service into a separate repository streamnative/function-mesh-worker-service. Therefore, the function-mesh
repo will not include releases of the Function Mesh Worker service.
- [Runner Images] Make runner images rootless (#278)
- [Runner Images] Simplify the runner image layers (#292)
- [Controller] Support CRD validation with WebHook (#238, #299)
- [Controller] Support
EnvironmentBasedSecretsProvider
as the default secret provider (#295) - [Controller] Provide the default
SecurityContext
to run Pulsar Functions and connectors in the rootless mode (#294) - [Function Mesh Worker service] Support customizing runner images (#291)
- [Function Mesh Worker service] Fix the default value for
ForwardSourceMessageProperty
(#300) - [Function Mesh Worker service] Use Pulsar Package Management Service as the backend and redirect uploading JAR requests to the backend (#308)
- [Function Mesh Worker service] Move the Function Mesh Worker service into a separate repository (#1)
- [Function Mesh Worker service] Support
secretsMap
on branch-2.8 (#21)
Note
From this release, the release note will not contain any changes to the
function-mesh-worker-service
repository.
- [Controller] Update to Pulsar 2.8 Function's proto files (#274)
- [Function Mesh Worker service] Support custom
ServiceAccountName
andDefaultServiceAccountName
(#276) - [Controller] Fix the issue that HPA does work as expected on Sink and Source resources (#281)
- [Function Mesh Worker service] Clean up temporarily downloaded files (#282)
- [Function Mesh Worker service] Fix the resource convert exception with the Kubernetes Client (#286)
- [Controller] Added function-mesh labels to Service and HPA (#287)
- [Controller] Bump to Pulsar 2.8.1 (#288)
- [Function Mesh Worker service] Add
typeClassName
in the source and sink connector definition (#247) - [Test] Add integration tests for Function Mesh Worker service (#246)
- [Controller] Use untyped YAML configuration as function or connector configuration (#233)
- [Controller] Enable source connector to set
ForwardMessageProperty
(#250) - [Runner image] Find the issue that the Python runner image cannot be built based on the latest Pulsar image (#253) (#254)
- [controller] fix package download path not same as the executing command path (#256)
- [controller] support metrics based HPA by upgrade apis to k8s.io/api/autoscaling/v2beta2 (#245)
- [Controller] Fix misuse of Kubernetes namespace in Controller (#259)
- [Controller] Support downloading the package with authentication or TLS (#257)
- [Function Mesh Worker service] Support creating a function with the package URL (#261)
- [Test] Add integration tests for Pulsar package management service (#268)
- [Codebase] Remove the vendor folder in the codebase (#267)
- Move the Function runner image to Java 11 to support Pulsar 2.8.0. (#202)
- Fix the value of the
MaxReplicas
in Function Mesh Worker service. (#212) - Update the observation logics of the sinks and sources. (#217)
- Support Pulsar Functions and connectors (sinks and sources) status API in Function Mesh Worker service. (#220) (#224) (#225)
- Support setting the service account name for running Pods. (#226)
- Fix the NPE that is generated when the
AutoAck
option is not set. (#234) - Fix the issue that the Function Mesh worker service gets status with a fault pod. (#239)
- Remove the
logTopic
option from source and sink CRDs. (#242) - Fix the observation logic of the service name. (#230)
- Bump Pulsar to version 2.8.0. (#240)
- Remove descriptions in CRDs. (#150)
- Refactor CI integration tests. (#148)
- Support custom label with worker service. (#125)
- Fix misuse between pulsar's namespace and k8s namespace. (#125)
- Support plugin authn & authz with worker service. (#125)
- Split TLS and Auth parameters. (#152)
- Better exception log with worker service. (#154)
- Rename pulsar cluster's configmap name postfix to
function-mesh-config
. (#157) - Fix requested resources not equals to the limit resources in worker service. (#156)
- Fix de-register functions/sinks/sources with worker service. (#159) (#168)
- Add
extraDependenciesDir
to Java runtime. (#155) - Load auth & TLS from secret. (#160)
- Support
volumeMounts
in worker service. (#158) - Dont assign default zero value to
maxReplicas
. (#161) - Support
extraDependenciesDir
with worker service. (#162) - Support config
typeClassName
with worker service. (#162) - Remove max replicas to avoiding create hpa with worker service. (#162)
- Use project-specified service account for function mesh operator. (#163)
- Replace builtin prefix with worker service. (#165)
- Avoid override jar and location value if
extraDependenciesDir
specified. (#166) - Add
olm.skipRange
to allow OLM upgrades. (#167) - Add resource limit configs in worker service. (#171)
- Add API access and Jar uploading configs in worker service. (#169)
- Fix resource validation in worker service. (#172)
- Use hash for resource object name. (#173)
- Allow config
ownerReference
on K8S resources created by worker service. (#174) - Support filter tenant and namespace. (#176)
- Do not generate retry details or
receiverQueueSize
in the command by default. (#184) - make
CustomRuntimeOptions
optional in worker service. (#179) - Fix python runner build failed with Pulsar 2.8.0. (#185)
- Support CRD installation with helm charts. (#186)
Action required: Users to manage functions with mesh worker service
, should notice that we changed custom parameters from --user-config
to --custom-runtime-options
, in order to support passing custom parameters from pulsar-admin
APIs for both functions and connectors.
- Change K8S Api group/domain to
compute.functionmesh.io
. (#118) - Add custom Pod image and image pull policy. (#104)
- Add runner base image, and Java, Python, Golang runner image based on runner base. (#95)
- Add KeyBased Batcher support for Java Functions in Function Mesh. (#112)
- Allow user to specify
typeClassName
for bothInput
andOutput
topics. (#133) - Change
Java-Proxy
toMesh Worker Service
. (#138) - Support OLM bundle. (#119)
- Support manage connectors with
pulsar-admin
andMesh Worker Service
. (#126) - Add migration tools to let user migrate existing Pulsar Functions to Function Mesh. (#80)
- Add example function image. (#144)
- NPE fix when create Function CRD. (#109)
- Bump k8s client dependency to 10.0.1. (#121)
- Runner images on Apache Pulsar 2.7.1