Dependency Configuration Examples

Starter snippets you can paste into a Component's Helm values to give your
application a database password or a secret from AWS Systems Manager Parameter
Store. Each example is a working minimum, not a full reference — for what every
field means and for the other dependency engines, see
Application Dependencies.

All dependency configuration goes under the dependency key in the Component's
Helm values, in SVIEW. You do not put the secret value itself anywhere in the
configuration — only a pointer to where the platform should read it from.

Inject a database password

Use this when the database is a Component already provisioned on the platform.
The platform reads the credential from the database's own generated secret and
sets it as an environment variable in your pod.

dependency:
  db:
    type: rds-postgres
    keys:
      - secretKey: password
        envKey: POSTGRESDB_PASSWORD
        instance: db
  • type — the database type, for example rds-postgres or rds-mysql.
  • secretKey — which credential to read. Common values are username,
    password and hostname.
  • envKey — the environment variable name your application reads.
  • instance — which database instance to read from, when the Service has more
    than one.

To inject the username and hostname as well, add one entry per credential under
keys. See
Attach to Your Application
for the full attachment workflow.

Inject a value from Parameter Store

Use this when you want to keep a variable or secret in AWS Systems Manager
Parameter Store
and have it appear in the pod as an environment variable.

dependency:
  ssm:
    json: "false"
    keys:
      - name: SOME_KEY
        ssmKeys:
          - SOME_KEY
        json: "false"
  • name — the environment variable name your application reads.
  • ssmKeys — the parameter to fetch from Parameter Store.
  • json — set to "true" when one parameter holds a JSON object and you want
    to pull individual keys out of it, "false" when each key is its own
    parameter.

Where the parameter has to live

The platform looks for the parameter under a path derived from your
application's stage, environment, namespace and instance:

/<stage>/<tenant>/<namespace>/application-secrets-<instance>

If you have not created the parameter yet, create it through Secrets Manager
in SVIEW rather than by hand — it places the value at the right path and can
generate this configuration for you. See
Secrets Manager.

Verify it worked

  1. Save the Component and wait for the deployment to finish in SVIEW.
  2. Open the Logs tab for the application and confirm it started without a
    missing-variable or authentication error.

If the pod fails to start, the usual cause is that the parameter does not exist
at the expected path, or the name in envKey does not match what the
application actually reads.

Related articles

Still stuck? Raise a request and include the Component name, the environment,
and the error from the Logs tab.


Did this page help you?