Skip to content

feat(microvm): add Terraform provider - #5413

Open
edersonbrilhante wants to merge 13 commits into
mainfrom
microvm-provider-independent
Open

edersonbrilhante wants to merge 13 commits into
mainfrom
microvm-provider-independent

Conversation

@edersonbrilhante

@edersonbrilhante edersonbrilhante commented Sep 11, 2026

Copy link
Copy Markdown
Contributor

Description

Adds the AWS Lambda MicroVM compute-provider foundation and wires it into the Terraform runner configuration contracts.

  • Adds the MicroVM compute-provider module, including control-plane resources, IAM policies, logging, runner configuration, outputs, validation, and the trust-policy submodule.
  • Adds provider-specific Terraform tests and documentation.
  • Adds global and per-runner MicroVM configuration and output resolution alongside the existing EC2 provider.
  • Keeps the Terraform provider boundary independent from the runtime Lambda implementation, which is delivered by the follow-up provider PR.

This work is intentionally split across four PRs for reviewability. The complete end-to-end smoke coverage is implemented in #5280 and exercises both EC2 and MicroVM against:

  • A webhook event without a dynamic label.
  • A webhook event with a dynamic label.
  • Pool scale-up.
  • Scale-down.

Test Plan

  • Terraform tests for the MicroVM provider, trust policy, runner configuration, and multi-runner configuration.
  • Terraform formatting, initialization, validation, and TFLint checks for affected modules.
  • git diff --check
  • No complete real-environment MicroVM deployment was performed in this PR because the end-to-end test depends on the complete stacked implementation:
    1. Apply the MicroVM foundation module from feat(microvm): add microvm example #5377.
    2. Build a real MicroVM image with the Packer image configuration.
    3. Build the lifecycle-hook server from feat(microvm): add lifecycle hook service #5280 and include it in the MicroVM image. The image requires this internal server to receive and process the MicroVM hooks.
    4. Deploy the updated Terraform code and Lambda artifacts.
    5. Run the unified Python MiniStack smoke test from feat(microvm): add lifecycle hook service #5280.

Related Issues

@edersonbrilhante
edersonbrilhante added this pull request to stack #5414 September 11, 2026 08:04
@edersonbrilhante
edersonbrilhante force-pushed the microvm-provider-independent branch from c4a8c4a to 4f1c892 Compare September 11, 2026 08:24
@github-actions

Copy link
Copy Markdown
Contributor

Dependency Review

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

Scanned Files

None

@edersonbrilhante
edersonbrilhante force-pushed the microvm-provider-independent branch from 1d4f787 to ffa886c Compare September 16, 2026 11:29
@edersonbrilhante
edersonbrilhante force-pushed the microvm-provider-independent branch from 4738c8a to 1615974 Compare September 16, 2026 18:54
@edersonbrilhante
edersonbrilhante removed this pull request from stack #5414 September 17, 2026 12:54
@edersonbrilhante
edersonbrilhante added this pull request to stack #5435 September 17, 2026 13:04
@edersonbrilhante
edersonbrilhante force-pushed the microvm-provider-independent branch 2 times, most recently from 637bec7 to a14acac Compare September 17, 2026 13:57
@edersonbrilhante
edersonbrilhante force-pushed the microvm-provider-independent branch from a14acac to 051443c Compare September 17, 2026 17:33
@edersonbrilhante
edersonbrilhante removed this pull request from stack #5435 September 17, 2026 17:35
@edersonbrilhante
edersonbrilhante added this pull request to stack #5438 September 17, 2026 18:35
@edersonbrilhante
edersonbrilhante removed this pull request from stack #5438 September 17, 2026 18:36
@edersonbrilhante
edersonbrilhante added this pull request to stack #5439 September 17, 2026 18:37
@edersonbrilhante
edersonbrilhante removed this pull request from stack #5439 September 17, 2026 18:37
@edersonbrilhante
edersonbrilhante added this pull request to stack #5440 September 17, 2026 18:38
@edersonbrilhante
edersonbrilhante removed this pull request from stack #5440 September 18, 2026 12:40
## Description

Integrates the Lambda MicroVM compute provider into the experimental
multi-runner and runner-config contracts on top of #5362.

- Adds global and per-lane `compute_provider.aws.microvm` settings and
precedence resolution.
- Routes MicroVM lanes through runner-config while preserving the EC2
path.
- Adds MicroVM provider validation, outputs, documentation, and
runner-config coverage.
- Carries MicroVM fields into the unified `multi_runner_config` schema
and keeps MicroVM lanes out of EC2 binary synchronization.

## Test Plan

- MicroVM routing, validation, computed-IAM, and runner-config Terraform
tests
- `git diff --check`
- No live AWS deployment was performed

## Related Issues

Depends on #5362. Follow-up foundation example: #5377.

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
@edersonbrilhante edersonbrilhante changed the title feat(microvm): add standalone Terraform provider baseline feat(microvm): add Terraform provider Sep 18, 2026
@edersonbrilhante
edersonbrilhante force-pushed the microvm-provider-independent branch from 696352a to cd0d498 Compare September 18, 2026 13:07
@edersonbrilhante
edersonbrilhante added this pull request to stack #5450 September 18, 2026 21:12
@edersonbrilhante
edersonbrilhante removed this pull request from stack #5450 September 18, 2026 21:12
@edersonbrilhante
edersonbrilhante added this pull request to stack #5452 September 18, 2026 21:40
@edersonbrilhante
edersonbrilhante removed this pull request from stack #5452 September 21, 2026 16:40

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant