feat: Create a starter_farm Terraform configuration with README#212
Conversation
This Terraform configuration sample deploys a starter AWS Deadline Cloud farm equivalent to the CloudFormation starter_farm template. It uses the AWS Cloud Control (AWSCC) provider for Deadline Cloud resources and includes a production queue, package build queue, conda queue environment, and configurable service-managed fleets (CPU Linux, CPU Windows, CUDA Linux). Signed-off-by: Tommy Doerr <tommydoe@amazon.com>
|
|
||
| variable "farm_description" { | ||
| type = string | ||
| default = "Deadline Cloud farm deployed from the starter_farm sample CloudFormation template." |
There was a problem hiding this comment.
NIT: farm description should say terraform template instead of CloudFormation template, right?
There was a problem hiding this comment.
Fixed — updated the farm description to say "Terraform template" instead of "CloudFormation template" in main.tf:45
| $ deadline bundle submit cli_job \ | ||
| --name "Starter farm test job" \ | ||
| -p CondaPackages=imagemagick \ | ||
| -p CondaChannels=conda-forge \ |
There was a problem hiding this comment.
User will need to add the S3 channel initialized in the previous step and potentially add deadline-cloud Conda channel
There was a problem hiding this comment.
Fixed — updated the CLI example to include the S3 channel and deadline-cloud channel alongside conda-forge, so it matches the queue environment defaults rather than overriding them:
-p "CondaChannels=s3://your-s3-bucket-name/Conda/Default deadline-cloud conda-forge" \
- Fix farm_description to say "Terraform template" instead of "CloudFormation template" - Include S3 channel and deadline-cloud channel in CLI CondaChannels example to match the queue environment defaults Signed-off-by: Tommy Doerr <tommydoe@amazon.com>
99c1c49 to
251a737
Compare
karthikbekalp
left a comment
There was a problem hiding this comment.
I just have 1 nit comment about a parameter value.
| userInterface: | ||
| control: DROPDOWN_LIST | ||
| label: Named Conda Environment Action | ||
| - name: NamedCondaEnvUpdateAfterMinutes |
There was a problem hiding this comment.
nit: Hmm, is this variable used later on? If its unused then we should probably remove it?
There was a problem hiding this comment.
Good catch — removed it. The parameter is used in the improved_caching variant but was never referenced in this template's script. Deleted in 35f8258.
This parameter was defined but never referenced in the queue environment script. It exists in the improved_caching variant where it's actually used, but is dead code in the starter farm. Signed-off-by: Tommy Doerr <tommydoe@amazon.com>
This Terraform configuration sample deploys a starter AWS Deadline Cloud farm equivalent to the CloudFormation starter_farm template. It uses the AWS Cloud Control (AWSCC) provider for Deadline Cloud resources and includes a production queue, package build queue, Conda queue environment, and configurable service-managed fleets (CPU Linux, CPU Windows, CUDA Linux).
What was the problem/requirement? (What/Why)
The CloudFormation starter_farm template provides a one-click deployment of an AWS Deadline Cloud farm, but customers who use Terraform don't have an equivalent sample to start from.
What was the solution? (How)
Publish a Terraform configuration sample that deploys an equivalent starter AWS Deadline Cloud farm using the AWS Cloud Control (AWSCC) provider. The configuration creates the same resources as the CloudFormation template: a farm, production queue, package build queue, conda queue environment, up to three service-managed fleets (CPU Linux, CPU Windows, CUDA Linux), and the associated IAM roles and policies.
What is the impact of this change?
Customers who prefer Terraform have a ready-to-use configuration they can deploy directly or fork as a starting point for their own farm.
How was this change tested?
Was this change documented?
Yes, it includes a README with deployment instructions, variable reference, outputs, and customization guidance.
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.