616 lines
14 KiB
Markdown
616 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
|
||
apiVersion: argoproj.io/v1alpha1
|
||
kind: Application
|
||
metadata:
|
||
name: argocd
|
||
namespace: argocd
|
||
spec:
|
||
source:
|
||
repoURL:
|
||
"[object Object]": null
|
||
targetRevision:
|
||
"[object Object]": null
|
||
path:
|
||
"[object Object]": null
|
||
```
|
||
|
||
^^/CONDITION: uses_argocd^^
|
||
|
||
^^CONDITION: uses_flux^^
|
||
|
||
```yaml
|
||
apiVersion: source.toolkit.fluxcd.io/v1beta2
|
||
kind: GitRepository
|
||
metadata:
|
||
name: flux-system
|
||
namespace: flux-system
|
||
spec:
|
||
interval: 1m
|
||
ref:
|
||
branch:
|
||
"[object Object]": null
|
||
url:
|
||
"[object Object]": null
|
||
```
|
||
|
||
^^/CONDITION: uses_flux^^
|
||
|
||
### Repository Structure
|
||
|
||
```text
|
||
platform-gitops/
|
||
|