-
Notifications
You must be signed in to change notification settings - Fork 8
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Unreal Engine Horde Module #330
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Checkov found more than 20 potential problems in the proposed changes. Check the Files changed tab for more details.
a3f951d
to
01aa758
Compare
01aa758
to
f278a7a
Compare
f843493
to
3d652ac
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks great already! Left a few small comments on things to improve.
device_name = block_device_mappings.value.device_name | ||
ebs { | ||
volume_size = block_device_mappings.value.ebs.volume_size | ||
volume_type = "gp2" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Considered gp3
?
- name: Install DotNet | ||
ansible.builtin.package: | ||
name: dotnet-runtime-6.0 | ||
state: present |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It seems that this will default to using a DPkg Lock Timeout of 60. In our Packer scripts, we always manually set a timeout of 180, because this lock has been known to be held by other software (e.g. automated patching solutions). It's been a while since I've used Ansible, but I think it may be useful to try setting the same timeout here as well to get a better experience that's less likely to occasionally fail. See these docs from the apt module.
] | ||
healthCheck = { | ||
command = [ | ||
"CMD-SHELL", "apt update && apt install curl -y && curl http://localhost:${var.container_api_port}/health/ok || exit 1", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Bad idea to run apt
automatically, as it'll cause potentially unwanted or unexpected side-effects. Also, if really needed, run it using apt-get -o DPkg::Lock::Timeout=180 update -y
and apt-get -o DPkg::Lock::Timeout=180 install -y
(don't use apt
as it does not have a stable CLI).
c8c483f
to
0adcd27
Compare
…onfiguration Provisions Unreal Engine Horde CI/CD service on AWS Fargate backed by DocumentDB and Elasticache Redis. Provides variables for configuring OIDC on Horde directly from Terraform.
…l Horde service Provisions a simple VPC and the Unreal Engine Horde module on AWS.
Provide an AMI, instance type, and minimum / maximum sizes for ASGs through the module. Currently only supports Amazon Linux automated agent enrollment with SSM State Manager.
Provisions Helix Core, Helix Swarm, Helix Authentication Service. Deploys Unreal Horde with Linux based agents that are configured on start. Some configuration still required to Helix workloads.
…tonal agent security group creation
… to Wine availability
… Unreal Engine Horde module
…o ansible playbook for agent ASGs
…p. Minor changes to ansible playbook step names
…ble sso on swarm.
…mplete example in module directory
0adcd27
to
187df60
Compare
Co-authored-by: Joris van de Donk <[email protected]>
Issue number:
Closes #11
Addresses #326
Summary
First version of the Unreal Engine Horde module.
This module provisions the following resources:
Changes
Net new module.
This version provides an easy deployment path for the Unreal Engine Horde CI/CD system on AWS. It can be used to configure the Horde server and N autoscaling groups of agents.
User experience
Horde server deployment now available.
Checklist
If your change doesn't seem to apply, please leave them unchecked.
Is this a breaking change?
Acknowledgment
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.
Disclaimer: We value your time and bandwidth. As such, any pull requests created might not be successful.