Skip to content

Commit 7dd55a5

Browse files
authored
Merge pull request #199 from kbst/removeclusterservices
Remove cluster-services from cluster modules
2 parents 6a78aa3 + f767ed6 commit 7dd55a5

File tree

121 files changed

+934
-1446
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

121 files changed

+934
-1446
lines changed

.github/workflows/main.yml

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -116,28 +116,28 @@ jobs:
116116
working-directory: ./kubestack-starter-${{ matrix.starter }}
117117
run: |
118118
# ALL: set name_prefix
119-
sed -i 's/name_prefix = ""/name_prefix = "test"/g' config.auto.tfvars
119+
sed -i 's/name_prefix = ""/name_prefix = "test"/g' *_cluster.tf
120120
121121
# ALL: set base_domain
122-
sed -i 's/base_domain = ""/base_domain = "infra.serverwolken.de"/g' config.auto.tfvars
122+
sed -i 's/base_domain = ""/base_domain = "infra.serverwolken.de"/g' *_cluster.tf
123123
124124
# AKS: set resource_group
125-
sed -i 's/resource_group = ""/resource_group = "terraform-kubestack-testing"/g' config.auto.tfvars
125+
sed -i 's/resource_group = ""/resource_group = "terraform-kubestack-testing"/g' aks_zero_cluster.tf || true
126126
127127
# EKS: set region
128-
sed -i 's/region = ""/region = "eu-west-1"/g' providers.tf || true
128+
sed -i 's/region = ""/region = "eu-west-1"/g' eks_zero_providers.tf || true
129129
130130
# EKS: set cluster_availability_zones
131-
sed -i 's/cluster_availability_zones = ""/cluster_availability_zones = "eu-west-1a,eu-west-1b"/g' config.auto.tfvars
131+
sed -i 's/cluster_availability_zones = ""/cluster_availability_zones = "eu-west-1a,eu-west-1b"/g' eks_zero_cluster.tf || true
132132
133133
# GKE: set project_id
134-
sed -i 's/project_id = ""/project_id = "terraform-kubestack-testing"/g' config.auto.tfvars
134+
sed -i 's/project_id = ""/project_id = "terraform-kubestack-testing"/g' gke_zero_cluster.tf || true
135135
136136
# GKE: set region
137-
sed -i 's/region = ""/region = "europe-west1"/g' config.auto.tfvars
137+
sed -i 's/region = ""/region = "europe-west1"/g' gke_zero_cluster.tf || true
138138
139139
# GKE: set cluster_node_locations
140-
sed -i 's/cluster_node_locations = ""/cluster_node_locations = "europe-west1-b,europe-west1-c,europe-west1-d"/g' config.auto.tfvars
140+
sed -i 's/cluster_node_locations = ""/cluster_node_locations = "europe-west1-b,europe-west1-c,europe-west1-d"/g' gke_zero_cluster.tf || true
141141
142142
- name: 'Terraform init'
143143
working-directory: ./kubestack-starter-${{ matrix.starter }}
@@ -177,7 +177,7 @@ jobs:
177177
-v `pwd`:/infra \
178178
-v /var/run/docker.sock:/var/run/docker.sock \
179179
test-image:${{ github.sha }} \
180-
terraform plan
180+
terraform plan --target module.aks_zero --target module.eks_zero --target module.gke_zero
181181
182182
publish-image:
183183
runs-on: ubuntu-latest

Makefile

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,9 @@ validate: .init
5757
entrypoint terraform validate
5858

5959
test: validate
60+
docker exec \
61+
test-container-$(GIT_SHA) \
62+
entrypoint terraform apply --target module.aks_zero --target module.eks_zero --target module.gke_zero --input=false --auto-approve
6063
docker exec \
6164
test-container-$(GIT_SHA) \
6265
entrypoint terraform apply --input=false --auto-approve

