@@ -39,63 +39,67 @@ resource "time_sleep" "wait_acm" {
39
39
}
40
40
41
41
resource "google_service_account_iam_binding" "ksa_iam" {
42
- count = length (local. iam_ksa_binding_members ) > 0 ? 1 : 0
42
+ count = length (local. iam_ksa_binding_members ) > 0 ? 1 : 0
43
+ depends_on = [google_gke_hub_feature_membership . main ]
44
+
43
45
service_account_id = google_service_account. acm_metrics_writer_sa [0 ]. name
44
46
role = " roles/iam.workloadIdentityUser"
45
47
46
48
members = [
47
49
for ksa in local . iam_ksa_binding_members : " serviceAccount:${ var . project_id } .svc.id.goog[${ ksa } ]"
48
50
]
49
-
50
- depends_on = [google_gke_hub_feature_membership . main ]
51
51
}
52
52
53
- module "annotate-sa-config-management-monitoring" {
54
- source = " terraform-google-modules/gcloud/google//modules/kubectl-wrapper"
55
- version = " ~> 3.1"
53
+ resource "kubernetes_annotations" "annotate-sa-config-management-monitoring" {
54
+ count = var. enable_config_sync && var. create_metrics_gcp_sa ? 1 : 0
56
55
57
- count = var. enable_config_sync && var. create_metrics_gcp_sa ? 1 : 0
58
- skip_download = true
59
- cluster_name = var. cluster_name
60
- cluster_location = var. location
61
- project_id = var. project_id
56
+ api_version = " v1"
57
+ kind = " ServiceAccount"
62
58
63
- kubectl_create_command = " kubectl annotate --overwrite sa -n config-management-monitoring default iam.gke.io/gcp-service-account=${ google_service_account . acm_metrics_writer_sa [0 ]. email } "
64
- kubectl_destroy_command = " kubectl annotate sa -n config-management-monitoring default iam.gke.io/gcp-service-account-"
59
+ metadata {
60
+ name = " default"
61
+ namespace = " config-management-monitoring"
62
+ }
63
+
64
+ annotations = {
65
+ " iam.gke.io/gcp-service-account" : google_service_account.acm_metrics_writer_sa[0 ].email
66
+ }
65
67
66
- module_depends_on = time_sleep. wait_acm
68
+ depends_on = [ time_sleep . wait_acm ]
67
69
}
68
70
69
- module "annotate-sa-gatekeeper-system" {
70
- source = " terraform-google-modules/gcloud/google//modules/kubectl-wrapper "
71
- version = " ~> 3.1 "
71
+ resource "kubernetes_annotations" "annotate-sa-gatekeeper-system" {
72
+ count = var . enable_policy_controller && var . create_metrics_gcp_sa ? 1 : 0
73
+ depends_on = [ time_sleep . wait_acm ]
72
74
73
- count = var. enable_policy_controller && var. create_metrics_gcp_sa ? 1 : 0
74
- skip_download = true
75
- cluster_name = var. cluster_name
76
- cluster_location = var. location
77
- project_id = var. project_id
75
+ api_version = " v1"
76
+ kind = " ServiceAccount"
78
77
79
- kubectl_create_command = " kubectl annotate --overwrite sa -n gatekeeper-system gatekeeper-admin iam.gke.io/gcp-service-account=${ google_service_account . acm_metrics_writer_sa [0 ]. email } "
80
- kubectl_destroy_command = " kubectl annotate sa -n gatekeeper-system gatekeeper-admin iam.gke.io/gcp-service-account-"
78
+ metadata {
79
+ name = " gatekeeper-admin"
80
+ namespace = " gatekeeper-system"
81
+ }
81
82
82
- module_depends_on = time_sleep. wait_acm
83
+ annotations = {
84
+ " iam.gke.io/gcp-service-account" : google_service_account.acm_metrics_writer_sa[0 ].email
85
+ }
83
86
}
84
87
85
- module "annotate-sa-gatekeeper-system-restart" {
86
- source = " terraform-google-modules/gcloud/google//modules/kubectl-wrapper "
87
- version = " ~> 3.1 "
88
+ resource "time_static" "restarted_at" {}
89
+ resource "kubernetes_annotations" "annotate-sa-gatekeeper-system-restart" {
90
+ count = var . enable_policy_controller && var . create_metrics_gcp_sa ? 1 : 0
88
91
89
- count = var. enable_policy_controller && var. create_metrics_gcp_sa ? 1 : 0
90
- skip_download = true
91
- cluster_name = var. cluster_name
92
- cluster_location = var. location
93
- project_id = var. project_id
94
-
95
- kubectl_create_command = " kubectl rollout restart deployment gatekeeper-controller-manager -n gatekeeper-system"
96
- kubectl_destroy_command = " "
92
+ api_version = " apps/v1"
93
+ kind = " Deployment"
94
+ metadata {
95
+ name = " gatekeeper-controller-manager"
96
+ namespace = " gatekeeper-system"
97
+ }
98
+ template_annotations = {
99
+ " kubectl.kubernetes.io/restartedAt" = time_static.restarted_at.rfc3339
100
+ }
97
101
98
- module_depends_on = module . annotate-sa-gatekeeper-system
102
+ depends_on = [ kubernetes_annotations . annotate-sa-gatekeeper-system ]
99
103
}
100
104
101
105
resource "google_service_account" "acm_metrics_writer_sa" {
0 commit comments