Closed efekarakus closed 3 years ago
@hencrice 's suggestion: for the params.yml
file we create it with a file permission of 400 so that only the user has permission to read and hints that the file should not be modified.
Closing this issue as we delivered this feature :)
Overview
Currently users can’t add other resources, such as a S3 bucket, to their application’s architecture beyond what is provided in the manifest. This issue describes the proposed solution and tracks the sub-tasks to deliver the feature.
Proposed design
We're proposing to add new top-level commands for resource categories that are likely to be common:
secrets
,storage
, andmesh
.A user that runs
ecs-preview storage init
will be greeted with a helpful interactive prompt to guide them through the AWS service's concepts and fill any required fields.The resulting directory structure will be as follows, with the generated CloudFormation resources under the
addons/
directory:Users can then modify any of the files under
addons/
exceptparams.yml
to tweak their service. If a service is not offered as a command, they'll be able to create the CFN template themselves and drop it underaddons/
.Output values in
outputs.yml
will be added as environment variables to their app container in their ECS service.The templates under
addons/
will be glued together and ingested as a nested stack under their application stack.Milestones
The remaining milestones are to create the commands that write to the
addons/
directory. The commands that we're considering:ecs-preview storage init
will allow you to create S3 buckets, DDB tables, Aurora serverless db cluster.ecs-preview secrets init
will allow you to create SecretsManager secrets.ecs-preview mesh init
will allow you to create an AppMesh mesh.