@simonnepomuk/apicurio-registry-cli
v0.1.4
Published
CLI to interact with the apicurio registry
Downloads
210
Maintainers
Readme
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:
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:
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:
apicurio --help
Downloading an artifact
You can download an artifact from the registry using the download
command. For example:
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:
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
apicurio --auth-url http://<auth-url> --client-id <client-id>
Resource owner password credentials grant
apicurio --auth-url http://<auth-url> --client-id <client-id> --client-secret <client-secret>
Commands
apicurio artifact download ARTIFACTTAG
apicurio artifact upload ARTIFACTTAG
apicurio help [COMMAND]
apicurio plugins
apicurio plugins add PLUGIN
apicurio plugins:inspect PLUGIN...
apicurio plugins install PLUGIN
apicurio plugins link PATH
apicurio plugins remove [PLUGIN]
apicurio plugins reset
apicurio plugins uninstall [PLUGIN]
apicurio plugins unlink [PLUGIN]
apicurio plugins update
apicurio artifact download ARTIFACTTAG
Download artifact. Usage example: artifact download /[: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
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
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
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
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
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
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
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
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
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