basic/basic_cluster_alb_ssl¶
A basic infrastructure for the Twitch Extension Sample which creates a Genvid cluster and required workers.
Important
The ALB SSL integration have two assumptions:
- The web backend is served on port 30000 of the public nodes and
have a health check on
/health
. - The leaf websocket is served on port 30001 of the public nodes
and have a health check on
/health
.
Not all nodes need to run the services, but they will be discarded if not present.
Content of this module
Requirements¶
- terraform >= 0.12
- aws 2.54.0
Inputs¶
-
cluster (string)
Name of your cluster
-
trusted_cidr (string)
CIDR to be trusted. This should at least contains the external IP for the local machine. Elsewhere, the provision and access to consul/nomad will fail.
-
admin_password (string)
Administrative password for the game machine.
-
ami_prefix (string)
Prefix of the game AMI.
-
ami_version (string)
Version of the AMIs (both game and genvid) to use.
-
azs (list(string))
A list of availability zones in the region
-
cidr (string)
The CIDR block for the VPC. Default value is a valid CIDR, but not acceptable by AWS and should be overridden
-
datacenter (string)
Consul/Nomad datacenter
-
domain_name (string)
Root domain name
-
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
-
leaf_port (number)
None
-
leaf_stickiness_ttl (number)
Set the Leaf target group stickiness timeout
-
leaf_tg_stickiness_enabled (bool)
Set the Leaf target group stickiness enabled or disabled
-
namespace (string)
Deployment namespace that will regroup the clusters
-
private_subnets (list(string))
A list of private subnets inside the VPC
-
public_subnets (list(string))
A list of public subnets inside the VPC
-
region (string)
AWS deployment region
-
stage (string)
Deployment stage
-
subdomain_name (string)
subdomain name. It will be used to create a zone in AWS (twitch.acme.com)
-
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.
-
validation_method (string)
How you wish to validate your SSL Issued Certifcate from AWS (DNS, EMAIL, NONE)
-
web_port (number)
None
-
web_stickiness_ttl (number)
Set the Web target group stickiness timeout
-
web_tg_stickiness_enabled (bool)
Set the Web target group stickiness enabled or disabled
Outputs¶
-
ami_prefix
Prefix of the game AMI.
-
ami_version
Version of the AMIs (both game and genvid) to use.
-
azs_available
-
azs_selected
-
cluster
Name of your cluster
-
consul_nodes
-
datacenter
Consul/Nomad datacenter
-
domain_name
The domain name that you wish to create and associate with your cluster
-
encoding_worker_private_ips
-
encoding_worker_public_ips
-
endpoint_leaf
-
endpoint_web
-
game_private_ips
-
game_public_ips
-
iam_policy_name_game
-
iam_policy_name_server
-
internal_worker_private_ips
-
internal_worker_public_ips
-
leaf_port
Port that leaf are configured
-
namespace
Deployment namespace that will regroup the clusters
-
private_key_pem
-
private_subnets
A list of private subnets inside the VPC
-
public_key
-
public_subnets
A list of public subnets inside the VPC
-
public_worker_private_ips
-
public_worker_public_ips
-
region
AWS deployment region
-
server_private_ips
-
server_public_ips
-
stage
Deployment stage
-
subnet_ids
Specifies an ordered list of subnets that was used.
-
vpc_id_selected
-
web_port
Port that web backend is using