Skip to main content

Environment

Documentation for the slv env command.

Aliases: env, envs, environment, environments

Commands:


Create a new Environment

Used to create a new environment from scratch.

General Usage:

slv env new [command] [flags]
slv env new [flags]

Flags:

FlagArgumentsRequiredDefaultDescription
--quantum-safeNoneNANAUse Quantum Resistant Cryptography (Kyber1024)
--helpNoneNANAHelp text for slv env new

Commands Available:

Create a new self environment

Used to create a new self environment for end devices such as users' laptops.

General Usage:

slv env new self [flags]

Flags:

FlagArgumentsRequiredDefaultDescription
--emailStringTrueNoneEmail Address for the environment being created
--nameStringTrueNoneName of the environment to be created
--tagsString(s)FalseNoneTags to be set for the environment
--addNoneFalseNAAdd the created environment to the current profile
--helpNoneNANAHelp text for slv env new self

Usage:

# For quantum safe environment
slv env new -q self --email <EMAIL_ADDRESS> --name <ENVIRONMENT_NAME> --add --tags <TAGS>

# For a regular environment
slv env new self --email <EMAIL_ADDRESS> --name <ENVIRONMENT_NAME> --add --tags <TAGS>

Example:

$ slv env new self --email alice@example.com --name alice --add --tags example_env
Enter a Password:
Confirm Password:
Public Key: SLV_EPK_AEAUKAAAABUEMSPQ4BJIIWMSAKFUUXUV4THOP3ERH25CY4HR54W25HUJQR6XK
Name: alice
Email: alice@example.com
Tags: [example_env]
Secret Binding: SLV_ESB_AF4JYBGA2FXKUMAYADQHP6LPPMJM6JQDILREKS3KIHUQJWRZZKO5FQKCM4FHIRGR7DXPWHRQIACMHSNZVOOTJ7EDBGRAOODHEABHYIYY5O4Q23WD7TOZWSKIF66XVPZPLNXNTHJVNLVG3DH4N3237LZ7QMOJLGKSHHS6F7JQKOWCW3QLCYXLDYBBZFJ5ZRGVCEXXZVZYLR2ER33X3JLNJNHYICODVMPQ5VREN5GDSLSDLENJ6PUMFXKHZ5EHGOIGIT4TEW6LOYW6XMYR452BRPZSKKXLM5ZT7KHAVL64LPKNK45R3HAPH6IXAAAP772O3VBWC
------------------------------------------------------------
Env Definition: SLV_EDS_AF4JYNGKIFF4GMAYQ7Y674R7A4HTH5MQSOUUJMWFNHLDJW2EUTCPQMQCJEOJWKYW6G5UWQMPB7H66G7W6KLFGNBUIHAD23AHMXGSBFPUIZFCSW5P23HG46F3LIXHO2ZHZW67O6574W6X5MWXVLJYXZXOTHV25YN3IWR722WT3XWA2GA6IMQQRBE4EKAUDFMQ6J757USXFDDUYV7RUPGK7DX5OSOPLZKME4YPJYLQQZ4MCHY3VCHHQZLQCRH7JWNG7KPOUAIC7D4Q2AAA77745LZ2FQ
Successfully registered as self environment
Please note down the "Secret Binding" somewhere safe so that you don't lose it.
It is required to access your registered environment.

Create a new service environment

Used to create a new service environment for production kubernetes clusters, Github Actions, CI Pipelines.

General Usage:

slv env new service [command] 
slv env new service [flags]

Flags:

FlagArgumentsRequiredDefaultDescription
--emailStringTrueNoneEmail Address for the environment being created
--nameStringTrueNoneName of the environment to be created
--tagsString(s)FalseNoneTags to be set for the environment
--addNoneFalseNAAdd the created environment to the current profile
--helpNoneNANAHelp text for slv env new service

Commands available:

3 types Environemts can be created

Creating regular service environments

