This is a code snippet that reads an "app.yaml" file on stdin; then it:
- seek for
env_variables
entry in the file - for each
key: value
pair, it looks for an environment variables namedvalue
- if it exists, it substitute the
value
with value found in the environment.
cat app.yaml
runtime: nodejs12
service: default
handlers:
- url: /fonts
static_dir: build/fonts
- url: /img
static_dir: build/img
- url: /static/js/(.*)
static_files: build/static/js/\1
upload: build/static/js/(.*)
- url: /static/css/(.*)
static_files: build/static/css/\1
upload: build/static/css/(.*)
- url: /static/media/(.*)
static_files: build/static/media/\1
upload: build/static/media/(.*)
- url: /(.*\.(json|ico|svg|png))$
static_files: build/\1
upload: build/.*\.(json|ico|svg|png)$
- url: /manifest.webmanifest
static_files: build/manifest.webmanifest
upload: build/manifest.webmanifest
- url: /
static_files: build/index.html
upload: build/index.html
- url: /.*
static_files: build/index.html
upload: build/index.html
env_variables:
TERM: TERM
BLABLA: BLABLA
TOTO: TITI
export BLABLA=coucou
cat app.yaml | go run .
2022/01/03 17:41:47 variable TITI not found
runtime: nodejs12
service: default
handlers:
- url: /fonts
static_dir: build/fonts
- url: /img
static_dir: build/img
- url: /static/js/(.*)
static_files: build/static/js/\1
upload: build/static/js/(.*)
- url: /static/css/(.*)
static_files: build/static/css/\1
upload: build/static/css/(.*)
- url: /static/media/(.*)
static_files: build/static/media/\1
upload: build/static/media/(.*)
- url: /(.*\.(json|ico|svg|png))$
static_files: build/\1
upload: build/.*\.(json|ico|svg|png)$
- url: /manifest.webmanifest
static_files: build/manifest.webmanifest
upload: build/manifest.webmanifest
- url: /
static_files: build/index.html
upload: build/index.html
- url: /.*
static_files: build/index.html
upload: build/index.html
env_variables:
TERM: xterm-256color
BLABLA: coucou
TOTO: ""