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 }