364 Commits

Author SHA1 Message Date
Ethan-Merrill
73fe688a43
Add support for stateful functions using the bookie as state storage (#171)
### Motivation

Enables support for using the Pulsar bookies as persistent state storage for functions.

### Modifications

- Added an option to enable/disable using bookies as state storage
- Adds extra server components options to the bookkeeper to enable necessary features for bookies to be used as state storage
- Adds stateStorageServiceUrl to the broker configmap
2023-07-18 21:37:03 -05:00
Tomasz Jegorow
042fd5b6d4
Configure custom topologyKey for podAntiAffinity (#351) 2023-07-12 18:19:49 +03:00
Atkins
79ec5ba333
Fix pod annotations when restartPodsOnConfigMapChange is true (#353)
Signed-off-by: Atkins Chang <atkinschang@gmail.com>
2023-07-12 18:18:48 +03:00
Atkins
b30eb6fff8
Improve HPA (#354)
* Use `autoscaling/v2` if Kubernetes version >= 1.23

Signed-off-by: Atkins Chang <atkinschang@gmail.com>

* Disable replicas when autoscaling enabled

Signed-off-by: Atkins Chang <atkinschang@gmail.com>

---------

Signed-off-by: Atkins Chang <atkinschang@gmail.com>
2023-07-12 18:18:19 +03:00
Brad Shelton
f8ad65066e
To address the function role vs clusterrole issue (#236)
* To address the function role vs clusterrole issue

* making backwards compatable

* updated value.yaml to include limit functions to namespace

* Added documentation to clarify the new attribute

* moved limit_to_namespace under functions.rbac
2023-07-12 18:11:36 +03:00
Lari Hotari
49f4acdf5a
Refactor GitHub Actions CI to a single workflow (#371)
* Refactor GitHub Actions CI to a single workflow

* Handle case where "ct lint" fails because of no chart changes

* Re-order scenarios

* Remove excessive default GC logging

* Bump cert-manager version to v1.12.2

* Use compatible cert-manager version

* Install debugging tools (k9s) for ssh access

* Only apply for interactive shells

* Fix JWT symmetric test

* Fix part that was missing from #356

* Install k9s on the fly when k9s is used

- set KUBECONFIG on the fly for kubectl too
2023-07-11 15:55:35 +03:00
huis
2d646f4efe
Fix PVC selector scope error when bookkeeper uses multiple data volumes (#342)
Fix PVC selector scope error when bookkeeper uses multiple data volumes
2023-07-11 10:03:38 +03:00
Robert Moucha
71450334cf
Fix zookeeper annotations (#348)
Fixed the case when no ZK annotations are set and `zookeeper.restartPodsOnConfigMapChange: true`
helm can not render template
2023-07-11 10:01:54 +03:00
mfuxi
786e182de4
add ingressClassName (#360) 2023-07-11 10:00:45 +03:00
Chris Johnson
90a26b2dc8
fix: proxy should not use priviledged port numbers (#356)
* fix: proxy should not use priviledged port numbers

This fixes issue #335

* fix: making the change backward compatible
2023-07-11 10:00:17 +03:00
Lari Hotari
f43c6f6d9e
Fix GitHub Actions based CI checks which have been failing (#370)
* Upgrade upgrade kind, chart releaser and helm versions

* Disable podMonitory for values-broker-tls.yaml file

- was missing from #317

* Use k8s 1.18.20

* Use ubuntu-20.04 runtime

- k8s < 1.19 doesn't support cgroup v2

* Upgrade to k8s 1.19 as baseline

* Baseline to k8s 1.20

* Set ip family to ipv4

* Add more logging to kind cluster creation

* Simplify duplicate job deletion

* use verbosity flag

* Upgrade to k8s 1.24

* Replace removed tolerate-unready-endpoints annotation with publishNotReadyAddresses

(cherry picked from commit e90926053a2b01bb95529fbaddc8d2ce2cdeec63)

* Use k8s 1.21 as baseline

* Run on ubuntu-22.04

* Use Pulsar 2.10.4
2023-07-10 12:45:37 -07:00
Yuwei Sung
b3c19fd7fc
added arm64 in common_auth.sh (#191) 2023-03-14 15:06:34 +08:00
Michael Marshall
8ad7cf6b65
Remove unnecessary version bump guidance 2022-11-03 23:22:32 -05:00
Michael Marshall
9436d03656
Use GitHub release notes until the pulsar.a.o website hosts them 2022-11-03 23:21:03 -05:00
Michael Marshall
bcfe47ced4
Releases are available at downloads.apache.org 2022-11-03 23:03:39 -05:00
Michael Marshall
e49bd36422
Minor changes to release process 2022-11-03 23:02:04 -05:00
Michael Marshall
4dfb96fb36
Add RELEASE_NOTES.md for 3.0.0 Release (#322)
* Add RELEASE_NOTES.txt

* Add section for upgrade considerations

* Minor fixes

* Add license header

# Motivation

As part of the 3.0.0 release, I've prepared release notes. Please review them and suggest improvements.
2022-11-03 16:22:46 -05:00
Michael Marshall
7bcf1af6e5
Revert "Remove unused license test file"
This reverts commit bcbc674092bf2cf5ad93db181a9bbeb75406fc49.
2022-10-28 14:30:42 -05:00
Michael Marshall
34678b8e1b
Clarify Apache Pulsar 2.10.0 upgrade section name 2022-10-28 14:25:56 -05:00
Michael Marshall
c70a7877eb
Minor wording improvements to release process 2022-10-28 14:19:59 -05:00
Michael Marshall
bcbc674092
Remove unused license test file 2022-10-28 14:18:18 -05:00
Michael Marshall
c8f5e7f9ce
New Release Process (#301)
* Copy release process doc from Apache Airflow

Source: fb741fd872/dev/README_RELEASE_HELM_CHART.md

* Adapt to Apache Pulsar

* Remove old release process notes

* Fix typo

* Apply suggestions from code review

Co-authored-by: tison <wander4096@gmail.com>

* Add sign.sh script for release artifacts

Script is copied from 395ad7110e/dev/sign.sh

* Add some updates (more to might follow)

* Add some more updates to the rest of the release plan

* Fix rat check command

Co-authored-by: tison <wander4096@gmail.com>

Relates to #290

### Motivation

Make the Apache Pulsar Helm Chart release follow ASF rules for voting, and make the helm binary available via dist.apache.org. By following the information in https://issues.apache.org/jira/browse/LEGAL-573 and in the Apache Airflow project https://github.com/apache/airflow/blob/main/dev/README_RELEASE_HELM_CHART.md, I built this new release process. It will likely need some iterative improvement.

### Modifications

* Add a release process that is based on the Apache Airflow release process

### Verifying this change

- [ ] Make sure that the change passes the CI checks.
pulsar-3.0.0 pulsar-3.0.0-candidate-1
2022-10-21 00:33:08 -05:00
Michael Marshall
687060aa27
Chart: Bump version to 3.0.0 2022-10-21 00:26:42 -05:00
Michael Marshall
8072c38ecc
Document Grafana Dashboards to prepare for 3.0.0 release (#321) 2022-10-21 08:24:30 +03:00
Michael Marshall
f4cb7a2c95
Simplify deployment instructions in README (#324)
Fixes #287

### Motivation

The current steps to install the Apache Pulsar Helm Chart include an unnecessary script `scripts/pulsar/prepare_helm_release.sh`. It relies on tooling that has not been maintained and is not a part of the Apache Pulsar project. As such, I propose we remove these references.

Note that one of the reasons we used these scripts historically is to simplify deployment. Without these scripts, we should document what is necessary. I am tracking that work here https://github.com/apache/pulsar-helm-chart/issues/323.
2022-10-21 00:23:32 -05:00
edward.zeng
95c218b218
Fix PodMonitor name conflicts for multiple releases in same namespace (#258)
* Fix PodMonitor name conflicts for multiple releases in same namespace

Signed-off-by: Edward Zeng <jie.zeng@zilliz.com>

* Use pulsar.fullname for PodMonitor name prefix

Signed-off-by: Edward Zeng <jie.zeng@zilliz.com>
Co-authored-by: Michael Marshall <mmarshall@apache.org>

Signed-off-by: Edward Zeng <jie.zeng@zilliz.com>

Fixes #257

### Motivation

Fix PodMonitor name conflicts for multiple releases in same namespace

### Modifications

Use release name instead of hardcode `pulsar.name` for pod monitor name.

### Verifying this change

- [x] Make sure that the change passes the CI checks.
2022-10-20 21:15:16 -05:00
Michael Marshall
d9769a9519
Add missing license headers and .rat-excludes (#319)
* Add missing license headers and .rat-excludes

* Fix .rat-excludes files

### Motivation

As part of our updated release process, we need to make sure that all relevant files have license headers.

### Modifications

* Add license headers formatted appropriately for each file type

### Verifying this change

The follow script shows that the solution is complete:

```shell
$ java -jar ../apache-rat-0.15/apache-rat-0.15.jar . -E .rat-excludes 
Ignored 18 lines in your exclusion files as comments or empty lines.


*****************************************************
Summary
-------
Generated at: 2022-10-20T17:54:42-05:00

Notes: 4
Binaries: 1
Archives: 0
Standards: 92

Apache Licensed: 92
Generated Documents: 0

JavaDocs are generated, thus a license header is optional.
Generated files do not require license headers.

0 Unknown Licenses

*****************************************************
  Files with Apache License headers will be marked AL
  Binary files (which do not require any license headers) will be marked B
  Compressed archives will be marked A
  Notices, licenses etc. will be marked N
  AL    ./.asf.yaml
  AL    ./.rat-excludes
  N     ./LICENSE
  N     ./NOTICE
  AL    ./README.md
  AL    ./Vagrantfile
  AL    ./license_test.go
  AL    ./charts/pulsar/.helmignore
  AL    ./charts/pulsar/Chart.yaml
  N     ./charts/pulsar/LICENSE
  N     ./charts/pulsar/NOTICE
  AL    ./charts/pulsar/values.yaml
  B     ./charts/pulsar/charts/kube-prometheus-stack-41.5.1.tgz
  AL    ./charts/pulsar/templates/_autorecovery.tpl
  AL    ./charts/pulsar/templates/_bookkeeper.tpl
  AL    ./charts/pulsar/templates/_broker.tpl
  AL    ./charts/pulsar/templates/_configurationstore.tpl
  AL    ./charts/pulsar/templates/_helpers.tpl
  AL    ./charts/pulsar/templates/_toolset.tpl
  AL    ./charts/pulsar/templates/_zookeeper.tpl
  AL    ./charts/pulsar/templates/autorecovery-configmap.yaml
  AL    ./charts/pulsar/templates/autorecovery-podmonitor.yaml
  AL    ./charts/pulsar/templates/autorecovery-rbac.yaml
  AL    ./charts/pulsar/templates/autorecovery-service.yaml
  AL    ./charts/pulsar/templates/autorecovery-statefulset.yaml
  AL    ./charts/pulsar/templates/bookkeeper-cluster-initialize.yaml
  AL    ./charts/pulsar/templates/bookkeeper-configmap.yaml
  AL    ./charts/pulsar/templates/bookkeeper-pdb.yaml
  AL    ./charts/pulsar/templates/bookkeeper-podmonitor.yaml
  AL    ./charts/pulsar/templates/bookkeeper-rbac.yaml
  AL    ./charts/pulsar/templates/bookkeeper-service.yaml
  AL    ./charts/pulsar/templates/bookkeeper-statefulset.yaml
  AL    ./charts/pulsar/templates/bookkeeper-storageclass.yaml
  AL    ./charts/pulsar/templates/broker-cluster-role-binding.yaml
  AL    ./charts/pulsar/templates/broker-configmap.yaml
  AL    ./charts/pulsar/templates/broker-hpa.yaml
  AL    ./charts/pulsar/templates/broker-pdb.yaml
  AL    ./charts/pulsar/templates/broker-podmonitor.yaml
  AL    ./charts/pulsar/templates/broker-rbac.yaml
  AL    ./charts/pulsar/templates/broker-service-account.yaml
  AL    ./charts/pulsar/templates/broker-service.yaml
  AL    ./charts/pulsar/templates/broker-statefulset.yaml
  AL    ./charts/pulsar/templates/dashboard-deployment.yaml
  AL    ./charts/pulsar/templates/dashboard-ingress.yaml
  AL    ./charts/pulsar/templates/dashboard-service.yaml
  AL    ./charts/pulsar/templates/function-worker-configmap.yaml
  AL    ./charts/pulsar/templates/keytool.yaml
  AL    ./charts/pulsar/templates/namespace.yaml
  AL    ./charts/pulsar/templates/proxy-configmap.yaml
  AL    ./charts/pulsar/templates/proxy-hpa.yaml
  AL    ./charts/pulsar/templates/proxy-ingress.yaml
  AL    ./charts/pulsar/templates/proxy-pdb.yaml
  AL    ./charts/pulsar/templates/proxy-podmonitor.yaml
  AL    ./charts/pulsar/templates/proxy-rbac.yaml
  AL    ./charts/pulsar/templates/proxy-service.yaml
  AL    ./charts/pulsar/templates/proxy-statefulset.yaml
  AL    ./charts/pulsar/templates/pulsar-cluster-initialize.yaml
  AL    ./charts/pulsar/templates/pulsar-manager-admin-secret.yaml
  AL    ./charts/pulsar/templates/pulsar-manager-configmap.yaml
  AL    ./charts/pulsar/templates/pulsar-manager-deployment.yaml
  AL    ./charts/pulsar/templates/pulsar-manager-ingress.yaml
  AL    ./charts/pulsar/templates/pulsar-manager-service.yaml
  AL    ./charts/pulsar/templates/tls-cert-internal-issuer.yaml
  AL    ./charts/pulsar/templates/tls-certs-internal.yaml
  AL    ./charts/pulsar/templates/toolset-configmap.yaml
  AL    ./charts/pulsar/templates/toolset-rbac.yaml
  AL    ./charts/pulsar/templates/toolset-service.yaml
  AL    ./charts/pulsar/templates/toolset-statefulset.yaml
  AL    ./charts/pulsar/templates/zookeeper-configmap.yaml
  AL    ./charts/pulsar/templates/zookeeper-pdb.yaml
  AL    ./charts/pulsar/templates/zookeeper-podmonitor.yaml
  AL    ./charts/pulsar/templates/zookeeper-rbac.yaml
  AL    ./charts/pulsar/templates/zookeeper-service.yaml
  AL    ./charts/pulsar/templates/zookeeper-statefulset.yaml
  AL    ./charts/pulsar/templates/zookeeper-storageclass.yaml
  AL    ./examples/values-bookkeeper-aws.yaml
  AL    ./examples/values-cs.yaml
  AL    ./examples/values-jwt-asymmetric.yaml
  AL    ./examples/values-jwt-symmetric.yaml
  AL    ./examples/values-local-cluster.yaml
  AL    ./examples/values-local-pv.yaml
  AL    ./examples/values-minikube.yaml
  AL    ./examples/values-no-persistence.yaml
  AL    ./examples/values-one-node.yaml
  AL    ./examples/values-tls.yaml
  AL    ./examples/values-zookeeper-aws.yaml
  AL    ./hack/common.sh
  AL    ./hack/kind-cluster-build.sh
  AL    ./scripts/set-pulsar-version.sh
  AL    ./scripts/cert-manager/install-cert-manager.sh
  AL    ./scripts/pulsar/cleanup_helm_release.sh
  AL    ./scripts/pulsar/common.sh
  AL    ./scripts/pulsar/common_auth.sh
  AL    ./scripts/pulsar/generate_token.sh
  AL    ./scripts/pulsar/generate_token_secret_key.sh
  AL    ./scripts/pulsar/get_token.sh
  AL    ./scripts/pulsar/prepare_helm_release.sh
 
*****************************************************

```
2022-10-20 20:29:09 -05:00
Michael Marshall
a963e736fc
Improve documentation and testing for PodMonitors (#317)
* Imrpove documentation and testing for PodMonitors

* Fix missed references and a typo

### Motivation

Before upgrading to 3.0.0, we want to make sure the kube-prometheus-stack is well documented. 

### Modifications

* Update tests and examples to fully disable `PodMonitors` and the installation of the kube-prometheus-stack CRDs.

### Verifying this change

The current tests will cover these changes.
2022-10-20 17:40:47 -05:00
Michael Marshall
35090ec822
Include LICENSE and NOTICE in distribution 2022-10-20 15:48:07 -05:00
Michael Marshall
f509bc80ea
Add NOTICE file 2022-10-20 15:42:33 -05:00
Michael Marshall
49d345b6a3
Add LICENSE file before distributing source (#318)
### Motivation

In order to update the release process, we need to have a LICENSE file in the root directory. See https://www.apache.org/legal/release-policy.html#license-file and https://www.apache.org/legal/release-policy.html#full-copy-for-each-source-file.

### Modifications

* Copied the LICENSE file from the apache/pulsar repo
2022-10-20 15:39:20 -05:00
Michael Marshall
9324a9a270
Fix bookkeeper metadata init when specifying metadataPrefix (#316)
Fixes #309

### Motivation

Fix the metadataPrefix initialization.

### Modifications

* Fix the script by adding `&& echo`

### Verifying this change

I manually verified that this change works and correctly puts the metadata in the prefixed location.
2022-10-20 15:24:20 -05:00
Claudio Vellage
343ce0527d
Allow to use selectors with volumeClaimTemplates (#286)
* Allow to use selectors with volumeClaimTemplates

* Fixed naming inconsistency, added null value

Co-authored-by: Claudio Vellage <claudio.vellage@pm.me>
Co-authored-by: Michael Marshall <mmarshall@apache.org>

### Motivation

Currently it's not possible to use selectors with volumeClaimTemplates which makes it hard/impossible to bind statically provisioned PVs.

### Modifications

Added (optional) selectors to `volumeClaimTemplates` and documented in values file.

### Verifying this change

- [ ] Make sure that the change passes the CI checks.
2022-10-20 13:46:23 -05:00
Michael Marshall
1e8491aebd
Fix CI by modifying Chart.yaml and updating ct lint command (#315)
### Motivation

Fix the CI lint step by modifying the Chart.yaml and by removing the maintainers validation step.
2022-10-20 13:17:51 -05:00
Michael Marshall
a41fbb2582
Do not require version bump (#314)
* [CI] Do not require version bump when linting

* Fix formatting

### Motivation

With #292, we made the lint CI step require chart version bumps. That is an unnecessary requirement since we have a manual release process. Also, we didn't require it previously.

### Modifications

* Disable chart version bump

### Verifying this change

This is a trivial change.
2022-10-20 00:12:38 -05:00
Samuel Verstraete
8f033bd1a5
allow specifying the nodeSelector for the init jobs (#225)
* allow specifying the nodeSelector for the init jobs

* Use pulsar_metadata.nodeSelector

Co-authored-by: samuel <samuel.verstraete@aprimo.com>

### Motivation

When deploying pulsar to an AKS cluster with windows nodepools i was unable to specify that the Jobs of the initalize release had to run on linux nodes. With the change i can now specify a node selector for the init jobs.

### Modifications

add nodeSelector on pulsar_init and bookie_init

### Verifying this change

- [ ] Make sure that the change passes the CI checks.
2022-10-19 23:41:39 -05:00
Michael Marshall
2410743cdb
[test] Add a consumer to the helm tests (#312)
### Motivation

The current tests only produce a message. This test adds a consumer for the produced message.

### Modifications

* Add new section to the test where we consume the produced message
2022-10-19 23:38:42 -05:00
JiangHaiting
da6ce85c66
Bump 2.10.2 (#310)
### Motivation

Bump Apache Pulsar 2.10.2


### Verifying this change

- [ ] Make sure that the change passes the CI checks.
2022-10-19 22:51:08 -05:00
Michael Marshall
bd00842800
Fix monitoring configuration broken by #299 (#313)
Related to #311

### Motivation

In #299, I updated the values without also updating the test values. As a result, I unintentionally enabled the monitoring stack in the tests and broke some examples. Because we are deploying all resources to a single node. It is possible that we are resource constrained, so I am going to re-disable the monitoring stack.

### Modifications

* Update test cluster configurations to re-disable deploying the monitoring stack
* Update examples with the new configuration

### Verifying this change

- [ ] Make sure that the change passes the CI checks.
2022-10-19 22:50:31 -05:00
Michael Marshall
3ef2d80dec
Upgrade to Cert Manager 1.7.3 (#307)
* Upgrade to Cert Manager 1.10.0

* Fail fast when installing cert manager

* Upgrade to 1.7.3

Here is the relevant documentation for k8s compatibility:
https://cert-manager.io/docs/installation/supported-releases/

### Motivation

The current version is out of date.

### Modifications

* Upgrade from 1.5.4 to 1.7.3

### Verifying this change

Once #306 is merged, the test suite will verify this PR.
2022-10-19 16:29:19 -05:00
Michael Marshall
42ce7caa55
Update how to configure external zookeeper servers (#308)
### Motivation

In #269, we added a way to configure external zookeeper servers. However, it was added to the wrong section of the zookeeper config. The `zookeeper.configData` section is mapped directly into the zookeeper configmap.

### Modifications

Move `zookeeper.configData.ZOOKEEPER_SERVERS` to `zookeeper.externalZookeeperServerList`

### Verifying this change
This is a cosmetic change on an unreleased feature.
2022-10-19 16:28:33 -05:00
tison
fd71b46b1a
Replace handmade lint script with official action (#292)
* replace homemade release script with official action

Signed-off-by: tison <wander4096@gmail.com>

* bundle helm/chart-releaser-action

Signed-off-by: tison <wander4096@gmail.com>

* update .asf.yaml

Signed-off-by: tison <wander4096@gmail.com>

* fix helm/chart-testing-action is not allowed

Signed-off-by: tison <wander4096@gmail.com>

* try azure/setup-helm is allowed

Signed-off-by: tison <wander4096@gmail.com>

* Revert "try azure/setup-helm is allowed"

This reverts commit 7ee6fc0b3d4584127568fe607732b9c3aa70f031.

* replace handmade lint script with official action

Signed-off-by: tison <wander4096@gmail.com>

Signed-off-by: tison <wander4096@gmail.com>
2022-10-19 15:34:22 -05:00
Michael Marshall
7f23af26b7
Replace monitoring solution with kube-prometheus-stack dependency (#299)
* Replace monitoring solution with kube-prometheus-stack dependency

* Enable pod monitors

* Download necessary chart dependencies for CI

* Actually run dependency update

* Enable missed podMonitor

* Disable alertmanager by default for feature parity

Related issues #294 #65

Supersedes #296 and #297

### Motivation

Our helm chart is out of date. I propose we make a breaking change for the monitoring solution and start using the `kube-prometheus-stack` as a dependency. This should make upgrades easier and will let users leverage all of that chart's features.

This change will result in the removal of the StreamNative Grafana Dashboards. We'll need to figure out the right way to address that. The apache/pulsar project has grafana dashboards, but they have not been maintained. With this added dependency, we'll have the benefit of being able to use k8s `ConfigMap`s to configure grafana dashboards.

### Modifications

* Remove old prometheus and grafana configuration
* Add kube-prometheus-stack chart as a dependency
* Enable several components by default. I am not opinionated on these, but it is based on the other values in the chart.

### Verifying this change

This is a large change that will require manual validation, and may break deployments. I propose this triggers a helm chart 3.0.0 release.
2022-10-19 10:23:08 -05:00
Michael Marshall
62a0d2b8a4
Use cert-manager to generate certs for tests (#306)
* Use cert-manager to generate certs for tests

* Install Cert-Manager in test env

### Motivation

Currently, we use hard coded certificates for the tests. Instead, we can use Cert Manager to generate the certificates. The primary benefit of this change is that it ensure we're testing the cert manager integration.

### Modifications

* Remove `.ci/tls` directory since we no longer need these certs.
* Remove `scripts/pulsar/clean_tls.sh` (it wasn't used)
* Remove `scripts/pulsar/upload_tls.sh` since we are not uploading any certs
* Update the `helm.sh` test script
* Update the `.ci/clusters` configurations to generate the relevant cert manager manifests

### Verifying this change

- [ ] Make sure that the change passes the CI checks.
2022-10-19 10:22:22 -05:00
Yuwei Sung
816d88c942
added pdb version detection (#260)
* added pdb version detection

* refresh

* Update bookkeeper-pdb.yaml

update the capabilities syntax

* Update broker-pdb.yaml

update capability syntax

* Update proxy-pdb.yaml

update capability version syntax

* Update zookeeper-pdb.yaml

update capability version syntax

* Update zookeeper-pdb.yaml

fix typo

* Update bookkeeper-pdb.yaml

Co-authored-by: Marvin Cai <cai19930303@gmail.com>

Fixes pod disruption budget version warning

### Motivation

PDB policy api version, v1beta1 is deprecated in k8s1.21+ (not available in 1.25+).

### Modifications

zookeeper-pdb, proxy-pdb, broker-pdb and bookkeepr-pdb templates are modified.  If k8s api-resources container policy/v1, the *-pdb.yaml will generate respective apiVersion. 

### Verifying this change

- [ ] Make sure that the change passes the CI checks.
2022-10-18 22:52:11 -05:00
Rajan Dhabalia
89f28bca9c
Support mechanism to provide external zookeeper-server list to build global/configuration zookeeper (#269)
* Support mechanism to provide external zookeeper-server list to build global/configuration zookeeper

* Add external zk example

* add external zk list into values.yaml

Fixes #268

### Motivation
Right now, [chart dynamically](https://github.com/apache/pulsar-helm-chart/blob/master/charts/pulsar/templates/zookeeper-statefulset.yaml#L140) creates zk cluster with zk pods initialized in the same namespace. However, for global/configuration zookeeper, user requires to build zk clusters with pods deployed in different namespaces. Therefore, user needs a mechanism to pass an external list of zk-servers to the chart and build zk-cluster with pods across different namespaces.

### Modification
- Chart should be considering zk-value's configuration for external zookeeper and generate zk-configuration file with appropriate zk-server list and unique id of that zookeeper.

This PR sets `ZOOKEEPER_SERVERS` value provided by user and also sets override-value flag which will be used by [generate-zookeeper-config.sh](https://github.com/apache/pulsar/blob/master/docker/pulsar/scripts/generate-zookeeper-config.sh) to override external zk list in config file and assign appropriate id to the host.

https://github.com/apache/pulsar/pull/15987 fixes [generate-zookeeper-config.sh](https://github.com/apache/pulsar/blob/master/docker/pulsar/scripts/generate-zookeeper-config.sh) changes.


### Result
- User can add `ZOOKEEPER_SERVERS` string into `zookeeper.configData` in [Values.yaml](https://github.com/apache/pulsar-helm-chart/blob/master/charts/pulsar/values.yaml#L385) file to override external zk-server list.
2022-10-18 17:41:43 -05:00
Stepan Mazurov
1bcf255e12
feat(certs): use actual v1 spec for certs (#233)
Co-authored-by: Stepan Mazurov <smazurov@quantummetric.com>

### Motivation

In #204, api version of the cert resources was updated to v1. This was insufficient because `v1` has different spec from `v1alpha1` 

This MR finishes the work that #204 and @lhotari started.

### Modifications

Changed the spec of certs to match v1 cert manager spec.

### Verifying this change

- [ ] Make sure that the change passes the CI checks.
2022-10-18 15:40:43 -05:00
Penghui Li
8f1ca065b3
Bump Apache Pulsar 2.10.1 (#274)
* Bump Apache Pulsar 2.10.1

* Do not bump .Chart.version

* Remove unnecessary jq download that was failing with Permission Denied

Co-authored-by: Michael Marshall <mmarshall@apache.org>
2022-10-18 13:16:51 -05:00
Michael Marshall
58cd43fe8b
Remove '|| yes' in bk cluster init script (#305) 2022-10-18 18:46:07 +03:00
Michael Marshall
48501ebe84
Allow bk cluster init to restart on failure (#303)
### Motivation

This is essentially the same as https://github.com/apache/pulsar-helm-chart/pull/176. Without this change, an init pod can fail and be in `Error` state even though the second pod succeeded. This will prevent misleading errors.

### Modifications

* Replace `Never` with `OnFailure`

### Verifying this change

This is a trivial change.
2022-10-17 17:59:05 -05:00