From e52bdf71e560823984a698984959e8ccd12cfee6 Mon Sep 17 00:00:00 2001 From: Michael Vogt Date: Mon, 28 Jul 2025 17:55:16 +0200 Subject: [PATCH 1/7] go.mod: move to latest "images" release This commit moves to images v0.166.0 --- bib/go.mod | 43 +++++++------------ bib/go.sum | 118 +++++++++++++++++++---------------------------------- 2 files changed, 56 insertions(+), 105 deletions(-) diff --git a/bib/go.mod b/bib/go.mod index 50e30889..b7ed2cf0 100644 --- a/bib/go.mod +++ b/bib/go.mod @@ -6,7 +6,7 @@ require ( github.com/cheggaaa/pb/v3 v3.1.7 github.com/hashicorp/go-version v1.7.0 github.com/osbuild/image-builder-cli v0.0.0-20250331194259-63bb56e12db3 - github.com/osbuild/images v0.164.0 + github.com/osbuild/images v0.166.0 github.com/sirupsen/logrus v1.9.3 github.com/spf13/cobra v1.9.1 github.com/spf13/pflag v1.0.7 @@ -16,31 +16,30 @@ require ( ) require ( - dario.cat/mergo v1.0.1 // indirect + dario.cat/mergo v1.0.2 // indirect github.com/BurntSushi/toml v1.5.1-0.20250403130103-3d3abc24416a // indirect github.com/Microsoft/go-winio v0.6.2 // indirect - github.com/Microsoft/hcsshim v0.12.9 // indirect + github.com/Microsoft/hcsshim v0.13.0 // indirect github.com/VividCortex/ewma v1.2.0 // indirect github.com/acarl005/stripansi v0.0.0-20180116102854-5a71ef0e047d // indirect - github.com/asaskevich/govalidator v0.0.0-20230301143203-a9d515a09cc2 // indirect github.com/aws/aws-sdk-go v1.55.7 // indirect github.com/containerd/cgroups/v3 v3.0.5 // indirect github.com/containerd/errdefs v1.0.0 // indirect github.com/containerd/errdefs/pkg v0.3.0 // indirect github.com/containerd/stargz-snapshotter/estargz v0.16.3 // indirect github.com/containerd/typeurl/v2 v2.2.3 // indirect - github.com/containers/common v0.63.1 // indirect - github.com/containers/image/v5 v5.35.0 // indirect + github.com/containers/common v0.64.0 // indirect + github.com/containers/image/v5 v5.36.0 // indirect github.com/containers/libtrust v0.0.0-20230121012942-c1716e8a8d01 // indirect github.com/containers/ocicrypt v1.2.1 // indirect - github.com/containers/storage v1.58.0 // indirect + github.com/containers/storage v1.59.0 // indirect github.com/coreos/go-semver v0.3.1 // indirect github.com/cyberphone/json-canonicalization v0.0.0-20241213102144-19d51d7fe467 // indirect github.com/cyphar/filepath-securejoin v0.4.1 // indirect github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect github.com/distribution/reference v0.6.0 // indirect github.com/docker/distribution v2.8.3+incompatible // indirect - github.com/docker/docker v28.0.4+incompatible // indirect + github.com/docker/docker v28.3.2+incompatible // indirect github.com/docker/docker-credential-helpers v0.9.3 // indirect github.com/docker/go-connections v0.5.0 // indirect github.com/docker/go-units v0.5.0 // indirect @@ -49,16 +48,6 @@ require ( github.com/go-jose/go-jose/v4 v4.0.5 // indirect github.com/go-logr/logr v1.4.3 // indirect github.com/go-logr/stdr v1.2.2 // indirect - github.com/go-openapi/analysis v0.23.0 // indirect - github.com/go-openapi/errors v0.22.1 // indirect - github.com/go-openapi/jsonpointer v0.21.1 // indirect - github.com/go-openapi/jsonreference v0.21.0 // indirect - github.com/go-openapi/loads v0.22.0 // indirect - github.com/go-openapi/runtime v0.28.0 // indirect - github.com/go-openapi/spec v0.21.0 // indirect - github.com/go-openapi/strfmt v0.23.0 // indirect - github.com/go-openapi/swag v0.23.1 // indirect - github.com/go-openapi/validate v0.24.0 // indirect github.com/gobwas/glob v0.2.3 // indirect github.com/gogo/protobuf v1.3.2 // indirect github.com/golang/groupcache v0.0.0-20241129210726-2c02b8208cf8 // indirect @@ -71,32 +60,27 @@ require ( github.com/hashicorp/go-multierror v1.1.1 // indirect github.com/inconshreveable/mousetrap v1.1.0 // indirect github.com/jmespath/go-jmespath v0.4.1-0.20220621161143-b0104c826a24 // indirect - github.com/josharian/intern v1.0.0 // indirect github.com/json-iterator/go v1.1.12 // indirect github.com/klauspost/compress v1.18.0 // indirect github.com/klauspost/pgzip v1.2.6 // indirect github.com/letsencrypt/boulder v0.0.0-20240620165639-de9c06129bec // indirect - github.com/mailru/easyjson v0.9.0 // indirect github.com/mattn/go-colorable v0.1.14 // indirect github.com/mattn/go-isatty v0.0.20 // indirect github.com/mattn/go-runewidth v0.0.16 // indirect - github.com/mattn/go-sqlite3 v1.14.27 // indirect + github.com/mattn/go-sqlite3 v1.14.28 // indirect github.com/miekg/pkcs11 v1.1.1 // indirect github.com/mistifyio/go-zfs/v3 v3.0.1 // indirect - github.com/mitchellh/mapstructure v1.5.0 // indirect github.com/moby/docker-image-spec v1.3.1 // indirect github.com/moby/sys/capability v0.4.0 // indirect github.com/moby/sys/mountinfo v0.7.2 // indirect github.com/moby/sys/user v0.4.0 // indirect github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect github.com/modern-go/reflect2 v1.0.2 // indirect - github.com/oklog/ulid v1.3.1 // indirect github.com/opencontainers/go-digest v1.0.0 // indirect github.com/opencontainers/image-spec v1.1.1 // indirect github.com/opencontainers/runtime-spec v1.2.1 // indirect github.com/opencontainers/selinux v1.12.0 // indirect github.com/osbuild/blueprint v1.10.0 // indirect - github.com/ostreedev/ostree-go v0.0.0-20210805093236-719684c64e4f // indirect github.com/pkg/errors v0.9.1 // indirect github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect github.com/proglottis/gpgme v0.1.4 // indirect @@ -104,17 +88,15 @@ require ( github.com/secure-systems-lab/go-securesystemslib v0.9.0 // indirect github.com/sigstore/fulcio v1.6.6 // indirect github.com/sigstore/protobuf-specs v0.4.1 // indirect - github.com/sigstore/rekor v1.3.10 // indirect - github.com/sigstore/sigstore v1.9.3 // indirect + github.com/sigstore/sigstore v1.9.5 // indirect github.com/smallstep/pkcs7 v0.1.1 // indirect github.com/stefanberger/go-pkcs11uri v0.0.0-20230803200340-78284954bff6 // indirect github.com/sylabs/sif/v2 v2.21.1 // indirect - github.com/tchap/go-patricia/v2 v2.3.2 // indirect + github.com/tchap/go-patricia/v2 v2.3.3 // indirect github.com/titanous/rocacheck v0.0.0-20171023193734-afe73141d399 // indirect github.com/ulikunitz/xz v0.5.12 // indirect github.com/vbatts/tar-split v0.12.1 // indirect - github.com/vbauerster/mpb/v8 v8.9.3 // indirect - go.mongodb.org/mongo-driver v1.14.0 // indirect + github.com/vbauerster/mpb/v8 v8.10.2 // indirect go.opencensus.io v0.24.0 // indirect go.opentelemetry.io/auto/sdk v1.1.0 // indirect go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.61.0 // indirect @@ -132,4 +114,7 @@ require ( google.golang.org/grpc v1.73.0 // indirect google.golang.org/protobuf v1.36.6 // indirect gopkg.in/ini.v1 v1.67.0 // indirect + gopkg.in/yaml.v2 v2.4.0 // indirect ) + +replace github.com/osbuild/images => github.com/mvo5/images v0.0.0-20250728153851-300c89499c5a diff --git a/bib/go.sum b/bib/go.sum index 0928dfb4..38985d54 100644 --- a/bib/go.sum +++ b/bib/go.sum @@ -1,23 +1,19 @@ cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= -dario.cat/mergo v1.0.1 h1:Ra4+bf83h2ztPIQYNP99R6m+Y7KfnARDfID+a+vLl4s= -dario.cat/mergo v1.0.1/go.mod h1:uNxQE+84aUszobStD9th8a29P2fMDhsBdgRYvZOxGmk= -github.com/14rcole/gopopulate v0.0.0-20180821133914-b175b219e774 h1:SCbEWT58NSt7d2mcFdvxC9uyrdcTfvBbPLThhkDmXzg= -github.com/14rcole/gopopulate v0.0.0-20180821133914-b175b219e774/go.mod h1:6/0dYRLLXyJjbkIPeeGyoJ/eKOSI0eU6eTlCBYibgd0= -github.com/Azure/go-ansiterm v0.0.0-20230124172434-306776ec8161 h1:L/gRVlceqvL25UVaW/CKtUDjefjrs0SPonmDGUVOYP0= -github.com/Azure/go-ansiterm v0.0.0-20230124172434-306776ec8161/go.mod h1:xomTg63KZ2rFqZQzSB4Vz2SUXa1BpHTVz9L5PTmPC4E= +dario.cat/mergo v1.0.2 h1:85+piFYR1tMbRrLcDwR18y4UKJ3aH1Tbzi24VRW1TK8= +dario.cat/mergo v1.0.2/go.mod h1:E/hbnu0NxMFBjpMIE34DRGLWqDy0g5FuKDhCb31ngxA= +github.com/Azure/go-ansiterm v0.0.0-20250102033503-faa5f7b0171c h1:udKWzYgxTojEKWjV8V+WSxDXJ4NFATAsZjh8iIbsQIg= +github.com/Azure/go-ansiterm v0.0.0-20250102033503-faa5f7b0171c/go.mod h1:xomTg63KZ2rFqZQzSB4Vz2SUXa1BpHTVz9L5PTmPC4E= github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= github.com/BurntSushi/toml v1.5.1-0.20250403130103-3d3abc24416a h1:pRZNZLyCUkX30uKttIh5ihOtsqCgugM+a4WTxUULiMw= github.com/BurntSushi/toml v1.5.1-0.20250403130103-3d3abc24416a/go.mod h1:ukJfTF/6rtPPRCnwkur4qwRxa8vTRFBF0uk2lLoLwho= github.com/Microsoft/go-winio v0.6.2 h1:F2VQgta7ecxGYO8k3ZZz3RS8fVIXVxONVUPlNERoyfY= github.com/Microsoft/go-winio v0.6.2/go.mod h1:yd8OoFMLzJbo9gZq8j5qaps8bJ9aShtEA8Ipt1oGCvU= -github.com/Microsoft/hcsshim v0.12.9 h1:2zJy5KA+l0loz1HzEGqyNnjd3fyZA31ZBCGKacp6lLg= -github.com/Microsoft/hcsshim v0.12.9/go.mod h1:fJ0gkFAna6ukt0bLdKB8djt4XIJhF/vEPuoIWYVvZ8Y= +github.com/Microsoft/hcsshim v0.13.0 h1:/BcXOiS6Qi7N9XqUcv27vkIuVOkBEcWstd2pMlWSeaA= +github.com/Microsoft/hcsshim v0.13.0/go.mod h1:9KWJ/8DgU+QzYGupX4tzMhRQE8h6w90lH6HAaclpEok= github.com/VividCortex/ewma v1.2.0 h1:f58SaIzcDXrSy3kWaHNvuJgJ3Nmz59Zji6XoJR/q1ow= github.com/VividCortex/ewma v1.2.0/go.mod h1:nz4BbCtbLyFDeC9SUHbtcT5644juEuWfUAUnGx7j5l4= github.com/acarl005/stripansi v0.0.0-20180116102854-5a71ef0e047d h1:licZJFw2RwpHMqeKTCYkitsPqHNxTmd4SNR5r94FGM8= github.com/acarl005/stripansi v0.0.0-20180116102854-5a71ef0e047d/go.mod h1:asat636LX7Bqt5lYEZ27JNDcqxfjdBQuJ/MM4CN/Lzo= -github.com/asaskevich/govalidator v0.0.0-20230301143203-a9d515a09cc2 h1:DklsrG3dyBCFEj5IhUbnKptjxatkF07cF2ak3yi77so= -github.com/asaskevich/govalidator v0.0.0-20230301143203-a9d515a09cc2/go.mod h1:WaHUgvxTVq04UNunO+XhnAqY/wQc+bxr74GqbsZ/Jqw= github.com/aws/aws-sdk-go v1.55.7 h1:UJrkFq7es5CShfBwlWAC8DA077vp8PyVbQd3lqLiztE= github.com/aws/aws-sdk-go v1.55.7/go.mod h1:eRwEWoyTWFMVYVQzKMNHWP5/RV4xIUGMQfXQHfHkpNU= github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= @@ -43,16 +39,16 @@ github.com/containerd/stargz-snapshotter/estargz v0.16.3 h1:7evrXtoh1mSbGj/pfRcc github.com/containerd/stargz-snapshotter/estargz v0.16.3/go.mod h1:uyr4BfYfOj3G9WBVE8cOlQmXAbPN9VEQpBBeJIuOipU= github.com/containerd/typeurl/v2 v2.2.3 h1:yNA/94zxWdvYACdYO8zofhrTVuQY73fFU1y++dYSw40= github.com/containerd/typeurl/v2 v2.2.3/go.mod h1:95ljDnPfD3bAbDJRugOiShd/DlAAsxGtUBhJxIn7SCk= -github.com/containers/common v0.63.1 h1:6g02gbW34PaRVH4Heb2Pk11x0SdbQ+8AfeKKeQGqYBE= -github.com/containers/common v0.63.1/go.mod h1:+3GCotSqNdIqM3sPs152VvW7m5+Mg8Kk+PExT3G9hZw= -github.com/containers/image/v5 v5.35.0 h1:T1OeyWp3GjObt47bchwD9cqiaAm/u4O4R9hIWdrdrP8= -github.com/containers/image/v5 v5.35.0/go.mod h1:8vTsgb+1gKcBL7cnjyNOInhJQfTUQjJoO2WWkKDoebM= +github.com/containers/common v0.64.0 h1:Jdjq1e5tqrLov9tcAVc/AfvQCgX4krhcfDBgOXwrSfw= +github.com/containers/common v0.64.0/go.mod h1:bq2UIiFP8vUJdgM+WN8E8jkD7wF69SpDRGzU7epJljg= +github.com/containers/image/v5 v5.36.0 h1:Zh+xFcLjRmicnOT5AFPHH/xj+e3s9ojDN/9X2Kx1+Jo= +github.com/containers/image/v5 v5.36.0/go.mod h1:VZ6cyDHbxZoOt4dklUJ+WNEH9FrgSgfH3qUBYKFlcT0= github.com/containers/libtrust v0.0.0-20230121012942-c1716e8a8d01 h1:Qzk5C6cYglewc+UyGf6lc8Mj2UaPTHy/iF2De0/77CA= github.com/containers/libtrust v0.0.0-20230121012942-c1716e8a8d01/go.mod h1:9rfv8iPl1ZP7aqh9YA68wnZv2NUDbXdcdPHVz0pFbPY= github.com/containers/ocicrypt v1.2.1 h1:0qIOTT9DoYwcKmxSt8QJt+VzMY18onl9jUXsxpVhSmM= github.com/containers/ocicrypt v1.2.1/go.mod h1:aD0AAqfMp0MtwqWgHM1bUwe1anx0VazI108CRrSKINQ= -github.com/containers/storage v1.58.0 h1:Q7SyyCCjqgT3wYNgRNIL8o/wUS92heIj2/cc8Sewvcc= -github.com/containers/storage v1.58.0/go.mod h1:w7Jl6oG+OpeLGLzlLyOZPkmUso40kjpzgrHUk5tyBlo= +github.com/containers/storage v1.59.0 h1:r2pYSTzQpJTROZbjJQ54Z0GT+rUC6+wHzlSY8yPjsXk= +github.com/containers/storage v1.59.0/go.mod h1:KoAYHnAjP3/cTsRS+mmWZGkufSY2GACiKQ4V3ZLQnR0= github.com/coreos/go-semver v0.3.1 h1:yi21YpKnrx1gt5R+la8n5WgS0kCrsPp33dmEyHReZr4= github.com/coreos/go-semver v0.3.1/go.mod h1:irMmmIw/7yzSRPWryHsK7EYSg09caPQL03VsM8rvUec= github.com/cpuguy83/go-md2man/v2 v2.0.6/go.mod h1:oOW0eioCTA6cOiMLiUPZOpcVxMig6NIQQ7OS05n1F4g= @@ -66,12 +62,12 @@ github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc h1:U9qPSI2PIWSS1 github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/distribution/reference v0.6.0 h1:0IXCQ5g4/QMHHkarYzh5l+u8T3t73zM5QvfrDyIgxBk= github.com/distribution/reference v0.6.0/go.mod h1:BbU0aIcezP1/5jX/8MP0YiH4SdvB5Y4f/wlDRiLyi3E= -github.com/docker/cli v28.0.4+incompatible h1:pBJSJeNd9QeIWPjRcV91RVJihd/TXB77q1ef64XEu4A= -github.com/docker/cli v28.0.4+incompatible/go.mod h1:JLrzqnKDaYBop7H2jaqPtU4hHvMKP+vjCwu2uszcLI8= +github.com/docker/cli v28.3.2+incompatible h1:mOt9fcLE7zaACbxW1GeS65RI67wIJrTnqS3hP2huFsY= +github.com/docker/cli v28.3.2+incompatible/go.mod h1:JLrzqnKDaYBop7H2jaqPtU4hHvMKP+vjCwu2uszcLI8= github.com/docker/distribution v2.8.3+incompatible h1:AtKxIZ36LoNK51+Z6RpzLpddBirtxJnzDrHLEKxTAYk= github.com/docker/distribution v2.8.3+incompatible/go.mod h1:J2gT2udsDAN96Uj4KfcMRqY0/ypR+oyYUYmja8H+y+w= -github.com/docker/docker v28.0.4+incompatible h1:JNNkBctYKurkw6FrHfKqY0nKIDf5nrbxjVBtS+cdcok= -github.com/docker/docker v28.0.4+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= +github.com/docker/docker v28.3.2+incompatible h1:wn66NJ6pWB1vBZIilP8G3qQPqHy5XymfYn5vsqeA5oA= +github.com/docker/docker v28.3.2+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= github.com/docker/docker-credential-helpers v0.9.3 h1:gAm/VtF9wgqJMoxzT3Gj5p4AqIjCBS4wrsOh9yRqcz8= github.com/docker/docker-credential-helpers v0.9.3/go.mod h1:x+4Gbw9aGmChi3qTLZj8Dfn0TD20M/fuWy0E5+WDeCo= github.com/docker/go-connections v0.5.0 h1:USnMq7hx7gwdVZq1L49hLXaFtUdTADjXGp+uj1Br63c= @@ -95,26 +91,6 @@ github.com/go-logr/logr v1.4.3 h1:CjnDlHq8ikf6E492q6eKboGOC0T8CDaOvkHCIg8idEI= github.com/go-logr/logr v1.4.3/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag= github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE= -github.com/go-openapi/analysis v0.23.0 h1:aGday7OWupfMs+LbmLZG4k0MYXIANxcuBTYUC03zFCU= -github.com/go-openapi/analysis v0.23.0/go.mod h1:9mz9ZWaSlV8TvjQHLl2mUW2PbZtemkE8yA5v22ohupo= -github.com/go-openapi/errors v0.22.1 h1:kslMRRnK7NCb/CvR1q1VWuEQCEIsBGn5GgKD9e+HYhU= -github.com/go-openapi/errors v0.22.1/go.mod h1:+n/5UdIqdVnLIJ6Q9Se8HNGUXYaY6CN8ImWzfi/Gzp0= -github.com/go-openapi/jsonpointer v0.21.1 h1:whnzv/pNXtK2FbX/W9yJfRmE2gsmkfahjMKB0fZvcic= -github.com/go-openapi/jsonpointer v0.21.1/go.mod h1:50I1STOfbY1ycR8jGz8DaMeLCdXiI6aDteEdRNNzpdk= -github.com/go-openapi/jsonreference v0.21.0 h1:Rs+Y7hSXT83Jacb7kFyjn4ijOuVGSvOdF2+tg1TRrwQ= -github.com/go-openapi/jsonreference v0.21.0/go.mod h1:LmZmgsrTkVg9LG4EaHeY8cBDslNPMo06cago5JNLkm4= -github.com/go-openapi/loads v0.22.0 h1:ECPGd4jX1U6NApCGG1We+uEozOAvXvJSF4nnwHZ8Aco= -github.com/go-openapi/loads v0.22.0/go.mod h1:yLsaTCS92mnSAZX5WWoxszLj0u+Ojl+Zs5Stn1oF+rs= -github.com/go-openapi/runtime v0.28.0 h1:gpPPmWSNGo214l6n8hzdXYhPuJcGtziTOgUpvsFWGIQ= -github.com/go-openapi/runtime v0.28.0/go.mod h1:QN7OzcS+XuYmkQLw05akXk0jRH/eZ3kb18+1KwW9gyc= -github.com/go-openapi/spec v0.21.0 h1:LTVzPc3p/RzRnkQqLRndbAzjY0d0BCL72A6j3CdL9ZY= -github.com/go-openapi/spec v0.21.0/go.mod h1:78u6VdPw81XU44qEWGhtr982gJ5BWg2c0I5XwVMotYk= -github.com/go-openapi/strfmt v0.23.0 h1:nlUS6BCqcnAk0pyhi9Y+kdDVZdZMHfEKQiS4HaMgO/c= -github.com/go-openapi/strfmt v0.23.0/go.mod h1:NrtIpfKtWIygRkKVsxh7XQMDQW5HKQl6S5ik2elW+K4= -github.com/go-openapi/swag v0.23.1 h1:lpsStH0n2ittzTnbaSloVZLuB5+fvSY/+hnagBjSNZU= -github.com/go-openapi/swag v0.23.1/go.mod h1:STZs8TbRvEQQKUA+JZNAm3EWlgaOBGpyFDqQnDHMef0= -github.com/go-openapi/validate v0.24.0 h1:LdfDKwNbpB6Vn40xhTdNZAnfLECL81w+VX3BumrGD58= -github.com/go-openapi/validate v0.24.0/go.mod h1:iyeX1sEufmv3nPbBdX3ieNviWnOZaJ1+zquzJEf2BAQ= github.com/go-test/deep v1.1.1 h1:0r/53hagsehfO4bzD2Pgr/+RgHqhmf+k1Bpse2cTu1U= github.com/go-test/deep v1.1.1/go.mod h1:5C2ZWiW0ErCdrYzpqxLbTX7MG14M9iiw8DgHncVwcsE= github.com/gobwas/glob v0.2.3 h1:A4xDbljILXROh+kObIiy5kIaPYD8e96x1tgBhUI5J+Y= @@ -174,8 +150,6 @@ github.com/jmespath/go-jmespath/internal/testify v1.5.1 h1:shLQSRRSCCPj3f2gpwzGw github.com/jmespath/go-jmespath/internal/testify v1.5.1/go.mod h1:L3OGu8Wl2/fWfCI6z80xFu9LTZmf1ZRjMHUOPmWr69U= github.com/jmhodges/clock v1.2.0 h1:eq4kys+NI0PLngzaHEe7AmPT90XMGIEySD1JfV1PDIs= github.com/jmhodges/clock v1.2.0/go.mod h1:qKjhA7x7u/lQpPB1XAqX1b1lCI/w3/fNuYpI/ZjLynI= -github.com/josharian/intern v1.0.0 h1:vlS4z54oSdjm0bgjRigI+G1HpF+tI+9rE5LLzOg8HmY= -github.com/josharian/intern v1.0.0/go.mod h1:5DoeVV0s6jJacbCEi61lwdGj/aVlrQvzHFFd8Hwg//Y= github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM= github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= @@ -190,28 +164,28 @@ github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= github.com/letsencrypt/boulder v0.0.0-20240620165639-de9c06129bec h1:2tTW6cDth2TSgRbAhD7yjZzTQmcN25sDRPEeinR51yQ= github.com/letsencrypt/boulder v0.0.0-20240620165639-de9c06129bec/go.mod h1:TmwEoGCwIti7BCeJ9hescZgRtatxRE+A72pCoPfmcfk= -github.com/mailru/easyjson v0.9.0 h1:PrnmzHw7262yW8sTBwxi1PdJA3Iw/EKBa8psRf7d9a4= -github.com/mailru/easyjson v0.9.0/go.mod h1:1+xMtQp2MRNVL/V1bOzuP3aP8VNwRW55fQUto+XFtTU= github.com/mattn/go-colorable v0.1.14 h1:9A9LHSqF/7dyVVX6g0U9cwm9pG3kP9gSzcuIPHPsaIE= github.com/mattn/go-colorable v0.1.14/go.mod h1:6LmQG8QLFO4G5z1gPvYEzlUgJ2wF+stgPZH1UqBm1s8= github.com/mattn/go-isatty v0.0.20 h1:xfD0iDuEKnDkl03q4limB+vH+GxLEtL/jb4xVJSWWEY= github.com/mattn/go-isatty v0.0.20/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y= github.com/mattn/go-runewidth v0.0.16 h1:E5ScNMtiwvlvB5paMFdw9p4kSQzbXFikJ5SQO6TULQc= github.com/mattn/go-runewidth v0.0.16/go.mod h1:Jdepj2loyihRzMpdS35Xk/zdY8IAYHsh153qUoGf23w= -github.com/mattn/go-sqlite3 v1.14.27 h1:drZCnuvf37yPfs95E5jd9s3XhdVWLal+6BOK6qrv6IU= -github.com/mattn/go-sqlite3 v1.14.27/go.mod h1:Uh1q+B4BYcTPb+yiD3kU8Ct7aC0hY9fxUwlHK0RXw+Y= +github.com/mattn/go-sqlite3 v1.14.28 h1:ThEiQrnbtumT+QMknw63Befp/ce/nUPgBPMlRFEum7A= +github.com/mattn/go-sqlite3 v1.14.28/go.mod h1:Uh1q+B4BYcTPb+yiD3kU8Ct7aC0hY9fxUwlHK0RXw+Y= github.com/miekg/pkcs11 v1.1.1 h1:Ugu9pdy6vAYku5DEpVWVFPYnzV+bxB+iRdbuFSu7TvU= github.com/miekg/pkcs11 v1.1.1/go.mod h1:XsNlhZGX73bx86s2hdc/FuaLm2CPZJemRLMA+WTFxgs= github.com/mistifyio/go-zfs/v3 v3.0.1 h1:YaoXgBePoMA12+S1u/ddkv+QqxcfiZK4prI6HPnkFiU= github.com/mistifyio/go-zfs/v3 v3.0.1/go.mod h1:CzVgeB0RvF2EGzQnytKVvVSDwmKJXxkOTUGbNrTja/k= -github.com/mitchellh/mapstructure v1.5.0 h1:jeMsZIYE/09sWLaz43PL7Gy6RuMjD2eJVyuac5Z2hdY= -github.com/mitchellh/mapstructure v1.5.0/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= github.com/moby/docker-image-spec v1.3.1 h1:jMKff3w6PgbfSa69GfNg+zN/XLhfXJGnEx3Nl2EsFP0= github.com/moby/docker-image-spec v1.3.1/go.mod h1:eKmb5VW8vQEh/BAr2yvVNvuiJuY6UIocYsFu/DxxRpo= +github.com/moby/sys/atomicwriter v0.1.0 h1:kw5D/EqkBwsBFi0ss9v1VG3wIkVhzGvLklJ+w3A14Sw= +github.com/moby/sys/atomicwriter v0.1.0/go.mod h1:Ul8oqv2ZMNHOceF643P6FKPXeCmYtlQMvpizfsSoaWs= github.com/moby/sys/capability v0.4.0 h1:4D4mI6KlNtWMCM1Z/K0i7RV1FkX+DBDHKVJpCndZoHk= github.com/moby/sys/capability v0.4.0/go.mod h1:4g9IK291rVkms3LKCDOoYlnV8xKwoDTpIrNEE35Wq0I= github.com/moby/sys/mountinfo v0.7.2 h1:1shs6aH5s4o5H2zQLn796ADW1wMrIwHsyJ2v9KouLrg= github.com/moby/sys/mountinfo v0.7.2/go.mod h1:1YOa8w8Ih7uW0wALDUgT1dTTSBrZ+HiBLGws92L2RU4= +github.com/moby/sys/sequential v0.5.0 h1:OPvI35Lzn9K04PBbCLW0g4LcFAJgHsvXsRyewg5lXtc= +github.com/moby/sys/sequential v0.5.0/go.mod h1:tH2cOOs5V9MlPiXcQzRC+eEyab644PWKGRYaaV5ZZlo= github.com/moby/sys/user v0.4.0 h1:jhcMKit7SA80hivmFJcbB1vqmw//wU61Zdui2eQXuMs= github.com/moby/sys/user v0.4.0/go.mod h1:bG+tYYYJgaMtRKgEmuueC0hJEAZWwtIbZTB+85uoHjs= github.com/moby/term v0.5.2 h1:6qk3FJAFDs6i/q3W/pQ97SX192qKfZgGjCQqfCJkgzQ= @@ -225,8 +199,8 @@ github.com/morikuni/aec v1.0.0 h1:nP9CBfwrvYnBRgY6qfDQkygYDmYwOilePFkwzv4dU8A= github.com/morikuni/aec v1.0.0/go.mod h1:BbKIizmSmc5MMPqRYbxO4ZU0S0+P200+tUnFx7PXmsc= github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 h1:C3w9PqII01/Oq1c1nUAm88MOHcQC9l5mIlSMApZMrHA= github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= -github.com/oklog/ulid v1.3.1 h1:EGfNDEx6MqHz8B3uNV6QAib1UR2Lm97sHi3ocA6ESJ4= -github.com/oklog/ulid v1.3.1/go.mod h1:CirwcVhetQ6Lv90oh/F+FBtV6XMibvdAFo93nm5qn4U= +github.com/mvo5/images v0.0.0-20250728153851-300c89499c5a h1:dD5d2M5Wj/Qae2cOXBBHZR7nFc6T+ZXVHtnksBwnPf0= +github.com/mvo5/images v0.0.0-20250728153851-300c89499c5a/go.mod h1:ug+8lHP2KMaFe5cWJ4EPBZUiwtVUWjqJ04oLB7Mdefg= github.com/opencontainers/go-digest v1.0.0 h1:apOUWs51W5PlhuyGyz9FCeeBIOUDA/6nW8Oi/yOhh5U= github.com/opencontainers/go-digest v1.0.0/go.mod h1:0JzlMkj0TRzQZfJkVvzbP0HBR3IKzErnv2BNG4W4MAM= github.com/opencontainers/image-spec v1.1.1 h1:y0fUlFfIZhPF1W537XOLg0/fcx6zcHCJwooC2xJA040= @@ -239,10 +213,6 @@ github.com/osbuild/blueprint v1.10.0 h1:6TG+mSV5kUA3Vq+0fc10MchDilBcDd8SEA8KbDFU github.com/osbuild/blueprint v1.10.0/go.mod h1:uknOfX/bAoi+dbeNJj+uAir1T++/LVEtoY8HO3U7MiQ= github.com/osbuild/image-builder-cli v0.0.0-20250331194259-63bb56e12db3 h1:M3yYunKH4quwJLQrnFo7dEwCTKorafNC+AUqAo7m5Yo= github.com/osbuild/image-builder-cli v0.0.0-20250331194259-63bb56e12db3/go.mod h1:0sEmiQiMo1ChSuOoeONN0RmsoZbQEvj2mlO2448gC5w= -github.com/osbuild/images v0.164.0 h1:FfrAmuwcL1peGsMHko2zeAN+6g6lDBY9cLVM6vacPPY= -github.com/osbuild/images v0.164.0/go.mod h1:/akyaFWxh7IN0ezlXB+6F4N/rKi/Vod1RAh8XLNzCKE= -github.com/ostreedev/ostree-go v0.0.0-20210805093236-719684c64e4f h1:/UDgs8FGMqwnHagNDPGOlts35QkhAZ8by3DR7nMih7M= -github.com/ostreedev/ostree-go v0.0.0-20210805093236-719684c64e4f/go.mod h1:J6OG6YJVEWopen4avK3VNQSnALmmjvniMmni/YFYAwc= github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= @@ -250,11 +220,11 @@ github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 h1:Jamvg5psRI github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/proglottis/gpgme v0.1.4 h1:3nE7YNA70o2aLjcg63tXMOhPD7bplfE5CBdV+hLAm2M= github.com/proglottis/gpgme v0.1.4/go.mod h1:5LoXMgpE4bttgwwdv9bLs/vwqv3qV7F4glEEZ7mRKrM= -github.com/prometheus/client_golang v1.21.1 h1:DOvXXTqVzvkIewV/CDPFdejpMCGeMcbGCQ8YOmu+Ibk= -github.com/prometheus/client_golang v1.21.1/go.mod h1:U9NM32ykUErtVBxdvD3zfi+EuFkkaBvMb09mIfe0Zgg= +github.com/prometheus/client_golang v1.22.0 h1:rb93p9lokFEsctTys46VnV1kLCDpVZ0a/Y92Vm0Zc6Q= +github.com/prometheus/client_golang v1.22.0/go.mod h1:R7ljNsLXhuQXYZYtw6GAE9AZg8Y7vEW5scdCXrWRXC0= github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= -github.com/prometheus/client_model v0.6.1 h1:ZKSh/rekM+n3CeS952MLRAdFwIKqeY8b62p8ais2e9E= -github.com/prometheus/client_model v0.6.1/go.mod h1:OrxVMOVHjw3lKMa8+x6HeMGkHMQyHDk9E3jmP2AmGiY= +github.com/prometheus/client_model v0.6.2 h1:oBsgwpGs7iVziMvrGhE53c/GrLUsZdHnqNwqPLxwZyk= +github.com/prometheus/client_model v0.6.2/go.mod h1:y3m2F6Gdpfy6Ut/GBsUqTWZqCUvMVzSfMLjcu6wAwpE= github.com/prometheus/common v0.62.0 h1:xasJaQlnWAeyHdUBeGjXmutelfJHWMRr+Fg4QszZ2Io= github.com/prometheus/common v0.62.0/go.mod h1:vyBcEuLSvWos9B1+CyL7JZ2up+uFzXhkqml0W5zIY1I= github.com/prometheus/procfs v0.15.1 h1:YagwOFzUgYfKKHX6Dr+sHT7km/hxC76UB0learggepc= @@ -265,8 +235,8 @@ github.com/rivo/uniseg v0.4.7/go.mod h1:FN3SvrM+Zdj16jyLfmOkMNblXMcoc8DfTHruCPUc github.com/rogpeppe/go-internal v1.13.1 h1:KvO1DLK/DRN07sQ1LQKScxyZJuNnedQ5/wKSR38lUII= github.com/rogpeppe/go-internal v1.13.1/go.mod h1:uMEvuHeurkdAXX61udpOXGD/AzZDWNMNyH2VO9fmH0o= github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= -github.com/santhosh-tekuri/jsonschema/v6 v6.0.1 h1:PKK9DyHxif4LZo+uQSgXNqs0jj5+xZwwfKHgph2lxBw= -github.com/santhosh-tekuri/jsonschema/v6 v6.0.1/go.mod h1:JXeL+ps8p7/KNMjDQk3TCwPpBy0wYklyWTfbkIzdIFU= +github.com/santhosh-tekuri/jsonschema/v6 v6.0.2 h1:KRzFb2m7YtdldCEkzs6KqmJw4nqEVZGK7IN2kJkjTuQ= +github.com/santhosh-tekuri/jsonschema/v6 v6.0.2/go.mod h1:JXeL+ps8p7/KNMjDQk3TCwPpBy0wYklyWTfbkIzdIFU= github.com/sebdah/goldie/v2 v2.5.5 h1:rx1mwF95RxZ3/83sdS4Yp7t2C5TCokvWP4TBRbAyEWY= github.com/sebdah/goldie/v2 v2.5.5/go.mod h1:oZ9fp0+se1eapSRjfYbsV/0Hqhbuu3bJVvKI/NNtssI= github.com/secure-systems-lab/go-securesystemslib v0.9.0 h1:rf1HIbL64nUpEIZnjLZ3mcNEL9NBPB0iuVjyxvq3LZc= @@ -277,10 +247,8 @@ github.com/sigstore/fulcio v1.6.6 h1:XaMYX6TNT+8n7Npe8D94nyZ7/ERjEsNGFC+REdi/wzw github.com/sigstore/fulcio v1.6.6/go.mod h1:BhQ22lwaebDgIxVBEYOOqLRcN5+xOV+C9bh/GUXRhOk= github.com/sigstore/protobuf-specs v0.4.1 h1:5SsMqZbdkcO/DNHudaxuCUEjj6x29tS2Xby1BxGU7Zc= github.com/sigstore/protobuf-specs v0.4.1/go.mod h1:+gXR+38nIa2oEupqDdzg4qSBT0Os+sP7oYv6alWewWc= -github.com/sigstore/rekor v1.3.10 h1:/mSvRo4MZ/59ECIlARhyykAlQlkmeAQpvBPlmJtZOCU= -github.com/sigstore/rekor v1.3.10/go.mod h1:JvryKJ40O0XA48MdzYUPu0y4fyvqt0C4iSY7ri9iu3A= -github.com/sigstore/sigstore v1.9.3 h1:y2qlTj+vh+Or3ictKuR3JUFawZPdDxAjrWkeFhon0OQ= -github.com/sigstore/sigstore v1.9.3/go.mod h1:VwYkiw0G0dRtwL25KSs04hCyVFF6CYMd/qvNeYrl7EQ= +github.com/sigstore/sigstore v1.9.5 h1:Wm1LT9yF4LhQdEMy5A2JeGRHTrAWGjT3ubE5JUSrGVU= +github.com/sigstore/sigstore v1.9.5/go.mod h1:VtxgvGqCmEZN9X2zhFSOkfXxvKUjpy8RpUW39oCtoII= github.com/sirupsen/logrus v1.9.3 h1:dueUQJ1C2q9oE3F7wvmSGAaVtTmUizReu6fjN8uqzbQ= github.com/sirupsen/logrus v1.9.3/go.mod h1:naHLuLoDiP4jHNo9R0sCBMtWGeIprob74mVsIT4qYEQ= github.com/smallstep/pkcs7 v0.1.1 h1:x+rPdt2W088V9Vkjho4KtoggyktZJlMduZAtRHm68LU= @@ -304,21 +272,19 @@ github.com/stretchr/testify v1.10.0 h1:Xv5erBjTwe/5IxqUQTdXv5kgmIvbHo3QQyRwhJsOf github.com/stretchr/testify v1.10.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= github.com/sylabs/sif/v2 v2.21.1 h1:GZ0b5//AFAqJEChd8wHV/uSKx/l1iuGYwjR8nx+4wPI= github.com/sylabs/sif/v2 v2.21.1/go.mod h1:YoqEGQnb5x/ItV653bawXHZJOXQaEWpGwHsSD3YePJI= -github.com/tchap/go-patricia/v2 v2.3.2 h1:xTHFutuitO2zqKAQ5rCROYgUb7Or/+IC3fts9/Yc7nM= -github.com/tchap/go-patricia/v2 v2.3.2/go.mod h1:VZRHKAb53DLaG+nA9EaYYiaEx6YztwDlLElMsnSHD4k= +github.com/tchap/go-patricia/v2 v2.3.3 h1:xfNEsODumaEcCcY3gI0hYPZ/PcpVv5ju6RMAhgwZDDc= +github.com/tchap/go-patricia/v2 v2.3.3/go.mod h1:VZRHKAb53DLaG+nA9EaYYiaEx6YztwDlLElMsnSHD4k= github.com/titanous/rocacheck v0.0.0-20171023193734-afe73141d399 h1:e/5i7d4oYZ+C1wj2THlRK+oAhjeS/TRQwMfkIuet3w0= github.com/titanous/rocacheck v0.0.0-20171023193734-afe73141d399/go.mod h1:LdwHTNJT99C5fTAzDz0ud328OgXz+gierycbcIx2fRs= github.com/ulikunitz/xz v0.5.12 h1:37Nm15o69RwBkXM0J6A5OlE67RZTfzUxTj8fB3dfcsc= github.com/ulikunitz/xz v0.5.12/go.mod h1:nbz6k7qbPmH4IRqmfOplQw/tblSgqTqBwxkY0oWt/14= github.com/vbatts/tar-split v0.12.1 h1:CqKoORW7BUWBe7UL/iqTVvkTBOF8UvOMKOIZykxnnbo= github.com/vbatts/tar-split v0.12.1/go.mod h1:eF6B6i6ftWQcDqEn3/iGFRFRo8cBIMSJVOpnNdfTMFA= -github.com/vbauerster/mpb/v8 v8.9.3 h1:PnMeF+sMvYv9u23l6DO6Q3+Mdj408mjLRXIzmUmU2Z8= -github.com/vbauerster/mpb/v8 v8.9.3/go.mod h1:hxS8Hz4C6ijnppDSIX6LjG8FYJSoPo9iIOcE53Zik0c= +github.com/vbauerster/mpb/v8 v8.10.2 h1:2uBykSHAYHekE11YvJhKxYmLATKHAGorZwFlyNw4hHM= +github.com/vbauerster/mpb/v8 v8.10.2/go.mod h1:+Ja4P92E3/CorSZgfDtK46D7AVbDqmBQRTmyTqPElo0= github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY= -go.mongodb.org/mongo-driver v1.14.0 h1:P98w8egYRjYe3XDjxhYJagTokP/H6HzlsnojRgZRd80= -go.mongodb.org/mongo-driver v1.14.0/go.mod h1:Vzb0Mk/pa7e6cWw85R4F/endUC3u0U9jGcNU603k65c= go.opencensus.io v0.24.0 h1:y73uSU6J157QMP2kn2r30vwW1A2W2WFwSCGnAVxeaD0= go.opencensus.io v0.24.0/go.mod h1:vNK8G9p7aAivkbmorf4v+7Hgx+Zs0yY+0fOtgBfjQKo= go.opentelemetry.io/auto/sdk v1.1.0 h1:cH53jehLUN6UFLY71z+NDOiNJqDdPRaXzTel0sJySYA= @@ -327,10 +293,10 @@ go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.61.0 h1:F7Jx+6h go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.61.0/go.mod h1:UHB22Z8QsdRDrnAtX4PntOl36ajSxcdUMt1sF7Y6E7Q= go.opentelemetry.io/otel v1.36.0 h1:UumtzIklRBY6cI/lllNZlALOF5nNIzJVb16APdvgTXg= go.opentelemetry.io/otel v1.36.0/go.mod h1:/TcFMXYjyRNh8khOAO9ybYkqaDBb/70aVwkNML4pP8E= -go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.33.0 h1:Vh5HayB/0HHfOQA7Ctx69E/Y/DcQSMPpKANYVMQ7fBA= -go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.33.0/go.mod h1:cpgtDBaqD/6ok/UG0jT15/uKjAY8mRA53diogHBg3UI= -go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.33.0 h1:wpMfgF8E1rkrT1Z6meFh1NDtownE9Ii3n3X2GJYjsaU= -go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.33.0/go.mod h1:wAy0T/dUbs468uOlkT31xjvqQgEVXv58BRFWEgn5v/0= +go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.32.0 h1:IJFEoHiytixx8cMiVAO+GmHR6Frwu+u5Ur8njpFO6Ac= +go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.32.0/go.mod h1:3rHrKNtLIoS0oZwkY2vxi+oJcwFRWdtUyRII+so45p8= +go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.35.0 h1:xJ2qHD0C1BeYVTLLR9sX12+Qb95kfeD/byKj6Ky1pXg= +go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.35.0/go.mod h1:u5BF1xyjstDowA1R5QAO9JHzqK+ublenEW/dyqTjBVk= go.opentelemetry.io/otel/metric v1.36.0 h1:MoWPKVhQvJ+eeXWHFBOPoBOi20jh6Iq2CcCREuTYufE= go.opentelemetry.io/otel/metric v1.36.0/go.mod h1:zC7Ks+yeyJt4xig9DEw9kuUFe5C3zLbVjV2PzT6qzbs= go.opentelemetry.io/otel/sdk v1.36.0 h1:b6SYIuLRs88ztox4EyrvRti80uXIFy+Sqzoh9kFULbs= @@ -339,8 +305,8 @@ go.opentelemetry.io/otel/sdk/metric v1.36.0 h1:r0ntwwGosWGaa0CrSt8cuNuTcccMXERFw go.opentelemetry.io/otel/sdk/metric v1.36.0/go.mod h1:qTNOhFDfKRwX0yXOqJYegL5WRaW376QbB7P4Pb0qva4= go.opentelemetry.io/otel/trace v1.36.0 h1:ahxWNuqZjpdiFAyrIoQ4GIiAIhxAunQR6MUoKrsNd4w= go.opentelemetry.io/otel/trace v1.36.0/go.mod h1:gQ+OnDZzrybY4k4seLzPAWNwVBBVlF2szhehOBB/tGA= -go.opentelemetry.io/proto/otlp v1.4.0 h1:TA9WRvW6zMwP+Ssb6fLoUIuirti1gGbP28GcKG1jgeg= -go.opentelemetry.io/proto/otlp v1.4.0/go.mod h1:PPBWZIP98o2ElSqI35IHfu7hIhSwvc5N38Jw8pXuGFY= +go.opentelemetry.io/proto/otlp v1.3.1 h1:TrMUixzpM0yuc/znrFTP9MMRh8trP93mkCiDVeXrui0= +go.opentelemetry.io/proto/otlp v1.3.1/go.mod h1:0X1WI4de4ZsLrrJNLAQbFeLCm3T7yBkR0XqQ7niQU+8= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= From 5aa17073dfe1682efda405583137e6fb47fe2ab7 Mon Sep 17 00:00:00 2001 From: Michael Vogt Date: Wed, 30 Jul 2025 09:09:48 +0200 Subject: [PATCH 2/7] fixup! copy newRNGSeed() from images to get stable rng numbers --- bib/cmd/bootc-image-builder/image.go | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/bib/cmd/bootc-image-builder/image.go b/bib/cmd/bootc-image-builder/image.go index 273fc59c..b26b7b00 100644 --- a/bib/cmd/bootc-image-builder/image.go +++ b/bib/cmd/bootc-image-builder/image.go @@ -7,6 +7,7 @@ import ( "math" "math/big" "math/rand" + "os" "slices" "strconv" "strings" @@ -667,13 +668,23 @@ func getDistroAndRunner(osRelease osinfo.OSRelease) (manifest.Distro, runner.Run return manifest.DISTRO_NULL, &runner.Linux{}, nil } +// XXX: copied from images:internal/cmdutil/rand.go +const RNG_SEED_ENV_KEY = "OSBUILD_TESTING_RNG_SEED" + func createRand() *rand.Rand { - seed, err := cryptorand.Int(cryptorand.Reader, big.NewInt(math.MaxInt64)) + if envSeedStr := os.Getenv(RNG_SEED_ENV_KEY); envSeedStr != "" { + envSeedInt, err := strconv.ParseInt(envSeedStr, 10, 64) + if err != nil { + panic(fmt.Errorf("failed to parse %s: %s", RNG_SEED_ENV_KEY, err)) + } + fmt.Fprintf(os.Stderr, "TEST MODE: using rng seed %d\n", envSeedInt) + return rand.New(rand.NewSource(envSeedInt)) + } + randSeed, err := cryptorand.Int(cryptorand.Reader, big.NewInt(math.MaxInt64)) if err != nil { - panic("Cannot generate an RNG seed.") + panic(fmt.Errorf("failed to generate random seed: %s", err)) } - // math/rand is good enough in this case /* #nosec G404 */ - return rand.New(rand.NewSource(seed.Int64())) + return rand.New(rand.NewSource(randSeed.Int64())) } From 3f51f0103d9e634b38cfab13b0d4de85d4c5b10e Mon Sep 17 00:00:00 2001 From: Michael Vogt Date: Wed, 23 Jul 2025 16:44:58 +0200 Subject: [PATCH 3/7] bib: use `manifestmock.ResolveContainers` from images With that we can compare manifests between bib and images, e.g. ``` $ go build && sudo IMAGE_BUILDER_EXPERIMENTAL=bib-mock-resolvers ./bootc-image-builder manifest -v --type qcow2 quay.io/centos-bootc/centos-bootc:stream9 |jq > bootc_centos_9-x86_64-qcow2-bootc_empty.json && diff -u bootc_centos_9-x86_64-qcow2-bootc_empty.json /tmp/new/bootc_centos_9-x86_64-qcow2-bootc_empty.json ``` to see the difference between bib and images for the same container. --- bib/cmd/bootc-image-builder/main.go | 29 +++++++++++++++++------------ 1 file changed, 17 insertions(+), 12 deletions(-) diff --git a/bib/cmd/bootc-image-builder/main.go b/bib/cmd/bootc-image-builder/main.go index 939d2fc4..8579560b 100644 --- a/bib/cmd/bootc-image-builder/main.go +++ b/bib/cmd/bootc-image-builder/main.go @@ -26,6 +26,7 @@ import ( "github.com/osbuild/images/pkg/dnfjson" "github.com/osbuild/images/pkg/experimentalflags" "github.com/osbuild/images/pkg/manifest" + "github.com/osbuild/images/pkg/manifestgen/manifestmock" "github.com/osbuild/images/pkg/osbuild" "github.com/osbuild/images/pkg/rpmmd" @@ -140,20 +141,24 @@ func makeManifest(c *ManifestConfig, solver *dnfjson.Solver, cacheRoot string) ( resolver := container.NewResolver(c.Architecture.String()) containerSpecs := make(map[string][]container.Spec) - for plName, sourceSpecs := range mani.GetContainerSourceSpecs() { - for _, c := range sourceSpecs { - resolver.Add(c) - } - specs, err := resolver.Finish() - if err != nil { - return nil, nil, fmt.Errorf("cannot resolve containers: %w", err) - } - for _, spec := range specs { - if spec.Arch != c.Architecture { - return nil, nil, fmt.Errorf("image found is for unexpected architecture %q (expected %q), if that is intentional, please make sure --target-arch matches", spec.Arch, c.Architecture) + if experimentalflags.Bool("bib-mock-resolvers") { + containerSpecs = manifestmock.ResolveContainers(mani.GetContainerSourceSpecs()) + } else { + for plName, sourceSpecs := range mani.GetContainerSourceSpecs() { + for _, c := range sourceSpecs { + resolver.Add(c) + } + specs, err := resolver.Finish() + if err != nil { + return nil, nil, fmt.Errorf("cannot resolve containers: %w", err) + } + for _, spec := range specs { + if spec.Arch != c.Architecture { + return nil, nil, fmt.Errorf("image found is for unexpected architecture %q (expected %q), if that is intentional, please make sure --target-arch matches", spec.Arch, c.Architecture) + } } + containerSpecs[plName] = specs } - containerSpecs[plName] = specs } var opts manifest.SerializeOptions From 89a5f5dbbca7ecd0a8641ea3ca704ea4ca9c4d2f Mon Sep 17 00:00:00 2001 From: Michael Vogt Date: Tue, 29 Jul 2025 09:31:51 +0200 Subject: [PATCH 4/7] tools: add gen-manifest helper Add a `gen-manifests` helper that creates mock manifests from the given image type. Its not perfect mocks as it still will look into the bootc ref (centos9). Its not generating checksums only because to compare from the manifests generated by bib and images its easier to work with full manifests and we only have very few of them in bib. --- tools/gen-manifests | 54 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 54 insertions(+) create mode 100755 tools/gen-manifests diff --git a/tools/gen-manifests b/tools/gen-manifests new file mode 100755 index 00000000..bfc93dec --- /dev/null +++ b/tools/gen-manifests @@ -0,0 +1,54 @@ +#!/usr/bin/bash +# +# Generates mock manifests (i.e. without real resolved content) +# XXX: copied from the images library, this is temporary until +# all image manifest generation for bib moves into "images" itself. + +set -euo pipefail + +tmpdir="$(mktemp -d)" +cleanup() { + rm -r "${tmpdir}" +} +trap cleanup EXIT + +manifests_dir="${1:-test/data/manifests}" +# XXX: we look into the image so we need a real bootc container +# available, this is not ideal +bootc_ref="${2:-quay.io/centos-bootc/centos-bootc:stream9}" +refp=$(echo $bootc_ref | sed s#/#_#g) + +if [ "$manifests_dir" = "" ]; then + echo "need a manifests dir as first argument" + exit 1 +fi +mkdir -p "$manifests_dir" + +export OSBUILD_TESTING_RNG_SEED=0 +export IMAGE_BUILDER_EXPERIMENTAL=bib-mock-resolvers + +echo "Checking if bib compiles" +if ! (cd bib && go build -v -o "${tmpdir}/bin/" ./cmd/bootc-image-builder); then + echo "Failed to compile bootc-image-builder. Skipping..." + exit 0 +fi + +echo "Generating mock manifests" +podman pull "$bootc_ref" +# xxx: more arches? +for arch in x86_64 aarch64; do + # XXX: add anaconda-iso once we can mock it too + for imgtype in ami qcow2 vmdk raw vhd gce; do + if ! "${tmpdir}/bin/bootc-image-builder" \ + manifest -v "$bootc_ref" \ + --target-arch "$arch" \ + --type "$imgtype" \ + 2> "${tmpdir}/stderr" \ + | jq > "$manifests_dir/manifest-$refp-$arch-$imgtype.json"; then + cat "${tmpdir}/stderr" + exit 1 + fi + done +done + +echo "Manifests saved to ${manifests_dir}" From 8ca36e49caec6f063b46ad873a2baa6fd3f7a66a Mon Sep 17 00:00:00 2001 From: Michael Vogt Date: Wed, 30 Jul 2025 08:57:13 +0200 Subject: [PATCH 5/7] test: add test manifest into git to ensure we can diff Unlike images which has tons of manifests we only have a few and when we do cross images<->bib manifest diff having them in git will be useful. --- ...ootc_centos-bootc:stream9-aarch64-ami.json | 719 +++++++++++++++++ ...ootc_centos-bootc:stream9-aarch64-gce.json | 719 +++++++++++++++++ ...tc_centos-bootc:stream9-aarch64-qcow2.json | 719 +++++++++++++++++ ...ootc_centos-bootc:stream9-aarch64-raw.json | 719 +++++++++++++++++ ...ootc_centos-bootc:stream9-aarch64-vhd.json | 719 +++++++++++++++++ ...otc_centos-bootc:stream9-aarch64-vmdk.json | 719 +++++++++++++++++ ...bootc_centos-bootc:stream9-x86_64-ami.json | 726 ++++++++++++++++++ ...bootc_centos-bootc:stream9-x86_64-gce.json | 726 ++++++++++++++++++ ...otc_centos-bootc:stream9-x86_64-qcow2.json | 726 ++++++++++++++++++ ...bootc_centos-bootc:stream9-x86_64-raw.json | 726 ++++++++++++++++++ ...bootc_centos-bootc:stream9-x86_64-vhd.json | 726 ++++++++++++++++++ ...ootc_centos-bootc:stream9-x86_64-vmdk.json | 726 ++++++++++++++++++ 12 files changed, 8670 insertions(+) create mode 100644 test/data/manifests/manifest-quay.io_centos-bootc_centos-bootc:stream9-aarch64-ami.json create mode 100644 test/data/manifests/manifest-quay.io_centos-bootc_centos-bootc:stream9-aarch64-gce.json create mode 100644 test/data/manifests/manifest-quay.io_centos-bootc_centos-bootc:stream9-aarch64-qcow2.json create mode 100644 test/data/manifests/manifest-quay.io_centos-bootc_centos-bootc:stream9-aarch64-raw.json create mode 100644 test/data/manifests/manifest-quay.io_centos-bootc_centos-bootc:stream9-aarch64-vhd.json create mode 100644 test/data/manifests/manifest-quay.io_centos-bootc_centos-bootc:stream9-aarch64-vmdk.json create mode 100644 test/data/manifests/manifest-quay.io_centos-bootc_centos-bootc:stream9-x86_64-ami.json create mode 100644 test/data/manifests/manifest-quay.io_centos-bootc_centos-bootc:stream9-x86_64-gce.json create mode 100644 test/data/manifests/manifest-quay.io_centos-bootc_centos-bootc:stream9-x86_64-qcow2.json create mode 100644 test/data/manifests/manifest-quay.io_centos-bootc_centos-bootc:stream9-x86_64-raw.json create mode 100644 test/data/manifests/manifest-quay.io_centos-bootc_centos-bootc:stream9-x86_64-vhd.json create mode 100644 test/data/manifests/manifest-quay.io_centos-bootc_centos-bootc:stream9-x86_64-vmdk.json diff --git a/test/data/manifests/manifest-quay.io_centos-bootc_centos-bootc:stream9-aarch64-ami.json b/test/data/manifests/manifest-quay.io_centos-bootc_centos-bootc:stream9-aarch64-ami.json new file mode 100644 index 00000000..65d2292a --- /dev/null +++ b/test/data/manifests/manifest-quay.io_centos-bootc_centos-bootc:stream9-aarch64-ami.json @@ -0,0 +1,719 @@ +{ + "version": "2", + "pipelines": [ + { + "name": "build", + "runner": "org.osbuild.linux", + "stages": [ + { + "type": "org.osbuild.container-deploy", + "inputs": { + "images": { + "type": "org.osbuild.containers", + "origin": "org.osbuild.source", + "references": { + "sha256:d84eacd1acb5a4b5fe43fd494dec79a0c0d732a02af7a8244b1c1ed0cea042cf": { + "name": "quay.io/centos-bootc/centos-bootc:stream9" + } + } + } + }, + "options": { + "remove-signatures": true + } + }, + { + "type": "org.osbuild.selinux", + "options": { + "file_contexts": "etc/selinux/targeted/contexts/files/file_contexts", + "exclude_paths": [ + "/sysroot" + ], + "labels": { + "/usr/bin/mount": "system_u:object_r:install_exec_t:s0", + "/usr/bin/ostree": "system_u:object_r:install_exec_t:s0", + "/usr/bin/umount": "system_u:object_r:install_exec_t:s0" + } + } + } + ] + }, + { + "name": "image", + "build": "name:build", + "stages": [ + { + "type": "org.osbuild.truncate", + "options": { + "filename": "disk.raw", + "size": "10737418240" + } + }, + { + "type": "org.osbuild.sfdisk", + "options": { + "label": "gpt", + "uuid": "D209C89E-EA5E-4FBD-B161-B461CCE297E0", + "partitions": [ + { + "size": 1026048, + "start": 2048, + "type": "C12A7328-F81F-11D2-BA4B-00A0C93EC93B", + "uuid": "68B2905B-DF3E-4FB3-80FA-49D1E773AA33" + }, + { + "size": 2097152, + "start": 1028096, + "type": "0FC63DAF-8483-4772-8E79-3D69D8477DE4", + "uuid": "CB07C243-BC44-4717-853E-28852021225B" + }, + { + "size": 17846239, + "start": 3125248, + "type": "0FC63DAF-8483-4772-8E79-3D69D8477DE4", + "uuid": "6264D520-3FB9-423F-8AB8-7A0A8E3D3562" + } + ] + }, + "devices": { + "device": { + "type": "org.osbuild.loopback", + "options": { + "filename": "disk.raw", + "lock": true + } + } + } + }, + { + "type": "org.osbuild.mkfs.fat", + "options": { + "volid": "7B7795E7", + "label": "EFI-SYSTEM" + }, + "devices": { + "device": { + "type": "org.osbuild.loopback", + "options": { + "filename": "disk.raw", + "start": 2048, + "size": 1026048, + "lock": true + } + } + } + }, + { + "type": "org.osbuild.mkfs.xfs", + "options": { + "uuid": "0194fdc2-fa2f-4cc0-81d3-ff12045b73c8", + "label": "boot" + }, + "devices": { + "device": { + "type": "org.osbuild.loopback", + "options": { + "filename": "disk.raw", + "start": 1028096, + "size": 2097152, + "lock": true + } + } + } + }, + { + "type": "org.osbuild.mkfs.xfs", + "options": { + "uuid": "6e4ff95f-f662-45ee-a82a-bdf44a2d0b75", + "label": "root" + }, + "devices": { + "device": { + "type": "org.osbuild.loopback", + "options": { + "filename": "disk.raw", + "start": 3125248, + "size": 17846239, + "lock": true + } + } + } + }, + { + "type": "org.osbuild.bootc.install-to-filesystem", + "inputs": { + "images": { + "type": "org.osbuild.containers", + "origin": "org.osbuild.source", + "references": { + "sha256:d84eacd1acb5a4b5fe43fd494dec79a0c0d732a02af7a8244b1c1ed0cea042cf": { + "name": "quay.io/centos-bootc/centos-bootc:stream9" + } + } + } + }, + "options": { + "kernel-args": [ + "rw", + "console=tty0", + "console=ttyS0" + ], + "target-imgref": "quay.io/centos-bootc/centos-bootc:stream9" + }, + "devices": { + "disk": { + "type": "org.osbuild.loopback", + "options": { + "filename": "disk.raw", + "partscan": true + } + } + }, + "mounts": [ + { + "name": "-", + "type": "org.osbuild.xfs", + "source": "disk", + "target": "/", + "partition": 3 + }, + { + "name": "boot", + "type": "org.osbuild.xfs", + "source": "disk", + "target": "/boot", + "partition": 2 + }, + { + "name": "boot-efi", + "type": "org.osbuild.fat", + "source": "disk", + "target": "/boot/efi", + "partition": 1 + } + ] + }, + { + "type": "org.osbuild.systemd.unit.create", + "options": { + "filename": "-.mount", + "unit-path": "etc", + "config": { + "Unit": { + "DefaultDependencies": true + }, + "Mount": { + "What": "/dev/disk/by-uuid/6e4ff95f-f662-45ee-a82a-bdf44a2d0b75", + "Where": "/", + "Type": "xfs", + "Options": "ro" + }, + "Install": { + "WantedBy": [ + "multi-user.target" + ] + } + } + }, + "devices": { + "disk": { + "type": "org.osbuild.loopback", + "options": { + "filename": "disk.raw", + "partscan": true + } + } + }, + "mounts": [ + { + "name": "-", + "type": "org.osbuild.xfs", + "source": "disk", + "target": "/", + "partition": 3 + }, + { + "name": "boot", + "type": "org.osbuild.xfs", + "source": "disk", + "target": "/boot", + "partition": 2 + }, + { + "name": "boot-efi", + "type": "org.osbuild.fat", + "source": "disk", + "target": "/boot/efi", + "partition": 1 + }, + { + "name": "ostree.deployment", + "type": "org.osbuild.ostree.deployment", + "options": { + "source": "mount", + "deployment": { + "default": true + } + } + }, + { + "name": "bind-ostree-deployment-to-tree", + "type": "org.osbuild.bind", + "target": "tree://", + "options": { + "source": "mount://" + } + } + ] + }, + { + "type": "org.osbuild.systemd.unit.create", + "options": { + "filename": "boot-efi.mount", + "unit-path": "etc", + "config": { + "Unit": { + "DefaultDependencies": true + }, + "Mount": { + "What": "/dev/disk/by-uuid/7B77-95E7", + "Where": "/boot/efi", + "Type": "vfat", + "Options": "umask=0077,shortname=winnt" + }, + "Install": { + "WantedBy": [ + "multi-user.target" + ] + } + } + }, + "devices": { + "disk": { + "type": "org.osbuild.loopback", + "options": { + "filename": "disk.raw", + "partscan": true + } + } + }, + "mounts": [ + { + "name": "-", + "type": "org.osbuild.xfs", + "source": "disk", + "target": "/", + "partition": 3 + }, + { + "name": "boot", + "type": "org.osbuild.xfs", + "source": "disk", + "target": "/boot", + "partition": 2 + }, + { + "name": "boot-efi", + "type": "org.osbuild.fat", + "source": "disk", + "target": "/boot/efi", + "partition": 1 + }, + { + "name": "ostree.deployment", + "type": "org.osbuild.ostree.deployment", + "options": { + "source": "mount", + "deployment": { + "default": true + } + } + }, + { + "name": "bind-ostree-deployment-to-tree", + "type": "org.osbuild.bind", + "target": "tree://", + "options": { + "source": "mount://" + } + } + ] + }, + { + "type": "org.osbuild.systemd.unit.create", + "options": { + "filename": "boot.mount", + "unit-path": "etc", + "config": { + "Unit": { + "DefaultDependencies": true + }, + "Mount": { + "What": "/dev/disk/by-uuid/0194fdc2-fa2f-4cc0-81d3-ff12045b73c8", + "Where": "/boot", + "Type": "xfs", + "Options": "ro" + }, + "Install": { + "WantedBy": [ + "multi-user.target" + ] + } + } + }, + "devices": { + "disk": { + "type": "org.osbuild.loopback", + "options": { + "filename": "disk.raw", + "partscan": true + } + } + }, + "mounts": [ + { + "name": "-", + "type": "org.osbuild.xfs", + "source": "disk", + "target": "/", + "partition": 3 + }, + { + "name": "boot", + "type": "org.osbuild.xfs", + "source": "disk", + "target": "/boot", + "partition": 2 + }, + { + "name": "boot-efi", + "type": "org.osbuild.fat", + "source": "disk", + "target": "/boot/efi", + "partition": 1 + }, + { + "name": "ostree.deployment", + "type": "org.osbuild.ostree.deployment", + "options": { + "source": "mount", + "deployment": { + "default": true + } + } + }, + { + "name": "bind-ostree-deployment-to-tree", + "type": "org.osbuild.bind", + "target": "tree://", + "options": { + "source": "mount://" + } + } + ] + }, + { + "type": "org.osbuild.systemd", + "options": { + "enabled_services": [ + "-.mount", + "boot-efi.mount", + "boot.mount" + ] + }, + "devices": { + "disk": { + "type": "org.osbuild.loopback", + "options": { + "filename": "disk.raw", + "partscan": true + } + } + }, + "mounts": [ + { + "name": "-", + "type": "org.osbuild.xfs", + "source": "disk", + "target": "/", + "partition": 3 + }, + { + "name": "boot", + "type": "org.osbuild.xfs", + "source": "disk", + "target": "/boot", + "partition": 2 + }, + { + "name": "boot-efi", + "type": "org.osbuild.fat", + "source": "disk", + "target": "/boot/efi", + "partition": 1 + }, + { + "name": "ostree.deployment", + "type": "org.osbuild.ostree.deployment", + "options": { + "source": "mount", + "deployment": { + "default": true + } + } + }, + { + "name": "bind-ostree-deployment-to-tree", + "type": "org.osbuild.bind", + "target": "tree://", + "options": { + "source": "mount://" + } + } + ] + }, + { + "type": "org.osbuild.selinux", + "options": { + "file_contexts": "etc/selinux/targeted/contexts/files/file_contexts", + "exclude_paths": [ + "/sysroot" + ] + }, + "devices": { + "disk": { + "type": "org.osbuild.loopback", + "options": { + "filename": "disk.raw", + "partscan": true + } + } + }, + "mounts": [ + { + "name": "-", + "type": "org.osbuild.xfs", + "source": "disk", + "target": "/", + "partition": 3 + }, + { + "name": "boot", + "type": "org.osbuild.xfs", + "source": "disk", + "target": "/boot", + "partition": 2 + }, + { + "name": "boot-efi", + "type": "org.osbuild.fat", + "source": "disk", + "target": "/boot/efi", + "partition": 1 + }, + { + "name": "ostree.deployment", + "type": "org.osbuild.ostree.deployment", + "options": { + "source": "mount", + "deployment": { + "default": true + } + } + }, + { + "name": "bind-ostree-deployment-to-tree", + "type": "org.osbuild.bind", + "target": "tree://", + "options": { + "source": "mount://" + } + } + ] + } + ] + }, + { + "name": "qcow2", + "stages": [ + { + "type": "org.osbuild.qemu", + "inputs": { + "image": { + "type": "org.osbuild.files", + "origin": "org.osbuild.pipeline", + "references": { + "name:image": { + "file": "disk.raw" + } + } + } + }, + "options": { + "filename": "disk.qcow2", + "format": { + "type": "qcow2", + "compat": "1.1" + } + } + } + ] + }, + { + "name": "vmdk", + "stages": [ + { + "type": "org.osbuild.qemu", + "inputs": { + "image": { + "type": "org.osbuild.files", + "origin": "org.osbuild.pipeline", + "references": { + "name:image": { + "file": "disk.raw" + } + } + } + }, + "options": { + "filename": "disk.vmdk", + "format": { + "type": "vmdk", + "subformat": "streamOptimized" + } + } + } + ] + }, + { + "name": "vpc", + "stages": [ + { + "type": "org.osbuild.qemu", + "inputs": { + "image": { + "type": "org.osbuild.files", + "origin": "org.osbuild.pipeline", + "references": { + "name:image": { + "file": "disk.raw" + } + } + } + }, + "options": { + "filename": "disk.vhd", + "format": { + "type": "vpc" + } + } + } + ] + }, + { + "name": "ovf", + "stages": [ + { + "type": "org.osbuild.copy", + "inputs": { + "vmdk-tree": { + "type": "org.osbuild.tree", + "origin": "org.osbuild.pipeline", + "references": [ + "name:vmdk" + ] + } + }, + "options": { + "paths": [ + { + "from": "input://vmdk-tree/disk.vmdk", + "to": "tree:///" + } + ] + } + }, + { + "type": "org.osbuild.ovf", + "options": { + "vmdk": "disk.vmdk" + } + } + ] + }, + { + "name": "archive", + "stages": [ + { + "type": "org.osbuild.tar", + "inputs": { + "tree": { + "type": "org.osbuild.tree", + "origin": "org.osbuild.pipeline", + "references": [ + "name:ovf" + ] + } + }, + "options": { + "filename": "disk.tar", + "format": "ustar", + "paths": [ + "disk.ovf", + "disk.mf", + "disk.vmdk", + "disk.vhd" + ] + } + } + ] + }, + { + "name": "gce", + "build": "name:build", + "stages": [ + { + "type": "org.osbuild.tar", + "inputs": { + "tree": { + "type": "org.osbuild.tree", + "origin": "org.osbuild.pipeline", + "references": [ + "name:image" + ] + } + }, + "options": { + "filename": "image.tar.gz", + "format": "oldgnu", + "acls": false, + "selinux": false, + "xattrs": false, + "root-node": "omit" + } + } + ] + } + ], + "sources": { + "org.osbuild.skopeo": { + "items": { + "sha256:d84eacd1acb5a4b5fe43fd494dec79a0c0d732a02af7a8244b1c1ed0cea042cf": { + "image": { + "name": "quay.io/centos-bootc/centos-bootc:stream9", + "digest": "sha256:5a725627a084da5ddd98ed79a95f344d3e9b7dfaea4f85a2a2e353ccffe4beab" + } + } + } + }, + "org.osbuild.skopeo-index": { + "items": { + "sha256:d6968a62c4b6d65cf6dcf8e02a3071d14ac9d832cad305f3d998cac13d4043eb": { + "image": { + "name": "quay.io/centos-bootc/centos-bootc:stream9" + } + } + } + } + } +} diff --git a/test/data/manifests/manifest-quay.io_centos-bootc_centos-bootc:stream9-aarch64-gce.json b/test/data/manifests/manifest-quay.io_centos-bootc_centos-bootc:stream9-aarch64-gce.json new file mode 100644 index 00000000..65d2292a --- /dev/null +++ b/test/data/manifests/manifest-quay.io_centos-bootc_centos-bootc:stream9-aarch64-gce.json @@ -0,0 +1,719 @@ +{ + "version": "2", + "pipelines": [ + { + "name": "build", + "runner": "org.osbuild.linux", + "stages": [ + { + "type": "org.osbuild.container-deploy", + "inputs": { + "images": { + "type": "org.osbuild.containers", + "origin": "org.osbuild.source", + "references": { + "sha256:d84eacd1acb5a4b5fe43fd494dec79a0c0d732a02af7a8244b1c1ed0cea042cf": { + "name": "quay.io/centos-bootc/centos-bootc:stream9" + } + } + } + }, + "options": { + "remove-signatures": true + } + }, + { + "type": "org.osbuild.selinux", + "options": { + "file_contexts": "etc/selinux/targeted/contexts/files/file_contexts", + "exclude_paths": [ + "/sysroot" + ], + "labels": { + "/usr/bin/mount": "system_u:object_r:install_exec_t:s0", + "/usr/bin/ostree": "system_u:object_r:install_exec_t:s0", + "/usr/bin/umount": "system_u:object_r:install_exec_t:s0" + } + } + } + ] + }, + { + "name": "image", + "build": "name:build", + "stages": [ + { + "type": "org.osbuild.truncate", + "options": { + "filename": "disk.raw", + "size": "10737418240" + } + }, + { + "type": "org.osbuild.sfdisk", + "options": { + "label": "gpt", + "uuid": "D209C89E-EA5E-4FBD-B161-B461CCE297E0", + "partitions": [ + { + "size": 1026048, + "start": 2048, + "type": "C12A7328-F81F-11D2-BA4B-00A0C93EC93B", + "uuid": "68B2905B-DF3E-4FB3-80FA-49D1E773AA33" + }, + { + "size": 2097152, + "start": 1028096, + "type": "0FC63DAF-8483-4772-8E79-3D69D8477DE4", + "uuid": "CB07C243-BC44-4717-853E-28852021225B" + }, + { + "size": 17846239, + "start": 3125248, + "type": "0FC63DAF-8483-4772-8E79-3D69D8477DE4", + "uuid": "6264D520-3FB9-423F-8AB8-7A0A8E3D3562" + } + ] + }, + "devices": { + "device": { + "type": "org.osbuild.loopback", + "options": { + "filename": "disk.raw", + "lock": true + } + } + } + }, + { + "type": "org.osbuild.mkfs.fat", + "options": { + "volid": "7B7795E7", + "label": "EFI-SYSTEM" + }, + "devices": { + "device": { + "type": "org.osbuild.loopback", + "options": { + "filename": "disk.raw", + "start": 2048, + "size": 1026048, + "lock": true + } + } + } + }, + { + "type": "org.osbuild.mkfs.xfs", + "options": { + "uuid": "0194fdc2-fa2f-4cc0-81d3-ff12045b73c8", + "label": "boot" + }, + "devices": { + "device": { + "type": "org.osbuild.loopback", + "options": { + "filename": "disk.raw", + "start": 1028096, + "size": 2097152, + "lock": true + } + } + } + }, + { + "type": "org.osbuild.mkfs.xfs", + "options": { + "uuid": "6e4ff95f-f662-45ee-a82a-bdf44a2d0b75", + "label": "root" + }, + "devices": { + "device": { + "type": "org.osbuild.loopback", + "options": { + "filename": "disk.raw", + "start": 3125248, + "size": 17846239, + "lock": true + } + } + } + }, + { + "type": "org.osbuild.bootc.install-to-filesystem", + "inputs": { + "images": { + "type": "org.osbuild.containers", + "origin": "org.osbuild.source", + "references": { + "sha256:d84eacd1acb5a4b5fe43fd494dec79a0c0d732a02af7a8244b1c1ed0cea042cf": { + "name": "quay.io/centos-bootc/centos-bootc:stream9" + } + } + } + }, + "options": { + "kernel-args": [ + "rw", + "console=tty0", + "console=ttyS0" + ], + "target-imgref": "quay.io/centos-bootc/centos-bootc:stream9" + }, + "devices": { + "disk": { + "type": "org.osbuild.loopback", + "options": { + "filename": "disk.raw", + "partscan": true + } + } + }, + "mounts": [ + { + "name": "-", + "type": "org.osbuild.xfs", + "source": "disk", + "target": "/", + "partition": 3 + }, + { + "name": "boot", + "type": "org.osbuild.xfs", + "source": "disk", + "target": "/boot", + "partition": 2 + }, + { + "name": "boot-efi", + "type": "org.osbuild.fat", + "source": "disk", + "target": "/boot/efi", + "partition": 1 + } + ] + }, + { + "type": "org.osbuild.systemd.unit.create", + "options": { + "filename": "-.mount", + "unit-path": "etc", + "config": { + "Unit": { + "DefaultDependencies": true + }, + "Mount": { + "What": "/dev/disk/by-uuid/6e4ff95f-f662-45ee-a82a-bdf44a2d0b75", + "Where": "/", + "Type": "xfs", + "Options": "ro" + }, + "Install": { + "WantedBy": [ + "multi-user.target" + ] + } + } + }, + "devices": { + "disk": { + "type": "org.osbuild.loopback", + "options": { + "filename": "disk.raw", + "partscan": true + } + } + }, + "mounts": [ + { + "name": "-", + "type": "org.osbuild.xfs", + "source": "disk", + "target": "/", + "partition": 3 + }, + { + "name": "boot", + "type": "org.osbuild.xfs", + "source": "disk", + "target": "/boot", + "partition": 2 + }, + { + "name": "boot-efi", + "type": "org.osbuild.fat", + "source": "disk", + "target": "/boot/efi", + "partition": 1 + }, + { + "name": "ostree.deployment", + "type": "org.osbuild.ostree.deployment", + "options": { + "source": "mount", + "deployment": { + "default": true + } + } + }, + { + "name": "bind-ostree-deployment-to-tree", + "type": "org.osbuild.bind", + "target": "tree://", + "options": { + "source": "mount://" + } + } + ] + }, + { + "type": "org.osbuild.systemd.unit.create", + "options": { + "filename": "boot-efi.mount", + "unit-path": "etc", + "config": { + "Unit": { + "DefaultDependencies": true + }, + "Mount": { + "What": "/dev/disk/by-uuid/7B77-95E7", + "Where": "/boot/efi", + "Type": "vfat", + "Options": "umask=0077,shortname=winnt" + }, + "Install": { + "WantedBy": [ + "multi-user.target" + ] + } + } + }, + "devices": { + "disk": { + "type": "org.osbuild.loopback", + "options": { + "filename": "disk.raw", + "partscan": true + } + } + }, + "mounts": [ + { + "name": "-", + "type": "org.osbuild.xfs", + "source": "disk", + "target": "/", + "partition": 3 + }, + { + "name": "boot", + "type": "org.osbuild.xfs", + "source": "disk", + "target": "/boot", + "partition": 2 + }, + { + "name": "boot-efi", + "type": "org.osbuild.fat", + "source": "disk", + "target": "/boot/efi", + "partition": 1 + }, + { + "name": "ostree.deployment", + "type": "org.osbuild.ostree.deployment", + "options": { + "source": "mount", + "deployment": { + "default": true + } + } + }, + { + "name": "bind-ostree-deployment-to-tree", + "type": "org.osbuild.bind", + "target": "tree://", + "options": { + "source": "mount://" + } + } + ] + }, + { + "type": "org.osbuild.systemd.unit.create", + "options": { + "filename": "boot.mount", + "unit-path": "etc", + "config": { + "Unit": { + "DefaultDependencies": true + }, + "Mount": { + "What": "/dev/disk/by-uuid/0194fdc2-fa2f-4cc0-81d3-ff12045b73c8", + "Where": "/boot", + "Type": "xfs", + "Options": "ro" + }, + "Install": { + "WantedBy": [ + "multi-user.target" + ] + } + } + }, + "devices": { + "disk": { + "type": "org.osbuild.loopback", + "options": { + "filename": "disk.raw", + "partscan": true + } + } + }, + "mounts": [ + { + "name": "-", + "type": "org.osbuild.xfs", + "source": "disk", + "target": "/", + "partition": 3 + }, + { + "name": "boot", + "type": "org.osbuild.xfs", + "source": "disk", + "target": "/boot", + "partition": 2 + }, + { + "name": "boot-efi", + "type": "org.osbuild.fat", + "source": "disk", + "target": "/boot/efi", + "partition": 1 + }, + { + "name": "ostree.deployment", + "type": "org.osbuild.ostree.deployment", + "options": { + "source": "mount", + "deployment": { + "default": true + } + } + }, + { + "name": "bind-ostree-deployment-to-tree", + "type": "org.osbuild.bind", + "target": "tree://", + "options": { + "source": "mount://" + } + } + ] + }, + { + "type": "org.osbuild.systemd", + "options": { + "enabled_services": [ + "-.mount", + "boot-efi.mount", + "boot.mount" + ] + }, + "devices": { + "disk": { + "type": "org.osbuild.loopback", + "options": { + "filename": "disk.raw", + "partscan": true + } + } + }, + "mounts": [ + { + "name": "-", + "type": "org.osbuild.xfs", + "source": "disk", + "target": "/", + "partition": 3 + }, + { + "name": "boot", + "type": "org.osbuild.xfs", + "source": "disk", + "target": "/boot", + "partition": 2 + }, + { + "name": "boot-efi", + "type": "org.osbuild.fat", + "source": "disk", + "target": "/boot/efi", + "partition": 1 + }, + { + "name": "ostree.deployment", + "type": "org.osbuild.ostree.deployment", + "options": { + "source": "mount", + "deployment": { + "default": true + } + } + }, + { + "name": "bind-ostree-deployment-to-tree", + "type": "org.osbuild.bind", + "target": "tree://", + "options": { + "source": "mount://" + } + } + ] + }, + { + "type": "org.osbuild.selinux", + "options": { + "file_contexts": "etc/selinux/targeted/contexts/files/file_contexts", + "exclude_paths": [ + "/sysroot" + ] + }, + "devices": { + "disk": { + "type": "org.osbuild.loopback", + "options": { + "filename": "disk.raw", + "partscan": true + } + } + }, + "mounts": [ + { + "name": "-", + "type": "org.osbuild.xfs", + "source": "disk", + "target": "/", + "partition": 3 + }, + { + "name": "boot", + "type": "org.osbuild.xfs", + "source": "disk", + "target": "/boot", + "partition": 2 + }, + { + "name": "boot-efi", + "type": "org.osbuild.fat", + "source": "disk", + "target": "/boot/efi", + "partition": 1 + }, + { + "name": "ostree.deployment", + "type": "org.osbuild.ostree.deployment", + "options": { + "source": "mount", + "deployment": { + "default": true + } + } + }, + { + "name": "bind-ostree-deployment-to-tree", + "type": "org.osbuild.bind", + "target": "tree://", + "options": { + "source": "mount://" + } + } + ] + } + ] + }, + { + "name": "qcow2", + "stages": [ + { + "type": "org.osbuild.qemu", + "inputs": { + "image": { + "type": "org.osbuild.files", + "origin": "org.osbuild.pipeline", + "references": { + "name:image": { + "file": "disk.raw" + } + } + } + }, + "options": { + "filename": "disk.qcow2", + "format": { + "type": "qcow2", + "compat": "1.1" + } + } + } + ] + }, + { + "name": "vmdk", + "stages": [ + { + "type": "org.osbuild.qemu", + "inputs": { + "image": { + "type": "org.osbuild.files", + "origin": "org.osbuild.pipeline", + "references": { + "name:image": { + "file": "disk.raw" + } + } + } + }, + "options": { + "filename": "disk.vmdk", + "format": { + "type": "vmdk", + "subformat": "streamOptimized" + } + } + } + ] + }, + { + "name": "vpc", + "stages": [ + { + "type": "org.osbuild.qemu", + "inputs": { + "image": { + "type": "org.osbuild.files", + "origin": "org.osbuild.pipeline", + "references": { + "name:image": { + "file": "disk.raw" + } + } + } + }, + "options": { + "filename": "disk.vhd", + "format": { + "type": "vpc" + } + } + } + ] + }, + { + "name": "ovf", + "stages": [ + { + "type": "org.osbuild.copy", + "inputs": { + "vmdk-tree": { + "type": "org.osbuild.tree", + "origin": "org.osbuild.pipeline", + "references": [ + "name:vmdk" + ] + } + }, + "options": { + "paths": [ + { + "from": "input://vmdk-tree/disk.vmdk", + "to": "tree:///" + } + ] + } + }, + { + "type": "org.osbuild.ovf", + "options": { + "vmdk": "disk.vmdk" + } + } + ] + }, + { + "name": "archive", + "stages": [ + { + "type": "org.osbuild.tar", + "inputs": { + "tree": { + "type": "org.osbuild.tree", + "origin": "org.osbuild.pipeline", + "references": [ + "name:ovf" + ] + } + }, + "options": { + "filename": "disk.tar", + "format": "ustar", + "paths": [ + "disk.ovf", + "disk.mf", + "disk.vmdk", + "disk.vhd" + ] + } + } + ] + }, + { + "name": "gce", + "build": "name:build", + "stages": [ + { + "type": "org.osbuild.tar", + "inputs": { + "tree": { + "type": "org.osbuild.tree", + "origin": "org.osbuild.pipeline", + "references": [ + "name:image" + ] + } + }, + "options": { + "filename": "image.tar.gz", + "format": "oldgnu", + "acls": false, + "selinux": false, + "xattrs": false, + "root-node": "omit" + } + } + ] + } + ], + "sources": { + "org.osbuild.skopeo": { + "items": { + "sha256:d84eacd1acb5a4b5fe43fd494dec79a0c0d732a02af7a8244b1c1ed0cea042cf": { + "image": { + "name": "quay.io/centos-bootc/centos-bootc:stream9", + "digest": "sha256:5a725627a084da5ddd98ed79a95f344d3e9b7dfaea4f85a2a2e353ccffe4beab" + } + } + } + }, + "org.osbuild.skopeo-index": { + "items": { + "sha256:d6968a62c4b6d65cf6dcf8e02a3071d14ac9d832cad305f3d998cac13d4043eb": { + "image": { + "name": "quay.io/centos-bootc/centos-bootc:stream9" + } + } + } + } + } +} diff --git a/test/data/manifests/manifest-quay.io_centos-bootc_centos-bootc:stream9-aarch64-qcow2.json b/test/data/manifests/manifest-quay.io_centos-bootc_centos-bootc:stream9-aarch64-qcow2.json new file mode 100644 index 00000000..65d2292a --- /dev/null +++ b/test/data/manifests/manifest-quay.io_centos-bootc_centos-bootc:stream9-aarch64-qcow2.json @@ -0,0 +1,719 @@ +{ + "version": "2", + "pipelines": [ + { + "name": "build", + "runner": "org.osbuild.linux", + "stages": [ + { + "type": "org.osbuild.container-deploy", + "inputs": { + "images": { + "type": "org.osbuild.containers", + "origin": "org.osbuild.source", + "references": { + "sha256:d84eacd1acb5a4b5fe43fd494dec79a0c0d732a02af7a8244b1c1ed0cea042cf": { + "name": "quay.io/centos-bootc/centos-bootc:stream9" + } + } + } + }, + "options": { + "remove-signatures": true + } + }, + { + "type": "org.osbuild.selinux", + "options": { + "file_contexts": "etc/selinux/targeted/contexts/files/file_contexts", + "exclude_paths": [ + "/sysroot" + ], + "labels": { + "/usr/bin/mount": "system_u:object_r:install_exec_t:s0", + "/usr/bin/ostree": "system_u:object_r:install_exec_t:s0", + "/usr/bin/umount": "system_u:object_r:install_exec_t:s0" + } + } + } + ] + }, + { + "name": "image", + "build": "name:build", + "stages": [ + { + "type": "org.osbuild.truncate", + "options": { + "filename": "disk.raw", + "size": "10737418240" + } + }, + { + "type": "org.osbuild.sfdisk", + "options": { + "label": "gpt", + "uuid": "D209C89E-EA5E-4FBD-B161-B461CCE297E0", + "partitions": [ + { + "size": 1026048, + "start": 2048, + "type": "C12A7328-F81F-11D2-BA4B-00A0C93EC93B", + "uuid": "68B2905B-DF3E-4FB3-80FA-49D1E773AA33" + }, + { + "size": 2097152, + "start": 1028096, + "type": "0FC63DAF-8483-4772-8E79-3D69D8477DE4", + "uuid": "CB07C243-BC44-4717-853E-28852021225B" + }, + { + "size": 17846239, + "start": 3125248, + "type": "0FC63DAF-8483-4772-8E79-3D69D8477DE4", + "uuid": "6264D520-3FB9-423F-8AB8-7A0A8E3D3562" + } + ] + }, + "devices": { + "device": { + "type": "org.osbuild.loopback", + "options": { + "filename": "disk.raw", + "lock": true + } + } + } + }, + { + "type": "org.osbuild.mkfs.fat", + "options": { + "volid": "7B7795E7", + "label": "EFI-SYSTEM" + }, + "devices": { + "device": { + "type": "org.osbuild.loopback", + "options": { + "filename": "disk.raw", + "start": 2048, + "size": 1026048, + "lock": true + } + } + } + }, + { + "type": "org.osbuild.mkfs.xfs", + "options": { + "uuid": "0194fdc2-fa2f-4cc0-81d3-ff12045b73c8", + "label": "boot" + }, + "devices": { + "device": { + "type": "org.osbuild.loopback", + "options": { + "filename": "disk.raw", + "start": 1028096, + "size": 2097152, + "lock": true + } + } + } + }, + { + "type": "org.osbuild.mkfs.xfs", + "options": { + "uuid": "6e4ff95f-f662-45ee-a82a-bdf44a2d0b75", + "label": "root" + }, + "devices": { + "device": { + "type": "org.osbuild.loopback", + "options": { + "filename": "disk.raw", + "start": 3125248, + "size": 17846239, + "lock": true + } + } + } + }, + { + "type": "org.osbuild.bootc.install-to-filesystem", + "inputs": { + "images": { + "type": "org.osbuild.containers", + "origin": "org.osbuild.source", + "references": { + "sha256:d84eacd1acb5a4b5fe43fd494dec79a0c0d732a02af7a8244b1c1ed0cea042cf": { + "name": "quay.io/centos-bootc/centos-bootc:stream9" + } + } + } + }, + "options": { + "kernel-args": [ + "rw", + "console=tty0", + "console=ttyS0" + ], + "target-imgref": "quay.io/centos-bootc/centos-bootc:stream9" + }, + "devices": { + "disk": { + "type": "org.osbuild.loopback", + "options": { + "filename": "disk.raw", + "partscan": true + } + } + }, + "mounts": [ + { + "name": "-", + "type": "org.osbuild.xfs", + "source": "disk", + "target": "/", + "partition": 3 + }, + { + "name": "boot", + "type": "org.osbuild.xfs", + "source": "disk", + "target": "/boot", + "partition": 2 + }, + { + "name": "boot-efi", + "type": "org.osbuild.fat", + "source": "disk", + "target": "/boot/efi", + "partition": 1 + } + ] + }, + { + "type": "org.osbuild.systemd.unit.create", + "options": { + "filename": "-.mount", + "unit-path": "etc", + "config": { + "Unit": { + "DefaultDependencies": true + }, + "Mount": { + "What": "/dev/disk/by-uuid/6e4ff95f-f662-45ee-a82a-bdf44a2d0b75", + "Where": "/", + "Type": "xfs", + "Options": "ro" + }, + "Install": { + "WantedBy": [ + "multi-user.target" + ] + } + } + }, + "devices": { + "disk": { + "type": "org.osbuild.loopback", + "options": { + "filename": "disk.raw", + "partscan": true + } + } + }, + "mounts": [ + { + "name": "-", + "type": "org.osbuild.xfs", + "source": "disk", + "target": "/", + "partition": 3 + }, + { + "name": "boot", + "type": "org.osbuild.xfs", + "source": "disk", + "target": "/boot", + "partition": 2 + }, + { + "name": "boot-efi", + "type": "org.osbuild.fat", + "source": "disk", + "target": "/boot/efi", + "partition": 1 + }, + { + "name": "ostree.deployment", + "type": "org.osbuild.ostree.deployment", + "options": { + "source": "mount", + "deployment": { + "default": true + } + } + }, + { + "name": "bind-ostree-deployment-to-tree", + "type": "org.osbuild.bind", + "target": "tree://", + "options": { + "source": "mount://" + } + } + ] + }, + { + "type": "org.osbuild.systemd.unit.create", + "options": { + "filename": "boot-efi.mount", + "unit-path": "etc", + "config": { + "Unit": { + "DefaultDependencies": true + }, + "Mount": { + "What": "/dev/disk/by-uuid/7B77-95E7", + "Where": "/boot/efi", + "Type": "vfat", + "Options": "umask=0077,shortname=winnt" + }, + "Install": { + "WantedBy": [ + "multi-user.target" + ] + } + } + }, + "devices": { + "disk": { + "type": "org.osbuild.loopback", + "options": { + "filename": "disk.raw", + "partscan": true + } + } + }, + "mounts": [ + { + "name": "-", + "type": "org.osbuild.xfs", + "source": "disk", + "target": "/", + "partition": 3 + }, + { + "name": "boot", + "type": "org.osbuild.xfs", + "source": "disk", + "target": "/boot", + "partition": 2 + }, + { + "name": "boot-efi", + "type": "org.osbuild.fat", + "source": "disk", + "target": "/boot/efi", + "partition": 1 + }, + { + "name": "ostree.deployment", + "type": "org.osbuild.ostree.deployment", + "options": { + "source": "mount", + "deployment": { + "default": true + } + } + }, + { + "name": "bind-ostree-deployment-to-tree", + "type": "org.osbuild.bind", + "target": "tree://", + "options": { + "source": "mount://" + } + } + ] + }, + { + "type": "org.osbuild.systemd.unit.create", + "options": { + "filename": "boot.mount", + "unit-path": "etc", + "config": { + "Unit": { + "DefaultDependencies": true + }, + "Mount": { + "What": "/dev/disk/by-uuid/0194fdc2-fa2f-4cc0-81d3-ff12045b73c8", + "Where": "/boot", + "Type": "xfs", + "Options": "ro" + }, + "Install": { + "WantedBy": [ + "multi-user.target" + ] + } + } + }, + "devices": { + "disk": { + "type": "org.osbuild.loopback", + "options": { + "filename": "disk.raw", + "partscan": true + } + } + }, + "mounts": [ + { + "name": "-", + "type": "org.osbuild.xfs", + "source": "disk", + "target": "/", + "partition": 3 + }, + { + "name": "boot", + "type": "org.osbuild.xfs", + "source": "disk", + "target": "/boot", + "partition": 2 + }, + { + "name": "boot-efi", + "type": "org.osbuild.fat", + "source": "disk", + "target": "/boot/efi", + "partition": 1 + }, + { + "name": "ostree.deployment", + "type": "org.osbuild.ostree.deployment", + "options": { + "source": "mount", + "deployment": { + "default": true + } + } + }, + { + "name": "bind-ostree-deployment-to-tree", + "type": "org.osbuild.bind", + "target": "tree://", + "options": { + "source": "mount://" + } + } + ] + }, + { + "type": "org.osbuild.systemd", + "options": { + "enabled_services": [ + "-.mount", + "boot-efi.mount", + "boot.mount" + ] + }, + "devices": { + "disk": { + "type": "org.osbuild.loopback", + "options": { + "filename": "disk.raw", + "partscan": true + } + } + }, + "mounts": [ + { + "name": "-", + "type": "org.osbuild.xfs", + "source": "disk", + "target": "/", + "partition": 3 + }, + { + "name": "boot", + "type": "org.osbuild.xfs", + "source": "disk", + "target": "/boot", + "partition": 2 + }, + { + "name": "boot-efi", + "type": "org.osbuild.fat", + "source": "disk", + "target": "/boot/efi", + "partition": 1 + }, + { + "name": "ostree.deployment", + "type": "org.osbuild.ostree.deployment", + "options": { + "source": "mount", + "deployment": { + "default": true + } + } + }, + { + "name": "bind-ostree-deployment-to-tree", + "type": "org.osbuild.bind", + "target": "tree://", + "options": { + "source": "mount://" + } + } + ] + }, + { + "type": "org.osbuild.selinux", + "options": { + "file_contexts": "etc/selinux/targeted/contexts/files/file_contexts", + "exclude_paths": [ + "/sysroot" + ] + }, + "devices": { + "disk": { + "type": "org.osbuild.loopback", + "options": { + "filename": "disk.raw", + "partscan": true + } + } + }, + "mounts": [ + { + "name": "-", + "type": "org.osbuild.xfs", + "source": "disk", + "target": "/", + "partition": 3 + }, + { + "name": "boot", + "type": "org.osbuild.xfs", + "source": "disk", + "target": "/boot", + "partition": 2 + }, + { + "name": "boot-efi", + "type": "org.osbuild.fat", + "source": "disk", + "target": "/boot/efi", + "partition": 1 + }, + { + "name": "ostree.deployment", + "type": "org.osbuild.ostree.deployment", + "options": { + "source": "mount", + "deployment": { + "default": true + } + } + }, + { + "name": "bind-ostree-deployment-to-tree", + "type": "org.osbuild.bind", + "target": "tree://", + "options": { + "source": "mount://" + } + } + ] + } + ] + }, + { + "name": "qcow2", + "stages": [ + { + "type": "org.osbuild.qemu", + "inputs": { + "image": { + "type": "org.osbuild.files", + "origin": "org.osbuild.pipeline", + "references": { + "name:image": { + "file": "disk.raw" + } + } + } + }, + "options": { + "filename": "disk.qcow2", + "format": { + "type": "qcow2", + "compat": "1.1" + } + } + } + ] + }, + { + "name": "vmdk", + "stages": [ + { + "type": "org.osbuild.qemu", + "inputs": { + "image": { + "type": "org.osbuild.files", + "origin": "org.osbuild.pipeline", + "references": { + "name:image": { + "file": "disk.raw" + } + } + } + }, + "options": { + "filename": "disk.vmdk", + "format": { + "type": "vmdk", + "subformat": "streamOptimized" + } + } + } + ] + }, + { + "name": "vpc", + "stages": [ + { + "type": "org.osbuild.qemu", + "inputs": { + "image": { + "type": "org.osbuild.files", + "origin": "org.osbuild.pipeline", + "references": { + "name:image": { + "file": "disk.raw" + } + } + } + }, + "options": { + "filename": "disk.vhd", + "format": { + "type": "vpc" + } + } + } + ] + }, + { + "name": "ovf", + "stages": [ + { + "type": "org.osbuild.copy", + "inputs": { + "vmdk-tree": { + "type": "org.osbuild.tree", + "origin": "org.osbuild.pipeline", + "references": [ + "name:vmdk" + ] + } + }, + "options": { + "paths": [ + { + "from": "input://vmdk-tree/disk.vmdk", + "to": "tree:///" + } + ] + } + }, + { + "type": "org.osbuild.ovf", + "options": { + "vmdk": "disk.vmdk" + } + } + ] + }, + { + "name": "archive", + "stages": [ + { + "type": "org.osbuild.tar", + "inputs": { + "tree": { + "type": "org.osbuild.tree", + "origin": "org.osbuild.pipeline", + "references": [ + "name:ovf" + ] + } + }, + "options": { + "filename": "disk.tar", + "format": "ustar", + "paths": [ + "disk.ovf", + "disk.mf", + "disk.vmdk", + "disk.vhd" + ] + } + } + ] + }, + { + "name": "gce", + "build": "name:build", + "stages": [ + { + "type": "org.osbuild.tar", + "inputs": { + "tree": { + "type": "org.osbuild.tree", + "origin": "org.osbuild.pipeline", + "references": [ + "name:image" + ] + } + }, + "options": { + "filename": "image.tar.gz", + "format": "oldgnu", + "acls": false, + "selinux": false, + "xattrs": false, + "root-node": "omit" + } + } + ] + } + ], + "sources": { + "org.osbuild.skopeo": { + "items": { + "sha256:d84eacd1acb5a4b5fe43fd494dec79a0c0d732a02af7a8244b1c1ed0cea042cf": { + "image": { + "name": "quay.io/centos-bootc/centos-bootc:stream9", + "digest": "sha256:5a725627a084da5ddd98ed79a95f344d3e9b7dfaea4f85a2a2e353ccffe4beab" + } + } + } + }, + "org.osbuild.skopeo-index": { + "items": { + "sha256:d6968a62c4b6d65cf6dcf8e02a3071d14ac9d832cad305f3d998cac13d4043eb": { + "image": { + "name": "quay.io/centos-bootc/centos-bootc:stream9" + } + } + } + } + } +} diff --git a/test/data/manifests/manifest-quay.io_centos-bootc_centos-bootc:stream9-aarch64-raw.json b/test/data/manifests/manifest-quay.io_centos-bootc_centos-bootc:stream9-aarch64-raw.json new file mode 100644 index 00000000..65d2292a --- /dev/null +++ b/test/data/manifests/manifest-quay.io_centos-bootc_centos-bootc:stream9-aarch64-raw.json @@ -0,0 +1,719 @@ +{ + "version": "2", + "pipelines": [ + { + "name": "build", + "runner": "org.osbuild.linux", + "stages": [ + { + "type": "org.osbuild.container-deploy", + "inputs": { + "images": { + "type": "org.osbuild.containers", + "origin": "org.osbuild.source", + "references": { + "sha256:d84eacd1acb5a4b5fe43fd494dec79a0c0d732a02af7a8244b1c1ed0cea042cf": { + "name": "quay.io/centos-bootc/centos-bootc:stream9" + } + } + } + }, + "options": { + "remove-signatures": true + } + }, + { + "type": "org.osbuild.selinux", + "options": { + "file_contexts": "etc/selinux/targeted/contexts/files/file_contexts", + "exclude_paths": [ + "/sysroot" + ], + "labels": { + "/usr/bin/mount": "system_u:object_r:install_exec_t:s0", + "/usr/bin/ostree": "system_u:object_r:install_exec_t:s0", + "/usr/bin/umount": "system_u:object_r:install_exec_t:s0" + } + } + } + ] + }, + { + "name": "image", + "build": "name:build", + "stages": [ + { + "type": "org.osbuild.truncate", + "options": { + "filename": "disk.raw", + "size": "10737418240" + } + }, + { + "type": "org.osbuild.sfdisk", + "options": { + "label": "gpt", + "uuid": "D209C89E-EA5E-4FBD-B161-B461CCE297E0", + "partitions": [ + { + "size": 1026048, + "start": 2048, + "type": "C12A7328-F81F-11D2-BA4B-00A0C93EC93B", + "uuid": "68B2905B-DF3E-4FB3-80FA-49D1E773AA33" + }, + { + "size": 2097152, + "start": 1028096, + "type": "0FC63DAF-8483-4772-8E79-3D69D8477DE4", + "uuid": "CB07C243-BC44-4717-853E-28852021225B" + }, + { + "size": 17846239, + "start": 3125248, + "type": "0FC63DAF-8483-4772-8E79-3D69D8477DE4", + "uuid": "6264D520-3FB9-423F-8AB8-7A0A8E3D3562" + } + ] + }, + "devices": { + "device": { + "type": "org.osbuild.loopback", + "options": { + "filename": "disk.raw", + "lock": true + } + } + } + }, + { + "type": "org.osbuild.mkfs.fat", + "options": { + "volid": "7B7795E7", + "label": "EFI-SYSTEM" + }, + "devices": { + "device": { + "type": "org.osbuild.loopback", + "options": { + "filename": "disk.raw", + "start": 2048, + "size": 1026048, + "lock": true + } + } + } + }, + { + "type": "org.osbuild.mkfs.xfs", + "options": { + "uuid": "0194fdc2-fa2f-4cc0-81d3-ff12045b73c8", + "label": "boot" + }, + "devices": { + "device": { + "type": "org.osbuild.loopback", + "options": { + "filename": "disk.raw", + "start": 1028096, + "size": 2097152, + "lock": true + } + } + } + }, + { + "type": "org.osbuild.mkfs.xfs", + "options": { + "uuid": "6e4ff95f-f662-45ee-a82a-bdf44a2d0b75", + "label": "root" + }, + "devices": { + "device": { + "type": "org.osbuild.loopback", + "options": { + "filename": "disk.raw", + "start": 3125248, + "size": 17846239, + "lock": true + } + } + } + }, + { + "type": "org.osbuild.bootc.install-to-filesystem", + "inputs": { + "images": { + "type": "org.osbuild.containers", + "origin": "org.osbuild.source", + "references": { + "sha256:d84eacd1acb5a4b5fe43fd494dec79a0c0d732a02af7a8244b1c1ed0cea042cf": { + "name": "quay.io/centos-bootc/centos-bootc:stream9" + } + } + } + }, + "options": { + "kernel-args": [ + "rw", + "console=tty0", + "console=ttyS0" + ], + "target-imgref": "quay.io/centos-bootc/centos-bootc:stream9" + }, + "devices": { + "disk": { + "type": "org.osbuild.loopback", + "options": { + "filename": "disk.raw", + "partscan": true + } + } + }, + "mounts": [ + { + "name": "-", + "type": "org.osbuild.xfs", + "source": "disk", + "target": "/", + "partition": 3 + }, + { + "name": "boot", + "type": "org.osbuild.xfs", + "source": "disk", + "target": "/boot", + "partition": 2 + }, + { + "name": "boot-efi", + "type": "org.osbuild.fat", + "source": "disk", + "target": "/boot/efi", + "partition": 1 + } + ] + }, + { + "type": "org.osbuild.systemd.unit.create", + "options": { + "filename": "-.mount", + "unit-path": "etc", + "config": { + "Unit": { + "DefaultDependencies": true + }, + "Mount": { + "What": "/dev/disk/by-uuid/6e4ff95f-f662-45ee-a82a-bdf44a2d0b75", + "Where": "/", + "Type": "xfs", + "Options": "ro" + }, + "Install": { + "WantedBy": [ + "multi-user.target" + ] + } + } + }, + "devices": { + "disk": { + "type": "org.osbuild.loopback", + "options": { + "filename": "disk.raw", + "partscan": true + } + } + }, + "mounts": [ + { + "name": "-", + "type": "org.osbuild.xfs", + "source": "disk", + "target": "/", + "partition": 3 + }, + { + "name": "boot", + "type": "org.osbuild.xfs", + "source": "disk", + "target": "/boot", + "partition": 2 + }, + { + "name": "boot-efi", + "type": "org.osbuild.fat", + "source": "disk", + "target": "/boot/efi", + "partition": 1 + }, + { + "name": "ostree.deployment", + "type": "org.osbuild.ostree.deployment", + "options": { + "source": "mount", + "deployment": { + "default": true + } + } + }, + { + "name": "bind-ostree-deployment-to-tree", + "type": "org.osbuild.bind", + "target": "tree://", + "options": { + "source": "mount://" + } + } + ] + }, + { + "type": "org.osbuild.systemd.unit.create", + "options": { + "filename": "boot-efi.mount", + "unit-path": "etc", + "config": { + "Unit": { + "DefaultDependencies": true + }, + "Mount": { + "What": "/dev/disk/by-uuid/7B77-95E7", + "Where": "/boot/efi", + "Type": "vfat", + "Options": "umask=0077,shortname=winnt" + }, + "Install": { + "WantedBy": [ + "multi-user.target" + ] + } + } + }, + "devices": { + "disk": { + "type": "org.osbuild.loopback", + "options": { + "filename": "disk.raw", + "partscan": true + } + } + }, + "mounts": [ + { + "name": "-", + "type": "org.osbuild.xfs", + "source": "disk", + "target": "/", + "partition": 3 + }, + { + "name": "boot", + "type": "org.osbuild.xfs", + "source": "disk", + "target": "/boot", + "partition": 2 + }, + { + "name": "boot-efi", + "type": "org.osbuild.fat", + "source": "disk", + "target": "/boot/efi", + "partition": 1 + }, + { + "name": "ostree.deployment", + "type": "org.osbuild.ostree.deployment", + "options": { + "source": "mount", + "deployment": { + "default": true + } + } + }, + { + "name": "bind-ostree-deployment-to-tree", + "type": "org.osbuild.bind", + "target": "tree://", + "options": { + "source": "mount://" + } + } + ] + }, + { + "type": "org.osbuild.systemd.unit.create", + "options": { + "filename": "boot.mount", + "unit-path": "etc", + "config": { + "Unit": { + "DefaultDependencies": true + }, + "Mount": { + "What": "/dev/disk/by-uuid/0194fdc2-fa2f-4cc0-81d3-ff12045b73c8", + "Where": "/boot", + "Type": "xfs", + "Options": "ro" + }, + "Install": { + "WantedBy": [ + "multi-user.target" + ] + } + } + }, + "devices": { + "disk": { + "type": "org.osbuild.loopback", + "options": { + "filename": "disk.raw", + "partscan": true + } + } + }, + "mounts": [ + { + "name": "-", + "type": "org.osbuild.xfs", + "source": "disk", + "target": "/", + "partition": 3 + }, + { + "name": "boot", + "type": "org.osbuild.xfs", + "source": "disk", + "target": "/boot", + "partition": 2 + }, + { + "name": "boot-efi", + "type": "org.osbuild.fat", + "source": "disk", + "target": "/boot/efi", + "partition": 1 + }, + { + "name": "ostree.deployment", + "type": "org.osbuild.ostree.deployment", + "options": { + "source": "mount", + "deployment": { + "default": true + } + } + }, + { + "name": "bind-ostree-deployment-to-tree", + "type": "org.osbuild.bind", + "target": "tree://", + "options": { + "source": "mount://" + } + } + ] + }, + { + "type": "org.osbuild.systemd", + "options": { + "enabled_services": [ + "-.mount", + "boot-efi.mount", + "boot.mount" + ] + }, + "devices": { + "disk": { + "type": "org.osbuild.loopback", + "options": { + "filename": "disk.raw", + "partscan": true + } + } + }, + "mounts": [ + { + "name": "-", + "type": "org.osbuild.xfs", + "source": "disk", + "target": "/", + "partition": 3 + }, + { + "name": "boot", + "type": "org.osbuild.xfs", + "source": "disk", + "target": "/boot", + "partition": 2 + }, + { + "name": "boot-efi", + "type": "org.osbuild.fat", + "source": "disk", + "target": "/boot/efi", + "partition": 1 + }, + { + "name": "ostree.deployment", + "type": "org.osbuild.ostree.deployment", + "options": { + "source": "mount", + "deployment": { + "default": true + } + } + }, + { + "name": "bind-ostree-deployment-to-tree", + "type": "org.osbuild.bind", + "target": "tree://", + "options": { + "source": "mount://" + } + } + ] + }, + { + "type": "org.osbuild.selinux", + "options": { + "file_contexts": "etc/selinux/targeted/contexts/files/file_contexts", + "exclude_paths": [ + "/sysroot" + ] + }, + "devices": { + "disk": { + "type": "org.osbuild.loopback", + "options": { + "filename": "disk.raw", + "partscan": true + } + } + }, + "mounts": [ + { + "name": "-", + "type": "org.osbuild.xfs", + "source": "disk", + "target": "/", + "partition": 3 + }, + { + "name": "boot", + "type": "org.osbuild.xfs", + "source": "disk", + "target": "/boot", + "partition": 2 + }, + { + "name": "boot-efi", + "type": "org.osbuild.fat", + "source": "disk", + "target": "/boot/efi", + "partition": 1 + }, + { + "name": "ostree.deployment", + "type": "org.osbuild.ostree.deployment", + "options": { + "source": "mount", + "deployment": { + "default": true + } + } + }, + { + "name": "bind-ostree-deployment-to-tree", + "type": "org.osbuild.bind", + "target": "tree://", + "options": { + "source": "mount://" + } + } + ] + } + ] + }, + { + "name": "qcow2", + "stages": [ + { + "type": "org.osbuild.qemu", + "inputs": { + "image": { + "type": "org.osbuild.files", + "origin": "org.osbuild.pipeline", + "references": { + "name:image": { + "file": "disk.raw" + } + } + } + }, + "options": { + "filename": "disk.qcow2", + "format": { + "type": "qcow2", + "compat": "1.1" + } + } + } + ] + }, + { + "name": "vmdk", + "stages": [ + { + "type": "org.osbuild.qemu", + "inputs": { + "image": { + "type": "org.osbuild.files", + "origin": "org.osbuild.pipeline", + "references": { + "name:image": { + "file": "disk.raw" + } + } + } + }, + "options": { + "filename": "disk.vmdk", + "format": { + "type": "vmdk", + "subformat": "streamOptimized" + } + } + } + ] + }, + { + "name": "vpc", + "stages": [ + { + "type": "org.osbuild.qemu", + "inputs": { + "image": { + "type": "org.osbuild.files", + "origin": "org.osbuild.pipeline", + "references": { + "name:image": { + "file": "disk.raw" + } + } + } + }, + "options": { + "filename": "disk.vhd", + "format": { + "type": "vpc" + } + } + } + ] + }, + { + "name": "ovf", + "stages": [ + { + "type": "org.osbuild.copy", + "inputs": { + "vmdk-tree": { + "type": "org.osbuild.tree", + "origin": "org.osbuild.pipeline", + "references": [ + "name:vmdk" + ] + } + }, + "options": { + "paths": [ + { + "from": "input://vmdk-tree/disk.vmdk", + "to": "tree:///" + } + ] + } + }, + { + "type": "org.osbuild.ovf", + "options": { + "vmdk": "disk.vmdk" + } + } + ] + }, + { + "name": "archive", + "stages": [ + { + "type": "org.osbuild.tar", + "inputs": { + "tree": { + "type": "org.osbuild.tree", + "origin": "org.osbuild.pipeline", + "references": [ + "name:ovf" + ] + } + }, + "options": { + "filename": "disk.tar", + "format": "ustar", + "paths": [ + "disk.ovf", + "disk.mf", + "disk.vmdk", + "disk.vhd" + ] + } + } + ] + }, + { + "name": "gce", + "build": "name:build", + "stages": [ + { + "type": "org.osbuild.tar", + "inputs": { + "tree": { + "type": "org.osbuild.tree", + "origin": "org.osbuild.pipeline", + "references": [ + "name:image" + ] + } + }, + "options": { + "filename": "image.tar.gz", + "format": "oldgnu", + "acls": false, + "selinux": false, + "xattrs": false, + "root-node": "omit" + } + } + ] + } + ], + "sources": { + "org.osbuild.skopeo": { + "items": { + "sha256:d84eacd1acb5a4b5fe43fd494dec79a0c0d732a02af7a8244b1c1ed0cea042cf": { + "image": { + "name": "quay.io/centos-bootc/centos-bootc:stream9", + "digest": "sha256:5a725627a084da5ddd98ed79a95f344d3e9b7dfaea4f85a2a2e353ccffe4beab" + } + } + } + }, + "org.osbuild.skopeo-index": { + "items": { + "sha256:d6968a62c4b6d65cf6dcf8e02a3071d14ac9d832cad305f3d998cac13d4043eb": { + "image": { + "name": "quay.io/centos-bootc/centos-bootc:stream9" + } + } + } + } + } +} diff --git a/test/data/manifests/manifest-quay.io_centos-bootc_centos-bootc:stream9-aarch64-vhd.json b/test/data/manifests/manifest-quay.io_centos-bootc_centos-bootc:stream9-aarch64-vhd.json new file mode 100644 index 00000000..65d2292a --- /dev/null +++ b/test/data/manifests/manifest-quay.io_centos-bootc_centos-bootc:stream9-aarch64-vhd.json @@ -0,0 +1,719 @@ +{ + "version": "2", + "pipelines": [ + { + "name": "build", + "runner": "org.osbuild.linux", + "stages": [ + { + "type": "org.osbuild.container-deploy", + "inputs": { + "images": { + "type": "org.osbuild.containers", + "origin": "org.osbuild.source", + "references": { + "sha256:d84eacd1acb5a4b5fe43fd494dec79a0c0d732a02af7a8244b1c1ed0cea042cf": { + "name": "quay.io/centos-bootc/centos-bootc:stream9" + } + } + } + }, + "options": { + "remove-signatures": true + } + }, + { + "type": "org.osbuild.selinux", + "options": { + "file_contexts": "etc/selinux/targeted/contexts/files/file_contexts", + "exclude_paths": [ + "/sysroot" + ], + "labels": { + "/usr/bin/mount": "system_u:object_r:install_exec_t:s0", + "/usr/bin/ostree": "system_u:object_r:install_exec_t:s0", + "/usr/bin/umount": "system_u:object_r:install_exec_t:s0" + } + } + } + ] + }, + { + "name": "image", + "build": "name:build", + "stages": [ + { + "type": "org.osbuild.truncate", + "options": { + "filename": "disk.raw", + "size": "10737418240" + } + }, + { + "type": "org.osbuild.sfdisk", + "options": { + "label": "gpt", + "uuid": "D209C89E-EA5E-4FBD-B161-B461CCE297E0", + "partitions": [ + { + "size": 1026048, + "start": 2048, + "type": "C12A7328-F81F-11D2-BA4B-00A0C93EC93B", + "uuid": "68B2905B-DF3E-4FB3-80FA-49D1E773AA33" + }, + { + "size": 2097152, + "start": 1028096, + "type": "0FC63DAF-8483-4772-8E79-3D69D8477DE4", + "uuid": "CB07C243-BC44-4717-853E-28852021225B" + }, + { + "size": 17846239, + "start": 3125248, + "type": "0FC63DAF-8483-4772-8E79-3D69D8477DE4", + "uuid": "6264D520-3FB9-423F-8AB8-7A0A8E3D3562" + } + ] + }, + "devices": { + "device": { + "type": "org.osbuild.loopback", + "options": { + "filename": "disk.raw", + "lock": true + } + } + } + }, + { + "type": "org.osbuild.mkfs.fat", + "options": { + "volid": "7B7795E7", + "label": "EFI-SYSTEM" + }, + "devices": { + "device": { + "type": "org.osbuild.loopback", + "options": { + "filename": "disk.raw", + "start": 2048, + "size": 1026048, + "lock": true + } + } + } + }, + { + "type": "org.osbuild.mkfs.xfs", + "options": { + "uuid": "0194fdc2-fa2f-4cc0-81d3-ff12045b73c8", + "label": "boot" + }, + "devices": { + "device": { + "type": "org.osbuild.loopback", + "options": { + "filename": "disk.raw", + "start": 1028096, + "size": 2097152, + "lock": true + } + } + } + }, + { + "type": "org.osbuild.mkfs.xfs", + "options": { + "uuid": "6e4ff95f-f662-45ee-a82a-bdf44a2d0b75", + "label": "root" + }, + "devices": { + "device": { + "type": "org.osbuild.loopback", + "options": { + "filename": "disk.raw", + "start": 3125248, + "size": 17846239, + "lock": true + } + } + } + }, + { + "type": "org.osbuild.bootc.install-to-filesystem", + "inputs": { + "images": { + "type": "org.osbuild.containers", + "origin": "org.osbuild.source", + "references": { + "sha256:d84eacd1acb5a4b5fe43fd494dec79a0c0d732a02af7a8244b1c1ed0cea042cf": { + "name": "quay.io/centos-bootc/centos-bootc:stream9" + } + } + } + }, + "options": { + "kernel-args": [ + "rw", + "console=tty0", + "console=ttyS0" + ], + "target-imgref": "quay.io/centos-bootc/centos-bootc:stream9" + }, + "devices": { + "disk": { + "type": "org.osbuild.loopback", + "options": { + "filename": "disk.raw", + "partscan": true + } + } + }, + "mounts": [ + { + "name": "-", + "type": "org.osbuild.xfs", + "source": "disk", + "target": "/", + "partition": 3 + }, + { + "name": "boot", + "type": "org.osbuild.xfs", + "source": "disk", + "target": "/boot", + "partition": 2 + }, + { + "name": "boot-efi", + "type": "org.osbuild.fat", + "source": "disk", + "target": "/boot/efi", + "partition": 1 + } + ] + }, + { + "type": "org.osbuild.systemd.unit.create", + "options": { + "filename": "-.mount", + "unit-path": "etc", + "config": { + "Unit": { + "DefaultDependencies": true + }, + "Mount": { + "What": "/dev/disk/by-uuid/6e4ff95f-f662-45ee-a82a-bdf44a2d0b75", + "Where": "/", + "Type": "xfs", + "Options": "ro" + }, + "Install": { + "WantedBy": [ + "multi-user.target" + ] + } + } + }, + "devices": { + "disk": { + "type": "org.osbuild.loopback", + "options": { + "filename": "disk.raw", + "partscan": true + } + } + }, + "mounts": [ + { + "name": "-", + "type": "org.osbuild.xfs", + "source": "disk", + "target": "/", + "partition": 3 + }, + { + "name": "boot", + "type": "org.osbuild.xfs", + "source": "disk", + "target": "/boot", + "partition": 2 + }, + { + "name": "boot-efi", + "type": "org.osbuild.fat", + "source": "disk", + "target": "/boot/efi", + "partition": 1 + }, + { + "name": "ostree.deployment", + "type": "org.osbuild.ostree.deployment", + "options": { + "source": "mount", + "deployment": { + "default": true + } + } + }, + { + "name": "bind-ostree-deployment-to-tree", + "type": "org.osbuild.bind", + "target": "tree://", + "options": { + "source": "mount://" + } + } + ] + }, + { + "type": "org.osbuild.systemd.unit.create", + "options": { + "filename": "boot-efi.mount", + "unit-path": "etc", + "config": { + "Unit": { + "DefaultDependencies": true + }, + "Mount": { + "What": "/dev/disk/by-uuid/7B77-95E7", + "Where": "/boot/efi", + "Type": "vfat", + "Options": "umask=0077,shortname=winnt" + }, + "Install": { + "WantedBy": [ + "multi-user.target" + ] + } + } + }, + "devices": { + "disk": { + "type": "org.osbuild.loopback", + "options": { + "filename": "disk.raw", + "partscan": true + } + } + }, + "mounts": [ + { + "name": "-", + "type": "org.osbuild.xfs", + "source": "disk", + "target": "/", + "partition": 3 + }, + { + "name": "boot", + "type": "org.osbuild.xfs", + "source": "disk", + "target": "/boot", + "partition": 2 + }, + { + "name": "boot-efi", + "type": "org.osbuild.fat", + "source": "disk", + "target": "/boot/efi", + "partition": 1 + }, + { + "name": "ostree.deployment", + "type": "org.osbuild.ostree.deployment", + "options": { + "source": "mount", + "deployment": { + "default": true + } + } + }, + { + "name": "bind-ostree-deployment-to-tree", + "type": "org.osbuild.bind", + "target": "tree://", + "options": { + "source": "mount://" + } + } + ] + }, + { + "type": "org.osbuild.systemd.unit.create", + "options": { + "filename": "boot.mount", + "unit-path": "etc", + "config": { + "Unit": { + "DefaultDependencies": true + }, + "Mount": { + "What": "/dev/disk/by-uuid/0194fdc2-fa2f-4cc0-81d3-ff12045b73c8", + "Where": "/boot", + "Type": "xfs", + "Options": "ro" + }, + "Install": { + "WantedBy": [ + "multi-user.target" + ] + } + } + }, + "devices": { + "disk": { + "type": "org.osbuild.loopback", + "options": { + "filename": "disk.raw", + "partscan": true + } + } + }, + "mounts": [ + { + "name": "-", + "type": "org.osbuild.xfs", + "source": "disk", + "target": "/", + "partition": 3 + }, + { + "name": "boot", + "type": "org.osbuild.xfs", + "source": "disk", + "target": "/boot", + "partition": 2 + }, + { + "name": "boot-efi", + "type": "org.osbuild.fat", + "source": "disk", + "target": "/boot/efi", + "partition": 1 + }, + { + "name": "ostree.deployment", + "type": "org.osbuild.ostree.deployment", + "options": { + "source": "mount", + "deployment": { + "default": true + } + } + }, + { + "name": "bind-ostree-deployment-to-tree", + "type": "org.osbuild.bind", + "target": "tree://", + "options": { + "source": "mount://" + } + } + ] + }, + { + "type": "org.osbuild.systemd", + "options": { + "enabled_services": [ + "-.mount", + "boot-efi.mount", + "boot.mount" + ] + }, + "devices": { + "disk": { + "type": "org.osbuild.loopback", + "options": { + "filename": "disk.raw", + "partscan": true + } + } + }, + "mounts": [ + { + "name": "-", + "type": "org.osbuild.xfs", + "source": "disk", + "target": "/", + "partition": 3 + }, + { + "name": "boot", + "type": "org.osbuild.xfs", + "source": "disk", + "target": "/boot", + "partition": 2 + }, + { + "name": "boot-efi", + "type": "org.osbuild.fat", + "source": "disk", + "target": "/boot/efi", + "partition": 1 + }, + { + "name": "ostree.deployment", + "type": "org.osbuild.ostree.deployment", + "options": { + "source": "mount", + "deployment": { + "default": true + } + } + }, + { + "name": "bind-ostree-deployment-to-tree", + "type": "org.osbuild.bind", + "target": "tree://", + "options": { + "source": "mount://" + } + } + ] + }, + { + "type": "org.osbuild.selinux", + "options": { + "file_contexts": "etc/selinux/targeted/contexts/files/file_contexts", + "exclude_paths": [ + "/sysroot" + ] + }, + "devices": { + "disk": { + "type": "org.osbuild.loopback", + "options": { + "filename": "disk.raw", + "partscan": true + } + } + }, + "mounts": [ + { + "name": "-", + "type": "org.osbuild.xfs", + "source": "disk", + "target": "/", + "partition": 3 + }, + { + "name": "boot", + "type": "org.osbuild.xfs", + "source": "disk", + "target": "/boot", + "partition": 2 + }, + { + "name": "boot-efi", + "type": "org.osbuild.fat", + "source": "disk", + "target": "/boot/efi", + "partition": 1 + }, + { + "name": "ostree.deployment", + "type": "org.osbuild.ostree.deployment", + "options": { + "source": "mount", + "deployment": { + "default": true + } + } + }, + { + "name": "bind-ostree-deployment-to-tree", + "type": "org.osbuild.bind", + "target": "tree://", + "options": { + "source": "mount://" + } + } + ] + } + ] + }, + { + "name": "qcow2", + "stages": [ + { + "type": "org.osbuild.qemu", + "inputs": { + "image": { + "type": "org.osbuild.files", + "origin": "org.osbuild.pipeline", + "references": { + "name:image": { + "file": "disk.raw" + } + } + } + }, + "options": { + "filename": "disk.qcow2", + "format": { + "type": "qcow2", + "compat": "1.1" + } + } + } + ] + }, + { + "name": "vmdk", + "stages": [ + { + "type": "org.osbuild.qemu", + "inputs": { + "image": { + "type": "org.osbuild.files", + "origin": "org.osbuild.pipeline", + "references": { + "name:image": { + "file": "disk.raw" + } + } + } + }, + "options": { + "filename": "disk.vmdk", + "format": { + "type": "vmdk", + "subformat": "streamOptimized" + } + } + } + ] + }, + { + "name": "vpc", + "stages": [ + { + "type": "org.osbuild.qemu", + "inputs": { + "image": { + "type": "org.osbuild.files", + "origin": "org.osbuild.pipeline", + "references": { + "name:image": { + "file": "disk.raw" + } + } + } + }, + "options": { + "filename": "disk.vhd", + "format": { + "type": "vpc" + } + } + } + ] + }, + { + "name": "ovf", + "stages": [ + { + "type": "org.osbuild.copy", + "inputs": { + "vmdk-tree": { + "type": "org.osbuild.tree", + "origin": "org.osbuild.pipeline", + "references": [ + "name:vmdk" + ] + } + }, + "options": { + "paths": [ + { + "from": "input://vmdk-tree/disk.vmdk", + "to": "tree:///" + } + ] + } + }, + { + "type": "org.osbuild.ovf", + "options": { + "vmdk": "disk.vmdk" + } + } + ] + }, + { + "name": "archive", + "stages": [ + { + "type": "org.osbuild.tar", + "inputs": { + "tree": { + "type": "org.osbuild.tree", + "origin": "org.osbuild.pipeline", + "references": [ + "name:ovf" + ] + } + }, + "options": { + "filename": "disk.tar", + "format": "ustar", + "paths": [ + "disk.ovf", + "disk.mf", + "disk.vmdk", + "disk.vhd" + ] + } + } + ] + }, + { + "name": "gce", + "build": "name:build", + "stages": [ + { + "type": "org.osbuild.tar", + "inputs": { + "tree": { + "type": "org.osbuild.tree", + "origin": "org.osbuild.pipeline", + "references": [ + "name:image" + ] + } + }, + "options": { + "filename": "image.tar.gz", + "format": "oldgnu", + "acls": false, + "selinux": false, + "xattrs": false, + "root-node": "omit" + } + } + ] + } + ], + "sources": { + "org.osbuild.skopeo": { + "items": { + "sha256:d84eacd1acb5a4b5fe43fd494dec79a0c0d732a02af7a8244b1c1ed0cea042cf": { + "image": { + "name": "quay.io/centos-bootc/centos-bootc:stream9", + "digest": "sha256:5a725627a084da5ddd98ed79a95f344d3e9b7dfaea4f85a2a2e353ccffe4beab" + } + } + } + }, + "org.osbuild.skopeo-index": { + "items": { + "sha256:d6968a62c4b6d65cf6dcf8e02a3071d14ac9d832cad305f3d998cac13d4043eb": { + "image": { + "name": "quay.io/centos-bootc/centos-bootc:stream9" + } + } + } + } + } +} diff --git a/test/data/manifests/manifest-quay.io_centos-bootc_centos-bootc:stream9-aarch64-vmdk.json b/test/data/manifests/manifest-quay.io_centos-bootc_centos-bootc:stream9-aarch64-vmdk.json new file mode 100644 index 00000000..65d2292a --- /dev/null +++ b/test/data/manifests/manifest-quay.io_centos-bootc_centos-bootc:stream9-aarch64-vmdk.json @@ -0,0 +1,719 @@ +{ + "version": "2", + "pipelines": [ + { + "name": "build", + "runner": "org.osbuild.linux", + "stages": [ + { + "type": "org.osbuild.container-deploy", + "inputs": { + "images": { + "type": "org.osbuild.containers", + "origin": "org.osbuild.source", + "references": { + "sha256:d84eacd1acb5a4b5fe43fd494dec79a0c0d732a02af7a8244b1c1ed0cea042cf": { + "name": "quay.io/centos-bootc/centos-bootc:stream9" + } + } + } + }, + "options": { + "remove-signatures": true + } + }, + { + "type": "org.osbuild.selinux", + "options": { + "file_contexts": "etc/selinux/targeted/contexts/files/file_contexts", + "exclude_paths": [ + "/sysroot" + ], + "labels": { + "/usr/bin/mount": "system_u:object_r:install_exec_t:s0", + "/usr/bin/ostree": "system_u:object_r:install_exec_t:s0", + "/usr/bin/umount": "system_u:object_r:install_exec_t:s0" + } + } + } + ] + }, + { + "name": "image", + "build": "name:build", + "stages": [ + { + "type": "org.osbuild.truncate", + "options": { + "filename": "disk.raw", + "size": "10737418240" + } + }, + { + "type": "org.osbuild.sfdisk", + "options": { + "label": "gpt", + "uuid": "D209C89E-EA5E-4FBD-B161-B461CCE297E0", + "partitions": [ + { + "size": 1026048, + "start": 2048, + "type": "C12A7328-F81F-11D2-BA4B-00A0C93EC93B", + "uuid": "68B2905B-DF3E-4FB3-80FA-49D1E773AA33" + }, + { + "size": 2097152, + "start": 1028096, + "type": "0FC63DAF-8483-4772-8E79-3D69D8477DE4", + "uuid": "CB07C243-BC44-4717-853E-28852021225B" + }, + { + "size": 17846239, + "start": 3125248, + "type": "0FC63DAF-8483-4772-8E79-3D69D8477DE4", + "uuid": "6264D520-3FB9-423F-8AB8-7A0A8E3D3562" + } + ] + }, + "devices": { + "device": { + "type": "org.osbuild.loopback", + "options": { + "filename": "disk.raw", + "lock": true + } + } + } + }, + { + "type": "org.osbuild.mkfs.fat", + "options": { + "volid": "7B7795E7", + "label": "EFI-SYSTEM" + }, + "devices": { + "device": { + "type": "org.osbuild.loopback", + "options": { + "filename": "disk.raw", + "start": 2048, + "size": 1026048, + "lock": true + } + } + } + }, + { + "type": "org.osbuild.mkfs.xfs", + "options": { + "uuid": "0194fdc2-fa2f-4cc0-81d3-ff12045b73c8", + "label": "boot" + }, + "devices": { + "device": { + "type": "org.osbuild.loopback", + "options": { + "filename": "disk.raw", + "start": 1028096, + "size": 2097152, + "lock": true + } + } + } + }, + { + "type": "org.osbuild.mkfs.xfs", + "options": { + "uuid": "6e4ff95f-f662-45ee-a82a-bdf44a2d0b75", + "label": "root" + }, + "devices": { + "device": { + "type": "org.osbuild.loopback", + "options": { + "filename": "disk.raw", + "start": 3125248, + "size": 17846239, + "lock": true + } + } + } + }, + { + "type": "org.osbuild.bootc.install-to-filesystem", + "inputs": { + "images": { + "type": "org.osbuild.containers", + "origin": "org.osbuild.source", + "references": { + "sha256:d84eacd1acb5a4b5fe43fd494dec79a0c0d732a02af7a8244b1c1ed0cea042cf": { + "name": "quay.io/centos-bootc/centos-bootc:stream9" + } + } + } + }, + "options": { + "kernel-args": [ + "rw", + "console=tty0", + "console=ttyS0" + ], + "target-imgref": "quay.io/centos-bootc/centos-bootc:stream9" + }, + "devices": { + "disk": { + "type": "org.osbuild.loopback", + "options": { + "filename": "disk.raw", + "partscan": true + } + } + }, + "mounts": [ + { + "name": "-", + "type": "org.osbuild.xfs", + "source": "disk", + "target": "/", + "partition": 3 + }, + { + "name": "boot", + "type": "org.osbuild.xfs", + "source": "disk", + "target": "/boot", + "partition": 2 + }, + { + "name": "boot-efi", + "type": "org.osbuild.fat", + "source": "disk", + "target": "/boot/efi", + "partition": 1 + } + ] + }, + { + "type": "org.osbuild.systemd.unit.create", + "options": { + "filename": "-.mount", + "unit-path": "etc", + "config": { + "Unit": { + "DefaultDependencies": true + }, + "Mount": { + "What": "/dev/disk/by-uuid/6e4ff95f-f662-45ee-a82a-bdf44a2d0b75", + "Where": "/", + "Type": "xfs", + "Options": "ro" + }, + "Install": { + "WantedBy": [ + "multi-user.target" + ] + } + } + }, + "devices": { + "disk": { + "type": "org.osbuild.loopback", + "options": { + "filename": "disk.raw", + "partscan": true + } + } + }, + "mounts": [ + { + "name": "-", + "type": "org.osbuild.xfs", + "source": "disk", + "target": "/", + "partition": 3 + }, + { + "name": "boot", + "type": "org.osbuild.xfs", + "source": "disk", + "target": "/boot", + "partition": 2 + }, + { + "name": "boot-efi", + "type": "org.osbuild.fat", + "source": "disk", + "target": "/boot/efi", + "partition": 1 + }, + { + "name": "ostree.deployment", + "type": "org.osbuild.ostree.deployment", + "options": { + "source": "mount", + "deployment": { + "default": true + } + } + }, + { + "name": "bind-ostree-deployment-to-tree", + "type": "org.osbuild.bind", + "target": "tree://", + "options": { + "source": "mount://" + } + } + ] + }, + { + "type": "org.osbuild.systemd.unit.create", + "options": { + "filename": "boot-efi.mount", + "unit-path": "etc", + "config": { + "Unit": { + "DefaultDependencies": true + }, + "Mount": { + "What": "/dev/disk/by-uuid/7B77-95E7", + "Where": "/boot/efi", + "Type": "vfat", + "Options": "umask=0077,shortname=winnt" + }, + "Install": { + "WantedBy": [ + "multi-user.target" + ] + } + } + }, + "devices": { + "disk": { + "type": "org.osbuild.loopback", + "options": { + "filename": "disk.raw", + "partscan": true + } + } + }, + "mounts": [ + { + "name": "-", + "type": "org.osbuild.xfs", + "source": "disk", + "target": "/", + "partition": 3 + }, + { + "name": "boot", + "type": "org.osbuild.xfs", + "source": "disk", + "target": "/boot", + "partition": 2 + }, + { + "name": "boot-efi", + "type": "org.osbuild.fat", + "source": "disk", + "target": "/boot/efi", + "partition": 1 + }, + { + "name": "ostree.deployment", + "type": "org.osbuild.ostree.deployment", + "options": { + "source": "mount", + "deployment": { + "default": true + } + } + }, + { + "name": "bind-ostree-deployment-to-tree", + "type": "org.osbuild.bind", + "target": "tree://", + "options": { + "source": "mount://" + } + } + ] + }, + { + "type": "org.osbuild.systemd.unit.create", + "options": { + "filename": "boot.mount", + "unit-path": "etc", + "config": { + "Unit": { + "DefaultDependencies": true + }, + "Mount": { + "What": "/dev/disk/by-uuid/0194fdc2-fa2f-4cc0-81d3-ff12045b73c8", + "Where": "/boot", + "Type": "xfs", + "Options": "ro" + }, + "Install": { + "WantedBy": [ + "multi-user.target" + ] + } + } + }, + "devices": { + "disk": { + "type": "org.osbuild.loopback", + "options": { + "filename": "disk.raw", + "partscan": true + } + } + }, + "mounts": [ + { + "name": "-", + "type": "org.osbuild.xfs", + "source": "disk", + "target": "/", + "partition": 3 + }, + { + "name": "boot", + "type": "org.osbuild.xfs", + "source": "disk", + "target": "/boot", + "partition": 2 + }, + { + "name": "boot-efi", + "type": "org.osbuild.fat", + "source": "disk", + "target": "/boot/efi", + "partition": 1 + }, + { + "name": "ostree.deployment", + "type": "org.osbuild.ostree.deployment", + "options": { + "source": "mount", + "deployment": { + "default": true + } + } + }, + { + "name": "bind-ostree-deployment-to-tree", + "type": "org.osbuild.bind", + "target": "tree://", + "options": { + "source": "mount://" + } + } + ] + }, + { + "type": "org.osbuild.systemd", + "options": { + "enabled_services": [ + "-.mount", + "boot-efi.mount", + "boot.mount" + ] + }, + "devices": { + "disk": { + "type": "org.osbuild.loopback", + "options": { + "filename": "disk.raw", + "partscan": true + } + } + }, + "mounts": [ + { + "name": "-", + "type": "org.osbuild.xfs", + "source": "disk", + "target": "/", + "partition": 3 + }, + { + "name": "boot", + "type": "org.osbuild.xfs", + "source": "disk", + "target": "/boot", + "partition": 2 + }, + { + "name": "boot-efi", + "type": "org.osbuild.fat", + "source": "disk", + "target": "/boot/efi", + "partition": 1 + }, + { + "name": "ostree.deployment", + "type": "org.osbuild.ostree.deployment", + "options": { + "source": "mount", + "deployment": { + "default": true + } + } + }, + { + "name": "bind-ostree-deployment-to-tree", + "type": "org.osbuild.bind", + "target": "tree://", + "options": { + "source": "mount://" + } + } + ] + }, + { + "type": "org.osbuild.selinux", + "options": { + "file_contexts": "etc/selinux/targeted/contexts/files/file_contexts", + "exclude_paths": [ + "/sysroot" + ] + }, + "devices": { + "disk": { + "type": "org.osbuild.loopback", + "options": { + "filename": "disk.raw", + "partscan": true + } + } + }, + "mounts": [ + { + "name": "-", + "type": "org.osbuild.xfs", + "source": "disk", + "target": "/", + "partition": 3 + }, + { + "name": "boot", + "type": "org.osbuild.xfs", + "source": "disk", + "target": "/boot", + "partition": 2 + }, + { + "name": "boot-efi", + "type": "org.osbuild.fat", + "source": "disk", + "target": "/boot/efi", + "partition": 1 + }, + { + "name": "ostree.deployment", + "type": "org.osbuild.ostree.deployment", + "options": { + "source": "mount", + "deployment": { + "default": true + } + } + }, + { + "name": "bind-ostree-deployment-to-tree", + "type": "org.osbuild.bind", + "target": "tree://", + "options": { + "source": "mount://" + } + } + ] + } + ] + }, + { + "name": "qcow2", + "stages": [ + { + "type": "org.osbuild.qemu", + "inputs": { + "image": { + "type": "org.osbuild.files", + "origin": "org.osbuild.pipeline", + "references": { + "name:image": { + "file": "disk.raw" + } + } + } + }, + "options": { + "filename": "disk.qcow2", + "format": { + "type": "qcow2", + "compat": "1.1" + } + } + } + ] + }, + { + "name": "vmdk", + "stages": [ + { + "type": "org.osbuild.qemu", + "inputs": { + "image": { + "type": "org.osbuild.files", + "origin": "org.osbuild.pipeline", + "references": { + "name:image": { + "file": "disk.raw" + } + } + } + }, + "options": { + "filename": "disk.vmdk", + "format": { + "type": "vmdk", + "subformat": "streamOptimized" + } + } + } + ] + }, + { + "name": "vpc", + "stages": [ + { + "type": "org.osbuild.qemu", + "inputs": { + "image": { + "type": "org.osbuild.files", + "origin": "org.osbuild.pipeline", + "references": { + "name:image": { + "file": "disk.raw" + } + } + } + }, + "options": { + "filename": "disk.vhd", + "format": { + "type": "vpc" + } + } + } + ] + }, + { + "name": "ovf", + "stages": [ + { + "type": "org.osbuild.copy", + "inputs": { + "vmdk-tree": { + "type": "org.osbuild.tree", + "origin": "org.osbuild.pipeline", + "references": [ + "name:vmdk" + ] + } + }, + "options": { + "paths": [ + { + "from": "input://vmdk-tree/disk.vmdk", + "to": "tree:///" + } + ] + } + }, + { + "type": "org.osbuild.ovf", + "options": { + "vmdk": "disk.vmdk" + } + } + ] + }, + { + "name": "archive", + "stages": [ + { + "type": "org.osbuild.tar", + "inputs": { + "tree": { + "type": "org.osbuild.tree", + "origin": "org.osbuild.pipeline", + "references": [ + "name:ovf" + ] + } + }, + "options": { + "filename": "disk.tar", + "format": "ustar", + "paths": [ + "disk.ovf", + "disk.mf", + "disk.vmdk", + "disk.vhd" + ] + } + } + ] + }, + { + "name": "gce", + "build": "name:build", + "stages": [ + { + "type": "org.osbuild.tar", + "inputs": { + "tree": { + "type": "org.osbuild.tree", + "origin": "org.osbuild.pipeline", + "references": [ + "name:image" + ] + } + }, + "options": { + "filename": "image.tar.gz", + "format": "oldgnu", + "acls": false, + "selinux": false, + "xattrs": false, + "root-node": "omit" + } + } + ] + } + ], + "sources": { + "org.osbuild.skopeo": { + "items": { + "sha256:d84eacd1acb5a4b5fe43fd494dec79a0c0d732a02af7a8244b1c1ed0cea042cf": { + "image": { + "name": "quay.io/centos-bootc/centos-bootc:stream9", + "digest": "sha256:5a725627a084da5ddd98ed79a95f344d3e9b7dfaea4f85a2a2e353ccffe4beab" + } + } + } + }, + "org.osbuild.skopeo-index": { + "items": { + "sha256:d6968a62c4b6d65cf6dcf8e02a3071d14ac9d832cad305f3d998cac13d4043eb": { + "image": { + "name": "quay.io/centos-bootc/centos-bootc:stream9" + } + } + } + } + } +} diff --git a/test/data/manifests/manifest-quay.io_centos-bootc_centos-bootc:stream9-x86_64-ami.json b/test/data/manifests/manifest-quay.io_centos-bootc_centos-bootc:stream9-x86_64-ami.json new file mode 100644 index 00000000..7345988a --- /dev/null +++ b/test/data/manifests/manifest-quay.io_centos-bootc_centos-bootc:stream9-x86_64-ami.json @@ -0,0 +1,726 @@ +{ + "version": "2", + "pipelines": [ + { + "name": "build", + "runner": "org.osbuild.linux", + "stages": [ + { + "type": "org.osbuild.container-deploy", + "inputs": { + "images": { + "type": "org.osbuild.containers", + "origin": "org.osbuild.source", + "references": { + "sha256:d84eacd1acb5a4b5fe43fd494dec79a0c0d732a02af7a8244b1c1ed0cea042cf": { + "name": "quay.io/centos-bootc/centos-bootc:stream9" + } + } + } + }, + "options": { + "remove-signatures": true + } + }, + { + "type": "org.osbuild.selinux", + "options": { + "file_contexts": "etc/selinux/targeted/contexts/files/file_contexts", + "exclude_paths": [ + "/sysroot" + ], + "labels": { + "/usr/bin/mount": "system_u:object_r:install_exec_t:s0", + "/usr/bin/ostree": "system_u:object_r:install_exec_t:s0", + "/usr/bin/umount": "system_u:object_r:install_exec_t:s0" + } + } + } + ] + }, + { + "name": "image", + "build": "name:build", + "stages": [ + { + "type": "org.osbuild.truncate", + "options": { + "filename": "disk.raw", + "size": "10737418240" + } + }, + { + "type": "org.osbuild.sfdisk", + "options": { + "label": "gpt", + "uuid": "D209C89E-EA5E-4FBD-B161-B461CCE297E0", + "partitions": [ + { + "bootable": true, + "size": 2048, + "start": 2048, + "type": "21686148-6449-6E6F-744E-656564454649", + "uuid": "FAC7F1FB-3E8D-4137-A512-961DE09A5549" + }, + { + "size": 1026048, + "start": 4096, + "type": "C12A7328-F81F-11D2-BA4B-00A0C93EC93B", + "uuid": "68B2905B-DF3E-4FB3-80FA-49D1E773AA33" + }, + { + "size": 2097152, + "start": 1030144, + "type": "0FC63DAF-8483-4772-8E79-3D69D8477DE4", + "uuid": "CB07C243-BC44-4717-853E-28852021225B" + }, + { + "size": 17844191, + "start": 3127296, + "type": "0FC63DAF-8483-4772-8E79-3D69D8477DE4", + "uuid": "6264D520-3FB9-423F-8AB8-7A0A8E3D3562" + } + ] + }, + "devices": { + "device": { + "type": "org.osbuild.loopback", + "options": { + "filename": "disk.raw", + "lock": true + } + } + } + }, + { + "type": "org.osbuild.mkfs.fat", + "options": { + "volid": "7B7795E7", + "label": "EFI-SYSTEM" + }, + "devices": { + "device": { + "type": "org.osbuild.loopback", + "options": { + "filename": "disk.raw", + "start": 4096, + "size": 1026048, + "lock": true + } + } + } + }, + { + "type": "org.osbuild.mkfs.xfs", + "options": { + "uuid": "0194fdc2-fa2f-4cc0-81d3-ff12045b73c8", + "label": "boot" + }, + "devices": { + "device": { + "type": "org.osbuild.loopback", + "options": { + "filename": "disk.raw", + "start": 1030144, + "size": 2097152, + "lock": true + } + } + } + }, + { + "type": "org.osbuild.mkfs.xfs", + "options": { + "uuid": "6e4ff95f-f662-45ee-a82a-bdf44a2d0b75", + "label": "root" + }, + "devices": { + "device": { + "type": "org.osbuild.loopback", + "options": { + "filename": "disk.raw", + "start": 3127296, + "size": 17844191, + "lock": true + } + } + } + }, + { + "type": "org.osbuild.bootc.install-to-filesystem", + "inputs": { + "images": { + "type": "org.osbuild.containers", + "origin": "org.osbuild.source", + "references": { + "sha256:d84eacd1acb5a4b5fe43fd494dec79a0c0d732a02af7a8244b1c1ed0cea042cf": { + "name": "quay.io/centos-bootc/centos-bootc:stream9" + } + } + } + }, + "options": { + "kernel-args": [ + "rw", + "console=tty0", + "console=ttyS0" + ], + "target-imgref": "quay.io/centos-bootc/centos-bootc:stream9" + }, + "devices": { + "disk": { + "type": "org.osbuild.loopback", + "options": { + "filename": "disk.raw", + "partscan": true + } + } + }, + "mounts": [ + { + "name": "-", + "type": "org.osbuild.xfs", + "source": "disk", + "target": "/", + "partition": 4 + }, + { + "name": "boot", + "type": "org.osbuild.xfs", + "source": "disk", + "target": "/boot", + "partition": 3 + }, + { + "name": "boot-efi", + "type": "org.osbuild.fat", + "source": "disk", + "target": "/boot/efi", + "partition": 2 + } + ] + }, + { + "type": "org.osbuild.systemd.unit.create", + "options": { + "filename": "-.mount", + "unit-path": "etc", + "config": { + "Unit": { + "DefaultDependencies": true + }, + "Mount": { + "What": "/dev/disk/by-uuid/6e4ff95f-f662-45ee-a82a-bdf44a2d0b75", + "Where": "/", + "Type": "xfs", + "Options": "ro" + }, + "Install": { + "WantedBy": [ + "multi-user.target" + ] + } + } + }, + "devices": { + "disk": { + "type": "org.osbuild.loopback", + "options": { + "filename": "disk.raw", + "partscan": true + } + } + }, + "mounts": [ + { + "name": "-", + "type": "org.osbuild.xfs", + "source": "disk", + "target": "/", + "partition": 4 + }, + { + "name": "boot", + "type": "org.osbuild.xfs", + "source": "disk", + "target": "/boot", + "partition": 3 + }, + { + "name": "boot-efi", + "type": "org.osbuild.fat", + "source": "disk", + "target": "/boot/efi", + "partition": 2 + }, + { + "name": "ostree.deployment", + "type": "org.osbuild.ostree.deployment", + "options": { + "source": "mount", + "deployment": { + "default": true + } + } + }, + { + "name": "bind-ostree-deployment-to-tree", + "type": "org.osbuild.bind", + "target": "tree://", + "options": { + "source": "mount://" + } + } + ] + }, + { + "type": "org.osbuild.systemd.unit.create", + "options": { + "filename": "boot-efi.mount", + "unit-path": "etc", + "config": { + "Unit": { + "DefaultDependencies": true + }, + "Mount": { + "What": "/dev/disk/by-uuid/7B77-95E7", + "Where": "/boot/efi", + "Type": "vfat", + "Options": "umask=0077,shortname=winnt" + }, + "Install": { + "WantedBy": [ + "multi-user.target" + ] + } + } + }, + "devices": { + "disk": { + "type": "org.osbuild.loopback", + "options": { + "filename": "disk.raw", + "partscan": true + } + } + }, + "mounts": [ + { + "name": "-", + "type": "org.osbuild.xfs", + "source": "disk", + "target": "/", + "partition": 4 + }, + { + "name": "boot", + "type": "org.osbuild.xfs", + "source": "disk", + "target": "/boot", + "partition": 3 + }, + { + "name": "boot-efi", + "type": "org.osbuild.fat", + "source": "disk", + "target": "/boot/efi", + "partition": 2 + }, + { + "name": "ostree.deployment", + "type": "org.osbuild.ostree.deployment", + "options": { + "source": "mount", + "deployment": { + "default": true + } + } + }, + { + "name": "bind-ostree-deployment-to-tree", + "type": "org.osbuild.bind", + "target": "tree://", + "options": { + "source": "mount://" + } + } + ] + }, + { + "type": "org.osbuild.systemd.unit.create", + "options": { + "filename": "boot.mount", + "unit-path": "etc", + "config": { + "Unit": { + "DefaultDependencies": true + }, + "Mount": { + "What": "/dev/disk/by-uuid/0194fdc2-fa2f-4cc0-81d3-ff12045b73c8", + "Where": "/boot", + "Type": "xfs", + "Options": "ro" + }, + "Install": { + "WantedBy": [ + "multi-user.target" + ] + } + } + }, + "devices": { + "disk": { + "type": "org.osbuild.loopback", + "options": { + "filename": "disk.raw", + "partscan": true + } + } + }, + "mounts": [ + { + "name": "-", + "type": "org.osbuild.xfs", + "source": "disk", + "target": "/", + "partition": 4 + }, + { + "name": "boot", + "type": "org.osbuild.xfs", + "source": "disk", + "target": "/boot", + "partition": 3 + }, + { + "name": "boot-efi", + "type": "org.osbuild.fat", + "source": "disk", + "target": "/boot/efi", + "partition": 2 + }, + { + "name": "ostree.deployment", + "type": "org.osbuild.ostree.deployment", + "options": { + "source": "mount", + "deployment": { + "default": true + } + } + }, + { + "name": "bind-ostree-deployment-to-tree", + "type": "org.osbuild.bind", + "target": "tree://", + "options": { + "source": "mount://" + } + } + ] + }, + { + "type": "org.osbuild.systemd", + "options": { + "enabled_services": [ + "-.mount", + "boot-efi.mount", + "boot.mount" + ] + }, + "devices": { + "disk": { + "type": "org.osbuild.loopback", + "options": { + "filename": "disk.raw", + "partscan": true + } + } + }, + "mounts": [ + { + "name": "-", + "type": "org.osbuild.xfs", + "source": "disk", + "target": "/", + "partition": 4 + }, + { + "name": "boot", + "type": "org.osbuild.xfs", + "source": "disk", + "target": "/boot", + "partition": 3 + }, + { + "name": "boot-efi", + "type": "org.osbuild.fat", + "source": "disk", + "target": "/boot/efi", + "partition": 2 + }, + { + "name": "ostree.deployment", + "type": "org.osbuild.ostree.deployment", + "options": { + "source": "mount", + "deployment": { + "default": true + } + } + }, + { + "name": "bind-ostree-deployment-to-tree", + "type": "org.osbuild.bind", + "target": "tree://", + "options": { + "source": "mount://" + } + } + ] + }, + { + "type": "org.osbuild.selinux", + "options": { + "file_contexts": "etc/selinux/targeted/contexts/files/file_contexts", + "exclude_paths": [ + "/sysroot" + ] + }, + "devices": { + "disk": { + "type": "org.osbuild.loopback", + "options": { + "filename": "disk.raw", + "partscan": true + } + } + }, + "mounts": [ + { + "name": "-", + "type": "org.osbuild.xfs", + "source": "disk", + "target": "/", + "partition": 4 + }, + { + "name": "boot", + "type": "org.osbuild.xfs", + "source": "disk", + "target": "/boot", + "partition": 3 + }, + { + "name": "boot-efi", + "type": "org.osbuild.fat", + "source": "disk", + "target": "/boot/efi", + "partition": 2 + }, + { + "name": "ostree.deployment", + "type": "org.osbuild.ostree.deployment", + "options": { + "source": "mount", + "deployment": { + "default": true + } + } + }, + { + "name": "bind-ostree-deployment-to-tree", + "type": "org.osbuild.bind", + "target": "tree://", + "options": { + "source": "mount://" + } + } + ] + } + ] + }, + { + "name": "qcow2", + "stages": [ + { + "type": "org.osbuild.qemu", + "inputs": { + "image": { + "type": "org.osbuild.files", + "origin": "org.osbuild.pipeline", + "references": { + "name:image": { + "file": "disk.raw" + } + } + } + }, + "options": { + "filename": "disk.qcow2", + "format": { + "type": "qcow2", + "compat": "" + } + } + } + ] + }, + { + "name": "vmdk", + "stages": [ + { + "type": "org.osbuild.qemu", + "inputs": { + "image": { + "type": "org.osbuild.files", + "origin": "org.osbuild.pipeline", + "references": { + "name:image": { + "file": "disk.raw" + } + } + } + }, + "options": { + "filename": "disk.vmdk", + "format": { + "type": "vmdk", + "subformat": "streamOptimized" + } + } + } + ] + }, + { + "name": "vpc", + "stages": [ + { + "type": "org.osbuild.qemu", + "inputs": { + "image": { + "type": "org.osbuild.files", + "origin": "org.osbuild.pipeline", + "references": { + "name:image": { + "file": "disk.raw" + } + } + } + }, + "options": { + "filename": "disk.vhd", + "format": { + "type": "vpc" + } + } + } + ] + }, + { + "name": "ovf", + "stages": [ + { + "type": "org.osbuild.copy", + "inputs": { + "vmdk-tree": { + "type": "org.osbuild.tree", + "origin": "org.osbuild.pipeline", + "references": [ + "name:vmdk" + ] + } + }, + "options": { + "paths": [ + { + "from": "input://vmdk-tree/disk.vmdk", + "to": "tree:///" + } + ] + } + }, + { + "type": "org.osbuild.ovf", + "options": { + "vmdk": "disk.vmdk" + } + } + ] + }, + { + "name": "archive", + "stages": [ + { + "type": "org.osbuild.tar", + "inputs": { + "tree": { + "type": "org.osbuild.tree", + "origin": "org.osbuild.pipeline", + "references": [ + "name:ovf" + ] + } + }, + "options": { + "filename": "disk.tar", + "format": "ustar", + "paths": [ + "disk.ovf", + "disk.mf", + "disk.vmdk", + "disk.vhd" + ] + } + } + ] + }, + { + "name": "gce", + "build": "name:build", + "stages": [ + { + "type": "org.osbuild.tar", + "inputs": { + "tree": { + "type": "org.osbuild.tree", + "origin": "org.osbuild.pipeline", + "references": [ + "name:image" + ] + } + }, + "options": { + "filename": "image.tar.gz", + "format": "oldgnu", + "acls": false, + "selinux": false, + "xattrs": false, + "root-node": "omit" + } + } + ] + } + ], + "sources": { + "org.osbuild.skopeo": { + "items": { + "sha256:d84eacd1acb5a4b5fe43fd494dec79a0c0d732a02af7a8244b1c1ed0cea042cf": { + "image": { + "name": "quay.io/centos-bootc/centos-bootc:stream9", + "digest": "sha256:5a725627a084da5ddd98ed79a95f344d3e9b7dfaea4f85a2a2e353ccffe4beab" + } + } + } + }, + "org.osbuild.skopeo-index": { + "items": { + "sha256:d6968a62c4b6d65cf6dcf8e02a3071d14ac9d832cad305f3d998cac13d4043eb": { + "image": { + "name": "quay.io/centos-bootc/centos-bootc:stream9" + } + } + } + } + } +} diff --git a/test/data/manifests/manifest-quay.io_centos-bootc_centos-bootc:stream9-x86_64-gce.json b/test/data/manifests/manifest-quay.io_centos-bootc_centos-bootc:stream9-x86_64-gce.json new file mode 100644 index 00000000..7345988a --- /dev/null +++ b/test/data/manifests/manifest-quay.io_centos-bootc_centos-bootc:stream9-x86_64-gce.json @@ -0,0 +1,726 @@ +{ + "version": "2", + "pipelines": [ + { + "name": "build", + "runner": "org.osbuild.linux", + "stages": [ + { + "type": "org.osbuild.container-deploy", + "inputs": { + "images": { + "type": "org.osbuild.containers", + "origin": "org.osbuild.source", + "references": { + "sha256:d84eacd1acb5a4b5fe43fd494dec79a0c0d732a02af7a8244b1c1ed0cea042cf": { + "name": "quay.io/centos-bootc/centos-bootc:stream9" + } + } + } + }, + "options": { + "remove-signatures": true + } + }, + { + "type": "org.osbuild.selinux", + "options": { + "file_contexts": "etc/selinux/targeted/contexts/files/file_contexts", + "exclude_paths": [ + "/sysroot" + ], + "labels": { + "/usr/bin/mount": "system_u:object_r:install_exec_t:s0", + "/usr/bin/ostree": "system_u:object_r:install_exec_t:s0", + "/usr/bin/umount": "system_u:object_r:install_exec_t:s0" + } + } + } + ] + }, + { + "name": "image", + "build": "name:build", + "stages": [ + { + "type": "org.osbuild.truncate", + "options": { + "filename": "disk.raw", + "size": "10737418240" + } + }, + { + "type": "org.osbuild.sfdisk", + "options": { + "label": "gpt", + "uuid": "D209C89E-EA5E-4FBD-B161-B461CCE297E0", + "partitions": [ + { + "bootable": true, + "size": 2048, + "start": 2048, + "type": "21686148-6449-6E6F-744E-656564454649", + "uuid": "FAC7F1FB-3E8D-4137-A512-961DE09A5549" + }, + { + "size": 1026048, + "start": 4096, + "type": "C12A7328-F81F-11D2-BA4B-00A0C93EC93B", + "uuid": "68B2905B-DF3E-4FB3-80FA-49D1E773AA33" + }, + { + "size": 2097152, + "start": 1030144, + "type": "0FC63DAF-8483-4772-8E79-3D69D8477DE4", + "uuid": "CB07C243-BC44-4717-853E-28852021225B" + }, + { + "size": 17844191, + "start": 3127296, + "type": "0FC63DAF-8483-4772-8E79-3D69D8477DE4", + "uuid": "6264D520-3FB9-423F-8AB8-7A0A8E3D3562" + } + ] + }, + "devices": { + "device": { + "type": "org.osbuild.loopback", + "options": { + "filename": "disk.raw", + "lock": true + } + } + } + }, + { + "type": "org.osbuild.mkfs.fat", + "options": { + "volid": "7B7795E7", + "label": "EFI-SYSTEM" + }, + "devices": { + "device": { + "type": "org.osbuild.loopback", + "options": { + "filename": "disk.raw", + "start": 4096, + "size": 1026048, + "lock": true + } + } + } + }, + { + "type": "org.osbuild.mkfs.xfs", + "options": { + "uuid": "0194fdc2-fa2f-4cc0-81d3-ff12045b73c8", + "label": "boot" + }, + "devices": { + "device": { + "type": "org.osbuild.loopback", + "options": { + "filename": "disk.raw", + "start": 1030144, + "size": 2097152, + "lock": true + } + } + } + }, + { + "type": "org.osbuild.mkfs.xfs", + "options": { + "uuid": "6e4ff95f-f662-45ee-a82a-bdf44a2d0b75", + "label": "root" + }, + "devices": { + "device": { + "type": "org.osbuild.loopback", + "options": { + "filename": "disk.raw", + "start": 3127296, + "size": 17844191, + "lock": true + } + } + } + }, + { + "type": "org.osbuild.bootc.install-to-filesystem", + "inputs": { + "images": { + "type": "org.osbuild.containers", + "origin": "org.osbuild.source", + "references": { + "sha256:d84eacd1acb5a4b5fe43fd494dec79a0c0d732a02af7a8244b1c1ed0cea042cf": { + "name": "quay.io/centos-bootc/centos-bootc:stream9" + } + } + } + }, + "options": { + "kernel-args": [ + "rw", + "console=tty0", + "console=ttyS0" + ], + "target-imgref": "quay.io/centos-bootc/centos-bootc:stream9" + }, + "devices": { + "disk": { + "type": "org.osbuild.loopback", + "options": { + "filename": "disk.raw", + "partscan": true + } + } + }, + "mounts": [ + { + "name": "-", + "type": "org.osbuild.xfs", + "source": "disk", + "target": "/", + "partition": 4 + }, + { + "name": "boot", + "type": "org.osbuild.xfs", + "source": "disk", + "target": "/boot", + "partition": 3 + }, + { + "name": "boot-efi", + "type": "org.osbuild.fat", + "source": "disk", + "target": "/boot/efi", + "partition": 2 + } + ] + }, + { + "type": "org.osbuild.systemd.unit.create", + "options": { + "filename": "-.mount", + "unit-path": "etc", + "config": { + "Unit": { + "DefaultDependencies": true + }, + "Mount": { + "What": "/dev/disk/by-uuid/6e4ff95f-f662-45ee-a82a-bdf44a2d0b75", + "Where": "/", + "Type": "xfs", + "Options": "ro" + }, + "Install": { + "WantedBy": [ + "multi-user.target" + ] + } + } + }, + "devices": { + "disk": { + "type": "org.osbuild.loopback", + "options": { + "filename": "disk.raw", + "partscan": true + } + } + }, + "mounts": [ + { + "name": "-", + "type": "org.osbuild.xfs", + "source": "disk", + "target": "/", + "partition": 4 + }, + { + "name": "boot", + "type": "org.osbuild.xfs", + "source": "disk", + "target": "/boot", + "partition": 3 + }, + { + "name": "boot-efi", + "type": "org.osbuild.fat", + "source": "disk", + "target": "/boot/efi", + "partition": 2 + }, + { + "name": "ostree.deployment", + "type": "org.osbuild.ostree.deployment", + "options": { + "source": "mount", + "deployment": { + "default": true + } + } + }, + { + "name": "bind-ostree-deployment-to-tree", + "type": "org.osbuild.bind", + "target": "tree://", + "options": { + "source": "mount://" + } + } + ] + }, + { + "type": "org.osbuild.systemd.unit.create", + "options": { + "filename": "boot-efi.mount", + "unit-path": "etc", + "config": { + "Unit": { + "DefaultDependencies": true + }, + "Mount": { + "What": "/dev/disk/by-uuid/7B77-95E7", + "Where": "/boot/efi", + "Type": "vfat", + "Options": "umask=0077,shortname=winnt" + }, + "Install": { + "WantedBy": [ + "multi-user.target" + ] + } + } + }, + "devices": { + "disk": { + "type": "org.osbuild.loopback", + "options": { + "filename": "disk.raw", + "partscan": true + } + } + }, + "mounts": [ + { + "name": "-", + "type": "org.osbuild.xfs", + "source": "disk", + "target": "/", + "partition": 4 + }, + { + "name": "boot", + "type": "org.osbuild.xfs", + "source": "disk", + "target": "/boot", + "partition": 3 + }, + { + "name": "boot-efi", + "type": "org.osbuild.fat", + "source": "disk", + "target": "/boot/efi", + "partition": 2 + }, + { + "name": "ostree.deployment", + "type": "org.osbuild.ostree.deployment", + "options": { + "source": "mount", + "deployment": { + "default": true + } + } + }, + { + "name": "bind-ostree-deployment-to-tree", + "type": "org.osbuild.bind", + "target": "tree://", + "options": { + "source": "mount://" + } + } + ] + }, + { + "type": "org.osbuild.systemd.unit.create", + "options": { + "filename": "boot.mount", + "unit-path": "etc", + "config": { + "Unit": { + "DefaultDependencies": true + }, + "Mount": { + "What": "/dev/disk/by-uuid/0194fdc2-fa2f-4cc0-81d3-ff12045b73c8", + "Where": "/boot", + "Type": "xfs", + "Options": "ro" + }, + "Install": { + "WantedBy": [ + "multi-user.target" + ] + } + } + }, + "devices": { + "disk": { + "type": "org.osbuild.loopback", + "options": { + "filename": "disk.raw", + "partscan": true + } + } + }, + "mounts": [ + { + "name": "-", + "type": "org.osbuild.xfs", + "source": "disk", + "target": "/", + "partition": 4 + }, + { + "name": "boot", + "type": "org.osbuild.xfs", + "source": "disk", + "target": "/boot", + "partition": 3 + }, + { + "name": "boot-efi", + "type": "org.osbuild.fat", + "source": "disk", + "target": "/boot/efi", + "partition": 2 + }, + { + "name": "ostree.deployment", + "type": "org.osbuild.ostree.deployment", + "options": { + "source": "mount", + "deployment": { + "default": true + } + } + }, + { + "name": "bind-ostree-deployment-to-tree", + "type": "org.osbuild.bind", + "target": "tree://", + "options": { + "source": "mount://" + } + } + ] + }, + { + "type": "org.osbuild.systemd", + "options": { + "enabled_services": [ + "-.mount", + "boot-efi.mount", + "boot.mount" + ] + }, + "devices": { + "disk": { + "type": "org.osbuild.loopback", + "options": { + "filename": "disk.raw", + "partscan": true + } + } + }, + "mounts": [ + { + "name": "-", + "type": "org.osbuild.xfs", + "source": "disk", + "target": "/", + "partition": 4 + }, + { + "name": "boot", + "type": "org.osbuild.xfs", + "source": "disk", + "target": "/boot", + "partition": 3 + }, + { + "name": "boot-efi", + "type": "org.osbuild.fat", + "source": "disk", + "target": "/boot/efi", + "partition": 2 + }, + { + "name": "ostree.deployment", + "type": "org.osbuild.ostree.deployment", + "options": { + "source": "mount", + "deployment": { + "default": true + } + } + }, + { + "name": "bind-ostree-deployment-to-tree", + "type": "org.osbuild.bind", + "target": "tree://", + "options": { + "source": "mount://" + } + } + ] + }, + { + "type": "org.osbuild.selinux", + "options": { + "file_contexts": "etc/selinux/targeted/contexts/files/file_contexts", + "exclude_paths": [ + "/sysroot" + ] + }, + "devices": { + "disk": { + "type": "org.osbuild.loopback", + "options": { + "filename": "disk.raw", + "partscan": true + } + } + }, + "mounts": [ + { + "name": "-", + "type": "org.osbuild.xfs", + "source": "disk", + "target": "/", + "partition": 4 + }, + { + "name": "boot", + "type": "org.osbuild.xfs", + "source": "disk", + "target": "/boot", + "partition": 3 + }, + { + "name": "boot-efi", + "type": "org.osbuild.fat", + "source": "disk", + "target": "/boot/efi", + "partition": 2 + }, + { + "name": "ostree.deployment", + "type": "org.osbuild.ostree.deployment", + "options": { + "source": "mount", + "deployment": { + "default": true + } + } + }, + { + "name": "bind-ostree-deployment-to-tree", + "type": "org.osbuild.bind", + "target": "tree://", + "options": { + "source": "mount://" + } + } + ] + } + ] + }, + { + "name": "qcow2", + "stages": [ + { + "type": "org.osbuild.qemu", + "inputs": { + "image": { + "type": "org.osbuild.files", + "origin": "org.osbuild.pipeline", + "references": { + "name:image": { + "file": "disk.raw" + } + } + } + }, + "options": { + "filename": "disk.qcow2", + "format": { + "type": "qcow2", + "compat": "" + } + } + } + ] + }, + { + "name": "vmdk", + "stages": [ + { + "type": "org.osbuild.qemu", + "inputs": { + "image": { + "type": "org.osbuild.files", + "origin": "org.osbuild.pipeline", + "references": { + "name:image": { + "file": "disk.raw" + } + } + } + }, + "options": { + "filename": "disk.vmdk", + "format": { + "type": "vmdk", + "subformat": "streamOptimized" + } + } + } + ] + }, + { + "name": "vpc", + "stages": [ + { + "type": "org.osbuild.qemu", + "inputs": { + "image": { + "type": "org.osbuild.files", + "origin": "org.osbuild.pipeline", + "references": { + "name:image": { + "file": "disk.raw" + } + } + } + }, + "options": { + "filename": "disk.vhd", + "format": { + "type": "vpc" + } + } + } + ] + }, + { + "name": "ovf", + "stages": [ + { + "type": "org.osbuild.copy", + "inputs": { + "vmdk-tree": { + "type": "org.osbuild.tree", + "origin": "org.osbuild.pipeline", + "references": [ + "name:vmdk" + ] + } + }, + "options": { + "paths": [ + { + "from": "input://vmdk-tree/disk.vmdk", + "to": "tree:///" + } + ] + } + }, + { + "type": "org.osbuild.ovf", + "options": { + "vmdk": "disk.vmdk" + } + } + ] + }, + { + "name": "archive", + "stages": [ + { + "type": "org.osbuild.tar", + "inputs": { + "tree": { + "type": "org.osbuild.tree", + "origin": "org.osbuild.pipeline", + "references": [ + "name:ovf" + ] + } + }, + "options": { + "filename": "disk.tar", + "format": "ustar", + "paths": [ + "disk.ovf", + "disk.mf", + "disk.vmdk", + "disk.vhd" + ] + } + } + ] + }, + { + "name": "gce", + "build": "name:build", + "stages": [ + { + "type": "org.osbuild.tar", + "inputs": { + "tree": { + "type": "org.osbuild.tree", + "origin": "org.osbuild.pipeline", + "references": [ + "name:image" + ] + } + }, + "options": { + "filename": "image.tar.gz", + "format": "oldgnu", + "acls": false, + "selinux": false, + "xattrs": false, + "root-node": "omit" + } + } + ] + } + ], + "sources": { + "org.osbuild.skopeo": { + "items": { + "sha256:d84eacd1acb5a4b5fe43fd494dec79a0c0d732a02af7a8244b1c1ed0cea042cf": { + "image": { + "name": "quay.io/centos-bootc/centos-bootc:stream9", + "digest": "sha256:5a725627a084da5ddd98ed79a95f344d3e9b7dfaea4f85a2a2e353ccffe4beab" + } + } + } + }, + "org.osbuild.skopeo-index": { + "items": { + "sha256:d6968a62c4b6d65cf6dcf8e02a3071d14ac9d832cad305f3d998cac13d4043eb": { + "image": { + "name": "quay.io/centos-bootc/centos-bootc:stream9" + } + } + } + } + } +} diff --git a/test/data/manifests/manifest-quay.io_centos-bootc_centos-bootc:stream9-x86_64-qcow2.json b/test/data/manifests/manifest-quay.io_centos-bootc_centos-bootc:stream9-x86_64-qcow2.json new file mode 100644 index 00000000..7345988a --- /dev/null +++ b/test/data/manifests/manifest-quay.io_centos-bootc_centos-bootc:stream9-x86_64-qcow2.json @@ -0,0 +1,726 @@ +{ + "version": "2", + "pipelines": [ + { + "name": "build", + "runner": "org.osbuild.linux", + "stages": [ + { + "type": "org.osbuild.container-deploy", + "inputs": { + "images": { + "type": "org.osbuild.containers", + "origin": "org.osbuild.source", + "references": { + "sha256:d84eacd1acb5a4b5fe43fd494dec79a0c0d732a02af7a8244b1c1ed0cea042cf": { + "name": "quay.io/centos-bootc/centos-bootc:stream9" + } + } + } + }, + "options": { + "remove-signatures": true + } + }, + { + "type": "org.osbuild.selinux", + "options": { + "file_contexts": "etc/selinux/targeted/contexts/files/file_contexts", + "exclude_paths": [ + "/sysroot" + ], + "labels": { + "/usr/bin/mount": "system_u:object_r:install_exec_t:s0", + "/usr/bin/ostree": "system_u:object_r:install_exec_t:s0", + "/usr/bin/umount": "system_u:object_r:install_exec_t:s0" + } + } + } + ] + }, + { + "name": "image", + "build": "name:build", + "stages": [ + { + "type": "org.osbuild.truncate", + "options": { + "filename": "disk.raw", + "size": "10737418240" + } + }, + { + "type": "org.osbuild.sfdisk", + "options": { + "label": "gpt", + "uuid": "D209C89E-EA5E-4FBD-B161-B461CCE297E0", + "partitions": [ + { + "bootable": true, + "size": 2048, + "start": 2048, + "type": "21686148-6449-6E6F-744E-656564454649", + "uuid": "FAC7F1FB-3E8D-4137-A512-961DE09A5549" + }, + { + "size": 1026048, + "start": 4096, + "type": "C12A7328-F81F-11D2-BA4B-00A0C93EC93B", + "uuid": "68B2905B-DF3E-4FB3-80FA-49D1E773AA33" + }, + { + "size": 2097152, + "start": 1030144, + "type": "0FC63DAF-8483-4772-8E79-3D69D8477DE4", + "uuid": "CB07C243-BC44-4717-853E-28852021225B" + }, + { + "size": 17844191, + "start": 3127296, + "type": "0FC63DAF-8483-4772-8E79-3D69D8477DE4", + "uuid": "6264D520-3FB9-423F-8AB8-7A0A8E3D3562" + } + ] + }, + "devices": { + "device": { + "type": "org.osbuild.loopback", + "options": { + "filename": "disk.raw", + "lock": true + } + } + } + }, + { + "type": "org.osbuild.mkfs.fat", + "options": { + "volid": "7B7795E7", + "label": "EFI-SYSTEM" + }, + "devices": { + "device": { + "type": "org.osbuild.loopback", + "options": { + "filename": "disk.raw", + "start": 4096, + "size": 1026048, + "lock": true + } + } + } + }, + { + "type": "org.osbuild.mkfs.xfs", + "options": { + "uuid": "0194fdc2-fa2f-4cc0-81d3-ff12045b73c8", + "label": "boot" + }, + "devices": { + "device": { + "type": "org.osbuild.loopback", + "options": { + "filename": "disk.raw", + "start": 1030144, + "size": 2097152, + "lock": true + } + } + } + }, + { + "type": "org.osbuild.mkfs.xfs", + "options": { + "uuid": "6e4ff95f-f662-45ee-a82a-bdf44a2d0b75", + "label": "root" + }, + "devices": { + "device": { + "type": "org.osbuild.loopback", + "options": { + "filename": "disk.raw", + "start": 3127296, + "size": 17844191, + "lock": true + } + } + } + }, + { + "type": "org.osbuild.bootc.install-to-filesystem", + "inputs": { + "images": { + "type": "org.osbuild.containers", + "origin": "org.osbuild.source", + "references": { + "sha256:d84eacd1acb5a4b5fe43fd494dec79a0c0d732a02af7a8244b1c1ed0cea042cf": { + "name": "quay.io/centos-bootc/centos-bootc:stream9" + } + } + } + }, + "options": { + "kernel-args": [ + "rw", + "console=tty0", + "console=ttyS0" + ], + "target-imgref": "quay.io/centos-bootc/centos-bootc:stream9" + }, + "devices": { + "disk": { + "type": "org.osbuild.loopback", + "options": { + "filename": "disk.raw", + "partscan": true + } + } + }, + "mounts": [ + { + "name": "-", + "type": "org.osbuild.xfs", + "source": "disk", + "target": "/", + "partition": 4 + }, + { + "name": "boot", + "type": "org.osbuild.xfs", + "source": "disk", + "target": "/boot", + "partition": 3 + }, + { + "name": "boot-efi", + "type": "org.osbuild.fat", + "source": "disk", + "target": "/boot/efi", + "partition": 2 + } + ] + }, + { + "type": "org.osbuild.systemd.unit.create", + "options": { + "filename": "-.mount", + "unit-path": "etc", + "config": { + "Unit": { + "DefaultDependencies": true + }, + "Mount": { + "What": "/dev/disk/by-uuid/6e4ff95f-f662-45ee-a82a-bdf44a2d0b75", + "Where": "/", + "Type": "xfs", + "Options": "ro" + }, + "Install": { + "WantedBy": [ + "multi-user.target" + ] + } + } + }, + "devices": { + "disk": { + "type": "org.osbuild.loopback", + "options": { + "filename": "disk.raw", + "partscan": true + } + } + }, + "mounts": [ + { + "name": "-", + "type": "org.osbuild.xfs", + "source": "disk", + "target": "/", + "partition": 4 + }, + { + "name": "boot", + "type": "org.osbuild.xfs", + "source": "disk", + "target": "/boot", + "partition": 3 + }, + { + "name": "boot-efi", + "type": "org.osbuild.fat", + "source": "disk", + "target": "/boot/efi", + "partition": 2 + }, + { + "name": "ostree.deployment", + "type": "org.osbuild.ostree.deployment", + "options": { + "source": "mount", + "deployment": { + "default": true + } + } + }, + { + "name": "bind-ostree-deployment-to-tree", + "type": "org.osbuild.bind", + "target": "tree://", + "options": { + "source": "mount://" + } + } + ] + }, + { + "type": "org.osbuild.systemd.unit.create", + "options": { + "filename": "boot-efi.mount", + "unit-path": "etc", + "config": { + "Unit": { + "DefaultDependencies": true + }, + "Mount": { + "What": "/dev/disk/by-uuid/7B77-95E7", + "Where": "/boot/efi", + "Type": "vfat", + "Options": "umask=0077,shortname=winnt" + }, + "Install": { + "WantedBy": [ + "multi-user.target" + ] + } + } + }, + "devices": { + "disk": { + "type": "org.osbuild.loopback", + "options": { + "filename": "disk.raw", + "partscan": true + } + } + }, + "mounts": [ + { + "name": "-", + "type": "org.osbuild.xfs", + "source": "disk", + "target": "/", + "partition": 4 + }, + { + "name": "boot", + "type": "org.osbuild.xfs", + "source": "disk", + "target": "/boot", + "partition": 3 + }, + { + "name": "boot-efi", + "type": "org.osbuild.fat", + "source": "disk", + "target": "/boot/efi", + "partition": 2 + }, + { + "name": "ostree.deployment", + "type": "org.osbuild.ostree.deployment", + "options": { + "source": "mount", + "deployment": { + "default": true + } + } + }, + { + "name": "bind-ostree-deployment-to-tree", + "type": "org.osbuild.bind", + "target": "tree://", + "options": { + "source": "mount://" + } + } + ] + }, + { + "type": "org.osbuild.systemd.unit.create", + "options": { + "filename": "boot.mount", + "unit-path": "etc", + "config": { + "Unit": { + "DefaultDependencies": true + }, + "Mount": { + "What": "/dev/disk/by-uuid/0194fdc2-fa2f-4cc0-81d3-ff12045b73c8", + "Where": "/boot", + "Type": "xfs", + "Options": "ro" + }, + "Install": { + "WantedBy": [ + "multi-user.target" + ] + } + } + }, + "devices": { + "disk": { + "type": "org.osbuild.loopback", + "options": { + "filename": "disk.raw", + "partscan": true + } + } + }, + "mounts": [ + { + "name": "-", + "type": "org.osbuild.xfs", + "source": "disk", + "target": "/", + "partition": 4 + }, + { + "name": "boot", + "type": "org.osbuild.xfs", + "source": "disk", + "target": "/boot", + "partition": 3 + }, + { + "name": "boot-efi", + "type": "org.osbuild.fat", + "source": "disk", + "target": "/boot/efi", + "partition": 2 + }, + { + "name": "ostree.deployment", + "type": "org.osbuild.ostree.deployment", + "options": { + "source": "mount", + "deployment": { + "default": true + } + } + }, + { + "name": "bind-ostree-deployment-to-tree", + "type": "org.osbuild.bind", + "target": "tree://", + "options": { + "source": "mount://" + } + } + ] + }, + { + "type": "org.osbuild.systemd", + "options": { + "enabled_services": [ + "-.mount", + "boot-efi.mount", + "boot.mount" + ] + }, + "devices": { + "disk": { + "type": "org.osbuild.loopback", + "options": { + "filename": "disk.raw", + "partscan": true + } + } + }, + "mounts": [ + { + "name": "-", + "type": "org.osbuild.xfs", + "source": "disk", + "target": "/", + "partition": 4 + }, + { + "name": "boot", + "type": "org.osbuild.xfs", + "source": "disk", + "target": "/boot", + "partition": 3 + }, + { + "name": "boot-efi", + "type": "org.osbuild.fat", + "source": "disk", + "target": "/boot/efi", + "partition": 2 + }, + { + "name": "ostree.deployment", + "type": "org.osbuild.ostree.deployment", + "options": { + "source": "mount", + "deployment": { + "default": true + } + } + }, + { + "name": "bind-ostree-deployment-to-tree", + "type": "org.osbuild.bind", + "target": "tree://", + "options": { + "source": "mount://" + } + } + ] + }, + { + "type": "org.osbuild.selinux", + "options": { + "file_contexts": "etc/selinux/targeted/contexts/files/file_contexts", + "exclude_paths": [ + "/sysroot" + ] + }, + "devices": { + "disk": { + "type": "org.osbuild.loopback", + "options": { + "filename": "disk.raw", + "partscan": true + } + } + }, + "mounts": [ + { + "name": "-", + "type": "org.osbuild.xfs", + "source": "disk", + "target": "/", + "partition": 4 + }, + { + "name": "boot", + "type": "org.osbuild.xfs", + "source": "disk", + "target": "/boot", + "partition": 3 + }, + { + "name": "boot-efi", + "type": "org.osbuild.fat", + "source": "disk", + "target": "/boot/efi", + "partition": 2 + }, + { + "name": "ostree.deployment", + "type": "org.osbuild.ostree.deployment", + "options": { + "source": "mount", + "deployment": { + "default": true + } + } + }, + { + "name": "bind-ostree-deployment-to-tree", + "type": "org.osbuild.bind", + "target": "tree://", + "options": { + "source": "mount://" + } + } + ] + } + ] + }, + { + "name": "qcow2", + "stages": [ + { + "type": "org.osbuild.qemu", + "inputs": { + "image": { + "type": "org.osbuild.files", + "origin": "org.osbuild.pipeline", + "references": { + "name:image": { + "file": "disk.raw" + } + } + } + }, + "options": { + "filename": "disk.qcow2", + "format": { + "type": "qcow2", + "compat": "" + } + } + } + ] + }, + { + "name": "vmdk", + "stages": [ + { + "type": "org.osbuild.qemu", + "inputs": { + "image": { + "type": "org.osbuild.files", + "origin": "org.osbuild.pipeline", + "references": { + "name:image": { + "file": "disk.raw" + } + } + } + }, + "options": { + "filename": "disk.vmdk", + "format": { + "type": "vmdk", + "subformat": "streamOptimized" + } + } + } + ] + }, + { + "name": "vpc", + "stages": [ + { + "type": "org.osbuild.qemu", + "inputs": { + "image": { + "type": "org.osbuild.files", + "origin": "org.osbuild.pipeline", + "references": { + "name:image": { + "file": "disk.raw" + } + } + } + }, + "options": { + "filename": "disk.vhd", + "format": { + "type": "vpc" + } + } + } + ] + }, + { + "name": "ovf", + "stages": [ + { + "type": "org.osbuild.copy", + "inputs": { + "vmdk-tree": { + "type": "org.osbuild.tree", + "origin": "org.osbuild.pipeline", + "references": [ + "name:vmdk" + ] + } + }, + "options": { + "paths": [ + { + "from": "input://vmdk-tree/disk.vmdk", + "to": "tree:///" + } + ] + } + }, + { + "type": "org.osbuild.ovf", + "options": { + "vmdk": "disk.vmdk" + } + } + ] + }, + { + "name": "archive", + "stages": [ + { + "type": "org.osbuild.tar", + "inputs": { + "tree": { + "type": "org.osbuild.tree", + "origin": "org.osbuild.pipeline", + "references": [ + "name:ovf" + ] + } + }, + "options": { + "filename": "disk.tar", + "format": "ustar", + "paths": [ + "disk.ovf", + "disk.mf", + "disk.vmdk", + "disk.vhd" + ] + } + } + ] + }, + { + "name": "gce", + "build": "name:build", + "stages": [ + { + "type": "org.osbuild.tar", + "inputs": { + "tree": { + "type": "org.osbuild.tree", + "origin": "org.osbuild.pipeline", + "references": [ + "name:image" + ] + } + }, + "options": { + "filename": "image.tar.gz", + "format": "oldgnu", + "acls": false, + "selinux": false, + "xattrs": false, + "root-node": "omit" + } + } + ] + } + ], + "sources": { + "org.osbuild.skopeo": { + "items": { + "sha256:d84eacd1acb5a4b5fe43fd494dec79a0c0d732a02af7a8244b1c1ed0cea042cf": { + "image": { + "name": "quay.io/centos-bootc/centos-bootc:stream9", + "digest": "sha256:5a725627a084da5ddd98ed79a95f344d3e9b7dfaea4f85a2a2e353ccffe4beab" + } + } + } + }, + "org.osbuild.skopeo-index": { + "items": { + "sha256:d6968a62c4b6d65cf6dcf8e02a3071d14ac9d832cad305f3d998cac13d4043eb": { + "image": { + "name": "quay.io/centos-bootc/centos-bootc:stream9" + } + } + } + } + } +} diff --git a/test/data/manifests/manifest-quay.io_centos-bootc_centos-bootc:stream9-x86_64-raw.json b/test/data/manifests/manifest-quay.io_centos-bootc_centos-bootc:stream9-x86_64-raw.json new file mode 100644 index 00000000..7345988a --- /dev/null +++ b/test/data/manifests/manifest-quay.io_centos-bootc_centos-bootc:stream9-x86_64-raw.json @@ -0,0 +1,726 @@ +{ + "version": "2", + "pipelines": [ + { + "name": "build", + "runner": "org.osbuild.linux", + "stages": [ + { + "type": "org.osbuild.container-deploy", + "inputs": { + "images": { + "type": "org.osbuild.containers", + "origin": "org.osbuild.source", + "references": { + "sha256:d84eacd1acb5a4b5fe43fd494dec79a0c0d732a02af7a8244b1c1ed0cea042cf": { + "name": "quay.io/centos-bootc/centos-bootc:stream9" + } + } + } + }, + "options": { + "remove-signatures": true + } + }, + { + "type": "org.osbuild.selinux", + "options": { + "file_contexts": "etc/selinux/targeted/contexts/files/file_contexts", + "exclude_paths": [ + "/sysroot" + ], + "labels": { + "/usr/bin/mount": "system_u:object_r:install_exec_t:s0", + "/usr/bin/ostree": "system_u:object_r:install_exec_t:s0", + "/usr/bin/umount": "system_u:object_r:install_exec_t:s0" + } + } + } + ] + }, + { + "name": "image", + "build": "name:build", + "stages": [ + { + "type": "org.osbuild.truncate", + "options": { + "filename": "disk.raw", + "size": "10737418240" + } + }, + { + "type": "org.osbuild.sfdisk", + "options": { + "label": "gpt", + "uuid": "D209C89E-EA5E-4FBD-B161-B461CCE297E0", + "partitions": [ + { + "bootable": true, + "size": 2048, + "start": 2048, + "type": "21686148-6449-6E6F-744E-656564454649", + "uuid": "FAC7F1FB-3E8D-4137-A512-961DE09A5549" + }, + { + "size": 1026048, + "start": 4096, + "type": "C12A7328-F81F-11D2-BA4B-00A0C93EC93B", + "uuid": "68B2905B-DF3E-4FB3-80FA-49D1E773AA33" + }, + { + "size": 2097152, + "start": 1030144, + "type": "0FC63DAF-8483-4772-8E79-3D69D8477DE4", + "uuid": "CB07C243-BC44-4717-853E-28852021225B" + }, + { + "size": 17844191, + "start": 3127296, + "type": "0FC63DAF-8483-4772-8E79-3D69D8477DE4", + "uuid": "6264D520-3FB9-423F-8AB8-7A0A8E3D3562" + } + ] + }, + "devices": { + "device": { + "type": "org.osbuild.loopback", + "options": { + "filename": "disk.raw", + "lock": true + } + } + } + }, + { + "type": "org.osbuild.mkfs.fat", + "options": { + "volid": "7B7795E7", + "label": "EFI-SYSTEM" + }, + "devices": { + "device": { + "type": "org.osbuild.loopback", + "options": { + "filename": "disk.raw", + "start": 4096, + "size": 1026048, + "lock": true + } + } + } + }, + { + "type": "org.osbuild.mkfs.xfs", + "options": { + "uuid": "0194fdc2-fa2f-4cc0-81d3-ff12045b73c8", + "label": "boot" + }, + "devices": { + "device": { + "type": "org.osbuild.loopback", + "options": { + "filename": "disk.raw", + "start": 1030144, + "size": 2097152, + "lock": true + } + } + } + }, + { + "type": "org.osbuild.mkfs.xfs", + "options": { + "uuid": "6e4ff95f-f662-45ee-a82a-bdf44a2d0b75", + "label": "root" + }, + "devices": { + "device": { + "type": "org.osbuild.loopback", + "options": { + "filename": "disk.raw", + "start": 3127296, + "size": 17844191, + "lock": true + } + } + } + }, + { + "type": "org.osbuild.bootc.install-to-filesystem", + "inputs": { + "images": { + "type": "org.osbuild.containers", + "origin": "org.osbuild.source", + "references": { + "sha256:d84eacd1acb5a4b5fe43fd494dec79a0c0d732a02af7a8244b1c1ed0cea042cf": { + "name": "quay.io/centos-bootc/centos-bootc:stream9" + } + } + } + }, + "options": { + "kernel-args": [ + "rw", + "console=tty0", + "console=ttyS0" + ], + "target-imgref": "quay.io/centos-bootc/centos-bootc:stream9" + }, + "devices": { + "disk": { + "type": "org.osbuild.loopback", + "options": { + "filename": "disk.raw", + "partscan": true + } + } + }, + "mounts": [ + { + "name": "-", + "type": "org.osbuild.xfs", + "source": "disk", + "target": "/", + "partition": 4 + }, + { + "name": "boot", + "type": "org.osbuild.xfs", + "source": "disk", + "target": "/boot", + "partition": 3 + }, + { + "name": "boot-efi", + "type": "org.osbuild.fat", + "source": "disk", + "target": "/boot/efi", + "partition": 2 + } + ] + }, + { + "type": "org.osbuild.systemd.unit.create", + "options": { + "filename": "-.mount", + "unit-path": "etc", + "config": { + "Unit": { + "DefaultDependencies": true + }, + "Mount": { + "What": "/dev/disk/by-uuid/6e4ff95f-f662-45ee-a82a-bdf44a2d0b75", + "Where": "/", + "Type": "xfs", + "Options": "ro" + }, + "Install": { + "WantedBy": [ + "multi-user.target" + ] + } + } + }, + "devices": { + "disk": { + "type": "org.osbuild.loopback", + "options": { + "filename": "disk.raw", + "partscan": true + } + } + }, + "mounts": [ + { + "name": "-", + "type": "org.osbuild.xfs", + "source": "disk", + "target": "/", + "partition": 4 + }, + { + "name": "boot", + "type": "org.osbuild.xfs", + "source": "disk", + "target": "/boot", + "partition": 3 + }, + { + "name": "boot-efi", + "type": "org.osbuild.fat", + "source": "disk", + "target": "/boot/efi", + "partition": 2 + }, + { + "name": "ostree.deployment", + "type": "org.osbuild.ostree.deployment", + "options": { + "source": "mount", + "deployment": { + "default": true + } + } + }, + { + "name": "bind-ostree-deployment-to-tree", + "type": "org.osbuild.bind", + "target": "tree://", + "options": { + "source": "mount://" + } + } + ] + }, + { + "type": "org.osbuild.systemd.unit.create", + "options": { + "filename": "boot-efi.mount", + "unit-path": "etc", + "config": { + "Unit": { + "DefaultDependencies": true + }, + "Mount": { + "What": "/dev/disk/by-uuid/7B77-95E7", + "Where": "/boot/efi", + "Type": "vfat", + "Options": "umask=0077,shortname=winnt" + }, + "Install": { + "WantedBy": [ + "multi-user.target" + ] + } + } + }, + "devices": { + "disk": { + "type": "org.osbuild.loopback", + "options": { + "filename": "disk.raw", + "partscan": true + } + } + }, + "mounts": [ + { + "name": "-", + "type": "org.osbuild.xfs", + "source": "disk", + "target": "/", + "partition": 4 + }, + { + "name": "boot", + "type": "org.osbuild.xfs", + "source": "disk", + "target": "/boot", + "partition": 3 + }, + { + "name": "boot-efi", + "type": "org.osbuild.fat", + "source": "disk", + "target": "/boot/efi", + "partition": 2 + }, + { + "name": "ostree.deployment", + "type": "org.osbuild.ostree.deployment", + "options": { + "source": "mount", + "deployment": { + "default": true + } + } + }, + { + "name": "bind-ostree-deployment-to-tree", + "type": "org.osbuild.bind", + "target": "tree://", + "options": { + "source": "mount://" + } + } + ] + }, + { + "type": "org.osbuild.systemd.unit.create", + "options": { + "filename": "boot.mount", + "unit-path": "etc", + "config": { + "Unit": { + "DefaultDependencies": true + }, + "Mount": { + "What": "/dev/disk/by-uuid/0194fdc2-fa2f-4cc0-81d3-ff12045b73c8", + "Where": "/boot", + "Type": "xfs", + "Options": "ro" + }, + "Install": { + "WantedBy": [ + "multi-user.target" + ] + } + } + }, + "devices": { + "disk": { + "type": "org.osbuild.loopback", + "options": { + "filename": "disk.raw", + "partscan": true + } + } + }, + "mounts": [ + { + "name": "-", + "type": "org.osbuild.xfs", + "source": "disk", + "target": "/", + "partition": 4 + }, + { + "name": "boot", + "type": "org.osbuild.xfs", + "source": "disk", + "target": "/boot", + "partition": 3 + }, + { + "name": "boot-efi", + "type": "org.osbuild.fat", + "source": "disk", + "target": "/boot/efi", + "partition": 2 + }, + { + "name": "ostree.deployment", + "type": "org.osbuild.ostree.deployment", + "options": { + "source": "mount", + "deployment": { + "default": true + } + } + }, + { + "name": "bind-ostree-deployment-to-tree", + "type": "org.osbuild.bind", + "target": "tree://", + "options": { + "source": "mount://" + } + } + ] + }, + { + "type": "org.osbuild.systemd", + "options": { + "enabled_services": [ + "-.mount", + "boot-efi.mount", + "boot.mount" + ] + }, + "devices": { + "disk": { + "type": "org.osbuild.loopback", + "options": { + "filename": "disk.raw", + "partscan": true + } + } + }, + "mounts": [ + { + "name": "-", + "type": "org.osbuild.xfs", + "source": "disk", + "target": "/", + "partition": 4 + }, + { + "name": "boot", + "type": "org.osbuild.xfs", + "source": "disk", + "target": "/boot", + "partition": 3 + }, + { + "name": "boot-efi", + "type": "org.osbuild.fat", + "source": "disk", + "target": "/boot/efi", + "partition": 2 + }, + { + "name": "ostree.deployment", + "type": "org.osbuild.ostree.deployment", + "options": { + "source": "mount", + "deployment": { + "default": true + } + } + }, + { + "name": "bind-ostree-deployment-to-tree", + "type": "org.osbuild.bind", + "target": "tree://", + "options": { + "source": "mount://" + } + } + ] + }, + { + "type": "org.osbuild.selinux", + "options": { + "file_contexts": "etc/selinux/targeted/contexts/files/file_contexts", + "exclude_paths": [ + "/sysroot" + ] + }, + "devices": { + "disk": { + "type": "org.osbuild.loopback", + "options": { + "filename": "disk.raw", + "partscan": true + } + } + }, + "mounts": [ + { + "name": "-", + "type": "org.osbuild.xfs", + "source": "disk", + "target": "/", + "partition": 4 + }, + { + "name": "boot", + "type": "org.osbuild.xfs", + "source": "disk", + "target": "/boot", + "partition": 3 + }, + { + "name": "boot-efi", + "type": "org.osbuild.fat", + "source": "disk", + "target": "/boot/efi", + "partition": 2 + }, + { + "name": "ostree.deployment", + "type": "org.osbuild.ostree.deployment", + "options": { + "source": "mount", + "deployment": { + "default": true + } + } + }, + { + "name": "bind-ostree-deployment-to-tree", + "type": "org.osbuild.bind", + "target": "tree://", + "options": { + "source": "mount://" + } + } + ] + } + ] + }, + { + "name": "qcow2", + "stages": [ + { + "type": "org.osbuild.qemu", + "inputs": { + "image": { + "type": "org.osbuild.files", + "origin": "org.osbuild.pipeline", + "references": { + "name:image": { + "file": "disk.raw" + } + } + } + }, + "options": { + "filename": "disk.qcow2", + "format": { + "type": "qcow2", + "compat": "" + } + } + } + ] + }, + { + "name": "vmdk", + "stages": [ + { + "type": "org.osbuild.qemu", + "inputs": { + "image": { + "type": "org.osbuild.files", + "origin": "org.osbuild.pipeline", + "references": { + "name:image": { + "file": "disk.raw" + } + } + } + }, + "options": { + "filename": "disk.vmdk", + "format": { + "type": "vmdk", + "subformat": "streamOptimized" + } + } + } + ] + }, + { + "name": "vpc", + "stages": [ + { + "type": "org.osbuild.qemu", + "inputs": { + "image": { + "type": "org.osbuild.files", + "origin": "org.osbuild.pipeline", + "references": { + "name:image": { + "file": "disk.raw" + } + } + } + }, + "options": { + "filename": "disk.vhd", + "format": { + "type": "vpc" + } + } + } + ] + }, + { + "name": "ovf", + "stages": [ + { + "type": "org.osbuild.copy", + "inputs": { + "vmdk-tree": { + "type": "org.osbuild.tree", + "origin": "org.osbuild.pipeline", + "references": [ + "name:vmdk" + ] + } + }, + "options": { + "paths": [ + { + "from": "input://vmdk-tree/disk.vmdk", + "to": "tree:///" + } + ] + } + }, + { + "type": "org.osbuild.ovf", + "options": { + "vmdk": "disk.vmdk" + } + } + ] + }, + { + "name": "archive", + "stages": [ + { + "type": "org.osbuild.tar", + "inputs": { + "tree": { + "type": "org.osbuild.tree", + "origin": "org.osbuild.pipeline", + "references": [ + "name:ovf" + ] + } + }, + "options": { + "filename": "disk.tar", + "format": "ustar", + "paths": [ + "disk.ovf", + "disk.mf", + "disk.vmdk", + "disk.vhd" + ] + } + } + ] + }, + { + "name": "gce", + "build": "name:build", + "stages": [ + { + "type": "org.osbuild.tar", + "inputs": { + "tree": { + "type": "org.osbuild.tree", + "origin": "org.osbuild.pipeline", + "references": [ + "name:image" + ] + } + }, + "options": { + "filename": "image.tar.gz", + "format": "oldgnu", + "acls": false, + "selinux": false, + "xattrs": false, + "root-node": "omit" + } + } + ] + } + ], + "sources": { + "org.osbuild.skopeo": { + "items": { + "sha256:d84eacd1acb5a4b5fe43fd494dec79a0c0d732a02af7a8244b1c1ed0cea042cf": { + "image": { + "name": "quay.io/centos-bootc/centos-bootc:stream9", + "digest": "sha256:5a725627a084da5ddd98ed79a95f344d3e9b7dfaea4f85a2a2e353ccffe4beab" + } + } + } + }, + "org.osbuild.skopeo-index": { + "items": { + "sha256:d6968a62c4b6d65cf6dcf8e02a3071d14ac9d832cad305f3d998cac13d4043eb": { + "image": { + "name": "quay.io/centos-bootc/centos-bootc:stream9" + } + } + } + } + } +} diff --git a/test/data/manifests/manifest-quay.io_centos-bootc_centos-bootc:stream9-x86_64-vhd.json b/test/data/manifests/manifest-quay.io_centos-bootc_centos-bootc:stream9-x86_64-vhd.json new file mode 100644 index 00000000..7345988a --- /dev/null +++ b/test/data/manifests/manifest-quay.io_centos-bootc_centos-bootc:stream9-x86_64-vhd.json @@ -0,0 +1,726 @@ +{ + "version": "2", + "pipelines": [ + { + "name": "build", + "runner": "org.osbuild.linux", + "stages": [ + { + "type": "org.osbuild.container-deploy", + "inputs": { + "images": { + "type": "org.osbuild.containers", + "origin": "org.osbuild.source", + "references": { + "sha256:d84eacd1acb5a4b5fe43fd494dec79a0c0d732a02af7a8244b1c1ed0cea042cf": { + "name": "quay.io/centos-bootc/centos-bootc:stream9" + } + } + } + }, + "options": { + "remove-signatures": true + } + }, + { + "type": "org.osbuild.selinux", + "options": { + "file_contexts": "etc/selinux/targeted/contexts/files/file_contexts", + "exclude_paths": [ + "/sysroot" + ], + "labels": { + "/usr/bin/mount": "system_u:object_r:install_exec_t:s0", + "/usr/bin/ostree": "system_u:object_r:install_exec_t:s0", + "/usr/bin/umount": "system_u:object_r:install_exec_t:s0" + } + } + } + ] + }, + { + "name": "image", + "build": "name:build", + "stages": [ + { + "type": "org.osbuild.truncate", + "options": { + "filename": "disk.raw", + "size": "10737418240" + } + }, + { + "type": "org.osbuild.sfdisk", + "options": { + "label": "gpt", + "uuid": "D209C89E-EA5E-4FBD-B161-B461CCE297E0", + "partitions": [ + { + "bootable": true, + "size": 2048, + "start": 2048, + "type": "21686148-6449-6E6F-744E-656564454649", + "uuid": "FAC7F1FB-3E8D-4137-A512-961DE09A5549" + }, + { + "size": 1026048, + "start": 4096, + "type": "C12A7328-F81F-11D2-BA4B-00A0C93EC93B", + "uuid": "68B2905B-DF3E-4FB3-80FA-49D1E773AA33" + }, + { + "size": 2097152, + "start": 1030144, + "type": "0FC63DAF-8483-4772-8E79-3D69D8477DE4", + "uuid": "CB07C243-BC44-4717-853E-28852021225B" + }, + { + "size": 17844191, + "start": 3127296, + "type": "0FC63DAF-8483-4772-8E79-3D69D8477DE4", + "uuid": "6264D520-3FB9-423F-8AB8-7A0A8E3D3562" + } + ] + }, + "devices": { + "device": { + "type": "org.osbuild.loopback", + "options": { + "filename": "disk.raw", + "lock": true + } + } + } + }, + { + "type": "org.osbuild.mkfs.fat", + "options": { + "volid": "7B7795E7", + "label": "EFI-SYSTEM" + }, + "devices": { + "device": { + "type": "org.osbuild.loopback", + "options": { + "filename": "disk.raw", + "start": 4096, + "size": 1026048, + "lock": true + } + } + } + }, + { + "type": "org.osbuild.mkfs.xfs", + "options": { + "uuid": "0194fdc2-fa2f-4cc0-81d3-ff12045b73c8", + "label": "boot" + }, + "devices": { + "device": { + "type": "org.osbuild.loopback", + "options": { + "filename": "disk.raw", + "start": 1030144, + "size": 2097152, + "lock": true + } + } + } + }, + { + "type": "org.osbuild.mkfs.xfs", + "options": { + "uuid": "6e4ff95f-f662-45ee-a82a-bdf44a2d0b75", + "label": "root" + }, + "devices": { + "device": { + "type": "org.osbuild.loopback", + "options": { + "filename": "disk.raw", + "start": 3127296, + "size": 17844191, + "lock": true + } + } + } + }, + { + "type": "org.osbuild.bootc.install-to-filesystem", + "inputs": { + "images": { + "type": "org.osbuild.containers", + "origin": "org.osbuild.source", + "references": { + "sha256:d84eacd1acb5a4b5fe43fd494dec79a0c0d732a02af7a8244b1c1ed0cea042cf": { + "name": "quay.io/centos-bootc/centos-bootc:stream9" + } + } + } + }, + "options": { + "kernel-args": [ + "rw", + "console=tty0", + "console=ttyS0" + ], + "target-imgref": "quay.io/centos-bootc/centos-bootc:stream9" + }, + "devices": { + "disk": { + "type": "org.osbuild.loopback", + "options": { + "filename": "disk.raw", + "partscan": true + } + } + }, + "mounts": [ + { + "name": "-", + "type": "org.osbuild.xfs", + "source": "disk", + "target": "/", + "partition": 4 + }, + { + "name": "boot", + "type": "org.osbuild.xfs", + "source": "disk", + "target": "/boot", + "partition": 3 + }, + { + "name": "boot-efi", + "type": "org.osbuild.fat", + "source": "disk", + "target": "/boot/efi", + "partition": 2 + } + ] + }, + { + "type": "org.osbuild.systemd.unit.create", + "options": { + "filename": "-.mount", + "unit-path": "etc", + "config": { + "Unit": { + "DefaultDependencies": true + }, + "Mount": { + "What": "/dev/disk/by-uuid/6e4ff95f-f662-45ee-a82a-bdf44a2d0b75", + "Where": "/", + "Type": "xfs", + "Options": "ro" + }, + "Install": { + "WantedBy": [ + "multi-user.target" + ] + } + } + }, + "devices": { + "disk": { + "type": "org.osbuild.loopback", + "options": { + "filename": "disk.raw", + "partscan": true + } + } + }, + "mounts": [ + { + "name": "-", + "type": "org.osbuild.xfs", + "source": "disk", + "target": "/", + "partition": 4 + }, + { + "name": "boot", + "type": "org.osbuild.xfs", + "source": "disk", + "target": "/boot", + "partition": 3 + }, + { + "name": "boot-efi", + "type": "org.osbuild.fat", + "source": "disk", + "target": "/boot/efi", + "partition": 2 + }, + { + "name": "ostree.deployment", + "type": "org.osbuild.ostree.deployment", + "options": { + "source": "mount", + "deployment": { + "default": true + } + } + }, + { + "name": "bind-ostree-deployment-to-tree", + "type": "org.osbuild.bind", + "target": "tree://", + "options": { + "source": "mount://" + } + } + ] + }, + { + "type": "org.osbuild.systemd.unit.create", + "options": { + "filename": "boot-efi.mount", + "unit-path": "etc", + "config": { + "Unit": { + "DefaultDependencies": true + }, + "Mount": { + "What": "/dev/disk/by-uuid/7B77-95E7", + "Where": "/boot/efi", + "Type": "vfat", + "Options": "umask=0077,shortname=winnt" + }, + "Install": { + "WantedBy": [ + "multi-user.target" + ] + } + } + }, + "devices": { + "disk": { + "type": "org.osbuild.loopback", + "options": { + "filename": "disk.raw", + "partscan": true + } + } + }, + "mounts": [ + { + "name": "-", + "type": "org.osbuild.xfs", + "source": "disk", + "target": "/", + "partition": 4 + }, + { + "name": "boot", + "type": "org.osbuild.xfs", + "source": "disk", + "target": "/boot", + "partition": 3 + }, + { + "name": "boot-efi", + "type": "org.osbuild.fat", + "source": "disk", + "target": "/boot/efi", + "partition": 2 + }, + { + "name": "ostree.deployment", + "type": "org.osbuild.ostree.deployment", + "options": { + "source": "mount", + "deployment": { + "default": true + } + } + }, + { + "name": "bind-ostree-deployment-to-tree", + "type": "org.osbuild.bind", + "target": "tree://", + "options": { + "source": "mount://" + } + } + ] + }, + { + "type": "org.osbuild.systemd.unit.create", + "options": { + "filename": "boot.mount", + "unit-path": "etc", + "config": { + "Unit": { + "DefaultDependencies": true + }, + "Mount": { + "What": "/dev/disk/by-uuid/0194fdc2-fa2f-4cc0-81d3-ff12045b73c8", + "Where": "/boot", + "Type": "xfs", + "Options": "ro" + }, + "Install": { + "WantedBy": [ + "multi-user.target" + ] + } + } + }, + "devices": { + "disk": { + "type": "org.osbuild.loopback", + "options": { + "filename": "disk.raw", + "partscan": true + } + } + }, + "mounts": [ + { + "name": "-", + "type": "org.osbuild.xfs", + "source": "disk", + "target": "/", + "partition": 4 + }, + { + "name": "boot", + "type": "org.osbuild.xfs", + "source": "disk", + "target": "/boot", + "partition": 3 + }, + { + "name": "boot-efi", + "type": "org.osbuild.fat", + "source": "disk", + "target": "/boot/efi", + "partition": 2 + }, + { + "name": "ostree.deployment", + "type": "org.osbuild.ostree.deployment", + "options": { + "source": "mount", + "deployment": { + "default": true + } + } + }, + { + "name": "bind-ostree-deployment-to-tree", + "type": "org.osbuild.bind", + "target": "tree://", + "options": { + "source": "mount://" + } + } + ] + }, + { + "type": "org.osbuild.systemd", + "options": { + "enabled_services": [ + "-.mount", + "boot-efi.mount", + "boot.mount" + ] + }, + "devices": { + "disk": { + "type": "org.osbuild.loopback", + "options": { + "filename": "disk.raw", + "partscan": true + } + } + }, + "mounts": [ + { + "name": "-", + "type": "org.osbuild.xfs", + "source": "disk", + "target": "/", + "partition": 4 + }, + { + "name": "boot", + "type": "org.osbuild.xfs", + "source": "disk", + "target": "/boot", + "partition": 3 + }, + { + "name": "boot-efi", + "type": "org.osbuild.fat", + "source": "disk", + "target": "/boot/efi", + "partition": 2 + }, + { + "name": "ostree.deployment", + "type": "org.osbuild.ostree.deployment", + "options": { + "source": "mount", + "deployment": { + "default": true + } + } + }, + { + "name": "bind-ostree-deployment-to-tree", + "type": "org.osbuild.bind", + "target": "tree://", + "options": { + "source": "mount://" + } + } + ] + }, + { + "type": "org.osbuild.selinux", + "options": { + "file_contexts": "etc/selinux/targeted/contexts/files/file_contexts", + "exclude_paths": [ + "/sysroot" + ] + }, + "devices": { + "disk": { + "type": "org.osbuild.loopback", + "options": { + "filename": "disk.raw", + "partscan": true + } + } + }, + "mounts": [ + { + "name": "-", + "type": "org.osbuild.xfs", + "source": "disk", + "target": "/", + "partition": 4 + }, + { + "name": "boot", + "type": "org.osbuild.xfs", + "source": "disk", + "target": "/boot", + "partition": 3 + }, + { + "name": "boot-efi", + "type": "org.osbuild.fat", + "source": "disk", + "target": "/boot/efi", + "partition": 2 + }, + { + "name": "ostree.deployment", + "type": "org.osbuild.ostree.deployment", + "options": { + "source": "mount", + "deployment": { + "default": true + } + } + }, + { + "name": "bind-ostree-deployment-to-tree", + "type": "org.osbuild.bind", + "target": "tree://", + "options": { + "source": "mount://" + } + } + ] + } + ] + }, + { + "name": "qcow2", + "stages": [ + { + "type": "org.osbuild.qemu", + "inputs": { + "image": { + "type": "org.osbuild.files", + "origin": "org.osbuild.pipeline", + "references": { + "name:image": { + "file": "disk.raw" + } + } + } + }, + "options": { + "filename": "disk.qcow2", + "format": { + "type": "qcow2", + "compat": "" + } + } + } + ] + }, + { + "name": "vmdk", + "stages": [ + { + "type": "org.osbuild.qemu", + "inputs": { + "image": { + "type": "org.osbuild.files", + "origin": "org.osbuild.pipeline", + "references": { + "name:image": { + "file": "disk.raw" + } + } + } + }, + "options": { + "filename": "disk.vmdk", + "format": { + "type": "vmdk", + "subformat": "streamOptimized" + } + } + } + ] + }, + { + "name": "vpc", + "stages": [ + { + "type": "org.osbuild.qemu", + "inputs": { + "image": { + "type": "org.osbuild.files", + "origin": "org.osbuild.pipeline", + "references": { + "name:image": { + "file": "disk.raw" + } + } + } + }, + "options": { + "filename": "disk.vhd", + "format": { + "type": "vpc" + } + } + } + ] + }, + { + "name": "ovf", + "stages": [ + { + "type": "org.osbuild.copy", + "inputs": { + "vmdk-tree": { + "type": "org.osbuild.tree", + "origin": "org.osbuild.pipeline", + "references": [ + "name:vmdk" + ] + } + }, + "options": { + "paths": [ + { + "from": "input://vmdk-tree/disk.vmdk", + "to": "tree:///" + } + ] + } + }, + { + "type": "org.osbuild.ovf", + "options": { + "vmdk": "disk.vmdk" + } + } + ] + }, + { + "name": "archive", + "stages": [ + { + "type": "org.osbuild.tar", + "inputs": { + "tree": { + "type": "org.osbuild.tree", + "origin": "org.osbuild.pipeline", + "references": [ + "name:ovf" + ] + } + }, + "options": { + "filename": "disk.tar", + "format": "ustar", + "paths": [ + "disk.ovf", + "disk.mf", + "disk.vmdk", + "disk.vhd" + ] + } + } + ] + }, + { + "name": "gce", + "build": "name:build", + "stages": [ + { + "type": "org.osbuild.tar", + "inputs": { + "tree": { + "type": "org.osbuild.tree", + "origin": "org.osbuild.pipeline", + "references": [ + "name:image" + ] + } + }, + "options": { + "filename": "image.tar.gz", + "format": "oldgnu", + "acls": false, + "selinux": false, + "xattrs": false, + "root-node": "omit" + } + } + ] + } + ], + "sources": { + "org.osbuild.skopeo": { + "items": { + "sha256:d84eacd1acb5a4b5fe43fd494dec79a0c0d732a02af7a8244b1c1ed0cea042cf": { + "image": { + "name": "quay.io/centos-bootc/centos-bootc:stream9", + "digest": "sha256:5a725627a084da5ddd98ed79a95f344d3e9b7dfaea4f85a2a2e353ccffe4beab" + } + } + } + }, + "org.osbuild.skopeo-index": { + "items": { + "sha256:d6968a62c4b6d65cf6dcf8e02a3071d14ac9d832cad305f3d998cac13d4043eb": { + "image": { + "name": "quay.io/centos-bootc/centos-bootc:stream9" + } + } + } + } + } +} diff --git a/test/data/manifests/manifest-quay.io_centos-bootc_centos-bootc:stream9-x86_64-vmdk.json b/test/data/manifests/manifest-quay.io_centos-bootc_centos-bootc:stream9-x86_64-vmdk.json new file mode 100644 index 00000000..7345988a --- /dev/null +++ b/test/data/manifests/manifest-quay.io_centos-bootc_centos-bootc:stream9-x86_64-vmdk.json @@ -0,0 +1,726 @@ +{ + "version": "2", + "pipelines": [ + { + "name": "build", + "runner": "org.osbuild.linux", + "stages": [ + { + "type": "org.osbuild.container-deploy", + "inputs": { + "images": { + "type": "org.osbuild.containers", + "origin": "org.osbuild.source", + "references": { + "sha256:d84eacd1acb5a4b5fe43fd494dec79a0c0d732a02af7a8244b1c1ed0cea042cf": { + "name": "quay.io/centos-bootc/centos-bootc:stream9" + } + } + } + }, + "options": { + "remove-signatures": true + } + }, + { + "type": "org.osbuild.selinux", + "options": { + "file_contexts": "etc/selinux/targeted/contexts/files/file_contexts", + "exclude_paths": [ + "/sysroot" + ], + "labels": { + "/usr/bin/mount": "system_u:object_r:install_exec_t:s0", + "/usr/bin/ostree": "system_u:object_r:install_exec_t:s0", + "/usr/bin/umount": "system_u:object_r:install_exec_t:s0" + } + } + } + ] + }, + { + "name": "image", + "build": "name:build", + "stages": [ + { + "type": "org.osbuild.truncate", + "options": { + "filename": "disk.raw", + "size": "10737418240" + } + }, + { + "type": "org.osbuild.sfdisk", + "options": { + "label": "gpt", + "uuid": "D209C89E-EA5E-4FBD-B161-B461CCE297E0", + "partitions": [ + { + "bootable": true, + "size": 2048, + "start": 2048, + "type": "21686148-6449-6E6F-744E-656564454649", + "uuid": "FAC7F1FB-3E8D-4137-A512-961DE09A5549" + }, + { + "size": 1026048, + "start": 4096, + "type": "C12A7328-F81F-11D2-BA4B-00A0C93EC93B", + "uuid": "68B2905B-DF3E-4FB3-80FA-49D1E773AA33" + }, + { + "size": 2097152, + "start": 1030144, + "type": "0FC63DAF-8483-4772-8E79-3D69D8477DE4", + "uuid": "CB07C243-BC44-4717-853E-28852021225B" + }, + { + "size": 17844191, + "start": 3127296, + "type": "0FC63DAF-8483-4772-8E79-3D69D8477DE4", + "uuid": "6264D520-3FB9-423F-8AB8-7A0A8E3D3562" + } + ] + }, + "devices": { + "device": { + "type": "org.osbuild.loopback", + "options": { + "filename": "disk.raw", + "lock": true + } + } + } + }, + { + "type": "org.osbuild.mkfs.fat", + "options": { + "volid": "7B7795E7", + "label": "EFI-SYSTEM" + }, + "devices": { + "device": { + "type": "org.osbuild.loopback", + "options": { + "filename": "disk.raw", + "start": 4096, + "size": 1026048, + "lock": true + } + } + } + }, + { + "type": "org.osbuild.mkfs.xfs", + "options": { + "uuid": "0194fdc2-fa2f-4cc0-81d3-ff12045b73c8", + "label": "boot" + }, + "devices": { + "device": { + "type": "org.osbuild.loopback", + "options": { + "filename": "disk.raw", + "start": 1030144, + "size": 2097152, + "lock": true + } + } + } + }, + { + "type": "org.osbuild.mkfs.xfs", + "options": { + "uuid": "6e4ff95f-f662-45ee-a82a-bdf44a2d0b75", + "label": "root" + }, + "devices": { + "device": { + "type": "org.osbuild.loopback", + "options": { + "filename": "disk.raw", + "start": 3127296, + "size": 17844191, + "lock": true + } + } + } + }, + { + "type": "org.osbuild.bootc.install-to-filesystem", + "inputs": { + "images": { + "type": "org.osbuild.containers", + "origin": "org.osbuild.source", + "references": { + "sha256:d84eacd1acb5a4b5fe43fd494dec79a0c0d732a02af7a8244b1c1ed0cea042cf": { + "name": "quay.io/centos-bootc/centos-bootc:stream9" + } + } + } + }, + "options": { + "kernel-args": [ + "rw", + "console=tty0", + "console=ttyS0" + ], + "target-imgref": "quay.io/centos-bootc/centos-bootc:stream9" + }, + "devices": { + "disk": { + "type": "org.osbuild.loopback", + "options": { + "filename": "disk.raw", + "partscan": true + } + } + }, + "mounts": [ + { + "name": "-", + "type": "org.osbuild.xfs", + "source": "disk", + "target": "/", + "partition": 4 + }, + { + "name": "boot", + "type": "org.osbuild.xfs", + "source": "disk", + "target": "/boot", + "partition": 3 + }, + { + "name": "boot-efi", + "type": "org.osbuild.fat", + "source": "disk", + "target": "/boot/efi", + "partition": 2 + } + ] + }, + { + "type": "org.osbuild.systemd.unit.create", + "options": { + "filename": "-.mount", + "unit-path": "etc", + "config": { + "Unit": { + "DefaultDependencies": true + }, + "Mount": { + "What": "/dev/disk/by-uuid/6e4ff95f-f662-45ee-a82a-bdf44a2d0b75", + "Where": "/", + "Type": "xfs", + "Options": "ro" + }, + "Install": { + "WantedBy": [ + "multi-user.target" + ] + } + } + }, + "devices": { + "disk": { + "type": "org.osbuild.loopback", + "options": { + "filename": "disk.raw", + "partscan": true + } + } + }, + "mounts": [ + { + "name": "-", + "type": "org.osbuild.xfs", + "source": "disk", + "target": "/", + "partition": 4 + }, + { + "name": "boot", + "type": "org.osbuild.xfs", + "source": "disk", + "target": "/boot", + "partition": 3 + }, + { + "name": "boot-efi", + "type": "org.osbuild.fat", + "source": "disk", + "target": "/boot/efi", + "partition": 2 + }, + { + "name": "ostree.deployment", + "type": "org.osbuild.ostree.deployment", + "options": { + "source": "mount", + "deployment": { + "default": true + } + } + }, + { + "name": "bind-ostree-deployment-to-tree", + "type": "org.osbuild.bind", + "target": "tree://", + "options": { + "source": "mount://" + } + } + ] + }, + { + "type": "org.osbuild.systemd.unit.create", + "options": { + "filename": "boot-efi.mount", + "unit-path": "etc", + "config": { + "Unit": { + "DefaultDependencies": true + }, + "Mount": { + "What": "/dev/disk/by-uuid/7B77-95E7", + "Where": "/boot/efi", + "Type": "vfat", + "Options": "umask=0077,shortname=winnt" + }, + "Install": { + "WantedBy": [ + "multi-user.target" + ] + } + } + }, + "devices": { + "disk": { + "type": "org.osbuild.loopback", + "options": { + "filename": "disk.raw", + "partscan": true + } + } + }, + "mounts": [ + { + "name": "-", + "type": "org.osbuild.xfs", + "source": "disk", + "target": "/", + "partition": 4 + }, + { + "name": "boot", + "type": "org.osbuild.xfs", + "source": "disk", + "target": "/boot", + "partition": 3 + }, + { + "name": "boot-efi", + "type": "org.osbuild.fat", + "source": "disk", + "target": "/boot/efi", + "partition": 2 + }, + { + "name": "ostree.deployment", + "type": "org.osbuild.ostree.deployment", + "options": { + "source": "mount", + "deployment": { + "default": true + } + } + }, + { + "name": "bind-ostree-deployment-to-tree", + "type": "org.osbuild.bind", + "target": "tree://", + "options": { + "source": "mount://" + } + } + ] + }, + { + "type": "org.osbuild.systemd.unit.create", + "options": { + "filename": "boot.mount", + "unit-path": "etc", + "config": { + "Unit": { + "DefaultDependencies": true + }, + "Mount": { + "What": "/dev/disk/by-uuid/0194fdc2-fa2f-4cc0-81d3-ff12045b73c8", + "Where": "/boot", + "Type": "xfs", + "Options": "ro" + }, + "Install": { + "WantedBy": [ + "multi-user.target" + ] + } + } + }, + "devices": { + "disk": { + "type": "org.osbuild.loopback", + "options": { + "filename": "disk.raw", + "partscan": true + } + } + }, + "mounts": [ + { + "name": "-", + "type": "org.osbuild.xfs", + "source": "disk", + "target": "/", + "partition": 4 + }, + { + "name": "boot", + "type": "org.osbuild.xfs", + "source": "disk", + "target": "/boot", + "partition": 3 + }, + { + "name": "boot-efi", + "type": "org.osbuild.fat", + "source": "disk", + "target": "/boot/efi", + "partition": 2 + }, + { + "name": "ostree.deployment", + "type": "org.osbuild.ostree.deployment", + "options": { + "source": "mount", + "deployment": { + "default": true + } + } + }, + { + "name": "bind-ostree-deployment-to-tree", + "type": "org.osbuild.bind", + "target": "tree://", + "options": { + "source": "mount://" + } + } + ] + }, + { + "type": "org.osbuild.systemd", + "options": { + "enabled_services": [ + "-.mount", + "boot-efi.mount", + "boot.mount" + ] + }, + "devices": { + "disk": { + "type": "org.osbuild.loopback", + "options": { + "filename": "disk.raw", + "partscan": true + } + } + }, + "mounts": [ + { + "name": "-", + "type": "org.osbuild.xfs", + "source": "disk", + "target": "/", + "partition": 4 + }, + { + "name": "boot", + "type": "org.osbuild.xfs", + "source": "disk", + "target": "/boot", + "partition": 3 + }, + { + "name": "boot-efi", + "type": "org.osbuild.fat", + "source": "disk", + "target": "/boot/efi", + "partition": 2 + }, + { + "name": "ostree.deployment", + "type": "org.osbuild.ostree.deployment", + "options": { + "source": "mount", + "deployment": { + "default": true + } + } + }, + { + "name": "bind-ostree-deployment-to-tree", + "type": "org.osbuild.bind", + "target": "tree://", + "options": { + "source": "mount://" + } + } + ] + }, + { + "type": "org.osbuild.selinux", + "options": { + "file_contexts": "etc/selinux/targeted/contexts/files/file_contexts", + "exclude_paths": [ + "/sysroot" + ] + }, + "devices": { + "disk": { + "type": "org.osbuild.loopback", + "options": { + "filename": "disk.raw", + "partscan": true + } + } + }, + "mounts": [ + { + "name": "-", + "type": "org.osbuild.xfs", + "source": "disk", + "target": "/", + "partition": 4 + }, + { + "name": "boot", + "type": "org.osbuild.xfs", + "source": "disk", + "target": "/boot", + "partition": 3 + }, + { + "name": "boot-efi", + "type": "org.osbuild.fat", + "source": "disk", + "target": "/boot/efi", + "partition": 2 + }, + { + "name": "ostree.deployment", + "type": "org.osbuild.ostree.deployment", + "options": { + "source": "mount", + "deployment": { + "default": true + } + } + }, + { + "name": "bind-ostree-deployment-to-tree", + "type": "org.osbuild.bind", + "target": "tree://", + "options": { + "source": "mount://" + } + } + ] + } + ] + }, + { + "name": "qcow2", + "stages": [ + { + "type": "org.osbuild.qemu", + "inputs": { + "image": { + "type": "org.osbuild.files", + "origin": "org.osbuild.pipeline", + "references": { + "name:image": { + "file": "disk.raw" + } + } + } + }, + "options": { + "filename": "disk.qcow2", + "format": { + "type": "qcow2", + "compat": "" + } + } + } + ] + }, + { + "name": "vmdk", + "stages": [ + { + "type": "org.osbuild.qemu", + "inputs": { + "image": { + "type": "org.osbuild.files", + "origin": "org.osbuild.pipeline", + "references": { + "name:image": { + "file": "disk.raw" + } + } + } + }, + "options": { + "filename": "disk.vmdk", + "format": { + "type": "vmdk", + "subformat": "streamOptimized" + } + } + } + ] + }, + { + "name": "vpc", + "stages": [ + { + "type": "org.osbuild.qemu", + "inputs": { + "image": { + "type": "org.osbuild.files", + "origin": "org.osbuild.pipeline", + "references": { + "name:image": { + "file": "disk.raw" + } + } + } + }, + "options": { + "filename": "disk.vhd", + "format": { + "type": "vpc" + } + } + } + ] + }, + { + "name": "ovf", + "stages": [ + { + "type": "org.osbuild.copy", + "inputs": { + "vmdk-tree": { + "type": "org.osbuild.tree", + "origin": "org.osbuild.pipeline", + "references": [ + "name:vmdk" + ] + } + }, + "options": { + "paths": [ + { + "from": "input://vmdk-tree/disk.vmdk", + "to": "tree:///" + } + ] + } + }, + { + "type": "org.osbuild.ovf", + "options": { + "vmdk": "disk.vmdk" + } + } + ] + }, + { + "name": "archive", + "stages": [ + { + "type": "org.osbuild.tar", + "inputs": { + "tree": { + "type": "org.osbuild.tree", + "origin": "org.osbuild.pipeline", + "references": [ + "name:ovf" + ] + } + }, + "options": { + "filename": "disk.tar", + "format": "ustar", + "paths": [ + "disk.ovf", + "disk.mf", + "disk.vmdk", + "disk.vhd" + ] + } + } + ] + }, + { + "name": "gce", + "build": "name:build", + "stages": [ + { + "type": "org.osbuild.tar", + "inputs": { + "tree": { + "type": "org.osbuild.tree", + "origin": "org.osbuild.pipeline", + "references": [ + "name:image" + ] + } + }, + "options": { + "filename": "image.tar.gz", + "format": "oldgnu", + "acls": false, + "selinux": false, + "xattrs": false, + "root-node": "omit" + } + } + ] + } + ], + "sources": { + "org.osbuild.skopeo": { + "items": { + "sha256:d84eacd1acb5a4b5fe43fd494dec79a0c0d732a02af7a8244b1c1ed0cea042cf": { + "image": { + "name": "quay.io/centos-bootc/centos-bootc:stream9", + "digest": "sha256:5a725627a084da5ddd98ed79a95f344d3e9b7dfaea4f85a2a2e353ccffe4beab" + } + } + } + }, + "org.osbuild.skopeo-index": { + "items": { + "sha256:d6968a62c4b6d65cf6dcf8e02a3071d14ac9d832cad305f3d998cac13d4043eb": { + "image": { + "name": "quay.io/centos-bootc/centos-bootc:stream9" + } + } + } + } + } +} From 456b74ca95c345b2f6a695bcee15a978ec70031d Mon Sep 17 00:00:00 2001 From: Michael Vogt Date: Wed, 30 Jul 2025 11:39:35 +0200 Subject: [PATCH 6/7] tools: add s390x ppc64le to gen-manifests --- tools/gen-manifests | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tools/gen-manifests b/tools/gen-manifests index bfc93dec..35e47e75 100755 --- a/tools/gen-manifests +++ b/tools/gen-manifests @@ -35,8 +35,8 @@ fi echo "Generating mock manifests" podman pull "$bootc_ref" -# xxx: more arches? -for arch in x86_64 aarch64; do + +for arch in x86_64 aarch64 ppc64le s390x; do # XXX: add anaconda-iso once we can mock it too for imgtype in ami qcow2 vmdk raw vhd gce; do if ! "${tmpdir}/bin/bootc-image-builder" \ From 3b1860ed79e0817e9b7b0b6a879bce1f7a788034 Mon Sep 17 00:00:00 2001 From: Michael Vogt Date: Wed, 30 Jul 2025 11:40:56 +0200 Subject: [PATCH 7/7] test: add test manifests for s390x/ppc64le --- ...ootc_centos-bootc:stream9-ppc64le-ami.json | 593 ++++++++++++++++++ ...ootc_centos-bootc:stream9-ppc64le-gce.json | 593 ++++++++++++++++++ ...tc_centos-bootc:stream9-ppc64le-qcow2.json | 593 ++++++++++++++++++ ...ootc_centos-bootc:stream9-ppc64le-raw.json | 593 ++++++++++++++++++ ...ootc_centos-bootc:stream9-ppc64le-vhd.json | 593 ++++++++++++++++++ ...otc_centos-bootc:stream9-ppc64le-vmdk.json | 593 ++++++++++++++++++ ...-bootc_centos-bootc:stream9-s390x-ami.json | 586 +++++++++++++++++ ...-bootc_centos-bootc:stream9-s390x-gce.json | 586 +++++++++++++++++ ...ootc_centos-bootc:stream9-s390x-qcow2.json | 586 +++++++++++++++++ ...-bootc_centos-bootc:stream9-s390x-raw.json | 586 +++++++++++++++++ ...-bootc_centos-bootc:stream9-s390x-vhd.json | 586 +++++++++++++++++ ...bootc_centos-bootc:stream9-s390x-vmdk.json | 586 +++++++++++++++++ 12 files changed, 7074 insertions(+) create mode 100644 test/data/manifests/manifest-quay.io_centos-bootc_centos-bootc:stream9-ppc64le-ami.json create mode 100644 test/data/manifests/manifest-quay.io_centos-bootc_centos-bootc:stream9-ppc64le-gce.json create mode 100644 test/data/manifests/manifest-quay.io_centos-bootc_centos-bootc:stream9-ppc64le-qcow2.json create mode 100644 test/data/manifests/manifest-quay.io_centos-bootc_centos-bootc:stream9-ppc64le-raw.json create mode 100644 test/data/manifests/manifest-quay.io_centos-bootc_centos-bootc:stream9-ppc64le-vhd.json create mode 100644 test/data/manifests/manifest-quay.io_centos-bootc_centos-bootc:stream9-ppc64le-vmdk.json create mode 100644 test/data/manifests/manifest-quay.io_centos-bootc_centos-bootc:stream9-s390x-ami.json create mode 100644 test/data/manifests/manifest-quay.io_centos-bootc_centos-bootc:stream9-s390x-gce.json create mode 100644 test/data/manifests/manifest-quay.io_centos-bootc_centos-bootc:stream9-s390x-qcow2.json create mode 100644 test/data/manifests/manifest-quay.io_centos-bootc_centos-bootc:stream9-s390x-raw.json create mode 100644 test/data/manifests/manifest-quay.io_centos-bootc_centos-bootc:stream9-s390x-vhd.json create mode 100644 test/data/manifests/manifest-quay.io_centos-bootc_centos-bootc:stream9-s390x-vmdk.json diff --git a/test/data/manifests/manifest-quay.io_centos-bootc_centos-bootc:stream9-ppc64le-ami.json b/test/data/manifests/manifest-quay.io_centos-bootc_centos-bootc:stream9-ppc64le-ami.json new file mode 100644 index 00000000..73839b95 --- /dev/null +++ b/test/data/manifests/manifest-quay.io_centos-bootc_centos-bootc:stream9-ppc64le-ami.json @@ -0,0 +1,593 @@ +{ + "version": "2", + "pipelines": [ + { + "name": "build", + "runner": "org.osbuild.linux", + "stages": [ + { + "type": "org.osbuild.container-deploy", + "inputs": { + "images": { + "type": "org.osbuild.containers", + "origin": "org.osbuild.source", + "references": { + "sha256:d84eacd1acb5a4b5fe43fd494dec79a0c0d732a02af7a8244b1c1ed0cea042cf": { + "name": "quay.io/centos-bootc/centos-bootc:stream9" + } + } + } + }, + "options": { + "remove-signatures": true + } + }, + { + "type": "org.osbuild.selinux", + "options": { + "file_contexts": "etc/selinux/targeted/contexts/files/file_contexts", + "exclude_paths": [ + "/sysroot" + ], + "labels": { + "/usr/bin/mount": "system_u:object_r:install_exec_t:s0", + "/usr/bin/ostree": "system_u:object_r:install_exec_t:s0", + "/usr/bin/umount": "system_u:object_r:install_exec_t:s0" + } + } + } + ] + }, + { + "name": "image", + "build": "name:build", + "stages": [ + { + "type": "org.osbuild.truncate", + "options": { + "filename": "disk.raw", + "size": "10737418240" + } + }, + { + "type": "org.osbuild.sfdisk", + "options": { + "label": "gpt", + "uuid": "D209C89E-EA5E-4FBD-B161-B461CCE297E0", + "partitions": [ + { + "bootable": true, + "size": 8192, + "start": 2048, + "type": "9E1A2D38-C612-4316-AA26-8B49521E5A8B", + "uuid": "fb180daf-48a7-4ee0-b10d-394651850fd4" + }, + { + "size": 2097152, + "start": 10240, + "type": "0FC63DAF-8483-4772-8E79-3D69D8477DE4", + "uuid": "CB07C243-BC44-4717-853E-28852021225B" + }, + { + "size": 18864095, + "start": 2107392, + "type": "0FC63DAF-8483-4772-8E79-3D69D8477DE4", + "uuid": "6264D520-3FB9-423F-8AB8-7A0A8E3D3562" + } + ] + }, + "devices": { + "device": { + "type": "org.osbuild.loopback", + "options": { + "filename": "disk.raw", + "lock": true + } + } + } + }, + { + "type": "org.osbuild.mkfs.xfs", + "options": { + "uuid": "0194fdc2-fa2f-4cc0-81d3-ff12045b73c8", + "label": "boot" + }, + "devices": { + "device": { + "type": "org.osbuild.loopback", + "options": { + "filename": "disk.raw", + "start": 10240, + "size": 2097152, + "lock": true + } + } + } + }, + { + "type": "org.osbuild.mkfs.xfs", + "options": { + "uuid": "6e4ff95f-f662-45ee-a82a-bdf44a2d0b75", + "label": "root" + }, + "devices": { + "device": { + "type": "org.osbuild.loopback", + "options": { + "filename": "disk.raw", + "start": 2107392, + "size": 18864095, + "lock": true + } + } + } + }, + { + "type": "org.osbuild.bootc.install-to-filesystem", + "inputs": { + "images": { + "type": "org.osbuild.containers", + "origin": "org.osbuild.source", + "references": { + "sha256:d84eacd1acb5a4b5fe43fd494dec79a0c0d732a02af7a8244b1c1ed0cea042cf": { + "name": "quay.io/centos-bootc/centos-bootc:stream9" + } + } + } + }, + "options": { + "kernel-args": [ + "rw", + "console=tty0", + "console=ttyS0" + ], + "target-imgref": "quay.io/centos-bootc/centos-bootc:stream9" + }, + "devices": { + "disk": { + "type": "org.osbuild.loopback", + "options": { + "filename": "disk.raw", + "partscan": true + } + } + }, + "mounts": [ + { + "name": "-", + "type": "org.osbuild.xfs", + "source": "disk", + "target": "/", + "partition": 3 + }, + { + "name": "boot", + "type": "org.osbuild.xfs", + "source": "disk", + "target": "/boot", + "partition": 2 + } + ] + }, + { + "type": "org.osbuild.systemd.unit.create", + "options": { + "filename": "-.mount", + "unit-path": "etc", + "config": { + "Unit": { + "DefaultDependencies": true + }, + "Mount": { + "What": "/dev/disk/by-uuid/6e4ff95f-f662-45ee-a82a-bdf44a2d0b75", + "Where": "/", + "Type": "xfs", + "Options": "ro" + }, + "Install": { + "WantedBy": [ + "multi-user.target" + ] + } + } + }, + "devices": { + "disk": { + "type": "org.osbuild.loopback", + "options": { + "filename": "disk.raw", + "partscan": true + } + } + }, + "mounts": [ + { + "name": "-", + "type": "org.osbuild.xfs", + "source": "disk", + "target": "/", + "partition": 3 + }, + { + "name": "boot", + "type": "org.osbuild.xfs", + "source": "disk", + "target": "/boot", + "partition": 2 + }, + { + "name": "ostree.deployment", + "type": "org.osbuild.ostree.deployment", + "options": { + "source": "mount", + "deployment": { + "default": true + } + } + }, + { + "name": "bind-ostree-deployment-to-tree", + "type": "org.osbuild.bind", + "target": "tree://", + "options": { + "source": "mount://" + } + } + ] + }, + { + "type": "org.osbuild.systemd.unit.create", + "options": { + "filename": "boot.mount", + "unit-path": "etc", + "config": { + "Unit": { + "DefaultDependencies": true + }, + "Mount": { + "What": "/dev/disk/by-uuid/0194fdc2-fa2f-4cc0-81d3-ff12045b73c8", + "Where": "/boot", + "Type": "xfs", + "Options": "ro" + }, + "Install": { + "WantedBy": [ + "multi-user.target" + ] + } + } + }, + "devices": { + "disk": { + "type": "org.osbuild.loopback", + "options": { + "filename": "disk.raw", + "partscan": true + } + } + }, + "mounts": [ + { + "name": "-", + "type": "org.osbuild.xfs", + "source": "disk", + "target": "/", + "partition": 3 + }, + { + "name": "boot", + "type": "org.osbuild.xfs", + "source": "disk", + "target": "/boot", + "partition": 2 + }, + { + "name": "ostree.deployment", + "type": "org.osbuild.ostree.deployment", + "options": { + "source": "mount", + "deployment": { + "default": true + } + } + }, + { + "name": "bind-ostree-deployment-to-tree", + "type": "org.osbuild.bind", + "target": "tree://", + "options": { + "source": "mount://" + } + } + ] + }, + { + "type": "org.osbuild.systemd", + "options": { + "enabled_services": [ + "-.mount", + "boot.mount" + ] + }, + "devices": { + "disk": { + "type": "org.osbuild.loopback", + "options": { + "filename": "disk.raw", + "partscan": true + } + } + }, + "mounts": [ + { + "name": "-", + "type": "org.osbuild.xfs", + "source": "disk", + "target": "/", + "partition": 3 + }, + { + "name": "boot", + "type": "org.osbuild.xfs", + "source": "disk", + "target": "/boot", + "partition": 2 + }, + { + "name": "ostree.deployment", + "type": "org.osbuild.ostree.deployment", + "options": { + "source": "mount", + "deployment": { + "default": true + } + } + }, + { + "name": "bind-ostree-deployment-to-tree", + "type": "org.osbuild.bind", + "target": "tree://", + "options": { + "source": "mount://" + } + } + ] + }, + { + "type": "org.osbuild.selinux", + "options": { + "file_contexts": "etc/selinux/targeted/contexts/files/file_contexts", + "exclude_paths": [ + "/sysroot" + ] + }, + "devices": { + "disk": { + "type": "org.osbuild.loopback", + "options": { + "filename": "disk.raw", + "partscan": true + } + } + }, + "mounts": [ + { + "name": "-", + "type": "org.osbuild.xfs", + "source": "disk", + "target": "/", + "partition": 3 + }, + { + "name": "boot", + "type": "org.osbuild.xfs", + "source": "disk", + "target": "/boot", + "partition": 2 + }, + { + "name": "ostree.deployment", + "type": "org.osbuild.ostree.deployment", + "options": { + "source": "mount", + "deployment": { + "default": true + } + } + }, + { + "name": "bind-ostree-deployment-to-tree", + "type": "org.osbuild.bind", + "target": "tree://", + "options": { + "source": "mount://" + } + } + ] + } + ] + }, + { + "name": "qcow2", + "stages": [ + { + "type": "org.osbuild.qemu", + "inputs": { + "image": { + "type": "org.osbuild.files", + "origin": "org.osbuild.pipeline", + "references": { + "name:image": { + "file": "disk.raw" + } + } + } + }, + "options": { + "filename": "disk.qcow2", + "format": { + "type": "qcow2", + "compat": "1.1" + } + } + } + ] + }, + { + "name": "vmdk", + "stages": [ + { + "type": "org.osbuild.qemu", + "inputs": { + "image": { + "type": "org.osbuild.files", + "origin": "org.osbuild.pipeline", + "references": { + "name:image": { + "file": "disk.raw" + } + } + } + }, + "options": { + "filename": "disk.vmdk", + "format": { + "type": "vmdk", + "subformat": "streamOptimized" + } + } + } + ] + }, + { + "name": "vpc", + "stages": [ + { + "type": "org.osbuild.qemu", + "inputs": { + "image": { + "type": "org.osbuild.files", + "origin": "org.osbuild.pipeline", + "references": { + "name:image": { + "file": "disk.raw" + } + } + } + }, + "options": { + "filename": "disk.vhd", + "format": { + "type": "vpc" + } + } + } + ] + }, + { + "name": "ovf", + "stages": [ + { + "type": "org.osbuild.copy", + "inputs": { + "vmdk-tree": { + "type": "org.osbuild.tree", + "origin": "org.osbuild.pipeline", + "references": [ + "name:vmdk" + ] + } + }, + "options": { + "paths": [ + { + "from": "input://vmdk-tree/disk.vmdk", + "to": "tree:///" + } + ] + } + }, + { + "type": "org.osbuild.ovf", + "options": { + "vmdk": "disk.vmdk" + } + } + ] + }, + { + "name": "archive", + "stages": [ + { + "type": "org.osbuild.tar", + "inputs": { + "tree": { + "type": "org.osbuild.tree", + "origin": "org.osbuild.pipeline", + "references": [ + "name:ovf" + ] + } + }, + "options": { + "filename": "disk.tar", + "format": "ustar", + "paths": [ + "disk.ovf", + "disk.mf", + "disk.vmdk", + "disk.vhd" + ] + } + } + ] + }, + { + "name": "gce", + "build": "name:build", + "stages": [ + { + "type": "org.osbuild.tar", + "inputs": { + "tree": { + "type": "org.osbuild.tree", + "origin": "org.osbuild.pipeline", + "references": [ + "name:image" + ] + } + }, + "options": { + "filename": "image.tar.gz", + "format": "oldgnu", + "acls": false, + "selinux": false, + "xattrs": false, + "root-node": "omit" + } + } + ] + } + ], + "sources": { + "org.osbuild.skopeo": { + "items": { + "sha256:d84eacd1acb5a4b5fe43fd494dec79a0c0d732a02af7a8244b1c1ed0cea042cf": { + "image": { + "name": "quay.io/centos-bootc/centos-bootc:stream9", + "digest": "sha256:5a725627a084da5ddd98ed79a95f344d3e9b7dfaea4f85a2a2e353ccffe4beab" + } + } + } + }, + "org.osbuild.skopeo-index": { + "items": { + "sha256:d6968a62c4b6d65cf6dcf8e02a3071d14ac9d832cad305f3d998cac13d4043eb": { + "image": { + "name": "quay.io/centos-bootc/centos-bootc:stream9" + } + } + } + } + } +} diff --git a/test/data/manifests/manifest-quay.io_centos-bootc_centos-bootc:stream9-ppc64le-gce.json b/test/data/manifests/manifest-quay.io_centos-bootc_centos-bootc:stream9-ppc64le-gce.json new file mode 100644 index 00000000..73839b95 --- /dev/null +++ b/test/data/manifests/manifest-quay.io_centos-bootc_centos-bootc:stream9-ppc64le-gce.json @@ -0,0 +1,593 @@ +{ + "version": "2", + "pipelines": [ + { + "name": "build", + "runner": "org.osbuild.linux", + "stages": [ + { + "type": "org.osbuild.container-deploy", + "inputs": { + "images": { + "type": "org.osbuild.containers", + "origin": "org.osbuild.source", + "references": { + "sha256:d84eacd1acb5a4b5fe43fd494dec79a0c0d732a02af7a8244b1c1ed0cea042cf": { + "name": "quay.io/centos-bootc/centos-bootc:stream9" + } + } + } + }, + "options": { + "remove-signatures": true + } + }, + { + "type": "org.osbuild.selinux", + "options": { + "file_contexts": "etc/selinux/targeted/contexts/files/file_contexts", + "exclude_paths": [ + "/sysroot" + ], + "labels": { + "/usr/bin/mount": "system_u:object_r:install_exec_t:s0", + "/usr/bin/ostree": "system_u:object_r:install_exec_t:s0", + "/usr/bin/umount": "system_u:object_r:install_exec_t:s0" + } + } + } + ] + }, + { + "name": "image", + "build": "name:build", + "stages": [ + { + "type": "org.osbuild.truncate", + "options": { + "filename": "disk.raw", + "size": "10737418240" + } + }, + { + "type": "org.osbuild.sfdisk", + "options": { + "label": "gpt", + "uuid": "D209C89E-EA5E-4FBD-B161-B461CCE297E0", + "partitions": [ + { + "bootable": true, + "size": 8192, + "start": 2048, + "type": "9E1A2D38-C612-4316-AA26-8B49521E5A8B", + "uuid": "fb180daf-48a7-4ee0-b10d-394651850fd4" + }, + { + "size": 2097152, + "start": 10240, + "type": "0FC63DAF-8483-4772-8E79-3D69D8477DE4", + "uuid": "CB07C243-BC44-4717-853E-28852021225B" + }, + { + "size": 18864095, + "start": 2107392, + "type": "0FC63DAF-8483-4772-8E79-3D69D8477DE4", + "uuid": "6264D520-3FB9-423F-8AB8-7A0A8E3D3562" + } + ] + }, + "devices": { + "device": { + "type": "org.osbuild.loopback", + "options": { + "filename": "disk.raw", + "lock": true + } + } + } + }, + { + "type": "org.osbuild.mkfs.xfs", + "options": { + "uuid": "0194fdc2-fa2f-4cc0-81d3-ff12045b73c8", + "label": "boot" + }, + "devices": { + "device": { + "type": "org.osbuild.loopback", + "options": { + "filename": "disk.raw", + "start": 10240, + "size": 2097152, + "lock": true + } + } + } + }, + { + "type": "org.osbuild.mkfs.xfs", + "options": { + "uuid": "6e4ff95f-f662-45ee-a82a-bdf44a2d0b75", + "label": "root" + }, + "devices": { + "device": { + "type": "org.osbuild.loopback", + "options": { + "filename": "disk.raw", + "start": 2107392, + "size": 18864095, + "lock": true + } + } + } + }, + { + "type": "org.osbuild.bootc.install-to-filesystem", + "inputs": { + "images": { + "type": "org.osbuild.containers", + "origin": "org.osbuild.source", + "references": { + "sha256:d84eacd1acb5a4b5fe43fd494dec79a0c0d732a02af7a8244b1c1ed0cea042cf": { + "name": "quay.io/centos-bootc/centos-bootc:stream9" + } + } + } + }, + "options": { + "kernel-args": [ + "rw", + "console=tty0", + "console=ttyS0" + ], + "target-imgref": "quay.io/centos-bootc/centos-bootc:stream9" + }, + "devices": { + "disk": { + "type": "org.osbuild.loopback", + "options": { + "filename": "disk.raw", + "partscan": true + } + } + }, + "mounts": [ + { + "name": "-", + "type": "org.osbuild.xfs", + "source": "disk", + "target": "/", + "partition": 3 + }, + { + "name": "boot", + "type": "org.osbuild.xfs", + "source": "disk", + "target": "/boot", + "partition": 2 + } + ] + }, + { + "type": "org.osbuild.systemd.unit.create", + "options": { + "filename": "-.mount", + "unit-path": "etc", + "config": { + "Unit": { + "DefaultDependencies": true + }, + "Mount": { + "What": "/dev/disk/by-uuid/6e4ff95f-f662-45ee-a82a-bdf44a2d0b75", + "Where": "/", + "Type": "xfs", + "Options": "ro" + }, + "Install": { + "WantedBy": [ + "multi-user.target" + ] + } + } + }, + "devices": { + "disk": { + "type": "org.osbuild.loopback", + "options": { + "filename": "disk.raw", + "partscan": true + } + } + }, + "mounts": [ + { + "name": "-", + "type": "org.osbuild.xfs", + "source": "disk", + "target": "/", + "partition": 3 + }, + { + "name": "boot", + "type": "org.osbuild.xfs", + "source": "disk", + "target": "/boot", + "partition": 2 + }, + { + "name": "ostree.deployment", + "type": "org.osbuild.ostree.deployment", + "options": { + "source": "mount", + "deployment": { + "default": true + } + } + }, + { + "name": "bind-ostree-deployment-to-tree", + "type": "org.osbuild.bind", + "target": "tree://", + "options": { + "source": "mount://" + } + } + ] + }, + { + "type": "org.osbuild.systemd.unit.create", + "options": { + "filename": "boot.mount", + "unit-path": "etc", + "config": { + "Unit": { + "DefaultDependencies": true + }, + "Mount": { + "What": "/dev/disk/by-uuid/0194fdc2-fa2f-4cc0-81d3-ff12045b73c8", + "Where": "/boot", + "Type": "xfs", + "Options": "ro" + }, + "Install": { + "WantedBy": [ + "multi-user.target" + ] + } + } + }, + "devices": { + "disk": { + "type": "org.osbuild.loopback", + "options": { + "filename": "disk.raw", + "partscan": true + } + } + }, + "mounts": [ + { + "name": "-", + "type": "org.osbuild.xfs", + "source": "disk", + "target": "/", + "partition": 3 + }, + { + "name": "boot", + "type": "org.osbuild.xfs", + "source": "disk", + "target": "/boot", + "partition": 2 + }, + { + "name": "ostree.deployment", + "type": "org.osbuild.ostree.deployment", + "options": { + "source": "mount", + "deployment": { + "default": true + } + } + }, + { + "name": "bind-ostree-deployment-to-tree", + "type": "org.osbuild.bind", + "target": "tree://", + "options": { + "source": "mount://" + } + } + ] + }, + { + "type": "org.osbuild.systemd", + "options": { + "enabled_services": [ + "-.mount", + "boot.mount" + ] + }, + "devices": { + "disk": { + "type": "org.osbuild.loopback", + "options": { + "filename": "disk.raw", + "partscan": true + } + } + }, + "mounts": [ + { + "name": "-", + "type": "org.osbuild.xfs", + "source": "disk", + "target": "/", + "partition": 3 + }, + { + "name": "boot", + "type": "org.osbuild.xfs", + "source": "disk", + "target": "/boot", + "partition": 2 + }, + { + "name": "ostree.deployment", + "type": "org.osbuild.ostree.deployment", + "options": { + "source": "mount", + "deployment": { + "default": true + } + } + }, + { + "name": "bind-ostree-deployment-to-tree", + "type": "org.osbuild.bind", + "target": "tree://", + "options": { + "source": "mount://" + } + } + ] + }, + { + "type": "org.osbuild.selinux", + "options": { + "file_contexts": "etc/selinux/targeted/contexts/files/file_contexts", + "exclude_paths": [ + "/sysroot" + ] + }, + "devices": { + "disk": { + "type": "org.osbuild.loopback", + "options": { + "filename": "disk.raw", + "partscan": true + } + } + }, + "mounts": [ + { + "name": "-", + "type": "org.osbuild.xfs", + "source": "disk", + "target": "/", + "partition": 3 + }, + { + "name": "boot", + "type": "org.osbuild.xfs", + "source": "disk", + "target": "/boot", + "partition": 2 + }, + { + "name": "ostree.deployment", + "type": "org.osbuild.ostree.deployment", + "options": { + "source": "mount", + "deployment": { + "default": true + } + } + }, + { + "name": "bind-ostree-deployment-to-tree", + "type": "org.osbuild.bind", + "target": "tree://", + "options": { + "source": "mount://" + } + } + ] + } + ] + }, + { + "name": "qcow2", + "stages": [ + { + "type": "org.osbuild.qemu", + "inputs": { + "image": { + "type": "org.osbuild.files", + "origin": "org.osbuild.pipeline", + "references": { + "name:image": { + "file": "disk.raw" + } + } + } + }, + "options": { + "filename": "disk.qcow2", + "format": { + "type": "qcow2", + "compat": "1.1" + } + } + } + ] + }, + { + "name": "vmdk", + "stages": [ + { + "type": "org.osbuild.qemu", + "inputs": { + "image": { + "type": "org.osbuild.files", + "origin": "org.osbuild.pipeline", + "references": { + "name:image": { + "file": "disk.raw" + } + } + } + }, + "options": { + "filename": "disk.vmdk", + "format": { + "type": "vmdk", + "subformat": "streamOptimized" + } + } + } + ] + }, + { + "name": "vpc", + "stages": [ + { + "type": "org.osbuild.qemu", + "inputs": { + "image": { + "type": "org.osbuild.files", + "origin": "org.osbuild.pipeline", + "references": { + "name:image": { + "file": "disk.raw" + } + } + } + }, + "options": { + "filename": "disk.vhd", + "format": { + "type": "vpc" + } + } + } + ] + }, + { + "name": "ovf", + "stages": [ + { + "type": "org.osbuild.copy", + "inputs": { + "vmdk-tree": { + "type": "org.osbuild.tree", + "origin": "org.osbuild.pipeline", + "references": [ + "name:vmdk" + ] + } + }, + "options": { + "paths": [ + { + "from": "input://vmdk-tree/disk.vmdk", + "to": "tree:///" + } + ] + } + }, + { + "type": "org.osbuild.ovf", + "options": { + "vmdk": "disk.vmdk" + } + } + ] + }, + { + "name": "archive", + "stages": [ + { + "type": "org.osbuild.tar", + "inputs": { + "tree": { + "type": "org.osbuild.tree", + "origin": "org.osbuild.pipeline", + "references": [ + "name:ovf" + ] + } + }, + "options": { + "filename": "disk.tar", + "format": "ustar", + "paths": [ + "disk.ovf", + "disk.mf", + "disk.vmdk", + "disk.vhd" + ] + } + } + ] + }, + { + "name": "gce", + "build": "name:build", + "stages": [ + { + "type": "org.osbuild.tar", + "inputs": { + "tree": { + "type": "org.osbuild.tree", + "origin": "org.osbuild.pipeline", + "references": [ + "name:image" + ] + } + }, + "options": { + "filename": "image.tar.gz", + "format": "oldgnu", + "acls": false, + "selinux": false, + "xattrs": false, + "root-node": "omit" + } + } + ] + } + ], + "sources": { + "org.osbuild.skopeo": { + "items": { + "sha256:d84eacd1acb5a4b5fe43fd494dec79a0c0d732a02af7a8244b1c1ed0cea042cf": { + "image": { + "name": "quay.io/centos-bootc/centos-bootc:stream9", + "digest": "sha256:5a725627a084da5ddd98ed79a95f344d3e9b7dfaea4f85a2a2e353ccffe4beab" + } + } + } + }, + "org.osbuild.skopeo-index": { + "items": { + "sha256:d6968a62c4b6d65cf6dcf8e02a3071d14ac9d832cad305f3d998cac13d4043eb": { + "image": { + "name": "quay.io/centos-bootc/centos-bootc:stream9" + } + } + } + } + } +} diff --git a/test/data/manifests/manifest-quay.io_centos-bootc_centos-bootc:stream9-ppc64le-qcow2.json b/test/data/manifests/manifest-quay.io_centos-bootc_centos-bootc:stream9-ppc64le-qcow2.json new file mode 100644 index 00000000..73839b95 --- /dev/null +++ b/test/data/manifests/manifest-quay.io_centos-bootc_centos-bootc:stream9-ppc64le-qcow2.json @@ -0,0 +1,593 @@ +{ + "version": "2", + "pipelines": [ + { + "name": "build", + "runner": "org.osbuild.linux", + "stages": [ + { + "type": "org.osbuild.container-deploy", + "inputs": { + "images": { + "type": "org.osbuild.containers", + "origin": "org.osbuild.source", + "references": { + "sha256:d84eacd1acb5a4b5fe43fd494dec79a0c0d732a02af7a8244b1c1ed0cea042cf": { + "name": "quay.io/centos-bootc/centos-bootc:stream9" + } + } + } + }, + "options": { + "remove-signatures": true + } + }, + { + "type": "org.osbuild.selinux", + "options": { + "file_contexts": "etc/selinux/targeted/contexts/files/file_contexts", + "exclude_paths": [ + "/sysroot" + ], + "labels": { + "/usr/bin/mount": "system_u:object_r:install_exec_t:s0", + "/usr/bin/ostree": "system_u:object_r:install_exec_t:s0", + "/usr/bin/umount": "system_u:object_r:install_exec_t:s0" + } + } + } + ] + }, + { + "name": "image", + "build": "name:build", + "stages": [ + { + "type": "org.osbuild.truncate", + "options": { + "filename": "disk.raw", + "size": "10737418240" + } + }, + { + "type": "org.osbuild.sfdisk", + "options": { + "label": "gpt", + "uuid": "D209C89E-EA5E-4FBD-B161-B461CCE297E0", + "partitions": [ + { + "bootable": true, + "size": 8192, + "start": 2048, + "type": "9E1A2D38-C612-4316-AA26-8B49521E5A8B", + "uuid": "fb180daf-48a7-4ee0-b10d-394651850fd4" + }, + { + "size": 2097152, + "start": 10240, + "type": "0FC63DAF-8483-4772-8E79-3D69D8477DE4", + "uuid": "CB07C243-BC44-4717-853E-28852021225B" + }, + { + "size": 18864095, + "start": 2107392, + "type": "0FC63DAF-8483-4772-8E79-3D69D8477DE4", + "uuid": "6264D520-3FB9-423F-8AB8-7A0A8E3D3562" + } + ] + }, + "devices": { + "device": { + "type": "org.osbuild.loopback", + "options": { + "filename": "disk.raw", + "lock": true + } + } + } + }, + { + "type": "org.osbuild.mkfs.xfs", + "options": { + "uuid": "0194fdc2-fa2f-4cc0-81d3-ff12045b73c8", + "label": "boot" + }, + "devices": { + "device": { + "type": "org.osbuild.loopback", + "options": { + "filename": "disk.raw", + "start": 10240, + "size": 2097152, + "lock": true + } + } + } + }, + { + "type": "org.osbuild.mkfs.xfs", + "options": { + "uuid": "6e4ff95f-f662-45ee-a82a-bdf44a2d0b75", + "label": "root" + }, + "devices": { + "device": { + "type": "org.osbuild.loopback", + "options": { + "filename": "disk.raw", + "start": 2107392, + "size": 18864095, + "lock": true + } + } + } + }, + { + "type": "org.osbuild.bootc.install-to-filesystem", + "inputs": { + "images": { + "type": "org.osbuild.containers", + "origin": "org.osbuild.source", + "references": { + "sha256:d84eacd1acb5a4b5fe43fd494dec79a0c0d732a02af7a8244b1c1ed0cea042cf": { + "name": "quay.io/centos-bootc/centos-bootc:stream9" + } + } + } + }, + "options": { + "kernel-args": [ + "rw", + "console=tty0", + "console=ttyS0" + ], + "target-imgref": "quay.io/centos-bootc/centos-bootc:stream9" + }, + "devices": { + "disk": { + "type": "org.osbuild.loopback", + "options": { + "filename": "disk.raw", + "partscan": true + } + } + }, + "mounts": [ + { + "name": "-", + "type": "org.osbuild.xfs", + "source": "disk", + "target": "/", + "partition": 3 + }, + { + "name": "boot", + "type": "org.osbuild.xfs", + "source": "disk", + "target": "/boot", + "partition": 2 + } + ] + }, + { + "type": "org.osbuild.systemd.unit.create", + "options": { + "filename": "-.mount", + "unit-path": "etc", + "config": { + "Unit": { + "DefaultDependencies": true + }, + "Mount": { + "What": "/dev/disk/by-uuid/6e4ff95f-f662-45ee-a82a-bdf44a2d0b75", + "Where": "/", + "Type": "xfs", + "Options": "ro" + }, + "Install": { + "WantedBy": [ + "multi-user.target" + ] + } + } + }, + "devices": { + "disk": { + "type": "org.osbuild.loopback", + "options": { + "filename": "disk.raw", + "partscan": true + } + } + }, + "mounts": [ + { + "name": "-", + "type": "org.osbuild.xfs", + "source": "disk", + "target": "/", + "partition": 3 + }, + { + "name": "boot", + "type": "org.osbuild.xfs", + "source": "disk", + "target": "/boot", + "partition": 2 + }, + { + "name": "ostree.deployment", + "type": "org.osbuild.ostree.deployment", + "options": { + "source": "mount", + "deployment": { + "default": true + } + } + }, + { + "name": "bind-ostree-deployment-to-tree", + "type": "org.osbuild.bind", + "target": "tree://", + "options": { + "source": "mount://" + } + } + ] + }, + { + "type": "org.osbuild.systemd.unit.create", + "options": { + "filename": "boot.mount", + "unit-path": "etc", + "config": { + "Unit": { + "DefaultDependencies": true + }, + "Mount": { + "What": "/dev/disk/by-uuid/0194fdc2-fa2f-4cc0-81d3-ff12045b73c8", + "Where": "/boot", + "Type": "xfs", + "Options": "ro" + }, + "Install": { + "WantedBy": [ + "multi-user.target" + ] + } + } + }, + "devices": { + "disk": { + "type": "org.osbuild.loopback", + "options": { + "filename": "disk.raw", + "partscan": true + } + } + }, + "mounts": [ + { + "name": "-", + "type": "org.osbuild.xfs", + "source": "disk", + "target": "/", + "partition": 3 + }, + { + "name": "boot", + "type": "org.osbuild.xfs", + "source": "disk", + "target": "/boot", + "partition": 2 + }, + { + "name": "ostree.deployment", + "type": "org.osbuild.ostree.deployment", + "options": { + "source": "mount", + "deployment": { + "default": true + } + } + }, + { + "name": "bind-ostree-deployment-to-tree", + "type": "org.osbuild.bind", + "target": "tree://", + "options": { + "source": "mount://" + } + } + ] + }, + { + "type": "org.osbuild.systemd", + "options": { + "enabled_services": [ + "-.mount", + "boot.mount" + ] + }, + "devices": { + "disk": { + "type": "org.osbuild.loopback", + "options": { + "filename": "disk.raw", + "partscan": true + } + } + }, + "mounts": [ + { + "name": "-", + "type": "org.osbuild.xfs", + "source": "disk", + "target": "/", + "partition": 3 + }, + { + "name": "boot", + "type": "org.osbuild.xfs", + "source": "disk", + "target": "/boot", + "partition": 2 + }, + { + "name": "ostree.deployment", + "type": "org.osbuild.ostree.deployment", + "options": { + "source": "mount", + "deployment": { + "default": true + } + } + }, + { + "name": "bind-ostree-deployment-to-tree", + "type": "org.osbuild.bind", + "target": "tree://", + "options": { + "source": "mount://" + } + } + ] + }, + { + "type": "org.osbuild.selinux", + "options": { + "file_contexts": "etc/selinux/targeted/contexts/files/file_contexts", + "exclude_paths": [ + "/sysroot" + ] + }, + "devices": { + "disk": { + "type": "org.osbuild.loopback", + "options": { + "filename": "disk.raw", + "partscan": true + } + } + }, + "mounts": [ + { + "name": "-", + "type": "org.osbuild.xfs", + "source": "disk", + "target": "/", + "partition": 3 + }, + { + "name": "boot", + "type": "org.osbuild.xfs", + "source": "disk", + "target": "/boot", + "partition": 2 + }, + { + "name": "ostree.deployment", + "type": "org.osbuild.ostree.deployment", + "options": { + "source": "mount", + "deployment": { + "default": true + } + } + }, + { + "name": "bind-ostree-deployment-to-tree", + "type": "org.osbuild.bind", + "target": "tree://", + "options": { + "source": "mount://" + } + } + ] + } + ] + }, + { + "name": "qcow2", + "stages": [ + { + "type": "org.osbuild.qemu", + "inputs": { + "image": { + "type": "org.osbuild.files", + "origin": "org.osbuild.pipeline", + "references": { + "name:image": { + "file": "disk.raw" + } + } + } + }, + "options": { + "filename": "disk.qcow2", + "format": { + "type": "qcow2", + "compat": "1.1" + } + } + } + ] + }, + { + "name": "vmdk", + "stages": [ + { + "type": "org.osbuild.qemu", + "inputs": { + "image": { + "type": "org.osbuild.files", + "origin": "org.osbuild.pipeline", + "references": { + "name:image": { + "file": "disk.raw" + } + } + } + }, + "options": { + "filename": "disk.vmdk", + "format": { + "type": "vmdk", + "subformat": "streamOptimized" + } + } + } + ] + }, + { + "name": "vpc", + "stages": [ + { + "type": "org.osbuild.qemu", + "inputs": { + "image": { + "type": "org.osbuild.files", + "origin": "org.osbuild.pipeline", + "references": { + "name:image": { + "file": "disk.raw" + } + } + } + }, + "options": { + "filename": "disk.vhd", + "format": { + "type": "vpc" + } + } + } + ] + }, + { + "name": "ovf", + "stages": [ + { + "type": "org.osbuild.copy", + "inputs": { + "vmdk-tree": { + "type": "org.osbuild.tree", + "origin": "org.osbuild.pipeline", + "references": [ + "name:vmdk" + ] + } + }, + "options": { + "paths": [ + { + "from": "input://vmdk-tree/disk.vmdk", + "to": "tree:///" + } + ] + } + }, + { + "type": "org.osbuild.ovf", + "options": { + "vmdk": "disk.vmdk" + } + } + ] + }, + { + "name": "archive", + "stages": [ + { + "type": "org.osbuild.tar", + "inputs": { + "tree": { + "type": "org.osbuild.tree", + "origin": "org.osbuild.pipeline", + "references": [ + "name:ovf" + ] + } + }, + "options": { + "filename": "disk.tar", + "format": "ustar", + "paths": [ + "disk.ovf", + "disk.mf", + "disk.vmdk", + "disk.vhd" + ] + } + } + ] + }, + { + "name": "gce", + "build": "name:build", + "stages": [ + { + "type": "org.osbuild.tar", + "inputs": { + "tree": { + "type": "org.osbuild.tree", + "origin": "org.osbuild.pipeline", + "references": [ + "name:image" + ] + } + }, + "options": { + "filename": "image.tar.gz", + "format": "oldgnu", + "acls": false, + "selinux": false, + "xattrs": false, + "root-node": "omit" + } + } + ] + } + ], + "sources": { + "org.osbuild.skopeo": { + "items": { + "sha256:d84eacd1acb5a4b5fe43fd494dec79a0c0d732a02af7a8244b1c1ed0cea042cf": { + "image": { + "name": "quay.io/centos-bootc/centos-bootc:stream9", + "digest": "sha256:5a725627a084da5ddd98ed79a95f344d3e9b7dfaea4f85a2a2e353ccffe4beab" + } + } + } + }, + "org.osbuild.skopeo-index": { + "items": { + "sha256:d6968a62c4b6d65cf6dcf8e02a3071d14ac9d832cad305f3d998cac13d4043eb": { + "image": { + "name": "quay.io/centos-bootc/centos-bootc:stream9" + } + } + } + } + } +} diff --git a/test/data/manifests/manifest-quay.io_centos-bootc_centos-bootc:stream9-ppc64le-raw.json b/test/data/manifests/manifest-quay.io_centos-bootc_centos-bootc:stream9-ppc64le-raw.json new file mode 100644 index 00000000..73839b95 --- /dev/null +++ b/test/data/manifests/manifest-quay.io_centos-bootc_centos-bootc:stream9-ppc64le-raw.json @@ -0,0 +1,593 @@ +{ + "version": "2", + "pipelines": [ + { + "name": "build", + "runner": "org.osbuild.linux", + "stages": [ + { + "type": "org.osbuild.container-deploy", + "inputs": { + "images": { + "type": "org.osbuild.containers", + "origin": "org.osbuild.source", + "references": { + "sha256:d84eacd1acb5a4b5fe43fd494dec79a0c0d732a02af7a8244b1c1ed0cea042cf": { + "name": "quay.io/centos-bootc/centos-bootc:stream9" + } + } + } + }, + "options": { + "remove-signatures": true + } + }, + { + "type": "org.osbuild.selinux", + "options": { + "file_contexts": "etc/selinux/targeted/contexts/files/file_contexts", + "exclude_paths": [ + "/sysroot" + ], + "labels": { + "/usr/bin/mount": "system_u:object_r:install_exec_t:s0", + "/usr/bin/ostree": "system_u:object_r:install_exec_t:s0", + "/usr/bin/umount": "system_u:object_r:install_exec_t:s0" + } + } + } + ] + }, + { + "name": "image", + "build": "name:build", + "stages": [ + { + "type": "org.osbuild.truncate", + "options": { + "filename": "disk.raw", + "size": "10737418240" + } + }, + { + "type": "org.osbuild.sfdisk", + "options": { + "label": "gpt", + "uuid": "D209C89E-EA5E-4FBD-B161-B461CCE297E0", + "partitions": [ + { + "bootable": true, + "size": 8192, + "start": 2048, + "type": "9E1A2D38-C612-4316-AA26-8B49521E5A8B", + "uuid": "fb180daf-48a7-4ee0-b10d-394651850fd4" + }, + { + "size": 2097152, + "start": 10240, + "type": "0FC63DAF-8483-4772-8E79-3D69D8477DE4", + "uuid": "CB07C243-BC44-4717-853E-28852021225B" + }, + { + "size": 18864095, + "start": 2107392, + "type": "0FC63DAF-8483-4772-8E79-3D69D8477DE4", + "uuid": "6264D520-3FB9-423F-8AB8-7A0A8E3D3562" + } + ] + }, + "devices": { + "device": { + "type": "org.osbuild.loopback", + "options": { + "filename": "disk.raw", + "lock": true + } + } + } + }, + { + "type": "org.osbuild.mkfs.xfs", + "options": { + "uuid": "0194fdc2-fa2f-4cc0-81d3-ff12045b73c8", + "label": "boot" + }, + "devices": { + "device": { + "type": "org.osbuild.loopback", + "options": { + "filename": "disk.raw", + "start": 10240, + "size": 2097152, + "lock": true + } + } + } + }, + { + "type": "org.osbuild.mkfs.xfs", + "options": { + "uuid": "6e4ff95f-f662-45ee-a82a-bdf44a2d0b75", + "label": "root" + }, + "devices": { + "device": { + "type": "org.osbuild.loopback", + "options": { + "filename": "disk.raw", + "start": 2107392, + "size": 18864095, + "lock": true + } + } + } + }, + { + "type": "org.osbuild.bootc.install-to-filesystem", + "inputs": { + "images": { + "type": "org.osbuild.containers", + "origin": "org.osbuild.source", + "references": { + "sha256:d84eacd1acb5a4b5fe43fd494dec79a0c0d732a02af7a8244b1c1ed0cea042cf": { + "name": "quay.io/centos-bootc/centos-bootc:stream9" + } + } + } + }, + "options": { + "kernel-args": [ + "rw", + "console=tty0", + "console=ttyS0" + ], + "target-imgref": "quay.io/centos-bootc/centos-bootc:stream9" + }, + "devices": { + "disk": { + "type": "org.osbuild.loopback", + "options": { + "filename": "disk.raw", + "partscan": true + } + } + }, + "mounts": [ + { + "name": "-", + "type": "org.osbuild.xfs", + "source": "disk", + "target": "/", + "partition": 3 + }, + { + "name": "boot", + "type": "org.osbuild.xfs", + "source": "disk", + "target": "/boot", + "partition": 2 + } + ] + }, + { + "type": "org.osbuild.systemd.unit.create", + "options": { + "filename": "-.mount", + "unit-path": "etc", + "config": { + "Unit": { + "DefaultDependencies": true + }, + "Mount": { + "What": "/dev/disk/by-uuid/6e4ff95f-f662-45ee-a82a-bdf44a2d0b75", + "Where": "/", + "Type": "xfs", + "Options": "ro" + }, + "Install": { + "WantedBy": [ + "multi-user.target" + ] + } + } + }, + "devices": { + "disk": { + "type": "org.osbuild.loopback", + "options": { + "filename": "disk.raw", + "partscan": true + } + } + }, + "mounts": [ + { + "name": "-", + "type": "org.osbuild.xfs", + "source": "disk", + "target": "/", + "partition": 3 + }, + { + "name": "boot", + "type": "org.osbuild.xfs", + "source": "disk", + "target": "/boot", + "partition": 2 + }, + { + "name": "ostree.deployment", + "type": "org.osbuild.ostree.deployment", + "options": { + "source": "mount", + "deployment": { + "default": true + } + } + }, + { + "name": "bind-ostree-deployment-to-tree", + "type": "org.osbuild.bind", + "target": "tree://", + "options": { + "source": "mount://" + } + } + ] + }, + { + "type": "org.osbuild.systemd.unit.create", + "options": { + "filename": "boot.mount", + "unit-path": "etc", + "config": { + "Unit": { + "DefaultDependencies": true + }, + "Mount": { + "What": "/dev/disk/by-uuid/0194fdc2-fa2f-4cc0-81d3-ff12045b73c8", + "Where": "/boot", + "Type": "xfs", + "Options": "ro" + }, + "Install": { + "WantedBy": [ + "multi-user.target" + ] + } + } + }, + "devices": { + "disk": { + "type": "org.osbuild.loopback", + "options": { + "filename": "disk.raw", + "partscan": true + } + } + }, + "mounts": [ + { + "name": "-", + "type": "org.osbuild.xfs", + "source": "disk", + "target": "/", + "partition": 3 + }, + { + "name": "boot", + "type": "org.osbuild.xfs", + "source": "disk", + "target": "/boot", + "partition": 2 + }, + { + "name": "ostree.deployment", + "type": "org.osbuild.ostree.deployment", + "options": { + "source": "mount", + "deployment": { + "default": true + } + } + }, + { + "name": "bind-ostree-deployment-to-tree", + "type": "org.osbuild.bind", + "target": "tree://", + "options": { + "source": "mount://" + } + } + ] + }, + { + "type": "org.osbuild.systemd", + "options": { + "enabled_services": [ + "-.mount", + "boot.mount" + ] + }, + "devices": { + "disk": { + "type": "org.osbuild.loopback", + "options": { + "filename": "disk.raw", + "partscan": true + } + } + }, + "mounts": [ + { + "name": "-", + "type": "org.osbuild.xfs", + "source": "disk", + "target": "/", + "partition": 3 + }, + { + "name": "boot", + "type": "org.osbuild.xfs", + "source": "disk", + "target": "/boot", + "partition": 2 + }, + { + "name": "ostree.deployment", + "type": "org.osbuild.ostree.deployment", + "options": { + "source": "mount", + "deployment": { + "default": true + } + } + }, + { + "name": "bind-ostree-deployment-to-tree", + "type": "org.osbuild.bind", + "target": "tree://", + "options": { + "source": "mount://" + } + } + ] + }, + { + "type": "org.osbuild.selinux", + "options": { + "file_contexts": "etc/selinux/targeted/contexts/files/file_contexts", + "exclude_paths": [ + "/sysroot" + ] + }, + "devices": { + "disk": { + "type": "org.osbuild.loopback", + "options": { + "filename": "disk.raw", + "partscan": true + } + } + }, + "mounts": [ + { + "name": "-", + "type": "org.osbuild.xfs", + "source": "disk", + "target": "/", + "partition": 3 + }, + { + "name": "boot", + "type": "org.osbuild.xfs", + "source": "disk", + "target": "/boot", + "partition": 2 + }, + { + "name": "ostree.deployment", + "type": "org.osbuild.ostree.deployment", + "options": { + "source": "mount", + "deployment": { + "default": true + } + } + }, + { + "name": "bind-ostree-deployment-to-tree", + "type": "org.osbuild.bind", + "target": "tree://", + "options": { + "source": "mount://" + } + } + ] + } + ] + }, + { + "name": "qcow2", + "stages": [ + { + "type": "org.osbuild.qemu", + "inputs": { + "image": { + "type": "org.osbuild.files", + "origin": "org.osbuild.pipeline", + "references": { + "name:image": { + "file": "disk.raw" + } + } + } + }, + "options": { + "filename": "disk.qcow2", + "format": { + "type": "qcow2", + "compat": "1.1" + } + } + } + ] + }, + { + "name": "vmdk", + "stages": [ + { + "type": "org.osbuild.qemu", + "inputs": { + "image": { + "type": "org.osbuild.files", + "origin": "org.osbuild.pipeline", + "references": { + "name:image": { + "file": "disk.raw" + } + } + } + }, + "options": { + "filename": "disk.vmdk", + "format": { + "type": "vmdk", + "subformat": "streamOptimized" + } + } + } + ] + }, + { + "name": "vpc", + "stages": [ + { + "type": "org.osbuild.qemu", + "inputs": { + "image": { + "type": "org.osbuild.files", + "origin": "org.osbuild.pipeline", + "references": { + "name:image": { + "file": "disk.raw" + } + } + } + }, + "options": { + "filename": "disk.vhd", + "format": { + "type": "vpc" + } + } + } + ] + }, + { + "name": "ovf", + "stages": [ + { + "type": "org.osbuild.copy", + "inputs": { + "vmdk-tree": { + "type": "org.osbuild.tree", + "origin": "org.osbuild.pipeline", + "references": [ + "name:vmdk" + ] + } + }, + "options": { + "paths": [ + { + "from": "input://vmdk-tree/disk.vmdk", + "to": "tree:///" + } + ] + } + }, + { + "type": "org.osbuild.ovf", + "options": { + "vmdk": "disk.vmdk" + } + } + ] + }, + { + "name": "archive", + "stages": [ + { + "type": "org.osbuild.tar", + "inputs": { + "tree": { + "type": "org.osbuild.tree", + "origin": "org.osbuild.pipeline", + "references": [ + "name:ovf" + ] + } + }, + "options": { + "filename": "disk.tar", + "format": "ustar", + "paths": [ + "disk.ovf", + "disk.mf", + "disk.vmdk", + "disk.vhd" + ] + } + } + ] + }, + { + "name": "gce", + "build": "name:build", + "stages": [ + { + "type": "org.osbuild.tar", + "inputs": { + "tree": { + "type": "org.osbuild.tree", + "origin": "org.osbuild.pipeline", + "references": [ + "name:image" + ] + } + }, + "options": { + "filename": "image.tar.gz", + "format": "oldgnu", + "acls": false, + "selinux": false, + "xattrs": false, + "root-node": "omit" + } + } + ] + } + ], + "sources": { + "org.osbuild.skopeo": { + "items": { + "sha256:d84eacd1acb5a4b5fe43fd494dec79a0c0d732a02af7a8244b1c1ed0cea042cf": { + "image": { + "name": "quay.io/centos-bootc/centos-bootc:stream9", + "digest": "sha256:5a725627a084da5ddd98ed79a95f344d3e9b7dfaea4f85a2a2e353ccffe4beab" + } + } + } + }, + "org.osbuild.skopeo-index": { + "items": { + "sha256:d6968a62c4b6d65cf6dcf8e02a3071d14ac9d832cad305f3d998cac13d4043eb": { + "image": { + "name": "quay.io/centos-bootc/centos-bootc:stream9" + } + } + } + } + } +} diff --git a/test/data/manifests/manifest-quay.io_centos-bootc_centos-bootc:stream9-ppc64le-vhd.json b/test/data/manifests/manifest-quay.io_centos-bootc_centos-bootc:stream9-ppc64le-vhd.json new file mode 100644 index 00000000..73839b95 --- /dev/null +++ b/test/data/manifests/manifest-quay.io_centos-bootc_centos-bootc:stream9-ppc64le-vhd.json @@ -0,0 +1,593 @@ +{ + "version": "2", + "pipelines": [ + { + "name": "build", + "runner": "org.osbuild.linux", + "stages": [ + { + "type": "org.osbuild.container-deploy", + "inputs": { + "images": { + "type": "org.osbuild.containers", + "origin": "org.osbuild.source", + "references": { + "sha256:d84eacd1acb5a4b5fe43fd494dec79a0c0d732a02af7a8244b1c1ed0cea042cf": { + "name": "quay.io/centos-bootc/centos-bootc:stream9" + } + } + } + }, + "options": { + "remove-signatures": true + } + }, + { + "type": "org.osbuild.selinux", + "options": { + "file_contexts": "etc/selinux/targeted/contexts/files/file_contexts", + "exclude_paths": [ + "/sysroot" + ], + "labels": { + "/usr/bin/mount": "system_u:object_r:install_exec_t:s0", + "/usr/bin/ostree": "system_u:object_r:install_exec_t:s0", + "/usr/bin/umount": "system_u:object_r:install_exec_t:s0" + } + } + } + ] + }, + { + "name": "image", + "build": "name:build", + "stages": [ + { + "type": "org.osbuild.truncate", + "options": { + "filename": "disk.raw", + "size": "10737418240" + } + }, + { + "type": "org.osbuild.sfdisk", + "options": { + "label": "gpt", + "uuid": "D209C89E-EA5E-4FBD-B161-B461CCE297E0", + "partitions": [ + { + "bootable": true, + "size": 8192, + "start": 2048, + "type": "9E1A2D38-C612-4316-AA26-8B49521E5A8B", + "uuid": "fb180daf-48a7-4ee0-b10d-394651850fd4" + }, + { + "size": 2097152, + "start": 10240, + "type": "0FC63DAF-8483-4772-8E79-3D69D8477DE4", + "uuid": "CB07C243-BC44-4717-853E-28852021225B" + }, + { + "size": 18864095, + "start": 2107392, + "type": "0FC63DAF-8483-4772-8E79-3D69D8477DE4", + "uuid": "6264D520-3FB9-423F-8AB8-7A0A8E3D3562" + } + ] + }, + "devices": { + "device": { + "type": "org.osbuild.loopback", + "options": { + "filename": "disk.raw", + "lock": true + } + } + } + }, + { + "type": "org.osbuild.mkfs.xfs", + "options": { + "uuid": "0194fdc2-fa2f-4cc0-81d3-ff12045b73c8", + "label": "boot" + }, + "devices": { + "device": { + "type": "org.osbuild.loopback", + "options": { + "filename": "disk.raw", + "start": 10240, + "size": 2097152, + "lock": true + } + } + } + }, + { + "type": "org.osbuild.mkfs.xfs", + "options": { + "uuid": "6e4ff95f-f662-45ee-a82a-bdf44a2d0b75", + "label": "root" + }, + "devices": { + "device": { + "type": "org.osbuild.loopback", + "options": { + "filename": "disk.raw", + "start": 2107392, + "size": 18864095, + "lock": true + } + } + } + }, + { + "type": "org.osbuild.bootc.install-to-filesystem", + "inputs": { + "images": { + "type": "org.osbuild.containers", + "origin": "org.osbuild.source", + "references": { + "sha256:d84eacd1acb5a4b5fe43fd494dec79a0c0d732a02af7a8244b1c1ed0cea042cf": { + "name": "quay.io/centos-bootc/centos-bootc:stream9" + } + } + } + }, + "options": { + "kernel-args": [ + "rw", + "console=tty0", + "console=ttyS0" + ], + "target-imgref": "quay.io/centos-bootc/centos-bootc:stream9" + }, + "devices": { + "disk": { + "type": "org.osbuild.loopback", + "options": { + "filename": "disk.raw", + "partscan": true + } + } + }, + "mounts": [ + { + "name": "-", + "type": "org.osbuild.xfs", + "source": "disk", + "target": "/", + "partition": 3 + }, + { + "name": "boot", + "type": "org.osbuild.xfs", + "source": "disk", + "target": "/boot", + "partition": 2 + } + ] + }, + { + "type": "org.osbuild.systemd.unit.create", + "options": { + "filename": "-.mount", + "unit-path": "etc", + "config": { + "Unit": { + "DefaultDependencies": true + }, + "Mount": { + "What": "/dev/disk/by-uuid/6e4ff95f-f662-45ee-a82a-bdf44a2d0b75", + "Where": "/", + "Type": "xfs", + "Options": "ro" + }, + "Install": { + "WantedBy": [ + "multi-user.target" + ] + } + } + }, + "devices": { + "disk": { + "type": "org.osbuild.loopback", + "options": { + "filename": "disk.raw", + "partscan": true + } + } + }, + "mounts": [ + { + "name": "-", + "type": "org.osbuild.xfs", + "source": "disk", + "target": "/", + "partition": 3 + }, + { + "name": "boot", + "type": "org.osbuild.xfs", + "source": "disk", + "target": "/boot", + "partition": 2 + }, + { + "name": "ostree.deployment", + "type": "org.osbuild.ostree.deployment", + "options": { + "source": "mount", + "deployment": { + "default": true + } + } + }, + { + "name": "bind-ostree-deployment-to-tree", + "type": "org.osbuild.bind", + "target": "tree://", + "options": { + "source": "mount://" + } + } + ] + }, + { + "type": "org.osbuild.systemd.unit.create", + "options": { + "filename": "boot.mount", + "unit-path": "etc", + "config": { + "Unit": { + "DefaultDependencies": true + }, + "Mount": { + "What": "/dev/disk/by-uuid/0194fdc2-fa2f-4cc0-81d3-ff12045b73c8", + "Where": "/boot", + "Type": "xfs", + "Options": "ro" + }, + "Install": { + "WantedBy": [ + "multi-user.target" + ] + } + } + }, + "devices": { + "disk": { + "type": "org.osbuild.loopback", + "options": { + "filename": "disk.raw", + "partscan": true + } + } + }, + "mounts": [ + { + "name": "-", + "type": "org.osbuild.xfs", + "source": "disk", + "target": "/", + "partition": 3 + }, + { + "name": "boot", + "type": "org.osbuild.xfs", + "source": "disk", + "target": "/boot", + "partition": 2 + }, + { + "name": "ostree.deployment", + "type": "org.osbuild.ostree.deployment", + "options": { + "source": "mount", + "deployment": { + "default": true + } + } + }, + { + "name": "bind-ostree-deployment-to-tree", + "type": "org.osbuild.bind", + "target": "tree://", + "options": { + "source": "mount://" + } + } + ] + }, + { + "type": "org.osbuild.systemd", + "options": { + "enabled_services": [ + "-.mount", + "boot.mount" + ] + }, + "devices": { + "disk": { + "type": "org.osbuild.loopback", + "options": { + "filename": "disk.raw", + "partscan": true + } + } + }, + "mounts": [ + { + "name": "-", + "type": "org.osbuild.xfs", + "source": "disk", + "target": "/", + "partition": 3 + }, + { + "name": "boot", + "type": "org.osbuild.xfs", + "source": "disk", + "target": "/boot", + "partition": 2 + }, + { + "name": "ostree.deployment", + "type": "org.osbuild.ostree.deployment", + "options": { + "source": "mount", + "deployment": { + "default": true + } + } + }, + { + "name": "bind-ostree-deployment-to-tree", + "type": "org.osbuild.bind", + "target": "tree://", + "options": { + "source": "mount://" + } + } + ] + }, + { + "type": "org.osbuild.selinux", + "options": { + "file_contexts": "etc/selinux/targeted/contexts/files/file_contexts", + "exclude_paths": [ + "/sysroot" + ] + }, + "devices": { + "disk": { + "type": "org.osbuild.loopback", + "options": { + "filename": "disk.raw", + "partscan": true + } + } + }, + "mounts": [ + { + "name": "-", + "type": "org.osbuild.xfs", + "source": "disk", + "target": "/", + "partition": 3 + }, + { + "name": "boot", + "type": "org.osbuild.xfs", + "source": "disk", + "target": "/boot", + "partition": 2 + }, + { + "name": "ostree.deployment", + "type": "org.osbuild.ostree.deployment", + "options": { + "source": "mount", + "deployment": { + "default": true + } + } + }, + { + "name": "bind-ostree-deployment-to-tree", + "type": "org.osbuild.bind", + "target": "tree://", + "options": { + "source": "mount://" + } + } + ] + } + ] + }, + { + "name": "qcow2", + "stages": [ + { + "type": "org.osbuild.qemu", + "inputs": { + "image": { + "type": "org.osbuild.files", + "origin": "org.osbuild.pipeline", + "references": { + "name:image": { + "file": "disk.raw" + } + } + } + }, + "options": { + "filename": "disk.qcow2", + "format": { + "type": "qcow2", + "compat": "1.1" + } + } + } + ] + }, + { + "name": "vmdk", + "stages": [ + { + "type": "org.osbuild.qemu", + "inputs": { + "image": { + "type": "org.osbuild.files", + "origin": "org.osbuild.pipeline", + "references": { + "name:image": { + "file": "disk.raw" + } + } + } + }, + "options": { + "filename": "disk.vmdk", + "format": { + "type": "vmdk", + "subformat": "streamOptimized" + } + } + } + ] + }, + { + "name": "vpc", + "stages": [ + { + "type": "org.osbuild.qemu", + "inputs": { + "image": { + "type": "org.osbuild.files", + "origin": "org.osbuild.pipeline", + "references": { + "name:image": { + "file": "disk.raw" + } + } + } + }, + "options": { + "filename": "disk.vhd", + "format": { + "type": "vpc" + } + } + } + ] + }, + { + "name": "ovf", + "stages": [ + { + "type": "org.osbuild.copy", + "inputs": { + "vmdk-tree": { + "type": "org.osbuild.tree", + "origin": "org.osbuild.pipeline", + "references": [ + "name:vmdk" + ] + } + }, + "options": { + "paths": [ + { + "from": "input://vmdk-tree/disk.vmdk", + "to": "tree:///" + } + ] + } + }, + { + "type": "org.osbuild.ovf", + "options": { + "vmdk": "disk.vmdk" + } + } + ] + }, + { + "name": "archive", + "stages": [ + { + "type": "org.osbuild.tar", + "inputs": { + "tree": { + "type": "org.osbuild.tree", + "origin": "org.osbuild.pipeline", + "references": [ + "name:ovf" + ] + } + }, + "options": { + "filename": "disk.tar", + "format": "ustar", + "paths": [ + "disk.ovf", + "disk.mf", + "disk.vmdk", + "disk.vhd" + ] + } + } + ] + }, + { + "name": "gce", + "build": "name:build", + "stages": [ + { + "type": "org.osbuild.tar", + "inputs": { + "tree": { + "type": "org.osbuild.tree", + "origin": "org.osbuild.pipeline", + "references": [ + "name:image" + ] + } + }, + "options": { + "filename": "image.tar.gz", + "format": "oldgnu", + "acls": false, + "selinux": false, + "xattrs": false, + "root-node": "omit" + } + } + ] + } + ], + "sources": { + "org.osbuild.skopeo": { + "items": { + "sha256:d84eacd1acb5a4b5fe43fd494dec79a0c0d732a02af7a8244b1c1ed0cea042cf": { + "image": { + "name": "quay.io/centos-bootc/centos-bootc:stream9", + "digest": "sha256:5a725627a084da5ddd98ed79a95f344d3e9b7dfaea4f85a2a2e353ccffe4beab" + } + } + } + }, + "org.osbuild.skopeo-index": { + "items": { + "sha256:d6968a62c4b6d65cf6dcf8e02a3071d14ac9d832cad305f3d998cac13d4043eb": { + "image": { + "name": "quay.io/centos-bootc/centos-bootc:stream9" + } + } + } + } + } +} diff --git a/test/data/manifests/manifest-quay.io_centos-bootc_centos-bootc:stream9-ppc64le-vmdk.json b/test/data/manifests/manifest-quay.io_centos-bootc_centos-bootc:stream9-ppc64le-vmdk.json new file mode 100644 index 00000000..73839b95 --- /dev/null +++ b/test/data/manifests/manifest-quay.io_centos-bootc_centos-bootc:stream9-ppc64le-vmdk.json @@ -0,0 +1,593 @@ +{ + "version": "2", + "pipelines": [ + { + "name": "build", + "runner": "org.osbuild.linux", + "stages": [ + { + "type": "org.osbuild.container-deploy", + "inputs": { + "images": { + "type": "org.osbuild.containers", + "origin": "org.osbuild.source", + "references": { + "sha256:d84eacd1acb5a4b5fe43fd494dec79a0c0d732a02af7a8244b1c1ed0cea042cf": { + "name": "quay.io/centos-bootc/centos-bootc:stream9" + } + } + } + }, + "options": { + "remove-signatures": true + } + }, + { + "type": "org.osbuild.selinux", + "options": { + "file_contexts": "etc/selinux/targeted/contexts/files/file_contexts", + "exclude_paths": [ + "/sysroot" + ], + "labels": { + "/usr/bin/mount": "system_u:object_r:install_exec_t:s0", + "/usr/bin/ostree": "system_u:object_r:install_exec_t:s0", + "/usr/bin/umount": "system_u:object_r:install_exec_t:s0" + } + } + } + ] + }, + { + "name": "image", + "build": "name:build", + "stages": [ + { + "type": "org.osbuild.truncate", + "options": { + "filename": "disk.raw", + "size": "10737418240" + } + }, + { + "type": "org.osbuild.sfdisk", + "options": { + "label": "gpt", + "uuid": "D209C89E-EA5E-4FBD-B161-B461CCE297E0", + "partitions": [ + { + "bootable": true, + "size": 8192, + "start": 2048, + "type": "9E1A2D38-C612-4316-AA26-8B49521E5A8B", + "uuid": "fb180daf-48a7-4ee0-b10d-394651850fd4" + }, + { + "size": 2097152, + "start": 10240, + "type": "0FC63DAF-8483-4772-8E79-3D69D8477DE4", + "uuid": "CB07C243-BC44-4717-853E-28852021225B" + }, + { + "size": 18864095, + "start": 2107392, + "type": "0FC63DAF-8483-4772-8E79-3D69D8477DE4", + "uuid": "6264D520-3FB9-423F-8AB8-7A0A8E3D3562" + } + ] + }, + "devices": { + "device": { + "type": "org.osbuild.loopback", + "options": { + "filename": "disk.raw", + "lock": true + } + } + } + }, + { + "type": "org.osbuild.mkfs.xfs", + "options": { + "uuid": "0194fdc2-fa2f-4cc0-81d3-ff12045b73c8", + "label": "boot" + }, + "devices": { + "device": { + "type": "org.osbuild.loopback", + "options": { + "filename": "disk.raw", + "start": 10240, + "size": 2097152, + "lock": true + } + } + } + }, + { + "type": "org.osbuild.mkfs.xfs", + "options": { + "uuid": "6e4ff95f-f662-45ee-a82a-bdf44a2d0b75", + "label": "root" + }, + "devices": { + "device": { + "type": "org.osbuild.loopback", + "options": { + "filename": "disk.raw", + "start": 2107392, + "size": 18864095, + "lock": true + } + } + } + }, + { + "type": "org.osbuild.bootc.install-to-filesystem", + "inputs": { + "images": { + "type": "org.osbuild.containers", + "origin": "org.osbuild.source", + "references": { + "sha256:d84eacd1acb5a4b5fe43fd494dec79a0c0d732a02af7a8244b1c1ed0cea042cf": { + "name": "quay.io/centos-bootc/centos-bootc:stream9" + } + } + } + }, + "options": { + "kernel-args": [ + "rw", + "console=tty0", + "console=ttyS0" + ], + "target-imgref": "quay.io/centos-bootc/centos-bootc:stream9" + }, + "devices": { + "disk": { + "type": "org.osbuild.loopback", + "options": { + "filename": "disk.raw", + "partscan": true + } + } + }, + "mounts": [ + { + "name": "-", + "type": "org.osbuild.xfs", + "source": "disk", + "target": "/", + "partition": 3 + }, + { + "name": "boot", + "type": "org.osbuild.xfs", + "source": "disk", + "target": "/boot", + "partition": 2 + } + ] + }, + { + "type": "org.osbuild.systemd.unit.create", + "options": { + "filename": "-.mount", + "unit-path": "etc", + "config": { + "Unit": { + "DefaultDependencies": true + }, + "Mount": { + "What": "/dev/disk/by-uuid/6e4ff95f-f662-45ee-a82a-bdf44a2d0b75", + "Where": "/", + "Type": "xfs", + "Options": "ro" + }, + "Install": { + "WantedBy": [ + "multi-user.target" + ] + } + } + }, + "devices": { + "disk": { + "type": "org.osbuild.loopback", + "options": { + "filename": "disk.raw", + "partscan": true + } + } + }, + "mounts": [ + { + "name": "-", + "type": "org.osbuild.xfs", + "source": "disk", + "target": "/", + "partition": 3 + }, + { + "name": "boot", + "type": "org.osbuild.xfs", + "source": "disk", + "target": "/boot", + "partition": 2 + }, + { + "name": "ostree.deployment", + "type": "org.osbuild.ostree.deployment", + "options": { + "source": "mount", + "deployment": { + "default": true + } + } + }, + { + "name": "bind-ostree-deployment-to-tree", + "type": "org.osbuild.bind", + "target": "tree://", + "options": { + "source": "mount://" + } + } + ] + }, + { + "type": "org.osbuild.systemd.unit.create", + "options": { + "filename": "boot.mount", + "unit-path": "etc", + "config": { + "Unit": { + "DefaultDependencies": true + }, + "Mount": { + "What": "/dev/disk/by-uuid/0194fdc2-fa2f-4cc0-81d3-ff12045b73c8", + "Where": "/boot", + "Type": "xfs", + "Options": "ro" + }, + "Install": { + "WantedBy": [ + "multi-user.target" + ] + } + } + }, + "devices": { + "disk": { + "type": "org.osbuild.loopback", + "options": { + "filename": "disk.raw", + "partscan": true + } + } + }, + "mounts": [ + { + "name": "-", + "type": "org.osbuild.xfs", + "source": "disk", + "target": "/", + "partition": 3 + }, + { + "name": "boot", + "type": "org.osbuild.xfs", + "source": "disk", + "target": "/boot", + "partition": 2 + }, + { + "name": "ostree.deployment", + "type": "org.osbuild.ostree.deployment", + "options": { + "source": "mount", + "deployment": { + "default": true + } + } + }, + { + "name": "bind-ostree-deployment-to-tree", + "type": "org.osbuild.bind", + "target": "tree://", + "options": { + "source": "mount://" + } + } + ] + }, + { + "type": "org.osbuild.systemd", + "options": { + "enabled_services": [ + "-.mount", + "boot.mount" + ] + }, + "devices": { + "disk": { + "type": "org.osbuild.loopback", + "options": { + "filename": "disk.raw", + "partscan": true + } + } + }, + "mounts": [ + { + "name": "-", + "type": "org.osbuild.xfs", + "source": "disk", + "target": "/", + "partition": 3 + }, + { + "name": "boot", + "type": "org.osbuild.xfs", + "source": "disk", + "target": "/boot", + "partition": 2 + }, + { + "name": "ostree.deployment", + "type": "org.osbuild.ostree.deployment", + "options": { + "source": "mount", + "deployment": { + "default": true + } + } + }, + { + "name": "bind-ostree-deployment-to-tree", + "type": "org.osbuild.bind", + "target": "tree://", + "options": { + "source": "mount://" + } + } + ] + }, + { + "type": "org.osbuild.selinux", + "options": { + "file_contexts": "etc/selinux/targeted/contexts/files/file_contexts", + "exclude_paths": [ + "/sysroot" + ] + }, + "devices": { + "disk": { + "type": "org.osbuild.loopback", + "options": { + "filename": "disk.raw", + "partscan": true + } + } + }, + "mounts": [ + { + "name": "-", + "type": "org.osbuild.xfs", + "source": "disk", + "target": "/", + "partition": 3 + }, + { + "name": "boot", + "type": "org.osbuild.xfs", + "source": "disk", + "target": "/boot", + "partition": 2 + }, + { + "name": "ostree.deployment", + "type": "org.osbuild.ostree.deployment", + "options": { + "source": "mount", + "deployment": { + "default": true + } + } + }, + { + "name": "bind-ostree-deployment-to-tree", + "type": "org.osbuild.bind", + "target": "tree://", + "options": { + "source": "mount://" + } + } + ] + } + ] + }, + { + "name": "qcow2", + "stages": [ + { + "type": "org.osbuild.qemu", + "inputs": { + "image": { + "type": "org.osbuild.files", + "origin": "org.osbuild.pipeline", + "references": { + "name:image": { + "file": "disk.raw" + } + } + } + }, + "options": { + "filename": "disk.qcow2", + "format": { + "type": "qcow2", + "compat": "1.1" + } + } + } + ] + }, + { + "name": "vmdk", + "stages": [ + { + "type": "org.osbuild.qemu", + "inputs": { + "image": { + "type": "org.osbuild.files", + "origin": "org.osbuild.pipeline", + "references": { + "name:image": { + "file": "disk.raw" + } + } + } + }, + "options": { + "filename": "disk.vmdk", + "format": { + "type": "vmdk", + "subformat": "streamOptimized" + } + } + } + ] + }, + { + "name": "vpc", + "stages": [ + { + "type": "org.osbuild.qemu", + "inputs": { + "image": { + "type": "org.osbuild.files", + "origin": "org.osbuild.pipeline", + "references": { + "name:image": { + "file": "disk.raw" + } + } + } + }, + "options": { + "filename": "disk.vhd", + "format": { + "type": "vpc" + } + } + } + ] + }, + { + "name": "ovf", + "stages": [ + { + "type": "org.osbuild.copy", + "inputs": { + "vmdk-tree": { + "type": "org.osbuild.tree", + "origin": "org.osbuild.pipeline", + "references": [ + "name:vmdk" + ] + } + }, + "options": { + "paths": [ + { + "from": "input://vmdk-tree/disk.vmdk", + "to": "tree:///" + } + ] + } + }, + { + "type": "org.osbuild.ovf", + "options": { + "vmdk": "disk.vmdk" + } + } + ] + }, + { + "name": "archive", + "stages": [ + { + "type": "org.osbuild.tar", + "inputs": { + "tree": { + "type": "org.osbuild.tree", + "origin": "org.osbuild.pipeline", + "references": [ + "name:ovf" + ] + } + }, + "options": { + "filename": "disk.tar", + "format": "ustar", + "paths": [ + "disk.ovf", + "disk.mf", + "disk.vmdk", + "disk.vhd" + ] + } + } + ] + }, + { + "name": "gce", + "build": "name:build", + "stages": [ + { + "type": "org.osbuild.tar", + "inputs": { + "tree": { + "type": "org.osbuild.tree", + "origin": "org.osbuild.pipeline", + "references": [ + "name:image" + ] + } + }, + "options": { + "filename": "image.tar.gz", + "format": "oldgnu", + "acls": false, + "selinux": false, + "xattrs": false, + "root-node": "omit" + } + } + ] + } + ], + "sources": { + "org.osbuild.skopeo": { + "items": { + "sha256:d84eacd1acb5a4b5fe43fd494dec79a0c0d732a02af7a8244b1c1ed0cea042cf": { + "image": { + "name": "quay.io/centos-bootc/centos-bootc:stream9", + "digest": "sha256:5a725627a084da5ddd98ed79a95f344d3e9b7dfaea4f85a2a2e353ccffe4beab" + } + } + } + }, + "org.osbuild.skopeo-index": { + "items": { + "sha256:d6968a62c4b6d65cf6dcf8e02a3071d14ac9d832cad305f3d998cac13d4043eb": { + "image": { + "name": "quay.io/centos-bootc/centos-bootc:stream9" + } + } + } + } + } +} diff --git a/test/data/manifests/manifest-quay.io_centos-bootc_centos-bootc:stream9-s390x-ami.json b/test/data/manifests/manifest-quay.io_centos-bootc_centos-bootc:stream9-s390x-ami.json new file mode 100644 index 00000000..f4b62f5f --- /dev/null +++ b/test/data/manifests/manifest-quay.io_centos-bootc_centos-bootc:stream9-s390x-ami.json @@ -0,0 +1,586 @@ +{ + "version": "2", + "pipelines": [ + { + "name": "build", + "runner": "org.osbuild.linux", + "stages": [ + { + "type": "org.osbuild.container-deploy", + "inputs": { + "images": { + "type": "org.osbuild.containers", + "origin": "org.osbuild.source", + "references": { + "sha256:d84eacd1acb5a4b5fe43fd494dec79a0c0d732a02af7a8244b1c1ed0cea042cf": { + "name": "quay.io/centos-bootc/centos-bootc:stream9" + } + } + } + }, + "options": { + "remove-signatures": true + } + }, + { + "type": "org.osbuild.selinux", + "options": { + "file_contexts": "etc/selinux/targeted/contexts/files/file_contexts", + "exclude_paths": [ + "/sysroot" + ], + "labels": { + "/usr/bin/mount": "system_u:object_r:install_exec_t:s0", + "/usr/bin/ostree": "system_u:object_r:install_exec_t:s0", + "/usr/bin/umount": "system_u:object_r:install_exec_t:s0" + } + } + } + ] + }, + { + "name": "image", + "build": "name:build", + "stages": [ + { + "type": "org.osbuild.truncate", + "options": { + "filename": "disk.raw", + "size": "10737418240" + } + }, + { + "type": "org.osbuild.sfdisk", + "options": { + "label": "gpt", + "uuid": "D209C89E-EA5E-4FBD-B161-B461CCE297E0", + "partitions": [ + { + "size": 2097152, + "start": 2048, + "type": "0FC63DAF-8483-4772-8E79-3D69D8477DE4", + "uuid": "CB07C243-BC44-4717-853E-28852021225B" + }, + { + "size": 18872287, + "start": 2099200, + "type": "0FC63DAF-8483-4772-8E79-3D69D8477DE4", + "uuid": "6264D520-3FB9-423F-8AB8-7A0A8E3D3562" + } + ] + }, + "devices": { + "device": { + "type": "org.osbuild.loopback", + "options": { + "filename": "disk.raw", + "lock": true + } + } + } + }, + { + "type": "org.osbuild.mkfs.xfs", + "options": { + "uuid": "0194fdc2-fa2f-4cc0-81d3-ff12045b73c8", + "label": "boot" + }, + "devices": { + "device": { + "type": "org.osbuild.loopback", + "options": { + "filename": "disk.raw", + "start": 2048, + "size": 2097152, + "lock": true + } + } + } + }, + { + "type": "org.osbuild.mkfs.xfs", + "options": { + "uuid": "6e4ff95f-f662-45ee-a82a-bdf44a2d0b75", + "label": "root" + }, + "devices": { + "device": { + "type": "org.osbuild.loopback", + "options": { + "filename": "disk.raw", + "start": 2099200, + "size": 18872287, + "lock": true + } + } + } + }, + { + "type": "org.osbuild.bootc.install-to-filesystem", + "inputs": { + "images": { + "type": "org.osbuild.containers", + "origin": "org.osbuild.source", + "references": { + "sha256:d84eacd1acb5a4b5fe43fd494dec79a0c0d732a02af7a8244b1c1ed0cea042cf": { + "name": "quay.io/centos-bootc/centos-bootc:stream9" + } + } + } + }, + "options": { + "kernel-args": [ + "rw", + "console=tty0", + "console=ttyS0" + ], + "target-imgref": "quay.io/centos-bootc/centos-bootc:stream9" + }, + "devices": { + "disk": { + "type": "org.osbuild.loopback", + "options": { + "filename": "disk.raw", + "partscan": true + } + } + }, + "mounts": [ + { + "name": "-", + "type": "org.osbuild.xfs", + "source": "disk", + "target": "/", + "partition": 2 + }, + { + "name": "boot", + "type": "org.osbuild.xfs", + "source": "disk", + "target": "/boot", + "partition": 1 + } + ] + }, + { + "type": "org.osbuild.systemd.unit.create", + "options": { + "filename": "-.mount", + "unit-path": "etc", + "config": { + "Unit": { + "DefaultDependencies": true + }, + "Mount": { + "What": "/dev/disk/by-uuid/6e4ff95f-f662-45ee-a82a-bdf44a2d0b75", + "Where": "/", + "Type": "xfs", + "Options": "ro" + }, + "Install": { + "WantedBy": [ + "multi-user.target" + ] + } + } + }, + "devices": { + "disk": { + "type": "org.osbuild.loopback", + "options": { + "filename": "disk.raw", + "partscan": true + } + } + }, + "mounts": [ + { + "name": "-", + "type": "org.osbuild.xfs", + "source": "disk", + "target": "/", + "partition": 2 + }, + { + "name": "boot", + "type": "org.osbuild.xfs", + "source": "disk", + "target": "/boot", + "partition": 1 + }, + { + "name": "ostree.deployment", + "type": "org.osbuild.ostree.deployment", + "options": { + "source": "mount", + "deployment": { + "default": true + } + } + }, + { + "name": "bind-ostree-deployment-to-tree", + "type": "org.osbuild.bind", + "target": "tree://", + "options": { + "source": "mount://" + } + } + ] + }, + { + "type": "org.osbuild.systemd.unit.create", + "options": { + "filename": "boot.mount", + "unit-path": "etc", + "config": { + "Unit": { + "DefaultDependencies": true + }, + "Mount": { + "What": "/dev/disk/by-uuid/0194fdc2-fa2f-4cc0-81d3-ff12045b73c8", + "Where": "/boot", + "Type": "xfs", + "Options": "ro" + }, + "Install": { + "WantedBy": [ + "multi-user.target" + ] + } + } + }, + "devices": { + "disk": { + "type": "org.osbuild.loopback", + "options": { + "filename": "disk.raw", + "partscan": true + } + } + }, + "mounts": [ + { + "name": "-", + "type": "org.osbuild.xfs", + "source": "disk", + "target": "/", + "partition": 2 + }, + { + "name": "boot", + "type": "org.osbuild.xfs", + "source": "disk", + "target": "/boot", + "partition": 1 + }, + { + "name": "ostree.deployment", + "type": "org.osbuild.ostree.deployment", + "options": { + "source": "mount", + "deployment": { + "default": true + } + } + }, + { + "name": "bind-ostree-deployment-to-tree", + "type": "org.osbuild.bind", + "target": "tree://", + "options": { + "source": "mount://" + } + } + ] + }, + { + "type": "org.osbuild.systemd", + "options": { + "enabled_services": [ + "-.mount", + "boot.mount" + ] + }, + "devices": { + "disk": { + "type": "org.osbuild.loopback", + "options": { + "filename": "disk.raw", + "partscan": true + } + } + }, + "mounts": [ + { + "name": "-", + "type": "org.osbuild.xfs", + "source": "disk", + "target": "/", + "partition": 2 + }, + { + "name": "boot", + "type": "org.osbuild.xfs", + "source": "disk", + "target": "/boot", + "partition": 1 + }, + { + "name": "ostree.deployment", + "type": "org.osbuild.ostree.deployment", + "options": { + "source": "mount", + "deployment": { + "default": true + } + } + }, + { + "name": "bind-ostree-deployment-to-tree", + "type": "org.osbuild.bind", + "target": "tree://", + "options": { + "source": "mount://" + } + } + ] + }, + { + "type": "org.osbuild.selinux", + "options": { + "file_contexts": "etc/selinux/targeted/contexts/files/file_contexts", + "exclude_paths": [ + "/sysroot" + ] + }, + "devices": { + "disk": { + "type": "org.osbuild.loopback", + "options": { + "filename": "disk.raw", + "partscan": true + } + } + }, + "mounts": [ + { + "name": "-", + "type": "org.osbuild.xfs", + "source": "disk", + "target": "/", + "partition": 2 + }, + { + "name": "boot", + "type": "org.osbuild.xfs", + "source": "disk", + "target": "/boot", + "partition": 1 + }, + { + "name": "ostree.deployment", + "type": "org.osbuild.ostree.deployment", + "options": { + "source": "mount", + "deployment": { + "default": true + } + } + }, + { + "name": "bind-ostree-deployment-to-tree", + "type": "org.osbuild.bind", + "target": "tree://", + "options": { + "source": "mount://" + } + } + ] + } + ] + }, + { + "name": "qcow2", + "stages": [ + { + "type": "org.osbuild.qemu", + "inputs": { + "image": { + "type": "org.osbuild.files", + "origin": "org.osbuild.pipeline", + "references": { + "name:image": { + "file": "disk.raw" + } + } + } + }, + "options": { + "filename": "disk.qcow2", + "format": { + "type": "qcow2", + "compat": "1.1" + } + } + } + ] + }, + { + "name": "vmdk", + "stages": [ + { + "type": "org.osbuild.qemu", + "inputs": { + "image": { + "type": "org.osbuild.files", + "origin": "org.osbuild.pipeline", + "references": { + "name:image": { + "file": "disk.raw" + } + } + } + }, + "options": { + "filename": "disk.vmdk", + "format": { + "type": "vmdk", + "subformat": "streamOptimized" + } + } + } + ] + }, + { + "name": "vpc", + "stages": [ + { + "type": "org.osbuild.qemu", + "inputs": { + "image": { + "type": "org.osbuild.files", + "origin": "org.osbuild.pipeline", + "references": { + "name:image": { + "file": "disk.raw" + } + } + } + }, + "options": { + "filename": "disk.vhd", + "format": { + "type": "vpc" + } + } + } + ] + }, + { + "name": "ovf", + "stages": [ + { + "type": "org.osbuild.copy", + "inputs": { + "vmdk-tree": { + "type": "org.osbuild.tree", + "origin": "org.osbuild.pipeline", + "references": [ + "name:vmdk" + ] + } + }, + "options": { + "paths": [ + { + "from": "input://vmdk-tree/disk.vmdk", + "to": "tree:///" + } + ] + } + }, + { + "type": "org.osbuild.ovf", + "options": { + "vmdk": "disk.vmdk" + } + } + ] + }, + { + "name": "archive", + "stages": [ + { + "type": "org.osbuild.tar", + "inputs": { + "tree": { + "type": "org.osbuild.tree", + "origin": "org.osbuild.pipeline", + "references": [ + "name:ovf" + ] + } + }, + "options": { + "filename": "disk.tar", + "format": "ustar", + "paths": [ + "disk.ovf", + "disk.mf", + "disk.vmdk", + "disk.vhd" + ] + } + } + ] + }, + { + "name": "gce", + "build": "name:build", + "stages": [ + { + "type": "org.osbuild.tar", + "inputs": { + "tree": { + "type": "org.osbuild.tree", + "origin": "org.osbuild.pipeline", + "references": [ + "name:image" + ] + } + }, + "options": { + "filename": "image.tar.gz", + "format": "oldgnu", + "acls": false, + "selinux": false, + "xattrs": false, + "root-node": "omit" + } + } + ] + } + ], + "sources": { + "org.osbuild.skopeo": { + "items": { + "sha256:d84eacd1acb5a4b5fe43fd494dec79a0c0d732a02af7a8244b1c1ed0cea042cf": { + "image": { + "name": "quay.io/centos-bootc/centos-bootc:stream9", + "digest": "sha256:5a725627a084da5ddd98ed79a95f344d3e9b7dfaea4f85a2a2e353ccffe4beab" + } + } + } + }, + "org.osbuild.skopeo-index": { + "items": { + "sha256:d6968a62c4b6d65cf6dcf8e02a3071d14ac9d832cad305f3d998cac13d4043eb": { + "image": { + "name": "quay.io/centos-bootc/centos-bootc:stream9" + } + } + } + } + } +} diff --git a/test/data/manifests/manifest-quay.io_centos-bootc_centos-bootc:stream9-s390x-gce.json b/test/data/manifests/manifest-quay.io_centos-bootc_centos-bootc:stream9-s390x-gce.json new file mode 100644 index 00000000..f4b62f5f --- /dev/null +++ b/test/data/manifests/manifest-quay.io_centos-bootc_centos-bootc:stream9-s390x-gce.json @@ -0,0 +1,586 @@ +{ + "version": "2", + "pipelines": [ + { + "name": "build", + "runner": "org.osbuild.linux", + "stages": [ + { + "type": "org.osbuild.container-deploy", + "inputs": { + "images": { + "type": "org.osbuild.containers", + "origin": "org.osbuild.source", + "references": { + "sha256:d84eacd1acb5a4b5fe43fd494dec79a0c0d732a02af7a8244b1c1ed0cea042cf": { + "name": "quay.io/centos-bootc/centos-bootc:stream9" + } + } + } + }, + "options": { + "remove-signatures": true + } + }, + { + "type": "org.osbuild.selinux", + "options": { + "file_contexts": "etc/selinux/targeted/contexts/files/file_contexts", + "exclude_paths": [ + "/sysroot" + ], + "labels": { + "/usr/bin/mount": "system_u:object_r:install_exec_t:s0", + "/usr/bin/ostree": "system_u:object_r:install_exec_t:s0", + "/usr/bin/umount": "system_u:object_r:install_exec_t:s0" + } + } + } + ] + }, + { + "name": "image", + "build": "name:build", + "stages": [ + { + "type": "org.osbuild.truncate", + "options": { + "filename": "disk.raw", + "size": "10737418240" + } + }, + { + "type": "org.osbuild.sfdisk", + "options": { + "label": "gpt", + "uuid": "D209C89E-EA5E-4FBD-B161-B461CCE297E0", + "partitions": [ + { + "size": 2097152, + "start": 2048, + "type": "0FC63DAF-8483-4772-8E79-3D69D8477DE4", + "uuid": "CB07C243-BC44-4717-853E-28852021225B" + }, + { + "size": 18872287, + "start": 2099200, + "type": "0FC63DAF-8483-4772-8E79-3D69D8477DE4", + "uuid": "6264D520-3FB9-423F-8AB8-7A0A8E3D3562" + } + ] + }, + "devices": { + "device": { + "type": "org.osbuild.loopback", + "options": { + "filename": "disk.raw", + "lock": true + } + } + } + }, + { + "type": "org.osbuild.mkfs.xfs", + "options": { + "uuid": "0194fdc2-fa2f-4cc0-81d3-ff12045b73c8", + "label": "boot" + }, + "devices": { + "device": { + "type": "org.osbuild.loopback", + "options": { + "filename": "disk.raw", + "start": 2048, + "size": 2097152, + "lock": true + } + } + } + }, + { + "type": "org.osbuild.mkfs.xfs", + "options": { + "uuid": "6e4ff95f-f662-45ee-a82a-bdf44a2d0b75", + "label": "root" + }, + "devices": { + "device": { + "type": "org.osbuild.loopback", + "options": { + "filename": "disk.raw", + "start": 2099200, + "size": 18872287, + "lock": true + } + } + } + }, + { + "type": "org.osbuild.bootc.install-to-filesystem", + "inputs": { + "images": { + "type": "org.osbuild.containers", + "origin": "org.osbuild.source", + "references": { + "sha256:d84eacd1acb5a4b5fe43fd494dec79a0c0d732a02af7a8244b1c1ed0cea042cf": { + "name": "quay.io/centos-bootc/centos-bootc:stream9" + } + } + } + }, + "options": { + "kernel-args": [ + "rw", + "console=tty0", + "console=ttyS0" + ], + "target-imgref": "quay.io/centos-bootc/centos-bootc:stream9" + }, + "devices": { + "disk": { + "type": "org.osbuild.loopback", + "options": { + "filename": "disk.raw", + "partscan": true + } + } + }, + "mounts": [ + { + "name": "-", + "type": "org.osbuild.xfs", + "source": "disk", + "target": "/", + "partition": 2 + }, + { + "name": "boot", + "type": "org.osbuild.xfs", + "source": "disk", + "target": "/boot", + "partition": 1 + } + ] + }, + { + "type": "org.osbuild.systemd.unit.create", + "options": { + "filename": "-.mount", + "unit-path": "etc", + "config": { + "Unit": { + "DefaultDependencies": true + }, + "Mount": { + "What": "/dev/disk/by-uuid/6e4ff95f-f662-45ee-a82a-bdf44a2d0b75", + "Where": "/", + "Type": "xfs", + "Options": "ro" + }, + "Install": { + "WantedBy": [ + "multi-user.target" + ] + } + } + }, + "devices": { + "disk": { + "type": "org.osbuild.loopback", + "options": { + "filename": "disk.raw", + "partscan": true + } + } + }, + "mounts": [ + { + "name": "-", + "type": "org.osbuild.xfs", + "source": "disk", + "target": "/", + "partition": 2 + }, + { + "name": "boot", + "type": "org.osbuild.xfs", + "source": "disk", + "target": "/boot", + "partition": 1 + }, + { + "name": "ostree.deployment", + "type": "org.osbuild.ostree.deployment", + "options": { + "source": "mount", + "deployment": { + "default": true + } + } + }, + { + "name": "bind-ostree-deployment-to-tree", + "type": "org.osbuild.bind", + "target": "tree://", + "options": { + "source": "mount://" + } + } + ] + }, + { + "type": "org.osbuild.systemd.unit.create", + "options": { + "filename": "boot.mount", + "unit-path": "etc", + "config": { + "Unit": { + "DefaultDependencies": true + }, + "Mount": { + "What": "/dev/disk/by-uuid/0194fdc2-fa2f-4cc0-81d3-ff12045b73c8", + "Where": "/boot", + "Type": "xfs", + "Options": "ro" + }, + "Install": { + "WantedBy": [ + "multi-user.target" + ] + } + } + }, + "devices": { + "disk": { + "type": "org.osbuild.loopback", + "options": { + "filename": "disk.raw", + "partscan": true + } + } + }, + "mounts": [ + { + "name": "-", + "type": "org.osbuild.xfs", + "source": "disk", + "target": "/", + "partition": 2 + }, + { + "name": "boot", + "type": "org.osbuild.xfs", + "source": "disk", + "target": "/boot", + "partition": 1 + }, + { + "name": "ostree.deployment", + "type": "org.osbuild.ostree.deployment", + "options": { + "source": "mount", + "deployment": { + "default": true + } + } + }, + { + "name": "bind-ostree-deployment-to-tree", + "type": "org.osbuild.bind", + "target": "tree://", + "options": { + "source": "mount://" + } + } + ] + }, + { + "type": "org.osbuild.systemd", + "options": { + "enabled_services": [ + "-.mount", + "boot.mount" + ] + }, + "devices": { + "disk": { + "type": "org.osbuild.loopback", + "options": { + "filename": "disk.raw", + "partscan": true + } + } + }, + "mounts": [ + { + "name": "-", + "type": "org.osbuild.xfs", + "source": "disk", + "target": "/", + "partition": 2 + }, + { + "name": "boot", + "type": "org.osbuild.xfs", + "source": "disk", + "target": "/boot", + "partition": 1 + }, + { + "name": "ostree.deployment", + "type": "org.osbuild.ostree.deployment", + "options": { + "source": "mount", + "deployment": { + "default": true + } + } + }, + { + "name": "bind-ostree-deployment-to-tree", + "type": "org.osbuild.bind", + "target": "tree://", + "options": { + "source": "mount://" + } + } + ] + }, + { + "type": "org.osbuild.selinux", + "options": { + "file_contexts": "etc/selinux/targeted/contexts/files/file_contexts", + "exclude_paths": [ + "/sysroot" + ] + }, + "devices": { + "disk": { + "type": "org.osbuild.loopback", + "options": { + "filename": "disk.raw", + "partscan": true + } + } + }, + "mounts": [ + { + "name": "-", + "type": "org.osbuild.xfs", + "source": "disk", + "target": "/", + "partition": 2 + }, + { + "name": "boot", + "type": "org.osbuild.xfs", + "source": "disk", + "target": "/boot", + "partition": 1 + }, + { + "name": "ostree.deployment", + "type": "org.osbuild.ostree.deployment", + "options": { + "source": "mount", + "deployment": { + "default": true + } + } + }, + { + "name": "bind-ostree-deployment-to-tree", + "type": "org.osbuild.bind", + "target": "tree://", + "options": { + "source": "mount://" + } + } + ] + } + ] + }, + { + "name": "qcow2", + "stages": [ + { + "type": "org.osbuild.qemu", + "inputs": { + "image": { + "type": "org.osbuild.files", + "origin": "org.osbuild.pipeline", + "references": { + "name:image": { + "file": "disk.raw" + } + } + } + }, + "options": { + "filename": "disk.qcow2", + "format": { + "type": "qcow2", + "compat": "1.1" + } + } + } + ] + }, + { + "name": "vmdk", + "stages": [ + { + "type": "org.osbuild.qemu", + "inputs": { + "image": { + "type": "org.osbuild.files", + "origin": "org.osbuild.pipeline", + "references": { + "name:image": { + "file": "disk.raw" + } + } + } + }, + "options": { + "filename": "disk.vmdk", + "format": { + "type": "vmdk", + "subformat": "streamOptimized" + } + } + } + ] + }, + { + "name": "vpc", + "stages": [ + { + "type": "org.osbuild.qemu", + "inputs": { + "image": { + "type": "org.osbuild.files", + "origin": "org.osbuild.pipeline", + "references": { + "name:image": { + "file": "disk.raw" + } + } + } + }, + "options": { + "filename": "disk.vhd", + "format": { + "type": "vpc" + } + } + } + ] + }, + { + "name": "ovf", + "stages": [ + { + "type": "org.osbuild.copy", + "inputs": { + "vmdk-tree": { + "type": "org.osbuild.tree", + "origin": "org.osbuild.pipeline", + "references": [ + "name:vmdk" + ] + } + }, + "options": { + "paths": [ + { + "from": "input://vmdk-tree/disk.vmdk", + "to": "tree:///" + } + ] + } + }, + { + "type": "org.osbuild.ovf", + "options": { + "vmdk": "disk.vmdk" + } + } + ] + }, + { + "name": "archive", + "stages": [ + { + "type": "org.osbuild.tar", + "inputs": { + "tree": { + "type": "org.osbuild.tree", + "origin": "org.osbuild.pipeline", + "references": [ + "name:ovf" + ] + } + }, + "options": { + "filename": "disk.tar", + "format": "ustar", + "paths": [ + "disk.ovf", + "disk.mf", + "disk.vmdk", + "disk.vhd" + ] + } + } + ] + }, + { + "name": "gce", + "build": "name:build", + "stages": [ + { + "type": "org.osbuild.tar", + "inputs": { + "tree": { + "type": "org.osbuild.tree", + "origin": "org.osbuild.pipeline", + "references": [ + "name:image" + ] + } + }, + "options": { + "filename": "image.tar.gz", + "format": "oldgnu", + "acls": false, + "selinux": false, + "xattrs": false, + "root-node": "omit" + } + } + ] + } + ], + "sources": { + "org.osbuild.skopeo": { + "items": { + "sha256:d84eacd1acb5a4b5fe43fd494dec79a0c0d732a02af7a8244b1c1ed0cea042cf": { + "image": { + "name": "quay.io/centos-bootc/centos-bootc:stream9", + "digest": "sha256:5a725627a084da5ddd98ed79a95f344d3e9b7dfaea4f85a2a2e353ccffe4beab" + } + } + } + }, + "org.osbuild.skopeo-index": { + "items": { + "sha256:d6968a62c4b6d65cf6dcf8e02a3071d14ac9d832cad305f3d998cac13d4043eb": { + "image": { + "name": "quay.io/centos-bootc/centos-bootc:stream9" + } + } + } + } + } +} diff --git a/test/data/manifests/manifest-quay.io_centos-bootc_centos-bootc:stream9-s390x-qcow2.json b/test/data/manifests/manifest-quay.io_centos-bootc_centos-bootc:stream9-s390x-qcow2.json new file mode 100644 index 00000000..f4b62f5f --- /dev/null +++ b/test/data/manifests/manifest-quay.io_centos-bootc_centos-bootc:stream9-s390x-qcow2.json @@ -0,0 +1,586 @@ +{ + "version": "2", + "pipelines": [ + { + "name": "build", + "runner": "org.osbuild.linux", + "stages": [ + { + "type": "org.osbuild.container-deploy", + "inputs": { + "images": { + "type": "org.osbuild.containers", + "origin": "org.osbuild.source", + "references": { + "sha256:d84eacd1acb5a4b5fe43fd494dec79a0c0d732a02af7a8244b1c1ed0cea042cf": { + "name": "quay.io/centos-bootc/centos-bootc:stream9" + } + } + } + }, + "options": { + "remove-signatures": true + } + }, + { + "type": "org.osbuild.selinux", + "options": { + "file_contexts": "etc/selinux/targeted/contexts/files/file_contexts", + "exclude_paths": [ + "/sysroot" + ], + "labels": { + "/usr/bin/mount": "system_u:object_r:install_exec_t:s0", + "/usr/bin/ostree": "system_u:object_r:install_exec_t:s0", + "/usr/bin/umount": "system_u:object_r:install_exec_t:s0" + } + } + } + ] + }, + { + "name": "image", + "build": "name:build", + "stages": [ + { + "type": "org.osbuild.truncate", + "options": { + "filename": "disk.raw", + "size": "10737418240" + } + }, + { + "type": "org.osbuild.sfdisk", + "options": { + "label": "gpt", + "uuid": "D209C89E-EA5E-4FBD-B161-B461CCE297E0", + "partitions": [ + { + "size": 2097152, + "start": 2048, + "type": "0FC63DAF-8483-4772-8E79-3D69D8477DE4", + "uuid": "CB07C243-BC44-4717-853E-28852021225B" + }, + { + "size": 18872287, + "start": 2099200, + "type": "0FC63DAF-8483-4772-8E79-3D69D8477DE4", + "uuid": "6264D520-3FB9-423F-8AB8-7A0A8E3D3562" + } + ] + }, + "devices": { + "device": { + "type": "org.osbuild.loopback", + "options": { + "filename": "disk.raw", + "lock": true + } + } + } + }, + { + "type": "org.osbuild.mkfs.xfs", + "options": { + "uuid": "0194fdc2-fa2f-4cc0-81d3-ff12045b73c8", + "label": "boot" + }, + "devices": { + "device": { + "type": "org.osbuild.loopback", + "options": { + "filename": "disk.raw", + "start": 2048, + "size": 2097152, + "lock": true + } + } + } + }, + { + "type": "org.osbuild.mkfs.xfs", + "options": { + "uuid": "6e4ff95f-f662-45ee-a82a-bdf44a2d0b75", + "label": "root" + }, + "devices": { + "device": { + "type": "org.osbuild.loopback", + "options": { + "filename": "disk.raw", + "start": 2099200, + "size": 18872287, + "lock": true + } + } + } + }, + { + "type": "org.osbuild.bootc.install-to-filesystem", + "inputs": { + "images": { + "type": "org.osbuild.containers", + "origin": "org.osbuild.source", + "references": { + "sha256:d84eacd1acb5a4b5fe43fd494dec79a0c0d732a02af7a8244b1c1ed0cea042cf": { + "name": "quay.io/centos-bootc/centos-bootc:stream9" + } + } + } + }, + "options": { + "kernel-args": [ + "rw", + "console=tty0", + "console=ttyS0" + ], + "target-imgref": "quay.io/centos-bootc/centos-bootc:stream9" + }, + "devices": { + "disk": { + "type": "org.osbuild.loopback", + "options": { + "filename": "disk.raw", + "partscan": true + } + } + }, + "mounts": [ + { + "name": "-", + "type": "org.osbuild.xfs", + "source": "disk", + "target": "/", + "partition": 2 + }, + { + "name": "boot", + "type": "org.osbuild.xfs", + "source": "disk", + "target": "/boot", + "partition": 1 + } + ] + }, + { + "type": "org.osbuild.systemd.unit.create", + "options": { + "filename": "-.mount", + "unit-path": "etc", + "config": { + "Unit": { + "DefaultDependencies": true + }, + "Mount": { + "What": "/dev/disk/by-uuid/6e4ff95f-f662-45ee-a82a-bdf44a2d0b75", + "Where": "/", + "Type": "xfs", + "Options": "ro" + }, + "Install": { + "WantedBy": [ + "multi-user.target" + ] + } + } + }, + "devices": { + "disk": { + "type": "org.osbuild.loopback", + "options": { + "filename": "disk.raw", + "partscan": true + } + } + }, + "mounts": [ + { + "name": "-", + "type": "org.osbuild.xfs", + "source": "disk", + "target": "/", + "partition": 2 + }, + { + "name": "boot", + "type": "org.osbuild.xfs", + "source": "disk", + "target": "/boot", + "partition": 1 + }, + { + "name": "ostree.deployment", + "type": "org.osbuild.ostree.deployment", + "options": { + "source": "mount", + "deployment": { + "default": true + } + } + }, + { + "name": "bind-ostree-deployment-to-tree", + "type": "org.osbuild.bind", + "target": "tree://", + "options": { + "source": "mount://" + } + } + ] + }, + { + "type": "org.osbuild.systemd.unit.create", + "options": { + "filename": "boot.mount", + "unit-path": "etc", + "config": { + "Unit": { + "DefaultDependencies": true + }, + "Mount": { + "What": "/dev/disk/by-uuid/0194fdc2-fa2f-4cc0-81d3-ff12045b73c8", + "Where": "/boot", + "Type": "xfs", + "Options": "ro" + }, + "Install": { + "WantedBy": [ + "multi-user.target" + ] + } + } + }, + "devices": { + "disk": { + "type": "org.osbuild.loopback", + "options": { + "filename": "disk.raw", + "partscan": true + } + } + }, + "mounts": [ + { + "name": "-", + "type": "org.osbuild.xfs", + "source": "disk", + "target": "/", + "partition": 2 + }, + { + "name": "boot", + "type": "org.osbuild.xfs", + "source": "disk", + "target": "/boot", + "partition": 1 + }, + { + "name": "ostree.deployment", + "type": "org.osbuild.ostree.deployment", + "options": { + "source": "mount", + "deployment": { + "default": true + } + } + }, + { + "name": "bind-ostree-deployment-to-tree", + "type": "org.osbuild.bind", + "target": "tree://", + "options": { + "source": "mount://" + } + } + ] + }, + { + "type": "org.osbuild.systemd", + "options": { + "enabled_services": [ + "-.mount", + "boot.mount" + ] + }, + "devices": { + "disk": { + "type": "org.osbuild.loopback", + "options": { + "filename": "disk.raw", + "partscan": true + } + } + }, + "mounts": [ + { + "name": "-", + "type": "org.osbuild.xfs", + "source": "disk", + "target": "/", + "partition": 2 + }, + { + "name": "boot", + "type": "org.osbuild.xfs", + "source": "disk", + "target": "/boot", + "partition": 1 + }, + { + "name": "ostree.deployment", + "type": "org.osbuild.ostree.deployment", + "options": { + "source": "mount", + "deployment": { + "default": true + } + } + }, + { + "name": "bind-ostree-deployment-to-tree", + "type": "org.osbuild.bind", + "target": "tree://", + "options": { + "source": "mount://" + } + } + ] + }, + { + "type": "org.osbuild.selinux", + "options": { + "file_contexts": "etc/selinux/targeted/contexts/files/file_contexts", + "exclude_paths": [ + "/sysroot" + ] + }, + "devices": { + "disk": { + "type": "org.osbuild.loopback", + "options": { + "filename": "disk.raw", + "partscan": true + } + } + }, + "mounts": [ + { + "name": "-", + "type": "org.osbuild.xfs", + "source": "disk", + "target": "/", + "partition": 2 + }, + { + "name": "boot", + "type": "org.osbuild.xfs", + "source": "disk", + "target": "/boot", + "partition": 1 + }, + { + "name": "ostree.deployment", + "type": "org.osbuild.ostree.deployment", + "options": { + "source": "mount", + "deployment": { + "default": true + } + } + }, + { + "name": "bind-ostree-deployment-to-tree", + "type": "org.osbuild.bind", + "target": "tree://", + "options": { + "source": "mount://" + } + } + ] + } + ] + }, + { + "name": "qcow2", + "stages": [ + { + "type": "org.osbuild.qemu", + "inputs": { + "image": { + "type": "org.osbuild.files", + "origin": "org.osbuild.pipeline", + "references": { + "name:image": { + "file": "disk.raw" + } + } + } + }, + "options": { + "filename": "disk.qcow2", + "format": { + "type": "qcow2", + "compat": "1.1" + } + } + } + ] + }, + { + "name": "vmdk", + "stages": [ + { + "type": "org.osbuild.qemu", + "inputs": { + "image": { + "type": "org.osbuild.files", + "origin": "org.osbuild.pipeline", + "references": { + "name:image": { + "file": "disk.raw" + } + } + } + }, + "options": { + "filename": "disk.vmdk", + "format": { + "type": "vmdk", + "subformat": "streamOptimized" + } + } + } + ] + }, + { + "name": "vpc", + "stages": [ + { + "type": "org.osbuild.qemu", + "inputs": { + "image": { + "type": "org.osbuild.files", + "origin": "org.osbuild.pipeline", + "references": { + "name:image": { + "file": "disk.raw" + } + } + } + }, + "options": { + "filename": "disk.vhd", + "format": { + "type": "vpc" + } + } + } + ] + }, + { + "name": "ovf", + "stages": [ + { + "type": "org.osbuild.copy", + "inputs": { + "vmdk-tree": { + "type": "org.osbuild.tree", + "origin": "org.osbuild.pipeline", + "references": [ + "name:vmdk" + ] + } + }, + "options": { + "paths": [ + { + "from": "input://vmdk-tree/disk.vmdk", + "to": "tree:///" + } + ] + } + }, + { + "type": "org.osbuild.ovf", + "options": { + "vmdk": "disk.vmdk" + } + } + ] + }, + { + "name": "archive", + "stages": [ + { + "type": "org.osbuild.tar", + "inputs": { + "tree": { + "type": "org.osbuild.tree", + "origin": "org.osbuild.pipeline", + "references": [ + "name:ovf" + ] + } + }, + "options": { + "filename": "disk.tar", + "format": "ustar", + "paths": [ + "disk.ovf", + "disk.mf", + "disk.vmdk", + "disk.vhd" + ] + } + } + ] + }, + { + "name": "gce", + "build": "name:build", + "stages": [ + { + "type": "org.osbuild.tar", + "inputs": { + "tree": { + "type": "org.osbuild.tree", + "origin": "org.osbuild.pipeline", + "references": [ + "name:image" + ] + } + }, + "options": { + "filename": "image.tar.gz", + "format": "oldgnu", + "acls": false, + "selinux": false, + "xattrs": false, + "root-node": "omit" + } + } + ] + } + ], + "sources": { + "org.osbuild.skopeo": { + "items": { + "sha256:d84eacd1acb5a4b5fe43fd494dec79a0c0d732a02af7a8244b1c1ed0cea042cf": { + "image": { + "name": "quay.io/centos-bootc/centos-bootc:stream9", + "digest": "sha256:5a725627a084da5ddd98ed79a95f344d3e9b7dfaea4f85a2a2e353ccffe4beab" + } + } + } + }, + "org.osbuild.skopeo-index": { + "items": { + "sha256:d6968a62c4b6d65cf6dcf8e02a3071d14ac9d832cad305f3d998cac13d4043eb": { + "image": { + "name": "quay.io/centos-bootc/centos-bootc:stream9" + } + } + } + } + } +} diff --git a/test/data/manifests/manifest-quay.io_centos-bootc_centos-bootc:stream9-s390x-raw.json b/test/data/manifests/manifest-quay.io_centos-bootc_centos-bootc:stream9-s390x-raw.json new file mode 100644 index 00000000..f4b62f5f --- /dev/null +++ b/test/data/manifests/manifest-quay.io_centos-bootc_centos-bootc:stream9-s390x-raw.json @@ -0,0 +1,586 @@ +{ + "version": "2", + "pipelines": [ + { + "name": "build", + "runner": "org.osbuild.linux", + "stages": [ + { + "type": "org.osbuild.container-deploy", + "inputs": { + "images": { + "type": "org.osbuild.containers", + "origin": "org.osbuild.source", + "references": { + "sha256:d84eacd1acb5a4b5fe43fd494dec79a0c0d732a02af7a8244b1c1ed0cea042cf": { + "name": "quay.io/centos-bootc/centos-bootc:stream9" + } + } + } + }, + "options": { + "remove-signatures": true + } + }, + { + "type": "org.osbuild.selinux", + "options": { + "file_contexts": "etc/selinux/targeted/contexts/files/file_contexts", + "exclude_paths": [ + "/sysroot" + ], + "labels": { + "/usr/bin/mount": "system_u:object_r:install_exec_t:s0", + "/usr/bin/ostree": "system_u:object_r:install_exec_t:s0", + "/usr/bin/umount": "system_u:object_r:install_exec_t:s0" + } + } + } + ] + }, + { + "name": "image", + "build": "name:build", + "stages": [ + { + "type": "org.osbuild.truncate", + "options": { + "filename": "disk.raw", + "size": "10737418240" + } + }, + { + "type": "org.osbuild.sfdisk", + "options": { + "label": "gpt", + "uuid": "D209C89E-EA5E-4FBD-B161-B461CCE297E0", + "partitions": [ + { + "size": 2097152, + "start": 2048, + "type": "0FC63DAF-8483-4772-8E79-3D69D8477DE4", + "uuid": "CB07C243-BC44-4717-853E-28852021225B" + }, + { + "size": 18872287, + "start": 2099200, + "type": "0FC63DAF-8483-4772-8E79-3D69D8477DE4", + "uuid": "6264D520-3FB9-423F-8AB8-7A0A8E3D3562" + } + ] + }, + "devices": { + "device": { + "type": "org.osbuild.loopback", + "options": { + "filename": "disk.raw", + "lock": true + } + } + } + }, + { + "type": "org.osbuild.mkfs.xfs", + "options": { + "uuid": "0194fdc2-fa2f-4cc0-81d3-ff12045b73c8", + "label": "boot" + }, + "devices": { + "device": { + "type": "org.osbuild.loopback", + "options": { + "filename": "disk.raw", + "start": 2048, + "size": 2097152, + "lock": true + } + } + } + }, + { + "type": "org.osbuild.mkfs.xfs", + "options": { + "uuid": "6e4ff95f-f662-45ee-a82a-bdf44a2d0b75", + "label": "root" + }, + "devices": { + "device": { + "type": "org.osbuild.loopback", + "options": { + "filename": "disk.raw", + "start": 2099200, + "size": 18872287, + "lock": true + } + } + } + }, + { + "type": "org.osbuild.bootc.install-to-filesystem", + "inputs": { + "images": { + "type": "org.osbuild.containers", + "origin": "org.osbuild.source", + "references": { + "sha256:d84eacd1acb5a4b5fe43fd494dec79a0c0d732a02af7a8244b1c1ed0cea042cf": { + "name": "quay.io/centos-bootc/centos-bootc:stream9" + } + } + } + }, + "options": { + "kernel-args": [ + "rw", + "console=tty0", + "console=ttyS0" + ], + "target-imgref": "quay.io/centos-bootc/centos-bootc:stream9" + }, + "devices": { + "disk": { + "type": "org.osbuild.loopback", + "options": { + "filename": "disk.raw", + "partscan": true + } + } + }, + "mounts": [ + { + "name": "-", + "type": "org.osbuild.xfs", + "source": "disk", + "target": "/", + "partition": 2 + }, + { + "name": "boot", + "type": "org.osbuild.xfs", + "source": "disk", + "target": "/boot", + "partition": 1 + } + ] + }, + { + "type": "org.osbuild.systemd.unit.create", + "options": { + "filename": "-.mount", + "unit-path": "etc", + "config": { + "Unit": { + "DefaultDependencies": true + }, + "Mount": { + "What": "/dev/disk/by-uuid/6e4ff95f-f662-45ee-a82a-bdf44a2d0b75", + "Where": "/", + "Type": "xfs", + "Options": "ro" + }, + "Install": { + "WantedBy": [ + "multi-user.target" + ] + } + } + }, + "devices": { + "disk": { + "type": "org.osbuild.loopback", + "options": { + "filename": "disk.raw", + "partscan": true + } + } + }, + "mounts": [ + { + "name": "-", + "type": "org.osbuild.xfs", + "source": "disk", + "target": "/", + "partition": 2 + }, + { + "name": "boot", + "type": "org.osbuild.xfs", + "source": "disk", + "target": "/boot", + "partition": 1 + }, + { + "name": "ostree.deployment", + "type": "org.osbuild.ostree.deployment", + "options": { + "source": "mount", + "deployment": { + "default": true + } + } + }, + { + "name": "bind-ostree-deployment-to-tree", + "type": "org.osbuild.bind", + "target": "tree://", + "options": { + "source": "mount://" + } + } + ] + }, + { + "type": "org.osbuild.systemd.unit.create", + "options": { + "filename": "boot.mount", + "unit-path": "etc", + "config": { + "Unit": { + "DefaultDependencies": true + }, + "Mount": { + "What": "/dev/disk/by-uuid/0194fdc2-fa2f-4cc0-81d3-ff12045b73c8", + "Where": "/boot", + "Type": "xfs", + "Options": "ro" + }, + "Install": { + "WantedBy": [ + "multi-user.target" + ] + } + } + }, + "devices": { + "disk": { + "type": "org.osbuild.loopback", + "options": { + "filename": "disk.raw", + "partscan": true + } + } + }, + "mounts": [ + { + "name": "-", + "type": "org.osbuild.xfs", + "source": "disk", + "target": "/", + "partition": 2 + }, + { + "name": "boot", + "type": "org.osbuild.xfs", + "source": "disk", + "target": "/boot", + "partition": 1 + }, + { + "name": "ostree.deployment", + "type": "org.osbuild.ostree.deployment", + "options": { + "source": "mount", + "deployment": { + "default": true + } + } + }, + { + "name": "bind-ostree-deployment-to-tree", + "type": "org.osbuild.bind", + "target": "tree://", + "options": { + "source": "mount://" + } + } + ] + }, + { + "type": "org.osbuild.systemd", + "options": { + "enabled_services": [ + "-.mount", + "boot.mount" + ] + }, + "devices": { + "disk": { + "type": "org.osbuild.loopback", + "options": { + "filename": "disk.raw", + "partscan": true + } + } + }, + "mounts": [ + { + "name": "-", + "type": "org.osbuild.xfs", + "source": "disk", + "target": "/", + "partition": 2 + }, + { + "name": "boot", + "type": "org.osbuild.xfs", + "source": "disk", + "target": "/boot", + "partition": 1 + }, + { + "name": "ostree.deployment", + "type": "org.osbuild.ostree.deployment", + "options": { + "source": "mount", + "deployment": { + "default": true + } + } + }, + { + "name": "bind-ostree-deployment-to-tree", + "type": "org.osbuild.bind", + "target": "tree://", + "options": { + "source": "mount://" + } + } + ] + }, + { + "type": "org.osbuild.selinux", + "options": { + "file_contexts": "etc/selinux/targeted/contexts/files/file_contexts", + "exclude_paths": [ + "/sysroot" + ] + }, + "devices": { + "disk": { + "type": "org.osbuild.loopback", + "options": { + "filename": "disk.raw", + "partscan": true + } + } + }, + "mounts": [ + { + "name": "-", + "type": "org.osbuild.xfs", + "source": "disk", + "target": "/", + "partition": 2 + }, + { + "name": "boot", + "type": "org.osbuild.xfs", + "source": "disk", + "target": "/boot", + "partition": 1 + }, + { + "name": "ostree.deployment", + "type": "org.osbuild.ostree.deployment", + "options": { + "source": "mount", + "deployment": { + "default": true + } + } + }, + { + "name": "bind-ostree-deployment-to-tree", + "type": "org.osbuild.bind", + "target": "tree://", + "options": { + "source": "mount://" + } + } + ] + } + ] + }, + { + "name": "qcow2", + "stages": [ + { + "type": "org.osbuild.qemu", + "inputs": { + "image": { + "type": "org.osbuild.files", + "origin": "org.osbuild.pipeline", + "references": { + "name:image": { + "file": "disk.raw" + } + } + } + }, + "options": { + "filename": "disk.qcow2", + "format": { + "type": "qcow2", + "compat": "1.1" + } + } + } + ] + }, + { + "name": "vmdk", + "stages": [ + { + "type": "org.osbuild.qemu", + "inputs": { + "image": { + "type": "org.osbuild.files", + "origin": "org.osbuild.pipeline", + "references": { + "name:image": { + "file": "disk.raw" + } + } + } + }, + "options": { + "filename": "disk.vmdk", + "format": { + "type": "vmdk", + "subformat": "streamOptimized" + } + } + } + ] + }, + { + "name": "vpc", + "stages": [ + { + "type": "org.osbuild.qemu", + "inputs": { + "image": { + "type": "org.osbuild.files", + "origin": "org.osbuild.pipeline", + "references": { + "name:image": { + "file": "disk.raw" + } + } + } + }, + "options": { + "filename": "disk.vhd", + "format": { + "type": "vpc" + } + } + } + ] + }, + { + "name": "ovf", + "stages": [ + { + "type": "org.osbuild.copy", + "inputs": { + "vmdk-tree": { + "type": "org.osbuild.tree", + "origin": "org.osbuild.pipeline", + "references": [ + "name:vmdk" + ] + } + }, + "options": { + "paths": [ + { + "from": "input://vmdk-tree/disk.vmdk", + "to": "tree:///" + } + ] + } + }, + { + "type": "org.osbuild.ovf", + "options": { + "vmdk": "disk.vmdk" + } + } + ] + }, + { + "name": "archive", + "stages": [ + { + "type": "org.osbuild.tar", + "inputs": { + "tree": { + "type": "org.osbuild.tree", + "origin": "org.osbuild.pipeline", + "references": [ + "name:ovf" + ] + } + }, + "options": { + "filename": "disk.tar", + "format": "ustar", + "paths": [ + "disk.ovf", + "disk.mf", + "disk.vmdk", + "disk.vhd" + ] + } + } + ] + }, + { + "name": "gce", + "build": "name:build", + "stages": [ + { + "type": "org.osbuild.tar", + "inputs": { + "tree": { + "type": "org.osbuild.tree", + "origin": "org.osbuild.pipeline", + "references": [ + "name:image" + ] + } + }, + "options": { + "filename": "image.tar.gz", + "format": "oldgnu", + "acls": false, + "selinux": false, + "xattrs": false, + "root-node": "omit" + } + } + ] + } + ], + "sources": { + "org.osbuild.skopeo": { + "items": { + "sha256:d84eacd1acb5a4b5fe43fd494dec79a0c0d732a02af7a8244b1c1ed0cea042cf": { + "image": { + "name": "quay.io/centos-bootc/centos-bootc:stream9", + "digest": "sha256:5a725627a084da5ddd98ed79a95f344d3e9b7dfaea4f85a2a2e353ccffe4beab" + } + } + } + }, + "org.osbuild.skopeo-index": { + "items": { + "sha256:d6968a62c4b6d65cf6dcf8e02a3071d14ac9d832cad305f3d998cac13d4043eb": { + "image": { + "name": "quay.io/centos-bootc/centos-bootc:stream9" + } + } + } + } + } +} diff --git a/test/data/manifests/manifest-quay.io_centos-bootc_centos-bootc:stream9-s390x-vhd.json b/test/data/manifests/manifest-quay.io_centos-bootc_centos-bootc:stream9-s390x-vhd.json new file mode 100644 index 00000000..f4b62f5f --- /dev/null +++ b/test/data/manifests/manifest-quay.io_centos-bootc_centos-bootc:stream9-s390x-vhd.json @@ -0,0 +1,586 @@ +{ + "version": "2", + "pipelines": [ + { + "name": "build", + "runner": "org.osbuild.linux", + "stages": [ + { + "type": "org.osbuild.container-deploy", + "inputs": { + "images": { + "type": "org.osbuild.containers", + "origin": "org.osbuild.source", + "references": { + "sha256:d84eacd1acb5a4b5fe43fd494dec79a0c0d732a02af7a8244b1c1ed0cea042cf": { + "name": "quay.io/centos-bootc/centos-bootc:stream9" + } + } + } + }, + "options": { + "remove-signatures": true + } + }, + { + "type": "org.osbuild.selinux", + "options": { + "file_contexts": "etc/selinux/targeted/contexts/files/file_contexts", + "exclude_paths": [ + "/sysroot" + ], + "labels": { + "/usr/bin/mount": "system_u:object_r:install_exec_t:s0", + "/usr/bin/ostree": "system_u:object_r:install_exec_t:s0", + "/usr/bin/umount": "system_u:object_r:install_exec_t:s0" + } + } + } + ] + }, + { + "name": "image", + "build": "name:build", + "stages": [ + { + "type": "org.osbuild.truncate", + "options": { + "filename": "disk.raw", + "size": "10737418240" + } + }, + { + "type": "org.osbuild.sfdisk", + "options": { + "label": "gpt", + "uuid": "D209C89E-EA5E-4FBD-B161-B461CCE297E0", + "partitions": [ + { + "size": 2097152, + "start": 2048, + "type": "0FC63DAF-8483-4772-8E79-3D69D8477DE4", + "uuid": "CB07C243-BC44-4717-853E-28852021225B" + }, + { + "size": 18872287, + "start": 2099200, + "type": "0FC63DAF-8483-4772-8E79-3D69D8477DE4", + "uuid": "6264D520-3FB9-423F-8AB8-7A0A8E3D3562" + } + ] + }, + "devices": { + "device": { + "type": "org.osbuild.loopback", + "options": { + "filename": "disk.raw", + "lock": true + } + } + } + }, + { + "type": "org.osbuild.mkfs.xfs", + "options": { + "uuid": "0194fdc2-fa2f-4cc0-81d3-ff12045b73c8", + "label": "boot" + }, + "devices": { + "device": { + "type": "org.osbuild.loopback", + "options": { + "filename": "disk.raw", + "start": 2048, + "size": 2097152, + "lock": true + } + } + } + }, + { + "type": "org.osbuild.mkfs.xfs", + "options": { + "uuid": "6e4ff95f-f662-45ee-a82a-bdf44a2d0b75", + "label": "root" + }, + "devices": { + "device": { + "type": "org.osbuild.loopback", + "options": { + "filename": "disk.raw", + "start": 2099200, + "size": 18872287, + "lock": true + } + } + } + }, + { + "type": "org.osbuild.bootc.install-to-filesystem", + "inputs": { + "images": { + "type": "org.osbuild.containers", + "origin": "org.osbuild.source", + "references": { + "sha256:d84eacd1acb5a4b5fe43fd494dec79a0c0d732a02af7a8244b1c1ed0cea042cf": { + "name": "quay.io/centos-bootc/centos-bootc:stream9" + } + } + } + }, + "options": { + "kernel-args": [ + "rw", + "console=tty0", + "console=ttyS0" + ], + "target-imgref": "quay.io/centos-bootc/centos-bootc:stream9" + }, + "devices": { + "disk": { + "type": "org.osbuild.loopback", + "options": { + "filename": "disk.raw", + "partscan": true + } + } + }, + "mounts": [ + { + "name": "-", + "type": "org.osbuild.xfs", + "source": "disk", + "target": "/", + "partition": 2 + }, + { + "name": "boot", + "type": "org.osbuild.xfs", + "source": "disk", + "target": "/boot", + "partition": 1 + } + ] + }, + { + "type": "org.osbuild.systemd.unit.create", + "options": { + "filename": "-.mount", + "unit-path": "etc", + "config": { + "Unit": { + "DefaultDependencies": true + }, + "Mount": { + "What": "/dev/disk/by-uuid/6e4ff95f-f662-45ee-a82a-bdf44a2d0b75", + "Where": "/", + "Type": "xfs", + "Options": "ro" + }, + "Install": { + "WantedBy": [ + "multi-user.target" + ] + } + } + }, + "devices": { + "disk": { + "type": "org.osbuild.loopback", + "options": { + "filename": "disk.raw", + "partscan": true + } + } + }, + "mounts": [ + { + "name": "-", + "type": "org.osbuild.xfs", + "source": "disk", + "target": "/", + "partition": 2 + }, + { + "name": "boot", + "type": "org.osbuild.xfs", + "source": "disk", + "target": "/boot", + "partition": 1 + }, + { + "name": "ostree.deployment", + "type": "org.osbuild.ostree.deployment", + "options": { + "source": "mount", + "deployment": { + "default": true + } + } + }, + { + "name": "bind-ostree-deployment-to-tree", + "type": "org.osbuild.bind", + "target": "tree://", + "options": { + "source": "mount://" + } + } + ] + }, + { + "type": "org.osbuild.systemd.unit.create", + "options": { + "filename": "boot.mount", + "unit-path": "etc", + "config": { + "Unit": { + "DefaultDependencies": true + }, + "Mount": { + "What": "/dev/disk/by-uuid/0194fdc2-fa2f-4cc0-81d3-ff12045b73c8", + "Where": "/boot", + "Type": "xfs", + "Options": "ro" + }, + "Install": { + "WantedBy": [ + "multi-user.target" + ] + } + } + }, + "devices": { + "disk": { + "type": "org.osbuild.loopback", + "options": { + "filename": "disk.raw", + "partscan": true + } + } + }, + "mounts": [ + { + "name": "-", + "type": "org.osbuild.xfs", + "source": "disk", + "target": "/", + "partition": 2 + }, + { + "name": "boot", + "type": "org.osbuild.xfs", + "source": "disk", + "target": "/boot", + "partition": 1 + }, + { + "name": "ostree.deployment", + "type": "org.osbuild.ostree.deployment", + "options": { + "source": "mount", + "deployment": { + "default": true + } + } + }, + { + "name": "bind-ostree-deployment-to-tree", + "type": "org.osbuild.bind", + "target": "tree://", + "options": { + "source": "mount://" + } + } + ] + }, + { + "type": "org.osbuild.systemd", + "options": { + "enabled_services": [ + "-.mount", + "boot.mount" + ] + }, + "devices": { + "disk": { + "type": "org.osbuild.loopback", + "options": { + "filename": "disk.raw", + "partscan": true + } + } + }, + "mounts": [ + { + "name": "-", + "type": "org.osbuild.xfs", + "source": "disk", + "target": "/", + "partition": 2 + }, + { + "name": "boot", + "type": "org.osbuild.xfs", + "source": "disk", + "target": "/boot", + "partition": 1 + }, + { + "name": "ostree.deployment", + "type": "org.osbuild.ostree.deployment", + "options": { + "source": "mount", + "deployment": { + "default": true + } + } + }, + { + "name": "bind-ostree-deployment-to-tree", + "type": "org.osbuild.bind", + "target": "tree://", + "options": { + "source": "mount://" + } + } + ] + }, + { + "type": "org.osbuild.selinux", + "options": { + "file_contexts": "etc/selinux/targeted/contexts/files/file_contexts", + "exclude_paths": [ + "/sysroot" + ] + }, + "devices": { + "disk": { + "type": "org.osbuild.loopback", + "options": { + "filename": "disk.raw", + "partscan": true + } + } + }, + "mounts": [ + { + "name": "-", + "type": "org.osbuild.xfs", + "source": "disk", + "target": "/", + "partition": 2 + }, + { + "name": "boot", + "type": "org.osbuild.xfs", + "source": "disk", + "target": "/boot", + "partition": 1 + }, + { + "name": "ostree.deployment", + "type": "org.osbuild.ostree.deployment", + "options": { + "source": "mount", + "deployment": { + "default": true + } + } + }, + { + "name": "bind-ostree-deployment-to-tree", + "type": "org.osbuild.bind", + "target": "tree://", + "options": { + "source": "mount://" + } + } + ] + } + ] + }, + { + "name": "qcow2", + "stages": [ + { + "type": "org.osbuild.qemu", + "inputs": { + "image": { + "type": "org.osbuild.files", + "origin": "org.osbuild.pipeline", + "references": { + "name:image": { + "file": "disk.raw" + } + } + } + }, + "options": { + "filename": "disk.qcow2", + "format": { + "type": "qcow2", + "compat": "1.1" + } + } + } + ] + }, + { + "name": "vmdk", + "stages": [ + { + "type": "org.osbuild.qemu", + "inputs": { + "image": { + "type": "org.osbuild.files", + "origin": "org.osbuild.pipeline", + "references": { + "name:image": { + "file": "disk.raw" + } + } + } + }, + "options": { + "filename": "disk.vmdk", + "format": { + "type": "vmdk", + "subformat": "streamOptimized" + } + } + } + ] + }, + { + "name": "vpc", + "stages": [ + { + "type": "org.osbuild.qemu", + "inputs": { + "image": { + "type": "org.osbuild.files", + "origin": "org.osbuild.pipeline", + "references": { + "name:image": { + "file": "disk.raw" + } + } + } + }, + "options": { + "filename": "disk.vhd", + "format": { + "type": "vpc" + } + } + } + ] + }, + { + "name": "ovf", + "stages": [ + { + "type": "org.osbuild.copy", + "inputs": { + "vmdk-tree": { + "type": "org.osbuild.tree", + "origin": "org.osbuild.pipeline", + "references": [ + "name:vmdk" + ] + } + }, + "options": { + "paths": [ + { + "from": "input://vmdk-tree/disk.vmdk", + "to": "tree:///" + } + ] + } + }, + { + "type": "org.osbuild.ovf", + "options": { + "vmdk": "disk.vmdk" + } + } + ] + }, + { + "name": "archive", + "stages": [ + { + "type": "org.osbuild.tar", + "inputs": { + "tree": { + "type": "org.osbuild.tree", + "origin": "org.osbuild.pipeline", + "references": [ + "name:ovf" + ] + } + }, + "options": { + "filename": "disk.tar", + "format": "ustar", + "paths": [ + "disk.ovf", + "disk.mf", + "disk.vmdk", + "disk.vhd" + ] + } + } + ] + }, + { + "name": "gce", + "build": "name:build", + "stages": [ + { + "type": "org.osbuild.tar", + "inputs": { + "tree": { + "type": "org.osbuild.tree", + "origin": "org.osbuild.pipeline", + "references": [ + "name:image" + ] + } + }, + "options": { + "filename": "image.tar.gz", + "format": "oldgnu", + "acls": false, + "selinux": false, + "xattrs": false, + "root-node": "omit" + } + } + ] + } + ], + "sources": { + "org.osbuild.skopeo": { + "items": { + "sha256:d84eacd1acb5a4b5fe43fd494dec79a0c0d732a02af7a8244b1c1ed0cea042cf": { + "image": { + "name": "quay.io/centos-bootc/centos-bootc:stream9", + "digest": "sha256:5a725627a084da5ddd98ed79a95f344d3e9b7dfaea4f85a2a2e353ccffe4beab" + } + } + } + }, + "org.osbuild.skopeo-index": { + "items": { + "sha256:d6968a62c4b6d65cf6dcf8e02a3071d14ac9d832cad305f3d998cac13d4043eb": { + "image": { + "name": "quay.io/centos-bootc/centos-bootc:stream9" + } + } + } + } + } +} diff --git a/test/data/manifests/manifest-quay.io_centos-bootc_centos-bootc:stream9-s390x-vmdk.json b/test/data/manifests/manifest-quay.io_centos-bootc_centos-bootc:stream9-s390x-vmdk.json new file mode 100644 index 00000000..f4b62f5f --- /dev/null +++ b/test/data/manifests/manifest-quay.io_centos-bootc_centos-bootc:stream9-s390x-vmdk.json @@ -0,0 +1,586 @@ +{ + "version": "2", + "pipelines": [ + { + "name": "build", + "runner": "org.osbuild.linux", + "stages": [ + { + "type": "org.osbuild.container-deploy", + "inputs": { + "images": { + "type": "org.osbuild.containers", + "origin": "org.osbuild.source", + "references": { + "sha256:d84eacd1acb5a4b5fe43fd494dec79a0c0d732a02af7a8244b1c1ed0cea042cf": { + "name": "quay.io/centos-bootc/centos-bootc:stream9" + } + } + } + }, + "options": { + "remove-signatures": true + } + }, + { + "type": "org.osbuild.selinux", + "options": { + "file_contexts": "etc/selinux/targeted/contexts/files/file_contexts", + "exclude_paths": [ + "/sysroot" + ], + "labels": { + "/usr/bin/mount": "system_u:object_r:install_exec_t:s0", + "/usr/bin/ostree": "system_u:object_r:install_exec_t:s0", + "/usr/bin/umount": "system_u:object_r:install_exec_t:s0" + } + } + } + ] + }, + { + "name": "image", + "build": "name:build", + "stages": [ + { + "type": "org.osbuild.truncate", + "options": { + "filename": "disk.raw", + "size": "10737418240" + } + }, + { + "type": "org.osbuild.sfdisk", + "options": { + "label": "gpt", + "uuid": "D209C89E-EA5E-4FBD-B161-B461CCE297E0", + "partitions": [ + { + "size": 2097152, + "start": 2048, + "type": "0FC63DAF-8483-4772-8E79-3D69D8477DE4", + "uuid": "CB07C243-BC44-4717-853E-28852021225B" + }, + { + "size": 18872287, + "start": 2099200, + "type": "0FC63DAF-8483-4772-8E79-3D69D8477DE4", + "uuid": "6264D520-3FB9-423F-8AB8-7A0A8E3D3562" + } + ] + }, + "devices": { + "device": { + "type": "org.osbuild.loopback", + "options": { + "filename": "disk.raw", + "lock": true + } + } + } + }, + { + "type": "org.osbuild.mkfs.xfs", + "options": { + "uuid": "0194fdc2-fa2f-4cc0-81d3-ff12045b73c8", + "label": "boot" + }, + "devices": { + "device": { + "type": "org.osbuild.loopback", + "options": { + "filename": "disk.raw", + "start": 2048, + "size": 2097152, + "lock": true + } + } + } + }, + { + "type": "org.osbuild.mkfs.xfs", + "options": { + "uuid": "6e4ff95f-f662-45ee-a82a-bdf44a2d0b75", + "label": "root" + }, + "devices": { + "device": { + "type": "org.osbuild.loopback", + "options": { + "filename": "disk.raw", + "start": 2099200, + "size": 18872287, + "lock": true + } + } + } + }, + { + "type": "org.osbuild.bootc.install-to-filesystem", + "inputs": { + "images": { + "type": "org.osbuild.containers", + "origin": "org.osbuild.source", + "references": { + "sha256:d84eacd1acb5a4b5fe43fd494dec79a0c0d732a02af7a8244b1c1ed0cea042cf": { + "name": "quay.io/centos-bootc/centos-bootc:stream9" + } + } + } + }, + "options": { + "kernel-args": [ + "rw", + "console=tty0", + "console=ttyS0" + ], + "target-imgref": "quay.io/centos-bootc/centos-bootc:stream9" + }, + "devices": { + "disk": { + "type": "org.osbuild.loopback", + "options": { + "filename": "disk.raw", + "partscan": true + } + } + }, + "mounts": [ + { + "name": "-", + "type": "org.osbuild.xfs", + "source": "disk", + "target": "/", + "partition": 2 + }, + { + "name": "boot", + "type": "org.osbuild.xfs", + "source": "disk", + "target": "/boot", + "partition": 1 + } + ] + }, + { + "type": "org.osbuild.systemd.unit.create", + "options": { + "filename": "-.mount", + "unit-path": "etc", + "config": { + "Unit": { + "DefaultDependencies": true + }, + "Mount": { + "What": "/dev/disk/by-uuid/6e4ff95f-f662-45ee-a82a-bdf44a2d0b75", + "Where": "/", + "Type": "xfs", + "Options": "ro" + }, + "Install": { + "WantedBy": [ + "multi-user.target" + ] + } + } + }, + "devices": { + "disk": { + "type": "org.osbuild.loopback", + "options": { + "filename": "disk.raw", + "partscan": true + } + } + }, + "mounts": [ + { + "name": "-", + "type": "org.osbuild.xfs", + "source": "disk", + "target": "/", + "partition": 2 + }, + { + "name": "boot", + "type": "org.osbuild.xfs", + "source": "disk", + "target": "/boot", + "partition": 1 + }, + { + "name": "ostree.deployment", + "type": "org.osbuild.ostree.deployment", + "options": { + "source": "mount", + "deployment": { + "default": true + } + } + }, + { + "name": "bind-ostree-deployment-to-tree", + "type": "org.osbuild.bind", + "target": "tree://", + "options": { + "source": "mount://" + } + } + ] + }, + { + "type": "org.osbuild.systemd.unit.create", + "options": { + "filename": "boot.mount", + "unit-path": "etc", + "config": { + "Unit": { + "DefaultDependencies": true + }, + "Mount": { + "What": "/dev/disk/by-uuid/0194fdc2-fa2f-4cc0-81d3-ff12045b73c8", + "Where": "/boot", + "Type": "xfs", + "Options": "ro" + }, + "Install": { + "WantedBy": [ + "multi-user.target" + ] + } + } + }, + "devices": { + "disk": { + "type": "org.osbuild.loopback", + "options": { + "filename": "disk.raw", + "partscan": true + } + } + }, + "mounts": [ + { + "name": "-", + "type": "org.osbuild.xfs", + "source": "disk", + "target": "/", + "partition": 2 + }, + { + "name": "boot", + "type": "org.osbuild.xfs", + "source": "disk", + "target": "/boot", + "partition": 1 + }, + { + "name": "ostree.deployment", + "type": "org.osbuild.ostree.deployment", + "options": { + "source": "mount", + "deployment": { + "default": true + } + } + }, + { + "name": "bind-ostree-deployment-to-tree", + "type": "org.osbuild.bind", + "target": "tree://", + "options": { + "source": "mount://" + } + } + ] + }, + { + "type": "org.osbuild.systemd", + "options": { + "enabled_services": [ + "-.mount", + "boot.mount" + ] + }, + "devices": { + "disk": { + "type": "org.osbuild.loopback", + "options": { + "filename": "disk.raw", + "partscan": true + } + } + }, + "mounts": [ + { + "name": "-", + "type": "org.osbuild.xfs", + "source": "disk", + "target": "/", + "partition": 2 + }, + { + "name": "boot", + "type": "org.osbuild.xfs", + "source": "disk", + "target": "/boot", + "partition": 1 + }, + { + "name": "ostree.deployment", + "type": "org.osbuild.ostree.deployment", + "options": { + "source": "mount", + "deployment": { + "default": true + } + } + }, + { + "name": "bind-ostree-deployment-to-tree", + "type": "org.osbuild.bind", + "target": "tree://", + "options": { + "source": "mount://" + } + } + ] + }, + { + "type": "org.osbuild.selinux", + "options": { + "file_contexts": "etc/selinux/targeted/contexts/files/file_contexts", + "exclude_paths": [ + "/sysroot" + ] + }, + "devices": { + "disk": { + "type": "org.osbuild.loopback", + "options": { + "filename": "disk.raw", + "partscan": true + } + } + }, + "mounts": [ + { + "name": "-", + "type": "org.osbuild.xfs", + "source": "disk", + "target": "/", + "partition": 2 + }, + { + "name": "boot", + "type": "org.osbuild.xfs", + "source": "disk", + "target": "/boot", + "partition": 1 + }, + { + "name": "ostree.deployment", + "type": "org.osbuild.ostree.deployment", + "options": { + "source": "mount", + "deployment": { + "default": true + } + } + }, + { + "name": "bind-ostree-deployment-to-tree", + "type": "org.osbuild.bind", + "target": "tree://", + "options": { + "source": "mount://" + } + } + ] + } + ] + }, + { + "name": "qcow2", + "stages": [ + { + "type": "org.osbuild.qemu", + "inputs": { + "image": { + "type": "org.osbuild.files", + "origin": "org.osbuild.pipeline", + "references": { + "name:image": { + "file": "disk.raw" + } + } + } + }, + "options": { + "filename": "disk.qcow2", + "format": { + "type": "qcow2", + "compat": "1.1" + } + } + } + ] + }, + { + "name": "vmdk", + "stages": [ + { + "type": "org.osbuild.qemu", + "inputs": { + "image": { + "type": "org.osbuild.files", + "origin": "org.osbuild.pipeline", + "references": { + "name:image": { + "file": "disk.raw" + } + } + } + }, + "options": { + "filename": "disk.vmdk", + "format": { + "type": "vmdk", + "subformat": "streamOptimized" + } + } + } + ] + }, + { + "name": "vpc", + "stages": [ + { + "type": "org.osbuild.qemu", + "inputs": { + "image": { + "type": "org.osbuild.files", + "origin": "org.osbuild.pipeline", + "references": { + "name:image": { + "file": "disk.raw" + } + } + } + }, + "options": { + "filename": "disk.vhd", + "format": { + "type": "vpc" + } + } + } + ] + }, + { + "name": "ovf", + "stages": [ + { + "type": "org.osbuild.copy", + "inputs": { + "vmdk-tree": { + "type": "org.osbuild.tree", + "origin": "org.osbuild.pipeline", + "references": [ + "name:vmdk" + ] + } + }, + "options": { + "paths": [ + { + "from": "input://vmdk-tree/disk.vmdk", + "to": "tree:///" + } + ] + } + }, + { + "type": "org.osbuild.ovf", + "options": { + "vmdk": "disk.vmdk" + } + } + ] + }, + { + "name": "archive", + "stages": [ + { + "type": "org.osbuild.tar", + "inputs": { + "tree": { + "type": "org.osbuild.tree", + "origin": "org.osbuild.pipeline", + "references": [ + "name:ovf" + ] + } + }, + "options": { + "filename": "disk.tar", + "format": "ustar", + "paths": [ + "disk.ovf", + "disk.mf", + "disk.vmdk", + "disk.vhd" + ] + } + } + ] + }, + { + "name": "gce", + "build": "name:build", + "stages": [ + { + "type": "org.osbuild.tar", + "inputs": { + "tree": { + "type": "org.osbuild.tree", + "origin": "org.osbuild.pipeline", + "references": [ + "name:image" + ] + } + }, + "options": { + "filename": "image.tar.gz", + "format": "oldgnu", + "acls": false, + "selinux": false, + "xattrs": false, + "root-node": "omit" + } + } + ] + } + ], + "sources": { + "org.osbuild.skopeo": { + "items": { + "sha256:d84eacd1acb5a4b5fe43fd494dec79a0c0d732a02af7a8244b1c1ed0cea042cf": { + "image": { + "name": "quay.io/centos-bootc/centos-bootc:stream9", + "digest": "sha256:5a725627a084da5ddd98ed79a95f344d3e9b7dfaea4f85a2a2e353ccffe4beab" + } + } + } + }, + "org.osbuild.skopeo-index": { + "items": { + "sha256:d6968a62c4b6d65cf6dcf8e02a3071d14ac9d832cad305f3d998cac13d4043eb": { + "image": { + "name": "quay.io/centos-bootc/centos-bootc:stream9" + } + } + } + } + } +}