Skip to main content

Pactflow On-Premises Architecture

System architecture#

Minimum requirements#

  • An application server capable of running Docker
  • PostgreSQL database
  • SAML IDP for SSO
  • Pactflow license file

Recommended architecture#

  • Deploy to a service designed for Docker container orchestration (ECS, Fargate, Kubernetes etc.)

Example AWS deployment using ECS#

System architecture

Internal architecture#

The Pactflow On-Premises application is distributed as a Docker image. It is based on the open source Pact Broker, which is a Ruby application.

Application user requirements#

The Pactflow application does not need any elevated privileges to run. It runs under the user app:app.

Application port#

The Pactflow application runs on port 9292 by default. This can be configured by setting the PACTFLOW_HTTP_PORT environment variable.

Healthcheck endpoint#

A healthcheck endpoint for use by a Docker container managment service is available at http://<HOST>/diagnostic/status/heartbeat. No authentication is required. This endpoint does not make a connection to the database.

To check the connection to the database, use the endpoint /diagnostic/status/dependencies. This endpoint should not be used by Docker container managment services, as unrelated database issues might cause the Docker container to churn.

License file#

Pactflow on-premises version requires a license file to run. Contact us at support@pactflow.io if you have not received one when your account was setup. See the section on licenses for installation instructions.