Skip to main content

VGS Client

Project description

VGS Client

CircleCI

A command line tool that configures routes in VGS vaults

Requirements

  • Python 3

Installation

To install the latest version enter:

pip install vgs-cli

Help

To call help instruction run vgs --help or vgs -h

Authentication

All commands provided by vgs-cli require MFA verification.

To authenticate run vgs authenticate command. After that enter dashboard credentials and authenticate in your browser. Then return back to the terminal and continue usage of VGS CLI.

If you come across an error You need to run vgs authenticate because your session has been expired, please re-authenticate. You may be asked to allow storing data in your OS password management system (Mac OS X Keychain, Linux Secret Service, Windows Credential Vault).

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. Default is sandbox. 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

version

Prints current CLI version.

vgs version

Typical scenarios

Migrate routes from a sandbox environment to live

  • Sandbox tenant: tnt_sandbox
  • Live tenant: tnt_live
  1. Dump routes from a sandbox vault locally

    vgs --tenant=tnt_sandbox --environment=sandbox route --dump-all > tnt_sandbox.yml
    
  2. Re-create routes in a live vault

    vgs --tenant=tnt_live --environment=live route --create-all < tnt_sandbox.yml
    
  3. 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
    
  4. 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.

  5. Sync changes back to tnt_live

    vgs --tenant=tnt_live --environment=live route --sync-all < tnt_live.yml
    
  6. 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.

Useful links

Troubleshooting

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

vgs-cli-0.2.5.tar.gz (12.2 kB view details)

Uploaded Source

Built Distribution

vgs_cli-0.2.5-py3.7.egg (35.2 kB view details)

Uploaded Source

File details

Details for the file vgs-cli-0.2.5.tar.gz.

File metadata

  • Download URL: vgs-cli-0.2.5.tar.gz
  • Upload date:
  • Size: 12.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.4.2 requests/2.20.1 setuptools/40.6.2 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/3.7.1

File hashes

Hashes for vgs-cli-0.2.5.tar.gz
Algorithm Hash digest
SHA256 75606827f489c15252b0433702ecb7ffaf3719ef27075c96e6cfa32cafd430f5
MD5 9db40357b3d14ccb5c0a5182306a9096
BLAKE2b-256 4825fde2bbbe7da33c5f384269a7f532b2d501711f214295d0459061dcee156e

See more details on using hashes here.

Provenance

File details

Details for the file vgs_cli-0.2.5-py3.7.egg.

File metadata

  • Download URL: vgs_cli-0.2.5-py3.7.egg
  • Upload date:
  • Size: 35.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.4.2 requests/2.20.1 setuptools/40.6.2 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/3.7.1

File hashes

Hashes for vgs_cli-0.2.5-py3.7.egg
Algorithm Hash digest
SHA256 818224b2b2decad73ee3cfd179978a494dcd43e4de4c689c8fabf2063f8a1cb6
MD5 d6fa651af1c304a600c09a2f8ad888c7
BLAKE2b-256 29fd1dd951eeee0bcd05bc6492912acd47c1c4a20c2c4b5f3768b32f9489a5e4

See more details on using hashes here.

Provenance

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page