/consul-docker

This repo demonstrates how to create traffic-inferred tests, contracts, mocks and observability that represent real-life application behavior.

Primary LanguageHCLApache License 2.0Apache-2.0

Use UP9 & Consul to infer tests, mocks & observability from traffic

This repo demonstrates how to create traffic-inferred tests, contracts, mocks, and observability that represent real-life application behavior.

It includes:

Requirements

  • An UP9 account - If you don't have one already, you can sign up for free here: https://up9.app/signup
  • UP9 CLI - npm install -g up9
  • Docker-compose

Steps

  • Log in to your UP9 account on https://up9.com/.
  • Authenticate your UP9 CLI - In your terminal window - up9 auth:login
  • Create the necessary Envoy configuration files: up9 tap:create-docker-compose-consul 19001 <give-it-a-name>
  • Run docker-compose -f docker-compose.yaml -f docker-compose-up9.yaml up

Using the apps

Architecture

UP9 uses Envoy configuration to subscribe and unsubscribe to traffic events. UP9 observes traffic and infers tests, contracts, mocks, and observability.

A Consul Connect sidecar (with Envoy proxy) is attached to each service and is controlled by the Consul Server.
Envoy proxies enforce mTLS communication by authorized clients only to enforce secure communication in the service mesh. architecture

Screenshots

Observability Service-Contracts Traffic Viewer Machine-generated Test code Consul