mirror of
https://github.com/ZwareBear/JFrog-Cloud-Installers.git
synced 2026-01-21 03:06:57 -06:00
updated v7175
This commit is contained in:
@@ -0,0 +1,300 @@
|
||||
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: AWS Quick Start configuration
|
||||
Parameters:
|
||||
- QsS3BucketName
|
||||
- QsS3KeyPrefix
|
||||
- QsS3BucketRegion
|
||||
- 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
|
||||
- SmLicenseName
|
||||
- SmCertName
|
||||
- ArtifactoryServerName
|
||||
- MasterKey
|
||||
- Label:
|
||||
default: Amazon RDS configuration
|
||||
Parameters:
|
||||
- DatabaseInstance
|
||||
- DatabaseAllocatedStorage
|
||||
- Label:
|
||||
default: JFrog Xray Configuration
|
||||
Parameters:
|
||||
- InstallXray
|
||||
- XrayVersion
|
||||
- XrayInstanceType
|
||||
ParameterLabels:
|
||||
QsS3BucketName:
|
||||
default: Quick Start S3 bucket name
|
||||
QsS3KeyPrefix:
|
||||
default: Quick Start S3 key prefix
|
||||
QsS3BucketRegion:
|
||||
default: Quick Start S3 bucket region
|
||||
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
|
||||
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:
|
||||
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: jfrog-aws
|
||||
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: artifactory7/latest/
|
||||
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
|
||||
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
|
||||
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>
|
||||
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
|
||||
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: "false"
|
||||
Type: String
|
||||
XrayVersion:
|
||||
Description: The version of Xray that you want to deploy into the Quick Start.
|
||||
Default: 3.22.1
|
||||
Type: String
|
||||
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
|
||||
Conditions:
|
||||
UsingDefaultBucket: !Equals [!Ref QsS3BucketName, 'jfrog-aws']
|
||||
Resources:
|
||||
ArtifactoryNewVpcStack:
|
||||
Type: AWS::CloudFormation::Stack
|
||||
Properties:
|
||||
TemplateURL: !Sub
|
||||
- https://${S3Bucket}.s3.${S3Region}.${AWS::URLSuffix}/${QsS3KeyPrefix}templates/jfrog-artifactory-ec2-master.template.yaml
|
||||
- S3Bucket: !If [UsingDefaultBucket, !Sub '${QsS3BucketName}-${AWS::Region}', !Ref 'QsS3BucketName']
|
||||
S3Region: !If [UsingDefaultBucket, !Ref 'AWS::Region', !Ref 'QsS3BucketRegion']
|
||||
Parameters:
|
||||
KeyPairName: !Ref KeyPairName
|
||||
ProvisionBastionHost: "Enabled"
|
||||
AccessCidr: !Ref AccessCidr
|
||||
RemoteAccessCidr: !Ref RemoteAccessCidr
|
||||
ArtifactoryProduct: 'JFrog-Artifactory-Pro'
|
||||
ArtifactoryVersion: !Ref ArtifactoryVersion
|
||||
VolumeSize: !Ref VolumeSize
|
||||
InstanceType: !Ref InstanceType
|
||||
NumberOfSecondary: 0
|
||||
SmLicenseName: !Ref SmLicenseName
|
||||
SmCertName: !Ref SmCertName
|
||||
ArtifactoryServerName: !Ref ArtifactoryServerName
|
||||
MasterKey: !Ref MasterKey
|
||||
DatabasePassword: !Ref DatabasePassword
|
||||
DatabaseInstance: !Ref DatabaseInstance
|
||||
DatabaseAllocatedStorage: !Ref DatabaseAllocatedStorage
|
||||
DatabasePreferredAz: !Select
|
||||
- '0'
|
||||
- !Ref 'AvailabilityZones'
|
||||
MultiAzDatabase: false
|
||||
QsS3BucketName: !Ref QsS3BucketName
|
||||
QsS3KeyPrefix: !Ref QsS3KeyPrefix
|
||||
QsS3BucketRegion: !Ref QsS3BucketRegion
|
||||
InstallXray: !Ref InstallXray
|
||||
XrayVersion: !Ref XrayVersion
|
||||
XrayInstanceType: !Ref XrayInstanceType
|
||||
XrayDatabasePassword: !Ref DatabasePassword
|
||||
AvailabilityZones:
|
||||
Fn::Join:
|
||||
- ','
|
||||
- Ref: AvailabilityZones
|
||||
Outputs:
|
||||
ArtifactoryUrl:
|
||||
Description: URL of the ELB to access Artifactory
|
||||
Value: !Sub ${ArtifactoryNewVpcStack.Outputs.ArtifactoryUrl}
|
||||
Reference in New Issue
Block a user