51 Commits

Author SHA1 Message Date
Lari Hotari
d09ab8c4a7
Upgrade to Pulsar 4.0.1 image (#557) 2024-12-05 11:26:21 -08:00
Lari Hotari
07689860f6
Fix Oxia config so that it includes a list of all pods in the statefulset (#553)
* Fix Oxia config so that it includes a list of all pods in the statefulset

* Test Oxia with 3 replicas since some issues only come up with more nodes

* Make internal name not a fqdn

* Fix issue with insufficient cpu requests in CI
2024-11-22 05:54:11 -08:00
Yuwei Sung
c6ce11a9b7
Add support for using Oxia as the metadata store for Pulsar and BookKeeper (#544)
Co-authored-by: Lari Hotari <lhotari@apache.org>
2024-11-21 16:52:20 -08:00
Lari Hotari
d877fc3312
Use Pulsar 4.0.0 image, bump chart version to 3.7.0, kube-prometheus-stack to 65.x (#542)
* Use Pulsar 4.0.0 image, bump chart version to 3.7.0

* Bump kube-prometheus-stack to 65.x.x

* Remove testing with latest and test with previous LTS version

- run kube-prometheus-stack test with previous LTS version since
  the older chart version doesn't support Pulsar 4.0.0 image

* Fix passing "--values" to helm command

* Move ci runner config to a script

* Attempt to fix pulsar-manager-cluster-initialize
2024-10-29 15:29:27 -07:00
Lari Hotari
9e499db308
Test with 3.3.2 image (#541) 2024-10-18 00:06:49 -07:00
Lari Hotari
7675e4270d
Test compatibility with Pulsar 3.3.1 (#515) 2024-08-01 12:46:21 -07:00
Lari Hotari
9db0cccaca
Make zookeeper healthchecks compatible with Alpine's busybox nc (#504)
* Make zookeeper healthchecks compatible with Alpine's busybox nc

* Test Pulsar 3.3.0 image

* Use 127.0.0.1 instead of localhost in zookeeper healthchecks

- Alpine nc fails if "localhost" is used.
  - perhaps it defaults to use IPv6?

* Disable testing with Pulsar 3.3.0 image until 3.3.1 is released

- the image needs "apk add bind-tools" since busybox nslookup isn't compatible with kubernetes
2024-06-08 08:52:06 +03:00
Martin
347326e0c3
Fix pulsar-manager persistence (#485)
- only setup environment in pulsar manager if broker is deployed
- fix indent
- enable persistence for manager and move configs around
2024-04-03 21:28:46 -07:00
Lari Hotari
88638d6b66 Increase timeouts in CI
- metallb timeout from 90s to 120s
- chart installation timeout from 300s to 360s
2024-04-02 10:14:09 +03:00
Lari Hotari
cc0a1acf22
Disable functions by default in values.yaml (#483) 2024-03-26 23:17:40 +01:00
Martin
89c5987b17
Bugfix/pulsar manager init (#463)
* add some more logs to the pulsar manager test

* fix admin secret "double-encoding"

* make pulsar-manager-cluster-initialize.yaml "rerunnable"
2024-02-22 17:37:25 +02:00
csthomas1
cb269bbaf3
Feature/pulsar manager v0.2.0 with jwt setup admin account creation (#219)
* Added support for JWT secretref and key volume mount. Added admin user auto-creation.

* Removed variables accidentally re-added and comments no longer relevant

* Enabling pulsar manager test w/ manager-admin superuser for symmetric and asymmetric jwt tests

* Added verification of communication with broker to ci test-pulsar-manager

* Fixing error on line 115 of helm.sh

* More fixes

* Adding echo of envs and tenants

* Fixing LOGIN_JSESSIONID variable name
2024-02-21 04:25:23 -08:00
Martin
d0b784a953
Feature/pulsar manager initialize (#457)
* add better pulsar manager integration and init along with tests & docs

* fix pulsar manager startup args

* update pulsar manager service to ClusterIP + remove duplicate
2024-02-14 10:13:54 -08:00
Lari Hotari
1f20887f09
Fix kubeconform check and improve it (#456)
- do "helm repo add" for the prometheus-community repo
- run checks for all k8s versions between 1.21.0-1.29.0
2024-02-13 01:43:16 -08:00
Lari Hotari
72a8fb6b3e
Upgrade kube-prometheus-stack to 56.x.x version (#445)
* Upgrade to kube-prometheus-stack 56.x.x

* Add CI test case for kube-prometheus-stack upgrade

* Add "--force-conflicts" flag
2024-01-26 03:07:10 -08:00
Lari Hotari
89602c39e2 Improve functions testing logging 2024-01-17 18:18:32 +02:00
Lari Hotari
e6ccd93d4f
Test Pulsar Functions in CI (#434) 2024-01-17 04:12:37 -08:00
Lari Hotari
a8c7745b3e
Add testing of upgrading of latest released chart version to CI (#432)
* Add upgrade test to CI

- install latest released chart version and then upgrade to the local chart version

* Add metallb for loadbalancer support so that "--wait" will work

* Improve script logging

* produce messages with old version of pulsar and consume with new version

* Add 10 second delay

* Remove duplication

* Improve logging

* Fix quotes

* Before trying produce-consume test, verify that the Admin API is available

* Add 2 more upgrade scenarios: TLS & PSP
2024-01-16 09:16:16 -08:00
Lari Hotari
f20756abb8
Support configuring "proxyRoles" in broker (#430)
* Add support for proxyRoles

* Test produce and consume via Pulsar proxy
2024-01-16 04:48:58 -08:00
Lari Hotari
14c048ee72
Share common parts of the values files used in CI (#415)
* Share common parts of the values files used in CI

* Fix ct-lint
2023-12-21 07:43:25 -08:00
Frank Kelly
0b2d9b4d5d
Decouple Service account creation from PodSecurityPolicy (#387)
* Proposal: service accounts creation should be decoupled from PodSecurityPolicy.

* Rename *-rbac.yaml to *-psp.yaml and move service account to *-service-account.yaml

* Test with psp enabled

Co-authored-by: Lari Hotari <lhotari@apache.org>
2023-12-21 04:40:54 -08: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
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
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
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
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
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
6a00845670
Remove GitHub Action Workflows that release the chart (#300)
Relates to: https://github.com/apache/pulsar-helm-chart/issues/290

### Motivation

We should not use GitHub Actions to release the helm chart. As such, we can remove the relevant workflow code from this repo while we build the relevant process to officially release the helm chart.

The main risk with this kind of change is that we won't have a way to "release" the chart. However, it is relevant to point out that we have not had any official releases of the chart given that the PMC has not been voting on the releases. I think we need to prioritize fixing this process as a community.

### Modifications

* Remove all scripts and configuration files that enabled GitHub Actions to release the helm chart.

### Verifying this change

This is a trivial change.
2022-10-17 14:39:04 -05:00
Qiang Zhao
465d1726e2
Bump Apache Pulsar version to 2.9.3 (#277) 2022-07-18 23:24:46 +08:00
Li Li
0429adb3d2
[Build] Publish charts to apache/pulsar-site branch asf-site-next (#264) 2022-05-12 11:09:14 +08:00
ran
cee3fcfe56
Bump version to 2.9.2 (#255)
* Bump version to `2.9.2`

* Because the latest Pulsar image is based on Java 11, some JVM param for printing GC information has been abandoned, change to use the new JVM param. refer to https://docs.oracle.com/en/java/javase/11/tools/java.html#GUID-BE93ABDC-999C-4CB5-A88B-1994AAAC74D5 and https://issues.redhat.com/browse/CLOUD-3040.

original param | new param
--|--
`-XX:+PrintGCDetails` | `-Xlog:gc*`
`-XX:+PrintGCApplicationStoppedTime` | `-Xlog:safepoint`
`-XX:+PrintHeapAtGC` | `-Xlog:gc+heap=trace`
`-XX:+PrintGCTimeStamps` | `-Xlog:gc::utctime`
* remove JVM param `-XX:G1LogLevel=finest`
2022-04-11 15:33:29 +08:00
Lari Hotari
3918ee36f0
[Build] Revert chart index publishing to new website (#234)
- publish to the old website location, apache/pulsar , branch asf-site
2022-02-17 12:56:34 -08:00
Lari Hotari
5b90c5195c
[Build] Publish charts to apache/pulsar-site branch asf-site-next (#232)
- also use shallow cloning
2022-02-17 07:46:45 +02:00
Lari Hotari
dc97bd4ac6
[CI] Tolerate errors when collecting k8s logs in CI (#217)
- The log collection failed after a command failed.
- tolerate errors
2022-01-26 14:50:48 -06:00
Lari Hotari
d3e7a7e6c9
[CI] Fix issue with k8s log collection (#216)
- slash needs to be replaced with underscore
2022-01-26 20:49:06 +02:00
Lari Hotari
0093f91410
[CI] Collect and upload k8s logs on failure (#215) 2022-01-26 19:43:49 +02:00
Lari Hotari
90933d508d
[CI] Show status and logs for metadata job in CI logs (#207) 2022-01-20 16:03:28 +02:00
Lari Hotari
7219a37065
Fix chart releaser command which uses docker image (#199) 2022-01-12 12:45:58 +02:00
Lari Hotari
46689ab30d
[CI] Upgrade k8s to 1.18 and also upgrade helm, kind & chart releaser versions (#192) 2022-01-10 22:57:58 +02:00
Lari Hotari
d3589b1c82
[CI] Improve logging in CI scripts and add timeouts (#195)
- show events every 15 seconds
- dump logs every 5 minutes
- dump logs when timeouting
2022-01-04 17:24:28 +02:00
Lari Hotari
9b672379dd
[CI] Improve change detection by reusing solution from apache/pulsar (#194)
* [CI] Improve change detection by reusing solution from apache/pulsar

* Fix verify release
2022-01-04 11:40:40 +02:00
Jean Helou
6c9856a1af
Use .Release.Namespace by default to handle namespaces (#80)
It remains possible to override the current release namespace by setting
the `namespace` value though this may lead to having the helm metadata
and the pulsar components in different namespaces

Fixes #66

### Motivation

Trying to deploy the chart in a namespace using the usual helm pattern fails for example
```
kubectl create ns pulsartest
helm upgrade --install pulsar -n pulsartest apache/pulsar
Error: namespaces "pulsar" not found
```
fixing that while keeping the helm metadata and the deployed objects in the same namespace requires declaring the namespace twice 
```
kubectl create ns pulsartest
helm upgrade --install pulsar -n pulsartest apache/pulsar --set namespace=pulsartest
Error: namespaces "pulsar" not found
```
This is needlessly confusing for newcomers who follow the helm documentation and is contrary to helm best practices.

### Modifications

I changed the chart to use the context namespace `.Release.Namespace` by default while preserving the ability to override that by explicitly providing a namespace on the commande line, with the this modification both  examples behave as expected
 
### Verifying this change

- [x] Make sure that the change passes the CI checks.
2020-12-03 19:32:05 -08:00
Sijie Guo
669af788ff
Fix "unknown apiVersion: kind.sigs.k8s.io/v1alpha3" (#76)
* Fix "unknown apiVersion: kind.sigs.k8s.io/v1alpha3"

*Motivation*

The api version `kind.sigs.k8s.io/v1alpha3` is not available anymore for kind clusters.
So all the CI actions are broken now. This PR fix the issue.

Additionally it adds a helm chart lint job to lint the chart changes.

* Trigger CI when kind cluster build script is changed
2020-11-11 11:48:42 -07:00
Thomas O'Neill
b44b523c8a
Allow initialization to be set (#53)
Fixes #47 

### Motivation
Only create the initialize job on install. 

### Modifications

- Added an initialize value that can be set to true on install, matching the documentation in the README.md
2020-08-13 10:20:01 -07:00
Prashanth Tirupachur Vasanthakrishnan
bf152134b2
Issue-29: Bump missed out pulsar-image tags to 2.6.0 (#30)
Fixes #29 

### Motivation

Bumped missed out pulsar-image tags to 2.6.0

### Modifications

Modified the following files:
1. .ci/clusters/values-pulsar-image.yaml
2. charts/pulsar/values.yaml
3. examples/values-one-node.yaml
4. examples/values-pulsar.yaml
2020-07-01 23:01:39 -07:00
Sijie Guo
93d8fd1981
Release Helm Chart 2.6.0 (#21)
* Release Helm Chart 2.6.0
2020-06-29 18:16:16 -07:00
Sijie Guo
0338d17b89
Publish chart index to gh-pages branch (#3)
*Motivation*

Release helm chart when new tags are created
2020-04-21 02:44:58 -07:00
Sijie Guo
47f05b7650
Add github action to check license header (#2) 2020-04-21 00:23:01 -07:00