-
Notifications
You must be signed in to change notification settings - Fork 38
Kite 2.0
Louis edited this page Jan 17, 2018
·
6 revisions
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.
Differences in changes are:
-
config/cloud.yml
is now similar to Railsconfig/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)
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 avars.*module*.yml
which the user would fill in afterwards -
kite module render *name*
to parse all the modules and their vars, rendering files afterwards