Updated RT and Xray version and republished modules

This commit is contained in:
Giridharan Ramasamy
2021-12-10 22:58:14 +05:30
parent b07ed9caf7
commit 5db36fbe8b
3 changed files with 268 additions and 226 deletions

View File

@@ -1,8 +1,8 @@
AWSTemplateFormatVersion: '2010-09-09'
Description: 'JFrog Artifactory Quick Start Deployment into an Existing VPC (qs-1q037efj0)'
AWSTemplateFormatVersion: "2010-09-09"
Description: "JFrog Artifactory Quick Start Deployment into an Existing VPC (qs-1q037efj0)"
Parameters:
LogicalId :
Description : Logical Id of the MODULE
LogicalId:
Description: Logical Id of the MODULE
Type: String
AvailabilityZone1:
Description: Availability Zone 1 to use for the subnets in the VPC. Two
@@ -57,7 +57,8 @@ Parameters:
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.
Description:
Remote CIDR range that allows you to connect to the bastion instance by using SSH.
We recommend that you set this value to a trusted IP range.
For example, you might want to grant specific ranges inside your corporate network SSH access.
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]))$
@@ -95,7 +96,8 @@ Parameters:
Default: 10
Type: Number
BastionEnableTcpForwarding:
Description: Choose whether to enable TCPForwarding via the bootstrapping of the bastion instance
Description:
Choose whether to enable TCPForwarding via the bootstrapping of the bastion instance
or not.
AllowedValues:
- "true"
@@ -103,7 +105,8 @@ Parameters:
Default: "true"
Type: String
BastionEnableX11Forwarding:
Description: Choose true to enable X11 via the bootstrapping of the bastion host.
Description:
Choose true to enable X11 via the bootstrapping of the bastion host.
Setting this value to true will enable 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.
@@ -124,14 +127,15 @@ Parameters:
NumBastionHosts:
Description: Number of bastion instances to create.
AllowedValues:
- '1'
- '2'
- '3'
- '4'
Default: '1'
- "1"
- "2"
- "3"
- "4"
Default: "1"
Type: String
VolumeSize:
Description: Size in gigabytes of the available storage (min 10GB); the Quick Start will create an
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: 200
Type: Number
@@ -192,20 +196,21 @@ Parameters:
Default: JFrog-Artifactory-Enterprise
Type: String
ArtifactoryVersion:
Description: Version of Artifactory that you want to deploy into the Quick Start.
Description:
Version of Artifactory that you want to deploy into the Quick Start.
See the release notes to select the version you want to deploy at
https://www.jfrog.com/confluence/display/RTF/Release+Notes.
AllowedPattern: ^(([0-9]|[1-9][0-9])\.){2}([1-9][0-9]|[0-9])$
ConstraintDescription: A version that matches X.X.X per Artifactory releases
Default: 7.21.5
Default: 7.27.10
Type: String
SmLicenseName:
Description: Secret name created in AWS Secrets Manager, which contains the Artifactory licenses.
Default: ''
Default: ""
Type: String
SmCertName:
Description: Secret name created in AWS Secrets Manager, which contains the SSL certificate and certificate key.
Default: ''
Default: ""
Type: String
ArtifactoryServerName:
Description: Name of your Artifactory server. Ensure that this matches your certificate.
@@ -213,19 +218,21 @@ Parameters:
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'
MinLength: "1"
MaxLength: "64"
ConstraintDescription: Only capital or lowercase letters and numbers, with a Max of 64 characters.
NoEcho: 'true'
NoEcho: "true"
Type: String
ExtraJavaOptions:
Description: Set Java options to pass to the JVM for Artifactory. For more information, see the Artifactory
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.
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:
@@ -234,12 +241,13 @@ Parameters:
Default: "true"
Type: String
DatabaseName:
Description: Name of your database instance. The name must be unique across all instances
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'
MinLength: "1"
MaxLength: "60"
ConstraintDescription: 1 to 60 alphanumeric characters First character must be a letter.
Default: artdb
Type: String
@@ -251,8 +259,8 @@ Parameters:
Type: String
DatabaseUser:
Description: Login ID for the master user of your database instance.
MinLength: '1'
MaxLength: '16'
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: artifactory
@@ -260,12 +268,12 @@ Parameters:
DatabasePassword:
Description: Password for the Artifactory database user.
AllowedPattern: ^[^ \\']+$
MinLength: '8'
MaxLength: '12'
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'
NoEcho: "true"
Type: String
DatabaseInstance:
Description: Size of the database to be deployed as part of the Quick Start.
@@ -302,25 +310,29 @@ Parameters:
Default: "true"
Type: String
QsS3BucketName:
Description: S3 bucket name for the Quick Start assets. This string can include
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
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
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,
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'
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:
@@ -335,7 +347,7 @@ Parameters:
Description: The version of Xray that you want to deploy into the Quick Start.
AllowedPattern: ^(([0-9]|[1-9][0-9])\.){2}([1-9][0-9]|[0-9])$
ConstraintDescription: A version that matches X.X.X per Xray releases.
Default: 3.27.3
Default: 3.35.0
Type: String
XrayNumberOfInstances:
Description: The number of Xray instances servers to complete your
@@ -355,8 +367,8 @@ Parameters:
Type: String
XrayDatabaseUser:
Description: The login ID for the Xray database user.
MinLength: '1'
MaxLength: '16'
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
@@ -364,23 +376,24 @@ Parameters:
XrayDatabasePassword:
Description: The password for the Xray database user.
AllowedPattern: ^[^ \\']+$
MinLength: '8'
MaxLength: '12'
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'
NoEcho: "true"
Type: String
Conditions:
EnableBastion: !Equals [!Ref 'EnableBastion', "true"]
IsArtifactory: !Not [!Equals [!Ref ArtifactoryProduct, "JFrog-Container-Registry"]]
HasSecondaryNodes: !Not [!Equals [!Ref NumberOfSecondary, '0']]
EnableBastion: !Equals [!Ref "EnableBastion", "true"]
IsArtifactory:
!Not [!Equals [!Ref ArtifactoryProduct, "JFrog-Container-Registry"]]
HasSecondaryNodes: !Not [!Equals [!Ref NumberOfSecondary, "0"]]
DefaultJava: !Equals [!Ref DefaultJavaMemSettings, "true"]
UsingDefaultBucket: !Equals [!Ref QsS3BucketName, 'aws-quickstart']
EnableXray: !Equals [!Ref InstallXray, 'true']
SmCertNameNotExists: !Equals [!Ref 'SmCertName', '']
SmCertNameExists: !Not [!Equals [!Ref 'SmCertName', '']]
UsingDefaultBucket: !Equals [!Ref QsS3BucketName, "aws-quickstart"]
EnableXray: !Equals [!Ref InstallXray, "true"]
SmCertNameNotExists: !Equals [!Ref "SmCertName", ""]
SmCertNameExists: !Not [!Equals [!Ref "SmCertName", ""]]
Mappings:
DatabaseMap:
@@ -533,18 +546,19 @@ Resources:
BastionStack:
Condition: EnableBastion
Type: JFrog::Linux::Bastion::MODULE
Metadata: {
PublisherId: "06ff50c2e47f57b381f874871d9fac41796c9522",
SupportedMajorVersions: [1]
}
Metadata:
{
PublisherId: "06ff50c2e47f57b381f874871d9fac41796c9522",
SupportedMajorVersions: [1],
}
Properties:
LogicalId : !Sub ${LogicalId}BastionStack
LogicalId: !Sub ${LogicalId}BastionStack
VPCID: !Ref VpcId
PublicSubnet1Id: !Ref PublicSubnet1Id
PublicSubnet2Id: !Ref PublicSubnet2Id
KeyPairName: !Ref KeyPairName
QSS3BucketName: !Ref QsS3BucketName
QSS3KeyPrefix: !Sub '${QsS3KeyPrefix}submodules/quickstart-linux-bastion/'
QSS3KeyPrefix: !Sub "${QsS3KeyPrefix}submodules/quickstart-linux-bastion/"
QSS3BucketRegion: !Ref QsS3BucketRegion
RemoteAccessCIDR: !Ref RemoteAccessCidr
BastionInstanceType: !Ref BastionInstanceType
@@ -555,10 +569,11 @@ Resources:
NumBastionHosts: !Ref NumBastionHosts
ArtifactoryCoreInfraStack:
Type: JFrog::Artifactory::Core::MODULE
Metadata: {
PublisherId: "06ff50c2e47f57b381f874871d9fac41796c9522",
SupportedMajorVersions: [1]
}
Metadata:
{
PublisherId: "06ff50c2e47f57b381f874871d9fac41796c9522",
SupportedMajorVersions: [1],
}
Properties:
AvailabilityZone1: !Ref AvailabilityZone1
AvailabilityZone2: !Ref AvailabilityZone2
@@ -566,7 +581,7 @@ Resources:
VpcCidr: !Ref VpcCidr
PrivateSubnet1Cidr: !Ref PrivateSubnet1Cidr
PrivateSubnet2Cidr: !Ref PrivateSubnet2Cidr
PrivateSubnet3Cidr: !Ref PrivateSubnet2Cidr # This should end up in no new rule but required for EKS
PrivateSubnet3Cidr: !Ref PrivateSubnet2Cidr # This should end up in no new rule but required for EKS
PrivateSubnet1Id: !Ref PrivateSubnet1Id
PrivateSubnet2Id: !Ref PrivateSubnet2Id
DatabaseAllocatedStorage: !Ref DatabaseAllocatedStorage
@@ -585,7 +600,7 @@ Resources:
Properties:
IpAddressType: ipv4
Scheme: !Ref ELBScheme
Subnets:
Subnets:
- !Ref PublicSubnet1Id
- !Ref PublicSubnet2Id
Type: network
@@ -643,7 +658,7 @@ Resources:
IpAddressType: ipv4
# Name: ArtifactoryInternal-ELB
Scheme: internal
Subnets:
Subnets:
- !Ref PrivateSubnet1Id
- !Ref PrivateSubnet2Id
Type: network
@@ -718,14 +733,14 @@ Resources:
AssumeRolePolicyDocument:
Statement:
- Action:
- 'sts:AssumeRole'
- "sts:AssumeRole"
Principal:
Service:
- ec2.amazonaws.com
Effect: Allow
Version: 2012-10-17
ManagedPolicyArns:
- !Sub 'arn:${AWS::Partition}:iam::aws:policy/service-role/AmazonEC2RoleforSSM'
- !Sub "arn:${AWS::Partition}:iam::aws:policy/service-role/AmazonEC2RoleforSSM"
Policies:
- PolicyName: "JFrogAMI-policy"
PolicyDocument:
@@ -746,7 +761,7 @@ Resources:
- "s3:ListObject"
- "s3:ListBucket"
Resource: "*"
- PolicyName: 'CloudWatch-policy'
- PolicyName: "CloudWatch-policy"
PolicyDocument:
Version: "2012-10-17"
Statement:
@@ -761,7 +776,7 @@ Resources:
Action:
- "s3:GetObject"
Resource: "*"
- PolicyName: 'SecretsMaanger-policy'
- PolicyName: "SecretsMaanger-policy"
PolicyDocument:
Version: "2012-10-17"
Statement:
@@ -778,16 +793,17 @@ Resources:
Path: /
ArtifactoryPrimary:
Type: JFrog::Artifactory::EC2Instance::MODULE
Metadata: {
PublisherId: "06ff50c2e47f57b381f874871d9fac41796c9522",
SupportedMajorVersions: [1]
}
Metadata:
{
PublisherId: "06ff50c2e47f57b381f874871d9fac41796c9522",
SupportedMajorVersions: [1],
}
Properties:
LogicalId : !Sub ${LogicalId}ArtifactoryPrimary
LogicalId: !Sub ${LogicalId}ArtifactoryPrimary
PrivateSubnet1Id: !Ref PrivateSubnet1Id
PrivateSubnet2Id: !Ref PrivateSubnet2Id
MinScalingNodes: '1' # Always have 1 PrimaryNode
MaxScalingNodes: '1' # Always have 1 PrimaryNode
MinScalingNodes: "1" # Always have 1 PrimaryNode
MaxScalingNodes: "1" # Always have 1 PrimaryNode
DeploymentTag: !If [IsArtifactory, "ArtifactoryPrimary", "JcrPrimary"]
HostRole: !Ref ArtifactoryHostRole
QsS3BucketName: !Ref QsS3BucketName
@@ -796,47 +812,49 @@ Resources:
- https://${S3Bucket}.s3.${S3Region}.${AWS::URLSuffix}/${QsS3KeyPrefix}
- S3Bucket: !If
- UsingDefaultBucket
- !Sub 'aws-quickstart-${AWS::Region}'
- !Ref 'QsS3BucketName'
- !Sub "aws-quickstart-${AWS::Region}"
- !Ref "QsS3BucketName"
S3Region: !If
- UsingDefaultBucket
- !Ref 'AWS::Region'
- !Ref 'QsS3BucketRegion'
- !Ref "AWS::Region"
- !Ref "QsS3BucketRegion"
ArtifactoryProduct: !Ref ArtifactoryProduct
ArtifactoryLicensesSecretName: !Ref SmLicenseName
ArtifactoryServerName: !Ref ArtifactoryServerName
SmCertName: !Ref SmCertName
ArtifactoryS3Bucket: !Ref ArtifactoryCoreInfraStack.ArtifactoryS3Bucket
DatabaseUrl: !Sub
- "jdbc:${DatabaseType}://${ArtifactoryDatabaseEndpointAddress}:${port}/${DatabaseName}${extraDatabaseOps}"
- {
DatabaseType: !FindInMap [DatabaseMap, !Ref DatabaseEngine, Name],
ArtifactoryDatabaseEndpointAddress: !GetAtt ArtifactoryCoreInfraStack.ArtifactoryDatabase.Endpoint.Address,
port: !FindInMap [DatabaseMap, !Ref DatabaseEngine, port],
extraDatabaseOps: !FindInMap [DatabaseMap, !Ref DatabaseEngine, extraDatabaseOps],
}
- "jdbc:${DatabaseType}://${ArtifactoryDatabaseEndpointAddress}:${port}/${DatabaseName}${extraDatabaseOps}"
- {
DatabaseType: !FindInMap [DatabaseMap, !Ref DatabaseEngine, Name],
ArtifactoryDatabaseEndpointAddress: !GetAtt ArtifactoryCoreInfraStack.ArtifactoryDatabase.Endpoint.Address,
port: !FindInMap [DatabaseMap, !Ref DatabaseEngine, port],
extraDatabaseOps:
!FindInMap [DatabaseMap, !Ref DatabaseEngine, extraDatabaseOps],
}
DatabaseDriver: !FindInMap [DatabaseMap, !Ref DatabaseEngine, Driver]
DatabasePlugin: !FindInMap [DatabaseMap, !Ref DatabaseEngine, Plugin]
DatabasePluginUrl: !Sub
- "${MainURL}${PluginVersion}"
- {
MainURL: !FindInMap [DatabaseMap, !Ref DatabaseEngine, PluginURL],
PluginVersion: !FindInMap [DatabaseMap, !Ref DatabaseEngine, Plugin]
}
- "${MainURL}${PluginVersion}"
- {
MainURL: !FindInMap [DatabaseMap, !Ref DatabaseEngine, PluginURL],
PluginVersion:
!FindInMap [DatabaseMap, !Ref DatabaseEngine, Plugin],
}
DatabaseType: !FindInMap [DatabaseMap, !Ref DatabaseEngine, Name]
DatabaseUser: !Ref DatabaseUser
DatabasePassword: !Ref DatabasePassword
ArtifactoryPrimary: true
MasterKey: !Ref MasterKey
ExtraJavaOptions: !If
- DefaultJava
- !Sub
- "-Xms${min}g -Xmx${max}g"
- {
min: !FindInMap [JavaOptionstoInstance, !Ref InstanceType, Min],
max: !FindInMap [JavaOptionstoInstance, !Ref InstanceType, Max]
}
- !Ref ExtraJavaOptions
ExtraJavaOptions: !If
- DefaultJava
- !Sub
- "-Xms${min}g -Xmx${max}g"
- {
min: !FindInMap [JavaOptionstoInstance, !Ref InstanceType, Min],
max: !FindInMap [JavaOptionstoInstance, !Ref InstanceType, Max],
}
- !Ref ExtraJavaOptions
ArtifactoryVersion: !Ref ArtifactoryVersion
KeyPairName: !Ref KeyPairName
HostProfile: !Ref ArtifactoryHostProfile
@@ -852,12 +870,13 @@ Resources:
Condition: HasSecondaryNodes
#DependsOn: ArtifactoryPrimary
Type: JFrog::Artifactory::EC2Instance::MODULE
Metadata: {
PublisherId: "06ff50c2e47f57b381f874871d9fac41796c9522",
SupportedMajorVersions: [1]
}
Metadata:
{
PublisherId: "06ff50c2e47f57b381f874871d9fac41796c9522",
SupportedMajorVersions: [1],
}
Properties:
LogicalId : !Sub ${LogicalId}ArtifactorySecondary
LogicalId: !Sub ${LogicalId}ArtifactorySecondary
PrivateSubnet1Id: !Ref PrivateSubnet1Id
PrivateSubnet2Id: !Ref PrivateSubnet2Id
MinScalingNodes: !Ref NumberOfSecondary
@@ -870,35 +889,37 @@ Resources:
SmCertName: !Ref SmCertName
ArtifactoryS3Bucket: !Ref ArtifactoryCoreInfraStack.ArtifactoryS3Bucket
DatabaseUrl: !Sub
- "jdbc:${DatabaseType}://${ArtifactoryDatabaseEndpointAddress}:${port}/${DatabaseName}${extraDatabaseOps}"
- {
DatabaseType: !FindInMap [DatabaseMap, !Ref DatabaseEngine, Name],
ArtifactoryDatabaseEndpointAddress: !GetAtt ArtifactoryCoreInfraStack.ArtifactoryDatabase.Endpoint.Address,
port: !FindInMap [DatabaseMap, !Ref DatabaseEngine, port],
extraDatabaseOps: !FindInMap [DatabaseMap, !Ref DatabaseEngine, extraDatabaseOps],
}
- "jdbc:${DatabaseType}://${ArtifactoryDatabaseEndpointAddress}:${port}/${DatabaseName}${extraDatabaseOps}"
- {
DatabaseType: !FindInMap [DatabaseMap, !Ref DatabaseEngine, Name],
ArtifactoryDatabaseEndpointAddress: !GetAtt ArtifactoryCoreInfraStack.ArtifactoryDatabase.Endpoint.Address,
port: !FindInMap [DatabaseMap, !Ref DatabaseEngine, port],
extraDatabaseOps:
!FindInMap [DatabaseMap, !Ref DatabaseEngine, extraDatabaseOps],
}
DatabaseDriver: !FindInMap [DatabaseMap, !Ref DatabaseEngine, Driver]
DatabasePlugin: !FindInMap [DatabaseMap, !Ref DatabaseEngine, Plugin]
DatabasePluginUrl: !Sub
- "${MainURL}${PluginVersion}"
- {
MainURL: !FindInMap [DatabaseMap, !Ref DatabaseEngine, PluginURL],
PluginVersion: !FindInMap [DatabaseMap, !Ref DatabaseEngine, Plugin]
}
- "${MainURL}${PluginVersion}"
- {
MainURL: !FindInMap [DatabaseMap, !Ref DatabaseEngine, PluginURL],
PluginVersion:
!FindInMap [DatabaseMap, !Ref DatabaseEngine, Plugin],
}
DatabaseType: !FindInMap [DatabaseMap, !Ref DatabaseEngine, Name]
DatabaseUser: !Ref DatabaseUser
DatabasePassword: !Ref DatabasePassword
ArtifactoryPrimary: false
MasterKey: !Ref MasterKey
ExtraJavaOptions: !If
- DefaultJava
- !Sub
- "-Xms${min}g -Xmx${max}g"
- {
min: !FindInMap [JavaOptionstoInstance, !Ref InstanceType, Min],
max: !FindInMap [JavaOptionstoInstance, !Ref InstanceType, Max]
}
- !Ref ExtraJavaOptions
ExtraJavaOptions: !If
- DefaultJava
- !Sub
- "-Xms${min}g -Xmx${max}g"
- {
min: !FindInMap [JavaOptionstoInstance, !Ref InstanceType, Min],
max: !FindInMap [JavaOptionstoInstance, !Ref InstanceType, Max],
}
- !Ref ExtraJavaOptions
ArtifactoryVersion: !Ref ArtifactoryVersion
KeyPairName: !Ref KeyPairName
HostProfile: !Ref ArtifactoryHostProfile
@@ -915,12 +936,12 @@ Resources:
- https://${S3Bucket}.s3.${S3Region}.${AWS::URLSuffix}/${QsS3KeyPrefix}
- S3Bucket: !If
- UsingDefaultBucket
- !Sub 'aws-quickstart-${AWS::Region}'
- !Ref 'QsS3BucketName'
- !Sub "aws-quickstart-${AWS::Region}"
- !Ref "QsS3BucketName"
S3Region: !If
- UsingDefaultBucket
- !Ref 'AWS::Region'
- !Ref 'QsS3BucketRegion'
- !Ref "AWS::Region"
- !Ref "QsS3BucketRegion"
XrayHostRole:
Condition: EnableXray
Type: AWS::IAM::Role
@@ -929,14 +950,14 @@ Resources:
AssumeRolePolicyDocument:
Statement:
- Action:
- 'sts:AssumeRole'
- "sts:AssumeRole"
Principal:
Service:
- ec2.amazonaws.com
Effect: Allow
Version: 2012-10-17
ManagedPolicyArns:
- !Sub 'arn:${AWS::Partition}:iam::aws:policy/service-role/AmazonEC2RoleforSSM'
- !Sub "arn:${AWS::Partition}:iam::aws:policy/service-role/AmazonEC2RoleforSSM"
Policies:
- PolicyName: "JFrogAMI-policy"
PolicyDocument:
@@ -957,7 +978,7 @@ Resources:
- "s3:ListObject"
- "s3:ListBucket"
Resource: "*"
- PolicyName: 'CloudWatch-policy'
- PolicyName: "CloudWatch-policy"
PolicyDocument:
Version: "2012-10-17"
Statement:
@@ -984,18 +1005,19 @@ Resources:
Condition: EnableXray
# DependsOn: ArtifactoryPrimary
Type: JFrog::Xray::EC2Instance::MODULE
Metadata: {
PublisherId: "06ff50c2e47f57b381f874871d9fac41796c9522",
SupportedMajorVersions: [1]
}
Metadata:
{
PublisherId: "06ff50c2e47f57b381f874871d9fac41796c9522",
SupportedMajorVersions: [1],
}
Properties:
LogicalId : !Sub ${LogicalId}XrayExistingVpcStack
LogicalId: !Sub ${LogicalId}XrayExistingVpcStack
PrivateSubnet1Id: !Ref PrivateSubnet1Id
PrivateSubnet2Id: !Ref PrivateSubnet2Id
KeyPairName: !Ref KeyPairName
MinScalingNodes: !Ref XrayNumberOfInstances
MaxScalingNodes: !Ref XrayNumberOfInstances
DeploymentTag: 'xray'
DeploymentTag: "xray"
ArtifactoryProduct: !Ref ArtifactoryProduct
QsS3BucketName: !Ref QsS3BucketName
QsS3KeyPrefix: !Ref QsS3KeyPrefix
@@ -1003,12 +1025,12 @@ Resources:
- https://${S3Bucket}.s3.${S3Region}.${AWS::URLSuffix}/${QsS3KeyPrefix}
- S3Bucket: !If
- UsingDefaultBucket
- !Sub 'aws-quickstart-${AWS::Region}'
- !Ref 'QsS3BucketName'
- !Sub "aws-quickstart-${AWS::Region}"
- !Ref "QsS3BucketName"
S3Region: !If
- UsingDefaultBucket
- !Ref 'AWS::Region'
- !Ref 'QsS3BucketRegion'
- !Ref "AWS::Region"
- !Ref "QsS3BucketRegion"
DatabaseDriver: !FindInMap [DatabaseMap, !Ref DatabaseEngine, Driver]
DatabaseType: !FindInMap [DatabaseMap, !Ref DatabaseEngine, Name]
DatabaseUser: !Ref DatabaseUser
@@ -1017,34 +1039,39 @@ Resources:
SecurityGroups: !Ref ArtifactoryEc2Sg
VolumeSize: !Ref VolumeSize
ExtraJavaOptions: !Sub
- "-Xms${min}g -Xmx${max}g"
- {
min: !FindInMap [JavaOptionstoInstance, !Ref InstanceType, Min],
max: !FindInMap [JavaOptionstoInstance, !Ref InstanceType, Max]
}
- "-Xms${min}g -Xmx${max}g"
- {
min: !FindInMap [JavaOptionstoInstance, !Ref InstanceType, Min],
max: !FindInMap [JavaOptionstoInstance, !Ref InstanceType, Max],
}
XrayInstanceType: !Ref XrayInstanceType
JfrogInternalUrl: !Sub "http://${ArtifactoryInternalElb.DNSName}"
XrayDatabaseUser: !Ref XrayDatabaseUser
XrayDatabasePassword: !Ref XrayDatabasePassword
XrayMasterDatabaseUrl: !Sub
- "${ArtifactoryDatabaseEndpointAddress}:${port}/${DatabaseName}?sslmode=disable"
- {
ArtifactoryDatabaseEndpointAddress: !GetAtt ArtifactoryCoreInfraStack.ArtifactoryDatabase.Endpoint.Address,
port: !FindInMap [DatabaseMap, !Ref DatabaseEngine, port],
}
- "${ArtifactoryDatabaseEndpointAddress}:${port}/${DatabaseName}?sslmode=disable"
- {
ArtifactoryDatabaseEndpointAddress: !GetAtt ArtifactoryCoreInfraStack.ArtifactoryDatabase.Endpoint.Address,
port: !FindInMap [DatabaseMap, !Ref DatabaseEngine, port],
}
XrayDatabaseUrl: !Sub
- "${ArtifactoryDatabaseEndpointAddress}:${port}/xraydb?sslmode=disable"
- {
ArtifactoryDatabaseEndpointAddress: !GetAtt ArtifactoryCoreInfraStack.ArtifactoryDatabase.Endpoint.Address,
port: !FindInMap [DatabaseMap, !Ref DatabaseEngine, port],
}
- "${ArtifactoryDatabaseEndpointAddress}:${port}/xraydb?sslmode=disable"
- {
ArtifactoryDatabaseEndpointAddress: !GetAtt ArtifactoryCoreInfraStack.ArtifactoryDatabase.Endpoint.Address,
port: !FindInMap [DatabaseMap, !Ref DatabaseEngine, port],
}
XrayVersion: !Ref XrayVersion
XrayHostRole: !Ref XrayHostRole
XrayHostProfile: !Ref XrayHostProfile
Outputs:
ArtifactoryUrl:
Description: URL of the ELB to access Artifactory
Value: !If [SmCertNameExists, !Sub "https://${ArtifactoryElb.DNSName}", !Sub "http://${ArtifactoryElb.DNSName}"]
Value:
!If [
SmCertNameExists,
!Sub "https://${ArtifactoryElb.DNSName}",
!Sub "http://${ArtifactoryElb.DNSName}",
]
ArtifactoryInternalUrl:
Description: URL of the internal ELB to access Artifactory
Value: !Sub "http://${ArtifactoryInternalElb.DNSName}"
@@ -1059,8 +1086,8 @@ Outputs:
Value: !Sub
- "${ArtifactoryDatabaseEndpointAddress}:${port}/${DatabaseName}?sslmode=disable"
- {
ArtifactoryDatabaseEndpointAddress: !GetAtt ArtifactoryCoreInfraStack.ArtifactoryDatabase.Endpoint.Address,
port: !FindInMap [DatabaseMap, !Ref DatabaseEngine, port],
ArtifactoryDatabaseEndpointAddress: !GetAtt ArtifactoryCoreInfraStack.ArtifactoryDatabase.Endpoint.Address,
port: !FindInMap [DatabaseMap, !Ref DatabaseEngine, port],
}
ArtifactoryTargetGroup:
Description: Artifactory target group
@@ -1081,14 +1108,14 @@ Outputs:
Value: !Sub
- "${ArtifactoryDatabaseEndpointAddress}:${port}/${DatabaseName}?sslmode=disable"
- {
ArtifactoryDatabaseEndpointAddress: !GetAtt ArtifactoryCoreInfraStack.ArtifactoryDatabase.Endpoint.Address,
port: !FindInMap [DatabaseMap, !Ref DatabaseEngine, port],
ArtifactoryDatabaseEndpointAddress: !GetAtt ArtifactoryCoreInfraStack.ArtifactoryDatabase.Endpoint.Address,
port: !FindInMap [DatabaseMap, !Ref DatabaseEngine, port],
}
XrayDatabaseUrl:
Description: Database driver
Value: !Sub
- "${ArtifactoryDatabaseEndpointAddress}:${port}/xraydb?sslmode=disable"
- {
ArtifactoryDatabaseEndpointAddress: !GetAtt ArtifactoryCoreInfraStack.ArtifactoryDatabase.Endpoint.Address,
port: !FindInMap [DatabaseMap, !Ref DatabaseEngine, port],
ArtifactoryDatabaseEndpointAddress: !GetAtt ArtifactoryCoreInfraStack.ArtifactoryDatabase.Endpoint.Address,
port: !FindInMap [DatabaseMap, !Ref DatabaseEngine, port],
}