Skip to content

feat(cfn): expand CloudFormation native provisioning and align Phase 1 documentation - #187

Merged
skyoo2003 merged 1 commit into
mainfrom
feat/cfn-engine-expansion-and-phase1-review
Oct 9, 2026
Merged

skyoo2003 merged 1 commit into
mainfrom
feat/cfn-engine-expansion-and-phase1-review

Conversation

@skyoo2003

Copy link
Copy Markdown
Owner

Summary

This PR addresses real-world IaC and CDK provisioning gaps identified during a critical review of Phase 1 goals, and resolves documentation/metric drift across the repository.

Key Improvements

  1. CloudFormation Native Provisioning Expansion (internal/services/cloudformation/engine.go):

    • Added native create and delete provisioning for:
      • AWS::Lambda::EventSourceMapping (calls lambda.CreateEventSourceMapping / lambda.DeleteEventSourceMapping)
      • AWS::Events::Rule (calls eventbridge.PutRule / eventbridge.DeleteRule)
      • AWS::SSM::Parameter (calls ssm.PutParameter / ssm.DeleteParameter)
      • AWS::SecretsManager::Secret (calls secretsmanager.CreateSecret / secretsmanager.DeleteSecret)
    • Enhanced fallback resource simulation (simulateResource) to extract generic props["Name"] as physical resource ID when specific name properties are not provided.
  2. Lambda EventSourceMapping Function ARN Normalization (internal/services/lambda/provider.go):

    • Made functionARN helper idempotent to prevent duplicate prefixes (e.g., arn:aws:lambda:...:function:arn:...) when full ARNs are supplied as function names.
    • Added extractFunctionName helper to robustly locate functions by short name or ARN in ESM mappings.
  3. Documentation & Metrics Alignment:

    • docs/roadmap.md: Updated unimplemented operation counts to reflect current state (477 all registered / 267 serving target).
    • docs/coverage.md: Aligned wire protocol table and prose to include ec2Query and native CBOR (rpcv2Cbor) support, and updated compatibility testing totals to 427 services.
    • Verified that cmd/devcloud/coverage_test.go regex and coverage gating tests pass cleanly.
  4. Testing & Quality Assurance:

    • Added unit tests in internal/services/cloudformation/engine_test.go (TestProvisionNewResourceTypes) covering creation, deletion, and physical ID propagation.
    • Added end-to-end compatibility tests in test/compatibility/test_cloudformation.py:
      • test_create_stack_provisions_ssm_events_secrets
      • test_create_stack_provisions_lambda_esm
    • Added changelog entry changes/unreleased/Added-20261009-213500.yaml.
    • Verified with full Go suite (go test ./...) and compatibility test suite.

…1 documentation

- Add real provisioning and deletion logic in CloudFormation engine for AWS::Lambda::EventSourceMapping, AWS::Events::Rule, AWS::SSM::Parameter, and AWS::SecretsManager::Secret

- Handle generic Name property in simulateResource fallback

- Normalize Lambda function ARNs in EventSourceMapping to prevent duplicate ARN prefixes

- Update docs/roadmap.md and docs/coverage.md with latest metrics and protocol coverage

- Add unit and compatibility tests for expanded CFN provisioning

- Add unreleased changelog entry
@github-actions github-actions Bot added documentation Improvements or additions to documentation tests Test code and test infrastructure services AWS service implementations labels Oct 9, 2026
@skyoo2003
skyoo2003 merged commit 3339206 into main Oct 9, 2026
11 checks passed
@skyoo2003
skyoo2003 deleted the feat/cfn-engine-expansion-and-phase1-review branch October 9, 2026 12:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation services AWS service implementations tests Test code and test infrastructure

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant