@@ -45,7 +45,7 @@ resource "aws_ecs_task_definition" "gateway" {
45
45
"environment": [
46
46
{
47
47
"name": "functions_provider_url",
48
- "value": "http://${ module . ecs_provider . service_discovery_name } . ${ aws_service_discovery_private_dns_namespace . openfaas . name } :8081/"
48
+ "value": "http://localhost :8081/"
49
49
},
50
50
{
51
51
"name": "faas_nats_address",
@@ -93,10 +93,47 @@ resource "aws_ecs_task_definition" "gateway" {
93
93
"interval": 5,
94
94
"startPeriod": 5
95
95
}
96
+ },
97
+ {
98
+ "name": "fargate-provider",
99
+ "cpu": 64,
100
+ "memory": 64,
101
+ "image": "ewilde/faas-fargate:latest",
102
+ "environment": [
103
+ {
104
+ "name" : "port",
105
+ "value" : "8081"
106
+ },
107
+ {
108
+ "name" : "subnet_ids",
109
+ "value" : "${ join (" ," , aws_subnet. internal . * . id )} "
110
+ },
111
+ {
112
+ "name" : "security_group_id",
113
+ "value" : "${ aws_security_group . service . id } "
114
+ }
115
+
116
+ ],
117
+ "essential": true,
118
+ "logConfiguration": {
119
+ "logDriver": "awslogs",
120
+ "options": {
121
+ "awslogs-group": "${ aws_cloudwatch_log_group . gateway_log_fargate_provider . name } ",
122
+ "awslogs-region": "${ var . aws_region } ",
123
+ "awslogs-stream-prefix": "gateway-fargate-provider"
124
+ }
125
+ },
126
+ "healthCheck": {
127
+ "retries": 1,
128
+ "command": ["CMD-SHELL","ls"],
129
+ "timeout": 3,
130
+ "interval": 5,
131
+ "startPeriod": 5
132
+ }
96
133
},
97
134
{
98
135
"name": "gateway-kms",
99
- "cpu": 128 ,
136
+ "cpu": 64 ,
100
137
"memory": 32,
101
138
"environment": [
102
139
{
@@ -134,6 +171,10 @@ resource "aws_cloudwatch_log_group" "gateway_log" {
134
171
name = " ${ var . namespace } -gateway"
135
172
}
136
173
174
+ resource "aws_cloudwatch_log_group" "gateway_log_fargate_provider" {
175
+ name = " ${ var . namespace } -gateway-fargate-provider"
176
+ }
177
+
137
178
resource "aws_cloudwatch_log_group" "gateway_log_kms" {
138
179
name = " ${ var . namespace } -gateway-kms"
139
180
}
@@ -228,15 +269,6 @@ resource "aws_security_group_rule" "gateway_egress_nats_management" {
228
269
protocol = " tcp"
229
270
}
230
271
231
- resource "aws_security_group_rule" "gateway_egress_ecs" {
232
- type = " egress"
233
- security_group_id = " ${ aws_security_group . gateway . id } "
234
- source_security_group_id = " ${ aws_security_group . ecs_provider . id } "
235
- from_port = 8081
236
- to_port = 8081
237
- protocol = " tcp"
238
- }
239
-
240
272
resource "aws_security_group_rule" "gateway_egress_functions" {
241
273
type = " egress"
242
274
security_group_id = " ${ aws_security_group . gateway . id } "
@@ -315,12 +347,61 @@ resource "aws_iam_role_policy" "gateway_role_policy" {
315
347
{
316
348
"Effect": "Allow",
317
349
"Action": [
318
- "secretsmanager:GetSecretValue"
350
+ "secretsmanager:GetSecretValue",
351
+ "secretsmanager:DescribeSecret"
319
352
],
320
353
"Resource": [
321
354
"${ aws_secretsmanager_secret . basic_auth_user . id } ",
322
- "${ aws_secretsmanager_secret . basic_auth_password . id } "
355
+ "${ aws_secretsmanager_secret . basic_auth_password . id } ",
356
+ "arn:aws:secretsmanager:*:*:secret:openfaas-*"
357
+ ]
358
+ },
359
+ {
360
+ "Effect": "Allow",
361
+ "Action": [
362
+ "iam:CreateRole",
363
+ "iam:PutRolePolicy"
364
+ ],
365
+ "Resource": [
366
+ "arn:aws:iam::*:role/openfaas-*"
367
+ ]
368
+ },
369
+ {
370
+ "Effect": "Allow",
371
+ "Action": [
372
+ "iam:PassRole"
373
+ ],
374
+ "Resource": [
375
+ "*"
323
376
]
377
+ },
378
+ {
379
+ "Effect": "Allow",
380
+ "Action": [
381
+ "ecs:*"
382
+ ],
383
+ "Resource": [
384
+ "*"
385
+ ]
386
+ },
387
+ {
388
+ "Effect": "Allow",
389
+ "Action": [
390
+ "ec2:DescribeVpcs",
391
+ "ec2:DescribeSubnets"
392
+ ],
393
+ "Resource": [
394
+ "*"
395
+ ]
396
+ },
397
+ {
398
+ "Effect": "Allow",
399
+ "Action": [
400
+ "servicediscovery:*"
401
+ ],
402
+ "Resource": [
403
+ "*"
404
+ ]
324
405
}
325
406
]
326
407
}
0 commit comments