-
Notifications
You must be signed in to change notification settings - Fork 59
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add sample stream and release metadata, and release index #207
Changes from 1 commit
8eee7af
79d830b
a025d92
7372248
63a5bca
5fb1978
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,17 @@ | ||
{ | ||
"releases": [ | ||
{ | ||
"commit": "<hash>", | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. From comment #98 (comment), I believe commit and version we are referring here is ostree commit and version. One thing to note that, we will have same ostree version number for a release across all arches but commit hash will be different for different arches. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. None of these fields are unique, we can have different commits with the same version and it won't conflict. |
||
"version": "<version>", | ||
"metadata": "<url endpoint to build release metadata>" | ||
}, | ||
{ | ||
"commit": "<hash>", | ||
"version": "<version>", | ||
"metadata": "<url endpoint to build release metadata>" | ||
} | ||
], | ||
"metadata": { | ||
"last-modified": "<timestamp>" | ||
} | ||
} |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -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 |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -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: | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I'm unsure about the indentation of this. I don't think we want to have different update metadata for each architecture, to avoid exploding RelEng complexity. If so, I think this can become a top-level section on its own. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Yeah, in hindsight that choice seems somewhat arbitrary. If we want different update targets for different arches, presumably we'd also want them for different platforms. I don't want to introduce that level of complexity right now, so I'll switch this to a single value. |
||
# Primarily meant as input to Cincinnati | ||
release: 30.1.2.3 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
should we include stream name in release-index.json as well? Can be useful to figure out stream while looking at the json file.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The release-index is inside of a stream specific location (e.x.:
s3://fcos-builds/prod/streams/<stream>/release-index.json
)There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Followup: the release-index is also specific to an architecture. Thus, architecture label should be part of the location, or somewhere in the index.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@lucab: Reading the code again with more coffee leads me to believe that I misread something earlier and that is not the case currently.
Each entry in
release-index
points to an endpoint for therelease.json
which IS stream specific but is NOT architecture specific.e.x.:
s3://fcos-builds/prod/streams/foo/release-index.json
is the release-index for the foo stream. An example entry would be something like: