If you are looking for non-OLM Helm charts, go to helm-charts
These charts require that your cluster has loadbalancing service capability. It is divided into two parts. Operators chart installs OLM operators first and after waiting for the full deployment the Instnaces chart will install the rest of custom CR's provided by those Operators. Additionally, you can choose to deploy testing tools charts which are also divided into operators and instances charts.
These charts can help with installing different versions of Kuadrant on an Openshift cluster:
- Community stable Kuadrant operator released build
- Stable, nightly or any developer preview released build from Quay
- Red Hat Connectivity Link released build (a
wasm-plugin-pull-secret
secret needed) - Red Hat Connectivity Link pre-release build for testing
- Kuadrant-operator
- Red Hat cert-manager
- Istio provider
- Openshift service mesh v3
- Just GatewayClass CR (for ocp419+, use
ocp
istioProvider)
- Gateway API CRD's (if
ocp
istio Provider not set)
If you choose to enable Kuadrant testing environment with tools.enable=true
:
kuadrant
andkuadrant2
namespaces- testing CA issuers
If you choose to install tools charts:
- RH Keycloak or community Keycloak
- Jaeger
- Mockserver
- Redis
- Dragonfly
- Valkey
- Set up values.yaml (and tool values.yaml)
- Login to your cluster
- Run:
./install.sh
- Enjoy
- Cleanup:
./uninstall.sh
Note: If you want to install current RHCL GA just set INSTALL_RHCL_GA
to "true" and use the helper
./install.sh
script. It overrides certain values from values.yaml so that current RHCL GA is installed.
It is not needed to modify values.yaml manually in such a case.
If you want an environment ready for running Kuadrant testsuite create additionalManifests.yaml with list of DNS provider credentials and Letsencrypt issuer. More info about required objects see testsuite wiki Look at example-additionalManifests.yaml
Use -t
flag to get Kuadrant testsuite dependencies installed: ./install.sh -t
. It sets tools.enabled
to true
and makes Helm consume additional values from additionalManifests.yaml and installs tools helm charts.
If you want to install just tools use ./tools-install.sh
. Add -k
option to install on Kind.
If you do not want to use helper ./install.sh
(and ./uninstall.sh
) script:
- Install Operators
helm install --values values.yaml --wait -g charts/kuadrant-operators
- Install instances (operands)
helm install --values values.yaml --values additionalManifests.yaml --wait -g charts/kuadrant-instances
- (Optional) Install tools operators
helm install --values values-tools.yaml --wait -g charts/tools-operators
- (Optional) Install tools instances
helm install --values values-tools.yaml --wait --timeout 10m -g charts/tools-instances
$ ./install.sh
Installing operators
Error: INSTALLATION FAILED: cannot re-use a name that is still in use
To fix this execute helm uninstall kuadrant-operators
. Similarly if the error shows up during installing instances: helm uninstall kuadrant-instances
.
$ ./install.sh
Installing operators
Error: INSTALLATION FAILED: Unable to continue with install: CustomResourceDefinition "gatewayclasses.gateway.networking.k8s.io" in namespace "" exists and cannot be imported into the current release: invalid ownership metadata; label validation error: missing key "app.kubernetes.io/managed-by": must be set to "Helm"; annotation validation error: missing key "meta.helm.sh/release-name": must be set to "kuadrant-operators"; annotation validation error: missing key "meta.helm.sh/release-namespace": must be set to "default"
This happens if there are some leftovers there on a cluster. Typically, the Kuadrant had been installed on the cluster previously not using Helm. To overcome such issues everything that Helm creates needs to be removed prior to installing via Helm. For this particular error the Gateway API CRDs needed to be removed.
If there are not any leftovers from previous installations and the Helm install/uninstall is still failing, the "Helm internal stuff" needs to be cleared up as well.
helm ls -a
- to see if there is some Helm release on the cluster.
If there is, one needs to remove the "Helm" secret from default
namespace. The secret name looks similar to sh.helm.release.v1.kuadrant-operators.v1
. Once removed (and no leftovers are indeed on the cluster) the Helm install/uninstall starts working as expected.