Skip to content

feat(satp-hermes): add SATP deployments  #4706

Description

@RafaelAPB

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

  • Terraform files (.tf) to provision a local Kubernetes cluster (e.g., via kind provider)
  • Kubernetes manifests or Helm chart references managed via Terraform for:
    • Primary SATP gateway (cactus-plugin-satp-hermes)
    • Backup SATP gateway
    • Required dependency services
  • Configuration for gateway-to-gateway connectivity (service discovery, ports)
  • README / documentation covering:
    • Prerequisites (Terraform, kubectl, kind/minikube)
    • Step-by-step deployment instructions
    • How to verify the deployment (health checks, basic asset transfer test)
    • Teardown instructions

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

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    IETF-SATP-HermesRelated to the Secure Asset Transfer Protocol as defined by the Internet Engineering Task Force.Triage_ReadyIssue approved to be worked onenhancementNew feature or request

    Projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions