Notes: -------- 1) Cloud Foundry app used for verification $ cat cf-nodejs-app.yaml name: cf-nodejs lifecycle: cnb buildpacks: - docker://my-registry-a.corp/nodejs - docker://my-registry-b.corp/dynatrace memory: 512M instances: 1 random-route: true 2) I have attached the Helm chart used for k8s manifest generation Reproducer: ------------ R1) Discover the above Cloud Foundry app ./kantra discover cloud-foundry --input=./cf-nodejs-app.yaml --output-dir=./discovery/ $cat ./discovery/discover_manifest_cf-nodejs.yaml name: cf-nodejs randomRoute: true timeout: 60 buildPacks: - docker://my-registry-a.corp/nodejs - docker://my-registry-b.corp/dynatrace memory: 512M instances: 1 lifecycle: cnb R2) Remove key/value pair(s) in the discovered manifest file and define the removed value/key pair in the values.yaml file in the Helm template used for k8s manifest generation $ cp ./discovery/discover_manifest_cf-nodejs.yaml ./discovery/modified_discovered_manifest.yaml $ cat ./discovery/modified_discovered_manifest.yaml (Removed timeout and instances keys) name: cf-nodejs randomRoute: true buildPacks: - docker://my-registry-a.corp/nodejs - docker://my-registry-b.corp/dynatrace memory: 512M lifecycle: cnb $ cat helm_sample/values.yaml data: timeout: "120" instances: "2" R3) Generate k8s manifest ./kantra generate helm --chart-dir=/home/nachandr/mta73_cli/helm_sample --input ./discovery/modified_discovered_manifest.yaml --- # Source: helm_sample/templates/configmap.yaml apiVersion: v1 kind: ConfigMap metadata: name: cf-nodejs-config data: RANDOM_ROUTE: true TIMEOUT: "120" BUILD_PACKS: | - docker://my-registry-a.corp/nodejs - docker://my-registry-b.corp/dynatrace INSTANCES: "2" --- # Source: helm_sample/files/konveyor/Dockerfile FROM busybox:latest RUN echo "Hello cf-nodejs!" --------------------------------------------------------- After fix, The missing key/value pairs from the discovered manifest got picked from the values.yaml file in the Helm chart.