Skip to content

Commit 9e22081

Browse files
hickeydh-awsoliviergaumondrycerratcrissupb
authored
LZA Upgrade (#1240)
* Add .gitlab-ci.yml * update CI image * python image * switch to proper folder * Update .gitlab-ci.yml file * lza premigration script * Updating migration scripts and adding yarn commands * Updating migration scripts and adding yarn commands * Removing example config * Updating README * Fixing fields in input-config.example.json * readme updates * Add migration skip delete logic (#1177) LGTM * Readme update * Clearing up custom resource no-op * Fixing snapshot script issues * Update aws-s3.ts * Adding assets for custom config rules, updating convert config and resource mapping to fix issues found during testing. Also adding throttlingBackoff for detectdrift calls to ensure proper results are returned * Readme updates from testing * Updating readmes and mew Pre-Migration scripts * Updating package.json to have snapshot and asea-prep commands. Also including dependencies for package.json aws-sdk services * Small fixes and readme updates * Updating convert-config script to handle auditManager disable, sharetargets for transitgateway, and config rules * Updating readme and docs for handling drifted-resources and stack-drift. * Updating readme and pre-migration scripts * Updating readme, fix for guarddutyprefix and updating snapshot for ddb and reporting * Add warning for resource-mapping and updating branch for installer * Updating tsconfig, package.json and other config files * Adding LZA installer template with source code and updating putLZAInstallerStackTemplate to use this * Fix for fs.constants.COPYFILE_FICLONE_FORCE * Removing additional parameter since it defaults to force * updated installer template * updated pre-migration code * updated installer template * Updating Network Config and Convert Config file with fixes * added premigration changes * updated config converter * latest config converter * added back asea installer template * fixed throttling for snapshot * Most recent changes for ALB, ALB templates, and non-fortinet fw check * Updating target type * added resource deletion handling * Fixing non-fortinet firewalls, mad, and cw log kms deployment targets * Fixing deploymentTarget issue for SSMWrite policy * updated readme * Adding encryption for putobject calls * Fixing suspended account issues * Fixing asea-assets bucket code to use local client for s3 calls * Updating README with up to date post-migration instructions * Added more deletion options * removed nacl association update * fixed post-migration write to s3 * updated config converter * Updates for ASEA VPC lookups for cidr blocks * updated config converter * batched local writes * fixed ignored ou and writeToSources * fixed snapshot supported regions * feat(migration): Removing MAD from config converter * Updating documentation and updating config repository type * Removing README at Custom-Scripts directory level * Removing addResourcePolicy call and allowing this to be updated in phase-2 due to underlying Cloudformation behavior change * Updating readme and inventory file with latest instructions and having detection policyPath use LZA_CONFIG_RULES instead of LZA_IAM_POLICY_CONFIG_PATH * Reverting secrets fix temporarily * Updating readme with asea resource handler information and table * Updating convert-config to handle security hub issue and ssm deployment target issue * Updating readme for KMS Key differences and only generating a single network-config during convert-config process * Updating cdntral bucket name, adding check for node14, support for tls1.3, and macie fix for new region * Updating behavior of nested ous, adding flag for disabling termination protection * Find account id for non-local subnets in security group rules, remove nested ou from scp deployment targets, and switching emails to lowercaselocale * Updating drift detection and fixing dynamic-log partitioning for vpc flow logs * Removing VPC Flow Logs in Dynamic Partition * updated convert config * Updating code for 3P firewall routes * Fixing subscription filters and destinations * Remove VPC flow logs in post-migration and update dynamic partitioning for ssm logs * Fixing typos in log destination and stream * Doc updates for drift detection, refactoring warnings to sit inside config-check.ts and update drift detection scripts * Fixing IAM role type for account, SSM Read Only Access Role, and Dynamic Partitioning * Fixing nested stack naming check * Fixes for nestedOus, vpcOutputs, and ssm automation docsets * move doc to mkdocs * add link to LZA upgrade doc on main README * add faq content * clarify prereq about empty OU * added differences about logging * typo * detail about subscription filter * doc feedback * doc improvment * fix list * remove duplicate content * more doc feedback * feedback about gwlb impact * typos * revert change to pdf plugin * update branch names * add latest version of upgrade tools in lza-upgrade, remove Pre-migration folder * update main README * readme * version on readme * add FAQ for manual route table changes * known issues * typo * precision * remove note about not installing v1.6 * changelog date * prepare for release * sync latest lza-upgrade * add config folder * chore: fixed ts lint error * fixed linting errors * fix: fixed linting --------- Co-authored-by: Olivier Gaumond <[email protected]> Co-authored-by: Ryan Cerrato <[email protected]> Co-authored-by: Brian Crissup <[email protected]> Co-authored-by: rycerrat-aws <[email protected]>
1 parent 33e4dfa commit 9e22081

File tree

162 files changed

+53750
-30
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

162 files changed

+53750
-30
lines changed

.gitlab-ci.yml

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
# The Docker image that will be used to build your app
2+
image: public.ecr.aws/docker/library/python:3.12
3+
# Functions that should be executed before the build script is run
4+
before_script:
5+
- cd src/mkdocs
6+
- python -m pip install --upgrade pip
7+
- pip install -r requirements.txt
8+
pages:
9+
script:
10+
- make build
11+
artifacts:
12+
paths:
13+
# The folder that contains the files to be exposed at the Page URL
14+
- public
15+

.prettierignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
reference-artifacts/Custom-Scripts/lza-upgrade*

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ The [Landing Zone Accelerator (LZA) on AWS solution](https://aws.amazon.com/solu
44

55
The LZA v1.3 release (03/2023) focused on delivering AWS Secure Environment Accelerator (ASEA) feature parity and delivered both [CCCS Cloud Medium](https://aws.amazon.com/solutions/implementations/landing-zone-accelerator-on-aws/#Support_for_specific_regions_and_industries) and [Trusted Secure Enclave Sensitive Edition](https://aws.amazon.com/solutions/implementations/landing-zone-accelerator-on-aws/#Support_for_specific_regions_and_industries) sample configuration files. These samples deliver similar outcomes to the ASEA sample configuration file.
66

7-
The LZA team has developed an automated upgrade from ASEA to LZA. Upgrades from ASEA to LZA must occur before end of Q3 2025 (September 30, 2025). Please monitor this site for a future LZA release that will support the ASEA to LZA semi-automated upgrade capability [here](https://aws.amazon.com/solutions/implementations/landing-zone-accelerator-on-aws/).
7+
The LZA team has developed an automated upgrade from ASEA to LZA and it is now **generally available** with ASEA v1.6.0 and LZA v1.11.0. Upgrades from ASEA to LZA must occur before end of Q3 2025 (September 30, 2025). **The documentation for the ASEA to LZA upgrade is available in the AWS Secure Environment Accelerator [guide on GitHub pages](https://aws-samples.github.io/aws-secure-environment-accelerator/latest/lza-upgrade/)** and the upgrade tools are available in the [reference-artifacts/Custom-Scripts/lza-upgrade](./reference-artifacts/Custom-Scripts/lza-upgrade/) folder of this repository.
88

99
Please reach out to your AWS Account Team with any questions.
1010

Lines changed: 212 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,212 @@
1+
{
2+
"env": {
3+
"jest": true,
4+
"node": true
5+
},
6+
"root": true,
7+
"plugins": [
8+
"@typescript-eslint",
9+
"import"
10+
],
11+
"parser": "@typescript-eslint/parser",
12+
"parserOptions": {
13+
"ecmaVersion": 2018,
14+
"sourceType": "module",
15+
"project": "tsconfig.json"
16+
},
17+
"extends": [
18+
"plugin:import/typescript"
19+
],
20+
"settings": {
21+
"import/parsers": {
22+
"@typescript-eslint/parser": [
23+
".ts",
24+
".tsx"
25+
]
26+
},
27+
"import/resolver": {
28+
"node": {},
29+
"typescript": {
30+
"project": "tsconfig.json",
31+
"alwaysTryTypes": true
32+
}
33+
}
34+
},
35+
"ignorePatterns": [
36+
"*.js",
37+
"*.d.ts",
38+
"node_modules/",
39+
"*.generated.ts",
40+
"coverage"
41+
],
42+
"rules": {
43+
"quotes": [
44+
"error",
45+
"single",
46+
{
47+
"avoidEscape": true
48+
}
49+
],
50+
"comma-dangle": [
51+
"error",
52+
"always-multiline"
53+
],
54+
"comma-spacing": [
55+
"error",
56+
{
57+
"before": false,
58+
"after": true
59+
}
60+
],
61+
"no-multi-spaces": [
62+
"error",
63+
{
64+
"ignoreEOLComments": false
65+
}
66+
],
67+
"array-bracket-spacing": [
68+
"error",
69+
"never"
70+
],
71+
"array-bracket-newline": [
72+
"error",
73+
"consistent"
74+
],
75+
"object-curly-spacing": [
76+
"error",
77+
"always"
78+
],
79+
"object-curly-newline": [
80+
"error",
81+
{
82+
"multiline": true,
83+
"consistent": true
84+
}
85+
],
86+
"object-property-newline": [
87+
"error",
88+
{
89+
"allowAllPropertiesOnSameLine": true
90+
}
91+
],
92+
"keyword-spacing": [
93+
"error"
94+
],
95+
"brace-style": [
96+
"error",
97+
"1tbs",
98+
{
99+
"allowSingleLine": true
100+
}
101+
],
102+
"space-before-blocks": [
103+
"error"
104+
],
105+
"curly": [
106+
"error",
107+
"multi-line",
108+
"consistent"
109+
],
110+
"@typescript-eslint/member-delimiter-style": [
111+
"error"
112+
],
113+
"semi": [
114+
"error",
115+
"always"
116+
],
117+
"max-len": [
118+
"error",
119+
{
120+
"code": 150,
121+
"ignoreUrls": true,
122+
"ignoreStrings": true,
123+
"ignoreTemplateLiterals": true,
124+
"ignoreComments": true,
125+
"ignoreRegExpLiterals": true
126+
}
127+
],
128+
"quote-props": [
129+
"error",
130+
"consistent-as-needed"
131+
],
132+
"@typescript-eslint/no-require-imports": [
133+
"error"
134+
],
135+
"import/no-extraneous-dependencies": [
136+
"error",
137+
{
138+
"devDependencies": [
139+
"**/test/**",
140+
"**/build-tools/**"
141+
],
142+
"optionalDependencies": false,
143+
"peerDependencies": true
144+
}
145+
],
146+
"import/no-unresolved": [
147+
"error"
148+
],
149+
"import/order": [
150+
"warn",
151+
{
152+
"groups": [
153+
"builtin",
154+
"external"
155+
],
156+
"alphabetize": {
157+
"order": "asc",
158+
"caseInsensitive": true
159+
}
160+
}
161+
],
162+
"no-duplicate-imports": [
163+
"error"
164+
],
165+
"no-shadow": [
166+
"off"
167+
],
168+
"@typescript-eslint/no-shadow": [
169+
"error"
170+
],
171+
"key-spacing": [
172+
"error"
173+
],
174+
"no-multiple-empty-lines": [
175+
"error"
176+
],
177+
"@typescript-eslint/no-floating-promises": [
178+
"error"
179+
],
180+
"no-return-await": [
181+
"off"
182+
],
183+
"@typescript-eslint/return-await": [
184+
"error"
185+
],
186+
"no-trailing-spaces": [
187+
"error"
188+
],
189+
"dot-notation": [
190+
"error"
191+
],
192+
"no-bitwise": [
193+
"error"
194+
],
195+
"@typescript-eslint/member-ordering": [
196+
"error",
197+
{
198+
"default": [
199+
"public-static-field",
200+
"public-static-method",
201+
"protected-static-field",
202+
"protected-static-method",
203+
"private-static-field",
204+
"private-static-method",
205+
"field",
206+
"constructor",
207+
"method"
208+
]
209+
}
210+
]
211+
}
212+
}
Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
.DS_Store
2+
!/.gitattributes
3+
!/.github/workflows/pull-request-lint.yml
4+
!/package.json
5+
!/LICENSE
6+
!/.npmignore
7+
logs
8+
*.log
9+
npm-debug.log*
10+
yarn-debug.log*
11+
yarn-error.log*
12+
lerna-debug.log*
13+
report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json
14+
pids
15+
*.pid
16+
*.seed
17+
*.pid.lock
18+
lib-cov
19+
coverage
20+
*.lcov
21+
.nyc_output
22+
build/Release
23+
node_modules/
24+
jspm_packages/
25+
*.tsbuildinfo
26+
.eslintcache
27+
*.tgz
28+
.yarn-integrity
29+
.cache
30+
/test-reports/
31+
junit.xml
32+
/coverage/
33+
!/.github/workflows/build.yml
34+
!/.mergify.yml
35+
!/.github/workflows/upgrade.yml
36+
!/.github/pull_request_template.md
37+
!/test/
38+
!/tsconfig.json
39+
!/tsconfig.dev.json
40+
/lib
41+
/dist/
42+
!/.eslintrc.json
43+
src/input-config/input-config.json
44+
src/input-config/input-config-*.json
45+
.vscode/
46+
backup/
47+
outputs/*
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
{
2+
"tabWidth": 2,
3+
"printWidth": 120,
4+
"singleQuote": true,
5+
"quoteProps": "consistent",
6+
"trailingComma": "all"
7+
}
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
# Change Log
2+
3+
All notable changes to this project will be documented in this file.
4+
5+
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6+
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7+
8+
## [1.6.0] - 2025-01-17
9+
10+
### Added
11+
- First official release of the ASEA to LZA upgrade tools

0 commit comments

Comments
 (0)