mirror of
https://github.com/flatcar/scripts.git
synced 2025-09-22 14:11:07 +02:00
feat(core_roller_upload): initial commit
TODO: get rollerctl releases installed in here too.
This commit is contained in:
parent
c489d2f7c8
commit
42770b6c00
@ -26,6 +26,7 @@ STATIC_FILES = ['/usr/bin/old_bins/cgpt',
|
|||||||
'%s/chromeos-common.sh' % SCRIPTS_DIR,
|
'%s/chromeos-common.sh' % SCRIPTS_DIR,
|
||||||
'%s/common.sh' % SCRIPTS_DIR,
|
'%s/common.sh' % SCRIPTS_DIR,
|
||||||
'%s/core_upload_update' % SCRIPTS_DIR,
|
'%s/core_upload_update' % SCRIPTS_DIR,
|
||||||
|
'%s/core_roller_upload' % SCRIPTS_DIR,
|
||||||
]
|
]
|
||||||
|
|
||||||
DYNAMIC_EXECUTABLES = ['/usr/bin/delta_generator',
|
DYNAMIC_EXECUTABLES = ['/usr/bin/delta_generator',
|
||||||
|
65
core_roller_upload
Executable file
65
core_roller_upload
Executable file
@ -0,0 +1,65 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# Copyright (c) 2013 The CoreOS Authors. All rights reserved.
|
||||||
|
# Use of this source code is governed by a BSD-style license that can be
|
||||||
|
# found in the LICENSE file.
|
||||||
|
|
||||||
|
SCRIPT_ROOT=$(dirname $(readlink -f "$0"))
|
||||||
|
# We have to simple-mindedly set GCLIENT_ROOT in case we're running from
|
||||||
|
# au-generator.zip because common.sh will fail while auto-detect it.
|
||||||
|
export GCLIENT_ROOT=$(readlink -f "${SCRIPT_ROOT}/../../")
|
||||||
|
. "${SCRIPT_ROOT}/common.sh" || exit 1
|
||||||
|
|
||||||
|
DEFINE_string board "amd64-usr" \
|
||||||
|
"Board type of the image"
|
||||||
|
DEFINE_string group "alpha" \
|
||||||
|
"Group that this update goes into."
|
||||||
|
DEFINE_string image "coreos_production_image.bin" \
|
||||||
|
"Path to the production image (not base/dev/qemu/xen/etc)"
|
||||||
|
DEFINE_string version "${COREOS_VERSION_STRING}" \
|
||||||
|
"Version number of this build."
|
||||||
|
|
||||||
|
DEFINE_string user "" \
|
||||||
|
"User for roller."
|
||||||
|
DEFINE_string api_key "" \
|
||||||
|
"API key for roller."
|
||||||
|
DEFINE_string endpoint "https://public.roller.core-os.net" \
|
||||||
|
"Roller endpoint to update."
|
||||||
|
|
||||||
|
|
||||||
|
FLAGS_HELPS="usage: $SCRIPTNAME [flags]
|
||||||
|
|
||||||
|
Setting everything up for use\n
|
||||||
|
|
||||||
|
1) Run 'gsutil config' and use project id coreos.com:core-update-storage\n
|
||||||
|
2) Ensure rollerctl is installed in your path\n
|
||||||
|
|
||||||
|
NOTE: Use the coreos_production_image.bin not base, developer, vm, etc...
|
||||||
|
"
|
||||||
|
|
||||||
|
# Parse flags
|
||||||
|
FLAGS "$@" || exit 1
|
||||||
|
eval set -- "${FLAGS_ARGV}"
|
||||||
|
switch_to_strict_mode
|
||||||
|
|
||||||
|
[[ -z "${FLAGS_api_key}" ]] && die "--api_key is required"
|
||||||
|
[[ -z "${FLAGS_user}" ]] && die "--user is required"
|
||||||
|
|
||||||
|
MD5SUM=$(md5sum ${FLAGS_image} | cut -f1 -d" ")
|
||||||
|
URL="update-storage.core-os.net/${FLAGS_board}/${FLAGS_group}/$MD5SUM/update.gz"
|
||||||
|
gsutil cp "update.gz" gs://${URL}
|
||||||
|
|
||||||
|
rollerctl \
|
||||||
|
-s ${FLAGS_endpoint}
|
||||||
|
-u ${FLAGS_user} \
|
||||||
|
-k ${FLAGS_api_key} \
|
||||||
|
new-package \
|
||||||
|
--url "http://${URL}" \
|
||||||
|
--file "update.gz" \
|
||||||
|
--meta "update.meta" \
|
||||||
|
--version "${FLAGS_version}"
|
||||||
|
|
||||||
|
# Copy the vagrant boxes and pre-built images over to the group mirror
|
||||||
|
gsutil cp \
|
||||||
|
"${COREOS_UPLOAD_ROOT}/${FLAGS_board}/${FLAGS_version}/*" \
|
||||||
|
"${COREOS_UPLOAD_ROOT}/${FLAGS_board}/${FLAGS_group}/"
|
Loading…
x
Reference in New Issue
Block a user