-
Notifications
You must be signed in to change notification settings - Fork 425
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
[Design] Environment manifest #3522
Labels
area/env
Issues about environments.
area/manifest
Issues about infrastructure-as-code templates.
type/design
Issues that are design proposals.
Comments
Lou1415926
added
area/manifest
Issues about infrastructure-as-code templates.
type/design
Issues that are design proposals.
area/env
Issues about environments.
labels
May 3, 2022
Related: #3030 |
efekarakus
added a commit
to efekarakus/copilot-cli
that referenced
this issue
May 10, 2022
mergify bot
pushed a commit
that referenced
this issue
May 10, 2022
Related #3522 By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the Apache 2.0 License.
efekarakus
added a commit
to efekarakus/copilot-cli
that referenced
this issue
Jul 5, 2022
mergify bot
pushed a commit
that referenced
this issue
Jul 6, 2022
Related #3522 By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the Apache 2.0 License.
This feature is now out in v1.20 🚀 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
area/env
Issues about environments.
area/manifest
Issues about infrastructure-as-code templates.
type/design
Issues that are design proposals.
This issue is a design proposal to introduce manifest files for environments.
By introducing a declarative configuration similar to service or job manifests, environments will gain all the benefits of infrastructure-as-code: code reviews, easy to replicate and mutate. The manifest file will also allow Copilot to surface more environment configuration over time.
Problem statement
Today, environments can only be configured during creation with
copilot env init <flags>
. It’s not possible to toggle features without re-creating the environment (such as--container-insights
). This becomes especially problematic as Copilot surfaces new environment configuration fields such as--import-cert-arns
(#3503) that users cannot enable in their existing environments. Furthermore, commands cannot be code reviewed to ensure the organization standards are met.Proposal
New deploy workflow
Running
copilot env init -n <name>
will now generate a manifest file for the environment under:After peeking and optionally making modifications to the manifest file, users will be able to deploy their environments using a new command:
copilot env deploy
.Note: this means that once this feature is released,
env init
will no longer automatically deploy environments. Instead, clients will have to runenv deploy
to create or update environment stacks.In order to view the CloudFormation template that will be generated, users can run
copilot env package
.In order to generate a manifest file for existing environments, a new flag will be introduced to
copilot env show --manifest
that will print the manifest file representing their existing environment. Therefore, users with existing environments can create a manifest usingenv show —manifest
instead of having deleting and re-creating the environment for the sake of manifest.Manifest specification
The environment manifest file will initially ship with just a parity with the existing
env init
flags:Over time, we’ll add new properties to the manifest file to surface more power for environment such as security groups for load balancers, number of AZs in a VPC, private domain names.
Continuous delivery
Running
copilot pipeline init
will now prompt whether you’d like to create a pipeline for deploying your services or environments:And the appropriate pipeline manifest and buildspec will be generated for you. Existing pipelines won’t be affected.
We’re extremely excited to surface environment manifests and bring more configurability for environments over time. Please let us know if you’ve any feedback!
The text was updated successfully, but these errors were encountered: