Skip to content

Platform abstraction adoption

Why use CCE

Platform engineering teams ship internal SDKs to abstract cloud APIs, but adoption is uneven. Direct boto3 or AWS SDK v2 calls bypass golden paths, breaking centralized policy, telemetry, and cost attribution.

CCE measures direct cloud SDK usage vs platform wrapper call sites per repo for adoption scorecards.

What CCE extracts

JSON field Meaning for this use case
provider DIRECT_CLOUD or PLATFORM
resource SDK segment or platform module
operation Method name
file / line Migrate to platform SDK

CLI wiring

Customize the lens — replace github.com/acme/platform-sdk/ (and equivalents) with your org's platform package prefixes in platform-adoption.yaml.

cce -folder . \
    -language GO \
    -mapper-file https://releases.stackgen.com/cce/lenses/platform-adoption/latest/platform-adoption_lenses.yaml \
    -filter cloud \
    -format json \
    -output platform-gap.json

How to read the JSON output

  • summary.by_provider.DIRECT_CLOUD vs PLATFORM → golden-path adoption ratio.
  • Filter entitlements[] where provider == "DIRECT_CLOUD" for migration backlog.
  • Track ratio over time in CI to enforce platform standards on new code.

CI/CD snippet

- name: Platform adoption score
  run: |
    cce -folder . -language AUTO \
        -mapper-file https://releases.stackgen.com/cce/lenses/platform-adoption/latest/platform-adoption_lenses.yaml \
        -filter cloud -format json -output platform-gap.json
    # optional: fail if DIRECT_CLOUD / total exceeds threshold

Published lens

Latest mapper YAML is published on every push to main (public, no auth):

curl -fsSL "https://releases.stackgen.com/cce/lenses/platform-adoption/latest/platform-adoption_lenses.yaml" -o platform-adoption_lenses.yaml
cce -folder . -mapper-file https://releases.stackgen.com/cce/lenses/platform-adoption/latest/platform-adoption_lenses.yaml -language AUTO -filter all -format json -output report.json

Known limitations

Proof status: Lens-only — see KNOWN_LIMITATIONS.md (platform-adoption) and docs/proof.

Limitation Impact
Org prefixes You must configure platform package prefixes in YAML.
Unmatched SDK calls Without lens rules, built-in cloud mapping still applies.

Platform limits (CGO, languages, static analysis, mapper precedence, filters): KNOWN_LIMITATIONS.md.