Before you get started
- Get a GitHub account
- We use SSH authentication in the submodules, so you must have your public key registered in your GitHub account.
- Learn about Git commands and concepts at https://git-scm.com/doc, especially the following sections:
- Familiarize yourself with JSON and YAML.
- Learn about AWS CloudFormation:
- Familiarize yourself with Quick Starts and their purpose.
- Set up your development environment:
- For an IDE, you can use: Visual Studio with AWS Tools, Atom, Sublime Text, Visual Studio Code
- For source control, use: Git, GitHub.com website, SSH keys
Use Git to store your Quick Start files
We use GitHub for source control. The GitHub organization for AWS Quick Starts is at https://github.com/aws-quickstart. When your Quick Start has been approved for publication, we’ll create a private GitHub repo for you within this organization and give you access to its contents. To commit code into this repo, you must create pull requests, unless you’re an Amazon employee. When your development work and testing are complete and the Quick Start is ready for publication, we’ll make the GitHub repo public.
The GitHub repos follow these standards:
Repository names start with
quickstart-and are followed by the company name and product name with dashes as delimiters. If the Quick Start architecture includes multiple solutions, we also add the workload or use case name. The repository names and the folders names must be lowercase, and we recommend that file names be lowercase as well. For example:
- The GitHub repository for each Quick Start includes the following folders:
- ci: Used for automated testing of the Quick Starts
- templates: Contains the templates and parameter files for the Quick Start. Templates use the .template file extension because they are AWS CloudFormation templates. Parameter files use the .json file extension because they are JSON snippets.
- scripts: Contains the scripts that are used in the Quick Start; for example, to orchestrate the bootstrap, install or configure an app, or update a host.
- submodules: Used for any referenced Quick Starts that are configured as submodules of the Quick Start. These follow the naming convention /submodules/quickstart-repo-name where the contents are synced at a specific commit level.
- The following files are added during repo creation:
- README.md: General information about the Quick Start. Edit this file to provide information about your Quick Start. For an example, see the Readme file for Oracle Database.
- NOTICE.txt: Copyright notice. Do not modify this file.
- LICENSE.txt: Apache 2.0 license. Do not modify this file.
- Do not store deployment guides or software bits in the GitHub repository. Deployment guides are managed separately, and software bits are downloaded on demand from other approved locations.
Visualize your Quick Start architecture
Always start out with a diagram that illustrates your Quick Start reference architecture. You can use this diagram to review your design with others and to make final design decisions before you start building your templates. This diagram will also become part of the Quick Start deployment guide. For additional information, see the section Include your architecture diagram.