Kf uses a Kubernetes configmap named config-defaults
in the kf
namespace to store cluster wide configuration settings. This document explains its structure and fields.
Structure of the config-defaults configmap
The configmap contains three types of key/value pairs in the .data
field:
- Comment keys prefixed by
_
contain examples, notes, and warnings. - String keys contain plain text values.
- Object keys contain a JSON or YAML value that has been encoded as a string.
Example:
_note: "This is some note" stringKey: "This is a string key that's not encoded as JSON or YAML." objectKey: | - "These keys contain nested YAML or JSON." - true - 123.45
Example section
The example section under the _example
key contains explanations for other fields and examples. Changes to this section have no effect.
Space container registry
The spaceContainerRegistry
property is a plain text value that specifies the default container registry each space uses to store built images.
Example:
spaceContainerRegistry: gcr.io/my-project
Space cluster domains
The spaceClusterDomains
property is a string encoded YAML array of domain objects.
Each space in the cluster adds all items in the array to its list of domains that developers can bind their apps to.
Fields | |
---|---|
domain |
The domain name to make available. May contain one of the following substitutions:
|
gatewayName |
(Optional) Overrides the Istio gateway routes will be bound to. Defaults to |
Example:
spaceClusterDomains: | # Support canonical and vanity domains - domain: $(SPACE_NAME).prod.example.com - domain: $(SPACE_NAME).kf.us-east1.prod.example.com # Using a dynamic DNS resolver - domain: $(SPACE_NAME).$(CLUSTER_INGRESS_IP).nip.io # Creating an internal domain only visible within the cluster - domain: $(SPACE_NAME)-apps.internal gatewayName: kf/internal-gateway
Buildpacks V2 lifecycle builder
The buildpacksV2LifecycleBuilder
property contains the version of the Cloud Foundry builder
binary used execute buildpack v2 builds.
The value is a Git reference. To use a specific version, append an @
symbol followed by a Git SHA to the end.
Example:
buildpacksV2LifecycleBuilder: "code.cloudfoundry.org/buildpackapplifecycle/builder@GIT_SHA"
Buildpacks V2 lifecycle launcher
The buildpacksV2LifecycleLauncher
property contains the version of the Cloud Foundry launcher
binary built into every buildpack V2 application.
The value is a Git reference. To use a specific version, append an @
symbol followed by a Git SHA to the end.
Example:
buildpacksV2LifecycleLauncher: "code.cloudfoundry.org/buildpackapplifecycle/launcher@GIT_SHA"
Buildpacks V2 list
The spaceBuildpacksV2
property is a string encoded YAML array that holds an ordered list of default buildpacks that are used to build applications compatible with the V2 buildpacks process.
Fields | |
---|---|
name |
A short name developers can use to reference the buildpack by in their application manifests. |
url |
The URL used to fetch the buildpack. |
disabled |
Used to prevent this buildpack from executing. |
Stacks V2 list
The spaceBuildpacksV2
property is a string encoded YAML array that holds an ordered list of stacks that can be used with Cloud Foundry compatible builds.
Fields | |
---|---|
name |
A short name developers can use to reference the stack by in their application manifests. |
image |
URL of the container image to use as the stack. For more information, see https://kubernetes.io/docs/concepts/containers/images. |
Stacks V3 list
The spaceStacksV3
property is a string encoded YAML array that holds an ordered list of stacks that can be used with Cloud Native Buildpack builds.
Fields | |
---|---|
name |
A short name developers can use to reference the stack by in their application manifests. |
description |
A short description of the stack shown when running |
buildImage |
URL of the container image to use as the builder. For more information, see https://kubernetes.io/docs/concepts/containers/images. |
runImage |
URL of the container image to use as the base for all apps built with . For more information, see https://kubernetes.io/docs/concepts/containers/images. |
nodeSelector |
(Optional) A NodeSelector used to indicate which nodes applications built with this stack can run on. |
Example:
spaceStacksV3: | - name: heroku-18 description: The official Heroku stack based on Ubuntu 18.04 buildImage: heroku/pack:18-build runImage: heroku/pack:18 nodeSelector: kubernetes.io/os: windows
Default to V3 Stack
The spaceDefaultToV3Stack
property contains a quoted value true
or false
indicating whether spaces should use V3 stacks if a user doesn't specify one.
Feature flags
The featureFlags
property contains a string encoded YAML map of feature flags that can enable and disable features of Kf.
Flag names that aren't supported by Kf will be ignored.
Flag Name | Default | Purpose |
---|---|---|
disable_custom_builds | false | Disable developer access to arbitrary Tekton build pipelines. |
enable_dockerfile_builds | true | Allow developers to build source code from dockerfiles. |
enable_custom_buildpacks | true | Allow developers to specify external buildpacks in their applications. |
enable_custom_stacks | true | Allow developers to specify custom stacks in their applications. |
Example:
featureFlags: | disable_custom_builds: false enable_dockerfile_builds: true enable_some_feature: true