basic/minimal_cluster¶
A basic cluster for AWS with no IAM or VPC resources. This is useful if you aren’t able to create such resources or want to share them.
Content of this module
Requirements¶
- terraform >= 0.12
Inputs¶
-
bastionid (string)
Id of this bastion instance
-
cluster (string)
Name of your cluster
-
game_instance_profile_name (string)
The instance profile name to provide for the Game instance(s).
-
key_pair_private (string)
Key Pair Private PEM to use instead of creating a new one
-
key_pair_public (string)
Key Pair Public Key to use instead of creating a new one
-
server_instance_profile_name (string)
The instance profile name to provide for the Server, Encoding, Internal, and Public instances.
-
trusted_cidr (string)
CIDR to be trusted. This should at least contain the external CIDR (<ip>/32) for the local machine. Otherwise, the provision and access to Consul/Nomad will fail.
-
vpc_id (string)
ID of the VPC to attach the cluster to.
-
admin_password (string)
Administrative password for the game machine.
-
ami_prefix (string)
Prefix of the game AMI.
-
ami_version (string)
Version prefix of the AMIs (both game and genvid) to use (ex: 1.20.0 will match both 1.20.0 and 1.20.0.0 versions).
In order to use an AMI with a version suffix, the whole version with the suffix must be specified (ex: 1.26.0.1.mysuffix)
-
azs (list(string))
A list of availability zones in the region. subnet_ids takes precedence over azs.
New in version 1.24.0.
-
cidr (string)
VPC IP Address Space
-
custom_tags (map(string))
Map of user defined tags to add to all cloud resources.
-
datacenter (string)
Consul/Nomad datacenter
-
instance_encoding_count (number)
Number of internal workers to spawn
-
instance_encoding_type (string)
Type of EC2 instance to use for encoding servers
-
instance_game_count (number)
Number of game instances to spawn
-
instance_game_type (string)
Type of EC2 instance to use for game servers
-
instance_internal_count (number)
Number of internal workers to spawn
-
instance_internal_type (string)
Type of EC2 instance to use for internal servers
-
instance_public_count (number)
Number of public workers to spawn
-
instance_public_type (string)
Type of EC2 instance to use for public servers
-
instance_server_count (number)
The number of supervisor servers. Must be an odd number. It is usually 3 for production deployment.
-
instance_server_type (string)
Type of EC2 instance to use for admin servers
-
region (string)
AWS deployment region
-
subnet_ids (list(string))
An ordered list of Public subnets that can be used. If empty, subnets will be automatically selected from the available availability zones. Note: Only one subnet per AZ is allowed. Thus, if your AZ has more than one subnet, this variable is mandatory and you should provide the id of the public subnet that you want to use in each AZ. Subnet_ids takes precedence over AZs.
New in version 1.24.0.
-
toolbox_location (string)
Genvid Toolbox Wheel file.
Only required if you need to update the one from the AMI. An empty value indicates to not install the toolbox.
-
trusted_cidrs (list(string))
A list of CIDR to be trusted.
-
trusted_security_groups (list(string))
A list of security groups to be trusted.
-
use_drive_encryption (bool)
If you want to have encrypted EBS, select true. If you do not want to have encypted EBS, or you are upgrading the SDK version from 1.24 or below to 1.25 or higher, select false.
WARNING: your drives will be recreated if you toggle this feature with existing drives. Prior to 1.25, the drives were not encrypted. Starting with version 1.25 the encryption is enabled by default.
Outputs¶
-
azs_available
List of availability zones that were detected as available to use.
-
azs_selected
List of availability zones that were selected to use.
-
cluster
Name of your cluster
-
consul_nodes
The Consul node
-
encoding_worker_private_ips
The private IP addresses of the Encoding instance(s)
-
encoding_worker_public_ips
The public IP addresses of the Encoding instance(s)
-
game_instance_profile_name
The instance profile name used by the Game instance(s)
-
game_private_ips
The private IP addresses of the Game instance(s)
-
game_public_ips
The public IP addresses of the Game instance(s)
-
internal_worker_private_ips
The private IP addresses of the Internal instance(s)
-
internal_worker_public_ips
The public IP addresses of the Internal instance(s)
-
private_key_pem
The private key that can be used to connect to the instances with SSH or RDP
-
public_key
The public key for connecting to the instances used by AWS for authentication
-
public_worker_private_ips
The private IP addresses of the Public instance(s)
-
public_worker_public_ips
The public IP addresses of the Public instance(s)
-
region
The region
-
server_instance_profile_name
The instance profile name used by the Server, Encoding, Internal, and Public instances
-
server_private_ips
The private IP addresses of the Server instance(s)
-
server_public_ips
The public IP addresses of the Server instance(s)
-
subnet_available
List of subnets that were detected as available to use if var.subnet_ids list is empty
-
subnet_selected
A list of selected subnets to use in the vpc
-
vpc_id_selected
The ID of the selected VPC