Skip to content

Improve setup readiness with provider-specific signals #90

@madebygps

Description

@madebygps

Summary

Track a future improvement to replace the current cross-cloud SSH marker wait with provider-specific readiness signals where each cloud supports them.

Background

Release-mode setup runs through first-boot scripts. That keeps the setup package small and avoids uploading local files for learners, but the cloud VM resource can report as created before the CTF setup is complete. The current fix should use a consistent marker-based readiness wait so learners do not SSH into a half-configured VM.

Future provider-specific options

  • Azure: investigate moving release setup, or a setup-complete check, to Azure VM Custom Script Extension so Terraform can use extension provisioning status.
  • AWS: investigate AWS Systems Manager Association or Run Command with success waits. This likely requires SSM agent readiness, IAM instance profile, and network access to SSM endpoints.
  • GCP: research whether OS Config, guest attributes, or another Google-native signal can provide a clean setup-complete wait. Startup scripts alone do not appear to provide Terraform-native completion readiness.

Acceptance criteria

  • Document which provider-native readiness paths are viable and what extra permissions or infrastructure they require.
  • Prefer native success/failure status over blind sleeps.
  • Keep learner deployment simple. Do not add provider-specific complexity unless it improves reliability enough to justify it.
  • Preserve contributor-mode testing behavior.

Related to #81.

Metadata

Metadata

Assignees

Labels

DevOpsDevOps, CI/CD, and infrastructureterraformTerraform/IaC

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions