Skip to main content
A configuration file is the durable description of one Cloud Adapter installation. It records the cloud direction, shared target coordinates, deployment settings and the exceptional service configuration that must exist before startup. It is deliberately compact. You do not need to list every origin service or repeat every compatible origin-to-backend mapping from the service catalog.

The compact configuration model

For an AWS-origin installation in Google Cloud, the core file is:
This file means:
  • expose AWS APIs that have a compatible Google Cloud backend in the service catalog;
  • use acme-adapters-prod and us-central1 as shared target coordinates;
  • select the only compatible backend automatically when one exists;
  • let an origin resource-creation request select among multiple compatible backends where the public directed profile provides a selector;
  • keep svcs empty unless a service needs an actual override or a pre-provisioned dependency.
It does not mean that all AWS APIs are supported, that all operations in an exposed API are supported, or that credentials live in this file.

Field reference

Use the fields documented for the installed release. Do not copy an internal or older configuration shape that declares every service-to-backend pair. Current origin-and-target configuration derives normal mappings from the catalog.

When svcs should be empty

Leave svcs empty when all of the following are true:
  • the installation’s origin and target identify the required direction;
  • the catalog provides a compatible backend for the origin service;
  • the backend does not require a service-specific resource or secret to exist before startup;
  • resource-level backend selection, if needed, is carried by the origin create request;
  • installation-wide target coordinates are sufficient.
S3 to Google Cloud Storage is the canonical example. The installation selects AWS and Google Cloud, and the runtime identity supplies access to Cloud Storage. There is no value in an empty S3 row that merely repeats the catalog edge.

When to add a service entry

Add a sparse service entry when the adapter cannot become ready from the installation settings alone. The common case is pre-provisioned state. For example, an SQS implementation backed by Cloud SQL needs a PostgreSQL database and a secret-backed connection binding before it can serve queue operations. Its service entry records only the exceptional inputs. It does not turn svcs back into a list of enabled APIs. A service entry should answer:
  1. Which origin service needs additional configuration?
  2. Which resource was provisioned for it, and who owns that resource?
  3. Which non-secret coordinates can be stored directly?
  4. Which secret keys must be resolved at runtime?
  5. What health check proves the dependency is usable?
  6. What happens to the service and its data when that dependency changes?
If an entry cannot answer one of those questions, it is probably incomplete.

S3 to Google Cloud Storage file

Use the compact cloud-direction file for the normal S3 to Cloud Storage case:
Keep the surrounding deployment record with it: Read S3 on Google Cloud before approving the file. The configuration selects the direction; the service profile defines the behavior available in that direction.

DynamoDB to Azure file and resource configuration

An AWS-origin installation in Azure starts with installation-wide target coordinates:
Do not add a service row merely to choose a resource-level backend or capacity. The file selects the deployment context; supported resource directives select and size an individual resource. Read their exact names, values, and verification steps in the public directed profile, then confirm entitlement before running the adapter.

Keep environment files independent

Use a complete file per installation rather than a production file assembled from a long chain of implicit overlays.
The files may share a generated source, but each reviewed artifact should make its effective origin, target and coordinates obvious. A reviewer should not need shell state or an undocumented merge order to determine where an installation sends data. Good differences between environments include project or subscription, region, resource names, capacity choices and secret reference names. Avoid changing the basic service semantics between staging and production unless that difference is intentional and tested.

Keep secrets out of the file

Store references, not values. Never put any of the following in the configuration repository:
  • PostgreSQL connection strings;
  • cloud access keys or service-account JSON;
  • client secrets, bearer tokens or signed URLs;
  • private keys or certificate key material;
  • captured authorization headers.
For a pre-provisioned service, the file should identify the secret entry that the deployment resolves. The runtime receives the resolved value through the deployment’s protected secret channel. A redacted review should still show which service consumes which secret and why.
A value named POSTGRES_DSN in a literal configuration map is still a secret, even if the file format accepts strings. Put it in the supported secret-reference map. Renaming a secret does not make it safe to commit.

Review a file before applying it

1

Confirm the cloud direction

Check origin, target and target coordinates against the intended environment. A wrong project or subscription can produce a valid deployment in the wrong place.
2

Compare the workload with the catalog

List the origin services and operations the application uses. Open each service profile for the selected target and record unsupported or conditional behavior.
3

Remove redundant service rows

For every svcs entry, identify the prerequisite or override it carries. Remove entries that only repeat an automatically derived catalog mapping.
4

Review pre-provisioned dependencies

Confirm ownership, region, network reachability, identity, backup, recovery, capacity and secret references for every database or coordination store needed before startup.
5

Inspect the identity boundary

Separate the origin-facing caller identity, target runtime identity and native verification identity. Review least-privilege permissions for each.
6

Diff against the installed configuration

Review the effective file, not only the edited fragment. Highlight changes to cloud coordinates, service prerequisites, secret references and persistent data paths.
7

Validate before effects

Run the installed release’s configuration validation and inspect the proposed resources and warnings. A parse success is not a deployment approval.

Preserve three artifacts

Keep these records for each installation:
  1. Desired configuration: the reviewed input you intended to apply.
  2. Applied configuration: the exact validated configuration accepted by the deployment workflow.
  3. Deployment receipt: the version, resource changes, outcome and endpoint produced by the operation.
They answer different questions. A desired file explains intent. The applied file explains what the runtime accepted. The receipt explains what the operation actually changed.

Configure the client after the endpoint is ready

The installation file does not automatically redirect an application. After health checks pass, configure only the native client that should use the adapter. Process-wide S3 route:
Single Python client:
Keep a rollback that restores the previous endpoint. Do not move production traffic until a bounded request has succeeded through the origin API and been verified through the target’s native API.

Common mistakes

Continue to guided configuration to produce the same file interactively, or use the worked examples to test the resulting route.