Skip to content

Helix Core - Terraform Module Docs

Perforce Helix Core Module

Requirements

Name Version
terraform >= 1.0
aws 5.68.0
awscc 1.15.0
random 3.6.3

Providers

Name Version
aws 5.59.0
awscc 1.6.0
random 3.6.2

Modules

No modules.

Resources

Name Type
aws_ebs_volume.depot resource
aws_ebs_volume.logs resource
aws_ebs_volume.metadata resource
aws_eip.helix_core_eip resource
aws_iam_instance_profile.helix_core_instance_profile resource
aws_iam_policy.helix_core_default_policy resource
aws_iam_role.helix_core_default_role resource
aws_instance.helix_core_instance resource
aws_security_group.helix_core_security_group resource
aws_volume_attachment.depot_attachment resource
aws_volume_attachment.logs_attachment resource
aws_volume_attachment.metadata_attachment resource
aws_vpc_security_group_egress_rule.helix_core_internet resource
awscc_secretsmanager_secret.helix_core_super_user_password resource
awscc_secretsmanager_secret.helix_core_super_user_username resource
random_string.helix_core resource
aws_ami.helix_core_ami data source
aws_iam_policy_document.ec2_trust_relationship data source
aws_iam_policy_document.helix_core_default_policy data source
aws_subnet.instance_subnet data source

Inputs

Name Description Type Default Required
create_default_sg Whether to create a default security group for the Helix Core instance. bool true no
create_helix_core_default_role Optional creation of Helix Core default IAM Role with SSM managed instance core policy attached. Default is set to true. bool true no
custom_helix_core_role ARN of the custom IAM Role you wish to use with Helix Core. string null no
depot_volume_size The size of the depot volume in GiB. Defaults to 128 GiB. number 128 no
environment The current environment (e.g. dev, prod, etc.) string "dev" no
existing_security_groups A list of existing security group IDs to attach to the Helix Core load balancer. list(string) [] no
fully_qualified_domain_name The fully qualified domain name where Helix Core will be available. This is used to generate self-signed certificates on the Helix Core server. string null no
helix_authentication_service_url The URL for the Helix Authentication Service. string null no
helix_case_sensitive Whether or not the server should be case insensitive (Server will run '-C1' mode), or if the server will run with case sensitivity default of the underlying platform. False enables '-C1' mode bool true no
helix_core_super_user_password_secret_arn If you would like to manage your own super user credentials through AWS Secrets Manager provide the ARN for the super user's password here. string null no
helix_core_super_user_username_secret_arn If you would like to manage your own super user credentials through AWS Secrets Manager provide the ARN for the super user's username here. Otherwise, the default of 'perforce' will be used. string null no
instance_architecture The architecture of the Helix Core instance. Allowed values are 'arm64' or 'x86_64'. string "x86_64" no
instance_subnet_id The subnet where the Helix Core instance will be deployed. string n/a yes
instance_type The instance type for Perforce Helix Core. Defaults to c6in.large. string "c6in.large" no
internal Set this flag to true if you do not want the Helix Core instance to have a public IP. bool false no
logs_volume_size The size of the logs volume in GiB. Defaults to 32 GiB. number 32 no
metadata_volume_size The size of the metadata volume in GiB. Defaults to 32 GiB. number 32 no
name The name attached to swarm module resources. string "helix-core" no
project_prefix The project prefix for this workload. This is appeneded to the beginning of most resource names. string "cgd" no
server_type The Perforce Helix Core server type. string n/a yes
storage_type The type of backing store [EBS, FSxZ] string n/a yes
tags Tags to apply to resources. map(any)
{
"IAC_MANAGEMENT": "CGD-Toolkit",
"IAC_MODULE": "helix-core",
"IAC_PROVIDER": "Terraform"
}
no
vpc_id The VPC where Helix Core should be deployed string n/a yes

Outputs

Name Description
helix_core_eip_id The ID of the Elastic IP associated with your Helix Core instance.
helix_core_eip_private_ip The private IP of your Helix Core instance.
helix_core_eip_public_ip The public IP of your Helix Core instance.
helix_core_instance_id Instance ID for the Helix Core instance
helix_core_super_user_password_secret_arn The ARN of the AWS Secrets Manager secret holding your Helix Core super user's password.
helix_core_super_user_username_secret_arn The ARN of the AWS Secrets Manager secret holding your Helix Core super user's username.
security_group_id The default security group of your Helix Core instance.