63 Commits

Author SHA1 Message Date
Lari Hotari
51a535d83d
Upgrade to Pulsar 4.0.5 (#612) 2025-05-23 15:28:31 +03:00
Bruno Domenici
a9f2ba76ae
OpenID: introducing support for OpenID configuration (#509)
* feat!(openid): introducing support for openid configuration

BREAKING CHANGE: provider configuration changed from auth.authentication.provider to auth.authentication.jwt.enabled

* add upgrading to 4.1.0

* add validation for deprecated values

* add openid CI with keycloak

* fix chart-testing lint new-line-at-end-of-file

* fix keycloak dependency repository

* fix keycloak repository

* fix yaml to json convert error

* disable keycloak to validate github actions before re-enable it

* disable openid test scenario

* disable keycloak in values

* enable keycloak without authentication and authorization

* add openid test scenario

* disable test scenario other than openid

* enable all test scenario

* disable functions component

* create openid resources

* test truncate command

* test truncate command

* change client_secret generator

* change client_secret generator

* test python

* fix script

* fix script

* print python result

* test python

* test python

* fix client_secret generation

* fix create openid resources

* fix secret name

* fix mount keycloak config

* fix keycloak service

* exclude keycloak from chart

* add license

* add license

* wait keycloak is alive

* fix keycloak chart install namespace

* add test pulsar real openid config

* fix keycloak issuer url

* fix pod name

* remove check keycloak alive

* check realm pulsar openid configuration

* change keycloak service

* remove test keyclock service

* remove selector to get all pod log

* wait keycloak is alive

* check keycloak realm pulsar urls

* wait until keycloak is ready

* add wait timeout

* fix realm pulsar name

* add log to debug

* add openid for toolset

* set authorization

* set authorization

* fix client template filename

* fix install keycloak

* disable authorization

* debug sub claim value

* fix sub claim value

* cleanup

* enable all build

---------

Co-authored-by: glecroc <guillaume.lecroc@cnp.fr>
2025-05-20 14:09:12 +03:00
Lari Hotari
8d889eb971
Upgrade to Pulsar 4.0.4 (#599) 2025-04-15 00:24:48 -07:00
Lari Hotari
e6f05809bd
Migrate from kube-prometheus-metrics to victoria-metrics-k8s-stack (#592) 2025-03-08 16:36:41 -08:00
Lari Hotari
302db43e91
Remove PSP support (#591) 2025-03-08 12:00:35 -08:00
Lari Hotari
dd1325216f
Change Pulsar Proxy service load balancer type to ClusterIP (#588) 2025-03-06 05:03:42 -08:00
Lari Hotari
9f61859d19
Use PIP-45 metadata store config to replace deprecated ZK config and make PulsarMetadataBookieDriver configurable in BK (#576) 2025-03-04 20:23:35 +02:00
Lari Hotari
4bdf6d51eb
Improve kube-prometheus-stack config in values.yaml by adding missing key and some basic comments (#579)
* Enable prometheusOperator in CI test

* Add comments and add offloader dashboard
2025-03-03 11:09:25 -08:00
Lari Hotari
492e273d82
Upgrade to kube-prometheus-stack 69.x including prometheus-operator 0.80.0 defaulting to Prometheus 3.x (#578)
* Upgrade to kube-prometheus-stack 67.x
  * Prometheus operator is upgraded to 0.80.0
  * Prometheus is upgraded from 2.55.0 to 3.2.1

* Enable pod monitors to test them

* Run linting with kube-prometheus-stack enabled

* Validate all CI configs
2025-03-03 05:49:03 -08:00
Lari Hotari
afca5aaf08
Upgrade to Pulsar 4.0.3 (#575) 2025-02-28 09:18:10 -08:00
Lari Hotari
f928380124
Fix pulsar-cluster-initialize / pulsar-init rendering with kustomize (#572)
* Fix pulsar-cluster-initialize / pulsar-init rendering with kustomize

- reapply #166 changes that were reverted by #544 changes

* Add validation for kustomize output in CI
2025-02-19 00:46:24 -08:00
Lari Hotari
ee119d4f29
Use Pulsar 3.0.9 as previous LTS version in CI (#564) 2025-01-20 09:06:01 -08:00
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