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

overcast

AppConfig — AWS AppConfig

Quick start, the application/environment/profile/hosted-version hierarchy, the REST-JSON bindings and pagination, and why an AppConfig call must be signed as appconfig.

The AppConfig control plane — applications, environments, profiles and hosted configuration versions — with the runtime data plane in AppConfigData.

Status: ⚠️ Partial

Quick start

export AWS_ENDPOINT_URL=http://localhost:4566

APP=$(aws appconfig create-application --name my-app --query Id --output text)
aws appconfig create-environment --application-id "$APP" --name dev
PROF=$(aws appconfig create-configuration-profile --application-id "$APP" \
  --name cfg --location-uri hosted --query Id --output text)

echo '{"featureX":true}' > cfg.json
aws appconfig create-hosted-configuration-version --application-id "$APP" \
  --configuration-profile-id "$PROF" --content-type application/json \
  --content fileb://cfg.json version.json

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

What works

AreaBehaviour
ResourcesApplications, environments, configuration profiles and hosted configuration versions, in the hierarchy AWS models
ProtocolREST-JSON at AWS’s own paths — POST /applications, POST /applications/{ApplicationId}/environments, and so on. There is no X-Amz-Target namespace
Hosted versionsThe configuration travels as the HTTP payload, with the metadata on request and response headers — see below
Tagging/tags/{ResourceArn}, dispatched on the ARN, so an arn:aws:appconfig:… ARN reaches AppConfig’s own tag store
Paginationmax_results and next_token query parameters, answering { "Items": [...], "NextToken": "..." }

How a hosted version is carried

CreateHostedConfigurationVersion requires a Content-Type, and takes Description and VersionLabel as request headers. The response echoes Application-Id, Configuration-Profile-Id, Version-Number, Description, Content-Type and VersionLabel, as AWS binds them. Latest-Version-Number gives optimistic concurrency, answering 409 on a mismatch.

Differences from AWS

AreaOn AWSOvercast
Region scopingRegion-scopedResources are not region-scoped — an application created in one region is visible in another
Deployments and deployment strategiesPercentage-based rollout over timeNot modelled. A hosted version is readable through AppConfigData as soon as it is created — nothing has to be deployed first
Updating an environment or a profileSupportedOnly UpdateApplication exists; the other update operations answer 501
Hosted version sizeSame capCapped at 1 MB, answering PayloadTooLargeException
Other operations AWS modelsImplementedA JSON 501 Not Implemented

Gotchas

Important

/applications is shared with Service Catalog AppRegistry, which models the same tree. Overcast picks the service from the SigV4 credential scope, so an AppConfig call must be signed as appconfig. An unsigned caller, or one whose scope cannot be parsed, reaches AppRegistry; a scope that mismatches gets 403 InvalidSignatureException. Every AWS SDK and the CLI sign correctly.

Operations

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