Usage:
slv env new service --email <EMAIL_ADDRESS> --name <ENVIRONMENT_NAME> --tags <TAGS>
Example:
$ slv env new service --email service@example.com --name example_service --tags example --add
Public Key: SLV_EPK_AEAUKAAAADM5IPIORWJ24OYHX4JSJ7R6BRMO25EHHGERKFJ33EBK4FWVU4HBY
Name: example_service
Email: service@example.com
Tags: [example]
------------------------------------------------------------
Env Definition: SLV_EDS_AF4JYRGM35FMGMA4YXYXOOOXYGFS2U6ISUEWMZUJWMS52H4HJCE7DRYIGS23IWRM4K5YWUGZ5X4RZPW7FA7V7GYUDVGRBKA6B22S4XJNWXODWKNFXTN24NXFU3YEPO7AYXETY4K33ENX7LP4WZMKZNBR67NLXNK5F22XE7D5HTWLSUJHGA6IMTAQUCXZBO4G5KA7UMKFAKB44IJVCCMJPW7ZOEK57447W3RW52XI4JQNRBPTADY7ZX6CBNBULMNHB6K5VN6UTYQYBH67AAAAB777TR3T5CA

Secret Key: SLV_ESK_AEAEKAAA44QDOTDOAV5B5TZCVWYYVPMM6RGG65RQHEZMJHL4ZMVQJ3TZTV7772ZHKXLXOV5L4G2Y6NKRY4AYMXUBBXQRFGP5BSGGJVAJFIHRROI

The secret key is to be stored safely. SLV does not store the secret key anywhere. Since this method deals with the secret key directly, it is not recommended to create regular service environments.

Creating GCP KMS based service environments

General Usage:
slv env new service gcp [flags]
Flags:
FlagArgumentsRequiredDefaultDescription
--resource-nameStringTrueNoneGCP KMS resource name
--rsa-pubkeyStringTrueNoneKMS public key [RSA 4096] as pem file (Recommended to perform offline access binding)
--emailStringTrueNoneEmail Address for the environment being created
--nameStringTrueNoneName of the environment to be created
--tagsString(s)FalseNoneTags to be set for the environment
--addNoneFalseNAAdd the created environment to the current profile
--helpNoneNANAHelp text for slv env new service gcp
Usage:
slv env new service gcp --email <EMAIL_ADDRESS> --name <ENVIRONMENT_NAME> --tags <TAGS> --add --resource-name <GCP_RESOURCE_NAME> --rsa-pubkey <PATH_TO_PUBKEY_PEM>

Example:

TBA

Creating AWS KMS based service environments

General Usage:
slv env new service aws [flags]
Flags:
FlagArgumentsRequiredDefaultDescription
--arnStringTrueNoneAWS KMS arn
--rsa-pubkeyStringTrueNoneKMS public key [RSA 4096] as pem file (Recommended to perform offline access binding)
--emailStringTrueNoneEmail Address for the environment being created
--nameStringTrueNoneName of the environment to be created
--tagsString(s)FalseNoneTags to be set for the environment
--addNoneFalseNAAdd the created environment to the current profile
--helpNoneNANAHelp text for slv env new service aws
Usage:
slv env new service aws --email <EMAIL_ADDRESS> --name <ENVIRONMENT_NAME> --tags <TAGS> --add --arn <AWS_RESOURCE_ARN> --rsa-pubkey <PATH_TO_PUBKEY_PEM>

Example:

TBA

Add an existing Environment

Used to add an environment that is created elsewhere to the existing machine. The Environment Definition String (EDS) can be used to do the same.

General usage:

slv env add [flags]

Flags:

FlagArgumentsRequiredDefaultDescription
--env-defString(s)TrueNAEDS for the environment to be added
--rootNoneNANASet the environment as root environment for the current profile
--helpNoneNANAHelp text for slv env add

Usage:

slv env add --env-def <ENVIRONMENT_DEFINITION_STRING>

Example:

$ slv env add --env-def SLV_EDS_AF4JYRGM35FMGMA4YXYXOOOXYGFS2U6ISUEWMZUJWMS52H4HJCE7DRYIGS23IWRM4K5YWUGZ5X4RZPW7FA7V7GYUDVGRBKA6B22S4XJNWXODWKNFXTN24NXFU3YEPO7AYXETY4K33ENX7LP4WZMKZNBR67NLXNK5F22XE7D5HTWLSUJHGA6IMTAQUCXZBO4G5KA7UMKFAKB44IJVCCMJPW7ZOEK57447W3RW52XI4JQNRBPTADY7ZX6CBNBULMNHB6K5VN6UTYQYBH67AAAAB777TR3T5CA
Successfully added 1 environments to profile my_org

