Initial commit
This commit is contained in:
99
commands/deploy.md
Normal file
99
commands/deploy.md
Normal file
@@ -0,0 +1,99 @@
|
||||
---
|
||||
name: specweave-kafka:deploy
|
||||
description: Deploy Apache Kafka cluster using Terraform (Apache Kafka, AWS MSK, or Azure Event Hubs). Guides platform selection, sizing, and deployment.
|
||||
---
|
||||
|
||||
# Deploy Kafka Cluster
|
||||
|
||||
Deploy Apache Kafka using Infrastructure as Code (Terraform).
|
||||
|
||||
## What This Command Does
|
||||
|
||||
1. **Platform Selection**: Helps you choose the right Kafka platform
|
||||
2. **Cluster Sizing**: Calculates broker count, instance types, storage
|
||||
3. **Terraform Generation**: Creates or uses existing Terraform modules
|
||||
4. **Deployment**: Guides through terraform init/plan/apply
|
||||
5. **Verification**: Tests cluster connectivity and basic operations
|
||||
|
||||
## Interactive Workflow
|
||||
|
||||
I'll ask you a few questions to determine the best deployment approach:
|
||||
|
||||
### Question 1: Which platform?
|
||||
- **Apache Kafka** (self-hosted on AWS EC2, KRaft mode)
|
||||
- **AWS MSK** (managed Kafka service)
|
||||
- **Azure Event Hubs** (Kafka-compatible API)
|
||||
|
||||
### Question 2: What's your use case?
|
||||
- **Development/Testing** (1 broker, small instance)
|
||||
- **Staging** (3 brokers, medium instances)
|
||||
- **Production** (3-5 brokers, large instances, multi-AZ)
|
||||
|
||||
### Question 3: Expected throughput?
|
||||
- Messages per second (peak)
|
||||
- Average message size
|
||||
- Retention period (hours/days)
|
||||
|
||||
Based on your answers, I'll:
|
||||
- ✅ Recommend broker count and instance types
|
||||
- ✅ Calculate storage requirements
|
||||
- ✅ Generate Terraform configuration
|
||||
- ✅ Guide deployment
|
||||
|
||||
## Example Usage
|
||||
|
||||
```bash
|
||||
# Start deployment wizard
|
||||
/specweave-kafka:deploy
|
||||
|
||||
# I'll activate kafka-iac-deployment skill and guide you through:
|
||||
# 1. Platform selection
|
||||
# 2. Sizing calculation (using ClusterSizingCalculator)
|
||||
# 3. Terraform module selection (apache-kafka, aws-msk, or azure-event-hubs)
|
||||
# 4. Deployment execution
|
||||
# 5. Post-deployment verification
|
||||
```
|
||||
|
||||
## What Gets Created
|
||||
|
||||
**Apache Kafka Deployment** (AWS EC2):
|
||||
- 3-5 EC2 instances (m5.xlarge or larger)
|
||||
- EBS volumes (GP3, 100Gi+ per broker)
|
||||
- Security groups (SASL_SSL on port 9093)
|
||||
- IAM roles for S3 backups
|
||||
- CloudWatch alarms
|
||||
- Load balancer (optional)
|
||||
|
||||
**AWS MSK Deployment**:
|
||||
- MSK cluster (3-6 brokers)
|
||||
- VPC, subnets, security groups
|
||||
- IAM authentication
|
||||
- CloudWatch monitoring
|
||||
- Auto-scaling (optional)
|
||||
|
||||
**Azure Event Hubs Deployment**:
|
||||
- Event Hubs namespace (Premium SKU)
|
||||
- Event hubs (topics)
|
||||
- Private endpoints
|
||||
- Auto-inflate enabled
|
||||
- Zone redundancy
|
||||
|
||||
## Prerequisites
|
||||
|
||||
- Terraform 1.5+ installed
|
||||
- AWS CLI (for AWS deployments) or Azure CLI (for Azure)
|
||||
- Appropriate cloud credentials configured
|
||||
- VPC and subnets created (if deploying to cloud)
|
||||
|
||||
## Post-Deployment
|
||||
|
||||
After deployment succeeds, I'll:
|
||||
1. ✅ Output bootstrap servers
|
||||
2. ✅ Provide connection examples
|
||||
3. ✅ Suggest running `/specweave-kafka:monitor-setup` for Prometheus + Grafana
|
||||
4. ✅ Suggest testing with `/specweave-kafka:dev-env` locally
|
||||
|
||||
---
|
||||
|
||||
**Skills Activated**: kafka-iac-deployment, kafka-architecture
|
||||
**Related Commands**: /specweave-kafka:monitor-setup, /specweave-kafka:dev-env
|
||||
Reference in New Issue
Block a user