mirror of
https://github.com/cdr/code-server.git
synced 2025-12-07 08:52:16 +01:00
This commit adds complete Terraform infrastructure as code for deploying code-server on both EC2 and EKS platforms with enterprise-grade security and SAML/OIDC authentication. Features: - EC2 deployment with Auto Scaling Groups and Application Load Balancer - EKS deployment with managed node groups and AWS Load Balancer Controller - Private network setup with VPC, private subnets, and NAT gateways - SAML/OIDC authentication using OAuth2 Proxy - Security hardening: - KMS encryption for data at rest - TLS encryption in transit - IAM roles with least privilege - Security groups with minimal access - VPC Flow Logs - IMDSv2 enforcement - Auto-scaling capabilities for both EC2 and EKS - CloudWatch logging and monitoring - Automated deployment scripts Terraform Modules: - modules/vpc: VPC with public/private subnets, NAT, and VPC endpoints - modules/security: Security groups, IAM roles, and KMS keys - modules/ec2: EC2 Auto Scaling deployment with ALB - modules/eks: EKS cluster with managed node groups and addons Deployments: - deployments/ec2: EC2 deployment configuration - deployments/eks: EKS deployment configuration with Kubernetes manifests Documentation: - README.md: Comprehensive deployment and operations guide - QUICK-START.md: Quick reference for fast deployment - SAML-SETUP-GUIDE.md: Step-by-step IdP configuration guide Scripts: - scripts/deploy-ec2.sh: Automated EC2 deployment - scripts/deploy-eks.sh: Automated EKS deployment - scripts/destroy-ec2.sh: EC2 cleanup - scripts/destroy-eks.sh: EKS cleanup
51 lines
1.4 KiB
HCL
51 lines
1.4 KiB
HCL
# Security Module Outputs
|
|
|
|
output "alb_security_group_id" {
|
|
description = "ID of the ALB security group"
|
|
value = aws_security_group.alb.id
|
|
}
|
|
|
|
output "code_server_ec2_security_group_id" {
|
|
description = "ID of the Code-Server EC2 security group"
|
|
value = aws_security_group.code_server_ec2.id
|
|
}
|
|
|
|
output "eks_cluster_security_group_id" {
|
|
description = "ID of the EKS cluster security group"
|
|
value = aws_security_group.eks_cluster.id
|
|
}
|
|
|
|
output "eks_nodes_security_group_id" {
|
|
description = "ID of the EKS nodes security group"
|
|
value = aws_security_group.eks_nodes.id
|
|
}
|
|
|
|
output "code_server_ec2_iam_role_arn" {
|
|
description = "ARN of the Code-Server EC2 IAM role"
|
|
value = aws_iam_role.code_server_ec2.arn
|
|
}
|
|
|
|
output "code_server_ec2_instance_profile_name" {
|
|
description = "Name of the Code-Server EC2 instance profile"
|
|
value = aws_iam_instance_profile.code_server_ec2.name
|
|
}
|
|
|
|
output "eks_cluster_iam_role_arn" {
|
|
description = "ARN of the EKS cluster IAM role"
|
|
value = aws_iam_role.eks_cluster.arn
|
|
}
|
|
|
|
output "eks_nodes_iam_role_arn" {
|
|
description = "ARN of the EKS nodes IAM role"
|
|
value = aws_iam_role.eks_nodes.arn
|
|
}
|
|
|
|
output "kms_key_id" {
|
|
description = "ID of the KMS key"
|
|
value = aws_kms_key.code_server.key_id
|
|
}
|
|
|
|
output "kms_key_arn" {
|
|
description = "ARN of the KMS key"
|
|
value = aws_kms_key.code_server.arn
|
|
}
|