mirror of
https://github.com/bmadcode/BMAD-METHOD.git
synced 2025-12-29 16:14:59 +00:00
617 lines
14 KiB
Markdown
617 lines
14 KiB
Markdown
|
|
# {{Project Name}} Platform Infrastructure Implementation
|
|||
|
|
|
|||
|
|
[[LLM: Initial Setup
|
|||
|
|
|
|||
|
|
1. Replace {{Project Name}} with the actual project name throughout the document
|
|||
|
|
2. Gather and review required inputs:
|
|||
|
|
|
|||
|
|
- **Infrastructure Architecture Document** (Primary input - REQUIRED)
|
|||
|
|
- Infrastructure Change Request (if applicable)
|
|||
|
|
- Infrastructure Guidelines
|
|||
|
|
- Technology Stack Document
|
|||
|
|
- Infrastructure Checklist
|
|||
|
|
- NOTE: If Infrastructure Architecture Document is missing, HALT and request: "I need the Infrastructure Architecture Document to proceed with platform implementation. This document defines the infrastructure design that we'll be implementing."
|
|||
|
|
|
|||
|
|
3. Validate that the infrastructure architecture has been reviewed and approved
|
|||
|
|
4. <critical_rule>All platform implementation must align with the approved infrastructure architecture. Any deviations require architect approval.</critical_rule>
|
|||
|
|
|
|||
|
|
Output file location: `docs/platform-infrastructure/platform-implementation.md`]]
|
|||
|
|
|
|||
|
|
## Executive Summary
|
|||
|
|
|
|||
|
|
[[LLM: Provide a high-level overview of the platform infrastructure being implemented, referencing the infrastructure architecture document's key decisions and requirements.]]
|
|||
|
|
|
|||
|
|
- Platform implementation scope and objectives
|
|||
|
|
- Key architectural decisions being implemented
|
|||
|
|
- Expected outcomes and benefits
|
|||
|
|
- Timeline and milestones
|
|||
|
|
|
|||
|
|
## Joint Planning Session with Architect
|
|||
|
|
|
|||
|
|
[[LLM: Document the collaborative planning session between DevOps/Platform Engineer and Architect. This ensures alignment before implementation begins.]]
|
|||
|
|
|
|||
|
|
### Architecture Alignment Review
|
|||
|
|
|
|||
|
|
- Review of infrastructure architecture document
|
|||
|
|
- Confirmation of design decisions
|
|||
|
|
- Identification of any ambiguities or gaps
|
|||
|
|
- Agreement on implementation approach
|
|||
|
|
|
|||
|
|
### Implementation Strategy Collaboration
|
|||
|
|
|
|||
|
|
- Platform layer sequencing
|
|||
|
|
- Technology stack validation
|
|||
|
|
- Integration approach between layers
|
|||
|
|
- Testing and validation strategy
|
|||
|
|
|
|||
|
|
### Risk & Constraint Discussion
|
|||
|
|
|
|||
|
|
- Technical risks and mitigation strategies
|
|||
|
|
- Resource constraints and workarounds
|
|||
|
|
- Timeline considerations
|
|||
|
|
- Compliance and security requirements
|
|||
|
|
|
|||
|
|
### Implementation Validation Planning
|
|||
|
|
|
|||
|
|
- Success criteria for each platform layer
|
|||
|
|
- Testing approach and acceptance criteria
|
|||
|
|
- Rollback strategies
|
|||
|
|
- Communication plan
|
|||
|
|
|
|||
|
|
### Documentation & Knowledge Transfer Planning
|
|||
|
|
|
|||
|
|
- Documentation requirements
|
|||
|
|
- Knowledge transfer approach
|
|||
|
|
- Training needs identification
|
|||
|
|
- Handoff procedures
|
|||
|
|
|
|||
|
|
## Foundation Infrastructure Layer
|
|||
|
|
|
|||
|
|
[[LLM: Implement the base infrastructure layer based on the infrastructure architecture. This forms the foundation for all platform services.]]
|
|||
|
|
|
|||
|
|
### Cloud Provider Setup
|
|||
|
|
|
|||
|
|
- Account/Subscription configuration
|
|||
|
|
- Region selection and setup
|
|||
|
|
- Resource group/organizational structure
|
|||
|
|
- Cost management setup
|
|||
|
|
|
|||
|
|
### Network Foundation
|
|||
|
|
|
|||
|
|
```hcl
|
|||
|
|
# Example Terraform for VPC setup
|
|||
|
|
module "vpc" {
|
|||
|
|
source = "./modules/vpc"
|
|||
|
|
|
|||
|
|
cidr_block = "{{vpc_cidr}}"
|
|||
|
|
availability_zones = {{availability_zones}}
|
|||
|
|
public_subnets = {{public_subnets}}
|
|||
|
|
private_subnets = {{private_subnets}}
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### Security Foundation
|
|||
|
|
|
|||
|
|
- IAM roles and policies
|
|||
|
|
- Security groups and NACLs
|
|||
|
|
- Encryption keys (KMS/Key Vault)
|
|||
|
|
- Compliance controls
|
|||
|
|
|
|||
|
|
### Core Services
|
|||
|
|
|
|||
|
|
- DNS configuration
|
|||
|
|
- Certificate management
|
|||
|
|
- Logging infrastructure
|
|||
|
|
- Monitoring foundation
|
|||
|
|
|
|||
|
|
[[LLM: Platform Layer Elicitation
|
|||
|
|
After implementing foundation infrastructure, present:
|
|||
|
|
"For the Foundation Infrastructure layer, I can explore:
|
|||
|
|
|
|||
|
|
1. **Platform Layer Security Hardening** - Additional security controls and compliance validation
|
|||
|
|
2. **Performance Optimization** - Network and resource optimization
|
|||
|
|
3. **Operational Excellence Enhancement** - Automation and monitoring improvements
|
|||
|
|
4. **Platform Integration Validation** - Verify foundation supports upper layers
|
|||
|
|
5. **Developer Experience Analysis** - Foundation impact on developer workflows
|
|||
|
|
6. **Disaster Recovery Testing** - Foundation resilience validation
|
|||
|
|
7. **BMAD Workflow Integration** - Cross-agent support verification
|
|||
|
|
8. **Finalize and Proceed to Container Platform**
|
|||
|
|
|
|||
|
|
Select an option (1-8):"]]
|
|||
|
|
|
|||
|
|
## Container Platform Implementation
|
|||
|
|
|
|||
|
|
[[LLM: Build the container orchestration platform on top of the foundation infrastructure, following the architecture's container strategy.]]
|
|||
|
|
|
|||
|
|
### Kubernetes Cluster Setup
|
|||
|
|
|
|||
|
|
^^CONDITION: uses_eks^^
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
# EKS Cluster Configuration
|
|||
|
|
eksctl create cluster \
|
|||
|
|
--name {{cluster_name}} \
|
|||
|
|
--region {{aws_region}} \
|
|||
|
|
--nodegroup-name {{nodegroup_name}} \
|
|||
|
|
--node-type {{instance_type}} \
|
|||
|
|
--nodes {{node_count}}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
^^/CONDITION: uses_eks^^
|
|||
|
|
|
|||
|
|
^^CONDITION: uses_aks^^
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
# AKS Cluster Configuration
|
|||
|
|
az aks create \
|
|||
|
|
--resource-group {{resource_group}} \
|
|||
|
|
--name {{cluster_name}} \
|
|||
|
|
--node-count {{node_count}} \
|
|||
|
|
--node-vm-size {{vm_size}} \
|
|||
|
|
--network-plugin azure
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
^^/CONDITION: uses_aks^^
|
|||
|
|
|
|||
|
|
### Node Configuration
|
|||
|
|
|
|||
|
|
- Node groups/pools setup
|
|||
|
|
- Autoscaling configuration
|
|||
|
|
- Node security hardening
|
|||
|
|
- Resource quotas and limits
|
|||
|
|
|
|||
|
|
### Cluster Services
|
|||
|
|
|
|||
|
|
- CoreDNS configuration
|
|||
|
|
- Ingress controller setup
|
|||
|
|
- Certificate management
|
|||
|
|
- Storage classes
|
|||
|
|
|
|||
|
|
### Security & RBAC
|
|||
|
|
|
|||
|
|
- RBAC policies
|
|||
|
|
- Pod security policies/standards
|
|||
|
|
- Network policies
|
|||
|
|
- Secrets management
|
|||
|
|
|
|||
|
|
[[LLM: Present container platform elicitation options similar to foundation layer]]
|
|||
|
|
|
|||
|
|
## GitOps Workflow Implementation
|
|||
|
|
|
|||
|
|
[[LLM: Implement GitOps patterns for declarative infrastructure and application management as defined in the architecture.]]
|
|||
|
|
|
|||
|
|
### GitOps Tooling Setup
|
|||
|
|
|
|||
|
|
^^CONDITION: uses_argocd^^
|
|||
|
|
|
|||
|
|
```yaml
|
|||
|
|
# ArgoCD Installation
|
|||
|
|
apiVersion: argoproj.io/v1alpha1
|
|||
|
|
kind: Application
|
|||
|
|
metadata:
|
|||
|
|
name: argocd
|
|||
|
|
namespace: argocd
|
|||
|
|
spec:
|
|||
|
|
source:
|
|||
|
|
repoURL: { { gitops_repo } }
|
|||
|
|
targetRevision: { { branch } }
|
|||
|
|
path: { { argocd_path } }
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
^^/CONDITION: uses_argocd^^
|
|||
|
|
|
|||
|
|
^^CONDITION: uses_flux^^
|
|||
|
|
|
|||
|
|
```yaml
|
|||
|
|
# Flux Installation
|
|||
|
|
apiVersion: source.toolkit.fluxcd.io/v1beta2
|
|||
|
|
kind: GitRepository
|
|||
|
|
metadata:
|
|||
|
|
name: flux-system
|
|||
|
|
namespace: flux-system
|
|||
|
|
spec:
|
|||
|
|
interval: 1m
|
|||
|
|
ref:
|
|||
|
|
branch: { { branch } }
|
|||
|
|
url: { { gitops_repo } }
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
^^/CONDITION: uses_flux^^
|
|||
|
|
|
|||
|
|
### Repository Structure
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
platform-gitops/
|
|||
|
|
|