This example builds on our earlier Python/Flask example. This extension will add a ConfigMap that uses both environment variables and structured files, as well as code updates to consume and use those values.
To start, add a ConfigMap with both top-level values and a deeper configuration. The top values will be exposed as environment variables, and the multiline YAML will be exposed as a file inside the container:
# CONFIGURATION FOR THE FLASK APP kind: ConfigMap apiVersion: v1 metadata: name: flask-config data: CONFIG_FILE: “/etc/flask-config/feature.flags“ feature.flags: | [features] greeting=hello debug=true
This ConfigMap is mapped with updates to the Pod specification of the deployment with the envFrom
key and as a volume to provide the file mapping:
spec: containers: - name: flask image: quay.io/kubernetes-for-developers/flask:latest ports: - containerPort: 5000 envFrom: ...