VGS Client
Project description
VGS Client
A command line tool that configures routes in VGS vaults
Requirements
- Python 3.6
Installation
To install the latest version enter
pip install vgs-cli
Authentication
All commands provided by vgs-cli require authentication. Authentication is done using dashboard credentials (username/password + MFA). To authenticate type
vgs authenticate
Your credentials are short-lived. If you come across a 'Credentials are expired' error, pls re-authenticate.
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
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
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file vgs-cli-0.1.0.tar.gz.
File metadata
- Download URL: vgs-cli-0.1.0.tar.gz
- Upload date:
- Size: 6.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
902323c945020988a27b7af25481d362a7e08249eacd9d887b5f82f49e7d0c7a
|
|
| MD5 |
ccdd52c1212906969c874bd37a942d82
|
|
| BLAKE2b-256 |
b73d46d1cac7c4eac61ae8640c2667a853a64aba259513c823ed954a5f5f29c5
|
File details
Details for the file vgs_cli-0.1.0-py3-none-any.whl.
File metadata
- Download URL: vgs_cli-0.1.0-py3-none-any.whl
- Upload date:
- Size: 7.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b8b5e6908a1a9b2872c0994900cb6411ed0a8c7cbc083127052f0c83e5a2950b
|
|
| MD5 |
4e24bbee3d3e077f089d35b7be347f39
|
|
| BLAKE2b-256 |
90c500c6991e8ae55a2ca86dac0a7aa31dde8cd2e2c5a31028df4c81bb34bd46
|