Skip to content
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

[Manifest] Allow TaskDefinition overrides in the Manifest #948

Closed
kohidave opened this issue May 18, 2020 · 8 comments
Closed

[Manifest] Allow TaskDefinition overrides in the Manifest #948

kohidave opened this issue May 18, 2020 · 8 comments
Labels
area/manifest Issues about infrastructure-as-code templates. type/design Issues that are design proposals.

Comments

@kohidave
Copy link
Contributor

kohidave commented May 18, 2020

The manifest provides a great set of high level knobs for folks to configure their services.

Beyond that - it also provides environment based overrides.

There are some things that are harder to abstract away which are super useful to folks (readOnlyRootFilesystem, as an example, is hard to model - but important to some folks).

We propose a new section of the manifest:

taskdef:
  ContainerDefinition:
    my-fe-service:
      ReadonlyRootFilesystem: true

These additions are additive.

@kohidave kohidave created this issue from a note in Roadmap 🗺️ (Ideas) May 18, 2020
@kohidave kohidave added area/manifest Issues about infrastructure-as-code templates. type/design Issues that are design proposals. labels May 18, 2020
@efekarakus
Copy link
Contributor

Nice! Is this going to only change the container definition for the service container?
Or do you foresee being able to add any fields in the task definition? If so we might need to figure out a way of dealing with lists.

@kohidave
Copy link
Contributor Author

Nice! Is this going to only change the container definition for the service container?
Or do you foresee being able to add any fields in the task definition? If so we might need to figure out a way of dealing with lists.

I see this as being able to update any field in the task def. We'll essentially generate our own task definition using the manifest - then merge in these fields from the customer's task definition.

@efekarakus
Copy link
Contributor

Gotcha that makes sense to me!

@kohidave
Copy link
Contributor Author

Also a customer just reached out with this request:

Hi guys, using the CLI, how would you define ulimit?
I tried to deploy my webapp which is using apache image and got this in the logs:
/usr/sbin/apache2ctl: 87: ulimit: error setting limit (Operation not permitted)
Setting ulimit failed. See README.Debian for more information.
I want to set something like:

"ulimits": [
        {
          "softLimit": 2048,
          "hardLimit": 2048,
          "name": "nofile"
        }

@efekarakus
Copy link
Contributor

One thing that'd be cool that only task definition overrides wouldn't allow is override service specific parameters as well. For example, a customer requested being able to use PV 1.4.0 instead of the current $LATEST

@jonchase
Copy link

jonchase commented Aug 3, 2020

(copying from the gitter conversation) Cool, thanks for the clarification. To be clear, 1.3.0 is fine with me - I just wasn't sure if I was getting 1.3.0 b/c of something I had done, or something on the copilot/AWS default side.

@efekarakus
Copy link
Contributor

Hi folks! @iamhopaul123 posted a design proposal for this feature here: #2588

@efekarakus efekarakus moved this from Design to Complete in Roadmap 🗺️ Aug 31, 2021
@efekarakus
Copy link
Contributor

This feature was delivered in v1.10.0 🎉 ! Closing it here: https://github.com/aws/copilot-cli/releases/tag/v1.10.0

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/manifest Issues about infrastructure-as-code templates. type/design Issues that are design proposals.
Projects
Status: Complete
Development

No branches or pull requests

3 participants