aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--testing/etcd/APKBUILD46
-rw-r--r--testing/etcd/etcd.confd256
-rw-r--r--testing/etcd/etcd.initd37
-rwxr-xr-xtesting/etcd/etcd.pre-install4
4 files changed, 343 insertions, 0 deletions
diff --git a/testing/etcd/APKBUILD b/testing/etcd/APKBUILD
new file mode 100644
index 000000000..ed0c04c35
--- /dev/null
+++ b/testing/etcd/APKBUILD
@@ -0,0 +1,46 @@
+# Contributor: Francesco Colista <fcolista@alpinelinux.org>
+# Maintainer: Francesco Colista <fcolista@alpinelinux.org>
+pkgname=etcd
+pkgver=2.3.3
+pkgrel=0
+pkgdesc="A highly-available key value store for shared configuration and service discovery"
+url="https://github.com/coreos/etcd"
+arch="x86_64"
+license="APACHE2.0"
+depends=""
+depends_dev=""
+makedepends="$depends_dev go"
+install="$pkgname.pre-install"
+subpackages=""
+pkgusers="$pkgname"
+pkggroups="$pkgname"
+source="$pkgname-$pkgver.tar.gz::https://github.com/coreos/etcd/archive/v$pkgver.tar.gz
+ $pkgname.confd
+ $pkgname.initd"
+
+builddir="$srcdir"/$pkgname-$pkgver
+build() {
+ cd "$builddir"
+ ./build
+}
+
+package() {
+ cd "$builddir"
+ mkdir -p "$pkgdir"/var/lib/$pkgname
+ chown -R $pkgusers:$pkggroups "$pkgdir"/var/lib/$pkgname
+ install -Dm755 bin/etcdctl "$pkgdir"/usr/bin/etcdctl
+ install -Dm755 bin/etcd "$pkgdir"/usr/bin/etcd
+ install -Dm755 $srcdir/$pkgname.confd "$pkgdir"/etc/conf.d/$pkgname
+ install -Dm755 $srcdir/$pkgname.initd "$pkgdir"/etc/init.d/$pkgname
+ install -Dm644 LICENSE "$pkgdir"/usr/share/licenses/$pkgname/LICENSE
+}
+
+md5sums="ad7147956855391b65c125a462840fa0 etcd-2.3.3.tar.gz
+ac04c0d36942fff31da8a9abe0ac4b68 etcd.confd
+3ac0aecccd36288a5b72136da7c6d133 etcd.initd"
+sha256sums="9a765d15e0c1516191430d6e730920251e503c484deab69f7e06b82d51fd010c etcd-2.3.3.tar.gz
+2f3d37317ccaaddf4ec53e77be9419d63590d0114edcae383f47c0607dd643a9 etcd.confd
+6334c8578a3eb7054ece4427446cc8bbc1b8ddb1794ff397ff9ae405c0d391f6 etcd.initd"
+sha512sums="6794526602d981c4b1fb3d7a51f9f2e35060f2b79e1e42ba030d4e3ce2d789d7701c04310caf580a6b18817b3f924d99ff437bb902f9db7c4a944a35b27b40e1 etcd-2.3.3.tar.gz
+440c9f23decb318c565a79d376b107dbd2333e72d5d812ec1460732543348737468b3e66e82e06a1afa0f09760c1eb066804a668a24e92a23977758727e049d2 etcd.confd
+99271b1ae4a5636ae2332a98d35a5d9e27cac9154d5ede7952b0627caca53ef0b0d8164aa18f53c25e42e969b80e534930c2a3ed0bd0a1fdaec093075016355c etcd.initd"
diff --git a/testing/etcd/etcd.confd b/testing/etcd/etcd.confd
new file mode 100644
index 000000000..c0c912261
--- /dev/null
+++ b/testing/etcd/etcd.confd
@@ -0,0 +1,256 @@
+SVCNAME=etcd
+PIDPATH=/var/run/${SVCNAME}
+PIDFILE=${PIDPATH}/${SVCNAME}.pid
+LOGPATH=/var/log/${SVCNAME}
+DATADIR=/var/lib/${SVCNAME}
+USER=$SVCNAME
+
+#
+# default: "default"
+#
+ETCD_NAME="default"
+
+# Path to the data directory.
+#
+# default: "${name}.etcd"
+# distribution default: "/var/lib/etcd"
+#
+ETCD_DATA_DIR="/var/lib/etcd"
+
+# Path to the dedicated wal directory.
+# If this flag is set, etcd will write the WAL files
+# to the walDir rather than the dataDir.
+#
+# default: ""
+#
+# ETCD_WAL_DIR=""
+
+# Number of committed transactions to trigger a snapshot to disk.
+#
+# default: 10000
+#
+# ETCD_SNAPSHOT_COUNT=10000
+
+# Time (in milliseconds) of a heartbeat interval.
+#
+# default: 100
+#
+# ETCD_HEARTBEAT_INTERVAL=100
+
+# Time (in milliseconds) for an election to timeout.
+#
+# default: 1000
+#
+# ETCD_ELECTION_TIMEOUT=1000
+
+# List of URLs to listen on for peer traffic.
+#
+# default: "http://localhost:2380,http://localhost:7001"
+#
+# ETCD_LISTEN_PEER_URLS="http://localhost:2380,http://localhost:7001"
+
+# List of URLs to listen on for client traffic.
+#
+# default: "http://localhost:2379,http://localhost:4001"
+#
+# ETCD_LISTEN_CLIENT_URLS="http://localhost:2379,http://localhost:4001"
+
+# Maximum number of snapshot files to retain (0 is unlimited)
+#
+# default: 5
+#
+# ETCD_MAX_SNAPSHOTS=5
+
+# Maximum number of wal files to retain (0 is unlimited)
+#
+# default: 5
+#
+# ETCD_MAX_WALS=5
+
+# Comma_separated white list of origins for CORS (cross_origin resource sharing).
+#
+# default: none
+#
+# ETCD_CORS=
+
+# List of this member's peer URLs to advertise to the rest of the cluster.
+# These addresses are used for communicating etcd data around the cluster.
+# At least one must be routable to all cluster members.
+#
+# default: "http://localhost:2380,http://localhost:7001"
+#
+# ETCD_INITIAL_ADVERTISE_PEER_URLS="http://localhost:2380,http://localhost:7001"
+
+# Initial cluster configuration for bootstrapping.
+#
+# default: "default=http://localhost:2380,default=http://localhost:7001"
+# distribution default: "default=http://localhost:2380,default=http://localhost:7001"
+#
+# ETCD_INITIAL_CLUSTER="default=http://localhost:2380,default=http://localhost:7001"
+
+# Initial cluster state ("new" or "existing").
+# Set to new for all members present during initial static or DNS bootstrapping.
+# If this option is set to existing, etcd will attempt to join the existing cluster.
+# If the wrong value is set, etcd will attempt to start but fail safely.
+#
+# default: "new"
+#
+# ETCD_INITIAL_CLUSTER_STATE="new"
+
+# Initial cluster token for the etcd cluster during bootstrap.
+#
+# default: "etcd_cluster"
+#
+# ETCD_INITIAL_CLUSTER_TOKEN="etcd_cluster"
+
+# List of this member's client URLs to advertise to the rest of the cluster.
+#
+# default: "http://localhost:2379,http://localhost:4001"
+#
+# ETCD_ADVERTISE_CLIENT_URLS="http://localhost:2379,http://localhost:4001"
+
+# Discovery URL used to bootstrap the cluster.
+#
+# default: none
+#
+# ETCD_DISCOVERY=
+
+# DNS srv domain used to bootstrap the cluster.
+#
+# default: none
+#
+# ETCD_DISCOVERY_SRV=
+
+# Expected behavior ("exit" or "proxy") when discovery services fails.
+#
+# default: "proxy"
+#
+# ETCD_DISCOVERY_FALLBACK="proxy"
+
+# HTTP proxy to use for traffic to discovery service.
+#
+# default: none
+#
+# ETCD_DISCOVERY_PROXY=
+
+# Proxy mode setting ("off", "readonly" or "on").
+#
+# default: "off"
+#
+# ETCD_PROXY="off"
+
+# Time (in milliseconds) an endpoint will be held
+# in a failed state before being reconsidered for proxied requests.
+#
+# default: 5000
+#
+# ETCD_PROXY_FAILURE_WAIT=5000
+
+# Time (in milliseconds) of the endpoints refresh interval.
+#
+# default: 30000
+#
+# ETCD_PROXY_REFRESH_INTERVAL=30000
+
+# Time (in milliseconds) for a dial to timeout or 0 to disable the timeout.
+#
+# default: 1000
+#
+# ETCD_PROXY_DIAL_TIMEOUT=1000
+
+# Time (in milliseconds) for a write to timeout or 0 to disable the timeout.
+#
+# default: 5000
+#
+# ETCD_PROXY_WRITE_TIMEOUT=5000
+
+# Time (in milliseconds) for a read to timeout or 0 to disable the timeout.
+# Don't change this value if you use watches because they are using long polling requests.
+#
+# default: 0
+#
+# ETCD_PROXY_READ_TIMEOUT=0
+
+# Path to the client server TLS CA file.
+#
+# default: none
+#
+# ETCD_CA_FILE=
+
+# Path to the client server TLS cert file.
+#
+# default: none
+#
+# ETCD_CERT_FILE=
+
+# Path to the client server TLS key file.
+#
+# default: none
+#
+# ETCD_KEY_FILE=
+
+# Enable client cert authentication.
+#
+# default: false
+#
+# ETCD_CLIENT_CERT_AUTH=false
+
+# Path to the client server TLS trusted CA key file.
+#
+# default: none
+#
+# ETCD_TRUSTED_CA_FILE=
+
+# [DEPRECATED] Path to the peer server TLS CA file.
+#
+# default: none
+#
+# ETCD_PEER_CA_FILE=
+
+# Path to the peer server TLS cert file.
+#
+# default: none
+#
+# ETCD_PEER_CERT_FILE=
+
+# Path to the peer server TLS key file.
+#
+# default: none
+#
+# ETCD_PEER_KEY_FILE=
+
+# Enable peer client cert authentication.
+#
+# default: false
+#
+# ETCD_PEER_CLIENT_CERT_AUTH=false
+
+# Path to the peer server TLS trusted CA file.
+#
+# default: none
+#
+# ETCD_PEER_TRUSTED_CA_FILE=
+
+# Drop the default log level to DEBUG for all subpackages.
+#
+# default: false (INFO for all packages)
+#
+# ETCD_DEBUG=false
+
+# Set individual etcd subpackages to specific log levels.
+# An example being etcdserver=WARNING,security=DEBUG
+#
+# default: none (INFO for all packages)
+#
+# ETCD_LOG_PACKAGE_LEVELS=
+
+# Force to create a new one_member cluster.
+# It commits configuration changes in force to remove all existing members in the cluster and add itself.
+# It needs to be set to restore a backup.
+#
+# default: false
+#
+# ETCD_FORCE_NEW_CLUSTER=false
+
+# vim:ft=sh:
+
diff --git a/testing/etcd/etcd.initd b/testing/etcd/etcd.initd
new file mode 100644
index 000000000..4780434fc
--- /dev/null
+++ b/testing/etcd/etcd.initd
@@ -0,0 +1,37 @@
+#!/sbin/openrc-run
+# Copyright 2016 Alpine Linux
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+depend() {
+ need net
+}
+
+start_pre() {
+ checkpath -d -m 0775 -o $USER:$USER $PIDPATH
+ checkpath -d -m 0775 -o $USER:$USER $LOGPATH
+ checkpath -d -m 0775 -o $USER:$USER $ETCD_DATA_DIR
+}
+
+start() {
+ ebegin "Starting $SVCNAME"
+ start-stop-daemon --start \
+ --pidfile "$PIDFILE" \
+ --user $USER \
+ --chdir "$ETCD_DATA_DIR" \
+ --background \
+ --make-pidfile \
+ --exec /usr/bin/etcd -- \
+ -name=$ETCD_NAME \
+ -data-dir="$ETCD_DATA_DIR" \
+ $ETCD_OPTS
+ eend $? "Failed to start $SVCNAME"
+}
+
+stop() {
+ ebegin "Stopping $SVCNAME"
+ start-stop-daemon --stop --pidfile $PIDFILE
+ eend $? "Failed to stop $SVCNAME"
+ rm -f "$PIDFILE"
+}
+
diff --git a/testing/etcd/etcd.pre-install b/testing/etcd/etcd.pre-install
new file mode 100755
index 000000000..a3226fb7f
--- /dev/null
+++ b/testing/etcd/etcd.pre-install
@@ -0,0 +1,4 @@
+#!/bin/sh
+addgroup -S etcd 2>/dev/null
+adduser -S -D -H -h /dev/null -s /sbin/nologin -G etcd -g etcd etcd 2>/dev/null
+exit 0