github.com/kubri/kubri@v0.5.1-0.20240317001612-bda2aaef967e/pkg/config/testdata/jsonschema.json (about) 1 { 2 "$schema": "https://json-schema.org/draft/2020-12/schema", 3 "$id": "https://kubri.dev/schema.json", 4 "properties": { 5 "title": { 6 "type": "string" 7 }, 8 "description": { 9 "type": "string" 10 }, 11 "version": { 12 "type": "string" 13 }, 14 "prerelease": { 15 "type": "boolean" 16 }, 17 "upload-packages": { 18 "type": "boolean" 19 }, 20 "source": { 21 "oneOf": [ 22 { 23 "properties": { 24 "type": { 25 "type": "string", 26 "const": "azureblob" 27 }, 28 "bucket": { 29 "type": "string" 30 }, 31 "folder": { 32 "type": "string" 33 }, 34 "url": { 35 "type": "string" 36 } 37 }, 38 "additionalProperties": false, 39 "type": "object", 40 "required": [ 41 "bucket" 42 ] 43 }, 44 { 45 "properties": { 46 "type": { 47 "type": "string", 48 "const": "gcs" 49 }, 50 "bucket": { 51 "type": "string" 52 }, 53 "folder": { 54 "type": "string" 55 }, 56 "url": { 57 "type": "string" 58 } 59 }, 60 "additionalProperties": false, 61 "type": "object", 62 "required": [ 63 "bucket" 64 ] 65 }, 66 { 67 "properties": { 68 "type": { 69 "type": "string", 70 "const": "s3" 71 }, 72 "bucket": { 73 "type": "string" 74 }, 75 "folder": { 76 "type": "string" 77 }, 78 "endpoint": { 79 "type": "string" 80 }, 81 "region": { 82 "type": "string" 83 }, 84 "disable-ssl": { 85 "type": "boolean" 86 }, 87 "url": { 88 "type": "string" 89 } 90 }, 91 "additionalProperties": false, 92 "type": "object", 93 "required": [ 94 "bucket" 95 ] 96 }, 97 { 98 "properties": { 99 "type": { 100 "type": "string", 101 "const": "file" 102 }, 103 "path": { 104 "type": "string" 105 }, 106 "url": { 107 "type": "string" 108 } 109 }, 110 "additionalProperties": false, 111 "type": "object", 112 "required": [ 113 "path" 114 ] 115 }, 116 { 117 "properties": { 118 "type": { 119 "type": "string", 120 "const": "github" 121 }, 122 "owner": { 123 "type": "string" 124 }, 125 "repo": { 126 "type": "string" 127 } 128 }, 129 "additionalProperties": false, 130 "type": "object", 131 "required": [ 132 "owner", 133 "repo" 134 ] 135 }, 136 { 137 "properties": { 138 "type": { 139 "type": "string", 140 "const": "gitlab" 141 }, 142 "owner": { 143 "type": "string" 144 }, 145 "repo": { 146 "type": "string" 147 }, 148 "url": { 149 "type": "string" 150 } 151 }, 152 "additionalProperties": false, 153 "type": "object", 154 "required": [ 155 "owner", 156 "repo" 157 ] 158 }, 159 { 160 "properties": { 161 "type": { 162 "type": "string", 163 "const": "local" 164 }, 165 "path": { 166 "type": "string" 167 }, 168 "version": { 169 "type": "string" 170 } 171 }, 172 "additionalProperties": false, 173 "type": "object", 174 "required": [ 175 "path", 176 "version" 177 ] 178 } 179 ] 180 }, 181 "target": { 182 "oneOf": [ 183 { 184 "properties": { 185 "type": { 186 "type": "string", 187 "const": "azureblob" 188 }, 189 "bucket": { 190 "type": "string" 191 }, 192 "folder": { 193 "type": "string" 194 }, 195 "url": { 196 "type": "string" 197 } 198 }, 199 "additionalProperties": false, 200 "type": "object", 201 "required": [ 202 "bucket" 203 ] 204 }, 205 { 206 "properties": { 207 "type": { 208 "type": "string", 209 "const": "gcs" 210 }, 211 "bucket": { 212 "type": "string" 213 }, 214 "folder": { 215 "type": "string" 216 }, 217 "url": { 218 "type": "string" 219 } 220 }, 221 "additionalProperties": false, 222 "type": "object", 223 "required": [ 224 "bucket" 225 ] 226 }, 227 { 228 "properties": { 229 "type": { 230 "type": "string", 231 "const": "s3" 232 }, 233 "bucket": { 234 "type": "string" 235 }, 236 "folder": { 237 "type": "string" 238 }, 239 "endpoint": { 240 "type": "string" 241 }, 242 "region": { 243 "type": "string" 244 }, 245 "disable-ssl": { 246 "type": "boolean" 247 }, 248 "url": { 249 "type": "string" 250 } 251 }, 252 "additionalProperties": false, 253 "type": "object", 254 "required": [ 255 "bucket" 256 ] 257 }, 258 { 259 "properties": { 260 "type": { 261 "type": "string", 262 "const": "file" 263 }, 264 "path": { 265 "type": "string" 266 }, 267 "url": { 268 "type": "string" 269 } 270 }, 271 "additionalProperties": false, 272 "type": "object", 273 "required": [ 274 "path" 275 ] 276 }, 277 { 278 "properties": { 279 "type": { 280 "type": "string", 281 "const": "github" 282 }, 283 "owner": { 284 "type": "string" 285 }, 286 "repo": { 287 "type": "string" 288 }, 289 "branch": { 290 "type": "string" 291 }, 292 "folder": { 293 "type": "string" 294 } 295 }, 296 "additionalProperties": false, 297 "type": "object", 298 "required": [ 299 "owner", 300 "repo" 301 ] 302 } 303 ] 304 }, 305 "apk": { 306 "properties": { 307 "disabled": { 308 "type": "boolean" 309 }, 310 "folder": { 311 "type": "string" 312 }, 313 "key-name": { 314 "type": "string" 315 } 316 }, 317 "additionalProperties": false, 318 "type": "object" 319 }, 320 "apt": { 321 "properties": { 322 "disabled": { 323 "type": "boolean" 324 }, 325 "folder": { 326 "type": "string" 327 }, 328 "compress": { 329 "items": { 330 "type": "string", 331 "enum": [ 332 "none", 333 "gzip", 334 "bzip2", 335 "xz", 336 "lzma", 337 "lz4", 338 "zstd" 339 ] 340 }, 341 "type": "array" 342 } 343 }, 344 "additionalProperties": false, 345 "type": "object" 346 }, 347 "yum": { 348 "properties": { 349 "disabled": { 350 "type": "boolean" 351 }, 352 "folder": { 353 "type": "string" 354 } 355 }, 356 "additionalProperties": false, 357 "type": "object" 358 }, 359 "sparkle": { 360 "properties": { 361 "disabled": { 362 "type": "boolean" 363 }, 364 "folder": { 365 "type": "string" 366 }, 367 "title": { 368 "type": "string" 369 }, 370 "description": { 371 "type": "string" 372 }, 373 "filename": { 374 "type": "string" 375 }, 376 "detect-os": { 377 "additionalProperties": { 378 "type": "string" 379 }, 380 "type": "object" 381 }, 382 "params": { 383 "items": { 384 "properties": { 385 "os": { 386 "type": "string", 387 "enum": [ 388 "macos", 389 "windows", 390 "windows-x86", 391 "windows-x64" 392 ] 393 }, 394 "version": { 395 "type": "string" 396 }, 397 "installer-arguments": { 398 "type": "string" 399 }, 400 "minimum-system-version": { 401 "type": "string" 402 }, 403 "minimum-autoupdate-version": { 404 "type": "string" 405 }, 406 "ignore-skipped-upgrades-below-version": { 407 "type": "string" 408 }, 409 "critical-update": { 410 "type": "boolean" 411 }, 412 "critical-update-below-version": { 413 "type": "string" 414 } 415 }, 416 "additionalProperties": false, 417 "type": "object" 418 }, 419 "type": "array" 420 } 421 }, 422 "additionalProperties": false, 423 "type": "object" 424 }, 425 "appinstaller": { 426 "properties": { 427 "disabled": { 428 "type": "boolean" 429 }, 430 "folder": { 431 "type": "string" 432 }, 433 "on-launch": { 434 "properties": { 435 "hours-between-update-checks": { 436 "type": "integer", 437 "maximum": 255, 438 "minimum": 0 439 }, 440 "show-prompt": { 441 "type": "boolean" 442 }, 443 "update-blocks-activation": { 444 "type": "boolean" 445 } 446 }, 447 "additionalProperties": false, 448 "type": "object" 449 }, 450 "automatic-background-task": { 451 "type": "boolean" 452 }, 453 "force-update-from-any-version": { 454 "type": "boolean" 455 } 456 }, 457 "additionalProperties": false, 458 "type": "object" 459 } 460 }, 461 "additionalProperties": false, 462 "type": "object", 463 "required": [ 464 "source", 465 "target" 466 ] 467 }