Skip to content

Ibexa DXP Helm Chart Installation

This guide is meant for the installation of the helm chart in Kubernetes without the operator.

Prerequisites

Installing the chart

To install the chart with the release name ibexa under the domain www.ibexa.dev.xrow.net. Configure your DNS to point to your Kubernetes Ingress Load balancer. This step will install the default Ibexa OSS release.

helm upgrade --install ibexa oci://registry.gitlab.com/xrow-public/repository/charts/ibexa --version 3.6.0 \
  --set global.routes.frontend[0]=www.domain.com \
  -n ibexa-production --create-namespace --atomic --wait --debug --timeout 15m

Note: The chart version doesn`t match the application version. The bundled application version matches the latest Ibexa DXP Version.

The latest unstable build is version 0.0.0+7dc30c4 from 2024-04-18 20:23:13+02:00 by Andy Caiger

The command deploys Ibexa on the Kubernetes cluster in the default configuration. The Parameters section lists the parameters that can be configured during installation.

Tip: List all releases using helm list -a

You can now continue to finetune your installation and add your custom container image by creating a custom values.yaml.

Configure the values.yaml

This section is meant for the usage of the helm chart without the operator.

See the full parameter configuration guide

In this example we will replace the default container image with our custom build. Replace the values with your own settings.

---
image:
  registry: registry.gitlab.com
  repository: orga/project
  tag: 1.0.1
imageCredentials:
  registry: registry.gitlab.com
  username: gitlab
  password: XXX
global:
  routes:
    frontend:
    - www.ibexa.dev.xrow.net
    - fastly.ibexa.dev.xrow.net
    admin:
    - admin.ibexa.dev.xrow.net

Configure your Ibexa project

In order to make your Redis cluster sessions a new service need to be created.

For Ibexa DXP 4 LTS and Fast Track Releases alter the file config/services.yaml and add:

    app.session.handler.native_rediscluster:
        class: Ibexa\Bundle\Core\Session\Handler\NativeSessionHandler
        arguments:
            - '%session.save_path%'
            - rediscluster

For Ibexa DXP 3 LTS alter the file config/services.yaml and add:

    app.session.handler.native_rediscluster:
        class: eZ\Bundle\EzPublishCoreBundle\Session\Handler\NativeSessionHandler
        arguments:
            - '%session.save_path%'
            - rediscluster

If you want to give the service a different name override the values.yaml of the chart.

session:
  handler_id: 'app.session.handler.native_rediscluster'

Additional settings for older Ibexa DXP versions

Ibexa 3.3 LTS

This setting modifies the URL exposed for clearing the varnish cache.

varnish:
  settings:
    invalidatetoken_uri: '/_ez_http_invalidatetoken'

Deploy Ibexa DXP on Kubernetes

helm upgrade --install ibexa oci://registry.gitlab.com/xrow-public/repository/ibexa --version 3.6.0 \
  -n ibexa-production --create-namespace --atomic --wait --debug --timeout 15m  \
  -f values.yaml

Uninstalling the chart

To uninstall/delete the ibexa deployment:

helm uninstall ibexa -n ibexa-production

The command removes all the Kubernetes components associated with the chart and deletes the release.