mirror of
https://github.com/flatcar/scripts.git
synced 2025-08-24 16:01:09 +02:00
etcd-wrapper: only have a single slot
This commit is contained in:
parent
dc0f59d3b5
commit
a100fc793d
@ -1,2 +0,0 @@
|
|||||||
DIST etcd-v2.3.7_pubkey.gpg 6179 SHA256 56eb40918ba8dfbfc30bfddb3d235c3485825af1e7bd9816bdc478716d40544b SHA512 74d2de868f3df73452c50f196320857283c97d0f1d654fd4788be7aa621b50d0767527679ce0f111a86b69ce301329e58d188cb219def306580e0a24c4037738 WHIRLPOOL 3499e633cbb5e28cb3a373263137af30c83573b513d479190ca1402591a7e4fdf78c497f9ac84ced0ffb5fd1dda440eb04a31b81da2a8f964d914c8d1cbb7969
|
|
||||||
DIST etcd-v3.0.2_pubkey.gpg 6179 SHA256 56eb40918ba8dfbfc30bfddb3d235c3485825af1e7bd9816bdc478716d40544b SHA512 74d2de868f3df73452c50f196320857283c97d0f1d654fd4788be7aa621b50d0767527679ce0f111a86b69ce301329e58d188cb219def306580e0a24c4037738 WHIRLPOOL 3499e633cbb5e28cb3a373263137af30c83573b513d479190ca1402591a7e4fdf78c497f9ac84ced0ffb5fd1dda440eb04a31b81da2a8f964d914c8d1cbb7969
|
|
27
sdk_container/src/third_party/coreos-overlay/app-admin/etcd-wrapper/etcd-wrapper-0.0.1-r0.ebuild
vendored
Normal file
27
sdk_container/src/third_party/coreos-overlay/app-admin/etcd-wrapper/etcd-wrapper-0.0.1-r0.ebuild
vendored
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
#
|
||||||
|
# Copyright (c) 2016 CoreOS, Inc.. All rights reserved.
|
||||||
|
# Distributed under the terms of the GNU General Public License v2
|
||||||
|
# $Header:$
|
||||||
|
#
|
||||||
|
|
||||||
|
EAPI=6
|
||||||
|
|
||||||
|
inherit systemd
|
||||||
|
|
||||||
|
DESCRIPTION="etcd (System Application Container)"
|
||||||
|
HOMEPAGE="https://github.com/coreos/etcd"
|
||||||
|
KEYWORDS="amd64"
|
||||||
|
|
||||||
|
LICENSE="Apache-2.0"
|
||||||
|
IUSE=""
|
||||||
|
SLOT=0
|
||||||
|
|
||||||
|
DEPEND=""
|
||||||
|
RDEPEND=">=app-emulation/rkt-1.9.1[rkt_stage1_fly]"
|
||||||
|
|
||||||
|
S=${WORKDIR}
|
||||||
|
|
||||||
|
src_install() {
|
||||||
|
dobin "${FILESDIR}"/etcd-wrapper
|
||||||
|
systemd_dounit "${FILESDIR}"/etcd-wrapper.service
|
||||||
|
}
|
@ -1 +0,0 @@
|
|||||||
files/etcd-wrapper.ebuild
|
|
@ -1 +0,0 @@
|
|||||||
files/etcd-wrapper.ebuild
|
|
@ -1,44 +1,41 @@
|
|||||||
#!/usr/bin/bash -e
|
#!/usr/bin/bash -e
|
||||||
|
|
||||||
# Wrapper for launching etcd via rkt.
|
# Wrapper for launching etcd via rkt.
|
||||||
|
|
||||||
SOURCE_FILES=${SOURCE_FILES:-{{SOURCE_FILES}}}
|
function require_ev_all() {
|
||||||
|
for rev in $@ ; do
|
||||||
|
if [[ -z ${!rev} ]]; then
|
||||||
|
echo ${rev} is not set
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
}
|
||||||
|
|
||||||
for source_file in ${SOURCE_FILES}; do
|
function require_ev_one() {
|
||||||
if [[ -e "${source_file}" ]]; then
|
for rev in $@ ; do
|
||||||
source "${source_file}"
|
if [[ ! -z ${!rev} ]]; then
|
||||||
fi
|
return
|
||||||
done
|
fi
|
||||||
|
done
|
||||||
|
echo One of $@ must be set
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
|
||||||
REQUIRED_ENV_VARS="ETCD_IMG ETCD_IMG_USER ETCD_DATA_DIR"
|
require_ev_one ETCD_IMG ETCD_TAG
|
||||||
for rev in $REQUIRED_ENV_VARS ; do
|
require_ev_all ETCD_IMG_USER ETCD_DATA_DIR
|
||||||
if [[ -z ${!rev} ]]; then
|
|
||||||
echo ${rev} is not set
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
|
|
||||||
SSL_CERTS_SRC=${SSL_CERTS_SRC:-/etc/ssl/certs}
|
if [[ ! -z ${ETCD_TAG} ]]; then
|
||||||
ETC_HOSTS_SRC=${ETC_HOSTS_SRC:-/etc/hosts}
|
ETCD_IMG="${ETCD_IMG:-coreos.com/etcd:${ETCD_TAG}}"
|
||||||
SYSTEMD_SYSTEM_DIR_SRC=${SYSTEMD_SYSTEM_DIR_SRC:-/run/systemd/system}
|
RKT_RUN_ARGS="${RKT_RUN_ARGS} \
|
||||||
|
--trust-keys-from-https
|
||||||
RKT=${RKT:-/usr/bin/rkt}
|
"
|
||||||
ETCD_IMG_EXEC=${ETCD_IMG_EXEC:-/etcd}
|
fi
|
||||||
|
|
||||||
RKT_STAGE1_ARG=${RKT_STAGE1_ARG:-"--stage1-from-dir=stage1-fly.aci"}
|
|
||||||
|
|
||||||
if [[ ! -e ${ETCD_DATA_DIR} ]]; then
|
if [[ ! -e ${ETCD_DATA_DIR} ]]; then
|
||||||
mkdir -p ${ETCD_DATA_DIR}
|
mkdir -p ${ETCD_DATA_DIR}
|
||||||
chown ${ETCD_IMG_USER} ${ETCD_DATA_DIR}
|
chown ${ETCD_IMG_USER} ${ETCD_DATA_DIR}
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [[ ! -z ${ETCD_IMG_PUBKEY} ]]; then
|
SYSTEMD_SYSTEM_DIR_SRC=${SYSTEMD_SYSTEM_DIR_SRC:-/run/systemd/system}
|
||||||
${RKT} trust ${RKT_TRUST_ARGS} \
|
|
||||||
--prefix=${ETCD_IMG_PREFIX} \
|
|
||||||
--skip-fingerprint-review \
|
|
||||||
${ETCD_IMG_PUBKEY}
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [[ -d ${SYSTEMD_SYSTEM_DIR_SRC} ]]; then
|
if [[ -d ${SYSTEMD_SYSTEM_DIR_SRC} ]]; then
|
||||||
RKT_RUN_ARGS="${RKT_RUN_ARGS} \
|
RKT_RUN_ARGS="${RKT_RUN_ARGS} \
|
||||||
--mount volume=systemd-dir,target=/run/systemd/system \
|
--mount volume=systemd-dir,target=/run/systemd/system \
|
||||||
@ -46,6 +43,7 @@ if [[ -d ${SYSTEMD_SYSTEM_DIR_SRC} ]]; then
|
|||||||
"
|
"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
||||||
if [[ -S ${NOTIFY_SOCKET} ]]; then
|
if [[ -S ${NOTIFY_SOCKET} ]]; then
|
||||||
RKT_RUN_ARGS="${RKT_RUN_ARGS} \
|
RKT_RUN_ARGS="${RKT_RUN_ARGS} \
|
||||||
--mount volume=notify,target=/run/systemd/notify \
|
--mount volume=notify,target=/run/systemd/notify \
|
||||||
@ -54,6 +52,12 @@ if [[ -S ${NOTIFY_SOCKET} ]]; then
|
|||||||
"
|
"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
SSL_CERTS_SRC=${SSL_CERTS_SRC:-/etc/ssl/certs}
|
||||||
|
ETC_HOSTS_SRC=${ETC_HOSTS_SRC:-/etc/hosts}
|
||||||
|
ETCD_IMG_EXEC=${ETCD_IMG_EXEC:-/etcd}
|
||||||
|
|
||||||
|
RKT=${RKT:-/usr/bin/rkt}
|
||||||
|
RKT_STAGE1_ARG=${RKT_STAGE1_ARG:-"--stage1-from-dir=stage1-fly.aci"}
|
||||||
set -x
|
set -x
|
||||||
exec ${RKT} ${RKT_GLOBAL_ARGS} \
|
exec ${RKT} ${RKT_GLOBAL_ARGS} \
|
||||||
run ${RKT_RUN_ARGS} \
|
run ${RKT_RUN_ARGS} \
|
@ -1,82 +0,0 @@
|
|||||||
#
|
|
||||||
# Copyright (c) 2016 CoreOS, Inc.. All rights reserved.
|
|
||||||
# Distributed under the terms of the GNU General Public License v2
|
|
||||||
# $Header:$
|
|
||||||
#
|
|
||||||
|
|
||||||
EAPI=6
|
|
||||||
|
|
||||||
inherit systemd
|
|
||||||
|
|
||||||
DESCRIPTION="etcd (System Application Container)"
|
|
||||||
HOMEPAGE="https://github.com/coreos/etcd"
|
|
||||||
KEYWORDS="amd64"
|
|
||||||
|
|
||||||
LICENSE="Apache-2.0"
|
|
||||||
IUSE=""
|
|
||||||
|
|
||||||
MY_PV=${PV}
|
|
||||||
MY_PV=${MY_PV/_alpha/-alpha.}
|
|
||||||
MY_PV=${MY_PV/_beta/-beta.}
|
|
||||||
|
|
||||||
case ${MY_PV} in
|
|
||||||
2*)
|
|
||||||
SLOT="2"
|
|
||||||
;;
|
|
||||||
3*)
|
|
||||||
SLOT="3"
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
die "Unknown etcd version ${MY_PV}"
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
SRC_URI="https://coreos.com/dist/pubkeys/app-signing-pubkey.gpg -> etcd-v${MY_PV}_pubkey.gpg"
|
|
||||||
|
|
||||||
IMG_FILENAME="etcd-v${MY_PV}-linux-${ARCH}.aci"
|
|
||||||
PUBKEY_FILENAME="etcd-v${MY_PV}_pubkey.gpg"
|
|
||||||
IMG_PREFIX="coreos.com/etcd"
|
|
||||||
IMG_PUBKEY="${DISTDIR}/${PUBKEY_FILENAME}"
|
|
||||||
RKT="rkt"
|
|
||||||
VERSION_DIR=/usr/lib/coreos/versions
|
|
||||||
VERSION_DIR_VAR=/var/lib/coreos/versions
|
|
||||||
IMG_VERSION_FILE="${VERSION_DIR}/etcd${SLOT}"
|
|
||||||
IMG_VERSION_FILE_VAR="${VERSION_DIR_VAR}/etcd${SLOT}"
|
|
||||||
IMG_VERSION_DIR="${VERSION_DIR}/etcd${SLOT}.d"
|
|
||||||
ENV_PREFIX="ETCD"
|
|
||||||
|
|
||||||
DEPEND=""
|
|
||||||
RDEPEND=">=app-emulation/rkt-1.9.1[rkt_stage1_fly]"
|
|
||||||
|
|
||||||
S=${WORKDIR}
|
|
||||||
|
|
||||||
pkg_preinst() {
|
|
||||||
echo ${ENV_PREFIX}_IMG="https://github.com/coreos/etcd/releases/download/v${MY_PV}/etcd-v${MY_PV}-linux-${ARCH}.aci" >> "${D}/${IMG_VERSION_FILE}"
|
|
||||||
echo ${ENV_PREFIX}_IMG_USER=etcd >> "${D}/${IMG_VERSION_FILE}"
|
|
||||||
echo ${ENV_PREFIX}_DATA_DIR=/var/lib/etcd${SLOT} >> "${D}/${IMG_VERSION_FILE}"
|
|
||||||
echo ${ENV_PREFIX}_IMG_PREFIX=${IMG_PREFIX} >> "${D}/${IMG_VERSION_FILE}"
|
|
||||||
echo ${ENV_PREFIX}_IMG_PUBKEY=${IMG_VERSION_DIR}/${PUBKEY_FILENAME} >> "${D}/${IMG_VERSION_FILE}"
|
|
||||||
}
|
|
||||||
|
|
||||||
src_install() {
|
|
||||||
insinto "${IMG_VERSION_DIR}"
|
|
||||||
doins "${DISTDIR}/${PUBKEY_FILENAME}"
|
|
||||||
|
|
||||||
local wrapper_file="${TMP}/etcd${SLOT}-wrapper"
|
|
||||||
cat ${FILESDIR}/etcd-wrapper.template > ${wrapper_file}
|
|
||||||
sed -i ${wrapper_file} -e \
|
|
||||||
"s,{{SOURCE_FILES}},${IMG_VERSION_FILE} ${IMG_VERSION_FILE_VAR},g" \
|
|
||||||
|| die
|
|
||||||
dobin ${wrapper_file}
|
|
||||||
|
|
||||||
local service_file="${TMP}/etcd${SLOT}-wrapper.service"
|
|
||||||
cat "${FILESDIR}/etcd-wrapper.service.template" > ${service_file}
|
|
||||||
cat ${service_file}
|
|
||||||
sed -i ${service_file} -e \
|
|
||||||
"s,{{SLOT}},${SLOT},g" \
|
|
||||||
|| die
|
|
||||||
sed -i ${service_file} -e \
|
|
||||||
"s,{{SOURCE_FILES}},${IMG_VERSION_FILE} ${IMG_VERSION_FILE_VAR},g" \
|
|
||||||
|| die
|
|
||||||
systemd_dounit "${service_file}"
|
|
||||||
}
|
|
19
sdk_container/src/third_party/coreos-overlay/app-admin/etcd-wrapper/files/etcd-wrapper.service
vendored
Normal file
19
sdk_container/src/third_party/coreos-overlay/app-admin/etcd-wrapper/files/etcd-wrapper.service
vendored
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
[Unit]
|
||||||
|
Description=etcd (System Application Container)
|
||||||
|
Conflicts=etcd.service
|
||||||
|
Conflicts=etcd2.service
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
Type=notify
|
||||||
|
Environment=ETCD_NAME=%m
|
||||||
|
Environment=ETCD_IMG_USER=etcd
|
||||||
|
Environment=ETCD_DATA_DIR=/var/lib/etcd
|
||||||
|
EnvironmentFile=-/var/lib/coreos/versions/etcd
|
||||||
|
ExecStart=/usr/bin/etcd-wrapper $ETCD_OPTS
|
||||||
|
Restart=always
|
||||||
|
RestartSec=10s
|
||||||
|
LimitNOFILE=40000
|
||||||
|
TimeoutStartSec=0
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
WantedBy=multi-user.target
|
@ -1,17 +0,0 @@
|
|||||||
[Unit]
|
|
||||||
Description=etcd{{SLOT}} (System Application Container)
|
|
||||||
Conflicts=etcd{{SLOT}}.service
|
|
||||||
|
|
||||||
[Service]
|
|
||||||
Type=notify
|
|
||||||
Environment=ETCD_NAME=%m
|
|
||||||
Environment=ETCD_IMG_USER=etcd
|
|
||||||
Environment="SOURCE_FILES={{SOURCE_FILES}}"
|
|
||||||
ExecStart=/usr/bin/etcd{{SLOT}}-wrapper $ETCD_OPTS
|
|
||||||
Restart=always
|
|
||||||
RestartSec=10s
|
|
||||||
LimitNOFILE=40000
|
|
||||||
TimeoutStartSec=0
|
|
||||||
|
|
||||||
[Install]
|
|
||||||
WantedBy=multi-user.target
|
|
@ -76,8 +76,7 @@ RDEPEND="${RDEPEND}
|
|||||||
etcd_protocols_2? (
|
etcd_protocols_2? (
|
||||||
dev-db/etcd:2
|
dev-db/etcd:2
|
||||||
amd64? (
|
amd64? (
|
||||||
app-admin/etcd-wrapper:2
|
app-admin/etcd-wrapper
|
||||||
app-admin/etcd-wrapper:3
|
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
"
|
"
|
||||||
|
Loading…
x
Reference in New Issue
Block a user