Orchestr8
A unified SDK and CLI for automated Kubernetes platform management using GitOps principles.
Features
- 🚀 Zero-touch cluster bootstrapping - Automated setup with minimal manual steps
- 🔐 Integrated secrets management - AWS/GCP Secrets Manager support with automatic generation
- 🤖 Multiple interfaces - Use as CLI or SDK for programmatic access
- ☁️ Multi-cloud ready - Support for AWS, GCP, Azure, and local development
- 🔄 GitOps native - Built on ArgoCD with the app-of-apps pattern
- 🩺 Built-in diagnostics - Auto-running health checks and environment validation
Installation
uv tool install orchestr8-platform
uv add orchestr8-platform
Quick Start
CLI Usage
o8 setup
o8 setup \
--provider aws \
--cluster my-cluster \
--domain platform.example.com \
--github-org my-org \
--region us-east-1
o8 status
o8 doctor
o8 validate
SDK Usage
from orchestr8 import Orchestr8SDK, Config, CloudProvider
from orchestr8.core.config import GitHubConfig
config = Config(
provider=CloudProvider.AWS,
region="us-east-1",
cluster_name="my-cluster",
domain="platform.example.com",
github=GitHubConfig(
org="my-org",
token="ghp_..."
)
)
sdk = Orchestr8SDK(config)
await sdk.setup()
status = await sdk.get_status()
Architecture
Orchestr8 sets up:
- ArgoCD - GitOps continuous delivery
- Istio - Service mesh for traffic management
- Keycloak - Identity and access management
- Prometheus/Grafana - Monitoring and observability
- Cert-Manager - Automatic TLS certificate management
Development
git clone https://github.com/killerapp/orchestr8
cd orchestr8/o8-cli
uv sync
uv run pytest
uv run python -m orchestr8.cli
Publishing to PyPI
uv build
uv publish
License
MIT