docs: add plugin.yml JSON schema (#2235)

mine
Julien Bouquillon 2023-10-08 16:09:20 +02:00 committed by GitHub
parent 13c25dd000
commit 46b725d934
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 54 additions and 0 deletions

54
plugins/schema.json Normal file
View File

@ -0,0 +1,54 @@
{
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "Schema for k9s CLI plugin.yml file : https://k9scli.io/topics/plugins",
"type": "object",
"additionalProperties": false,
"properties": {
"plugin": {
"type": "object",
"additionalProperties": {
"type": "object",
"additionalProperties": false,
"properties": {
"shortCut": {
"description": "Define a mnemonic to invoke the plugin",
"type": "string"
},
"description": {
"description": "What will be shown on the K9s menu",
"type": "string"
},
"confirm": {
"description": "See the command that is going to be executed and gives you an option to confirm",
"type": "boolean"
},
"scopes": {
"type": "array",
"description": "Collections of views that support this shortcut. (You can use `all`)",
"items": {
"type": "string"
}
},
"command": {
"description": "The command to run upon invocation. Can use Krew plugins here too!",
"type": "string"
},
"background": {
"description": "Whether or not to run the command in background mode",
"type": "boolean"
},
"args": {
"description": "Defines the command arguments",
"type": "array",
"items": {
"type": "string"
}
}
},
"required": ["shortCut", "description", "scopes", "command"]
},
"required": []
}
},
"required": ["plugin"]
}