mirror of
https://github.com/flatcar/scripts.git
synced 2025-08-08 13:36:58 +02:00
Bash isn't always at this location. These scripts in particular are being updated because they are called from outside of the SDK.
65 lines
2.1 KiB
Bash
Executable File
65 lines
2.1 KiB
Bash
Executable File
#!/usr/bin/env 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 payload "coreos_production_update.gz" \
|
|
"Path to the update payload"
|
|
DEFINE_string version "${COREOS_VERSION}" \
|
|
"Version number of this build."
|
|
DEFINE_string app_id "e96281a6-d1af-4bde-9a0a-97b76e56dc57" \
|
|
"CoreOS AppId in roller."
|
|
|
|
DEFINE_string user "" \
|
|
"User for roller."
|
|
DEFINE_string api_key "" \
|
|
"API key for roller."
|
|
DEFINE_string endpoint "https://public.update.core-os.net" \
|
|
"Roller endpoint to update."
|
|
DEFINE_string storage "gs://coreos-update" \
|
|
"Google Storage location to host the payload."
|
|
DEFINE_string download "https://update.release.core-os.net" \
|
|
"HTTPS location users will download payload from."
|
|
|
|
FLAGS_HELPS="usage: $SCRIPTNAME [flags]
|
|
|
|
Setting everything up for use\n
|
|
|
|
1) Run 'gsutil config' and use project id coreos-net-storage\n
|
|
2) Ensure updateservicectl is installed in your path\n
|
|
"
|
|
|
|
# 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"
|
|
|
|
# Ensure GS URL doesn't have a trailing /
|
|
FLAGS_storage="${FLAGS_storage%%/}"
|
|
|
|
GS_URL="${FLAGS_storage}/${FLAGS_board}/${FLAGS_version}/update.gz"
|
|
HTTP_URL="${FLAGS_download}/${FLAGS_board}/${FLAGS_version}/update.gz"
|
|
gsutil cp "${FLAGS_payload}" "${GS_URL}"
|
|
|
|
updateservicectl \
|
|
--server="${FLAGS_endpoint}" \
|
|
--user="${FLAGS_user}" \
|
|
--key="${FLAGS_api_key}" \
|
|
package create \
|
|
--app-id="${FLAGS_app_id}" \
|
|
--file="${FLAGS_payload}" \
|
|
--url="${HTTP_URL}" \
|
|
--version="${FLAGS_version}"
|