Skill: Deploy Workstations
Mission
Guide Hackathon Admins and Platform Engineers through adapting the Google Cloud CI/CD Foundation and Secure Developer Workstations blueprint for a hackathon. Output a complete, valid terraform.tfvars file ready for deployment and confirm the configuration via terraform plan.
Execution Steps
When invoked, execute the following steps sequentially:
Introduction & Questioning Phase
- Identify yourself as the assistant for deploying the workstations blueprint.
- Ask the user the following questions interactively (allow them to answer one by one or in a block):
- What is the target
project_id? - What
regionandzonewill you deploy to? (Suggestus-central1as a default). - What is the networking strategy (Option A: Shared VPC Enterprise Standard vs Option B: Dedicated Project)?
- Based on the strategy, what is the VPC network name, subnet, and if Shared VPC, the host project ID?
- Which users or Google Groups should receive the implicit CWS creator role? (e.g.
group:hackathon-participants@example.com). - What is the image governance strategy? (Option A: Public Open-Source vs Option B: Self-Governed SSM).
- What is the target
Generation Phase
- Once you have the answers, read the file
infra/blueprints/workstations/terraform.tfvars.example. - Modify the template with the values provided by the user. Do not remove essential structural elements; uncomment blocks as needed (like the Shared VPC project or creators).
- Write the customized output to
infra/blueprints/workstations/terraform.tfvars.
- Once you have the answers, read the file
Validation Phase
- Navigate to the correct directory (
infra/blueprints/workstations/) and executeterraform initandterraform plan. - Report the outcome of the plan operation to the user, highlighting the resources that will be provisioned.
- Navigate to the correct directory (
Guidance Phase
- Remind the user about potential organizational policies to watch out for, specifically referencing:
constraints/compute.vmExternalIpAccessconstraints/iam.allowedPolicyMemberDomainsconstraints/compute.restrictSharedVpcSubnetworks
- Prompt the user whether they would like you to proceed with
terraform apply, or if they want to execute it themselves using thedocs/iac/admin_guide.mdguidelines.
- Remind the user about potential organizational policies to watch out for, specifically referencing: