---
title: "HeliosDB Production Deployment Guide"
---

# HeliosDB Production Deployment Guide

## Overview

Comprehensive guide for deploying HeliosDB to production using automated infrastructure.

## Prerequisites

- Terraform >= 1.5.0
- kubectl >= 1.28.0
- Helm >= 3.13.0
- AWS CLI >= 2.13.0
- Docker >= 24.0.0

## Quick Start

```bash
# 1. Deploy infrastructure
cd infrastructure/terraform
terraform apply -var-file="environments/production.tfvars"

# 2. Configure kubectl
aws eks update-kubeconfig --name heliosdb-production-cluster --region us-west-2

# 3. Deploy HeliosDB
./scripts/deploy/deploy.sh --environment production --version <release> --strategy rolling
```

## Deployment Strategies

### Rolling (Default) - For minor updates
- Zero-downtime gradual replacement
- Automatic rollback on failure

### Blue-Green - For major updates
- Deploy to inactive, switch traffic
- Requires 2x resources

### Canary - For risky changes
- Progressive: 10% → 50% → 100%
- Early issue detection

## Operations

### Deploy
```bash
./scripts/deploy/deploy.sh --environment production --version <release> --strategy canary
```

### Rollback
```bash
./scripts/deploy/rollback.sh --environment production
```

### Health Check
```bash
./scripts/deploy/health-check.sh --namespace heliosdb
```

### Scale
```bash
./scripts/deploy/scale.sh --replicas 7
./scripts/deploy/scale.sh --enable-hpa --min 5 --max 15 --cpu-target 70
```

## Monitoring

- Prometheus: Port 9090
- Grafana: `kubectl port-forward -n monitoring svc/prometheus-grafana 3000:80`
- Health: `https://<endpoint>:8443/health`

## Troubleshooting

```bash
# Check pods
kubectl get pods -n heliosdb
kubectl logs -n heliosdb <pod-name>

# Check resources
kubectl top pods -n heliosdb
kubectl describe pod -n heliosdb <pod-name>

# Check services
kubectl get svc,endpoints,networkpolicy -n heliosdb
```

## Support

- Ops: ops-oncall@example.com
- Slack: #heliosdb-ops
