/infrastructure

Contains infrastructure as code for running demo app locally or in the cloud

Primary LanguageShellMozilla Public License 2.0MPL-2.0

Infrastructure

Contains infrastructure as code for running the demo app locally or in the cloud.

At present the applications consists of the following components:

FRONTEND

A React UI that interacts with the Public API.

PUBLIC API

A publically facing GraphQL API. The responsibility of this API is to expose internal RESTful and gRPC APIs including the Product API, the Payments Service, and a Coffee Service (that is not shown) to end user interfaces.

Product API

A RESTful product API allowing CRUD operations on the company products. This service is backed by a PostgreSQL database.

Payments Service

gRCP based payments service which handles customer payments. This service is backed by a PostgreSQL database or a Redis queue.

Consul

Consul is used throughout the system, all service to service communication is secured using mTLS and Consul Connect.

Vault

Vault is used for secrets storage, dynamic databse credentials, and encryption as a service. Encryption can be done in the Payments Service using either Vault's Transit or Transform secrets engines.