plugins: support for ostree specific options

OStree compose requests need special options, like the `ref` the
`parent` and the `url`. Add support for those options to all three
plugins:
  The command line plugin now takes `--ostree-{parent,ref,url}`
  and passes it to koji via the existing options dictionary.

  The JSON schemata in the hub plugin was adjusted to allow these
  new options.

  Finally the builder plugin will look for the new `ostree` dict
  inside the options, create an `OSTreeOptions` object from it,
  and attach it to each image request.

NB: since the ostree options are per image request and are thus
architecture dependent we support a "$arch" substition in the
`parent` and `ref` options that will be resolved by the plugin;
this allows to builds arch specific commits for with a single
compose request.

Add the respective unit tests.
This commit is contained in:
Christian Kellner 2022-02-14 10:02:11 +00:00 committed by Achilleas Koutsou
parent ce21817676
commit 78ed04dbd6
5 changed files with 189 additions and 2 deletions

View file

@ -49,11 +49,31 @@ OSBUILD_IMAGE_SCHEMA = {
"$ref": "#/definitions/options"
}],
"definitions": {
"options":{
"ostree": {
"title": "OSTree specific options",
"type": "object",
"additionalProperties": False,
"properties": {
"parent": {
"type": "string"
},
"ref": {
"type": "string"
},
"url": {
"type": "string"
}
}
},
"options": {
"title": "Optional arguments",
"type": "object",
"additionalProperties": False,
"properties": {
"ostree": {
"type": "object",
"$ref": "#/definitions/ostree"
},
"repo": {
"type": "array",
"description": "Repositories",