Elastic Path Commerce Requirements
Before using Elastic Path CloudOps for AWS (Amazon Web Services), ensure that you have an Elastic Path Commerce source code distribution. This package must be in a repository created in the source control management system. For more information, see the Git Repository Hosting Service section.
Note that the source code distribution and deployment package are not the same. The deployment package is created from the source code distribution.
Elastic Path CloudOps for AWS Requirements
Before initializing Elastic Path CloudOps for AWS, you must ensure that the following requirements are met.
Git Repository Hosting Service
Before using Elastic Path CloudOps for AWS, you must clone all repositories comprising Elastic Path CloudOps for AWS to a Git repository hosting service, such as GitHub, Bitbucket, or CodeCommit. To complete this requirement, you must have access to the CloudOps repositories hosted at Elastic Path Source Code Repositories.
Access to DNS Configuration
To leverage the use of Route53 by CloudOps completely, you must have access to update name servers for the domain name you want to use with CloudOps.
If you want to use CloudOps with SSL, an SSL certificate for your domain name,
$DOMAIN_NAME, and the following sub-domains are also required:
For example, if you want to use the domain name
cloudops.example.com, you need an SSL certificate including the following names:
If you are using multiple Author and Live environments, you will need SSL certificates for each of of your environments. Following the previous example, if you have an Author and Live environments for qa and staging with the following base domain names
You need an SSL certificate including the following names:
CloudOps leverages several AWS services. Before getting started with CloudOps, ensure that the following requirements are met, and you are proficient in the following services that CloudOps uses:
- An empty AWS Account created with credit card details included and administrator access. You must provide credit card details to use AWS services required by CloudOps
- An AWS region supported by ECR (Elastic Container Registry)
- An AWS EC2 instance quota of 25. The default limit is set to 5, so you must request an increase from AWS as described at Amazon EC2 Service Limits
- Proficiency in the following AWS services:
- Amazon CloudFormation
- Amazon VPC (Virtual Private Cloud)
- Amazon Route53
- Amazon EC2
- Amazon ECS (Elastic Container Serivce)
- Amazon RDS (Relational Database Service)
- Amazon S3
- Amazon CloudWatch
- AWS Certificate Manager
- AWS Lambda
Software and Other Requirements
The following are the system requirements to initialize CloudOps components:
- An SSH key authorized to the Git service hosting your copy of CloudOps repositories. For more information on creating SSH keys, see this github documentation page
- URL to download licensed JDK (Java Development Kit)
- Username and password to Elastic Path Nexus to download source code and create a mirror of the source code
- The AWS CLI (Command Line Interface) installed and configured correctly. For more information on configuring the AWS CLI, see this AWS documentation page
- A Linux or Mac machine with the following programs installed:
- Docker version 17 or higher
Provisioning and Selecting SSH Keys
The Git SSH keys provided for bootstrapping the CloudOps components, in the field named
<gitRepo>SSHKeyFileName, will continue to be used by the Jenkins instance after bootstrap is completed. Selecting the SSH key is a very important consideration for the longer term stability and functionality of CloudOps.
Note: The CloudOps components do not support password protected SSH keys.
Elastic Path recommendation for Git SSH keys use is as follows:
- Keys are ok for the long term use by the Jenkins jobs to access your Git repository
- Keys must belong to a utility account, and not to an account whose Git access may be revoked
- Keys have read-only access, they do not have write access
For information on read-only deploy keys in Github, see Read-only deploy keys.