epam / cloud-pipeline

Cloud agnostic genomics analysis, scientific computation and storage platform
https://cloud-pipeline.com
Apache License 2.0
144 stars 58 forks source link

Implement way to persist current setup of the system and deploy a new environmet out of saved configuration #3588

Open SilinPavel opened 5 days ago

SilinPavel commented 5 days ago

Background Sometimes its can be very beneficial to be able to persist setup and all internal configuration (Application version, cp-global-config map, API system preferences, docker images) from existing environment. Later on this saved configuration can be used to deploy (or re-deploy) identical environment.

Approach

New pipectl command scrap

We can expand pipectl and add new command scrap which will collect the next information about the environment:

Possibility to provide directory with existing env configuration to pipectl install command

Currently we can install Cloud-Pipeline with pipectl install by providing all necessary information as a parameters for the pipectl install like -s or -env. We also can update install command to accept additional parameter -es|--environment-state. with this parameter we can provide pipectl with path to the directory with environment configuration state from the command scrap. Pipectl than will prepare the full install command and execute: