File tree Expand file tree Collapse file tree 12 files changed +125
-2
lines changed Expand file tree Collapse file tree 12 files changed +125
-2
lines changed Original file line number Diff line number Diff line change
1
+ provider "helm" {
2
+ kubernetes {
3
+ host = var. k8s_host
4
+ cluster_ca_certificate = base64decode (var. k8s_cluster_ca_certificate )
5
+ token = var. k8s_client_token
6
+ }
7
+ }
8
+
9
+ provider "kubectl" {
10
+ host = var. k8s_host
11
+ cluster_ca_certificate = base64decode (var. k8s_cluster_ca_certificate )
12
+ token = var. k8s_client_token
13
+ load_config_file = false
14
+ }
15
+
16
+ provider "kubernetes" {
17
+ host = var. k8s_host
18
+ cluster_ca_certificate = base64decode (var. k8s_cluster_ca_certificate )
19
+ token = var. k8s_client_token
20
+ }
21
+
22
+ # Gatekeeper Deployment using helm chart
23
+ resource "helm_release" "gatekeeper" {
24
+ count = var. gatekeeper_enabled == true ? 1 : 0
25
+ name = " gatekeeper"
26
+ repository = " https://open-policy-agent.github.io/gatekeeper/charts"
27
+ chart = " gatekeeper"
28
+ version = var. gatekeeper_version
29
+ create_namespace = true
30
+ namespace = " gatekeeper-system"
31
+ timeout = 240
32
+
33
+ values = [
34
+ file (" ${ path . module } /manifests/gatekeeper-values.yaml" )
35
+ ]
36
+ }
Original file line number Diff line number Diff line change
1
+ replicas : 1
Original file line number Diff line number Diff line change
1
+ terraform {
2
+ required_providers {
3
+ kubectl = {
4
+ source = " alekc/kubectl"
5
+ version = " 2.0.3"
6
+ }
7
+ }
8
+ }
Original file line number Diff line number Diff line change
1
+ variable "cluster_name" {
2
+ }
3
+
4
+ variable "k8s_host" {
5
+ }
6
+
7
+ variable "k8s_cluster_ca_certificate" {
8
+ }
9
+
10
+ variable "k8s_client_token" {
11
+ }
12
+
13
+ variable "gatekeeper_enabled" {
14
+ }
15
+
16
+ variable "gatekeeper_version" {
17
+ default = " 3.15.0"
18
+ }
Original file line number Diff line number Diff line change @@ -130,3 +130,4 @@ data "kubernetes_service" "tsb" {
130
130
}
131
131
depends_on = [time_sleep . wait_240_seconds ]
132
132
}
133
+
Original file line number Diff line number Diff line change @@ -66,4 +66,3 @@ variable "es_cacert" {
66
66
67
67
68
68
69
-
Original file line number Diff line number Diff line change 19
19
},
20
20
"tsb-monitoring": {
21
21
"enabled": true
22
+ },
23
+ "gatekeeper": {
24
+ "enabled" : true
22
25
}
23
26
}
24
27
}
41
44
},
42
45
"tsb-monitoring": {
43
46
"enabled": true
47
+ },
48
+ "gatekeeper": {
49
+ "enabled" : true
44
50
}
45
51
}
46
52
}
63
69
},
64
70
"tsb-monitoring": {
65
71
"enabled": true
72
+ },
73
+ "gatekeeper": {
74
+ "enabled" : true
66
75
}
67
76
}
68
77
}
Original file line number Diff line number Diff line change 9
9
"addons": {
10
10
"argocd": {
11
11
"enabled": true
12
+ },
13
+ "gatekeeper": {
14
+ "enabled" : true
12
15
}
13
16
}
14
17
}
22
25
"addons": {
23
26
"argocd": {
24
27
"enabled": true
28
+ },
29
+ "gatekeeper": {
30
+ "enabled": true
25
31
}
26
32
}
27
33
}
35
41
"addons": {
36
42
"argocd": {
37
43
"enabled": true
44
+ },
45
+ "gatekeeper": {
46
+ "enabled": true
38
47
}
39
48
}
40
49
}
Original file line number Diff line number Diff line change @@ -37,6 +37,15 @@ module "ratelimit" {
37
37
enabled = var. ratelimit_enabled
38
38
}
39
39
40
+ module "gatekeeper" {
41
+ source = " ../../modules/addons/gatekeeper"
42
+ cluster_name = data. terraform_remote_state . infra . outputs . cluster_name
43
+ k8s_host = data. terraform_remote_state . infra . outputs . host
44
+ k8s_cluster_ca_certificate = data. terraform_remote_state . infra . outputs . cluster_ca_certificate
45
+ k8s_client_token = data. terraform_remote_state . k8s_auth . outputs . token
46
+ gatekeeper_enabled = local. cluster . tetrate . management_plane ? false : local. cluster . addons . gatekeeper
47
+ }
48
+
40
49
module "tsb_cp" {
41
50
source = " ../../modules/tsb/cp"
42
51
cloud = local. cluster . cloud
Original file line number Diff line number Diff line change @@ -9,6 +9,11 @@ variable "cluster" {
9
9
control_plane = optional (bool )
10
10
management_plane = optional (bool )
11
11
})
12
+ addons = object ({
13
+ gatekeeper = object ({
14
+ enabled = optional (bool )
15
+ })
16
+ })
12
17
version = optional (string )
13
18
workspace = string
14
19
})
@@ -21,6 +26,9 @@ locals {
21
26
management_plane = false
22
27
}
23
28
version = " 1.27"
29
+ addons = {
30
+ gatekeeper = false
31
+ }
24
32
}
25
33
cluster = {
26
34
cloud = var.cluster.cloud
@@ -33,6 +41,10 @@ locals {
33
41
}
34
42
version = coalesce (var. cluster . version , local. cluster_defaults . version )
35
43
workspace = var.cluster.workspace
44
+ addons = {
45
+ gatekeeper = coalesce (var. cluster . addons . gatekeeper . enabled ,local. cluster_defaults . addons . gatekeeper )
46
+ }
47
+
36
48
}
37
49
}
38
50
You can’t perform that action at this time.
0 commit comments