Skip to content

SergeyHudinskiy/platform-automation-reference

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

89 Commits
 
 
 
 
 
 
 
 

Repository files navigation

platform-automation-example

Example Repository for using platform-automation

The structure of this repository allows for multiple environments to be represented in a single repository

environments

folder holds the configuration for a given deployment where there is a subfolder for a given iaas and environment name. IaaS folder would likely be optional

Configuration

Within each iaas/foundation name folder there would be multiple folders

  • defaults - this folder contains the default values for a given tile. This is generated by om config-template Promotable

  • templates - this folder contains the resulting interpolated template based on operations files that have been applied to the output of om config-template. This is created by scripts/generate-config.sh Promotable

  • vars - this folder contains environment specific variables per product that is being deployed. Not Promotable

  • secrets - this folder contains the templates that can be interpolated using credhub interpolate to be used as secrets inputs to other tasks Promotable

  • versions - this folder contains both the product version and stemcell version per product. Promotable

State

Used to store opsmanager state.yml file leveraged by create-vm task. State folder inside environment directory

Proposed Tasks

  • apply-product-changes - task to allow specifying selective deploy for a single product

  • download-create-opsman this task is an aggregate that will try to short-circuit and not download opsmanager if state file has content otherwise with download opsmanager via om download-product and create it via p-automator create-vm

  • download-upgrade-opsman this task is an aggregate that will short-circuit and not download opsmanager if the version installed is the version expected. This optimization only works in 2.5.x due to how opsmanager versioning worked prior to 2.5.x. If version mismatches it will download product via om download-product and update vm via p-automator upgrade-opsman

  • download-stage-tile-stemcell this task is an aggregrate that will only download the tile if that version is not already staged. It will also only download the expected stemcell if that version hasn't already been uploaded. Otherwise it will download both tile and stemcell using om download-product, upload tile and stemcell, stage tile and assign the specified stemcell version to the tile (always regardless of download)

  • make-commit - this task avoids committing state.yml using porcelain option, PR has been accepted so this task will be replace with platform-automation task once it's shipped

  • run-errand - this task will run an errand via bosh cli

About

Example Repository for using platform-automation

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Shell 100.0%