Skip to content

feat(microvm): add Terraform compute provider - #5260

Draft
edersonbrilhante wants to merge 12 commits into
feat-microvm-runner-providerfrom
microvm-multi-runner-terraform
Draft

feat(microvm): add Terraform compute provider#5260
edersonbrilhante wants to merge 12 commits into
feat-microvm-runner-providerfrom
microvm-multi-runner-terraform

Conversation

@edersonbrilhante

@edersonbrilhante edersonbrilhante commented Aug 7, 2026

Copy link
Copy Markdown
Contributor

Description

Adds Terraform support for AWS Lambda MicroVM runner lanes on top of #5255, rebased onto the refreshed feat-microvm-runner-provider branch.

  • adds compute_provider.aws.microvm with Terraform dispatch key aws_microvm while preserving runtime type microvm;
  • adds the namespaced MicroVM provider and trust-policy modules under modules/compute-providers/aws/microvm;
  • integrates MicroVM through runner-config, mixed-provider multi-runner maps, validation, outputs, and CI matrices;
  • derives a lane-scoped MICROVM_METADATA_SSM_PATH under the persistent SSM configuration path for scale-up, scale-down, and pool;
  • replaces unsupported runtime MicroVM tagging permissions with control-plane-only ssm:GetParametersByPath, ssm:PutParameter, and ssm:DeleteParameter access on that metadata prefix;
  • scopes RunMicrovm and TerminateMicrovm to the configured image by default, with a validated explicit image allowlist for dynamic overrides;
  • restricts iam:PassRole to the resolved execution role and iam:PassedToService=lambda.amazonaws.com;
  • keeps the MicroVM execution role limited to lane-token SSM read/delete and scoped runtime log writes; externally supplied roles remain caller-owned;
  • documents and tests global defaults, lane overrides, computed values, EC2/MicroVM isolation, metadata-path separation, and managed-versus-external role ownership.

