github.com/abemedia/appcast@v0.4.0/pkg/pipe/testdata/jsonschema.json (about)

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