Managing variables and secrets¶
Variables and Secrets have many uses. They allow the user to provide dynamic assets during deploy and provide means to change the way stage definitions behave. A stage definition can change a variable and another stage definition can use it.
During provisioning a number of built-in variables are also exposed.
Referencing variables¶
The variables and secrets are referenced by name in various places including in assets such as {{MY_VAR_NAME}}
. Variables are read-write and they can be altered at any time.
Referencing secrets¶
Secrets are identical to variables except they are write only. They can be replaced at any time but they cannot be retrieved and are encrypted.
Creating a variable from console input¶
This will ask the user for the variable content to be inputed on the command line.
metalcloud-cli variable create --name test2
Variable content:
Creating a variable using a pipe¶
This will create a variable using the echo’s output as content:
echo "https://172.17.108.75/" | metalcloud-cli variable create --name vcenter --pipe
Creating a secret from user input¶
The following will read the content from console but it will mask the user’s input. No output will be shown but the content will be read.
metalcloud-cli secret create --name test3
Secret content:
Creating a secret from pipe¶
echo "Basic YWRtaW5pc3RyYXRvckB2c3BoZXJlLmxvY2FsOkRlbGxSMGNrcyE=" | metalcloud-cli secret create --name vcenter_creds --pipe