Skip to content

Kite 2.0

Louis edited this page Jan 17, 2018 · 6 revisions

Specifications

Kite 2.0 introduces new project structure, allowing to use multiple environments(production GCP, development AWS, stage Azure) with modular structure inside of a single repo.

New changes

Differences in changes are:

  • config/cloud.yml is now similar to Rails config/database.yml, it only contains credentials for each environment
  • environments(e.g. production, development, stage etc.) are separate workspaces which contain their own modules, credentials and variables. Environments are stored in config/environments/*environment_name*
  • Most of the code from tpl/ is moved into separate kite modules(similar to Terraform ones)

Kite module

Modules are stored in separate repositories like terraform-google-bosh.

Module structure:

  • manifest.yml

A file containing general info about the module and all the variables needed for it to work

  • main.tf and other Terraform files

  • directories used by the module

For example, all the manifests used by a BOSH deployment should be placed into the templates/ directory, scripts should be in bin/ etc.

Module installation flow is:

  • kite module init *name* to clone the module over git and create a vars.*module*.yml which the user would fill in afterwards
  • kite module render *name* to parse all the modules and their vars, rendering files afterwards
Clone this wiki locally