Open jlucas91 opened 3 years ago
oh that's a very cool idea!
One issue related to manifest declarations is this one: https://github.com/aws/copilot-cli/issues/2590 but we didn't have a feature request before that would establish a baseline config that all services can share that can be overridden. Thanks for creating the feature request!
Sweet! I also like the {{.Env}} parsing. That would be great as well.
Thanks for all the work you're doing. Very bullish on copilot as a whole and excited to see where y'all take it.
I have a feedback on this issue. I see similar duplication across services, especially add-ons files. e.g. All services require common IAM permission for X-Ray (to enable tracing) and for OpenSearch (Log-Forwarding). Even for a minor fix, all service templates have to be updated. We can have an additional S3 bucket created by copilot per App where these common templates are kept. Copilot can pull those as well when it bundles all add-ons templates into one.
👍🏼 to this and #5525 - more than anything it's just very unDRY to have a bunch of manifests that are almost identical
I'm finding that the services within my application are sharing a lot of their configuration. Their sidecars (logging, datadog agent), addons (SQS permissions), image config, and secrets are all very, very similar.
Right now I have to copy/paste the entire service configuration between services. This is disincentivizing me from creating new services (ex. single purpose queue consumers that share the same source code), which is a bummer! I can forsee it being a big pain keeping them all in sync, particularly when adding/removing secrets. I'd love to be able to define a base config that the others inherit from/can override.
Do you have any plans to add something like that? Are y'all seeing similar concerns from other users and if so is there a way they're working around it? The best workaround I can think of is templating/generating the manifests myself, which I'd love to avoid.