Skip to content

Validation Status

Components

ComponentValidation MethodStatusNotes
Kubernetes manifestskubeval, dry-run✅ ValidatedAll manifests validated locally
Helm chartshelm template✅ ValidatedCharts render successfully
Network policieskubectl apply --dry-run✅ ValidatedPolicies validated
Terraform modulesterraform validate✅ ValidatedAll modules pass validation (GCP and AWS)
Terraform plan (GCP)terraform plan⚠️ ReviewedRequires GCP credentials
Terraform plan (AWS)terraform plan⚠️ ReviewedRequires AWS credentials
GCP resourcesRequires deployment⚠️ ReviewedNot deployed to GCP
AWS resourcesRequires deployment⚠️ ReviewedNot deployed to AWS
Firewall rules (GCP)Requires deployment⚠️ ReviewedGCP firewall rules require deployment
Security groups (AWS)Requires deployment⚠️ ReviewedAWS security groups require deployment
Proxy functionalityRequires deployment⚠️ ReviewedSquid proxy requires deployment

Multi-Cloud Support

This lab supports two deployment options:

  1. GCP (GKE) - GKE cluster with firewall rules
  2. 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.yaml

Cloud 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.sh

Cloud 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.sh

Provider-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:

  1. Open an issue confirming successful deployment
  2. Note your:
    • Provider (GCP or AWS)
    • Region/zone
    • Any modifications made
  3. Confirm firewall/security group restrictions are working as expected
  4. Note any proxy configuration adjustments needed
  5. 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)

Released under the MIT License.