blossom help:data
Explain structured data input
Usage
blossom help:data
Blossom data input
Resource commands use one structured input model:
blossom app:create --data app.yml
blossom app:create -d '{"app":{"name":"demo"}}'
--data accepts inline YAML/JSON, a local file path, or an HTTP(S) URL.
Local files and inline input support variable substitution:
$VAR
${VAR}
For example:
api_token: $HETZNER_API_TOKEN
api_token: ${HETZNER_API_TOKEN}
Use ${VAR} when the variable touches other letters, numbers, or underscores:
name: app${SUFFIX}
Bare $VAR is only expanded at a natural boundary, so values like app$SUFFIX
or BCrypt hashes remain literal.
Escape a dollar sign as $$ when the value must keep a variable for the
deployed runtime instead of reading the local CLI environment:
command: bundle exec rackup --port $$PORT
Blossom sends that command as bundle exec rackup --port $PORT.
Values load in this order:
1. .env in the current working directory
2. BLOSSOM_VARS_FILE, if set
3. the process environment
Later sources win. Exported environment variables override BLOSSOM_VARS_FILE and .env values.
HTTP(S) URL input is left literal so shared remote examples stay deterministic.
There is no –vars-file flag. Use BLOSSOM_VARS_FILE when a specific variables file is needed:
export BLOSSOM_VARS_FILE=/path/to/vars.env
Variable files use simple KEY=value lines. Blank lines and # comments are ignored. Blossom does not evaluate shell expressions, command substitution, defaults, conditionals, loops, includes, or templates.