Get Environments in Current Profile

Used to list all the profiles that are present in the current profile. The command can also be used to filter down results or search based on name, tag and email.

General usage:

slv env get [flags]

Flags:

FlagArgumentsRequiredDefaultDescription
--env-searchString(s)FalseNoneSearch for environments based on tag/email/name
--helpNoneNANAHelp text for slv env get

Usage:

slv env get --env-search <SEARCH_STRING>

Example:

$ slv env get
Public Key: SLV_EPK_AEAUKAAAABUEMSPQ4BJIIWMSAKFUUXUV4THOP3ERH25CY4HR54W25HUJQR6XK
Name: alice
Email: alice@example.com
Tags: [example_env]
Secret Binding: SLV_ESB_AF4JYBGA2FXKUMAYADQHP6LPPMJM6JQDILREKS3KIHUQJWRZZKO5FQKCM4FHIRGR7DXPWHRQIACMHSNZVOOTJ7EDBGRAOODHEABHYIYY5O4Q23WD7TOZWSKIF66XVPZPLNXNTHJVNLVG3DH4N3237LZ7QMOJLGKSHHS6F7JQKOWCW3QLCYXLDYBBZFJ5ZRGVCEXXZVZYLR2ER33X3JLNJNHYICODVMPQ5VREN5GDSLSDLENJ6PUMFXKHZ5EHGOIGIT4TEW6LOYW6XMYR452BRPZSKKXLM5ZT7KHAVL64LPKNK45R3HAPH6IXAAAP772O3VBWC

Public Key: SLV_EPK_AEAUKAAAADM5IPIORWJ24OYHX4JSJ7R6BRMO25EHHGERKFJ33EBK4FWVU4HBY
Name: example_service
Email: service@example.com
Tags: [example]
$ slv env get --env-search alice
Public Key: SLV_EPK_AEAUKAAAABUEMSPQ4BJIIWMSAKFUUXUV4THOP3ERH25CY4HR54W25HUJQR6XK
Name: alice
Email: alice@example.com
Tags: [example_env]
Secret Binding: SLV_ESB_AF4JYBGA2FXKUMAYADQHP6LPPMJM6JQDILREKS3KIHUQJWRZZKO5FQKCM4FHIRGR7DXPWHRQIACMHSNZVOOTJ7EDBGRAOODHEABHYIYY5O4Q23WD7TOZWSKIF66XVPZPLNXNTHJVNLVG3DH4N3237LZ7QMOJLGKSHHS6F7JQKOWCW3QLCYXLDYBBZFJ5ZRGVCEXXZVZYLR2ER33X3JLNJNHYICODVMPQ5VREN5GDSLSDLENJ6PUMFXKHZ5EHGOIGIT4TEW6LOYW6XMYR452BRPZSKKXLM5ZT7KHAVL64LPKNK45R3HAPH6IXAAAP772O3VBWC

Set Self Environment

Self Environment is the environment that will be used while unlocking vaults or sharing them. It can be seen as the environment that is currently being used.

General usage:

slv env set-self [flags]

Flags:

FlagArgumentsRequiredDefaultDescription
--env-defStringTrueNoneThe EDS for the environment to be set as self (Need not be a part of the profile)
--helpNoneNANAHelp text for slv env set-self

Usage:

slv env set-self --env-def <ENVIRONMENT_DEFINITION_STRING>

Example:

