Right now in OCP we're pushing the rhel-9.6 image to both Quay.io and registry.ci using the new capabilities added in #1091. The problem is that the cosa schema only supports specifying a single pushed repository. But ideally we include all of them and not just the last one in the list (which is what currently happens).
The relevant part of the schema is here: https://github.com/coreos/coreos-assembler/blob/837190dffb5d5cc56b9815ff937a6196eeb4205e/src/v1.json#L50-L87.
I think probably the cleanest, even though it's still awkward, is to add a primary-image object to the schema which sources the image object's properties, but also adds a new additional-images property. This property is then a list type of image objects.
And then in cosa push-container-manifest, if the primary object already exists for the image we're pushing, add it to the additional-images list in that object instead.
Right now in OCP we're pushing the rhel-9.6 image to both Quay.io and registry.ci using the new capabilities added in #1091. The problem is that the cosa schema only supports specifying a single pushed repository. But ideally we include all of them and not just the last one in the list (which is what currently happens).
The relevant part of the schema is here: https://github.com/coreos/coreos-assembler/blob/837190dffb5d5cc56b9815ff937a6196eeb4205e/src/v1.json#L50-L87.
I think probably the cleanest, even though it's still awkward, is to add a
primary-imageobject to the schema which sources theimageobject's properties, but also adds a newadditional-imagesproperty. This property is then a list type ofimageobjects.And then in
cosa push-container-manifest, if the primary object already exists for the image we're pushing, add it to theadditional-imageslist in that object instead.