When deploying an Allure Testops instance, you need to decide on:
the external address (host and port) which the users will use to access the instance in their browsers,
the listening port on which the Allure Testops' Gateway service will listen to HTTP requests.
A production deployment usually relies on a reverse proxy or a load balancer that makes sure that user requests to the external address are routed to the listening port.
By default, Allure Testops uses the unencrypted HTTP protocol. However, with a reverse proxy or a load balancer, it is possible to enable HTTPS.
It is common to have the Gateway service listening to port 8080 and a reverse proxy or a load balancer listening to port 443. The HTTPS requests on port 443 are being translated to HTTP requests on port 8080, then Allure Testops processes them and responds to them. Where necessary, it uses the external address for generating cross-page links.
Common network parameters
Unlike other deployment methods, Kubernetes provides an integrated reverse proxy or a load balancer (Ingress or Istio). It listens to port 80 (or port 443 if HTTPS is enabled) and routes the requests to the Gateway service's listening port.
The parameters are defined in the values.yaml file:
host — the external address' host.
gateway.service.port — the listening port (8080 by default).
network.ingress.enabled — set to “true” to use Ingress.
network.istio.enabled — set to “true” to use Istio.
Note that it is required to enable either Ingress or Istio, but not both.
For example, with the configuration below, the users will access the instance as “http://testops.example.com” (port 80), where Ingress will receive the requests and send them to the Gateway service (port 8080).
To enable HTTPS for a Docker Compose installation, set up a reverse proxy, such as nginx.
Then, open the /opt/allure-testops/gateway/conf/allure-gateway.conf file and replace “http” with “https” in ALLURE_ENDPOINT.
If you are using a firewall, make sure that incoming traffic is allowed.
This step may be done in different ways, depending on the firewall you use. Below are examples for the default firewalls in different Linux distributions. Be sure to replace “8080” with the relevant port for your deployment.