Deploy Allure TestOps with Kubernetes

Deploying Allure TestOps using Kubernetes

The easiest method to deploy Allure TestOps on Kubernetes is to take advantage of Allure’s Helm charts. Helm is a package management tool for Kubernetes allowing applications to be easily managed via their Charts.

The allure-ee chart includes all required dependencies, and takes a few minutes to deploy.

For production deployments, we strongly recommend using the detailed installation instructions utilizing external PostgreSQL, RabbitMQ, and object storage services.

Prerequisites

Hardware requirements

Check out this page and then get back to this one.

Requirements

  1. You need to have an account or create one on hub.docker.com.
  2. You need to obtain the license key. Please contact our sales team to get the license key.
  3. You need to have helm and kubectl installed on your machine.
  4. You need to configure and initialize Helm Tiller.

Configuration

Prepare configuration file

Create configuration file config.yaml with the following content:

version: 3.158.0                    # Allure TestOps application version

imagePullSecret: docker-hub         # docker registry secret key
licenseKey: <your license key>      # license key information
jwtSecret: <secret text>            # JWT secret text

ingress:
  host: <your domain name>          # host for accessing allure

jwtSecret is a random string, you can generate it by using this command:

openssl rand -base64 16

Install

Create docker registry secret

Run the following command with hub.docker.com credentials:

kubectl create secret docker-registry docker-hub \
  --docker-server=https://index.docker.io/v1/ \
  --docker-username=<username> \
  --docker-password=<password> \
  --docker-email=<email>

Get Allure TestOps up and running

Once you have all of your configuration options collected, you can get any dependencies and run helm. In this example, the helm release is named “allure-ee”:

helm repo add qameta https://qameta.github.io/helm-charts
helm repo update
helm upgrade --install allure-ee qameta/allure-ee -f config.yaml

By default Allure is started in a default namespace.

This will output the list of the resources installed once the deployment finished (which may take 2-3 minutes).

Accessing the web interface of Allure TestOps

Allure is available at http://allure.local

Initial login

If you created the secret for initial admin password manually, you can use that to sign in as admin user.

If you haven’t specified the password, Chart will automatically create a random password for admin user.

This password can be extracted by using the following command:

kubectl get secret allure-ee -ojsonpath={.data.password} | base64 --decode ; echo

Updating Allure TestOps

Once your Allure TestOps Chart is installed, all the configuration changes and chart updates should be done using helm upgrade:

helm repo update
helm upgrade --reuse-values allure-ee qameta/allure-ee

Troubleshooting Allure TestOps

To get proper debug information you need to perform the following set of the commands:

Get the list of all the installed components

kubectl get all

Show logs for each Allure TestOps component

kubectl logs -f --tail=20 -l app=allure-ee-uaa
kubectl logs -f --tail=20 -l app=allure-ee-report
kubectl logs -f --tail=20 -l app=allure-ee-gateway

Show logs for RabbitMQ and PostgreSQL

kubectl logs -f --tail=20 -l app=rabbitmq
kubectl logs -f --tail=20 -l app=postgresql

Uninstalling Allure TestOps

To uninstall Allure TestOps Chart, you need to execute the following command:

helm delete allure-ee

Back to deployment