Skip to content
This repository has been archived by the owner on Oct 22, 2021. It is now read-only.

Support for BOSH deployment manifests V2

Vlad Iovanov edited this page Oct 17, 2018 · 4 revisions

This proposal describes changes we have to make in order for fissile releases to support more complex settings and to advance the project towards this proposal.

Initial support will cover property definitions. i.e. the implementation will only be interested in the instance_groups[].jobs[].properties and properties keys in the deployment manifest. See here for more information.

Configgin changes (implemented)

Configgin needs to have a new flag (--bosh-deployment-manifest, -b) that allows the caller to specify a path to a bosh deployment manifest. When rendering, configgin will load the deployment manifest and use the properties defined there. Priorities:

  • bosh deployment manifest
  • environment (via env2conf.yml)
  • defaults (via job_config.json)

Helm chart changes (in progress)

Fissile will assume that a deployment manifest can be set in values.yaml, with the bosh key.

e.g.

env:
  DOMAIN: foo.com

bosh:
  properties:
    some_property: bar

Fissile will generate a helm chart template for a secret that contains this key's value.

Pod spec changes (in progress)

Pod specs will mount the deployment-manifest secret to /opt/fissile/deployment-manifest.yml (without the top bosh key). The pod's entrypoint (run.sh) will pass this file as an argument to configgin using the --bosh-deployment-manifest flag.