Overview
This issue tracks the exploration of Infrastructure-as-Code (IaC) approaches for deploying SATP. While we will explore different deployment models, starting with Terraform on local Kubernetes.
This work is related to and complements #4705 (TLS enablement for the gRPC-Web transport), as production-like deployments will require proper TLS configuration between gateways; adding IaC automations will facilitate the configuration of such deployments.
Motivation
Currently, there is no standardized or automated way to deploy SATP gateways along with their dependencies (e.g., ledger connectors, databases). Providing Terraform-based deployment files will lower the barrier to entry for operators and developers wanting to run SATP end-to-end locally and in production.
Proposed Solution
Develop Terraform configurations to deploy SATP and its dependencies on a local Kubernetes cluster (e.g., kind or minikube), with the following topology:
Target Deployment Topology
- n SATP Gateways, enables horizontal scalability
- Dependencies (database, monitoring, security artifacts)
- Any required ledger nodes or connectors (e.g., Fabric, Besu)
Deliverables
Acceptance Criteria
- Terraform files are provided and validated (
terraform validate, terraform plan).
- Running
terraform apply on a machine with kind/minikube and kubectl results in a working local cluster with 2 SATP gateway instances (1 primary, 1 backup) and all required dependencies.
- A basic end-to-end asset transfer can be demonstrated against the deployed cluster.
- Documentation is clear enough for a new contributor to follow without prior Terraform knowledge.
Affected Package(s)
cactus-plugin-satp-hermes
Additional Context
Overview
This issue tracks the exploration of Infrastructure-as-Code (IaC) approaches for deploying SATP. While we will explore different deployment models, starting with Terraform on local Kubernetes.
This work is related to and complements #4705 (TLS enablement for the gRPC-Web transport), as production-like deployments will require proper TLS configuration between gateways; adding IaC automations will facilitate the configuration of such deployments.
Motivation
Currently, there is no standardized or automated way to deploy SATP gateways along with their dependencies (e.g., ledger connectors, databases). Providing Terraform-based deployment files will lower the barrier to entry for operators and developers wanting to run SATP end-to-end locally and in production.
Proposed Solution
Develop Terraform configurations to deploy SATP and its dependencies on a local Kubernetes cluster (e.g., kind or minikube), with the following topology:
Target Deployment Topology
Deliverables
.tf) to provision a local Kubernetes cluster (e.g., viakindprovider)cactus-plugin-satp-hermes)Acceptance Criteria
terraform validate,terraform plan).terraform applyon a machine withkind/minikubeandkubectlresults in a working local cluster with 2 SATP gateway instances (1 primary, 1 backup) and all required dependencies.Affected Package(s)
cactus-plugin-satp-hermesAdditional Context