Introduction
GoInfra is the infrastructure management module of GoChain. It allows you to create and manage the underlying compute resources — virtual machines or Kubernetes clusters — that run your blockchain nodes. GoInfra abstracts away the complexity of provisioning and configuring infrastructure across different cloud providers, giving you a unified interface regardless of where your organization runs.
Key Features of GoInfra
1. Multi-Provider Infrastructure Support
GoInfra supports a wide range of infrastructure providers, from self-managed servers to major cloud platforms and Kubernetes clusters. You choose the provider that fits your environment, and GoInfra handles the provisioning.
Supported Providers:
- External: Connect your own pre-existing machines via SSH. You manage the VMs; GoInfra manages what runs on them.
- Amazon Web Services (AWS): GoInfra provisions EC2 instances, security groups, and SSH keys directly in your AWS account.
- Google Cloud Platform (GCP): GoInfra provisions virtual machines and firewall rules in your GCP project using a service account.
- Microsoft Azure: GoInfra provisions virtual machines and network security groups in your Azure subscription.
- AWS EKS: Deploy blockchain components as pods on an Amazon Elastic Kubernetes Service cluster.
- Kubernetes On-Prem (Coming soon): Connect your own Kubernetes cluster via a kubeconfig file.
- GoLedger (Coming soon): Fully managed infrastructure — no cloud account or configuration required.
2. Virtual Machine Lifecycle Management
For VM-based providers (External, AWS, GCP, Azure), GoInfra manages the full lifecycle of the machines used by your blockchain nodes — from initial provisioning to configuration and monitoring.
Key Capabilities:
- Automated Provisioning: GoInfra creates and configures VMs in your cloud account with the correct firewall rules and SSH access.
- SSH Key Management: GoInfra generates and manages SSH key pairs for secure access to provisioned machines.
- Progress Tracking: A real-time progress view shows the status of each VM during setup.
3. Kubernetes Deployment Support
For Kubernetes-based providers (AWS EKS, On-Prem), GoInfra deploys blockchain components as containerized workloads on your cluster, integrating with your existing DNS and networking setup.
Key Capabilities:
- Cluster Integration: GoInfra connects to your existing cluster and provisions namespaces and resources for your organization.
- EKS Support: Provide your AWS credentials and EKS cluster name — GoInfra handles the rest.
- On-Prem Flexibility: Bring your own cluster via kubeconfig for full control over the deployment environment.
4. Plan-Based Access Control
Infrastructure provider availability is tied to your GoChain plan. The Starter Organization tier includes access to the External provider. AWS, GCP, Azure, and Kubernetes providers are available on higher-tier plans.
Benefits of Using GoInfra
- Unified Interface: Manage infrastructure across multiple cloud providers from a single interface, without switching between cloud consoles.
- Automated Security Configuration: GoInfra automatically creates security groups, firewall rules, and SSH keys with the correct settings for blockchain workloads.
- Reduced Operational Overhead: Provisioning that would normally require manual steps in your cloud provider is handled automatically.
- Kubernetes-Ready: Supports both managed (EKS) and self-hosted Kubernetes clusters for organizations adopting container-based deployments.
Conclusion
GoInfra provides the foundation that blockchain organizations in GoChain run on. Whether you're using your own servers, a major cloud provider, or a Kubernetes cluster, GoInfra gives you a consistent way to provision and manage the infrastructure your nodes depend on — so you can focus on building your network rather than managing machines.
Next Step
To get started creating your first infrastructure, check out the Infrastructure Guide.