-
Notifications
You must be signed in to change notification settings - Fork 1
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
Support new COOL environment structure #393
Open
dav3r
wants to merge
18
commits into
develop
Choose a base branch
from
improvement/support-multiple-cool-envs
base: develop
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
+213
−148
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This lets us avoid hardcoding the bucket name and allows it to be set on a per-environment basis via the -backend-config command line option or other methods. For details, see: https://developer.hashicorp.com/terraform/language/backend#partial-configuration
…emote states Also, make all remote states use the same environment (no more mixed staging and production states).
This is the extension I chose for our backend config files.
Also, assume the newly-renamed and environment-specific build role.
Now that we have a suitable dev environment, we want to create AMIs there. Previously, we did not create AMIs until the prerelease workflow was run.
Also, assume the newly-renamed and environment-specific build role.
…ith GitHub Actions
This lets us avoid hardcoding the bucket name and allows it to be set on a per-environment basis via the -backend-config command line option or other methods. For details, see: https://developer.hashicorp.com/terraform/language/backend#partial-configuration
…d accounts This can be done thanks to our new scheme which no longer has staging and production accounts co-mingled in the same AWS organization.
dav3r
added
the
improvement
This issue or pull request will add or improve functionality, maintainability, or ease of use
label
Jan 17, 2025
9 tasks
Co-authored-by: Jeremy Frasier <[email protected]>
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
improvement
This issue or pull request will add or improve functionality, maintainability, or ease of use
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
🗣 Description
This PR makes updates in support of the switchover from our legacy account/environment scheme (where staging and production accounts exist within the same AWS organization) to our new scheme (where they do not).
Highlights include:
terraform-to-secrets
development-guide#111).github/workflows/build.yml
), whereas previously they were only created for pre-releases (staging) and releases (production).terraform-build-user
andterraform-post-packer
💭 Motivation and context
The goal of this PR is to get us closer to our modernized account scheme where there is no more co-mingling of staging and production accounts. Doing that will result in cleaner code across all COOL-related repositories as well as improved separation of resources across all COOL environments.
🧪 Testing
The x86 and ARM AMIs were successfully created in the dev environment via the
build
workflow. I applied the updatedterraform-post-packer
and it ran, though it doesn't really do anything since we don't have any dynamic "env*" accounts created yet in the dev environment.The x86 and ARM AMIs were successfully created in the staging-a environment via the
prerelease
workflow. I applied the updatedterraform-post-packer
and it ran successfully. Since I used a tfvars file that shared the AMIs with the legacy staging env* accounts, I confirmed via the AWS GUI that the new AMIs were indeed shared with those legacy staging accounts.✅ Pre-approval checklist
to reflect the changes in this PR.
✅ Pre-merge checklist
terraform-build-user/main.tf
)2.0.0+build.2
(at least, I think that is what we should do here - if you have a different opinion, please speak up in the PR discussion below).✅ Post-merge checklist