Installation Guide
Complete setup instructions for deploying Orchestr8 on your chosen platform.
Step 1: Install Prerequisites
Required tools:
- uv - Python package manager: docs.astral.sh/uv/getting-started/installation
- kubectl - Kubernetes management: kubernetes.io/docs/tasks/tools
- docker - Container runtime (for local development): docs.docker.com/get-docker
Cloud-specific (if deploying to cloud):
- AWS:
awsCLI - aws.amazon.com/cli - Azure:
azCLI - docs.microsoft.com/en-us/cli/azure/install-azure-cli - GCP:
gcloudCLI - cloud.google.com/sdk
Advanced/Optional Tools (Click to expand)
Development & Debugging:
- helm - Kubernetes package manager (auto-installed by Orchestr8)
- terraform - Infrastructure provisioning (only for
--provision-infrastructure) - k9s - Kubernetes UI: k9scli.io
- stern - Multi-pod logs: github.com/stern/stern
Cloud Development:
- eksctl - EKS management (AWS): eksctl.io
- kubelogin - AKS auth plugin (Azure)
- gke-gcloud-auth-plugin - GKE auth (GCP)
Most tools are auto-installed or managed by Orchestr8. Install only what you need.
Step 2: Install Orchestr8 CLI
Install the Orchestr8 CLI using uv:
# Install Orchestr8 CLI
uv tool install orchestr8-platform
# Verify installation
o8 --version
Step 3: Prepare GitOps Repository
Orchestr8 uses GitOps principles, storing all configuration in Git repositories. Before deploying, you need to decide on your repository strategy:
Option 1: Use the Default Repository (Easiest)
The CLI will use https://github.com/killerapp/orchestr8 by default. This works for getting started quickly.
Option 2: Use Your Own Repository (Recommended for Production)
Create a private repository in your GitHub organization to store your platform configuration:
- Create a new repository:
https://github.com/YOUR-ORG/your-platform-config - Initialize with the Orchestr8 template: The CLI can optionally fork/template from the main repository
- This repository will contain:
- ArgoCD Application definitions
- Environment-specific configurations
- Module deployment manifests
- GitOps workflow templates
Repository Setup Options:
- Fork the main repo:
gh repo fork killerapp/orchestr8 --clone - Template approach: Use as template and customize
- Empty repo: Let Orchestr8 initialize the structure during setup
Why GitHub Authentication is Required
During setup, you'll be prompted for GitHub authentication because:
- ArgoCD needs access to your GitOps repository to sync configurations
- Orchestr8 stores all configuration in Git (following GitOps best practices)
- No secrets are stored in the cluster - everything comes from your repository
Step 4: Deploy Platform
Local Development
Perfect for learning, development, and testing:
# Deploy to local Kubernetes - you'll be prompted for GitHub org/auth
o8 setup --provider local --domain local.dev
# Or specify your GitHub organization upfront
o8 setup --provider local --domain local.dev --github-org YOUR-ORG
During setup, you'll see:
GitHub organization: YOUR-ORG
Checking repository: https://github.com/YOUR-ORG/orchestr8
⚠️ GitHub authentication is required
ArgoCD needs access to the orchestr8 repository
Authentication options:
1. OAuth Device Flow (recommended - secure & easy)
2. Personal Access Token (manual setup)
Cloud Deployment
For production workloads with enterprise features:
AWS (Amazon EKS)
# Deploy to existing EKS cluster
o8 setup --provider aws --domain your-domain.com
# Or provision new infrastructure with Terraform
o8 setup --provider aws --provision-infrastructure --domain your-domain.com
Azure (Azure AKS)
# Deploy to existing AKS cluster
o8 setup --provider azure --domain your-domain.com
Google Cloud (GKE)
# Deploy to existing GKE cluster
o8 setup --provider gcp --domain your-domain.com
# Or provision new infrastructure
o8 setup --provider gcp --provision-infrastructure --gcp-project-id YOUR_PROJECT
Step 5: Verify Installation
# Check all prerequisites and platform health
o8 doctor
# Check platform status
o8 status
Step 6: Deploy Your First Application
Try deploying a sample module to verify everything works:
# Initialize a new module
o8 module init hello-world --template basic
# Deploy to development environment
o8 module deploy ./hello-world --environment dev
# Check deployment status
o8 module status hello-world
Advanced Configuration
Authentication Setup
Configure GitHub access for GitOps:
# Set up GitHub authentication
o8 auth --github-org your-org --github-token YOUR_TOKEN
# Configure ArgoCD repositories
o8 repos add-github your-org/your-config-repo
Identity Providers
Configure external identity providers:
# GitHub OAuth
o8 idp github --client-id YOUR_CLIENT_ID --client-secret YOUR_CLIENT_SECRET
# Google OAuth
o8 idp google --client-id YOUR_CLIENT_ID --client-secret YOUR_CLIENT_SECRET
# Microsoft Azure AD
o8 idp microsoft --client-id YOUR_CLIENT_ID --client-secret YOUR_CLIENT_SECRET
Multi-Tenancy
For enterprise multi-tenant deployments:
# Initialize tenant
o8 tenant init customer-a --modules langfuse,voicefuse
# Deploy tenant to production
o8 tenant deploy customer-a --environment production
Troubleshooting
Common fixes:
- Missing tools: Run
o8 doctor --fixto see installation instructions - Cloud auth: Run
aws configure,az login, orgcloud auth login - Docker issues: Start Docker Desktop or Docker service
Get help: Run o8 doctor --verbose or check GitHub Issues
Next Steps
- Explore Core Concepts - Understand GitOps and architecture
- Deploy Modules - Try example applications
- Configure Security - Harden your deployment