Deployment¶
This section will detail out the steps for perform the actual deployment. Be sure you have reviewed the Prerequisites and Requirements section as the deployment will require inputs from this section.
CloudFormation Parameters¶
Name | Default | Type | Allowed Values | Description |
---|---|---|---|---|
AccessCIDR | 10.1.1.1/32 | String | (\d{1,3}).(\d{1,3}).(\d{1,3}).(\d{1,3})/(\d{1,2}) | For optimal security, enter your public IP address in CIDR notation. Example: 162.244.43.80/32. Use a service like whatismyipaddress.com to find your public IP address. This will be the only IP address that can connect, post-deployment additional IP addresses can allowed by modifying the security group attached to the instance. Alternatively using the value of 0.0.0.0/0 will allow all computers on the internet to attempt to connect to your Helix Core server, which may or may not be desirable. |
VPCIDR | 10.0.0.0/16 | String | (\d{1,3}).(\d{1,3}).(\d{1,3}).(\d{1,3})/(\d{1,2}) | Leave this as 10.0.0.0/16 unless you have a reason to change the CIDR block used when creating the VPC |
KeyPairName | AWS::EC2::KeyPair::KeyName | Existing key pair in deployment region | A public/private key pair is used to securely connect to your instance with SSH for admin tasks. You can create a key pair for your region under EC2 -> Network & Security -> Key Pairs. Then refresh this page to select your new key pair. | |
DepotContentSnapshotID | String | Depot EBS Snapshot ID from deployment region | Optionally input a snapshot ID to restore the P4D depot volume from a snapshot and checkpoint. Leave blank for new servers. | |
Environment | prod | String | Min length 3, max length 20 | Provide an environment name that will be used in resource names and tagging. Min 3, max 20 |
CaseSensitivity | sensitive | String | sensitive or insensitive | Select whether Helix Core should be case sensitive or case insensitive. Review the following documentation to understand the implications of each choice: https://www.perforce.com/manuals/p4sag/Content/P4SAG/superuser.advanced.case_sensitivity.unix.html. If "sensitive" is selected a Helix Core Trigger is automatically applied to prevent users from submitting files or folders that only differ by case. |
EnableSwarm | true | String | true or false | Select 'true' to deploy a Swarm instance and connect it to the Helix Core server. This section will be skipped if set to 'false'. |
EnableHansoft | true | String | true or false | Select 'true' to deploy a Hansoft instance. This section will be skipped if set to 'false'. |
DepotVolumeSize | 100 | Number | Number greater than or equal to 100 | The size of the EBS volume attached for Depot data. This is the drive where all versions of your files are stored and will generally be the largest drive. Be sure this is large enough to fit all of your current project files and has room to grow. Volume type is gp3. The type can be changed and the size can be expanded post-deployment. |
LogVolumeSize | 10 | Number | Number greater than or equal to 10 | The size of the EBS volume attached for Helix Core logs and active journals (min 10GB). Volume type is gp3. The type can be changed and the size can be expanded post-deployment. |
MetadataVolumeSize | 10 | Number | Number greater than or equal to 10 | The size of the EBS volume attached for Metadata (min 10GB). This is the active database for your server. Volume type is gp3. The type can be changed and the size can be expanded post-deployment. |
P4DInstanceType | c5.large | String | Review the list at deployment time. A wide array of instance types are supported. | Select P4D server EC2 instance type. The instance type can be changed after deployment to accommodate growth or reduce costs. Quick reference about instance types and their costs: http://instances.vantage.sh |
HansoftInstanceType | m5.large | String | Review the list at deployment time. A wide array of instance types are supported. | Select Hansoft server EC2 instance type |
SwarmRootVolumeSize | 100 | Number | Number greater than or equal to 20 | Provide the size of the root volume |
HansoftDataVolumeSize | 100 | Number | Number greater than or equal to 5 | Provide the size of the Hansoft data volume in GB |
EnableBackups | true | String | true or false | Select 'true' to enable daily snapshots of the Depot and Log volumes. The frequency and number of stored snapshots can be adjusted post-deployment in the Lifecycle Manager. |
NotificationEmail | String | (^$|^[a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+.[a-zA-Z0-9-.]+$) | Enter an e-mail address to receive system notifications. (You will be sent a confirmation e-mail after deployment.) This feature collects just your email address. This information is only used by AWS to delivery notifications to you. PERFORCE SOFTWARE, INC. will never receive this information. | |
HelixCorePrivateIpAddress | String | A valid RFC1918 IP address that falls within the VPC CIDR | Optional: Enter Private IP address that will be used for Helix Core. This option is typically used if you already have a Helix License that is bound to an IP address | |
Follow the documentation on this page for the spcific steps of initiating the deployment. Once your CloudFormation deployment is complete come back to this page.
Validate Successful Deployment¶
You can follow these steps for connecting to your new Helix Core server using P4V.
If you suspect a problem with the deployment or an issue with connecting to your Helix Core server a good smoke test is to use the p4 info
command.
p4 -p ssl:helix-core-public-ip-address:1666 trust -f y
p4 -p ssl:helix-core-public-ip-address:1666 info
You should expect to see output like the following:
$ p4 info
User name: perforce
Client name: bruno
Client host: bruno
Client unknown.
Current directory: /Users/bruno/
Peer address: 10.1.0.21:52302
Client address: 10.1.0.21
Server date: 2023/03/09 15:44:01 +0000 UTC
Server version: P4D/LINUX26X86_64/2022.2/2407422 (2023/02/14)
Server encryption: encrypted
Server cert expires: Feb 28 21:49:08 2033 GMT
ServerID: master.1
Server services: standard
Server license: none
Case Handling: sensitive
If you do not receive output like the above review our Troubleshooting section.