diff --git a/aws/README.md b/aws/README.md deleted file mode 100644 index e19761b..0000000 --- a/aws/README.md +++ /dev/null @@ -1,3 +0,0 @@ -# AWS Infrastructure - -Terraform for defining an AWS testing environment for cert-manager. diff --git a/aws/main.tf b/aws/main.tf deleted file mode 100644 index af05690..0000000 --- a/aws/main.tf +++ /dev/null @@ -1,131 +0,0 @@ -terraform { - backend "s3" { - bucket = "terraform-state-eks-cert-manager" - key = "global/s3/terraform.tfstate" - region = "us-east-2" - } -} - -provider "aws" { - region = var.region -} - -data "aws_eks_cluster" "cluster" { - name = module.eks.cluster_id -} - -data "aws_eks_cluster_auth" "cluster" { - name = module.eks.cluster_id -} - -provider "kubernetes" { - host = data.aws_eks_cluster.cluster.endpoint - cluster_ca_certificate = base64decode(data.aws_eks_cluster.cluster.certificate_authority.0.data) - token = data.aws_eks_cluster_auth.cluster.token -} - -data "aws_availability_zones" "available" { -} - -locals { - cluster_name = "cert-manager-cluster" -} - -module "vpc" { - source = "terraform-aws-modules/vpc/aws" - - name = var.vpc_name - cidr = var.vpc_cidr - azs = data.aws_availability_zones.available.names - private_subnets = var.vpc_private_subnets - public_subnets = var.vpc_public_subnets - enable_nat_gateway = true - single_nat_gateway = true - enable_dns_hostnames = true - - public_subnet_tags = { - "kubernetes.io/cluster/${local.cluster_name}" = "shared" - "kubernetes.io/role/elb" = "1" - } - - private_subnet_tags = { - "kubernetes.io/cluster/${local.cluster_name}" = "shared" - "kubernetes.io/role/internal-elb" = "1" - } -} - -module "eks" { - source = "terraform-aws-modules/eks/aws" - - cluster_name = local.cluster_name - cluster_version = var.eks_cluster_version - subnets = module.vpc.private_subnets - - vpc_id = module.vpc.vpc_id - - node_groups = { - eks_node = { - desired_capacity = var.nodes_desired - max_capacity = var.nodes_max - min_capacity = var.nodes_min - - instance_type = var.nodes_type - } - } - - write_kubeconfig = var.write_kubeconfig -} - -provider "helm" { - kubernetes { - host = data.aws_eks_cluster.cluster.endpoint - cluster_ca_certificate = base64decode(data.aws_eks_cluster.cluster.certificate_authority.0.data) - exec { - api_version = "client.authentication.k8s.io/v1alpha1" - args = ["eks", "get-token", "--cluster-name", module.eks.cluster_id] - command = "aws" - } - } -} - -resource "helm_release" "cert-manager" { - name = "jetstack" - repository = "https://charts.jetstack.io" - chart = "cert-manager" - namespace = "cert-manager" - create_namespace = true - version = var.cert_manager_version - set { - name = "installCRDs" - value = "true" - } -} - -resource "helm_release" "ingress_nginx" { - name = "ingress-nginx" - repository = "https://kubernetes.github.io/ingress-nginx" - chart = "ingress-nginx" - namespace = "default" -} - -data "kubernetes_service" "ingress_service" { - metadata { - name = "ingress-nginx-controller" - } - depends_on = [ - helm_release.ingress_nginx - ] -} - -data "aws_route53_zone" "route53_zone" { - name = "aws.e2e-tests.cert-manager.io" -} - -resource "aws_route53_record" "ingress_record" { - zone_id = data.aws_route53_zone.route53_zone.zone_id - name = "*.${data.aws_route53_zone.route53_zone.name}" - type = "CNAME" - ttl = "60" - records = [data.kubernetes_service.ingress_service.status.0.load_balancer.0.ingress.0.hostname] -} - diff --git a/aws/variables.tf b/aws/variables.tf deleted file mode 100644 index c6032ac..0000000 --- a/aws/variables.tf +++ /dev/null @@ -1,51 +0,0 @@ -variable "region" { - default = "us-east-2" -} - -variable "vpc_name" { - default = "k8s-vpc" -} - -variable "vpc_cidr" { - default = "172.16.0.0/16" -} - -variable "vpc_private_subnets" { - default = ["172.16.1.0/24", "172.16.2.0/24", "172.16.3.0/24"] -} - -variable "vpc_public_subnets" { - default = ["172.16.4.0/24", "172.16.5.0/24", "172.16.6.0/24"] -} - -variable "eks_cluster_version" { - default = "1.17" -} - -variable "nodes_desired" { - default = 1 -} - -variable "nodes_min" { - default = 1 -} - -variable "nodes_max" { - default = 3 -} - -variable "nodes_type" { - default = "t2.small" -} - -variable "write_kubeconfig" { - default = true -} - -variable "kubeconfig_path" { - default = "./kubeconfig_cert-manager-cluster" -} - -variable "cert_manager_version" { - default = "v1.3.1" -}