aws/_modules/eks/cluster_services.tf

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,6 @@
11
module "cluster_services" {
22
source = "../../../common/cluster_services"
33

4-
manifest_path = var.manifest_path
5-
64
template_string = file("${path.module}/templates/kubeconfig.tpl")
75

86
template_vars = {

aws/_modules/eks/ingress.tf

Lines changed: 0 additions & 65 deletions
Original file line numberDiff line numberDiff line change
@@ -1,70 +1,5 @@
1-
resource "kubernetes_service" "current" {
2-
count = var.disable_default_ingress ? 0 : 1
3-
4-
provider = kubernetes.eks
5-
6-
metadata {
7-
name = "ingress-kbst-default"
8-
namespace = "ingress-kbst-default"
9-
}
10-
11-
spec {
12-
type = "LoadBalancer"
13-
14-
selector = {
15-
"kubestack.com/ingress-default" = "true"
16-
}
17-
18-
port {
19-
name = "http"
20-
port = 80
21-
target_port = "http"
22-
}
23-
24-
port {
25-
name = "https"
26-
port = 443
27-
target_port = "https"
28-
}
29-
}
30-
31-
depends_on = [module.cluster_services]
32-
}
33-
341
resource "aws_route53_zone" "current" {
352
count = var.disable_default_ingress ? 0 : 1
363

374
name = "${var.metadata_fqdn}."
385
}
39-
40-
data "aws_elb_hosted_zone_id" "current" {
41-
count = var.disable_default_ingress ? 0 : 1
42-
}
43-
44-
resource "aws_route53_record" "host" {
45-
count = var.disable_default_ingress ? 0 : 1
46-
47-
zone_id = aws_route53_zone.current[0].zone_id
48-
name = var.metadata_fqdn
49-
type = "A"
50-
51-
alias {
52-
name = kubernetes_service.current[0].status[0].load_balancer[0].ingress[0].hostname
53-
zone_id = data.aws_elb_hosted_zone_id.current[0].id
54-
evaluate_target_health = true
55-
}
56-
}
57-
58-
resource "aws_route53_record" "wildcard" {
59-
count = var.disable_default_ingress ? 0 : 1
60-
61-
zone_id = aws_route53_zone.current[0].zone_id
62-
name = "*.${var.metadata_fqdn}"
63-
type = "A"
64-
65-
alias {
66-
name = kubernetes_service.current[0].status[0].load_balancer[0].ingress[0].hostname
67-
zone_id = data.aws_elb_hosted_zone_id.current[0].id
68-
evaluate_target_health = true
69-
}
70-
}

aws/_modules/eks/kubeconfig.tf

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
data "template_file" "kubeconfig" {
2+
template = file("${path.module}/templates/kubeconfig.tpl")
3+
4+
vars = {
5+
cluster_name = aws_eks_cluster.current.name
6+
cluster_endpoint = aws_eks_cluster.current.endpoint
7+
cluster_ca = aws_eks_cluster.current.certificate_authority[0].data
8+
caller_id_arn = local.caller_id_arn
9+
caller_id_arn_type = local.caller_id_arn_type
10+
}
11+
}

aws/_modules/eks/outputs.tf

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
11
output "kubeconfig" {
2-
sensitive = true
3-
value = module.cluster_services.kubeconfig
2+
value = data.template_file.kubeconfig.rendered
43
}

aws/_modules/eks/variables.tf

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -65,11 +65,6 @@ variable "aws_auth_map_accounts" {
6565
type = string
6666
}
6767

68-
variable "manifest_path" {
69-
type = string
70-
description = "Path to Kustomize overlay to build."
71-
}
72-
7368
variable "disable_default_ingress" {
7469
type = bool
7570
description = "Whether to disable the default ingress."

aws/cluster-local/configuration.tf

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,9 +19,6 @@ locals {
1919
https_port_default = terraform.workspace == "apps" ? 443 : 8443
2020
https_port = lookup(local.cfg, "https_port", local.https_port_default)
2121

22-
manifest_path_default = "manifests/overlays/${terraform.workspace}"
23-
manifest_path = var.manifest_path != null ? var.manifest_path : local.manifest_path_default
24-
2522
disable_default_ingress = lookup(local.cfg, "disable_default_ingress", false)
2623

2724
node_image = lookup(local.cfg, "node_image", null)
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
variable "ingress_service_name" {
2+
type = string
3+
description = "Metadata name of the ingress service."
4+
}
5+
6+
variable "ingress_service_namespace" {
7+
type = string
8+
description = "Metadata namespace of the ingress service."
9+
}
10+
11+
variable "metadata_fqdn" {
12+
type = string
13+
description = "Cluster module FQDN."
14+
}
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
terraform {
2+
required_providers {
3+
aws = {
4+
source = "hashicorp/aws"
5+
}
6+
7+
kubernetes = {
8+
source = "hashicorp/kubernetes"
9+
}
10+
}
11+
12+
required_version = ">= 0.13"
13+
}

0 commit comments

Comments
 (0)