Skip to content

Commit 681a036

Browse files
committed
Add credentials_parameter to task definition
1 parent 1f8c534 commit 681a036

File tree

4 files changed

+14
-7
lines changed

4 files changed

+14
-7
lines changed

ecs-cli/modules/utils/compose/convert_task_definition.go

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -175,8 +175,16 @@ func convertToContainerDef(inputCfg *adapter.ContainerConfig, ecsContainerDef *C
175175
mem = resolveIntResourceOverride(inputCfg.Name, mem, ecsMemInMB, "MemoryLimit")
176176

177177
ecsMemResInMB := adapter.ConvertToMemoryInMB(int64(ecsContainerDef.MemoryReservation))
178+
178179
memRes = resolveIntResourceOverride(inputCfg.Name, memRes, ecsMemResInMB, "MemoryReservation")
179180

181+
credParam := ecsContainerDef.RepositoryCredentials.CredentialsParameter
182+
183+
if credParam != "" {
184+
outputContDef.RepositoryCredentials = &ecs.RepositoryCredentials{}
185+
outputContDef.RepositoryCredentials.SetCredentialsParameter(credParam)
186+
}
187+
180188
var err error
181189
healthCheck, err = resolveHealthCheck(inputCfg.Name, healthCheck, ecsContainerDef.HealthCheck)
182190
if err != nil {

ecs-cli/modules/utils/compose/convert_task_definition_test.go

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -436,6 +436,8 @@ task_definition:
436436
services:
437437
mysql:
438438
essential: false
439+
repository_credentials:
440+
credentials_parameter: arn:aws:secretsmanager:1234567890:secret:test-secret
439441
task_size:
440442
mem_limit: 5Gb
441443
cpu_limit: 256`
@@ -471,7 +473,7 @@ task_definition:
471473
assert.Equal(t, "256", aws.StringValue(taskDefinition.Cpu), "Expected CPU to match")
472474
assert.Equal(t, "5Gb", aws.StringValue(taskDefinition.Memory), "Expected CPU to match")
473475
assert.True(t, aws.BoolValue(wordpress.Essential), "Expected container with name: '%v' to be true", *wordpress.Name)
474-
476+
assert.Equal(t, "arn:aws:secretsmanager:1234567890:secret:test-secret", aws.StringValue(mysql.RepositoryCredentials.CredentialsParameter), "Expected CredentialsParameter to match")
475477
}
476478
}
477479

ecs-cli/modules/utils/compose/ecs_params_reader.go

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,6 @@ import (
2727
"github.com/aws/aws-sdk-go/service/ecs"
2828
libYaml "github.com/docker/libcompose/yaml"
2929
"github.com/pkg/errors"
30-
log "github.com/sirupsen/logrus"
3130
"gopkg.in/yaml.v2"
3231
)
3332

@@ -74,7 +73,7 @@ type HealthCheck struct {
7473

7574
// RepositoryCredentials holds CredentialParameters for a ContainerDef
7675
type RepositoryCredentials struct {
77-
CredentialsParameter string `yaml:"credentials_param"`
76+
CredentialsParameter string `yaml:"credentials_parameter"`
7877
}
7978

8079
// TaskSize holds Cpu and Memory values needed for Fargate tasks
@@ -209,8 +208,6 @@ func ReadECSParams(filename string) (*ECSParams, error) {
209208
return nil, errors.Wrapf(err, "Error unmarshalling yaml data from ECS params file: %v", filename)
210209
}
211210

212-
log.Infof("ECS params: %+v", ecsParams) // remove me!
213-
214211
return ecsParams, nil
215212
}
216213

ecs-cli/modules/utils/compose/ecs_params_reader_test.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,7 @@ task_definition:
8585
wordpress:
8686
essential: true
8787
repository_credentials:
88-
credentials_param: arn:aws:secretsmanager:1234567890:secret:test-RT4iv`
88+
credentials_parameter: arn:aws:secretsmanager:1234567890:secret:test-RT4iv`
8989

9090
content := []byte(ecsParamsString)
9191

@@ -119,7 +119,7 @@ task_definition:
119119
assert.Equal(t, yaml.MemStringorInt(524288000), mysql.Memory)
120120
assert.Equal(t, yaml.MemStringorInt(524288000), mysql.MemoryReservation)
121121
assert.True(t, wordpress.Essential, "Expected container to be essential")
122-
assert.Equal(t, wordpress.RepositoryCredentials.CredentialsParameter, "arn:aws:secretsmanager:1234567890:secret:test-RT4iv")
122+
assert.Equal(t, "arn:aws:secretsmanager:1234567890:secret:test-RT4iv", wordpress.RepositoryCredentials.CredentialsParameter, "Expected CredentialsParameter to match")
123123
}
124124
}
125125

0 commit comments

Comments
 (0)