From 4032ba5eded6cef948abf8881886761fd5907a6c Mon Sep 17 00:00:00 2001 From: Michael Marineau Date: Sat, 30 Nov 2013 17:26:49 -0800 Subject: [PATCH 1/2] add(coreos-base/oem-gce): Add support for ssh keys on GCE --- .../coreos-base/oem-gce/files/oem-release | 1 + .../coreos-base/oem-gce/files/run | 23 ++++++++++++++++++ .../coreos-base/oem-gce/oem-gce-0.0.1.ebuild | 24 +++++++++++++++++++ 3 files changed, 48 insertions(+) create mode 100644 sdk_container/src/third_party/coreos-overlay/coreos-base/oem-gce/files/oem-release create mode 100755 sdk_container/src/third_party/coreos-overlay/coreos-base/oem-gce/files/run create mode 100644 sdk_container/src/third_party/coreos-overlay/coreos-base/oem-gce/oem-gce-0.0.1.ebuild diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-gce/files/oem-release b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-gce/files/oem-release new file mode 100644 index 0000000000..49e0cc6ebf --- /dev/null +++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-gce/files/oem-release @@ -0,0 +1 @@ +gce diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-gce/files/run b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-gce/files/run new file mode 100755 index 0000000000..ed28357fd3 --- /dev/null +++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-gce/files/run @@ -0,0 +1,23 @@ +#!/bin/bash + +set -e + +URL_PREFIX="http://metadata/computeMetadata/v1beta1/" + +update_keys() { + local id="$1" + local url="${URL_PREFIX}${id}/attributes/sshKeys" + + # The key may have a username: prerix which must be stripped + local keys=$(curl --fail -s "$url" | sed -re 's/^\w*://') + if [[ -n "$keys" ]]; then +echo "$keys" + update-ssh-keys -a "gce-$id" <<<"$keys" + fi +} + +block-until-url "$URL_PREFIX" +# Generally sshKeys is only defined per-project +# but might as well support per-instance too. +update_keys project +update_keys instance diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-gce/oem-gce-0.0.1.ebuild b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-gce/oem-gce-0.0.1.ebuild new file mode 100644 index 0000000000..d4bb019993 --- /dev/null +++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-gce/oem-gce-0.0.1.ebuild @@ -0,0 +1,24 @@ +# Copyright (c) 2013 CoreOS, Inc.. All rights reserved. +# Distributed under the terms of the GNU General Public License v2 + +EAPI=5 + +DESCRIPTION="OEM suite for Google Compute Engine images" +HOMEPAGE="" +SRC_URI="" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="amd64" +IUSE="" + +# no source directory +S="${WORKDIR}" + +src_install() { + exeinto "/" + doexe ${FILESDIR}/run + + insinto "/" + doins ${FILESDIR}/oem-release +} From 1c726ce0198a1abfeefd392b9230dda9d64780b6 Mon Sep 17 00:00:00 2001 From: Michael Marineau Date: Mon, 2 Dec 2013 22:12:49 -0800 Subject: [PATCH 2/2] fix(coreos-base/oem-gce): Drop debug echo --- .../src/third_party/coreos-overlay/coreos-base/oem-gce/files/run | 1 - 1 file changed, 1 deletion(-) diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-gce/files/run b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-gce/files/run index ed28357fd3..9a0e750051 100755 --- a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-gce/files/run +++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-gce/files/run @@ -11,7 +11,6 @@ update_keys() { # The key may have a username: prerix which must be stripped local keys=$(curl --fail -s "$url" | sed -re 's/^\w*://') if [[ -n "$keys" ]]; then -echo "$keys" update-ssh-keys -a "gce-$id" <<<"$keys" fi }