This document is intended for cf-for-k8s maintainers.
config/includes all necessary configuration for CF
<component>/*.ymlcf-for-k8s specific configuration of component
<component>/_ytt_lib/unmodified configuration fetched from components' repos (controlled via
values/00-values.ymlspecifies all possible data values used
*.ymlconfiguration that glue components together
build/includes building instructions for components that do not provide plain YAML or ytt templates
<component>/build.shin each sub-directory has specific build instructions
build.shscripts take no arguments and can be run from any directory
kbld, which verifies that every image reference includes its digest
<component>/_vendircontains the unmodified configuration fetched from the component’s repo (controlled via
<component>/directory contains a
valuesfile used to configure
helm; sometimes it’s called
values.yml, but the name is always used explicitly in
helmto generate yaml manifests except
istio, which is using its own
istioctl manifest generatecommand
Image references are expected to use an image SHA digest. If using kbld to build images as suggested in the component development flow, the image reference should include the digest by default.
Suppose we want to update
eirini from version
First update the tag field in
path: build/eirini/_vendir. It should currently be set to whatever the value of
A is; change this to
B and save the file.
vendir sync. This should update the contents of the
_vendir subdirectory of
Review local changes by running
git diff _vendir/eirini/
Change back to the main directory (
kapp deploy the new version of eirini, and if everything’s good you can commit the local changes.
The pipeline code in
ci/tasks/bump-core-component/task.sh does the above generically:
It sets the tag to either the explicit release tag (e.g.
v1.9.0) or a git commit SHA
It updates the tag field in
build.sh if it exists
It finally does a
git commit to bump the new version
kubectl get pod -A -o custom-columns='NAME:metadata.name,INITCONS:spec.initContainers[*].image,CONS:spec.containers[*].image'