You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
# Contributing to Customizations for AWS Control Tower (CfCT).
2
2
3
-
*Description of changes:*
3
+
Thank you for your interest in contributing to Customizations for AWS Control Tower (CfCT).
4
+
5
+
At this time, we are not accepting contributions. If contributions are accepted in the future, Customizations for AWS Control Tower (CfCT) is released under the [Apache license](http://aws.amazon.com/apache2.0/) and any code submitted will be released under that license.
4
6
5
7
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.
Copy file name to clipboardExpand all lines: CHANGELOG.md
+7Lines changed: 7 additions & 0 deletions
Original file line number
Diff line number
Diff line change
@@ -4,6 +4,13 @@ All notable changes to this project will be documented in this file.
4
4
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
5
5
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
6
6
7
+
## [2.3.0] - 2022-04-20
8
+
- Pinned version for MarkupSafe dependency to 2.0.1 due to https://github.com/pallets/jinja/issues/1585
9
+
- Pinned version of Amazon Corretto to java-1.8.0-amazon-corretto-jdk due to https://github.com/aws-solutions/aws-control-tower-customizations/issues/102
10
+
- Moved python code into its own package
11
+
- Building the solution from source now requires Python 3.6 or higher
12
+
- Customers should now download the [Customizations for AWS Control Tower CloudFormation Template](https://github.com/aws-solutions/aws-control-tower-customizations/blob/main/customizations-for-aws-control-tower.template) from GitHub instead of S3
13
+
7
14
## [2.2.0] - 2021-12-09
8
15
### Added
9
16
- Added support for organization Root as an OU for manifest schema version "2021-03-15". [#8](https://github.com/aws-solutions/aws-control-tower-customizations/pull/8)
Thank you for your interest in contributing to our project. Whether it's a bug report, new feature, correction, or additional
4
-
documentation, we greatly value feedback and contributions from our community.
5
-
6
-
Please read through this document before submitting any issues or pull requests to ensure we have all the necessary
7
-
information to effectively respond to your bug report or contribution.
8
-
9
-
10
-
## Reporting Bugs/Feature Requests
11
-
12
-
We welcome you to use the GitHub issue tracker to report bugs or suggest features.
13
-
14
-
When filing an issue, please check [existing open](https://github.com/aws-solutions/aws-control-tower-customizations/issues), or [recently closed](https://github.com/aws-solutions/aws-control-tower-customizations/issues?q=is%3Aissue+is%3Aclosed), issues to make sure somebody else hasn't already
15
-
reported the issue. Please try to include as much information as you can. Details like these are incredibly useful:
16
-
17
-
* A reproducible test case or series of steps
18
-
* The version of our code being used
19
-
* Any modifications you've made relevant to the bug
20
-
* Anything unusual about your environment or deployment
21
-
22
-
23
-
## Contributing via Pull Requests
24
-
Contributions via pull requests are much appreciated. Before sending us a pull request, please ensure that:
25
-
26
-
1. You are working against the latest source on the *main* branch.
27
-
2. You check existing open, and recently merged, pull requests to make sure someone else hasn't addressed the problem already.
28
-
3. You open an issue to discuss any significant work - we would hate for your time to be wasted.
29
-
30
-
To send us a pull request, please:
31
-
32
-
1. Fork the repository.
33
-
2. Modify the source; please focus on the specific change you are contributing. If you also reformat all the code, it will be hard for us to focus on your change.
34
-
3. Ensure local tests pass.
35
-
4. Commit to your fork using clear commit messages.
36
-
5. Send us a pull request, answering any default questions in the pull request interface.
37
-
6. Pay attention to any automated CI failures reported in the pull request, and stay involved in the conversation.
38
-
39
-
GitHub provides additional document on [forking a repository](https://help.github.com/articles/fork-a-repo/) and
40
-
[creating a pull request](https://help.github.com/articles/creating-a-pull-request/).
41
-
42
-
43
-
## Finding contributions to work on
44
-
Looking at the existing issues is a great way to find something to contribute on. As our projects, by default, use the default GitHub issue labels ((enhancement/bug/duplicate/help wanted/invalid/question/wontfix), looking at any ['help wanted'](https://github.com/aws-solutions/aws-control-tower-customizations/labels/help%20wanted) issues is a great place to start.
45
-
46
-
47
-
## Code of Conduct
48
-
This project has adopted the [Amazon Open Source Code of Conduct](https://aws.github.io/code-of-conduct).
49
-
For more information see the [Code of Conduct FAQ](https://aws.github.io/code-of-conduct-faq) or contact
50
-
opensource-codeofconduct@amazon.com with any additional questions or comments.
51
-
52
-
53
-
## Security issue notifications
54
-
If you discover a potential security issue in this project we ask that you notify AWS/Amazon Security via our [vulnerability reporting page](http://aws.amazon.com/security/vulnerability-reporting/). Please do **not** create a public github issue.
55
-
56
-
57
-
## Licensing
58
-
See the [LICENSE](https://github.com/aws-solutions/aws-control-tower-customizations/blob/main/LICENSE.txt) file for our project's licensing. We will ask you to confirm the licensing of your contribution.
59
-
60
-
61
-
We may ask you to sign a [Contributor License Agreement (CLA)](http://en.wikipedia.org/wiki/Contributor_License_Agreement) for larger changes.
1
+
# Contributing to Customizations for AWS Control Tower (CfCT).
2
+
3
+
Thank you for your interest in contributing to Customizations for AWS Control Tower (CfCT).
4
+
5
+
At this time, we are not accepting contributions. If contributions are accepted in the future, Customizations for AWS Control Tower (CfCT) is released under the [Apache license](http://aws.amazon.com/apache2.0/) and any code submitted will be released under that license.
Copy file name to clipboardExpand all lines: README.md
+16-53Lines changed: 16 additions & 53 deletions
Original file line number
Diff line number
Diff line change
@@ -2,7 +2,7 @@
2
2
The Customizations for AWS Control Tower solution combines AWS Control Tower and other highly-available, trusted AWS services to help customers more quickly set up a secure, multi-account AWS environment based on AWS best practices. Customers can easily add customizations to their AWS Control Tower landing zone using an AWS CloudFormation template and service control policies (SCPs). Customers can deploy their custom template and policies to both individual accounts and organizational units (OUs) within their organization. Customizations for AWS Control Tower integrates with AWS Control Tower lifecycle events to ensure that resource deployments stay in sync with the customer's landing zone. For example, when a new account is created using the AWS Control Tower account factory, the solution ensures that all resources attached to the account's OUs will be automatically deployed. Before deploying this solution, customers need to have an AWS Control Tower landing zone deployed in their account.
3
3
4
4
## Getting Started
5
-
To get started with the Customizations for AWS Control Tower solution, please review the [solution documentation](https://aws.amazon.com/solutions/implementations/customizations-for-aws-control-tower/)
5
+
To get started with Customizations for AWS Control Tower, please review the [documentation](https://docs.aws.amazon.com/controltower/latest/userguide/customize-landing-zone.html)
6
6
7
7
## Running unit tests for customization
8
8
* Clone the repository, then make the desired code changes
* Building the solution from source requires Python 3.6 or higher
17
18
* Configure the solution name, version number and bucket name of your target Amazon S3 distribution bucket
19
+
18
20
```
19
21
export DIST_OUTPUT_BUCKET_PREFIX=my-bucket-prefix # Prefix for the S3 bucket where customized code will be stored
20
22
export TEMPLATE_OUTPUT_BUCKET=my-bucket-name # Name for the S3 bucket where the template will be stored
21
-
export SOLUTION_NAME=my-solution-name # name of the solution (e.g. customizations-for-aws-control-tower)
23
+
export SOLUTION_NAME=my-solution-name # name of the solution (e.g. customizations-for-aws-control-tower)
22
24
export VERSION=my-version # version number for the customized code (e.g. 2.1.0)
23
-
export REGION=aws-region-code # the AWS region to test the solution (e.g. us-east-1)
24
-
```
25
-
_Note:_ You would need to create one global bucket and one regional bucket. The global bucket TEMPLATE_OUTPUT_BUCKET, for example "my-bucket-name", is used to store the AWS CloudFormation template. The regional bucket $DIST_OUTPUT_BUCKET_PREFIX-$REGION, for example "my-bucket-name-us-east-1", is used to store your customized source code zip packages (lambda code). The solution's CloudFormation template will expect the source code to be located in a bucket matching that name. Also, the assets in bucket should be publicly accessible.
* Upload the distributable to an Amazon S3 bucket in your account.
@@ -46,54 +52,11 @@ chmod +x ./build-s3-dist.sh
46
52
* Get the link of the custom-control-tower-initiation.template loaded to your Amazon S3 bucket.
47
53
* Deploy the Customizations for AWS Control Tower solution to your account by launching a new AWS CloudFormation stack using the link of the custom-control-tower-initiation.template.
48
54
49
-
## File Structure
50
-
The File structure of the Customizations for AWS Control Tower solution consists of a deployment directory that contains AWS CloudFormation template and build scripts, and a source directory that contains python source code.
51
-
52
-
```
53
-
customizations-for-aws-control-tower
54
-
├── deployment
55
-
│ ├── build-s3-dist.sh [ shell script for packaging distribution assets ]
56
-
│ ├── run-unit-tests.sh [ shell script for executing unit tests ]
├── validation [ shell and python scripts for validating manifest schema and cfn template]
70
-
├── config_deployer.py [ Python code used by lambda to deploy configurations at solution deployment]
71
-
├── lifecycle_event_handler.py [ Python code used by lambda to process AWS Control Tower lifecycle event]
72
-
├── state_machine_handler.py [ Python code used by state machine to deploy SCPs and StackSets]
73
-
├── state_machine_router.py [ Python code used by lambda to invoke state machine functions]
74
-
└── state_machine_trigger.py [ Python code used by CodePipeline to trigger state machine]
75
-
```
76
-
77
-
Below shows the file structure of a custom configuration package which can be found in the github source code. Note that this is an example, therefore file path, folder and file names can be modified by customers to match what is defined in the manifest file.
│ ├── create-ssm-parameter-keys-1.json [ json file one containing input parameters used in the template file, if any. Optional ]
84
-
│ └── create-ssm-parameter-keys-2.json [ json file two containing input parameters used in the template file, if any. Optional ]
85
-
├── policies
86
-
│ └── preventive-guardrails.json [ json file containing service control policies (preventive guardrails). required for SCPs ]
87
-
└── templates
88
-
├── create-ssm-parameter-keys-1.template [ CloudFormation template one for creating ssm parameter resources. required for StackSet ]
89
-
└── create-ssm-parameter-keys-2.template [ CloudFormation template two for creating ssm parameter resources. required for StackSet ]
90
-
```
91
-
***
92
55
93
56
## Collection of operational metrics
94
57
95
-
This solution collects anonymous operational metrics to help AWS improve the quality and features of the solution. For more information, including how to disable this capability, please see the [implementation guide](https://docs.aws.amazon.com/solutions/latest/customizations-for-aws-control-tower/appendix-b.html).
58
+
This solution collects anonymous operational metrics to help AWS improve the quality and features of the solution. For more information, including how to disable this capability, please see the [documentation here](https://docs.aws.amazon.com/controltower/latest/userguide/cfct-metrics.html).
96
59
97
60
## License
98
61
99
-
See license [here](https://github.com/aws-solutions/aws-control-tower-customizations/blob/main/LICENSE.txt)
62
+
See license [here](https://github.com/aws-solutions/aws-control-tower-customizations/blob/main/LICENSE.txt)
0 commit comments