@@ -38,21 +38,60 @@ resource "random_pet" "run_id" {
38
38
}
39
39
}
40
40
41
- resource "aws_cloudwatch_log_group" "this" {
42
- name = local.naming_prefix
43
- retention_in_days = 1
41
+ #---------------------------------------
42
+ # Cloudtrail infrastructure - standalone
43
+ #---------------------------------------
44
+ # S3 bucket
45
+ module "logs_bucket" {
46
+ source = "trussworks/logs/aws"
47
+ version = "~> 14"
48
+
49
+ s3_bucket_name = local.naming_prefix
50
+
51
+ allow_cloudtrail = true
52
+ force_destroy = true
44
53
}
45
54
55
+ # Cloudtrail
56
+ locals {
57
+ naming_prefix_cloudtrail = "${local.naming_prefix}-cloudtrail"
58
+ }
59
+ module "aws_cloudtrail" {
60
+ source = "trussworks/cloudtrail/aws"
61
+ version = "~> 4"
62
+
63
+ s3_bucket_name = module.logs_bucket.aws_logs_bucket
64
+
65
+ trail_name = local.naming_prefix_cloudtrail
66
+ iam_policy_name = local.naming_prefix_cloudtrail
67
+ iam_role_name = local.naming_prefix_cloudtrail
68
+
69
+ cloudwatch_log_group_name = local.naming_prefix_cloudtrail
70
+ log_retention_days = 30
71
+ }
72
+
73
+ #---------------------------------------
74
+ # ClickOps module
75
+ #---------------------------------------
46
76
module "clickops_notifications" {
47
- source = "../../"
48
-
49
- standalone = true
50
- naming_prefix = local.naming_prefix
51
- cloudtrail_log_group = aws_cloudwatch_log_group.this.name
52
- webhook = "https://fake.com"
53
- message_format = "slack"
54
- tags = local.tags
55
- lambda_runtime = "python3.8"
77
+ source = "../.."
78
+
79
+ standalone = true
80
+
81
+ naming_prefix = local.naming_prefix
82
+
83
+ webhook = "https://fake.com"
84
+ message_format = "slack"
85
+
86
+ tags = local.tags
87
+
88
+ # cloudtrail_bucket_name = aws_s3_bucket.clickops_cloudtrail.id
89
+ cloudtrail_log_group = local.naming_prefix_cloudtrail
90
+
91
+ depends_on = [
92
+ module.aws_cloudtrail
93
+ ]
94
+
56
95
}
57
96
```
58
97
----
@@ -71,7 +110,9 @@ module "clickops_notifications" {
71
110
72
111
| Name | Source | Version |
73
112
| ------| --------| ---------|
74
- | <a name =" module_clickops_notifications " ></a > [ clickops\_ notifications] ( #module\_ clickops\_ notifications ) | ../../ | n/a |
113
+ | <a name =" module_aws_cloudtrail " ></a > [ aws\_ cloudtrail] ( #module\_ aws\_ cloudtrail ) | trussworks/cloudtrail/aws | ~ > 4 |
114
+ | <a name =" module_clickops_notifications " ></a > [ clickops\_ notifications] ( #module\_ clickops\_ notifications ) | ../.. | n/a |
115
+ | <a name =" module_logs_bucket " ></a > [ logs\_ bucket] ( #module\_ logs\_ bucket ) | trussworks/logs/aws | ~ > 14 |
75
116
76
117
----
77
118
### Outputs
@@ -83,7 +124,6 @@ No outputs.
83
124
84
125
| Name | Version |
85
126
| ------| ---------|
86
- | <a name =" provider_aws " ></a > [ aws] ( #provider\_ aws ) | 4.9.0 |
87
127
| <a name =" provider_random " ></a > [ random] ( #provider\_ random ) | 3.4.3 |
88
128
89
129
----
@@ -100,7 +140,6 @@ No outputs.
100
140
101
141
| Name | Type |
102
142
| ------| ------|
103
- | [ aws_cloudwatch_log_group.this] ( https://registry.terraform.io/providers/hashicorp/aws/4.9.0/docs/resources/cloudwatch_log_group ) | resource |
104
143
| [ random_pet.run_id] ( https://registry.terraform.io/providers/hashicorp/random/3.4.3/docs/resources/pet ) | resource |
105
144
106
145
----
0 commit comments