[buildomat] Package all global zone tarballs into single tarball#2475
[buildomat] Package all global zone tarballs into single tarball#2475
Conversation
| #: "=/work/zones/*.tar.gz", | ||
| #: ] | ||
| #: | ||
| #: [[publish]] |
There was a problem hiding this comment.
See: https://github.com/oxidecomputer/buildomat#configuration , under publish specifically
I think this'll be necessary for the helios repo to be able to "pick up these output artifacts" by a particular commit of Omicron
There was a problem hiding this comment.
I'm doing that work in oxidecomputer/helios#56
|
I think the artefact we want to produce here actually looks a lot more like a I used this script to produce the archive above, based on CI bits from the latest omicron at time of writing: #!/bin/bash
set -o errexit
set -o pipefail
set -o xtrace
out="$PWD/omicron-gz.tar.gz"
#
# Create a temporary directory in which to work:
#
if ! dir=$(mktemp -d); then
exit 1
fi
trap 'cd /; rm -rf "$dir"' EXIT
#
# Grab package.tar.gz from a "helios / package" buildomat job in the omicron
# repository:
#
url='https://buildomat.eng.oxide.computer/wg/0/artefact'
url+='/01GTMSQ3YXVEERT7507JD5JHMR'
url+='/PC4GK7nwpbMpBW38aIYmpuxGZyGzLismlZVfoDYO5gt8FdTq'
url+='/01GTMSQFKEV7RCX1GJPR4TKFFW'
url+='/01GTMV6X38PK4DFWDKVMMAJCAS'
url+='/package.tar.gz'
curl -Lo "$dir/package.tar.gz" "$url"
#
# Unpack the archive so that we can pick out the bits we need:
#
mkdir -p "$dir/extract"
cd "$dir/extract"
tar xvfz "$dir/package.tar.gz"
mkdir -p "$dir/root/opt/oxide/sled-agent"
cd "$dir/root/opt/oxide/sled-agent"
tar xvfz "$dir/extract/out/omicron-sled-agent.tar"
mkdir -p "$dir/root/lib/svc/manifest/site"
mv pkg/manifest.xml "$dir/root/lib/svc/manifest/site/sled-agent.xml"
mkdir -p "$dir/root/opt/oxide/mg-ddm"
cd "$dir/root/opt/oxide/mg-ddm"
tar xvfz "$dir/extract/out/maghemite.tar"
echo '{"v":"1","t":"layer"}' > "$dir/oxide.json"
cd "$dir" && tar cvfz "$out" oxide.json rootThen |
Sure thing, updated |
- Depends on #2475 - Ingests global zone packages, and places them in the ramdisk - Output of job: Helios image, which should be bootable on a Gimlet
My expectation is that we'll:
global-zone-packages.tar.gzin theheliosrepoAdditionally, I made the list of artifacts a bit more explicit. Eventually we could parse the package manifest to access this info, but for now, I don't want to include any "intermediate" artifacts that shouldn't be installed on a system.