Getting Started with Peralta
Getting Started with Peralta
This guide will help you prepare for your first Peralta deployment.
What You’ll Need
Tools & Dependencies
Required:
- Terraform >= 1.0.x
- Ansible >= 2.10.x
- Docker >= 24.0.x
- kubectl >= 1.27.x
- Git
Recommended:
- AWS CLI v2 (for AWS deployments)
- gcloud CLI (for GCP deployments)
- az CLI (for Azure deployments)
- Helm >= 3.0 (for Kubernetes)
Installation
macOS (Homebrew)
# Install required toolsbrew install terraform ansible docker kubectl git
# AWS CLIbrew install awscliv2
# GCP CLIbrew install --cask google-cloud-sdkUbuntu/Debian
# Add HashiCorp repositorycurl https://apt.releases.hashicorp.com/gpg | sudo apt-key add -sudo apt-add-repository "deb [arch=amd64] https://apt.releases.hashicorp.com $(lsb_release -cs) main"
# Install toolssudo apt-get updatesudo apt-get install terraform ansible
# Install Dockercurl -fsSL https://get.docker.com -o get-docker.shsudo sh get-docker.sh
# Install kubectlcurl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl"Cloud Provider Credentials
AWS
# Configure AWS CLIaws configure
# Verify accessaws sts get-caller-identityGoogle Cloud
# Initialize gcloudgcloud init
# Create service accountgcloud iam service-accounts create peralta-deployer
# Authenticategcloud auth application-default loginAzure
# Login to Azureaz login
# Set active subscriptionaz account set --subscription "SUBSCRIPTION_ID"Environment Preparation
1. Clone the Repository
# Clone Peraltagit clone https://github.com/Fused-Gaming/peralta.gitcd peralta
# Verify structurels -la# Expected: terraform/, ansible/, docs/, etc.2. Set Up Project Directory
# Create deployment workspacemkdir -p deployments/my-projectcd deployments/my-project
# Copy templatescp -r ../../terraform .cp -r ../../ansible .3. Configure Environment
Create terraform/environments/prod/terraform.tfvars:
# Basic Configurationproject_name = "my-vln-project"environment = "production"region = "us-east-1"
# Cloud Configurationcloud_provider = "aws" # or "gcp", "azure"vpc_cidr = "10.0.0.0/16"
# Database Configurationdb_engine_version = "14.7"db_instance_class = "db.r5.xlarge"db_allocated_storage = 1000db_backup_retention = 30
# Application Configurationapp_instance_type = "t3.large"app_desired_count = 3app_max_capacity = 10
# Tagstags = { Environment = "production" ManagedBy = "terraform" Owner = "your-team"}4. Configure Ansible Inventory
Create ansible/inventory/prod/hosts.yml:
all: vars: ansible_user: ec2-user ansible_ssh_private_key_file: ~/.ssh/peralta-prod.pem ansible_python_interpreter: /usr/bin/python3
children: web: hosts: web-1: ansible_host: 10.0.1.10 web-2: ansible_host: 10.0.1.11
db: hosts: db-primary: ansible_host: 10.0.2.10Pre-Deployment Checklist
Before deploying, verify:
- All tools installed and in PATH
- Cloud provider credentials configured and tested
- Repository cloned and accessible
- terraform.tfvars created with correct values
- Ansible inventory configured
- SSH keys generated (if needed)
- Sufficient cloud provider quota/limits
- SSL certificates ready (if using custom domains)
Verify Everything Works
# Test Terraformcd terraformterraform fmtterraform validate
# Test Ansiblecd ../ansibleansible all -i inventory/prod/hosts.yml -m ping
# Verify Dockerdocker run hello-world
# Check kubectlkubectl version --clientChoose Your Deployment Path
🚀 Quick Start (Kubernetes)
Best for: Existing Kubernetes cluster
Time: 1-2 hours
Complexity: Low
🏢 AWS Deployment
Best for: AWS-native infrastructure
Time: 2-3 hours
Complexity: Medium
☁️ Google Cloud Deployment
Best for: GCP environment
Time: 2-3 hours
Complexity: Medium
🌐 Azure Deployment
Best for: Azure environment
Time: 2-3 hours
Complexity: Medium
🌍 Multi-Cloud Deployment
Best for: High availability across regions
Time: 6-8 hours
Complexity: High
Next Steps
- Verify Prerequisites - Run through the pre-deployment checklist
- Choose Cloud Provider - Select your deployment target
- Configure Variables - Update terraform.tfvars for your environment
- Review Architecture - Understand what will be deployed
- Execute Deployment - Follow the appropriate deployment guide
Getting Help
- Setup Issues: Prerequisites Guide
- Deployment Help: Full Deployment Guide
- Troubleshooting: FAQ & Troubleshooting
- Support: GitHub Issues or security@vln.gg
Ready to deploy? Choose your path above and follow the guide.