$ slv env set-self --env-def SLV_EDS_AF4JYNGKIFF4GMAYQ7Y674R7A4HTH5MQSOUUJMWFNHLDJW2EUTCPQMQCJEOJWKYW6G5UWQMPB7H66G7W6KLFGNBUIHAD23AHMXGSBFPUIZFCSW5P23HG46F3LIXHO2ZHZW67O6574W6X5MWXVLJYXZXOTHV25YN3IWR722WT3XWA2GA6IMQQRBE4EKAUDFMQ6J757USXFDDUYV7RUPGK7DX5OSOPLZKME4YPJYLQQZ4MCHY3VCHHQZLQCRH7JWNG7KPOUAIC7D4Q2AAA77745LZ2FQ
Enter the secret binding: SLV_ESB_AF4JYBGA2FXKUMAYADQHP6LPPMJM6JQDILREKS3KIHUQJWRZZKO5FQKCM4FHIRGR7DXPWHRQIACMHSNZVOOTJ7EDBGRAOODHEABHYIYY5O4Q23WD7TOZWSKIF66XVPZPLNXNTHJVNLVG3DH4N3237LZ7QMOJLGKSHHS6F7JQKOWCW3QLCYXLDYBBZFJ5ZRGVCEXXZVZYLR2ER33X3JLNJNHYICODVMPQ5VREN5GDSLSDLENJ6PUMFXKHZ5EHGOIGIT4TEW6LOYW6XMYR452BRPZSKKXLM5ZT7KHAVL64LPKNK45R3HAPH6IXAAAP772O3VBWC
Public Key: SLV_EPK_AEAUKAAAABUEMSPQ4BJIIWMSAKFUUXUV4THOP3ERH25CY4HR54W25HUJQR6XK
Name: alice
Email: alice@example.com
Tags: [example_env]
Secret Binding: SLV_ESB_AF4JYBGA2FXKUMAYADQHP6LPPMJM6JQDILREKS3KIHUQJWRZZKO5FQKCM4FHIRGR7DXPWHRQIACMHSNZVOOTJ7EDBGRAOODHEABHYIYY5O4Q23WD7TOZWSKIF66XVPZPLNXNTHJVNLVG3DH4N3237LZ7QMOJLGKSHHS6F7JQKOWCW3QLCYXLDYBBZFJ5ZRGVCEXXZVZYLR2ER33X3JLNJNHYICODVMPQ5VREN5GDSLSDLENJ6PUMFXKHZ5EHGOIGIT4TEW6LOYW6XMYR452BRPZSKKXLM5ZT7KHAVL64LPKNK45R3HAPH6IXAAAP772O3VBWC
------------------------------------------------------------
Env Definition: SLV_EDS_AF4JYNGKIFF4GMAYQ7Y674R7A4HTH5MQSOUUJMWFNHLDJW2EUTCPQMQCJEOJWKYW6G5UWQMPB7H66G7W6KLFGNBUIHAD23AHMXGSBFPUIZFCSW5P23HG46F3LIXHO2ZHZW67O6574W6X5MWXVLJYXZXOTHV25YN3IWR722WT3XWA2GA6IMQQRBE4EKAUDFMQ6J757USXFDDUYV7RUPGK7DX5OSOPLZKME4YPJYLQQZ4MCHY3VCHHQZLQCRH7JWNG7KPOUAIC7D4Q2AAA77745LZ2FQ
Successfully registered self environment

Show Requested Environment

Used to print details about environments from the current context

General usage:

slv env show [flags]
slv env show [command]

Flags:

FlagArgumentsRequiredDefaultDescription
--helpNoneNANAHelp text for slv env show

Commands:

  • self - Shows the self environment.
  • root - Shows the root environment in the current profile.
  • k8s - Takes the current kubernetes context and shows the environment present in the context.

Show Self Environment

Print details about the self environment. This is the environment that will be used by default while opening vaults and sharing vaults with others.

General Usage:

slv env show self [flags]

Flags:

FlagArgumentsRequiredDefaultDescription
--helpNoneNANAHelp text for slv env show self

Usage:

slv env show self

Example:

$ slv env show self
Public Key: SLV_EPK_AEAUKAAAABUEMSPQ4BJIIWMSAKFUUXUV4THOP3ERH25CY4HR54W25HUJQR6XK
Name: alice
Email: alice@example.com
Tags: [example_env]
Secret Binding: SLV_ESB_AF4JYBGA2FXKUMAYADQHP6LPPMJM6JQDILREKS3KIHUQJWRZZKO5FQKCM4FHIRGR7DXPWHRQIACMHSNZVOOTJ7EDBGRAOODHEABHYIYY5O4Q23WD7TOZWSKIF66XVPZPLNXNTHJVNLVG3DH4N3237LZ7QMOJLGKSHHS6F7JQKOWCW3QLCYXLDYBBZFJ5ZRGVCEXXZVZYLR2ER33X3JLNJNHYICODVMPQ5VREN5GDSLSDLENJ6PUMFXKHZ5EHGOIGIT4TEW6LOYW6XMYR452BRPZSKKXLM5ZT7KHAVL64LPKNK45R3HAPH6IXAAAP772O3VBWC
------------------------------------------------------------
Env Definition: SLV_EDS_AF4JYNGKIFF4GMAYQ7Y674R7A4HTH5MQSOUUJMWFNHLDJW2EUTCPQMQCJEOJWKYW6G5UWQMPB7H66G7W6KLFGNBUIHAD23AHMXGSBFPUIZFCSW5P23HG46F3LIXHO2ZHZW67O6574W6X5MWXVLJYXZXOTHV25YN3IWR722WT3XWA2GA6IMQQRBE4EKAUDFMQ6J757USXFDDUYV7RUPGK7DX5OSOPLZKME4YPJYLQQZ4MCHY3VCHHQZLQCRH7JWNG7KPOUAIC7D4Q2AAA77745LZ2FQ

