Resource Property Vocabulary

Each resource type exposes well-known properties for use in set_env expressions:

Resource Properties
postgres url, host, port, user, password, name
mysql url, host, port, user, password, name
sqlite url, path
mongodb url, host, port, user, password, name
redis url, host, port, password
memcache url, host, port
rabbitmq url, host, port, user, password
elasticsearch url, host, port
minio url, host, port, access_key, secret_key, bucket
clickhouse url, host, port, user, password, name
kafka url, host, port
s3 url, access_key, secret_key, bucket, region
https-origin url
certificate cert_file, key_file

Not every type registers url: certificate registers two app-filesystem paths and no address at all. Where a type does register it, the url property is the fully-formed address of the resource — a connection string for a backing service (e.g. postgresql://user:pass@host:5432/dbname), and the public origin for https-origin (e.g. https://vault.example.com, the same value as $app.url). Where a type registers more than one property, the others provide individual components for apps that require them separately.

key_file — and every *_key / *_key_file property name, in any type's vocabulary or outside one — is credential-bearing: a provider registers its value with its redactor before generating anything, exactly as it does for password, secret_key and access_key (D-56 rule 5). Membership of a type's vocabulary never turns that off.

This vocabulary is also published in machine-readable form as schema/resource-properties.json, which adds a one-line semantic per property and is what tooling reads for advisory typo warnings (see DESIGN.md D-46).

The table above is the portable vocabulary: every provider that supports a listed type must expose those properties under those names. It is authoritative but not closed — a provider MAY expose additional properties for a listed type as a platform-specific extension, mirroring the $app.* rule above. Portable Launchfiles should use only the standard set. A reference outside the standard set is therefore not invalid: tooling reports it as an advisory warning, never a validation error, because it may be either a typo or a deliberate provider extension. Unknown properties resolve to empty string.

Resource types are extensible -- any string is accepted. Unknown types have no predefined property vocabulary; their properties are platform-defined, and no warning is reported for them.

esc
Type to search the docs