modules/webhook/** is unchanged. EC2 implementation source is unchanged; only its provider overview documentation is updated to describe both selectable AWS providers.

Test Plan

  • terraform -chdir=modules/compute-providers/aws/microvm test -no-color — 11 passed
  • terraform -chdir=modules/compute-providers/aws/microvm/trust-policy test -no-color — 3 passed
  • terraform -chdir=modules/runner-config test -no-color — 24 passed
  • terraform -chdir=modules/multi-runner test -no-color — 46 passed
  • terraform fmt -check modules/compute-providers/aws/microvm modules/runner-config modules/multi-runner
  • targeted TFLint passed for the changed MicroVM provider, runner-config, and multi-runner files
  • regenerated the affected Terraform module READMEs
  • git diff --check and merge-conflict hook

The full recursive multi-runner TFLint invocation reproduced an existing no-output local hang. The same changed files passed a bounded non-recursive TFLint run; GitHub Actions remains authoritative for the full-module lint.

Related Issues

Depends on #5255. Related to #5252.

@github-actions

github-actions Bot commented Aug 7, 2026

Copy link
Copy Markdown
Contributor

Dependency Review

✅ No vulnerabilities or license issues or OpenSSF Scorecard issues found.

Scanned Files

None

@edersonbrilhante
edersonbrilhante changed the base branch from main to feat-microvm-runner-provider August 7, 2026 21:18
@edersonbrilhante edersonbrilhante changed the title feat(microvm): add Terraform compute provider lane feat(microvm): add Terraform compute provider Aug 7, 2026
@edersonbrilhante edersonbrilhante changed the title feat(microvm): add Terraform compute provider feat(microvm): add Terraform new compute provider Aug 7, 2026
@edersonbrilhante
edersonbrilhante force-pushed the feat-microvm-runner-provider branch from 61e4aa2 to a638a13 Compare August 7, 2026 21:42
@edersonbrilhante
edersonbrilhante force-pushed the microvm-multi-runner-terraform branch from fef4734 to 6d76a90 Compare August 7, 2026 21:42
@edersonbrilhante
edersonbrilhante force-pushed the feat-microvm-runner-provider branch from a638a13 to 2384430 Compare August 12, 2026 22:47
@edersonbrilhante
edersonbrilhante force-pushed the microvm-multi-runner-terraform branch from 961c120 to 0123bf9 Compare August 12, 2026 23:03
@edersonbrilhante
edersonbrilhante force-pushed the feat-microvm-runner-provider branch 3 times, most recently from 11c97de to fa2e601 Compare August 13, 2026 11:13
@edersonbrilhante
edersonbrilhante force-pushed the microvm-multi-runner-terraform branch from 0123bf9 to 18a6e92 Compare August 13, 2026 11:13
@edersonbrilhante
edersonbrilhante force-pushed the feat-microvm-runner-provider branch from fa2e601 to 4f6c867 Compare August 13, 2026 11:41
@edersonbrilhante
edersonbrilhante force-pushed the microvm-multi-runner-terraform branch from 18a6e92 to 96d2368 Compare August 13, 2026 11:41
@edersonbrilhante
edersonbrilhante force-pushed the feat-microvm-runner-provider branch from 4f6c867 to 93bd091 Compare August 13, 2026 12:25
@edersonbrilhante
edersonbrilhante force-pushed the microvm-multi-runner-terraform branch from 96d2368 to d7d5b9c Compare August 13, 2026 12:25
@edersonbrilhante edersonbrilhante changed the title feat(microvm): add Terraform new compute provider feat(microvm): add Terraform compute provider Aug 13, 2026
@edersonbrilhante edersonbrilhante self-assigned this Aug 13, 2026
@edersonbrilhante
edersonbrilhante force-pushed the feat-microvm-runner-provider branch from 93bd091 to dfdcdaf Compare August 14, 2026 13:22
@edersonbrilhante
edersonbrilhante force-pushed the microvm-multi-runner-terraform branch from d7d5b9c to 00cb154 Compare August 14, 2026 13:36
@edersonbrilhante
edersonbrilhante force-pushed the feat-microvm-runner-provider branch from dfdcdaf to c0c0679 Compare August 17, 2026 14:41
@edersonbrilhante
edersonbrilhante force-pushed the microvm-multi-runner-terraform branch 2 times, most recently from dcee094 to 0a84758 Compare August 17, 2026 16:25
@edersonbrilhante
edersonbrilhante force-pushed the feat-microvm-runner-provider branch from c0c0679 to 27b99ea Compare August 17, 2026 21:04
@edersonbrilhante
edersonbrilhante force-pushed the microvm-multi-runner-terraform branch from 0a84758 to 652ba90 Compare August 17, 2026 21:15
@edersonbrilhante
edersonbrilhante force-pushed the feat-microvm-runner-provider branch from aced1a1 to fc93bea Compare August 17, 2026 21:48
@edersonbrilhante
edersonbrilhante force-pushed the microvm-multi-runner-terraform branch from 652ba90 to d5d9856 Compare August 17, 2026 21:48
@edersonbrilhante
edersonbrilhante force-pushed the feat-microvm-runner-provider branch 2 times, most recently from 8d5c416 to d2b8b0f Compare August 19, 2026 18:12
@edersonbrilhante
edersonbrilhante force-pushed the microvm-multi-runner-terraform branch from d5d9856 to 4825e46 Compare August 19, 2026 19:11
@edersonbrilhante
edersonbrilhante force-pushed the feat-microvm-runner-provider branch from d2b8b0f to f10a155 Compare August 19, 2026 19:34
@edersonbrilhante
edersonbrilhante force-pushed the microvm-multi-runner-terraform branch from 4825e46 to 979d5f0 Compare August 19, 2026 19:34
@edersonbrilhante
edersonbrilhante force-pushed the microvm-multi-runner-terraform branch from cbe8f9d to 073fcd7 Compare August 20, 2026 14:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant