Skip to content

Migrate AWS plugin to typed-IaC conformance #8

@intel352

Description

@intel352

Problem

AWS currently passes strict manifest validation and has a legacy host-load conformance gate, but it still serves sdk.Serve(internal.NewAWSPlugin()). New wfctl plugin conformance --mode typed-iac rejects that boundary because typed-IaC compatibility requires sdk.ServeIaCPlugin + pb.IaCProviderRequiredServer registration.

Observed from origin/main on 2026-05-11:

/tmp/wfctl-conformance plugin conformance --mode typed-iac --build-package ./cmd/workflow-plugin-aws --engine-version v0.51.3-0.20260511092920-8e4247812e6d --format json --output conformance-evidence.json .

Result:

error: iac: plugin uses legacy InvokeService dispatch removed in workflow v1.0.0

Required migration

  • replace legacy sdk.Serve entrypoint with sdk.ServeIaCPlugin
  • add an AWS typed-IaC server wrapper that satisfies pb.IaCProviderRequiredServer and delegates to the existing provider
  • keep cloud-mutating RPCs out of conformance smoke; metadata-only conformance must not require AWS credentials
  • update go.mod to a Workflow engine that includes typed-IaC server support
  • run wfctl plugin validate --file plugin.json --strict-contracts
  • add push-only wfctl plugin conformance --mode typed-iac --build-package ./cmd/workflow-plugin-aws once the migration passes locally

Notes

Existing PR #6 validates the shipped legacy boundary and should remain useful until this cutover lands. This issue tracks the stricter provider contract needed for registry compatibility evidence and future wfctl plugin install enforcement.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    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