The Build runtime is the environment Apps are built in.
| Buildpack Builds | Docker Builds | |
|---|---|---|
| System libraries | Provided by the Stack | User supplied |
| Network access | Full access through Envoy sidecar | Full access through Envoy sidecar |
| File system | No storage | No storage |
| Language runtime | Provided by the Stack | User supplied |
| User | Specified by the Stack | User supplied |
| Isolation mechanism | Kubernetes Pod | Kubernetes Pod |
| DNS | Provided by Kubernetes | Provided by Kubernetes |
Environment variables
Environment variables are injected into the Build at runtime. Variables are added based on the following order, where later values override earlier ones with the same name:
- Space (set by administrators)
- App (set by developers)
- System (set by Kf)
Kf provides the following system environment variables to Builds:
| Variable | Purpose |
|---|---|
CF_INSTANCE_ADDR |
The cluster-visible IP:PORT of the Build. |
INSTANCE_GUID |
Alias of CF_INSTANCE_GUID. |
CF_INSTANCE_IP |
The cluster-visible IP of the Build. |
CF_INSTANCE_INTERNAL_IP |
Alias of CF_INSTANCE_IP |
VCAP_APP_HOST |
Alias of CF_INSTANCE_IP |
CF_INSTANCE_PORT |
The cluster-visible port of the Build. |
LANG |
Required by Buildpacks to ensure consistent script load order. |
MEMORY_LIMIT |
The maximum amount of memory in MB the Build can consume. |
VCAP_APPLICATION |
A JSON structure containing App metadata. |
VCAP_SERVICES |
A JSON structure specifying bound services. |