-
Notifications
You must be signed in to change notification settings - Fork 158
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Custom::ECSTaskDefinition resource #935
Conversation
"request", req, | ||
"response", resp, | ||
) | ||
logger.Info(ctx, "cloudformation.provision") |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I removed logging the full request and response, since there might be plain text secrets in it. But we should at least log some information about the request/response.
0a2ec97
to
7e64b39
Compare
} | ||
|
||
if c.Essential != nil { | ||
essential = aws.Bool(*c.Essential == "true") |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think this could also be a real bool. Need a BoolValue
type.
bded2af
to
203054f
Compare
For an app that used to generate a ~420kb template, this drops the template size down to ~80k. It does make stack updates slower, but I think that could be improved by removing the process specific |
To improve performance, we should be able to do the following:
|
#940 will improve the performance of custom resources significantly, but it does open things up for being rate limited easily, which will cause a stack to rollback. We should probably pass an ecs client that has more forgiving retries. But before we increase the retry limit, we should have a heartbeat back into the sqs queue to increase the message visibility, since task definition registration isn't necessarily idempotent. |
@@ -187,19 +189,47 @@ func (t *EmpireTemplate) Build(app *scheduler.App) (*troposphere.Template, error | |||
} | |||
|
|||
func (t *EmpireTemplate) addScheduledTask(tmpl *troposphere.Template, app *scheduler.App, p *scheduler.Process) (taskDefinition string) { | |||
taskDefinitionType := taskDefinitionType(app) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
not a fan of this variable shadowing
looks good, some minor comments above |
Ok @mhahn, think I addressed all the comments. |
👍 |
d897b91
to
0eb8285
Compare
Re-opening #859
Now that we have more than 1 app that's running close to the CloudFormation template size limit, probably a good time to tackle this again.
This is enabled only when setting the
ECS_TASK_DEFINITION=custom
environment variable, the default will remainAWS::ECS::TaskDefinition
.TODO
ClientException: TaskDefinition is inactive