kourou
The CLI that helps you manage your Kuzzle instances.
:warning: This project is currently in beta and breaking changes may occur until the 1.0.0
Usage
$ npm install -g kourou
$ kourou COMMAND
running command...
$ kourou (-v|--version|version)
kourou/0.11.0 linux-x64 node-v12.16.0
$ kourou --help [COMMAND]
USAGE
$ kourou COMMAND
...
Connect and authenticate to Kuzzle API
Commands that needs to send requests to Kuzzle API can specify the Kuzzle server address and authentication informations.
By command line:
-h, --host=host [default: localhost] Kuzzle server host
-p, --port=port [default: 7512] Kuzzle server port
--username=username [default: anonymous] Kuzzle user
--password=password Kuzzle user password
--ssl [default: true for port 443] Use SSL to connect to Kuzzle
By environment variables:
KUZZLE_HOST [default: localhost] Kuzzle server host
KUZZLE_PORT [default: 7512] Kuzzle server port
KUZZLE_USERNAME [default: anonymous] Kuzzle user
KUZZLE_PASSWORD Kuzzle user password
KUZZLE_SSL Use SSL to connect to Kuzzle
Commands
kourou api-key:check TOKEN
Checks an API key validity
USAGE
$ kourou api-key:check TOKEN
ARGUMENTS
TOKEN API key token
OPTIONS
-h, --host=host [default: localhost] Kuzzle server host
-p, --port=port [default: 7512] Kuzzle server port
--help show CLI help
--password=password Kuzzle user password
--ssl Use SSL to connect to Kuzzle
--username=username [default: anonymous] Kuzzle username (local strategy)
EXAMPLE
kourou api-key:check eyJhbG...QxfQrc
See code: src/commands/api-key/check.ts
kourou api-key:create USER
Creates a new API Key for a user
USAGE
$ kourou api-key:create USER
ARGUMENTS
USER User kuid
OPTIONS
-d, --description=description (required) API Key description
-h, --host=host [default: localhost] Kuzzle server host
-p, --port=port [default: 7512] Kuzzle server port
--expire=expire [default: -1] API Key validity
--help show CLI help
--id=id API Key unique ID
--password=password Kuzzle user password
--ssl Use SSL to connect to Kuzzle
--username=username [default: anonymous] Kuzzle username (local strategy)
See code: src/commands/api-key/create.ts
kourou api-key:delete USER ID
Deletes an API key.
USAGE
$ kourou api-key:delete USER ID
ARGUMENTS
USER User kuid
ID API Key unique ID
OPTIONS
-h, --host=host [default: localhost] Kuzzle server host
-p, --port=port [default: 7512] Kuzzle server port
--help show CLI help
--password=password Kuzzle user password
--ssl Use SSL to connect to Kuzzle
--username=username [default: anonymous] Kuzzle username (local strategy)
EXAMPLE
kourou vault:delete sigfox-gateway 1k-BF3EBjsXdvA2PR8x
See code: src/commands/api-key/delete.ts
kourou api-key:search USER
Lists a user's API Keys.
USAGE
$ kourou api-key:search USER
ARGUMENTS
USER User kuid
OPTIONS
-h, --host=host [default: localhost] Kuzzle server host
-p, --port=port [default: 7512] Kuzzle server port
--filter=filter Filter to match the API Key descriptions
--help show CLI help
--password=password Kuzzle user password
--ssl Use SSL to connect to Kuzzle
--username=username [default: anonymous] Kuzzle username (local strategy)
See code: src/commands/api-key/search.ts
kourou collection:create INDEX COLLECTION
Creates a collection
USAGE
$ kourou collection:create INDEX COLLECTION
ARGUMENTS
INDEX Index name
COLLECTION Collection name
OPTIONS
-h, --host=host [default: localhost] Kuzzle server host
-p, --port=port [default: 7512] Kuzzle server port
--body=body [default: {}] Collection mappings and settings in JS or JSON format. Will be read from STDIN if
available
--help show CLI help
--password=password Kuzzle user password
--ssl Use SSL to connect to Kuzzle
--username=username [default: anonymous] Kuzzle username (local strategy)
See code: src/commands/collection/create.ts
kourou collection:export INDEX COLLECTION
Exports a collection (JSONL format)
USAGE
$ kourou collection:export INDEX COLLECTION
ARGUMENTS
INDEX Index name
COLLECTION Collection name
OPTIONS
-h, --host=host [default: localhost] Kuzzle server host
-p, --port=port [default: 7512] Kuzzle server port
--batch-size=batch-size [default: 2000] Maximum batch size (see limits.documentsFetchCount config)
--editor Open an editor (EDITOR env variable) to edit the query before sending
--help show CLI help
--password=password Kuzzle user password
--path=path Dump root directory
--query=query [default: {}] Only dump documents matching the query (JS or JSON format)
--ssl Use SSL to connect to Kuzzle
--username=username [default: anonymous] Kuzzle username (local strategy)
EXAMPLES
kourou collection:export nyc-open-data yellow-taxi
kourou collection:export nyc-open-data yellow-taxi --query '{ term: { city: "Saigon" } }'
See code: src/commands/collection/export.ts
kourou collection:import PATH
Imports a collection
USAGE
$ kourou collection:import PATH
ARGUMENTS
PATH Dump directory path
OPTIONS
-h, --host=host [default: localhost] Kuzzle server host
-p, --port=port [default: 7512] Kuzzle server port
--batch-size=batch-size [default: 200] Maximum batch size (see limits.documentsWriteCount config)
--collection=collection If set, override the collection destination name
--help show CLI help
--index=index If set, override the index destination name
--no-mappings Skip collection mappings
--password=password Kuzzle user password
--ssl Use SSL to connect to Kuzzle
--username=username [default: anonymous] Kuzzle username (local strategy)
See code: src/commands/collection/import.ts
kourou document:create INDEX COLLECTION
Creates a document
USAGE
$ kourou document:create INDEX COLLECTION
ARGUMENTS
INDEX Index name
COLLECTION Collection name
OPTIONS
-h, --host=host [default: localhost] Kuzzle server host
-p, --port=port [default: 7512] Kuzzle server port
--body=body [default: {}] Document body in JS or JSON format. Will be read from STDIN if available
--help show CLI help
--id=id Optional document ID
--password=password Kuzzle user password
--replace Replaces the document if it already exists
--ssl Use SSL to connect to Kuzzle
--username=username [default: anonymous] Kuzzle username (local strategy)
EXAMPLES
kourou document:create iot sensors --body '{network: "sigfox"}'
kourou document:create iot sensors < document.json
See code: src/commands/document/create.ts
kourou document:get INDEX COLLECTION ID
Gets a document
USAGE
$ kourou document:get INDEX COLLECTION ID
ARGUMENTS
INDEX Index name
COLLECTION Collection name
ID Document ID
OPTIONS
-h, --host=host [default: localhost] Kuzzle server host
-p, --port=port [default: 7512] Kuzzle server port
--help show CLI help
--password=password Kuzzle user password
--ssl Use SSL to connect to Kuzzle
--username=username [default: anonymous] Kuzzle username (local strategy)
See code: src/commands/document/get.ts
kourou document:search INDEX COLLECTION
Searches for documents
USAGE
$ kourou document:search INDEX COLLECTION
ARGUMENTS
INDEX Index name
COLLECTION Collection name
OPTIONS
-h, --host=host [default: localhost] Kuzzle server host
-p, --port=port [default: 7512] Kuzzle server port
--editor Open an editor (EDITOR env variable) to edit the request before sending
--from=from Optional offset
--help show CLI help
--password=password Kuzzle user password
--query=query [default: {}] Query in JS or JSON format.
--scroll=scroll Optional scroll TTL
--size=size Optional page size
--sort=sort [default: {}] Sort in JS or JSON format.
--ssl Use SSL to connect to Kuzzle
--username=username [default: anonymous] Kuzzle username (local strategy)
EXAMPLES
kourou document:search iot sensors --query '{ term: { name: "corona" } }'
kourou document:search iot sensors --editor
See code: src/commands/document/search.ts
kourou es:get INDEX ID
Gets a document from ES
USAGE
$ kourou es:get INDEX ID
ARGUMENTS
INDEX ES Index name
ID Document ID
OPTIONS
-h, --host=host [default: localhost] Elasticsearch server host
-p, --port=port [default: 9200] Elasticsearch server port
--help show CLI help
See code: src/commands/es/get.ts
kourou es:insert INDEX
Inserts a document directly into ES (will replace if exists)
USAGE
$ kourou es:insert INDEX
ARGUMENTS
INDEX ES Index name
OPTIONS
-h, --host=host [default: localhost] Elasticsearch server host
-p, --port=port [default: 9200] Elasticsearch server port
--body=body [default: {}] Document body in JSON
--help show CLI help
--id=id Document ID
See code: src/commands/es/insert.ts
kourou es:list-index
Lists available ES indexes
USAGE
$ kourou es:list-index
OPTIONS
-g, --grep=grep Match output with pattern
-h, --host=host [default: localhost] Elasticsearch server host
-p, --port=port [default: 9200] Elasticsearch server port
--help show CLI help
See code: src/commands/es/list-index.ts
kourou file:decrypt FILE
Decrypts an encrypted file.
USAGE
$ kourou file:decrypt FILE
ARGUMENTS
FILE Encrypted file
OPTIONS
-f, --force Overwrite the output file if it already exists
-o, --output-file=output-file Output file (default: remove ".enc")
--vault-key=vault-key Kuzzle Vault Key (or KUZZLE_VAULT_KEY)
EXAMPLES
kourou file:decrypt books/cryptonomicon.txt.enc --vault-key <vault-key>
kourou file:decrypt books/cryptonomicon.txt.enc -o books/cryptonomicon.txt --vault-key <vault-key>
See code: src/commands/file/decrypt.ts
kourou file:encrypt FILE
Encrypts an entire file.
USAGE
$ kourou file:encrypt FILE
ARGUMENTS
FILE Filename
OPTIONS
-f, --force Overwrite the output file if it already exists
-o, --output-file=output-file Output file (default: <filename>.enc)
--vault-key=vault-key Kuzzle Vault Key (or KUZZLE_VAULT_KEY)
EXAMPLES
kourou file:encrypt books/cryptonomicon.txt --vault-key <vault-key>
kourou file:encrypt books/cryptonomicon.txt -o books/cryptonomicon.txt.enc --vault-key <vault-key>
See code: src/commands/file/encrypt.ts
kourou file:test FILE
Tests if an encrypted file can be decrypted.
USAGE
$ kourou file:test FILE
ARGUMENTS
FILE Encrypted file
OPTIONS
--vault-key=vault-key Kuzzle Vault Key (or KUZZLE_VAULT_KEY)
EXAMPLE
kourou file:test books/cryptonomicon.txt.enc --vault-key <vault-key>
See code: src/commands/file/test.ts
kourou help [COMMAND]
display help for kourou
USAGE
$ kourou help [COMMAND]
ARGUMENTS
COMMAND command to show help for
OPTIONS
--all see all commands in CLI
See code: @oclif/plugin-help
kourou import PATH
Recursively imports dump files from a root directory
USAGE
$ kourou import PATH
ARGUMENTS
PATH Root directory containing dumps
OPTIONS
-h, --host=host [default: localhost] Kuzzle server host
-p, --port=port [default: 7512] Kuzzle server port
--batch-size=batch-size [default: 200] Maximum batch size (see limits.documentsWriteCount config)
--help show CLI help
--password=password Kuzzle user password
--ssl Use SSL to connect to Kuzzle
--username=username [default: anonymous] Kuzzle username (local strategy)
See code: src/commands/import.ts
kourou index:export INDEX
Exports an index (JSONL format)
USAGE
$ kourou index:export INDEX
ARGUMENTS
INDEX Index name
OPTIONS
-h, --host=host [default: localhost] Kuzzle server host
-p, --port=port [default: 7512] Kuzzle server port
--batch-size=batch-size [default: 2000] Maximum batch size (see limits.documentsFetchCount config)
--help show CLI help
--password=password Kuzzle user password
--path=path Dump root directory
--ssl Use SSL to connect to Kuzzle
--username=username [default: anonymous] Kuzzle username (local strategy)
See code: src/commands/index/export.ts
kourou index:import PATH
Imports an index
USAGE
$ kourou index:import PATH
ARGUMENTS
PATH Dump directory or file
OPTIONS
-h, --host=host [default: localhost] Kuzzle server host
-p, --port=port [default: 7512] Kuzzle server port
--batch-size=batch-size [default: 200] Maximum batch size (see limits.documentsWriteCount config)
--help show CLI help
--index=index If set, override the index destination name
--no-mappings Skip collections mappings
--password=password Kuzzle user password
--ssl Use SSL to connect to Kuzzle
--username=username [default: anonymous] Kuzzle username (local strategy)
See code: src/commands/index/import.ts
kourou instance:logs
Displays the logs of a running Kuzzle
USAGE
$ kourou instance:logs
OPTIONS
-f, --follow Follow log output
-i, --instance=instance Kuzzle instance name
See code: src/commands/instance/logs.ts
kourou instance:spawn
Spawn a new Kuzzle instance
USAGE
$ kourou instance:spawn
OPTIONS
-v, --version=version [default: 2] Core-version of the instance to spawn
--check Check prerequisite before running Kuzzle
--help show CLI help
See code: src/commands/instance/spawn.ts
kourou profile:export
Exports profiles
USAGE
$ kourou profile:export
OPTIONS
-h, --host=host [default: localhost] Kuzzle server host
-p, --port=port [default: 7512] Kuzzle server port
--help show CLI help
--password=password Kuzzle user password
--path=path [default: profiles] Dump directory
--ssl Use SSL to connect to Kuzzle
--username=username [default: anonymous] Kuzzle username (local strategy)
See code: src/commands/profile/export.ts
kourou profile:import PATH
Imports profiles
USAGE
$ kourou profile:import PATH
ARGUMENTS
PATH Dump file
OPTIONS
-h, --host=host [default: localhost] Kuzzle server host
-p, --port=port [default: 7512] Kuzzle server port
--help show CLI help
--password=password Kuzzle user password
--ssl Use SSL to connect to Kuzzle
--username=username [default: anonymous] Kuzzle username (local strategy)
See code: src/commands/profile/import.ts
kourou query CONTROLLER:ACTION
Executes an API query
USAGE
$ kourou query CONTROLLER:ACTION
ARGUMENTS
CONTROLLER:ACTION Controller and action (eg: "server:now")
OPTIONS
-a, --arg=arg Additional argument. Repeatable. (e.g. "-a refresh=wait_for")
-h, --host=host [default: localhost] Kuzzle server host
-p, --port=port [default: 7512] Kuzzle server port
--body=body [default: {}] Request body in JS or JSON format. Will be read from STDIN if available.
--editor Open an editor (EDITOR env variable) to edit the request before sending
--help show CLI help
--password=password Kuzzle user password
--ssl Use SSL to connect to Kuzzle
--username=username [default: anonymous] Kuzzle username (local strategy)
EXAMPLES
kourou query document:get --arg index=iot --arg collection=sensors --arg _id=sigfox-42
kourou query collection:create --arg index=iot --arg collection=sensors --body '{dynamic: "strict"}'
kourou query admin:loadMappings < mappings.json
echo '{name: "Aschen"}' | kourou query document:create --arg index=iot --arg collection=sensors
See code: src/commands/query.ts
kourou role:export
Exports roles
USAGE
$ kourou role:export
OPTIONS
-h, --host=host [default: localhost] Kuzzle server host
-p, --port=port [default: 7512] Kuzzle server port
--help show CLI help
--password=password Kuzzle user password
--path=path [default: roles] Dump directory
--ssl Use SSL to connect to Kuzzle
--username=username [default: anonymous] Kuzzle username (local strategy)
See code: src/commands/role/export.ts
kourou role:import PATH
Import roles
USAGE
$ kourou role:import PATH
ARGUMENTS
PATH Dump file
OPTIONS
-h, --host=host [default: localhost] Kuzzle server host
-p, --port=port [default: 7512] Kuzzle server port
--help show CLI help
--password=password Kuzzle user password
--ssl Use SSL to connect to Kuzzle
--username=username [default: anonymous] Kuzzle username (local strategy)
See code: src/commands/role/import.ts
kourou vault:add SECRETS-FILE KEY VALUE
Adds an encrypted key to a secrets file (See: https://github.com/kuzzleio/kuzzle-vault/)
USAGE
$ kourou vault:add SECRETS-FILE KEY VALUE
ARGUMENTS
SECRETS-FILE Encrypted secrets file
KEY Path to the key (lodash style)
VALUE Value to encrypt
OPTIONS
--vault-key=vault-key Kuzzle Vault Key (or KUZZLE_VAULT_KEY)
EXAMPLE
kourou vault:add config/secrets.enc.json aws.s3.keyId b61e267676660c314b006b06 --vault-key <vault-key>
See code: src/commands/vault/add.ts
kourou vault:decrypt FILE
Decrypts an entire secrets file. (see https://github.com/kuzzleio/kuzzle-vault/)
USAGE
$ kourou vault:decrypt FILE
ARGUMENTS
FILE File containing encrypted secrets
OPTIONS
-f, --force Overwrite the output file if it already exists
-o, --output-file=output-file Output file (default: remove ".enc")
--vault-key=vault-key Kuzzle Vault Key (or KUZZLE_VAULT_KEY)
EXAMPLES
kourou vault:decrypt config/secrets.enc.json --vault-key <vault-key>
kourou vault:decrypt config/secrets.enc.json -o config/secrets.json --vault-key <vault-key>
See code: src/commands/vault/decrypt.ts
kourou vault:encrypt FILE
Encrypts an entire secrets file. (see https://github.com/kuzzleio/kuzzle-vault/)
USAGE
$ kourou vault:encrypt FILE
ARGUMENTS
FILE File containing unencrypted secrets
OPTIONS
-f, --force Overwrite the output file if it already exists
-o, --output-file=output-file Output file (default: <file>.enc.json)
--vault-key=vault-key Kuzzle Vault Key (or KUZZLE_VAULT_KEY)
EXAMPLES
kourou vault:encrypt config/secrets.json --vault-key <vault-key>
kourou vault:encrypt config/secrets.json -o config/secrets_prod.enc.json --vault-key <vault-key>
See code: src/commands/vault/encrypt.ts
kourou vault:show SECRETS-FILE KEY
Prints an encrypted key from a secrets file. (see https://github.com/kuzzleio/kuzzle-vault/)
USAGE
$ kourou vault:show SECRETS-FILE KEY
ARGUMENTS
SECRETS-FILE Encrypted secrets file
KEY Path to the key (lodash style)
OPTIONS
--vault-key=vault-key Kuzzle Vault Key (or KUZZLE_VAULT_KEY)
EXAMPLE
kourou vault:show config/secrets.enc.json aws.s3.secretKey --vault-key <vault-key>
See code: src/commands/vault/show.ts
kourou vault:test SECRETS-FILE
Tests if an encrypted secrets file can be decrypted. (see https://github.com/kuzzleio/kuzzle-vault/)
USAGE
$ kourou vault:test SECRETS-FILE
ARGUMENTS
SECRETS-FILE Encrypted secrets file
OPTIONS
--vault-key=vault-key Kuzzle Vault Key (or KUZZLE_VAULT_KEY)
EXAMPLE
kourou vault:test config/secrets.enc.json --vault-key <vault-key>
See code: src/commands/vault/test.ts
Where does this weird name comes from?
We liked the idea that this CLI is like a launchpad for the Kuzzle rocket. The place where you launch and pilot your Kuzzle instance. The place where the European Space Agency launches their rockets is in the country near the city of Kourou, in French Guiana, so we liked the idea that the Kuzzle rockets would take off from there.