submodules/cluster/sample

A basic cluster of AWS EC2 instances and network resources to run the Genvid stack.

Requirements

  • terraform >= 0.12

Inputs

cluster (string)

Name of your cluster

instance_profile_game (string)

Name of the IAM Instance Profile to use instead of creating a new one for game

instance_profile_server (string)

Name of the IAM Instance Profile to use instead of creating a new one for server

key_name (string)

The key name to use with the instance

private_key (string)

Your private key

subnet_ids (list(string))

An ordered list of subnets that can be used. Empty means all.

New in version 1.24.0.

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.

vpc_id (string)

VPC ID to use instead of creating a new one

admin_password (string)

Administrative password for the game machine.

Default: 1genvid6

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.28.0.1.mysuffix)

Default: 1.36.0

datacenter (string)

Consul/Nomad datacenter

Default: default

game_ami_owners (list(string))

The list of owners that can own the game AMI. Default to self.

New in version 1.30.0.

Default: [‘self’]

game_ami_prefix (string)

Prefix of the game AMI.

Default: default

instance_encoding_count (number)

Number of internal workers to spawn

Default: 1

instance_encoding_type (string)

Type of EC2 instance to use for encoding servers

Default: c5.2xlarge

instance_game_count (number)

Number of game instances to spawn

Default: 1

instance_game_type (string)

Type of EC2 instance to use for game servers

Default: g5.xlarge

instance_internal_count (number)

Number of internal workers to spawn

Default: 2

instance_internal_type (string)

Type of EC2 instance to use for internal servers

Default: t3.small

instance_public_count (number)

Number of public workers to spawn

Default: 1

instance_public_type (string)

Type of EC2 instance to use for public servers

Default: t3.small

instance_server_count (number)

The number of supervisor servers. Must be an odd number. It is usually 3 for production deployment.

Default: 1

instance_server_type (string)

Type of EC2 instance to use for admin servers

Default: t3.small

server_ami_owners (list(string))

The list of owners that a valid AMI can have. Default to the Genvid public account.

New in version 1.30.0.

Default: [‘149754531711’]

server_ami_prefix (string)

Prefix of the server AMI.

New in version 1.27.0.

Default: genvidtech

tags (map(string))

Tags to be applied to all cloud resources.

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.

Outputs

cluster
consul_nodes
encoding_worker_private_ips
encoding_worker_public_ips
game_private_ips
game_public_ips
internal_worker_private_ips
internal_worker_public_ips
public_worker_instance_ids
public_worker_private_ips
public_worker_public_ips
server_private_ips
server_public_ips