1
1
locals {
2
- cluster_config_data = templatefile (" ${ path . module } /config_cluster.tmpl" , {
3
- lacework_cluster_name = var.lacework_cluster_name
4
- lacework_cluster_region = var.lacework_cluster_region
5
- lacework_cluster_type = var.lacework_cluster_type
6
- lacework_server_url = var.lacework_server_url
7
- })
8
2
node_config_data = templatefile (" ${ path . module } /config_node.tmpl" , {
9
3
lacework_agent_autoupgrade = var.lacework_agent_autoupgrade
10
4
lacework_agent_interface_connection_size = var.lacework_agent_interface_connection_size
@@ -15,10 +9,8 @@ locals {
15
9
lacework_proxy_url = var.lacework_proxy_url
16
10
lacework_server_url = var.lacework_server_url
17
11
})
18
- cluster_config_name = " ${ var . lacework_config_name } -${ random_id . cluster_config_name_tail . hex } "
19
- node_config_name = " ${ var . lacework_config_name } -${ random_id . node_config_name_tail . hex } "
20
- merged_cluster_config = var. enable_cluster_agent ? yamlencode (merge (yamldecode (local. cluster_config_data ), var. lacework_cluster_configuration )) : " "
21
- merged_node_config = jsonencode (merge (jsondecode (local. node_config_data ), var. lacework_agent_configuration ))
12
+ node_config_name = " ${ var . lacework_config_name } -${ random_id . node_config_name_tail . hex } "
13
+ merged_node_config = jsonencode (merge (jsondecode (local. node_config_data ), var. lacework_agent_configuration ))
22
14
}
23
15
24
16
resource "random_id" "node_config_name_tail" {
@@ -28,13 +20,6 @@ resource "random_id" "node_config_name_tail" {
28
20
}
29
21
}
30
22
31
- resource "random_id" "cluster_config_name_tail" {
32
- byte_length = 8
33
- keepers = {
34
- data = local.merged_cluster_config
35
- }
36
- }
37
-
38
23
resource "kubernetes_secret" "lacework_access_token" {
39
24
metadata {
40
25
name = " ${ var . lacework_agent_name } -access-token"
@@ -323,147 +308,3 @@ resource "kubernetes_daemonset" "lacework_datacollector" {
323
308
}
324
309
}
325
310
}
326
-
327
- resource "kubernetes_service_account" "lacework_k8s_collector" {
328
- count = var. enable_cluster_agent ? 1 : 0
329
-
330
- metadata {
331
- name = " ${ var . lacework_agent_name } -cluster-sa"
332
- namespace = var. namespace
333
- }
334
- }
335
-
336
- resource "kubernetes_cluster_role" "lacework_k8s_collector" {
337
- count = var. enable_cluster_agent ? 1 : 0
338
-
339
- metadata {
340
- name = " ${ var . lacework_agent_name } -cluster-role"
341
- }
342
-
343
- rule {
344
- api_groups = [" *" ]
345
- resources = [" *" ]
346
- verbs = [" get" , " list" ]
347
- }
348
- }
349
-
350
- resource "kubernetes_cluster_role_binding" "lacework_k8s_collector" {
351
- count = var. enable_cluster_agent ? 1 : 0
352
-
353
- metadata {
354
- name = " ${ var . lacework_agent_name } -cluster-role-binding"
355
- }
356
-
357
- role_ref {
358
- api_group = " rbac.authorization.k8s.io"
359
- kind = " ClusterRole"
360
- name = " ${ var . lacework_agent_name } -cluster-role"
361
- }
362
-
363
- subject {
364
- kind = " ServiceAccount"
365
- name = " ${ var . lacework_agent_name } -cluster-sa"
366
- namespace = var. namespace
367
- }
368
-
369
- depends_on = [
370
- kubernetes_service_account . lacework_k8s_collector ,
371
- kubernetes_cluster_role . lacework_k8s_collector
372
- ]
373
- }
374
-
375
- resource "kubernetes_secret" "lacework_k8s_collector" {
376
- count = var. enable_cluster_agent ? 1 : 0
377
-
378
- metadata {
379
- name = local. cluster_config_name
380
- namespace = var. namespace
381
-
382
- labels = {
383
- tier = " monitoring"
384
- app = " ${ var . lacework_agent_name } -cluster"
385
- }
386
- }
387
-
388
- data = {
389
- " config.yaml" = local.merged_cluster_config
390
- }
391
- }
392
-
393
- resource "kubernetes_deployment" "lacework_k8s_collector" {
394
- count = var. enable_cluster_agent ? 1 : 0
395
-
396
- metadata {
397
- name = " ${ var . lacework_agent_name } -cluster"
398
- namespace = var. namespace
399
-
400
- labels = {
401
- tier = " monitoring"
402
- app = " ${ var . lacework_agent_name } -cluster"
403
- }
404
- }
405
-
406
- spec {
407
- selector {
408
- match_labels = {
409
- name = " ${ var . lacework_agent_name } -cluster"
410
- }
411
- }
412
-
413
- template {
414
- metadata {
415
- labels = {
416
- name = " ${ var . lacework_agent_name } -cluster"
417
- }
418
-
419
- annotations = {
420
- lacework_config_version = kubernetes_secret.lacework_k8s_collector[0 ].metadata.0 .resource_version
421
- }
422
- }
423
-
424
- spec {
425
- service_account_name = " ${ var . lacework_agent_name } -cluster-sa"
426
- termination_grace_period_seconds = 20
427
-
428
- container {
429
- name = " ${ var . lacework_agent_name } -cluster"
430
- image = var. lacework_cluster_image
431
- image_pull_policy = var. lacework_cluster_image_pull_policy
432
-
433
- env {
434
- name = " LaceworkAccessToken"
435
- value_from {
436
- secret_key_ref {
437
- name = " ${ var . lacework_agent_name } -access-token"
438
- key = " agent-access-token"
439
- }
440
- }
441
- }
442
-
443
- volume_mount {
444
- name = " cfgmap"
445
- mount_path = " /config"
446
- }
447
- }
448
-
449
- volume {
450
- name = " cfgmap"
451
- secret {
452
- secret_name = local. cluster_config_name
453
- items {
454
- key = " config.yaml"
455
- path = " config.yaml"
456
- }
457
- }
458
- }
459
- }
460
- }
461
- }
462
-
463
- depends_on = [
464
- kubernetes_service_account . lacework_k8s_collector ,
465
- kubernetes_cluster_role . lacework_k8s_collector ,
466
- kubernetes_secret . lacework_k8s_collector ,
467
- kubernetes_cluster_role_binding . lacework_k8s_collector ,
468
- ]
469
- }
0 commit comments