Overcast is alpha — behaviour and APIs may change between releases. Pin your version and read the changelog before upgrading.

overcast

AppRegistry — Service Catalog AppRegistry

Quick start, the resource and CloudFormation coverage, how CDK awsApplication tags become associations, and why an AppRegistry call must be signed as servicecatalog.

Groups related resources into named applications, and associates CloudFormation stacks and CDK-tagged resources with them automatically.

Status: ⚠️ Partial

Quick start

export AWS_ENDPOINT_URL=http://localhost:4566

APP=$(aws servicecatalog-appregistry create-application --name my-app \
  --query application.id --output text)

aws servicecatalog-appregistry associate-resource \
  --application "$APP" --resource-type CFN_STACK --resource my-stack

aws servicecatalog-appregistry list-associated-resources --application "$APP"

Any credentials work; with none configured, run eval "$(overcast env)" first — see Using AWS SDKs and CLI.

What works

AreaBehaviour
ResourcesApplications, attribute groups, resource associations and tagging — all 22 modelled operations, over REST-JSON under /applications
CloudFormationAWS::ServiceCatalogAppRegistry::Application and ::ResourceAssociation are provisioned resource types
CDK awsApplication tagsRecorded as direct associations during a deploy
Web consoleA resource detail page shows a “belongs to application X” banner when a match is found

CloudFormation attributes

The application exposes Id, Arn, Name, ApplicationName, ApplicationTagKey and ApplicationTagValue to Fn::GetAtt. An association’s physical ID is <appId>/<resourceType>/<resource>, and ResourceType defaults to CFN_STACK.

CDK awsApplication tags

The provisioner scans each resource’s Tags for the awsApplication=<app-arn> entry that CDK’s Application L2 construct propagates, and records a direct association immediately after provisioning under AWS’s RESOURCE_TAG_VALUE resource type. Those resources come back from ListAssociatedResources without the console having to expand the parent stack.

Differences from AWS

AreaOn AWSOvercast
EnforcementIntegrated with Service Catalog governanceAssociations are records. Nothing about an application governs, restricts or provisions anything
awsApplication tag scanContinuousRuns on resource create only, and a failure is logged rather than failing the stack
Application-scoped cost, resource groups, attribute-group syncingSupportedNot modelled
Pagination on ListApplications, ListAssociatedResources, ListAttributeGroups, ListAssociatedAttributeGroupsResults are paginatedmaxResults/nextToken are accepted but ignored; every call returns the full result set in one page and nextToken is never set

Gotchas

Important

/applications is shared with AppConfig, which models the same path tree. Overcast picks the service from the SigV4 credential scope: a request signed as servicecatalog reaches AppRegistry, one signed as appconfig reaches AppConfig, and an unsigned or unparseable request reaches AppRegistry. Every AWS SDK and the CLI sign correctly.

Operations

All 22 listed operations are implemented. Per-operation status, notes and AWS API links: AppRegistry operations.