github.com/choria-io/go-choria@v0.28.1-0.20240416190746-b3bf9c7d5a45/internal/fs/ddl/cache/agent/scout.json (about)

     1  {
     2    "$schema": "https://choria.io/schemas/mcorpc/ddl/v1/agent.json",
     3    "metadata": {
     4      "license": "Apache-2.0",
     5      "author": "R.I.Pienaar <rip@devco.net>",
     6      "timeout": 5,
     7      "name": "scout",
     8      "version": "0.28.0",
     9      "url": "https://choria.io",
    10      "description": "Choria Scout Agent Management API",
    11      "provider": "golang"
    12    },
    13    "actions": [
    14      {
    15        "action": "checks",
    16        "display": "ok",
    17        "description": "Obtain a list of checks and their current status",
    18        "input": {},
    19        "output": {
    20          "checks": {
    21            "description": "Details about each check",
    22            "type": "array",
    23            "display_as": "Checks"
    24          }
    25        }
    26      },
    27      {
    28        "action": "resume",
    29        "input": {
    30          "checks": {
    31            "prompt": "Checks",
    32            "description": "Check to resume, empty means all",
    33            "type": "array",
    34            "optional": true
    35          }
    36        },
    37        "output": {
    38          "failed": {
    39            "description": "List of checks that could not be resumed",
    40            "display_as": "Failed",
    41            "type": "array"
    42          },
    43          "transitioned": {
    44            "description": "List of checks that were resumed",
    45            "display_as": "Triggered",
    46            "type": "array"
    47          },
    48          "skipped": {
    49            "description": "List of checks that was skipped",
    50            "display_as": "Skipped",
    51            "type": "array"
    52          }
    53        },
    54        "display": "failed",
    55        "description": "Resume active checking of one or more checks"
    56      },
    57      {
    58        "action": "maintenance",
    59        "input": {
    60          "checks": {
    61            "prompt": "Checks",
    62            "description": "Check to pause, empty means all",
    63            "type": "array",
    64            "optional": true
    65          }
    66        },
    67        "output": {
    68          "failed": {
    69            "description": "List of checks that could not be paused",
    70            "display_as": "Failed",
    71            "type": "array"
    72          },
    73          "transitioned": {
    74            "description": "List of checks that were paused",
    75            "display_as": "Triggered",
    76            "type": "array"
    77          },
    78          "skipped": {
    79            "description": "List of checks that was skipped",
    80            "display_as": "Skipped",
    81            "type": "array"
    82          }
    83        },
    84        "display": "failed",
    85        "description": "Pause checking of one or more checks"
    86      },
    87      {
    88        "action": "goss_validate",
    89        "description": "Performs a Goss validation using a specific file",
    90        "display": "failed",
    91        "aggregate": [
    92          {
    93            "function": "summary",
    94            "args": [
    95              "tests",
    96              {"format":  "%s Tests on %d node(s)"}
    97            ]
    98          },
    99          {
   100            "function": "summary",
   101            "args": [
   102              "failures",
   103              {"format":  "%s Failed test on %d node(s)"}
   104            ]
   105          },
   106          {
   107            "function": "summary",
   108            "args": [
   109              "success",
   110              {"format":  "%s Passed tests on %d node(s)"}
   111            ]
   112          }
   113        ],
   114        "input": {
   115          "yaml_rules": {
   116            "prompt": "Gossfile contents",
   117            "description": "Contents of the Gossfile to validate",
   118            "type": "string",
   119            "maxlength": 5120,
   120            "validation": ".",
   121            "optional": true
   122          },
   123          "file": {
   124            "prompt": "Goss File",
   125            "description": "Path to the Goss validation specification",
   126            "type": "string",
   127            "maxlength": 256,
   128            "validation": ".+",
   129            "optional": true
   130          },
   131          "vars": {
   132            "prompt": "Vars File",
   133            "description": "Path to a file to use as template variables",
   134            "type": "string",
   135            "maxlength": 256,
   136            "validation": ".+",
   137            "optional": true
   138          },
   139          "yaml_vars": {
   140            "prompt": "Variables YAML",
   141            "description": "YAML data to use as variables",
   142            "type": "string",
   143            "maxlength": 5120,
   144            "validation": ".+",
   145            "optional": true
   146          }
   147        },
   148        "output": {
   149          "tests": {
   150            "description": "The number of tests that were run",
   151            "display_as": "Tests",
   152            "type": "integer"
   153          },
   154          "failures": {
   155            "description": "The number of tests that failed",
   156            "display_as": "Failed Tests",
   157            "type": "integer"
   158          },
   159          "runtime": {
   160            "description": "The time it took to run the tests, in seconds",
   161            "display_as": "Runtime",
   162            "type": "integer"
   163          },
   164          "success": {
   165            "description": "Indicates how many tests passed",
   166            "display_as": "Success",
   167            "type": "integer"
   168          },
   169          "skipped": {
   170            "description": "Indicates how many tests were skipped",
   171            "display_as": "Skipped",
   172            "type": "integer"
   173          },
   174          "summary": {
   175            "description": "A human friendly test result",
   176            "display_as": "Summary",
   177            "type": "string"
   178          },
   179          "results": {
   180            "description": "The full test results",
   181            "display_as": "Results",
   182            "type": "array"
   183          }
   184        }
   185      },
   186      {
   187        "action": "trigger",
   188        "input": {
   189          "checks": {
   190            "prompt": "Checks",
   191            "description": "Check to trigger, empty means all",
   192            "type": "array",
   193            "optional": true
   194          }
   195        },
   196        "output": {
   197          "failed": {
   198            "description": "List of checks that could not be triggered",
   199            "display_as": "Failed",
   200            "type": "array"
   201          },
   202          "transitioned": {
   203            "description": "List of checks that were triggered",
   204            "display_as": "Triggered",
   205            "type": "array"
   206          },
   207          "skipped": {
   208            "description": "List of checks that was skipped",
   209            "display_as": "Skipped",
   210            "type": "array"
   211          }
   212        },
   213        "display": "failed",
   214        "description": "Force an immediate check of one or more checks"
   215      }
   216    ]
   217  }