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.13.0 linux-x64 node-v12.18.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:
--host=host [default: localhost] Kuzzle server host
--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
--protocol [default: http] Protocol used to connect to Kuzzle (`http` or `ws`)
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
KUZZLE_PROTOCOL Protocol used to connect to Kuzzle (`http` or `ws`)
User impersonation
You can impersonate a user before executing a command with the --as
flag and a user kuid
.
User impersonation require the following rights for the authenticated user: security:createApiKey
, security:deleteApiKey
$ kourou sdk:query auth:getCurrentUser --as gordon --username admin --password admin
🚀 Kourou - Executes an API query.
[ℹ] Connecting to http://localhost:7512 ...
[ℹ] Impersonate user "gordon"
[...]
Commands
kourou api-key:check TOKEN
Checks an API key validity
USAGE
$ kourou api-key:check TOKEN
ARGUMENTS
TOKEN API key token
OPTIONS
--as=as Impersonate a user
--help show CLI help
--host=host [default: localhost] Kuzzle server host
--password=password Kuzzle user password
--port=port [default: 7512] Kuzzle server port
--protocol=protocol [default: http] Kuzzle protocol (http or ws)
--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
--as=as Impersonate a user
--expire=expire [default: -1] API Key validity
--help show CLI help
--host=host [default: localhost] Kuzzle server host
--id=id API Key unique ID
--password=password Kuzzle user password
--port=port [default: 7512] Kuzzle server port
--protocol=protocol [default: http] Kuzzle protocol (http or ws)
--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
--as=as Impersonate a user
--help show CLI help
--host=host [default: localhost] Kuzzle server host
--password=password Kuzzle user password
--port=port [default: 7512] Kuzzle server port
--protocol=protocol [default: http] Kuzzle protocol (http or ws)
--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
--as=as Impersonate a user
--filter=filter Filter to match the API Key descriptions
--help show CLI help
--host=host [default: localhost] Kuzzle server host
--password=password Kuzzle user password
--port=port [default: 7512] Kuzzle server port
--protocol=protocol [default: http] Kuzzle protocol (http or ws)
--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
--as=as Impersonate a user
--body=body [default: {}] Collection mappings and settings in JS or JSON format. Will be read from STDIN if
available
--help show CLI help
--host=host [default: localhost] Kuzzle server host
--password=password Kuzzle user password
--port=port [default: 7512] Kuzzle server port
--protocol=protocol [default: http] Kuzzle protocol (http or ws)
--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
--as=as Impersonate a user
--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
--host=host [default: localhost] Kuzzle server host
--password=password Kuzzle user password
--path=path Dump root directory
--port=port [default: 7512] Kuzzle server port
--protocol=protocol [default: ws] Kuzzle protocol (http or websocket)
--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
--as=as Impersonate a user
--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
--host=host [default: localhost] Kuzzle server host
--index=index If set, override the index destination name
--no-mappings Skip collection mappings
--password=password Kuzzle user password
--port=port [default: 7512] Kuzzle server port
--protocol=protocol [default: ws] Kuzzle protocol (http or websocket)
--ssl Use SSL to connect to Kuzzle
--username=username [default: anonymous] Kuzzle username (local strategy)
See code: src/commands/collection/import.ts
kourou config:diff FIRST SECOND
Returns differences between two Kuzzle configuration files (kuzzlerc)
USAGE
$ kourou config:diff FIRST SECOND
ARGUMENTS
FIRST First configuration file
SECOND Second configuration file
OPTIONS
--strict Exit with an error if differences are found
--values Also displays value changes
EXAMPLE
kourou config:diff config/local/kuzzlerc config/production/kuzzlerc
See code: src/commands/config/diff.ts
kourou document:create INDEX COLLECTION
Creates a document
USAGE
$ kourou document:create INDEX COLLECTION
ARGUMENTS
INDEX Index name
COLLECTION Collection name
OPTIONS
--as=as Impersonate a user
--body=body [default: {}] Document body in JS or JSON format. Will be read from STDIN if available
--help show CLI help
--host=host [default: localhost] Kuzzle server host
--id=id Optional document ID
--password=password Kuzzle user password
--port=port [default: 7512] Kuzzle server port
--protocol=protocol [default: http] Kuzzle protocol (http or ws)
--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
--as=as Impersonate a user
--help show CLI help
--host=host [default: localhost] Kuzzle server host
--password=password Kuzzle user password
--port=port [default: 7512] Kuzzle server port
--protocol=protocol [default: http] Kuzzle protocol (http or ws)
--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
--as=as Impersonate a user
--editor Open an editor (EDITOR env variable) to edit the request before sending
--from=from Optional offset
--help show CLI help
--host=host [default: localhost] Kuzzle server host
--password=password Kuzzle user password
--port=port [default: 7512] Kuzzle server port
--protocol=protocol [default: http] Kuzzle protocol (http or ws)
--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
--as=as Impersonate a user
--batch-size=batch-size [default: 200] Maximum batch size (see limits.documentsWriteCount config)
--help show CLI help
--host=host [default: localhost] Kuzzle server host
--password=password Kuzzle user password
--port=port [default: 7512] Kuzzle server port
--preserve-anonymous Preserve anonymous rights
--protocol=protocol [default: ws] Kuzzle protocol (http or websocket)
--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
--as=as Impersonate a user
--batch-size=batch-size [default: 2000] Maximum batch size (see limits.documentsFetchCount config)
--help show CLI help
--host=host [default: localhost] Kuzzle server host
--password=password Kuzzle user password
--path=path Dump root directory
--port=port [default: 7512] Kuzzle server port
--protocol=protocol [default: ws] Kuzzle protocol (http or websocket)
--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 (JSONL format)
USAGE
$ kourou index:import PATH
ARGUMENTS
PATH Dump directory or file
OPTIONS
--as=as Impersonate a user
--batch-size=batch-size [default: 200] Maximum batch size (see limits.documentsWriteCount config)
--help show CLI help
--host=host [default: localhost] Kuzzle server host
--index=index If set, override the index destination name
--no-mappings Skip collections mappings
--password=password Kuzzle user password
--port=port [default: 7512] Kuzzle server port
--protocol=protocol [default: ws] Kuzzle protocol (http or websocket)
--ssl Use SSL to connect to Kuzzle
--username=username [default: anonymous] Kuzzle username (local strategy)
EXAMPLES
kourou index:import ./dump/iot-data
kourou index:import ./dump/iot-data --index iot-data-production --no-mappings
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
--as=as Impersonate a user
--help show CLI help
--host=host [default: localhost] Kuzzle server host
--password=password Kuzzle user password
--path=path [default: profiles] Dump directory
--port=port [default: 7512] Kuzzle server port
--protocol=protocol [default: ws] Kuzzle protocol (http or websocket)
--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
--as=as Impersonate a user
--help show CLI help
--host=host [default: localhost] Kuzzle server host
--password=password Kuzzle user password
--port=port [default: 7512] Kuzzle server port
--protocol=protocol [default: ws] Kuzzle protocol (http or websocket)
--ssl Use SSL to connect to Kuzzle
--username=username [default: anonymous] Kuzzle username (local strategy)
See code: src/commands/profile/import.ts
kourou role:export
Exports roles
USAGE
$ kourou role:export
OPTIONS
--as=as Impersonate a user
--help show CLI help
--host=host [default: localhost] Kuzzle server host
--password=password Kuzzle user password
--path=path [default: roles] Dump directory
--port=port [default: 7512] Kuzzle server port
--protocol=protocol [default: ws] Kuzzle protocol (http or websocket)
--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
--as=as Impersonate a user
--help show CLI help
--host=host [default: localhost] Kuzzle server host
--password=password Kuzzle user password
--port=port [default: 7512] Kuzzle server port
--preserve-anonymous Preserve anonymous rights
--protocol=protocol [default: ws] Kuzzle protocol (http or websocket)
--ssl Use SSL to connect to Kuzzle
--username=username [default: anonymous] Kuzzle username (local strategy)
See code: src/commands/role/import.ts
kourou sdk:execute
Executes arbitrary code.
USAGE
$ kourou sdk:execute
OPTIONS
-v, --var=var Additional arguments injected into the code. (eg: --var 'index="iot-data"'
--as=as Impersonate a user
--code=code Code to execute. Will be read from STDIN if available.
--editor Open an editor (EDITOR env variable) to edit the code before executing it.
--help show CLI help
--host=host [default: localhost] Kuzzle server host
--keep-alive Keep the connection running (websocket only)
--password=password Kuzzle user password
--port=port [default: 7512] Kuzzle server port
--protocol=protocol [default: http] Kuzzle protocol (http or ws)
--ssl Use SSL to connect to Kuzzle
--username=username [default: anonymous] Kuzzle username (local strategy)
DESCRIPTION
Executes arbitrary code.
Code Execution
Provided code will be executed in an async method.
You can access a connected and authenticated SDK with the "sdk" variable.
Templated variable passed as the command arguments are also accessible within the same name.
Returned value will be printed on the standard output (e.g. 'return await sdk.server.now();').
Errors will be caught and printed on the error output (e.g. 'throw new Error("failure");').
Provide code
code can be passed with the --code flag
code will be read from STDIN if available
Examples:
- kourou sdk:execute --code 'return await sdk.server.now()'
- kourou sdk:execute --code 'return await sdk.index.exists(index)' --var 'index="iot-data"'
- kourou sdk:execute < snippet.js
- echo 'return await sdk.server.now()' | kourou sdk:execute
Other
use the --editor flag to modify the code before executing it
Examples:
- kourou sdk:execute --code 'return await sdk.server.now()' --editor
See code: src/commands/sdk/execute.ts
kourou sdk:query CONTROLLER:ACTION
Executes an API query.
USAGE
$ kourou sdk: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")
-c, --collection=collection Collection argument
-i, --index=index Index argument
--as=as Impersonate a user
--body=body [default: {}] Request body in JS or JSON format. Will be read from STDIN if available.
--display=display [default: result] Path of the property to display from the response (empty string to
display everything)
--editor Open an editor (EDITOR env variable) to edit the request before sending.
--help show CLI help
--host=host [default: localhost] Kuzzle server host
--password=password Kuzzle user password
--port=port [default: 7512] Kuzzle server port
--protocol=protocol [default: http] Kuzzle protocol (http or ws)
--ssl Use SSL to connect to Kuzzle
--username=username [default: anonymous] Kuzzle username (local strategy)
DESCRIPTION
Executes an API query.
Query arguments
arguments can be passed and repeated using the --arg or -a flag.
index and collection names can be passed with --index (-i) and --collection (-c) flags
Examples:
- kourou sdk:query document:get -i iot -c sensors -a _id=sigfox-42
Query body
body can be passed with the --body flag with either a JSON or JS string.
body will be read from STDIN if available
Examples:
- kourou sdk:query document:create -i iot -c sensors --body '{creation: Date.now())}'
- kourou sdk:query admin:loadMappings < mappings.json
- echo '{dynamic: "strict"}' | kourou sdk:query collection:create -i iot -c sensors
Other
use the --editor flag to modify the query before sending it to Kuzzle
use the --display flag to display a specific property of the response
Examples:
- kourou sdk:query document:create -i iot -c sensors --editor
- kourou sdk:query server:now --display 'result.now'
See code: src/commands/sdk/query.ts
kourou subscribe INDEX COLLECTION
Subscribes to realtime notifications
USAGE
$ kourou subscribe INDEX COLLECTION
ARGUMENTS
INDEX Index name
COLLECTION Collection name
OPTIONS
--as=as Impersonate a user
--display=display [default: result] Path of the property to display from the notification (empty string to display
everything)
--editor Open an editor (EDITOR env variable) to edit the filters before subscribing.
--filters=filters [default: {}] Set of Koncorde filters
--help show CLI help
--host=host [default: localhost] Kuzzle server host
--password=password Kuzzle user password
--port=port [default: 7512] Kuzzle server port
--protocol=protocol [default: websocket] Kuzzle protocol (only websocket for realtime)
--scope=scope [default: all] Subscribe to document entering or leaving the scope (all, in, out, none)
--ssl Use SSL to connect to Kuzzle
--username=username [default: anonymous] Kuzzle username (local strategy)
--users=users [default: all] Subscribe to users entering or leaving the room (all, in, out, none)
--volatile=volatile [default: {}] Additional subscription information used in user join/leave notifications
EXAMPLES
kourou subscribe iot-data sensors
kourou subscribe iot-data sensors --filters '{ range: { temperature: { gt: 0 } } }'
kourou subscribe iot-data sensors --filters '{ exists: "position" }' --scope out
kourou subscribe iot-data sensors --users all --volatile '{ clientId: "citizen-kane" }'
kourou subscribe iot-data sensors --display result._source.temperature
See code: src/commands/subscribe.ts
kourou user:export
Exports users
USAGE
$ kourou user:export
OPTIONS
--as=as Impersonate a user
--batch-size=batch-size [default: 2000] Maximum batch size (see limits.documentsFetchCount config)
--exclude=exclude [default: []] Exclude users by matching their IDs
--help show CLI help
--host=host [default: localhost] Kuzzle server host
--password=password Kuzzle user password
--path=path [default: users] Dump directory
--port=port [default: 7512] Kuzzle server port
--protocol=protocol [default: ws] Kuzzle protocol (http or websocket)
--ssl Use SSL to connect to Kuzzle
--username=username [default: anonymous] Kuzzle username (local strategy)
See code: src/commands/user/export.ts
kourou user:import PATH
Imports users
USAGE
$ kourou user:import PATH
ARGUMENTS
PATH Dump file
OPTIONS
--as=as Impersonate a user
--help show CLI help
--host=host [default: localhost] Kuzzle server host
--password=password Kuzzle user password
--port=port [default: 7512] Kuzzle server port
--protocol=protocol [default: ws] Kuzzle protocol (http or websocket)
--ssl Use SSL to connect to Kuzzle
--username=username [default: anonymous] Kuzzle username (local strategy)
See code: src/commands/user/import.ts
kourou vault:add SECRETS-FILE KEY VALUE
Adds an encrypted key to an encrypted secrets file.
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)
DESCRIPTION
Adds an encrypted key to an encrypted secrets file.
A new secrets file is created if it does not yet exist.
Encrypted secrets are meant to be loaded inside an application with Kuzzle Vault.
See https://github.com/kuzzleio/kuzzle-vault/ for more information.
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.
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)
DESCRIPTION
Decrypts an entire secrets file.
Decrypted secrets file must NEVER be committed into the repository.
See https://github.com/kuzzleio/kuzzle-vault/ for more information.
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.
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)
DESCRIPTION
Encrypts an entire secrets file.
The secrets file must be in JSON format and it must contain only strings or objects.
Example:
{
aws: {
s3: {
keyId: 'b61e267676660c314b006b06'
}
}
}
Encrypted secrets are meant to be loaded inside an application with Kuzzle Vault.
See https://github.com/kuzzleio/kuzzle-vault/ for more information.
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 secrets file content.
USAGE
$ kourou vault:show SECRETS-FILE [KEY]
ARGUMENTS
SECRETS-FILE Encrypted secrets file
KEY Path to a key (lodash style)
OPTIONS
--vault-key=vault-key Kuzzle Vault Key (or KUZZLE_VAULT_KEY)
DESCRIPTION
Prints an encrypted secrets file content.
This method can display either:
- the entire content of the secrets file
- a single key value
See https://github.com/kuzzleio/kuzzle-vault/ for more information.
EXAMPLES
kourou vault:show config/secrets.enc.json --vault-key <vault-key>
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.
USAGE
$ kourou vault:test SECRETS-FILE
ARGUMENTS
SECRETS-FILE Encrypted secrets file
OPTIONS
--vault-key=vault-key Kuzzle Vault Key (or KUZZLE_VAULT_KEY)
DESCRIPTION
Tests if an encrypted secrets file can be decrypted.
See https://github.com/kuzzleio/kuzzle-vault/ for more information.
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.