Metadata-Version: 2.4
Name: vgs-cli
Version: 1.33.0.dev3
Summary: VGS Client
Home-page: https://github.com/verygoodsecurity/vgs-cli
Author: Very Good Security
Author-email: dev@verygoodsecurity.com
License: BSD
Platform: any
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: BSD License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Requires-Python: >=3.11
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: base58<3,>=2.1.1
Requires-Dist: click-plugins<2,>=1.1.1
Requires-Dist: click<9,>=7
Requires-Dist: configobj-dev>=2019.9.1
Requires-Dist: cryptography>=44.0.1
Requires-Dist: jsonschema<5,>=3.2.0
Requires-Dist: keyring<26,>=16.1.0
Requires-Dist: keyrings.alt<6,>=3.1
Requires-Dist: pyhumps
Requires-Dist: semver<4,>=3
Requires-Dist: termcolor<3,>=2
Requires-Dist: Jinja2>=2.10
Requires-Dist: vgs-api-client<1,>=0.0.51
Requires-Dist: async-timeout
Requires-Dist: packaging<26,>=23
Dynamic: author
Dynamic: author-email
Dynamic: classifier
Dynamic: description
Dynamic: description-content-type
Dynamic: home-page
Dynamic: license
Dynamic: license-file
Dynamic: platform
Dynamic: requires-dist
Dynamic: requires-python
Dynamic: summary

# VGS CLI

Command Line Tool for programmatic configurations on VGS.

[Official Documentation](https://docs.verygoodsecurity.com/vault/developer-tools/vgs-cli)

## Table of Contents

- [Requirements](#requirements)
- [Installation](#installation)
  - [PyPI](#pypi)
- [Run](#run)
- [Running in Docker](#running-in-docker)
- [AI agent skill](#ai-agent-skill)
- [Commands](#commands)
  - [Authentication](#authentication)
  - [Organizations and tenants](#organizations-and-tenants)
  - [Routes](#routes)
  - [Collect Forms](#collect-forms)
  - [Access credentials and logs](#access-credentials-and-logs)
  - [Certificates](#certificates)
- [Automation with VGS CLI](#automation-with-vgs-cli)

## Requirements
[Python 3.11 or newer](https://www.python.org/downloads/) with OpenSSL 1.1.1 or newer, or [Docker](https://docs.docker.com/get-docker/).

## Installation

### PyPI

Install from PyPI:

```bash
python3 -m pip install vgs-cli
```

## Run

Verify the installation:

```bash
vgs --version
```

## Running in Docker

Check our [official documentation](https://docs.verygoodsecurity.com/vault/developer-tools/vgs-cli/docker).

## AI agent skill

Install the agent skill:

```bash
npx skills add verygoodsecurity/vgs-cli --skill vgs-cli-guide
```

The guide covers Dashboard-assisted onboarding, the complete built-in command
surface, controlled route and Collect Form changes, service-account automation,
Docker, certificates, logs, and troubleshooting. Installation uses the
[Skills CLI](https://skills.sh/).

Update the agent skill:

```bash
npx skills update vgs-cli-guide
```

## Commands

Full command reference:

- https://docs.verygoodsecurity.com/vault/developer-tools/vgs-cli/commands
- Routes YAML format (`routes.yaml`): https://docs.verygoodsecurity.com/vault/developer-tools/vgs-cli/commands#routes.yaml

### Tenant terminology

Use **tenant** and `--tenant/-T` in new commands. Legacy vault commands and
`--vault/-V` options still work, but print a deprecation warning.

### Authentication

| Command | Purpose |
| --- | --- |
| `vgs --help` | List available commands. |
| `vgs login` | Start an interactive session. |
| `vgs logout` | End the current session. |

### Organizations and tenants

| Command | Purpose |
| --- | --- |
| `vgs get organizations` | List accessible organizations. |
| `vgs get tenants` | List accessible tenants. |
| `vgs generate tenant > tenant.yaml` | Generate a tenant template. |
| `vgs apply tenant -f tenant.yaml` | Create a tenant from a reviewed template. |

### Routes

| Command | Purpose |
| --- | --- |
| `vgs get routes -T <TENANT_ID>` | List tenant routes. |
| `vgs apply routes -T <TENANT_ID> -f <FILE>` | Apply tenant routes. |
| `vgs delete routes -T <TENANT_ID> <ROUTE_ID>` | Delete one tenant route. |

### Collect Forms

| Command | Purpose |
| --- | --- |
| `vgs get forms -T <TENANT_ID>` | List Collect Forms. |
| `vgs get form -T <TENANT_ID> <FORM_ID>` | Get one Collect Form. |
| `vgs apply form -T <TENANT_ID> -f <FILE>` | Apply a Collect Form from a file. |
| `vgs apply form -T <TENANT_ID> --json '<JSON>'` | Apply inline Collect Form JSON. |
| `vgs delete form -T <TENANT_ID> <FORM_ID>` | Delete one Collect Form. |

### Access credentials and logs

| Command | Purpose |
| --- | --- |
| `vgs get access-credentials -T <TENANT_ID>` | List tenant access credentials. |
| `vgs generate access-credentials -T <TENANT_ID>` | Generate tenant access credentials. |
| `vgs logs access -T <TENANT_ID>` | View tenant access logs. |
| `vgs logs operations -T <TENANT_ID> -R <REQUEST_ID>` | View request operation logs. |

### Certificates

| Command | Purpose |
| --- | --- |
| `vgs certificate --help` | Show certificate commands. |

## Automation with VGS CLI

If you want to use the VGS CLI for automation, create a [service account](https://docs.verygoodsecurity.com/vault/developer-tools/vgs-cli/service-account).
