npm package: @simonnepomuk/apicurio-registry-cli
Description: CLI to interact with the apicurio registry
Author: simonnepomuk
Latest version: 0.1.4
Deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.

# Apicurio Registry CLI

This is the command-line interface (CLI) for the Apicurio Registry. It is a simple tool that allows you to interact with the Apicurio Registry using the command line. It is useful
for scripting, automation, and other tasks where a graphical user interface is not available.

## Installation

The CLI is distributed as a npm package. You can install it using the following command:

```bash
npm install -g @simonnepomuk/apicurio-registry-cli
```

This will install the CLI globally on your system. You can then run the CLI using the `apicurio` command.

For one-off usage, you can also use `npx` to run the CLI without installing it:

```bash
npx @simonnepomuk/apicurio-registry-cli
```

## Usage

The CLI is a simple command-line tool that provides a number of commands for interacting with the Apicurio Registry. You can get help on the available commands by running the CLI
with the `--help` option:

```bash
apicurio --help
```

### Downloading an artifact

You can download an artifact from the registry using the `download` command. For example:

```bash
apicurio artifact download com.example/my-artifact:1.0.0 --registry http://<registry-url>
```

This will download the artifact from the registry and save it to the current directory. Its possible to omit the version and the CLI will download the latest version of the artifact.

### Uploading an artifact

You can upload an artifact to the registry using the `upload` command. For example:

```bash
apicurio artifact upload com.example/my-artifact:1.0.0 -f my-artifact.json --registry http://<registry-url>
```

Its possible to omit the version and the CLI will upload a new artifact version.

### Authenticating with the registry

The CLI supports authentication using OAuth2 device flow for human actors and the resource owner password credentials grant for machine actors.
You can authenticate with the registry using the `auth-url` option. If you pass the `--auth-url` option and `client-id` the CLI will start the device flow.
If you pass the `--auth-url`, `client-id`, `client-secret` the CLI will start the resource owner password credentials grant. You can optionally pass a comma-separated list of scopes with the `--scopes` option to specify the scopes of the token.

#### Device flow
```bash
apicurio --auth-url http://<auth-url> --client-id <client-id>
```

#### Resource owner password credentials grant
```bash
apicurio --auth-url http://<auth-url> --client-id <client-id> --client-secret <client-secret>
```

# Commands
  <!-- commands -->
