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  }