Show Root Environment

Print details about the root environment. This is applicable only when there is a current profile set.

General Usage:

slv env show root [flags]

Flags:

FlagArgumentsRequiredDefaultDescription
--helpNoneNANAHelp text for slv env show root

Usage:

slv env show root

Example:

$ slv env show root
Public Key: SLV_EPK_AEAUKAAAADM5IPIORWJ24OYHX4JSJ7R6BRMO25EHHGERKFJ33EBK4FWVU4HBY
Name: example_service
Email: service@example.com
Tags: [example]
------------------------------------------------------------
Env Definition: SLV_EDS_AF4JYRGM35FMGMA4YXYXOOOXYGFS2U6ISUEWMZUJWMS52H4HJCE7DRYIGS23IWRM4K5YWUGZ5X4RZPW7FA7V7GYUDVGRBKA6B22S4XJNWXODWKNFXTN24NXFU3YEPO7AYXETY4K33ENX7LP4WZMKZNBR67NLXNK5F22XE7D5HTWLSUJHGA6IMTAQUCXZBO4G5KA7UMKFAKB44IJVCCMJPW7ZOEK57447W3RW52XI4JQNRBPTADY7ZX6CBNBULMNHB6K5VN6UTYQYBH67AAAAB777TR3T5CA

Show K8S Environment

Print details about the environment present in the cluster corresponding to the current kubernete context. The current context can be found by running the command kubectl config get-contexts.

General Usage:

slv env show k8s [flags]

Flags:

FlagArgumentsRequiredDefaultDescription
--helpNoneNANAHelp text for slv env show k8s

Usage:

slv env show k8s

Example:

$ slv env show k8s
Public Key: SLV_EPK_AEAUKAAAAD6XTJCYBCIHYKDPPHQN3YNDEVBOFCOIVDMGESLJFH65KG3VULVBK

K8s Cluster Info:
Name : slv-test-cluster
Address: https://127.0.0.1:52358
User : slv-test-cluster

Delete an Environment

Delete one or more environments based on search parameters such as name, email, tags.

General Usage:

slv env del [flags]

Flags:

FlagArgumentsRequiredDefaultDescription
--env-searchString(s)FalseNoneSearch for environments based on tag/email/name to delete
--helpNoneNANAHelp text for slv env del

Usage:

slv env del --env-search <SEARCH_STRING>

Example:

$ slv env del --env-search alice
Public Key: SLV_EPK_AEAUKAAAABUEMSPQ4BJIIWMSAKFUUXUV4THOP3ERH25CY4HR54W25HUJQR6XK
Name: alice
Email: alice@example.com
Tags: [example_env]
Secret Binding: SLV_ESB_AF4JYBGA2FXKUMAYADQHP6LPPMJM6JQDILREKS3KIHUQJWRZZKO5FQKCM4FHIRGR7DXPWHRQIACMHSNZVOOTJ7EDBGRAOODHEABHYIYY5O4Q23WD7TOZWSKIF66XVPZPLNXNTHJVNLVG3DH4N3237LZ7QMOJLGKSHHS6F7JQKOWCW3QLCYXLDYBBZFJ5ZRGVCEXXZVZYLR2ER33X3JLNJNHYICODVMPQ5VREN5GDSLSDLENJ6PUMFXKHZ5EHGOIGIT4TEW6LOYW6XMYR452BRPZSKKXLM5ZT7KHAVL64LPKNK45R3HAPH6IXAAAP772O3VBWC

Are you sure you wish to delete the above environment(s) [yes/no]: yes
Environment alice deleted successfully