* [`apicurio artifact download ARTIFACTTAG`](#apicurio-artifact-download-artifacttag)
* [`apicurio artifact upload ARTIFACTTAG`](#apicurio-artifact-upload-artifacttag)
* [`apicurio help [COMMAND]`](#apicurio-help-command)
* [`apicurio plugins`](#apicurio-plugins)
* [`apicurio plugins add PLUGIN`](#apicurio-plugins-add-plugin)
* [`apicurio plugins:inspect PLUGIN...`](#apicurio-pluginsinspect-plugin)
* [`apicurio plugins install PLUGIN`](#apicurio-plugins-install-plugin)
* [`apicurio plugins link PATH`](#apicurio-plugins-link-path)
* [`apicurio plugins remove [PLUGIN]`](#apicurio-plugins-remove-plugin)
* [`apicurio plugins reset`](#apicurio-plugins-reset)
* [`apicurio plugins uninstall [PLUGIN]`](#apicurio-plugins-uninstall-plugin)
* [`apicurio plugins unlink [PLUGIN]`](#apicurio-plugins-unlink-plugin)
* [`apicurio plugins update`](#apicurio-plugins-update)

## `apicurio artifact download ARTIFACTTAG`

Download artifact. Usage example: artifact download <groupId>/<artifactId>[:version]

```
USAGE
  $ apicurio artifact download ARTIFACTTAG --registry <value> [--clientSecret <value>] [--scopes <value>... [--authUrl
    <value> --clientId <value>] ] [-o <value>] [-w]

ARGUMENTS
  ARTIFACTTAG  Artifact tag

FLAGS
  -o, --output=<value>        Output file path.
  -w, --overwrite             Overwrite existing files
      --authUrl=<value>       The .well-known URL of the OpenID Connect discovery document
      --clientId=<value>      The OAuth2 client ID
      --clientSecret=<value>  The OAuth2 client secret
      --registry=<value>      (required) Apicurio Registry URL
      --scopes=<value>...     OAuth2 scopes

DESCRIPTION
  Download artifact. Usage example: artifact download <groupId>/<artifactId>[:version]

EXAMPLES
  $ apicurio artifact download
```

_See code: [src/commands/artifact/download.ts](https://github.com/simonnepomuk/apicurio-registry-cli/blob/v0.1.4/src/commands/artifact/download.ts)_

## `apicurio artifact upload ARTIFACTTAG`

Upload artifact

```
USAGE
  $ apicurio artifact upload ARTIFACTTAG --registry <value> -f <value> [--clientSecret <value>] [--scopes <value>...
    [--authUrl <value> --clientId <value>] ] [--ifExists FAIL|UPDATE|RETURN|RETURN_OR_UPDATE] [-t
    PROTOBUF|JSON|AVRO|KONNECT|OPENAPI|ASYNCAPI|GRAPHQL|WSDL|XSD]

ARGUMENTS
  ARTIFACTTAG  Artifact tag

FLAGS
  -f, --file=<value>          (required) file to upload
  -t, --type=<option>         Artifact Type.
                              <options: PROTOBUF|JSON|AVRO|KONNECT|OPENAPI|ASYNCAPI|GRAPHQL|WSDL|XSD>
      --authUrl=<value>       The .well-known URL of the OpenID Connect discovery document
      --clientId=<value>      The OAuth2 client ID
      --clientSecret=<value>  The OAuth2 client secret
      --ifExists=<option>     [default: RETURN_OR_UPDATE] Strategy if artifact already exists
                              <options: FAIL|UPDATE|RETURN|RETURN_OR_UPDATE>
      --registry=<value>      (required) Apicurio Registry URL
      --scopes=<value>...     OAuth2 scopes

DESCRIPTION
  Upload artifact

EXAMPLES
  $ apicurio artifact upload
```

_See code: [src/commands/artifact/upload.ts](https://github.com/simonnepomuk/apicurio-registry-cli/blob/v0.1.4/src/commands/artifact/upload.ts)_

## `apicurio help [COMMAND]`

Display help for apicurio.

```
USAGE
  $ apicurio help [COMMAND...] [-n]

ARGUMENTS
  COMMAND...  Command to show help for.

FLAGS
  -n, --nested-commands  Include all nested commands in the output.

DESCRIPTION
  Display help for apicurio.
```

_See code: [@oclif/plugin-help](https://github.com/oclif/plugin-help/blob/v6.2.11/src/commands/help.ts)_

## `apicurio plugins`

List installed plugins.

```
USAGE
  $ apicurio plugins [--json] [--core]

FLAGS
  --core  Show core plugins.

GLOBAL FLAGS
  --json  Format output as json.

DESCRIPTION
  List installed plugins.

EXAMPLES
  $ apicurio plugins
```

_See code: [@oclif/plugin-plugins](https://github.com/oclif/plugin-plugins/blob/v5.4.8/src/commands/plugins/index.ts)_

## `apicurio plugins add PLUGIN`

Installs a plugin into apicurio.

```
USAGE
  $ apicurio plugins add PLUGIN... [--json] [-f] [-h] [-s | -v]

ARGUMENTS
  PLUGIN...  Plugin to install.

FLAGS
  -f, --force    Force npm to fetch remote resources even if a local copy exists on disk.
  -h, --help     Show CLI help.
  -s, --silent   Silences npm output.
  -v, --verbose  Show verbose npm output.

GLOBAL FLAGS
  --json  Format output as json.

DESCRIPTION
  Installs a plugin into apicurio.

  Uses npm to install plugins.

  Installation of a user-installed plugin will override a core plugin.

  Use the APICURIO_NPM_LOG_LEVEL environment variable to set the npm loglevel.
  Use the APICURIO_NPM_REGISTRY environment variable to set the npm registry.

ALIASES
  $ apicurio plugins add

EXAMPLES
  Install a plugin from npm registry.

    $ apicurio plugins add myplugin

  Install a plugin from a github url.

    $ apicurio plugins add https://github.com/someuser/someplugin

  Install a plugin from a github slug.

    $ apicurio plugins add someuser/someplugin
```

## `apicurio plugins:inspect PLUGIN...`

Displays installation properties of a plugin.

```
USAGE
  $ apicurio plugins inspect PLUGIN...

ARGUMENTS
  PLUGIN...  [default: .] Plugin to inspect.

FLAGS
  -h, --help     Show CLI help.
  -v, --verbose

GLOBAL FLAGS
  --json  Format output as json.

DESCRIPTION
  Displays installation properties of a plugin.

EXAMPLES
  $ apicurio plugins inspect myplugin
```

_See code: [@oclif/plugin-plugins](https://github.com/oclif/plugin-plugins/blob/v5.4.8/src/commands/plugins/inspect.ts)_

## `apicurio plugins install PLUGIN`

Installs a plugin into apicurio.

```
USAGE
  $ apicurio plugins install PLUGIN... [--json] [-f] [-h] [-s | -v]

ARGUMENTS
  PLUGIN...  Plugin to install.

FLAGS
  -f, --force    Force npm to fetch remote resources even if a local copy exists on disk.
  -h, --help     Show CLI help.
  -s, --silent   Silences npm output.
  -v, --verbose  Show verbose npm output.

GLOBAL FLAGS
  --json  Format output as json.

DESCRIPTION
  Installs a plugin into apicurio.

  Uses npm to install plugins.

  Installation of a user-installed plugin will override a core plugin.

  Use the APICURIO_NPM_LOG_LEVEL environment variable to set the npm loglevel.
  Use the APICURIO_NPM_REGISTRY environment variable to set the npm registry.

ALIASES
  $ apicurio plugins add

EXAMPLES
  Install a plugin from npm registry.

    $ apicurio plugins install myplugin

  Install a plugin from a github url.

    $ apicurio plugins install https://github.com/someuser/someplugin

  Install a plugin from a github slug.

    $ apicurio plugins install someuser/someplugin
```

_See code: [@oclif/plugin-plugins](https://github.com/oclif/plugin-plugins/blob/v5.4.8/src/commands/plugins/install.ts)_

## `apicurio plugins link PATH`

Links a plugin into the CLI for development.

```
USAGE
  $ apicurio plugins link PATH [-h] [--install] [-v]

ARGUMENTS
  PATH  [default: .] path to plugin

FLAGS
  -h, --help          Show CLI help.
  -v, --verbose
      --[no-]install  Install dependencies after linking the plugin.

DESCRIPTION
  Links a plugin into the CLI for development.
  Installation of a linked plugin will override a user-installed or core plugin.

  e.g. If you have a user-installed or core plugin that has a 'hello' command, installing a linked plugin with a 'hello'
  command will override the user-installed or core plugin implementation. This is useful for development work.


EXAMPLES
  $ apicurio plugins link myplugin
```

_See code: [@oclif/plugin-plugins](https://github.com/oclif/plugin-plugins/blob/v5.4.8/src/commands/plugins/link.ts)_

## `apicurio plugins remove [PLUGIN]`

Removes a plugin from the CLI.

```
USAGE
  $ apicurio plugins remove [PLUGIN...] [-h] [-v]

ARGUMENTS
  PLUGIN...  plugin to uninstall

FLAGS
  -h, --help     Show CLI help.
  -v, --verbose

DESCRIPTION
  Removes a plugin from the CLI.

ALIASES
  $ apicurio plugins unlink
  $ apicurio plugins remove

EXAMPLES
  $ apicurio plugins remove myplugin
```

## `apicurio plugins reset`

Remove all user-installed and linked plugins.

```
USAGE
  $ apicurio plugins reset [--hard] [--reinstall]

FLAGS
  --hard       Delete node_modules and package manager related files in addition to uninstalling plugins.
  --reinstall  Reinstall all plugins after uninstalling.
```

_See code: [@oclif/plugin-plugins](https://github.com/oclif/plugin-plugins/blob/v5.4.8/src/commands/plugins/reset.ts)_

## `apicurio plugins uninstall [PLUGIN]`

Removes a plugin from the CLI.

```
USAGE
  $ apicurio plugins uninstall [PLUGIN...] [-h] [-v]

ARGUMENTS
  PLUGIN...  plugin to uninstall

FLAGS
  -h, --help     Show CLI help.
  -v, --verbose

DESCRIPTION
  Removes a plugin from the CLI.

ALIASES
  $ apicurio plugins unlink
  $ apicurio plugins remove

EXAMPLES
  $ apicurio plugins uninstall myplugin
```

_See code: [@oclif/plugin-plugins](https://github.com/oclif/plugin-plugins/blob/v5.4.8/src/commands/plugins/uninstall.ts)_

## `apicurio plugins unlink [PLUGIN]`

Removes a plugin from the CLI.

```
USAGE
  $ apicurio plugins unlink [PLUGIN...] [-h] [-v]

ARGUMENTS
  PLUGIN...  plugin to uninstall

FLAGS
  -h, --help     Show CLI help.
  -v, --verbose

DESCRIPTION
  Removes a plugin from the CLI.

ALIASES
  $ apicurio plugins unlink
  $ apicurio plugins remove

EXAMPLES
  $ apicurio plugins unlink myplugin
```

## `apicurio plugins update`

Update installed plugins.

```
USAGE
  $ apicurio plugins update [-h] [-v]

FLAGS
  -h, --help     Show CLI help.
  -v, --verbose

DESCRIPTION
  Update installed plugins.
```

_See code: [@oclif/plugin-plugins](https://github.com/oclif/plugin-plugins/blob/v5.4.8/src/commands/plugins/update.ts)_
<!-- commandsstop -->