mirror of
https://github.com/ZwareBear/JFrog-Cloud-Installers.git
synced 2026-01-21 01:06:55 -06:00
modules first release
This commit is contained in:
60
Amazon/cloudformation-modules/test-cfts/.taskcat.yml
Normal file
60
Amazon/cloudformation-modules/test-cfts/.taskcat.yml
Normal file
@@ -0,0 +1,60 @@
|
||||
project:
|
||||
name: quickstart-jfrog-artifactory
|
||||
owner: quickstart-eng@amazon.com
|
||||
s3_object_acl: private
|
||||
s3_regional_buckets: true
|
||||
shorten_stack_name: true
|
||||
regions:
|
||||
- us-west-2
|
||||
parameters:
|
||||
KeyPairName : "vinaykey1"
|
||||
ArtifactoryVersion : 7.18.6
|
||||
XrayVersion : 3.24.2
|
||||
RemoteAccessCidr : "0.0.0.0/0"
|
||||
AccessCidr : "0.0.0.0/0"
|
||||
QsS3BucketName : "jfrog-aws"
|
||||
QsS3KeyPrefix : "artifactory7/latest/"
|
||||
QsS3BucketRegion : "us-east-1"
|
||||
MasterKey : "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
|
||||
SmLicenseName : "jfrog-artifactory"
|
||||
SmCertName : "jfrog.tech-certificates"
|
||||
tests:
|
||||
new-vpc:
|
||||
parameters:
|
||||
AvailabilityZone1: "us-east-1a"
|
||||
AvailabilityZone2: "us-east-1b"
|
||||
DatabasePassword: "$[taskcat_genpass_8A]"
|
||||
NumberOfSecondary: 2
|
||||
ArtifactoryServerName: "artifactory"
|
||||
InstallXray: "true"
|
||||
XrayDatabasePassword: "$[taskcat_genpass_8A]"
|
||||
XrayNumberOfInstances: 2
|
||||
template: new-vpc.yaml
|
||||
regions:
|
||||
- us-east-1
|
||||
existing-vpc:
|
||||
parameters:
|
||||
AvailabilityZone1: "us-west-2a"
|
||||
AvailabilityZone2: "us-west-2b"
|
||||
DatabasePassword: "$[taskcat_genpass_8A]"
|
||||
NumberOfSecondary: "2"
|
||||
ArtifactoryServerName: "artifactory"
|
||||
InstallXray: "true"
|
||||
XrayDatabasePassword: "$[taskcat_genpass_8A]"
|
||||
XrayNumberOfInstances: 2
|
||||
|
||||
MultiAzDatabase: "true"
|
||||
DatabaseInstance: "db.m5.large"
|
||||
|
||||
# us-east-1
|
||||
VpcId : "vpc-0e577f295d10288d2"
|
||||
PublicSubnet1Id: "subnet-02876fed3e23adca6"
|
||||
PublicSubnet2Id: "subnet-00604281070fd1f32"
|
||||
PrivateSubnet1Id: "subnet-088755aa140290fa8"
|
||||
PrivateSubnet2Id: "subnet-05ef6759d603c8d32"
|
||||
|
||||
DatabasePreferredAz : us-west-2a
|
||||
|
||||
template: existing-vpc.yaml
|
||||
regions:
|
||||
- us-west-2
|
||||
15
Amazon/cloudformation-modules/test-cfts/README.MD
Normal file
15
Amazon/cloudformation-modules/test-cfts/README.MD
Normal file
@@ -0,0 +1,15 @@
|
||||
# Taskcat commands
|
||||
|
||||
```
|
||||
taskcat test run -n -l -t existing-vpc
|
||||
```
|
||||
|
||||
# CFN commands
|
||||
|
||||
```
|
||||
cfn submit
|
||||
```
|
||||
|
||||
```
|
||||
aws cloudformation set-type-default-version --type-name JFrog::Artifactory::NewVpc::MODULE --version-id 00000010 --type MODULE
|
||||
```
|
||||
603
Amazon/cloudformation-modules/test-cfts/create-vpc.yaml
Normal file
603
Amazon/cloudformation-modules/test-cfts/create-vpc.yaml
Normal file
@@ -0,0 +1,603 @@
|
||||
AWSTemplateFormatVersion: '2010-09-09'
|
||||
Description: 'JFrog Artifactory Quick Start Deployment (qs-1qpmmjh2f)'
|
||||
Metadata:
|
||||
QuickStartDocumentation:
|
||||
EntrypointName: "Launch into a new VPC"
|
||||
AWS::CloudFormation::Interface:
|
||||
ParameterGroups:
|
||||
- Label:
|
||||
default: Security configuration
|
||||
Parameters:
|
||||
- KeyPairName
|
||||
- AccessCidr
|
||||
- RemoteAccessCidr
|
||||
- Label:
|
||||
default: Network configuration
|
||||
Parameters:
|
||||
- AvailabilityZones
|
||||
- VpcCidr
|
||||
- PrivateSubnet1Cidr
|
||||
- PrivateSubnet2Cidr
|
||||
- PublicSubnet1Cidr
|
||||
- PublicSubnet2Cidr
|
||||
- Label:
|
||||
default: Bastion configuration
|
||||
Parameters:
|
||||
- ProvisionBastionHost
|
||||
- BastionInstanceType
|
||||
- BastionOs
|
||||
- BastionRootVolumeSize
|
||||
- BastionEnableTcpForwarding
|
||||
- NumBastionHosts
|
||||
- BastionEnableX11Forwarding
|
||||
- Label:
|
||||
default: Amazon EC2 configuration
|
||||
Parameters:
|
||||
- VolumeSize
|
||||
- InstanceType
|
||||
- Label:
|
||||
default: JFrog Artifactory configuration
|
||||
Parameters:
|
||||
- ArtifactoryProduct
|
||||
- ArtifactoryVersion
|
||||
- NumberOfSecondary
|
||||
- SmLicenseName
|
||||
- SmCertName
|
||||
- ArtifactoryServerName
|
||||
- MasterKey
|
||||
- ExtraJavaOptions
|
||||
- DefaultJavaMemSettings
|
||||
- Label:
|
||||
default: Amazon RDS configuration
|
||||
Parameters:
|
||||
- DatabaseName
|
||||
- DatabaseEngine
|
||||
- DatabaseUser
|
||||
- DatabasePassword
|
||||
- DatabaseInstance
|
||||
- DatabaseAllocatedStorage
|
||||
- DatabasePreferredAz
|
||||
- MultiAzDatabase
|
||||
- Label:
|
||||
default: AWS Quick Start configuration
|
||||
Parameters:
|
||||
- QsS3BucketName
|
||||
- QsS3KeyPrefix
|
||||
- QsS3BucketRegion
|
||||
- Label:
|
||||
default: JFrog Xray Configuration
|
||||
Parameters:
|
||||
- InstallXray
|
||||
- XrayVersion
|
||||
- XrayNumberOfInstances
|
||||
- XrayInstanceType
|
||||
- XrayDatabaseUser
|
||||
- XrayDatabasePassword
|
||||
ParameterLabels:
|
||||
AvailabilityZones:
|
||||
default: Availability Zones
|
||||
KeyPairName:
|
||||
default: SSH key name
|
||||
PrivateSubnet1Cidr:
|
||||
default: Private subnet 1 CIDR
|
||||
PrivateSubnet2Cidr:
|
||||
default: Private subnet 2 CIDR
|
||||
PublicSubnet1Cidr:
|
||||
default: Public subnet 1 CIDR
|
||||
PublicSubnet2Cidr:
|
||||
default: Public subnet 2 CIDR
|
||||
AccessCidr:
|
||||
default: Permitted IP range
|
||||
RemoteAccessCidr:
|
||||
default: Remote access CIDR
|
||||
VpcCidr:
|
||||
default: VPC CIDR
|
||||
ProvisionBastionHost:
|
||||
default: Bastion instance
|
||||
BastionInstanceType:
|
||||
default: Bastion instance type
|
||||
BastionRootVolumeSize:
|
||||
default: Bastion root volume size
|
||||
BastionEnableTcpForwarding:
|
||||
default: Bastion enable TCP forwarding
|
||||
BastionEnableX11Forwarding:
|
||||
default: Bastion enable X11 forwarding
|
||||
BastionOs:
|
||||
default: Bastion operating system
|
||||
NumBastionHosts:
|
||||
default: Number of bastion instances
|
||||
VolumeSize:
|
||||
default: EBS root volume size
|
||||
InstanceType:
|
||||
default: EC2 instance type
|
||||
NumberOfSecondary:
|
||||
default: Secondary instances
|
||||
ArtifactoryProduct:
|
||||
default: Artifactory product to install
|
||||
ArtifactoryVersion:
|
||||
default: Artifactory version
|
||||
SmLicenseName:
|
||||
default: Artifactory licenses secret name
|
||||
SmCertName:
|
||||
default: Artifactory certificate secret name
|
||||
ArtifactoryServerName:
|
||||
default: Artifactory server name
|
||||
MasterKey:
|
||||
default: Master server key
|
||||
ExtraJavaOptions:
|
||||
default: Extra Java options
|
||||
DefaultJavaMemSettings:
|
||||
default: Default Java memory settings
|
||||
DatabaseName:
|
||||
default: Database name
|
||||
DatabaseEngine:
|
||||
default: Database engine
|
||||
DatabaseUser:
|
||||
default: Database user
|
||||
DatabasePassword:
|
||||
default: Database password
|
||||
DatabaseInstance:
|
||||
default: Database instance type
|
||||
DatabaseAllocatedStorage:
|
||||
default: Database allocated storage
|
||||
DatabasePreferredAz:
|
||||
default: Database preferred Availability Zone
|
||||
MultiAzDatabase:
|
||||
default: High-availability database
|
||||
QsS3BucketName:
|
||||
default: Quick Start S3 bucket name
|
||||
QsS3KeyPrefix:
|
||||
default: Quick Start S3 key prefix
|
||||
QsS3BucketRegion:
|
||||
default: Quick Start S3 bucket region
|
||||
InstallXray:
|
||||
default: Install JFrog Xray
|
||||
XrayVersion:
|
||||
default: Version of Xray to install
|
||||
XrayNumberOfInstances:
|
||||
default: Number of JFrog XrayNumberOfInstances
|
||||
XrayInstanceType:
|
||||
default: Xray instance type
|
||||
XrayDatabaseUser:
|
||||
default: Xray Database user
|
||||
XrayDatabasePassword:
|
||||
default: Xray Database password
|
||||
Parameters:
|
||||
VpcCidr:
|
||||
Description: CIDR block for the VPC.
|
||||
AllowedPattern: ^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\/(1[6-9]|2[0-8]))$
|
||||
ConstraintDescription: CIDR block parameter must be in the form x.x.x.x/16-28
|
||||
Default: 10.0.0.0/16
|
||||
Type: String
|
||||
AvailabilityZones:
|
||||
Description: List of Availability Zones to use for the subnets in the VPC. Two
|
||||
Availability Zones are used for this deployment.
|
||||
Type: List<AWS::EC2::AvailabilityZone::Name>
|
||||
KeyPairName:
|
||||
Description: Name of an existing key pair,
|
||||
which allows you to connect securely to your instance after it launches.
|
||||
This is the key pair you created in your preferred Region.
|
||||
Type: AWS::EC2::KeyPair::KeyName
|
||||
PrivateSubnet1Cidr:
|
||||
Description: CIDR block for private subnet 1 located in Availability Zone 1.
|
||||
AllowedPattern: ^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\/(1[6-9]|2[0-8]))$
|
||||
ConstraintDescription: CIDR block parameter must be in the form x.x.x.x/16-28
|
||||
Default: 10.0.0.0/19
|
||||
Type: String
|
||||
PrivateSubnet2Cidr:
|
||||
Description: CIDR block for private subnet 2 located in Availability Zone 2.
|
||||
AllowedPattern: ^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\/(1[6-9]|2[0-8]))$
|
||||
ConstraintDescription: CIDR block parameter must be in the form x.x.x.x/16-28
|
||||
Default: 10.0.32.0/19
|
||||
Type: String
|
||||
PublicSubnet1Cidr:
|
||||
Description: CIDR block for the public (DMZ) subnet 1 located in Availability
|
||||
Zone 1.
|
||||
AllowedPattern: ^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\/(1[6-9]|2[0-8]))$
|
||||
ConstraintDescription: CIDR block parameter must be in the form x.x.x.x/16-28
|
||||
Default: 10.0.128.0/20
|
||||
Type: String
|
||||
PublicSubnet2Cidr:
|
||||
Description: CIDR block for the public (DMZ) subnet 2 located in Availability
|
||||
Zone 2.
|
||||
AllowedPattern: ^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\/(1[6-9]|2[0-8]))$
|
||||
ConstraintDescription: CIDR block parameter must be in the form x.x.x.x/16-28
|
||||
Default: 10.0.144.0/20
|
||||
Type: String
|
||||
AccessCidr:
|
||||
Description: CIDR IP range permitted to access Artifactory.
|
||||
It is recommended that you set this value to a trusted IP range.
|
||||
For example, you may want to limit software access to your corporate network.
|
||||
AllowedPattern: ^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\/([0-9]|[1-2][0-9]|3[0-2]))$
|
||||
Type: String
|
||||
RemoteAccessCidr:
|
||||
Description: Remote CIDR range that allows you to connect to the bastion instance by using SSH.
|
||||
It is recommended that you set this value to a trusted IP range.
|
||||
For example, you may want to grant specific ranges from within your corporate network that use the SSH protocol.
|
||||
AllowedPattern: ^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\/([0-9]|[1-2][0-9]|3[0-2]))$
|
||||
Type: String
|
||||
ProvisionBastionHost:
|
||||
Description: To skip creating a bastion instance, choose Disabled. Because Artifactory nodes are
|
||||
created in private subnets, it's highly recommended to set this value to Enabled.
|
||||
AllowedValues:
|
||||
- "Enabled"
|
||||
- "Disabled"
|
||||
Default: "Enabled"
|
||||
Type: String
|
||||
BastionInstanceType:
|
||||
Description: Size of the bastion instances.
|
||||
AllowedValues:
|
||||
- t3.nano
|
||||
- t3.micro
|
||||
- t3.small
|
||||
- t3.medium
|
||||
- t3.large
|
||||
- m5.large
|
||||
- m5.xlarge
|
||||
- m5.2xlarge
|
||||
- m5.4xlarge
|
||||
Default: "t3.micro"
|
||||
Type: String
|
||||
BastionRootVolumeSize:
|
||||
Description: Size of the root volume in the bastion instances.
|
||||
Default: 10
|
||||
Type: Number
|
||||
BastionEnableTcpForwarding:
|
||||
Description: Choose whether to enable TCP forwarding via bootstrapping of the bastion
|
||||
instance.
|
||||
AllowedValues:
|
||||
- "true"
|
||||
- "false"
|
||||
Default: "true"
|
||||
Type: String
|
||||
BastionEnableX11Forwarding:
|
||||
Description: Choose true to enable X11 via bootstrapping of the bastion host.
|
||||
Setting this value to true enables X Windows over SSH.
|
||||
X11 forwarding can be useful, but it is also a security risk, so it's recommended
|
||||
that you keep the default (false) setting.
|
||||
AllowedValues:
|
||||
- "true"
|
||||
- "false"
|
||||
Default: "false"
|
||||
Type: String
|
||||
BastionOs:
|
||||
Description: Linux distribution for the Amazon Machine Image (AMI) to be used for the bastion instances.
|
||||
AllowedValues:
|
||||
- "Amazon-Linux2-HVM"
|
||||
- "CentOS-7-HVM"
|
||||
- "Ubuntu-Server-20.04-LTS-HVM"
|
||||
- "SUSE-SLES-15-HVM"
|
||||
Default: "Amazon-Linux2-HVM"
|
||||
Type: String
|
||||
NumBastionHosts:
|
||||
Description: Number of bastion instances to create.
|
||||
AllowedValues:
|
||||
- '1'
|
||||
- '2'
|
||||
- '3'
|
||||
- '4'
|
||||
Default: '1'
|
||||
Type: String
|
||||
VolumeSize:
|
||||
Description: Size in gigabytes of available storage (min 10GB). The Quick Start creates an
|
||||
Amazon Elastic Block Store (Amazon EBS) volumes of this size.
|
||||
Default: 200
|
||||
Type: Number
|
||||
InstanceType:
|
||||
Description: EC2 instance type for the Artifactory instances.
|
||||
AllowedValues:
|
||||
- m5.large
|
||||
- m5.xlarge
|
||||
- m5.2xlarge
|
||||
- m5.4xlarge
|
||||
- m5.8xlarge
|
||||
- m5.12xlarge
|
||||
- m5.16xlarge
|
||||
- m5.24xlarge
|
||||
- m5.metal
|
||||
- m5d.large
|
||||
- m5d.xlarge
|
||||
- m5d.2xlarge
|
||||
- m5d.4xlarge
|
||||
- m5d.8xlarge
|
||||
- m5d.12xlarge
|
||||
- m5d.16xlarge
|
||||
- m5d.24xlarge
|
||||
- m5d.metal
|
||||
- m5a.large
|
||||
- m5a.xlarge
|
||||
- m5a.2xlarge
|
||||
- m5a.4xlarge
|
||||
- m5a.8xlarge
|
||||
- m5a.12xlarge
|
||||
- m5a.16xlarge
|
||||
- m5a.24xlarge
|
||||
ConstraintDescription: Must contain valid instance type.
|
||||
Default: m5.xlarge
|
||||
Type: String
|
||||
NumberOfSecondary:
|
||||
Description: Number of secondary Artifactory servers to complete your
|
||||
HA deployment. To align with Artifactory best practices, the minimum number
|
||||
is two, and the maximum is seven. Do not select more instances than you
|
||||
have licenses for.
|
||||
AllowedValues:
|
||||
- 0
|
||||
- 1
|
||||
- 2
|
||||
- 3
|
||||
- 4
|
||||
- 5
|
||||
- 6
|
||||
- 7
|
||||
Default: 2
|
||||
Type: Number
|
||||
ArtifactoryProduct:
|
||||
Description: JFrog Artifactory product you want to install into an AMI.
|
||||
AllowedValues:
|
||||
- JFrog-Artifactory-Pro
|
||||
- JFrog-Artifactory-Enterprise
|
||||
- JFrog-Container-Registry
|
||||
Default: JFrog-Artifactory-Enterprise
|
||||
Type: String
|
||||
ArtifactoryVersion:
|
||||
Description: Version of Artifactory that you want to deploy into the Quick Start.
|
||||
To select the correct version, see the release notes at
|
||||
https://www.jfrog.com/confluence/display/RTF/Release+Notes.
|
||||
Default: 7.17.5
|
||||
Type: String
|
||||
SmLicenseName:
|
||||
Description: Secret name created in AWS Secrets Manager, which contains the Artifactory licenses.
|
||||
Default: ''
|
||||
Type: String
|
||||
SmCertName:
|
||||
Description: Secret name created in AWS Secrets Manager, which contains the SSL certificate and certificate key.
|
||||
Default: ''
|
||||
Type: String
|
||||
ArtifactoryServerName:
|
||||
Description: Name of your Artifactory server. Ensure that this matches your certificate.
|
||||
Type: String
|
||||
MasterKey:
|
||||
Description: Master key for the Artifactory cluster. Generate a master key by using the command '$openssl rand -hex 16'.
|
||||
AllowedPattern: ^[a-zA-Z0-9]+$
|
||||
MinLength: '1'
|
||||
MaxLength: '64'
|
||||
ConstraintDescription: Only capital or lowercase letters and numbers, with a Max of 64 characters.
|
||||
NoEcho: 'true'
|
||||
Type: String
|
||||
ExtraJavaOptions:
|
||||
Description: Set Java options to pass to the JVM for Artifactory. For more information, see the Artifactory
|
||||
system requirements at https://www.jfrog.com/confluence/display/RTF/System+Requirements#SystemRequirements-RecommendedHardware.
|
||||
Do not add Xms or Xmx settings without disabling DefaultJavaMemSettings.
|
||||
Default: -Xss256k -XX:+UseG1GC
|
||||
Type: String
|
||||
DefaultJavaMemSettings:
|
||||
Description: Choose false to overwrite the standard memory-calculation options to pass to the Artifactory JVM.
|
||||
If you plan to overwrite them, ensure they are added to the ExtraJavaOptions to prevent the stack provision from failing.
|
||||
ConstraintDescription: True or False
|
||||
AllowedValues:
|
||||
- "true"
|
||||
- "false"
|
||||
Default: "true"
|
||||
Type: String
|
||||
DatabaseName:
|
||||
Description: Name of your database instance. The name must be unique across all instances
|
||||
owned by your AWS account in the current Region. The database instance identifier is case-insensitive,
|
||||
but it's stored in lowercase (as in "mydbinstance").
|
||||
AllowedPattern: ^[a-zA-Z]([a-zA-Z0-9])+$
|
||||
MinLength: '1'
|
||||
MaxLength: '60'
|
||||
ConstraintDescription: 1 to 60 alphanumeric characters First character must be a letter.
|
||||
Default: artdb
|
||||
Type: String
|
||||
DatabaseEngine:
|
||||
Description: Database engine that you want to run.
|
||||
AllowedValues:
|
||||
- Postgres
|
||||
Default: Postgres
|
||||
Type: String
|
||||
DatabaseUser:
|
||||
Description: Login ID for the master user of your database instance.
|
||||
MinLength: '1'
|
||||
MaxLength: '16'
|
||||
AllowedPattern: ^[a-zA-Z]([a-zA-Z0-9])+$
|
||||
ConstraintDescription: 1 to 16 alphanumeric characters. The first character must be a letter.
|
||||
Default: artifactory
|
||||
Type: String
|
||||
DatabasePassword:
|
||||
Description: Password for the Artifactory database user.
|
||||
AllowedPattern: ^[^ \\']+$
|
||||
MinLength: '8'
|
||||
MaxLength: '12'
|
||||
ConstraintDescription: Must be at least 8 and no more than
|
||||
12 characters containing letters and (minimum 1 capital letter), numbers and
|
||||
symbols.
|
||||
NoEcho: 'true'
|
||||
Type: String
|
||||
DatabaseInstance:
|
||||
Description: Size of the database to be deployed as part of the Quick Start.
|
||||
AllowedValues:
|
||||
- db.m5.large
|
||||
- db.m5.xlarge
|
||||
- db.m5.2xlarge
|
||||
- db.m5.10xlarge
|
||||
- db.m5.16xlarge
|
||||
- db.m5.large
|
||||
- db.m5.xlarge
|
||||
- db.m5.2xlarge
|
||||
- db.m5.4xlarge
|
||||
- db.m5.12xlarge
|
||||
- db.m5.24xlarge
|
||||
ConstraintDescription: Must be a valid database Instance Type.
|
||||
Default: db.m5.large
|
||||
Type: String
|
||||
DatabaseAllocatedStorage:
|
||||
Description: Size in gigabytes of available storage for the database instance.
|
||||
MinValue: 5
|
||||
MaxValue: 1024
|
||||
Default: 10
|
||||
Type: Number
|
||||
DatabasePreferredAz:
|
||||
Description: Preferred availability zone for Amazon RDS primary instance
|
||||
Type: String
|
||||
Default: ''
|
||||
MultiAzDatabase:
|
||||
Description: Choose false to create an Amazon RDS instance in a single Availability Zone.
|
||||
ConstraintDescription: True or False
|
||||
AllowedValues:
|
||||
- "true"
|
||||
- "false"
|
||||
Default: "true"
|
||||
Type: String
|
||||
QsS3BucketName:
|
||||
Description: S3 bucket name for the Quick Start assets. This string can include
|
||||
numbers, lowercase letters, and hyphens (-). It cannot start
|
||||
or end with a hyphen (-).
|
||||
AllowedPattern: ^[0-9a-z]+([0-9a-z-]*[0-9a-z])*$
|
||||
ConstraintDescription: Quick Start bucket name can include numbers, lowercase
|
||||
letters, and hyphens (-). It cannot start or end with a hyphen (-).
|
||||
Default: aws-quickstart
|
||||
Type: String
|
||||
QsS3KeyPrefix:
|
||||
Description: S3 key prefix for the Quick Start assets. Quick Start key prefix
|
||||
can include numbers, lowercase letters, uppercase letters, hyphens (-), and
|
||||
forward slash (/).
|
||||
AllowedPattern: ^[0-9a-zA-Z-/]*$
|
||||
ConstraintDescription: Quick Start key prefix can include numbers, lowercase letters,
|
||||
uppercase letters, hyphens (-), and forward slash (/).
|
||||
Default: quickstart-jfrog-artifactory/
|
||||
Type: String
|
||||
QsS3BucketRegion:
|
||||
Default: 'us-east-1'
|
||||
Description: AWS Region where the Quick Start S3 bucket (QSS3BucketName) is hosted. If you use your own bucket, you must specify your own value.
|
||||
Type: String
|
||||
InstallXray:
|
||||
Description: Choose true to install JFrog Xray instance(s).
|
||||
ConstraintDescription: True or False
|
||||
AllowedValues:
|
||||
- "true"
|
||||
- "false"
|
||||
Default: "true"
|
||||
Type: String
|
||||
XrayVersion:
|
||||
Description: The version of Xray that you want to deploy into the Quick Start.
|
||||
Default: 3.22.1
|
||||
Type: String
|
||||
XrayNumberOfInstances:
|
||||
Description: The number of Xray instances servers to complete your
|
||||
HA deployment. The minimum number is one; the maximum is seven.
|
||||
Do not select more than instances than you have licenses for.
|
||||
MinValue: 1
|
||||
MaxValue: 7
|
||||
Default: 1
|
||||
Type: Number
|
||||
XrayInstanceType:
|
||||
Description: The EC2 instance type for the Xray instances.
|
||||
AllowedValues:
|
||||
- c5.2xlarge
|
||||
- c5.4xlarge
|
||||
ConstraintDescription: Must contain valid instance type.
|
||||
Default: c5.2xlarge
|
||||
Type: String
|
||||
XrayDatabaseUser:
|
||||
Description: The login ID for the Xray database user.
|
||||
MinLength: '1'
|
||||
MaxLength: '16'
|
||||
AllowedPattern: ^[a-zA-Z]([a-zA-Z0-9])+$
|
||||
ConstraintDescription: 1 to 16 alphanumeric characters. First character must be a letter.
|
||||
Default: xray
|
||||
Type: String
|
||||
XrayDatabasePassword:
|
||||
Description: The password for the Xray database user.
|
||||
AllowedPattern: ^[^ \\']+$
|
||||
MinLength: '8'
|
||||
MaxLength: '12'
|
||||
ConstraintDescription: Must be at least 8 and no more than
|
||||
12 characters containing letters and (minimum 1 capital letter), numbers and
|
||||
symbols.
|
||||
NoEcho: 'true'
|
||||
Type: String
|
||||
# Conditions:
|
||||
# UsingDefaultBucket: !Equals [!Ref QsS3BucketName, 'aws-quickstart']
|
||||
|
||||
Resources:
|
||||
ArtifactoryVpcStack:
|
||||
Type: JFrog::Vpc::MultiAz::MODULE
|
||||
Properties:
|
||||
AvailabilityZones: "us-east-1a,us-east-1b"
|
||||
KeyPairName: "vinaykey1"
|
||||
NumberOfAZs: '2'
|
||||
PrivateSubnet1ACIDR:
|
||||
Ref: PrivateSubnet1Cidr
|
||||
PrivateSubnet2ACIDR:
|
||||
Ref: PrivateSubnet2Cidr
|
||||
PublicSubnet1CIDR:
|
||||
Ref: PublicSubnet1Cidr
|
||||
PublicSubnet2CIDR:
|
||||
Ref: PublicSubnet2Cidr
|
||||
VPCCIDR:
|
||||
Ref: VpcCidr
|
||||
# ArtifactoryExistingVpcStack:
|
||||
# Type: AWS::CloudFormation::Stack
|
||||
# Properties:
|
||||
# TemplateURL: !Sub
|
||||
# - https://${S3Bucket}.s3.${S3Region}.${AWS::URLSuffix}/${QsS3KeyPrefix}templates/jfrog-artifactory-ec2-existing-vpc.template.yaml
|
||||
# - S3Bucket: !If [UsingDefaultBucket, !Sub '${QsS3BucketName}-${AWS::Region}', !Ref 'QsS3BucketName']
|
||||
# S3Region: !If [UsingDefaultBucket, !Ref 'AWS::Region', !Ref 'QsS3BucketRegion']
|
||||
# Parameters:
|
||||
# AvailabilityZones:
|
||||
# Fn::Join:
|
||||
# - ','
|
||||
# - Ref: AvailabilityZones
|
||||
# KeyPairName: !Ref KeyPairName
|
||||
# VpcId: !GetAtt ArtifactoryVpcStack.Outputs.VPCID
|
||||
# VpcCidr: !Ref VpcCidr
|
||||
# PublicSubnet1Id: !GetAtt ArtifactoryVpcStack.Outputs.PublicSubnet1ID
|
||||
# PublicSubnet2Id: !GetAtt ArtifactoryVpcStack.Outputs.PublicSubnet2ID
|
||||
# PrivateSubnet1Id: !GetAtt ArtifactoryVpcStack.Outputs.PrivateSubnet1AID
|
||||
# PrivateSubnet2Id: !GetAtt ArtifactoryVpcStack.Outputs.PrivateSubnet2AID
|
||||
# PrivateSubnet1Cidr: !Ref PrivateSubnet1Cidr
|
||||
# PrivateSubnet2Cidr: !Ref PrivateSubnet2Cidr
|
||||
# AccessCidr: !Ref AccessCidr
|
||||
# RemoteAccessCidr: !Ref RemoteAccessCidr
|
||||
# ProvisionBastionHost: !Ref ProvisionBastionHost
|
||||
# BastionInstanceType: !Ref BastionInstanceType
|
||||
# BastionRootVolumeSize: !Ref BastionRootVolumeSize
|
||||
# BastionEnableTcpForwarding: !Ref BastionEnableTcpForwarding
|
||||
# BastionEnableX11Forwarding: !Ref BastionEnableX11Forwarding
|
||||
# BastionOs: !Ref BastionOs
|
||||
# NumBastionHosts: !Ref NumBastionHosts
|
||||
# VolumeSize: !Ref VolumeSize
|
||||
# InstanceType: !Ref InstanceType
|
||||
# NumberOfSecondary: !Ref NumberOfSecondary
|
||||
# ArtifactoryProduct: !Ref ArtifactoryProduct
|
||||
# ArtifactoryVersion: !Ref ArtifactoryVersion
|
||||
# SmLicenseName: !Ref SmLicenseName
|
||||
# SmCertName: !Ref SmCertName
|
||||
# ArtifactoryServerName: !Ref ArtifactoryServerName
|
||||
# MasterKey: !Ref MasterKey
|
||||
# ExtraJavaOptions: !Ref ExtraJavaOptions
|
||||
# DefaultJavaMemSettings: !Ref DefaultJavaMemSettings
|
||||
# DatabaseName: !Ref DatabaseName
|
||||
# DatabaseEngine: !Ref DatabaseEngine
|
||||
# DatabaseUser: !Ref DatabaseUser
|
||||
# DatabasePassword: !Ref DatabasePassword
|
||||
# DatabaseInstance: !Ref DatabaseInstance
|
||||
# DatabaseAllocatedStorage: !Ref DatabaseAllocatedStorage
|
||||
# DatabasePreferredAz: !Ref DatabasePreferredAz
|
||||
# MultiAzDatabase: !Ref MultiAzDatabase
|
||||
# QsS3BucketName: !Ref QsS3BucketName
|
||||
# QsS3KeyPrefix: !Ref QsS3KeyPrefix
|
||||
# QsS3BucketRegion: !Ref QsS3BucketRegion
|
||||
# InstallXray: !Ref InstallXray
|
||||
# XrayVersion: !Ref XrayVersion
|
||||
# XrayNumberOfInstances: !Ref XrayNumberOfInstances
|
||||
# XrayInstanceType: !Ref XrayInstanceType
|
||||
# XrayDatabaseUser: !Ref XrayDatabaseUser
|
||||
# XrayDatabasePassword: !Ref XrayDatabasePassword
|
||||
# Outputs:
|
||||
# ArtifactoryUrl:
|
||||
# Description: URL of the ELB to access Artifactory
|
||||
# Value: !Sub ${ArtifactoryExistingVpcStack.Outputs.ArtifactoryUrl}
|
||||
# BastionIp:
|
||||
# Value: !Sub ${ArtifactoryExistingVpcStack.Outputs.BastionIp}
|
||||
# Description: Bastion host IP, for admin access via SSH
|
||||
602
Amazon/cloudformation-modules/test-cfts/existing-vpc.yaml
Normal file
602
Amazon/cloudformation-modules/test-cfts/existing-vpc.yaml
Normal file
@@ -0,0 +1,602 @@
|
||||
AWSTemplateFormatVersion: '2010-09-09'
|
||||
Description: 'JFrog Artifactory Quick Start Deployment (qs-1qpmmjh2f)'
|
||||
Metadata:
|
||||
QuickStartDocumentation:
|
||||
EntrypointName: "Launch into a new VPC"
|
||||
AWS::CloudFormation::Interface:
|
||||
ParameterGroups:
|
||||
- Label:
|
||||
default: Security configuration
|
||||
Parameters:
|
||||
- KeyPairName
|
||||
- AccessCidr
|
||||
- RemoteAccessCidr
|
||||
- Label:
|
||||
default: Network configuration
|
||||
Parameters:
|
||||
- AvailabilityZones
|
||||
- VpcCidr
|
||||
- PrivateSubnet1Cidr
|
||||
- PrivateSubnet2Cidr
|
||||
- PublicSubnet1Cidr
|
||||
- PublicSubnet2Cidr
|
||||
- VpcId
|
||||
- PublicSubnetIds
|
||||
- PrivateSubnetIds
|
||||
- Label:
|
||||
default: Bastion configuration
|
||||
Parameters:
|
||||
- EnableBastion
|
||||
- BastionInstanceType
|
||||
- BastionOs
|
||||
- BastionRootVolumeSize
|
||||
- BastionEnableTcpForwarding
|
||||
- NumBastionHosts
|
||||
- BastionEnableX11Forwarding
|
||||
- Label:
|
||||
default: Amazon EC2 configuration
|
||||
Parameters:
|
||||
- VolumeSize
|
||||
- InstanceType
|
||||
- Label:
|
||||
default: JFrog Artifactory configuration
|
||||
Parameters:
|
||||
- ArtifactoryProduct
|
||||
- ArtifactoryVersion
|
||||
- NumberOfSecondary
|
||||
- SmLicenseName
|
||||
- SmCertName
|
||||
- ArtifactoryServerName
|
||||
- MasterKey
|
||||
- ExtraJavaOptions
|
||||
- DefaultJavaMemSettings
|
||||
- Label:
|
||||
default: Amazon RDS configuration
|
||||
Parameters:
|
||||
- DatabaseName
|
||||
- DatabaseEngine
|
||||
- DatabaseUser
|
||||
- DatabasePassword
|
||||
- DatabaseInstance
|
||||
- DatabaseAllocatedStorage
|
||||
- DatabasePreferredAz
|
||||
- MultiAzDatabase
|
||||
- Label:
|
||||
default: AWS Quick Start configuration
|
||||
Parameters:
|
||||
- QsS3BucketName
|
||||
- QsS3KeyPrefix
|
||||
- QsS3BucketRegion
|
||||
- Label:
|
||||
default: JFrog Xray Configuration
|
||||
Parameters:
|
||||
- InstallXray
|
||||
- XrayVersion
|
||||
- XrayNumberOfInstances
|
||||
- XrayInstanceType
|
||||
- XrayDatabaseUser
|
||||
- XrayDatabasePassword
|
||||
ParameterLabels:
|
||||
AvailabilityZones:
|
||||
default: Availability Zones
|
||||
KeyPairName:
|
||||
default: SSH key name
|
||||
PrivateSubnet1Cidr:
|
||||
default: Private subnet 1 CIDR
|
||||
PrivateSubnet2Cidr:
|
||||
default: Private subnet 2 CIDR
|
||||
PublicSubnet1Cidr:
|
||||
default: Public subnet 1 CIDR
|
||||
PublicSubnet2Cidr:
|
||||
default: Public subnet 2 CIDR
|
||||
VpcId:
|
||||
default: VPC ID
|
||||
PublicSubnetIds:
|
||||
default: Public subnet 1 and subnet 2 ID
|
||||
PrivateSubnetIds:
|
||||
default: Private subnet 1 and subnet 2 ID
|
||||
AccessCidr:
|
||||
default: Permitted IP range
|
||||
RemoteAccessCidr:
|
||||
default: Remote access CIDR
|
||||
VpcCidr:
|
||||
default: VPC CIDR
|
||||
EnableBastion:
|
||||
default: Bastion instance
|
||||
BastionInstanceType:
|
||||
default: Bastion instance type
|
||||
BastionRootVolumeSize:
|
||||
default: Bastion root volume size
|
||||
BastionEnableTcpForwarding:
|
||||
default: Bastion enable TCP forwarding
|
||||
BastionEnableX11Forwarding:
|
||||
default: Bastion enable X11 forwarding
|
||||
BastionOs:
|
||||
default: Bastion operating system
|
||||
NumBastionHosts:
|
||||
default: Number of bastion instances
|
||||
VolumeSize:
|
||||
default: EBS root volume size
|
||||
InstanceType:
|
||||
default: EC2 instance type
|
||||
NumberOfSecondary:
|
||||
default: Secondary instances
|
||||
ArtifactoryProduct:
|
||||
default: Artifactory product to install
|
||||
ArtifactoryVersion:
|
||||
default: Artifactory version
|
||||
SmLicenseName:
|
||||
default: Artifactory licenses secret name
|
||||
SmCertName:
|
||||
default: Artifactory certificate secret name
|
||||
ArtifactoryServerName:
|
||||
default: Artifactory server name
|
||||
MasterKey:
|
||||
default: Master server key
|
||||
ExtraJavaOptions:
|
||||
default: Extra Java options
|
||||
DefaultJavaMemSettings:
|
||||
default: Default Java memory settings
|
||||
DatabaseName:
|
||||
default: Database name
|
||||
DatabaseEngine:
|
||||
default: Database engine
|
||||
DatabaseUser:
|
||||
default: Database user
|
||||
DatabasePassword:
|
||||
default: Database password
|
||||
DatabaseInstance:
|
||||
default: Database instance type
|
||||
DatabaseAllocatedStorage:
|
||||
default: Database allocated storage
|
||||
DatabasePreferredAz:
|
||||
default: Database preferred Availability Zone
|
||||
MultiAzDatabase:
|
||||
default: High-availability database
|
||||
QsS3BucketName:
|
||||
default: Quick Start S3 bucket name
|
||||
QsS3KeyPrefix:
|
||||
default: Quick Start S3 key prefix
|
||||
QsS3BucketRegion:
|
||||
default: Quick Start S3 bucket region
|
||||
InstallXray:
|
||||
default: Install JFrog Xray
|
||||
XrayVersion:
|
||||
default: Version of Xray to install
|
||||
XrayNumberOfInstances:
|
||||
default: Number of JFrog XrayNumberOfInstances
|
||||
XrayInstanceType:
|
||||
default: Xray instance type
|
||||
XrayDatabaseUser:
|
||||
default: Xray Database user
|
||||
XrayDatabasePassword:
|
||||
default: Xray Database password
|
||||
Parameters:
|
||||
VpcCidr:
|
||||
Description: CIDR block for the VPC.
|
||||
AllowedPattern: ^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\/(1[6-9]|2[0-8]))$
|
||||
ConstraintDescription: CIDR block parameter must be in the form x.x.x.x/16-28
|
||||
Default: 10.0.0.0/16
|
||||
Type: String
|
||||
AvailabilityZone1:
|
||||
Description: Availability Zone 1 to use for the subnets in the VPC. Two
|
||||
Availability Zones are used for this deployment.
|
||||
Type: AWS::EC2::AvailabilityZone::Name
|
||||
AvailabilityZone2:
|
||||
Description: Availability Zone 2 to use for the subnets in the VPC. Two
|
||||
Availability Zones are used for this deployment.
|
||||
Type: AWS::EC2::AvailabilityZone::Name
|
||||
KeyPairName:
|
||||
Description: Name of an existing key pair,
|
||||
which allows you to connect securely to your instance after it launches.
|
||||
This is the key pair you created in your preferred Region.
|
||||
Type: AWS::EC2::KeyPair::KeyName
|
||||
PrivateSubnet1Cidr:
|
||||
Description: CIDR block for private subnet 1 located in Availability Zone 1.
|
||||
AllowedPattern: ^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\/(1[6-9]|2[0-8]))$
|
||||
ConstraintDescription: CIDR block parameter must be in the form x.x.x.x/16-28
|
||||
Default: 10.0.0.0/19
|
||||
Type: String
|
||||
PrivateSubnet2Cidr:
|
||||
Description: CIDR block for private subnet 2 located in Availability Zone 2.
|
||||
AllowedPattern: ^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\/(1[6-9]|2[0-8]))$
|
||||
ConstraintDescription: CIDR block parameter must be in the form x.x.x.x/16-28
|
||||
Default: 10.0.32.0/19
|
||||
Type: String
|
||||
PublicSubnet1Cidr:
|
||||
Description: CIDR block for the public (DMZ) subnet 1 located in Availability
|
||||
Zone 1.
|
||||
AllowedPattern: ^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\/(1[6-9]|2[0-8]))$
|
||||
ConstraintDescription: CIDR block parameter must be in the form x.x.x.x/16-28
|
||||
Default: 10.0.128.0/20
|
||||
Type: String
|
||||
PublicSubnet2Cidr:
|
||||
Description: CIDR block for the public (DMZ) subnet 2 located in Availability
|
||||
Zone 2.
|
||||
AllowedPattern: ^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\/(1[6-9]|2[0-8]))$
|
||||
ConstraintDescription: CIDR block parameter must be in the form x.x.x.x/16-28
|
||||
Default: 10.0.144.0/20
|
||||
Type: String
|
||||
VpcId:
|
||||
Description: ID of your existing VPC (e.g., vpc-0343606e).
|
||||
Type: "AWS::EC2::VPC::Id"
|
||||
PrivateSubnet2Id:
|
||||
Description: ID of the private subnet in Availability Zone 2 of your existing VPC (e.g., subnet-z0376dab).
|
||||
Type: AWS::EC2::Subnet::Id
|
||||
PrivateSubnet1Id:
|
||||
Description: ID of the private subnet in Availability Zone 1 of your existing VPC (e.g., subnet-z0376dab).
|
||||
Type: AWS::EC2::Subnet::Id
|
||||
PublicSubnet1Id:
|
||||
Description: ID of the public subnet in Availability Zone 1 of your existing VPC (e.g., subnet-z0376dab).
|
||||
Type: AWS::EC2::Subnet::Id
|
||||
PublicSubnet2Id:
|
||||
Description: ID of the public subnet in Availability Zone 1 of your existing VPC (e.g., subnet-z0376dab).
|
||||
Type: AWS::EC2::Subnet::Id
|
||||
AccessCidr:
|
||||
Description: CIDR IP range permitted to access Artifactory.
|
||||
It is recommended that you set this value to a trusted IP range.
|
||||
For example, you may want to limit software access to your corporate network.
|
||||
AllowedPattern: ^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\/([0-9]|[1-2][0-9]|3[0-2]))$
|
||||
Type: String
|
||||
RemoteAccessCidr:
|
||||
Description: Remote CIDR range that allows you to connect to the bastion instance by using SSH.
|
||||
It is recommended that you set this value to a trusted IP range.
|
||||
For example, you may want to grant specific ranges from within your corporate network that use the SSH protocol.
|
||||
AllowedPattern: ^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\/([0-9]|[1-2][0-9]|3[0-2]))$
|
||||
Type: String
|
||||
EnableBastion:
|
||||
Description: If set to true, a bastion host will be created.
|
||||
Default: "true"
|
||||
Type: String
|
||||
AllowedValues:
|
||||
- "true"
|
||||
- "false"
|
||||
BastionInstanceType:
|
||||
Description: Size of the bastion instances.
|
||||
AllowedValues:
|
||||
- t3.nano
|
||||
- t3.micro
|
||||
- t3.small
|
||||
- t3.medium
|
||||
- t3.large
|
||||
- m5.large
|
||||
- m5.xlarge
|
||||
- m5.2xlarge
|
||||
- m5.4xlarge
|
||||
Default: "t3.micro"
|
||||
Type: String
|
||||
BastionRootVolumeSize:
|
||||
Description: Size of the root volume in the bastion instances.
|
||||
Default: 10
|
||||
Type: Number
|
||||
BastionEnableTcpForwarding:
|
||||
Description: Choose whether to enable TCP forwarding via bootstrapping of the bastion
|
||||
instance.
|
||||
AllowedValues:
|
||||
- "true"
|
||||
- "false"
|
||||
Default: "true"
|
||||
Type: String
|
||||
BastionEnableX11Forwarding:
|
||||
Description: Choose true to enable X11 via bootstrapping of the bastion host.
|
||||
Setting this value to true enables X Windows over SSH.
|
||||
X11 forwarding can be useful, but it is also a security risk, so it's recommended
|
||||
that you keep the default (false) setting.
|
||||
AllowedValues:
|
||||
- "true"
|
||||
- "false"
|
||||
Default: "false"
|
||||
Type: String
|
||||
BastionOs:
|
||||
Description: Linux distribution for the Amazon Machine Image (AMI) to be used for the bastion instances.
|
||||
AllowedValues:
|
||||
- "Amazon-Linux2-HVM"
|
||||
- "CentOS-7-HVM"
|
||||
- "Ubuntu-Server-20.04-LTS-HVM"
|
||||
- "SUSE-SLES-15-HVM"
|
||||
Default: "Amazon-Linux2-HVM"
|
||||
Type: String
|
||||
NumBastionHosts:
|
||||
Description: Number of bastion instances to create.
|
||||
AllowedValues:
|
||||
- '1'
|
||||
- '2'
|
||||
- '3'
|
||||
- '4'
|
||||
Default: '1'
|
||||
Type: String
|
||||
VolumeSize:
|
||||
Description: Size in gigabytes of available storage (min 10GB). The Quick Start creates an
|
||||
Amazon Elastic Block Store (Amazon EBS) volumes of this size.
|
||||
Default: 200
|
||||
Type: Number
|
||||
InstanceType:
|
||||
Description: EC2 instance type for the Artifactory instances.
|
||||
AllowedValues:
|
||||
- m5.large
|
||||
- m5.xlarge
|
||||
- m5.2xlarge
|
||||
- m5.4xlarge
|
||||
- m5.8xlarge
|
||||
- m5.12xlarge
|
||||
- m5.16xlarge
|
||||
- m5.24xlarge
|
||||
- m5.metal
|
||||
- m5d.large
|
||||
- m5d.xlarge
|
||||
- m5d.2xlarge
|
||||
- m5d.4xlarge
|
||||
- m5d.8xlarge
|
||||
- m5d.12xlarge
|
||||
- m5d.16xlarge
|
||||
- m5d.24xlarge
|
||||
- m5d.metal
|
||||
- m5a.large
|
||||
- m5a.xlarge
|
||||
- m5a.2xlarge
|
||||
- m5a.4xlarge
|
||||
- m5a.8xlarge
|
||||
- m5a.12xlarge
|
||||
- m5a.16xlarge
|
||||
- m5a.24xlarge
|
||||
ConstraintDescription: Must contain valid instance type.
|
||||
Default: m5.xlarge
|
||||
Type: String
|
||||
NumberOfSecondary:
|
||||
Description: Number of secondary Artifactory servers to complete your
|
||||
HA deployment. To align with Artifactory best practices, the minimum number
|
||||
is two, and the maximum is seven. Do not select more instances than you
|
||||
have licenses for.
|
||||
AllowedValues:
|
||||
- 0
|
||||
- 1
|
||||
- 2
|
||||
- 3
|
||||
- 4
|
||||
- 5
|
||||
- 6
|
||||
- 7
|
||||
Default: 2
|
||||
Type: Number
|
||||
ArtifactoryProduct:
|
||||
Description: JFrog Artifactory product you want to install into an AMI.
|
||||
AllowedValues:
|
||||
- JFrog-Artifactory-Pro
|
||||
- JFrog-Artifactory-Enterprise
|
||||
- JFrog-Container-Registry
|
||||
Default: JFrog-Artifactory-Enterprise
|
||||
Type: String
|
||||
ArtifactoryVersion:
|
||||
Description: Version of Artifactory that you want to deploy into the Quick Start.
|
||||
To select the correct version, see the release notes at
|
||||
https://www.jfrog.com/confluence/display/RTF/Release+Notes.
|
||||
Default: 7.17.5
|
||||
Type: String
|
||||
SmLicenseName:
|
||||
Description: Secret name created in AWS Secrets Manager, which contains the Artifactory licenses.
|
||||
Default: ''
|
||||
Type: String
|
||||
SmCertName:
|
||||
Description: Secret name created in AWS Secrets Manager, which contains the SSL certificate and certificate key.
|
||||
Default: ''
|
||||
Type: String
|
||||
ArtifactoryServerName:
|
||||
Description: Name of your Artifactory server. Ensure that this matches your certificate.
|
||||
Type: String
|
||||
MasterKey:
|
||||
Description: Master key for the Artifactory cluster. Generate a master key by using the command '$openssl rand -hex 16'.
|
||||
AllowedPattern: ^[a-zA-Z0-9]+$
|
||||
MinLength: '1'
|
||||
MaxLength: '64'
|
||||
ConstraintDescription: Only capital or lowercase letters and numbers, with a Max of 64 characters.
|
||||
NoEcho: 'true'
|
||||
Type: String
|
||||
ExtraJavaOptions:
|
||||
Description: Set Java options to pass to the JVM for Artifactory. For more information, see the Artifactory
|
||||
system requirements at https://www.jfrog.com/confluence/display/RTF/System+Requirements#SystemRequirements-RecommendedHardware.
|
||||
Do not add Xms or Xmx settings without disabling DefaultJavaMemSettings.
|
||||
Default: -Xss256k -XX:+UseG1GC
|
||||
Type: String
|
||||
DefaultJavaMemSettings:
|
||||
Description: Choose false to overwrite the standard memory-calculation options to pass to the Artifactory JVM.
|
||||
If you plan to overwrite them, ensure they are added to the ExtraJavaOptions to prevent the stack provision from failing.
|
||||
ConstraintDescription: True or False
|
||||
AllowedValues:
|
||||
- "true"
|
||||
- "false"
|
||||
Default: "true"
|
||||
Type: String
|
||||
DatabaseName:
|
||||
Description: Name of your database instance. The name must be unique across all instances
|
||||
owned by your AWS account in the current Region. The database instance identifier is case-insensitive,
|
||||
but it's stored in lowercase (as in "mydbinstance").
|
||||
AllowedPattern: ^[a-zA-Z]([a-zA-Z0-9])+$
|
||||
MinLength: '1'
|
||||
MaxLength: '60'
|
||||
ConstraintDescription: 1 to 60 alphanumeric characters First character must be a letter.
|
||||
Default: artdb
|
||||
Type: String
|
||||
DatabaseEngine:
|
||||
Description: Database engine that you want to run.
|
||||
AllowedValues:
|
||||
- Postgres
|
||||
Default: Postgres
|
||||
Type: String
|
||||
DatabaseUser:
|
||||
Description: Login ID for the master user of your database instance.
|
||||
MinLength: '1'
|
||||
MaxLength: '16'
|
||||
AllowedPattern: ^[a-zA-Z]([a-zA-Z0-9])+$
|
||||
ConstraintDescription: 1 to 16 alphanumeric characters. The first character must be a letter.
|
||||
Default: artifactory
|
||||
Type: String
|
||||
DatabasePassword:
|
||||
Description: Password for the Artifactory database user.
|
||||
AllowedPattern: ^[^ \\']+$
|
||||
MinLength: '8'
|
||||
MaxLength: '12'
|
||||
ConstraintDescription: Must be at least 8 and no more than
|
||||
12 characters containing letters and (minimum 1 capital letter), numbers and
|
||||
symbols.
|
||||
NoEcho: 'true'
|
||||
Type: String
|
||||
DatabaseInstance:
|
||||
Description: Size of the database to be deployed as part of the Quick Start.
|
||||
AllowedValues:
|
||||
- db.m5.large
|
||||
- db.m5.xlarge
|
||||
- db.m5.2xlarge
|
||||
- db.m5.10xlarge
|
||||
- db.m5.16xlarge
|
||||
- db.m5.large
|
||||
- db.m5.xlarge
|
||||
- db.m5.2xlarge
|
||||
- db.m5.4xlarge
|
||||
- db.m5.12xlarge
|
||||
- db.m5.24xlarge
|
||||
ConstraintDescription: Must be a valid database Instance Type.
|
||||
Default: db.m5.large
|
||||
Type: String
|
||||
DatabaseAllocatedStorage:
|
||||
Description: Size in gigabytes of available storage for the database instance.
|
||||
MinValue: 5
|
||||
MaxValue: 1024
|
||||
Default: 10
|
||||
Type: Number
|
||||
DatabasePreferredAz:
|
||||
Description: Preferred availability zone for Amazon RDS primary instance
|
||||
Type: String
|
||||
MultiAzDatabase:
|
||||
Description: Choose false to create an Amazon RDS instance in a single Availability Zone.
|
||||
ConstraintDescription: True or False
|
||||
AllowedValues:
|
||||
- "true"
|
||||
- "false"
|
||||
Default: "true"
|
||||
Type: String
|
||||
QsS3BucketName:
|
||||
Description: S3 bucket name for the Quick Start assets. This string can include
|
||||
numbers, lowercase letters, and hyphens (-). It cannot start
|
||||
or end with a hyphen (-).
|
||||
AllowedPattern: ^[0-9a-z]+([0-9a-z-]*[0-9a-z])*$
|
||||
ConstraintDescription: Quick Start bucket name can include numbers, lowercase
|
||||
letters, and hyphens (-). It cannot start or end with a hyphen (-).
|
||||
Default: aws-quickstart
|
||||
Type: String
|
||||
QsS3KeyPrefix:
|
||||
Description: S3 key prefix for the Quick Start assets. Quick Start key prefix
|
||||
can include numbers, lowercase letters, uppercase letters, hyphens (-), and
|
||||
forward slash (/).
|
||||
AllowedPattern: ^[0-9a-zA-Z-/]*$
|
||||
ConstraintDescription: Quick Start key prefix can include numbers, lowercase letters,
|
||||
uppercase letters, hyphens (-), and forward slash (/).
|
||||
Default: quickstart-jfrog-artifactory/
|
||||
Type: String
|
||||
QsS3BucketRegion:
|
||||
Default: 'us-east-1'
|
||||
Description: AWS Region where the Quick Start S3 bucket (QSS3BucketName) is hosted. If you use your own bucket, you must specify your own value.
|
||||
Type: String
|
||||
InstallXray:
|
||||
Description: Choose true to install JFrog Xray instance(s).
|
||||
ConstraintDescription: True or False
|
||||
AllowedValues:
|
||||
- "true"
|
||||
- "false"
|
||||
Default: "true"
|
||||
Type: String
|
||||
XrayVersion:
|
||||
Description: The version of Xray that you want to deploy into the Quick Start.
|
||||
Default: 3.22.1
|
||||
Type: String
|
||||
XrayNumberOfInstances:
|
||||
Description: The number of Xray instances servers to complete your
|
||||
HA deployment. The minimum number is one; the maximum is seven.
|
||||
Do not select more than instances than you have licenses for.
|
||||
MinValue: 1
|
||||
MaxValue: 7
|
||||
Default: 1
|
||||
Type: Number
|
||||
XrayInstanceType:
|
||||
Description: The EC2 instance type for the Xray instances.
|
||||
AllowedValues:
|
||||
- c5.2xlarge
|
||||
- c5.4xlarge
|
||||
ConstraintDescription: Must contain valid instance type.
|
||||
Default: c5.2xlarge
|
||||
Type: String
|
||||
XrayDatabaseUser:
|
||||
Description: The login ID for the Xray database user.
|
||||
MinLength: '1'
|
||||
MaxLength: '16'
|
||||
AllowedPattern: ^[a-zA-Z]([a-zA-Z0-9])+$
|
||||
ConstraintDescription: 1 to 16 alphanumeric characters. First character must be a letter.
|
||||
Default: xray
|
||||
Type: String
|
||||
XrayDatabasePassword:
|
||||
Description: The password for the Xray database user.
|
||||
AllowedPattern: ^[^ \\']+$
|
||||
MinLength: '8'
|
||||
MaxLength: '12'
|
||||
ConstraintDescription: Must be at least 8 and no more than
|
||||
12 characters containing letters and (minimum 1 capital letter), numbers and
|
||||
symbols.
|
||||
NoEcho: 'true'
|
||||
Type: String
|
||||
Conditions:
|
||||
UsingDefaultBucket: !Equals [!Ref QsS3BucketName, 'aws-quickstart']
|
||||
|
||||
Resources:
|
||||
ArtifactoryExistingVpcStack:
|
||||
Type: JFrog::Artifactory::ExistingVpc::MODULE
|
||||
Properties:
|
||||
LogicalId : "ArtifactoryExistingVpcStack"
|
||||
AvailabilityZone1: !Ref AvailabilityZone1
|
||||
AvailabilityZone2: !Ref AvailabilityZone2
|
||||
KeyPairName: !Ref KeyPairName
|
||||
VpcId: !Ref VpcId
|
||||
VpcCidr: !Ref VpcCidr
|
||||
PublicSubnet1Id: !Ref PublicSubnet1Id
|
||||
PublicSubnet2Id: !Ref PublicSubnet2Id
|
||||
#PublicSubnet2Id: !Ref PublicSubnet2Id
|
||||
PrivateSubnet1Id: !Ref PrivateSubnet1Id
|
||||
PrivateSubnet2Id: !Ref PrivateSubnet2Id
|
||||
#PrivateSubnet2Id: !Ref PrivateSubnet2Id
|
||||
PrivateSubnet1Cidr: !Ref PrivateSubnet1Cidr
|
||||
PrivateSubnet2Cidr: !Ref PrivateSubnet2Cidr
|
||||
AccessCidr: !Ref AccessCidr
|
||||
RemoteAccessCidr: !Ref RemoteAccessCidr
|
||||
EnableBastion: !Ref EnableBastion
|
||||
BastionInstanceType: !Ref BastionInstanceType
|
||||
BastionRootVolumeSize: !Ref BastionRootVolumeSize
|
||||
BastionEnableTcpForwarding: !Ref BastionEnableTcpForwarding
|
||||
BastionEnableX11Forwarding: !Ref BastionEnableX11Forwarding
|
||||
BastionOs: !Ref BastionOs
|
||||
NumBastionHosts: !Ref NumBastionHosts
|
||||
VolumeSize: !Ref VolumeSize
|
||||
InstanceType: !Ref InstanceType
|
||||
NumberOfSecondary: !Ref NumberOfSecondary
|
||||
ArtifactoryProduct: !Ref ArtifactoryProduct
|
||||
ArtifactoryVersion: !Ref ArtifactoryVersion
|
||||
SmLicenseName: !Ref SmLicenseName
|
||||
SmCertName: !Ref SmCertName
|
||||
ArtifactoryServerName: !Ref ArtifactoryServerName
|
||||
MasterKey: !Ref MasterKey
|
||||
ExtraJavaOptions: !Ref ExtraJavaOptions
|
||||
DefaultJavaMemSettings: !Ref DefaultJavaMemSettings
|
||||
DatabaseName: !Ref DatabaseName
|
||||
DatabaseEngine: !Ref DatabaseEngine
|
||||
DatabaseUser: !Ref DatabaseUser
|
||||
DatabasePassword: !Ref DatabasePassword
|
||||
DatabaseInstance: !Ref DatabaseInstance
|
||||
DatabaseAllocatedStorage: !Ref DatabaseAllocatedStorage
|
||||
DatabasePreferredAz: !Ref DatabasePreferredAz
|
||||
MultiAzDatabase: !Ref MultiAzDatabase
|
||||
QsS3BucketName: !Ref QsS3BucketName
|
||||
QsS3KeyPrefix: !Ref QsS3KeyPrefix
|
||||
QsS3BucketRegion: !Ref QsS3BucketRegion
|
||||
InstallXray: !Ref InstallXray
|
||||
XrayVersion: !Ref XrayVersion
|
||||
XrayNumberOfInstances: !Ref XrayNumberOfInstances
|
||||
XrayInstanceType: !Ref XrayInstanceType
|
||||
XrayDatabaseUser: !Ref XrayDatabaseUser
|
||||
XrayDatabasePassword: !Ref XrayDatabasePassword
|
||||
347
Amazon/cloudformation-modules/test-cfts/new-vpc.yaml
Normal file
347
Amazon/cloudformation-modules/test-cfts/new-vpc.yaml
Normal file
@@ -0,0 +1,347 @@
|
||||
AWSTemplateFormatVersion: '2010-09-09'
|
||||
Description: 'JFrog Artifactory Quick Start Deployment into an Existing VPC (qs-1q037efj0)'
|
||||
Metadata:
|
||||
QuickStartDocumentation:
|
||||
EntrypointName: "Launch into an existing VPC"
|
||||
AWS::CloudFormation::Interface:
|
||||
ParameterGroups:
|
||||
- Label:
|
||||
default: Essential configuration
|
||||
Parameters:
|
||||
- KeyPairName
|
||||
- DatabasePassword
|
||||
- Label:
|
||||
default: Network configuration
|
||||
Parameters:
|
||||
- AvailabilityZones
|
||||
- Label:
|
||||
default: Security configuration
|
||||
Parameters:
|
||||
- AccessCidr
|
||||
- RemoteAccessCidr
|
||||
- Label:
|
||||
default: Amazon EC2 configuration
|
||||
Parameters:
|
||||
- VolumeSize
|
||||
- InstanceType
|
||||
- Label:
|
||||
default: JFrog Artifactory configuration
|
||||
Parameters:
|
||||
- ArtifactoryVersion
|
||||
- NumberOfSecondary
|
||||
- SmLicenseName
|
||||
- SmCertName
|
||||
- ArtifactoryServerName
|
||||
- MasterKey
|
||||
- Label:
|
||||
default: Amazon RDS configuration
|
||||
Parameters:
|
||||
- DatabaseInstance
|
||||
- DatabaseAllocatedStorage
|
||||
- Label:
|
||||
default: JFrog Xray Configuration
|
||||
Parameters:
|
||||
- InstallXray
|
||||
- XrayVersion
|
||||
- XrayInstanceType
|
||||
ParameterLabels:
|
||||
KeyPairName:
|
||||
default: SSH key name
|
||||
AccessCidr:
|
||||
default: Permitted IP range
|
||||
RemoteAccessCidr:
|
||||
default: Remote access CIDR
|
||||
AvailabilityZones:
|
||||
default: Availability Zones
|
||||
VolumeSize:
|
||||
default: EBS root volume size
|
||||
InstanceType:
|
||||
default: EC2 instance type
|
||||
ArtifactoryVersion:
|
||||
default: Artifactory version
|
||||
NumberOfSecondary:
|
||||
default: Secondary instances
|
||||
SmLicenseName:
|
||||
default: Artifactory licenses secret name
|
||||
SmCertName:
|
||||
default: Artifactory certificate secret name
|
||||
ArtifactoryServerName:
|
||||
default: Artifactory server name
|
||||
MasterKey:
|
||||
default: Master server key
|
||||
DatabasePassword:
|
||||
default: Database password
|
||||
DatabaseInstance:
|
||||
default: Database instance type
|
||||
DatabaseAllocatedStorage:
|
||||
default: Database allocated storage
|
||||
InstallXray:
|
||||
default: Install JFrog Xray
|
||||
XrayVersion:
|
||||
default: Version of Xray to install
|
||||
XrayInstanceType:
|
||||
default: Xray instance type
|
||||
Parameters:
|
||||
BastionRootVolumeSize:
|
||||
Description: Size of the root volume in the bastion instances.
|
||||
Default: 10
|
||||
Type: Number
|
||||
QsS3BucketName:
|
||||
Description: S3 bucket name for the Quick Start assets. This string can include
|
||||
numbers, lowercase letters, and hyphens (-). It cannot start
|
||||
or end with a hyphen (-).
|
||||
AllowedPattern: ^[0-9a-z]+([0-9a-z-]*[0-9a-z])*$
|
||||
ConstraintDescription: Quick Start bucket name can include numbers, lowercase
|
||||
letters, and hyphens (-). It cannot start or end with a hyphen (-).
|
||||
Default: aws-quickstart
|
||||
Type: String
|
||||
QsS3KeyPrefix:
|
||||
Description: S3 key prefix for the Quick Start assets. Quick Start key prefix
|
||||
can include numbers, lowercase letters, uppercase letters, hyphens (-), and
|
||||
forward slash (/).
|
||||
AllowedPattern: ^[0-9a-zA-Z-/]*$
|
||||
ConstraintDescription: Quick Start key prefix can include numbers, lowercase letters,
|
||||
uppercase letters, hyphens (-), and forward slash (/).
|
||||
Default: quickstart-jfrog-artifactory/
|
||||
Type: String
|
||||
QsS3BucketRegion:
|
||||
Default: 'us-east-1'
|
||||
Description: AWS Region where the Quick Start S3 bucket (QSS3BucketName) is hosted. If you use your own bucket, you must specify your own value.
|
||||
Type: String
|
||||
EnableBastion:
|
||||
Description: If set to true, a bastion host will be created.
|
||||
Default: "true"
|
||||
Type: String
|
||||
AllowedValues:
|
||||
- "true"
|
||||
- "false"
|
||||
KeyPairName:
|
||||
Description: Name of an existing key pair,
|
||||
which allows you to connect securely to your instance after it launches.
|
||||
This is the key pair you created in your preferred Region.
|
||||
Type: AWS::EC2::KeyPair::KeyName
|
||||
AccessCidr:
|
||||
Description: CIDR IP range that is permitted to access Artifactory.
|
||||
We recommend that you set this value to a trusted IP range.
|
||||
For example, you might want to grant only your corporate network access to the software.
|
||||
AllowedPattern: ^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\/([0-9]|[1-2][0-9]|3[0-2]))$
|
||||
Default: 0.0.0.0/0
|
||||
Type: String
|
||||
RemoteAccessCidr:
|
||||
Description: Remote CIDR range that allows you to connect to the bastion instance by using SSH.
|
||||
It is recommended that you set this value to a trusted IP range.
|
||||
For example, you may want to grant specific ranges from within your corporate network that use the SSH protocol.
|
||||
AllowedPattern: ^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\/([0-9]|[1-2][0-9]|3[0-2]))$
|
||||
Type: String
|
||||
AvailabilityZone1:
|
||||
Description: Availability Zone 1 to use for the subnets in the VPC. Two
|
||||
Availability Zones are used for this deployment.
|
||||
Type: AWS::EC2::AvailabilityZone::Name
|
||||
AvailabilityZone2:
|
||||
Description: Availability Zone 2 to use for the subnets in the VPC. Two
|
||||
Availability Zones are used for this deployment.
|
||||
Type: AWS::EC2::AvailabilityZone::Name
|
||||
VolumeSize:
|
||||
Description: Size in gigabytes of the available storage (min 10GB); the Quick Start will create an
|
||||
Amazon Elastic Block Store (Amazon EBS) volumes of this size.
|
||||
Default: 100
|
||||
Type: Number
|
||||
InstanceType:
|
||||
Description: EC2 type for the Artifactory instances.
|
||||
AllowedValues:
|
||||
- m5.large
|
||||
- m5.xlarge
|
||||
- m5.2xlarge
|
||||
- m5.4xlarge
|
||||
- m5.8xlarge
|
||||
- m5.12xlarge
|
||||
- m5.16xlarge
|
||||
- m5.24xlarge
|
||||
- m5.metal
|
||||
- m5d.large
|
||||
- m5d.xlarge
|
||||
- m5d.2xlarge
|
||||
- m5d.4xlarge
|
||||
- m5d.8xlarge
|
||||
- m5d.12xlarge
|
||||
- m5d.16xlarge
|
||||
- m5d.24xlarge
|
||||
- m5d.metal
|
||||
- m5a.large
|
||||
- m5a.xlarge
|
||||
- m5a.2xlarge
|
||||
- m5a.4xlarge
|
||||
- m5a.8xlarge
|
||||
- m5a.12xlarge
|
||||
- m5a.16xlarge
|
||||
- m5a.24xlarge
|
||||
ConstraintDescription: Must contain valid instance type.
|
||||
Default: m5.xlarge
|
||||
Type: String
|
||||
ArtifactoryVersion:
|
||||
Description: Version of Artifactory that you want to deploy into the Quick Start.
|
||||
To select the correct version, see the release notes at
|
||||
https://www.jfrog.com/confluence/display/RTF/Release+Notes.
|
||||
Default: 7.17.5
|
||||
Type: String
|
||||
NumberOfSecondary:
|
||||
Description: Number of secondary Artifactory servers to complete your
|
||||
HA deployment. To align with Artifactory best practices, the minimum number
|
||||
is two, and the maximum is seven. Do not select more instances than you
|
||||
have licenses for.
|
||||
AllowedValues:
|
||||
- 2
|
||||
- 3
|
||||
- 4
|
||||
- 5
|
||||
- 6
|
||||
- 7
|
||||
Default: 2
|
||||
Type: Number
|
||||
SmLicenseName:
|
||||
Description: Secret name created in AWS Secrets Manager, which contains the Artifactory licenses.
|
||||
Default: ''
|
||||
Type: String
|
||||
SmCertName:
|
||||
Description: Secret name created in AWS Secrets Manager, which contains the SSL certificate and certificate key.
|
||||
Default: ''
|
||||
Type: String
|
||||
ArtifactoryServerName:
|
||||
Description: Name of your Artifactory server. Ensure that this matches your certificate.
|
||||
Default: 'artifactory'
|
||||
Type: String
|
||||
MasterKey:
|
||||
Description: Master key for the Artifactory cluster. Generate a master key by using the command '$openssl rand -hex 16'.
|
||||
AllowedPattern: ^[a-zA-Z0-9]+$
|
||||
MinLength: '1'
|
||||
MaxLength: '64'
|
||||
ConstraintDescription: Only capital or lowercase letters and numbers, with a Max of 64 characters.
|
||||
NoEcho: 'true'
|
||||
Default: 'FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF'
|
||||
Type: String
|
||||
DatabasePassword:
|
||||
Description: Password for the Artifactory database user.
|
||||
AllowedPattern: ^[^ \\']+$
|
||||
MinLength: '8'
|
||||
MaxLength: '12'
|
||||
ConstraintDescription: Must be at least 8 and no more than
|
||||
12 characters containing letters and (minimum 1 capital letter), numbers and
|
||||
symbols.
|
||||
NoEcho: 'true'
|
||||
Type: String
|
||||
DatabaseInstance:
|
||||
Description: Size of the database to be deployed as part of the Quick Start.
|
||||
AllowedValues:
|
||||
- db.m5.large
|
||||
- db.m5.xlarge
|
||||
- db.m5.2xlarge
|
||||
- db.m5.10xlarge
|
||||
- db.m5.16xlarge
|
||||
- db.m5.large
|
||||
- db.m5.xlarge
|
||||
- db.m5.2xlarge
|
||||
- db.m5.4xlarge
|
||||
- db.m5.12xlarge
|
||||
- db.m5.24xlarge
|
||||
ConstraintDescription: Must be a valid database Instance Type.
|
||||
Default: db.m5.large
|
||||
Type: String
|
||||
DatabaseAllocatedStorage:
|
||||
Description: Size in gigabytes of the available storage for the database instance.
|
||||
MinValue: 5
|
||||
MaxValue: 1024
|
||||
Default: 10
|
||||
Type: Number
|
||||
InstallXray:
|
||||
Description: Choose true to install JFrog Xray instance(s).
|
||||
ConstraintDescription: True or False
|
||||
AllowedValues:
|
||||
- "true"
|
||||
- "false"
|
||||
Default: "true"
|
||||
Type: String
|
||||
XrayVersion:
|
||||
Description: The version of Xray that you want to deploy into the Quick Start.
|
||||
Default: 3.22.1
|
||||
Type: String
|
||||
XrayNumberOfInstances:
|
||||
Description: The number of Xray instances servers to complete your
|
||||
HA deployment. The minimum number is one; the maximum is seven.
|
||||
Do not select more than instances than you have licenses for.
|
||||
MinValue: 1
|
||||
MaxValue: 7
|
||||
Default: 1
|
||||
Type: Number
|
||||
XrayInstanceType:
|
||||
Description: The EC2 instance type for the Xray instances.
|
||||
AllowedValues:
|
||||
- c5.2xlarge
|
||||
- c5.4xlarge
|
||||
ConstraintDescription: Must contain valid instance type.
|
||||
Default: c5.2xlarge
|
||||
Type: String
|
||||
XrayDatabaseUser:
|
||||
Description: The login ID for the Xray database user.
|
||||
MinLength: '1'
|
||||
MaxLength: '16'
|
||||
AllowedPattern: ^[a-zA-Z]([a-zA-Z0-9])+$
|
||||
ConstraintDescription: 1 to 16 alphanumeric characters. First character must be a letter.
|
||||
Default: xray
|
||||
Type: String
|
||||
XrayDatabasePassword:
|
||||
Description: The password for the Xray database user.
|
||||
AllowedPattern: ^[^ \\']+$
|
||||
MinLength: '8'
|
||||
MaxLength: '12'
|
||||
ConstraintDescription: Must be at least 8 and no more than
|
||||
12 characters containing letters and (minimum 1 capital letter), numbers and
|
||||
symbols.
|
||||
NoEcho: 'true'
|
||||
Type: String
|
||||
ArtifactoryProduct:
|
||||
Description: JFrog Artifactory product you want to install into an AMI.
|
||||
AllowedValues:
|
||||
- JFrog-Artifactory-Pro
|
||||
- JFrog-Artifactory-Enterprise
|
||||
- JFrog-Container-Registry
|
||||
Default: JFrog-Artifactory-Enterprise
|
||||
Type: String
|
||||
Conditions:
|
||||
UsingDefaultBucket: !Equals [!Ref QsS3BucketName, 'aws-quickstart']
|
||||
|
||||
Resources:
|
||||
ArtifactoryNewVpcStack:
|
||||
Type: JFrog::Artifactory::NewVpc::MODULE
|
||||
Properties:
|
||||
LogicalId : "ArtifactoryNewVpcStack"
|
||||
EnableBastion: !Ref EnableBastion
|
||||
BastionRootVolumeSize: !Ref BastionRootVolumeSize
|
||||
KeyPairName: !Ref KeyPairName
|
||||
ProvisionBastionHost: "Enabled"
|
||||
AccessCidr: !Ref AccessCidr
|
||||
RemoteAccessCidr: !Ref RemoteAccessCidr
|
||||
ArtifactoryProduct: !Ref ArtifactoryProduct
|
||||
ArtifactoryVersion: !Ref ArtifactoryVersion
|
||||
VolumeSize: !Ref VolumeSize
|
||||
InstanceType: !Ref InstanceType
|
||||
NumberOfSecondary: !Ref NumberOfSecondary
|
||||
SmLicenseName: !Ref SmLicenseName
|
||||
SmCertName: !Ref SmCertName
|
||||
ArtifactoryServerName: !Ref ArtifactoryServerName
|
||||
MasterKey: !Ref MasterKey
|
||||
DatabasePassword: !Ref DatabasePassword
|
||||
DatabaseInstance: !Ref DatabaseInstance
|
||||
DatabaseAllocatedStorage: !Ref DatabaseAllocatedStorage
|
||||
DatabasePreferredAz: !Ref 'AvailabilityZone1'
|
||||
MultiAzDatabase: false
|
||||
QsS3BucketName: !Ref QsS3BucketName
|
||||
QsS3KeyPrefix: !Ref QsS3KeyPrefix
|
||||
QsS3BucketRegion: !Ref QsS3BucketRegion
|
||||
AvailabilityZone1: !Ref AvailabilityZone1
|
||||
AvailabilityZone2: !Ref AvailabilityZone2
|
||||
InstallXray: !Ref InstallXray
|
||||
XrayVersion: !Ref XrayVersion
|
||||
XrayNumberOfInstances: !Ref XrayNumberOfInstances
|
||||
XrayInstanceType: !Ref XrayInstanceType
|
||||
XrayDatabaseUser: !Ref XrayDatabaseUser
|
||||
XrayDatabasePassword: !Ref XrayDatabasePassword
|
||||
38
Amazon/cloudformation-modules/test-cfts/register.sh
Normal file
38
Amazon/cloudformation-modules/test-cfts/register.sh
Normal file
@@ -0,0 +1,38 @@
|
||||
#!/bin/bash
|
||||
set -ex
|
||||
# keep track of the last executed command
|
||||
#trap 'last_command=$current_command; current_command=$BASH_COMMAND' DEBUG
|
||||
# echo an error message before exiting
|
||||
#trap 'echo "\"${last_command}\" command filed with exit code $?."' EXIT
|
||||
|
||||
# This file publicly publishes the modules
|
||||
# following commands are needed only one time per account per region
|
||||
|
||||
# all_regions=( us-east-1 us-east-2 us-west-1 us-west-2 sa-east-1 ca-central-1 af-south-1 eu-central-1 eu-west-1 eu-west-2 eu-south-1 eu-west-3 eu-north-1 ap-northeast-3 ap-northeast-2 ap-northeast-1 ap-south-1 ap-southeast-1 ap-southeast-2 )
|
||||
# fails in following regions -> af-south-1 eu-central-1 eu-south-1
|
||||
regions=( eu-west-2 eu-south-1 eu-west-3 eu-north-1 ap-northeast-3 ap-northeast-2 ap-northeast-1 ap-south-1 ap-southeast-1 ap-southeast-2 )
|
||||
PROFILE=seller
|
||||
|
||||
# 1) create appropriate profile in ~/.aws/credentials file
|
||||
|
||||
# 2) Download the beta service model definition to be plugged in to AWS CLI
|
||||
aws --profile $PROFILE s3 cp s3://uno-beta-sdk/c2j-output-2021-01-11/cloudformation/2010-05-15/service-2.json .
|
||||
|
||||
for i in "${!regions[@]}"; do
|
||||
export REGION="${regions[$i]}"
|
||||
|
||||
# 3) Add downloaded model to your AWS CLI
|
||||
printf "3. add-model: %s\n" "$REGION"
|
||||
echo aws --profile $PROFILE --region $REGION configure add-model --service-model "file://service-2.json" --service-name Uno
|
||||
aws --profile $PROFILE --region $REGION configure add-model --service-model "file://service-2.json" --service-name Uno
|
||||
|
||||
# 4) Verify Model
|
||||
# printf "4. verify model: %s:\n" "$REGION"
|
||||
# echo aws --profile $PROFILE --region $REGION Uno help | grep register-publisher
|
||||
# aws --profile $PROFILE --region $REGION Uno help | grep register-publisher
|
||||
|
||||
# 5) Register
|
||||
printf "5. register: %s\n" "$REGION"
|
||||
echo aws --profile $PROFILE --region $REGION Uno register-publisher --accept-terms-and-conditions
|
||||
aws --profile $PROFILE --region $REGION Uno register-publisher --accept-terms-and-conditions
|
||||
done
|
||||
6415
Amazon/cloudformation-modules/test-cfts/service-2.json
Normal file
6415
Amazon/cloudformation-modules/test-cfts/service-2.json
Normal file
File diff suppressed because it is too large
Load Diff
50
Amazon/cloudformation-modules/test-cfts/submit.sh
Normal file
50
Amazon/cloudformation-modules/test-cfts/submit.sh
Normal file
@@ -0,0 +1,50 @@
|
||||
#!/bin/bash
|
||||
set -e
|
||||
# keep track of the last executed command
|
||||
trap 'last_command=$current_command; current_command=$BASH_COMMAND' DEBUG
|
||||
# echo an error message before exiting
|
||||
trap 'echo "\"${last_command}\" command filed with exit code $?."' EXIT
|
||||
|
||||
# list of regions, folder names and corresponding module names
|
||||
# 4 regions are not included ap-east-1 (Hong Kong) and me-south-1 (Bahrain), us-gov-east-1, us-gov-west-1
|
||||
# 3 regions are supposedly included but since I am not able to register as publisher, modules were not published either af-south-1 eu-south-1 ap-east-1 me-south-1
|
||||
# all_regions=( us-east-1 us-east-2 us-west-1 us-west-2 sa-east-1 ca-central-1 eu-central-1 eu-west-1 eu-west-2 eu-west-3 eu-north-1 ap-northeast-3 ap-northeast-2 ap-northeast-1 ap-south-1 ap-southeast-1 ap-southeast-2 )
|
||||
regions=( eu-central-1 eu-west-2 eu-west-3 eu-north-1 ap-northeast-3 ap-northeast-2 ap-northeast-1 ap-south-1 ap-southeast-1 ap-southeast-2 )
|
||||
folders=( JFrog-Artifactory-EC2Instance-MODULE JFrog-Xray-EC2Instance-MODULE JFrog__Artifactory__Core__MODULE aws-vpc-module linux-bastion-module JFrog__Artifactory__ExistingVpc__MODULE JFrog__Artifactory__NewVpc__MODULE )
|
||||
modules=( JFrog::Artifactory::EC2Instance::MODULE JFrog::Xray::EC2Instance::MODULE JFrog::Artifactory::Core::MODULE JFrog::Vpc::MultiAz::MODULE JFrog::Linux::Bastion::MODULE JFrog::Artifactory::ExistingVpc::MODULE JFrog::Artifactory::NewVpc::MODULE )
|
||||
PROFILE=seller
|
||||
|
||||
for i in "${!regions[@]}"; do
|
||||
export REGION="${regions[$i]}"
|
||||
for j in "${!folders[@]}"; do
|
||||
export FOLDER="${folders[$j]}"
|
||||
export MODULE="${modules[$j]}"
|
||||
export VERSION=$( aws cloudformation list-type-versions --profile $PROFILE --type MODULE --type-name $MODULE --region $REGION | jq .TypeVersionSummaries[-1].VersionId | tr -d "\"")
|
||||
printf "1. start : %s:%s:%s\n" "$REGION" "$MODULE" "$VERSION"
|
||||
|
||||
cd /mnt/c/ddrive/projects/jfrog-modules/$FOLDER
|
||||
|
||||
printf "2. submitting : %s:%s:%s\n" "$REGION" "$MODULE" "$VERSION"
|
||||
cfn submit --set-default --region $REGION
|
||||
|
||||
export VERSION=$( aws cloudformation list-type-versions --profile $PROFILE --type MODULE --type-name $MODULE --region $REGION | jq .TypeVersionSummaries[-1].VersionId | tr -d "\"")
|
||||
printf "3. submit done : %s:%s:%s\n" "$REGION" "$MODULE" "$VERSION"
|
||||
|
||||
ARN=$(echo arn:aws:cloudformation:$REGION:595206835686:type/module/$MODULE | sed 's/::/-/g')
|
||||
|
||||
printf "4. starting test: %s:%s:%s:%s\n" "$REGION" "$MODULE" "$VERSION" "$ARN"
|
||||
aws Uno test-type --profile $PROFILE --region $REGION --type MODULE --arn $ARN # --public-version-number OPTIONAL_READ_NOTE_ABOVE
|
||||
|
||||
typeTestStatus=""
|
||||
while [ "$typeTestStatus" != "\"PASSED\"" ]
|
||||
do
|
||||
# aws Uno describe-type --profile $PROFILE --region $REGION --type MODULE --arn $ARN/$VERSION
|
||||
typeTestStatus=$(aws Uno describe-type --profile $PROFILE --type MODULE --region $REGION --arn $ARN/$VERSION | jq .TypeTestsStatus)
|
||||
echo "typeTestStatus : $typeTestStatus"
|
||||
sleep 5
|
||||
done
|
||||
printf "5. publishing : %s:%s:%s\n" "$REGION" "$MODULE" "$VERSION"
|
||||
aws Uno publish-type --profile $PROFILE --region $REGION --type MODULE --arn $ARN # --public-version-number OPTIONAL_READ_NOTE_ABOVE
|
||||
printf "6. published : %s:%s:%s\n" "$REGION" "$MODULE" "$VERSION"
|
||||
done
|
||||
done
|
||||
Reference in New Issue
Block a user