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:
Application version (filename: app-version.json). Basically, response of the GET /app/info:
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:
install Cloud-Pipeline with correct -s options based on cp-services.json
Take all -env from cp-config-global.properties
Configure to pull dockers from docker-manifest.txt
Update system preferences from system-preferences.json
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 commandscrap
which will collect the next information about the environment:/app/info
:System Preferences (filename: system-preferences.json). Response of the GET
/preferences
cp-config-global
configMap content in the format of env file (filename: cp-config-global.properties):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 thepipectl install
like-s
or-env
. We also can updateinstall
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 commandscrap
. Pipectl than will prepare the full install command and execute:-s
options based oncp-services.json
-env
from cp-config-global.propertiesdocker-manifest.txt
system-preferences.json