Skip to content

Quality gate service

This service is used to check the quality gate status of workflows.

A quality gate is a set of rules a workflow execution must satisfy. It exposes two user-facing endpoints that can be used by clients.

There are no service-specific configuration file options.

Environment variables

Logging

You can set the QUALITYGATE_DEBUG_LEVEL (all upper-cased) or DEBUG_LEVEL environment variables to DEBUG to add additional information in the console for the launched service. It defaults to INFO. (Please note that setting DEBUG_LEVEL to DEBUG will produce tons of logs.)

The possible values are NOTSET, DEBUG, INFO, WARNING, ERROR, and FATAL. Those values are from the most verbose, NOTSET, which shows all logs, to the least verbose, FATAL, which only shows fatal errors.

If QUALITYGATE_DEBUG_LEVEL is not defined then the value of DEBUG_LEVEL is used (or INFO if DEBUG_LEVEL is not defined either).

Access logs are only shown at NOTSET and DEBUG levels.

Quality gate definitions

The QUALITYGATE_DEFINITIONS (all upper-cased) environment variable, if defined, must refer to an existing file that contains quality gate definitions.

(Two default quality gate modes are provided and are always available: strict and passing.)

For more information about quality gate definitions, see “Quality gate syntax.”

Tip

If the content of this referred file changes, the quality gates definitions used by the quality gate service will change accordingly. You do not need to restart the quality gate plugin.

Configuration file

This service has a configuration file (qualitygate.yaml by default) that describes the host, port, ssl_context, and trusted_authorities to use. It can also enable insecure logins.

If no configuration file is found it will default to the following values:

apiVersion: opentestfactory.org/v1beta2
kind: ServiceConfig
current-context: default
contexts:
- context:
    port: 443
    host: 127.0.0.1
    ssl_context: adhoc
    services:
      observer:
        endpoint: https://127.0.0.1
        token: reuse
  name: default

The configuration included in the ‘allinone’ image is described in “Common settings.” The listening port is 12312 and the bind address is 0.0.0.0 as the service exposes user-facing endpoints.

There are no service-specific configuration options besides the common ones.

Subscriptions

The quality gate service subscribes to no event.

Launch command

If you want to manually start the quality gate service, use the following command:

python -m opentf.qualitygate.qualitygate [--context context] [--config configfile]

Additional command-line options are available and described in “Command-line options.”