From 8eee7af221a25c1ca85dd6e870fc4a49064dcde9 Mon Sep 17 00:00:00 2001 From: Benjamin Gilbert Date: Sun, 23 Jun 2019 22:27:49 -0400 Subject: [PATCH 1/6] Add sample stream and release metadata, and release index From #98. --- metadata/release-index.json | 17 ++++ metadata/release.yaml | 117 ++++++++++++++++++++++++++ metadata/stream.yaml | 163 ++++++++++++++++++++++++++++++++++++ 3 files changed, 297 insertions(+) create mode 100644 metadata/release-index.json create mode 100644 metadata/release.yaml create mode 100644 metadata/stream.yaml diff --git a/metadata/release-index.json b/metadata/release-index.json new file mode 100644 index 0000000..862036c --- /dev/null +++ b/metadata/release-index.json @@ -0,0 +1,17 @@ +{ + "releases": [ + { + "commit": "", + "version": "", + "metadata": "" + }, + { + "commit": "", + "version": "", + "metadata": "" + } + ], + "metadata": { + "last-modified": "" + } +} diff --git a/metadata/release.yaml b/metadata/release.yaml new file mode 100644 index 0000000..73596cb --- /dev/null +++ b/metadata/release.yaml @@ -0,0 +1,117 @@ +# Note: the actual document will be JSON + +release: 30.1.2.3 +stream: stable +metadata: + last-modified: "2019-06-04T16:18:34Z" +architectures: + x86_64: + commit: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 + media: + aws: + artifacts: + "vmdk.xz": + disk: + location: https://artifacts.example.com/dsB2fnzP7KhqzQ5a.vmdk.xz + signature: https://artifacts.example.com/dsB2fnzP7KhqzQ5a.vmdk.xz.sig + sha256: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 + images: + us-east-1: + image: ami-0123456789abcdef + us-east-2: + image: ami-0123456789abcdef + azure: + artifacts: + "vdi.xz": + disk: + location: https://artifacts.example.com/aeng0xah6vaaVosh.vdi.xz + signature: https://artifacts.example.com/aeng0xah6vaaVosh.vdi.xz.sig + sha256: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 + images: + global: + image: Fedora:CoreOS:Stable:30.1.2.3 + digitalocean: + artifacts: + "raw.xz": + disk: + location: https://artifacts.example.com/ichaloomuHax9ahR.raw.xz + signature: https://artifacts.example.com/ichaloomuHax9ahR.raw.xz.sig + sha256: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 + gcp: + artifacts: + "tar.gz": + disk: + location: https://artifacts.example.com/ais7tah1aa7Ahvei.tar.gz + signature: https://artifacts.example.com/ais7tah1aa7Ahvei.tar.gz.sig + sha256: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 + image: projects/fedora-cloud/global/images/fedora-coreos-stable-30-1-2-3 + metal: + artifacts: + "raw.xz": + disk: + location: https://artifacts.example.com/xTqYJZKCPNvoNs6B.raw.xz + signature: https://artifacts.example.com/xTqYJZKCPNvoNs6B.raw.xz.sig + sha256: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 + iso: + disk: + location: https://artifacts.example.com/ADE5GO3bjAXeDcLO.iso + signature: https://artifacts.example.com/ADE5GO3bjAXeDcLO.iso.sig + sha256: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 + pxe: + kernel: + location: https://artifacts.example.com/hkIj8FkCydT3lV9h + signature: https://artifacts.example.com/hkIj8FkCydT3lV9h.sig + sha256: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 + initramfs: + location: https://artifacts.example.com/a9ytS8yB4cGZpca1.cpio.gz + signature: https://artifacts.example.com/a9ytS8yB4cGZpca1.cpio.gz.sig + sha256: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 + "installer.iso": + disk: + location: https://artifacts.example.com/KwKye6YW4SIIPrhY.iso + signature: https://artifacts.example.com/KwKye6YW4SIIPrhY.iso.sig + sha256: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 + installer-pxe: + kernel: + location: https://artifacts.example.com/EtqI0KsLIwZOHlCx + signature: https://artifacts.example.com/EtqI0KsLIwZOHlCx.sig + sha256: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 + initramfs: + location: https://artifacts.example.com/EhoS1x66RVA2k8y6.cpio.gz + signature: https://artifacts.example.com/EhoS1x66RVA2k8y6.cpio.gz.sig + sha256: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 + openstack: + artifacts: + "qcow.xz": + disk: + location: https://artifacts.example.com/oKooheogobofai8l.qcow.xz + signature: https://artifacts.example.com/oKooheogobofai8l.qcow.xz.sig + sha256: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 + packet: + artifacts: + "raw.xz": + disk: + location: https://artifacts.example.com/Oofohng0xo2phai5.raw.xz + signature: https://artifacts.example.com/Oofohng0xo2phai5.raw.xz.sig + sha256: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 + qemu: + artifacts: + "qcow.xz": + disk: + location: https://artifacts.example.com/Siejeeb6ohpu8Eel.qcow.xz + signature: https://artifacts.example.com/Siejeeb6ohpu8Eel.qcow.xz.sig + sha256: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 + virtualbox: + artifacts: + ova: + disk: + location: https://artifacts.example.com/yohsh2haiquaeYah.ova + signature: https://artifacts.example.com/yohsh2haiquaeYah.ova.sig + sha256: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 + vmware: + artifacts: + ova: + disk: + location: https://artifacts.example.com/quohgh8ei0uzaD5a.ova + signature: https://artifacts.example.com/quohgh8ei0uzaD5a.ova.sig + sha256: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 diff --git a/metadata/stream.yaml b/metadata/stream.yaml new file mode 100644 index 0000000..60ab99d --- /dev/null +++ b/metadata/stream.yaml @@ -0,0 +1,163 @@ +# Note: the actual document will be JSON + +# Include stream name so the document is self-contained +stream: stable +metadata: + last-modified: "2019-06-04T16:18:34Z" +architectures: + x86_64: + artifacts: + # Some of these will be useful for many users, such as qemu or + # openstack. Some will likely only be useful for cloud operators, + # such as digitalocean or packet. Some, such as aws, are useful + # for users in special situations. + aws: + release: 30.1.2.3 + formats: + # Generally one format per platform, but allow for future expansion + # without obscuring the platform ID (as on Container Linux) + "vmdk.xz": + # Generally only one artifact, but not always + disk: + location: https://artifacts.example.com/dsB2fnzP7KhqzQ5a.vmdk.xz + signature: https://artifacts.example.com/dsB2fnzP7KhqzQ5a.vmdk.xz.sig + sha256: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 + # Could also include artifact size/uncompressed-size/uncompressed-sha256 from meta.json + azure: + release: 30.1.2.3 + formats: + "vdi.xz": + disk: + location: https://artifacts.example.com/aeng0xah6vaaVosh.vdi.xz + signature: https://artifacts.example.com/aeng0xah6vaaVosh.vdi.xz.sig + sha256: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 + digitalocean: + release: 30.1.2.3 + formats: + "raw.xz": + disk: + location: https://artifacts.example.com/ichaloomuHax9ahR.raw.xz + signature: https://artifacts.example.com/ichaloomuHax9ahR.raw.xz.sig + sha256: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 + gcp: + release: 30.1.2.3 + formats: + "tar.gz": + disk: + location: https://artifacts.example.com/ais7tah1aa7Ahvei.tar.gz + signature: https://artifacts.example.com/ais7tah1aa7Ahvei.tar.gz.sig + sha256: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 + metal: + release: 30.1.2.3 + formats: + "raw.xz": + disk: + location: https://artifacts.example.com/xTqYJZKCPNvoNs6B.raw.xz + signature: https://artifacts.example.com/xTqYJZKCPNvoNs6B.raw.xz.sig + sha256: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 + iso: + disk: + location: https://artifacts.example.com/ADE5GO3bjAXeDcLO.iso + signature: https://artifacts.example.com/ADE5GO3bjAXeDcLO.iso.sig + sha256: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 + pxe: + kernel: + location: https://artifacts.example.com/hkIj8FkCydT3lV9h + signature: https://artifacts.example.com/hkIj8FkCydT3lV9h.sig + sha256: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 + initramfs: + location: https://artifacts.example.com/a9ytS8yB4cGZpca1.cpio.gz + signature: https://artifacts.example.com/a9ytS8yB4cGZpca1.cpio.gz.sig + sha256: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 + "installer.iso": + disk: + location: https://artifacts.example.com/KwKye6YW4SIIPrhY.iso + signature: https://artifacts.example.com/KwKye6YW4SIIPrhY.iso.sig + sha256: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 + installer-pxe: + kernel: + location: https://artifacts.example.com/EtqI0KsLIwZOHlCx + signature: https://artifacts.example.com/EtqI0KsLIwZOHlCx.sig + sha256: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 + initramfs: + location: https://artifacts.example.com/EhoS1x66RVA2k8y6.cpio.gz + signature: https://artifacts.example.com/EhoS1x66RVA2k8y6.cpio.gz.sig + sha256: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 + openstack: + release: 30.1.2.3 + formats: + "qcow.xz": + disk: + location: https://artifacts.example.com/oKooheogobofai8l.qcow.xz + signature: https://artifacts.example.com/oKooheogobofai8l.qcow.xz.sig + sha256: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 + packet: + release: 30.1.2.3 + formats: + "raw.xz": + disk: + location: https://artifacts.example.com/Oofohng0xo2phai5.raw.xz + signature: https://artifacts.example.com/Oofohng0xo2phai5.raw.xz.sig + sha256: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 + qemu: + release: 30.1.2.3 + formats: + "qcow.xz": + disk: + location: https://artifacts.example.com/Siejeeb6ohpu8Eel.qcow.xz + signature: https://artifacts.example.com/Siejeeb6ohpu8Eel.qcow.xz.sig + sha256: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 + virtualbox: + release: 30.1.2.3 + formats: + ova: + disk: + location: https://artifacts.example.com/yohsh2haiquaeYah.ova + signature: https://artifacts.example.com/yohsh2haiquaeYah.ova.sig + sha256: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 + vmware: + release: 30.1.2.3 + formats: + ova: + disk: + location: https://artifacts.example.com/quohgh8ei0uzaD5a.ova + signature: https://artifacts.example.com/quohgh8ei0uzaD5a.ova.sig + sha256: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 + + images: + # Cloud images to be launched directly by users. These are in a + # separate section because they might not always in sync with the + # release artifacts above. + aws: + regions: + us-east-1: + # We know the release because we uploaded it, so might as well + # list it. + release: 30.1.2.3 + image: ami-0123456789abcdef + us-east-2: + release: 30.1.2.3 + image: ami-0123456789abcdef + azure: + # We could give a specific image URN here, but we probably want + # users to always use a Marketplace URN. So this is a static + # string, and represents advice rather than a value we might + # change. + image: Fedora:CoreOS:stable:latest + gcp: + # We could give a specific image name here, but we probably want + # users to always use an image family. So this is a static string, + # and represents advice rather than a value we might change. + image: projects/fedora-cloud/global/images/family/fedora-coreos-stable + digitalocean: + # We don't control platform ingest, so an image slug is probably + # the best we can do. + image: fedora-coreos-stable + packet: + # Images don't have addressable versions, so an operating system + # slug is the best we can do. + image: fedora_coreos_stable + + updates: + # Primarily meant as input to Cincinnati + release: 30.1.2.3 From 79d830be14d6f49780b75e0a8fb7d6fcbec12640 Mon Sep 17 00:00:00 2001 From: Benjamin Gilbert Date: Tue, 25 Jun 2019 17:54:49 -0400 Subject: [PATCH 2/6] metadata: Rename sample release index to releases.json to avoid confusion over naming. --- metadata/{release-index.json => releases.json} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename metadata/{release-index.json => releases.json} (100%) diff --git a/metadata/release-index.json b/metadata/releases.json similarity index 100% rename from metadata/release-index.json rename to metadata/releases.json From a025d92390aba19053072f5682b28a8fa50d1c02 Mon Sep 17 00:00:00 2001 From: Benjamin Gilbert Date: Mon, 8 Jul 2019 15:54:47 -0400 Subject: [PATCH 3/6] metadata/releases: cleanups --- metadata/releases.json | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/metadata/releases.json b/metadata/releases.json index 862036c..fa976e6 100644 --- a/metadata/releases.json +++ b/metadata/releases.json @@ -1,10 +1,5 @@ { - "releases": [ - { - "commit": "", - "version": "", - "metadata": "" - }, + "releases": [ { "commit": "", "version": "", From 7372248a71381385fc259200ac40825c28f852c5 Mon Sep 17 00:00:00 2001 From: Benjamin Gilbert Date: Mon, 8 Jul 2019 15:54:59 -0400 Subject: [PATCH 4/6] metadata/releases: support multi-arch https://github.com/coreos/fedora-coreos-tracker/issues/98#issuecomment-505104633 --- metadata/releases.json | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/metadata/releases.json b/metadata/releases.json index fa976e6..429f881 100644 --- a/metadata/releases.json +++ b/metadata/releases.json @@ -1,7 +1,12 @@ { "releases": [ { - "commit": "", + "commits": [ + { + "architecture": "", + "checksum": "" + } + ], "version": "", "metadata": "" } From 63a5bcac6d64d78296d7c6c71bbb8a9069820a9f Mon Sep 17 00:00:00 2001 From: Benjamin Gilbert Date: Mon, 8 Jul 2019 16:00:54 -0400 Subject: [PATCH 5/6] metadata/releases: add stream name Might as well keep the document self-contained. --- metadata/releases.json | 1 + 1 file changed, 1 insertion(+) diff --git a/metadata/releases.json b/metadata/releases.json index 429f881..6373e24 100644 --- a/metadata/releases.json +++ b/metadata/releases.json @@ -1,4 +1,5 @@ { + "stream": "stable", "releases": [ { "commits": [ From 5fb197899cdcde91c827e73166967e3b00fb3e17 Mon Sep 17 00:00:00 2001 From: Benjamin Gilbert Date: Mon, 8 Jul 2019 16:08:22 -0400 Subject: [PATCH 6/6] metadata/stream: don't maintain separate update targets per-arch It seems more important to distinguish per-platform targets than per-arch ones, and that would introduce a lot of complexity. So, for now, keep a single update target for the entire stream. --- metadata/stream.yaml | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/metadata/stream.yaml b/metadata/stream.yaml index 60ab99d..12a5758 100644 --- a/metadata/stream.yaml +++ b/metadata/stream.yaml @@ -157,7 +157,6 @@ architectures: # Images don't have addressable versions, so an operating system # slug is the best we can do. image: fedora_coreos_stable - - updates: - # Primarily meant as input to Cincinnati - release: 30.1.2.3 +updates: + # Primarily meant as input to Cincinnati + release: 30.1.2.3