VGS Client
Project description
VGS Client
A command line tool that configures routes in VGS vaults
Requirements
- Python 3
Installation
To install the latest version enter
pip install vgs-cli
Authentication
All commands provided by vgs-cli require MFA verification. To authenticate type
vgs authenticate
Your credentials are short-lived. If you come across a 'Credentials are expired' error, pls re-authenticate.
In order to remove authenticated session type:
vgs logout
Commands
Parameters
Name | Description | Mandatory | Default value |
---|---|---|---|
tenant |
Tenant identifier of a vault | Yes | |
environment |
VGS environment. Possible values are sandbox and live |
No | sandbox |
dump-all
This command dumps routes in a readable YAML format to stdout. We recommend redirecting output to a file for convenience.
vgs --tenant=tnteipi8liw --environment=sandbox route --dump-all
Recommended way of using the command
vgs --tenant=tnteipi8liw --environment=sandbox route --dump-all > tnteipi8liw.yml
Sample output looks like
data:
- attributes:
created_at: '2018-07-17T16:50:37'
destination_override_endpoint: https://httpbin.verygoodsecurity.io
entries:
- classifiers: {}
config:
condition: AND
expression: null
rules:
- condition: null
expression:
field: PathInfo
operator: equals
type: string
values: [/post]
rules: null
- condition: null
expression:
field: ContentType
operator: equals
type: string
values: [application/json]
rules: []
id: a46b73e5-df5a-4780-bc01-9e19b1aa04bc
id_selector: null
operation: REDACT
operations: null
phase: REQUEST
public_token_generator: UUID
targets: [body]
token_manager: PERSISTENT
transformer: JSON_PATH
transformer_config: [$.secret]
host_endpoint: (.*)\.verygoodproxy\.com
id: 6153b3fc-f869-4fdd-824f-5ed6b1e393c5
port: 443
protocol: http
source_endpoint: '*'
updated_at: '2018-07-17T16:50:50'
id: 6153b3fc-f869-4fdd-824f-5ed6b1e393c5
type: rule_chain
- attributes:
created_at: '2018-07-17T16:53:01'
destination_override_endpoint: '*'
entries: []
host_endpoint: (.*)
id: d6c86a9f-c85c-4ced-9998-16b050541f84
port: 443
protocol: http
source_endpoint: '*'
updated_at: '2018-07-17T16:53:01'
id: d6c86a9f-c85c-4ced-9998-16b050541f84
type: rule_chain
version: 1
sync-all
This command synchronizes updates to routes back upstream. It takes a YAML document with routes via stdin.
Important
For this command to work the following conditions should hold
- YAML document should be a result of a previous output from
dump-all
. - You can only make changes to the entities in the original YAML document, and you must keep ids as is.
vgs --tenant=tnteipi8liw --environment=sandbox route --sync-all < tnteipi8liw.yml
create-all
This command creates new routes in a vault. An input YAML document should take the same form as an output of the dump-all
command.
A typical use case for this command is a migration of routes from a sandbox environment to live
vgs --tenant=tnt3lmevlos --environment=live route --create-all < tnteipi8liw.yml
Typical scenarios
Migrate routes from a sandbox environment to live
- Sandbox tenant:
tnt_sandbox
- Live tenant:
tnt_live
- Dump routes from a sandbox vault locally
vgs --tenant=tnt_sandbox --environment=sandbox route --dump-all > tnt_sandbox.yml
- Re-create routes in a live vault
vgs --tenant=tnt_live --environment=live route --create-all < tnt_sandbox.yml
- Dump new routes from a live environment locally. We recommend to keep them in a separate file
vgs --tenant=tnt_live --environment=live route --dump-all > tnt_live.yml
- Update migrated routes in
tnt_live.yml
, if needed. Typically you may need to make changes to some upstream configurations that you were using when testing. - Sync changes back to tnt_live
vgs --tenant=tnt_live --environment=live route --sync-all < tnt_live.yml
- Modify upstream hosts for migrated routes to match your live API's. A typical example is switching development environment to production one on live routes after migration.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file vgs-cli-0.1.2.tar.gz
.
File metadata
- Download URL: vgs-cli-0.1.2.tar.gz
- Upload date:
- Size: 7.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.12.1 pkginfo/1.4.2 requests/2.18.4 setuptools/40.6.2 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/3.7.1
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 00bf73bc1d4e4456a8a734877166b765f1409c6ec18e9bf065b85d8e57efaac3 |
|
MD5 | fc998f766d9f706add2c9a9427046a08 |
|
BLAKE2b-256 | d71a1819fe5ffdf8773f4e5e4acb58a6f770622c8aa30195f12c5071dbc5e4f1 |
Provenance
File details
Details for the file vgs_cli-0.1.2-py3.7.egg
.
File metadata
- Download URL: vgs_cli-0.1.2-py3.7.egg
- Upload date:
- Size: 15.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.12.1 pkginfo/1.4.2 requests/2.18.4 setuptools/40.6.2 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/3.7.1
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1b944a3068e90242f4efc77457a014b9b4154b5f45f34da2fe9abfb1b04bc93e |
|
MD5 | e1ee4557e4c73a6c001911eac0bc3d09 |
|
BLAKE2b-256 | 293e6213680d055f945c6673d2a0af1644a54877142cd6cb4a5ee26242abb744 |