Validation Status
Components
| Component | Validation Method | Status | Notes |
|---|---|---|---|
| Kubernetes manifests | kubeval, dry-run | ✅ Validated | All manifests validated locally |
| Helm charts | helm template | ✅ Validated | Charts render successfully |
| Network policies | kubectl apply --dry-run | ✅ Validated | Policies validated |
| Terraform modules | terraform validate | ✅ Validated | All modules pass validation (GCP and AWS) |
| Terraform plan (GCP) | terraform plan | ⚠️ Reviewed | Requires GCP credentials |
| Terraform plan (AWS) | terraform plan | ⚠️ Reviewed | Requires AWS credentials |
| GCP resources | Requires deployment | ⚠️ Reviewed | Not deployed to GCP |
| AWS resources | Requires deployment | ⚠️ Reviewed | Not deployed to AWS |
| Firewall rules (GCP) | Requires deployment | ⚠️ Reviewed | GCP firewall rules require deployment |
| Security groups (AWS) | Requires deployment | ⚠️ Reviewed | AWS security groups require deployment |
| Proxy functionality | Requires deployment | ⚠️ Reviewed | Squid proxy requires deployment |
Multi-Cloud Support
This lab supports two deployment options:
- GCP (GKE) - GKE cluster with firewall rules
- AWS (EKS) - EKS cluster with security groups
Validation status applies to both providers unless otherwise noted. The Kubernetes application layer (Argo Workflows, proxy configuration, network policies) is identical across both providers.
How to Validate
Local Validation
bash
# Validate Terraform
cd labs/04-firewall-restricted-deployment
terraform init
terraform validate
terraform fmt -check
# Validate Kubernetes manifests
kubectl apply --dry-run=client -f manifests/
# Validate network policies
kubectl apply --dry-run=client -f manifests/network-policy-egress.yaml
# Validate Helm charts
helm template argo-workflows argo/argo-workflows \
--values ../../modules/kubernetes/argo-workflows/helm-values.yamlCloud Validation (GCP)
bash
# Requires GCP project and credentials
cd labs/04-firewall-restricted-deployment
# Set cloud_provider = "gcp" in terraform.tfvars
terraform plan
terraform apply
# Deploy and validate
./scripts/deploy-argo.sh
./scripts/validate.sh
./scripts/test-egress.shCloud Validation (AWS)
bash
# Requires AWS account and credentials
cd labs/04-firewall-restricted-deployment
# Set cloud_provider = "aws" in terraform.tfvars
terraform plan
terraform apply
# Deploy and validate
./scripts/deploy-argo.sh
./scripts/validate.sh
./scripts/test-egress.shProvider-Specific Validation
GCP (GKE)
- ✅ Firewall Rules: Validated via Terraform configuration
- ✅ Proxy Setup: Validated via startup script
- ✅ Network Policies: Validated locally
- ⚠️ Egress Restrictions: Requires deployment to test
AWS (EKS)
- ✅ Security Groups: Validated via Terraform configuration
- ✅ Proxy Setup: Validated via user data script
- ✅ Network Policies: Validated locally
- ⚠️ Egress Restrictions: Requires deployment to test
Community Validation
If you've deployed this lab successfully, please:
- Open an issue confirming successful deployment
- Note your:
- Provider (GCP or AWS)
- Region/zone
- Any modifications made
- Confirm firewall/security group restrictions are working as expected
- Note any proxy configuration adjustments needed
- Update this file via PR if appropriate
Community Validation Results
- GCP: ⏳ Awaiting community validation
- AWS: ⏳ Awaiting community validation
Status Legend
- ✅ Validated - Tested and confirmed working
- ⏳ Pending - Not yet validated
- ⚠️ Reviewed - Code reviewed but not deployed
- ❌ Failed - Validation failed (see notes)