summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorBrian Allred2019-08-12 12:34:08 -0500
committerBrian Allred2019-08-12 12:34:08 -0500
commitff9afb5430738dcb948a2be29ac91a081f0450dd (patch)
tree68e0f13bbfd9a1bf16f6b24ada388c0cade98bf0
downloadaur-ff9afb5430738dcb948a2be29ac91a081f0450dd.tar.gz
Push to AUR.
-rw-r--r--.SRCINFO25
-rw-r--r--PKGBUILD31
-rw-r--r--config-example.json13
-rw-r--r--docker-waiter.install16
-rw-r--r--docker-waiter.service12
5 files changed, 97 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO
new file mode 100644
index 000000000000..0279ffb85d7e
--- /dev/null
+++ b/.SRCINFO
@@ -0,0 +1,25 @@
+pkgbase = docker-waiter
+ pkgdesc = Docker container startup order controller
+ pkgver = 0.2.1
+ pkgrel = 1
+ url = https://gitlab.com/BrianAllred/docker-waiter
+ install = docker-waiter.install
+ arch = x86_64
+ arch = i686
+ arch = armv6h
+ arch = armv7h
+ arch = aarch64
+ license = MIT
+ makedepends = go
+ makedepends = git
+ source = https://gitlab.com/BrianAllred/docker-waiter/-/archive/0.2.1/docker-waiter-0.2.1.tar.gz
+ source = docker-waiter.install
+ source = docker-waiter.service
+ source = config-example.json
+ md5sums = ad0660096881210e6237ef793962b060
+ md5sums = c059894cba8a0928149da701d2e351c8
+ md5sums = b532409b1cf2556410c1b30941e55e75
+ md5sums = 289546697d1fd3074b3024f395c509fd
+
+pkgname = docker-waiter
+
diff --git a/PKGBUILD b/PKGBUILD
new file mode 100644
index 000000000000..f8eed21221b1
--- /dev/null
+++ b/PKGBUILD
@@ -0,0 +1,31 @@
+# Maintainer: Brian Allred <brian.d.allred at gmail dot com>
+
+pkgname=docker-waiter
+pkgver=0.2.1
+pkgrel=1
+pkgdesc='Docker container startup order controller'
+arch=('x86_64' 'i686' 'armv6h' 'armv7h' 'aarch64')
+url='https://gitlab.com/BrianAllred/docker-waiter'
+license=('MIT')
+install='docker-waiter.install'
+makedepends=('go' 'git')
+source=("https://gitlab.com/BrianAllred/$pkgname/-/archive/$pkgver/$pkgname-$pkgver.tar.gz"
+ "docker-waiter.install"
+ "docker-waiter.service"
+ "config-example.json")
+md5sums=('ad0660096881210e6237ef793962b060'
+ 'c059894cba8a0928149da701d2e351c8'
+ 'b532409b1cf2556410c1b30941e55e75'
+ '289546697d1fd3074b3024f395c509fd')
+
+build() {
+ cd "$pkgname-$pkgver"
+ go build -v -i -o "$pkgname"
+ go clean --modcache
+}
+
+package() {
+ install -D -m 0755 $pkgname "$pkgdir/usr/bin/$pkgname"
+ install -D -m 0644 $pkgname.service "$pkgdir/usr/lib/systemd/system/$pkgname.service"
+ install -D -m 0644 config-example.json "$pkgdir/etc/$pkgname/config-example.json"
+}
diff --git a/config-example.json b/config-example.json
new file mode 100644
index 000000000000..cf9646be9487
--- /dev/null
+++ b/config-example.json
@@ -0,0 +1,13 @@
+// Provided as an example. Service reads from /etc/docker-waiter/config.json
+// Binary reads from /etc/docker-waiter/config.json as root
+// or $XDG_CONFIG_HOME/docker-waiter/config.json if not
+
+{
+ "MainContainer": "nginx",
+ "DepContainers": [
+ "proxy",
+ "proxy2"
+ ],
+ "CheckRunning": false,
+ "CheckDelay": 1
+} \ No newline at end of file
diff --git a/docker-waiter.install b/docker-waiter.install
new file mode 100644
index 000000000000..1934f9a399ff
--- /dev/null
+++ b/docker-waiter.install
@@ -0,0 +1,16 @@
+post_install() {
+ systemctl --quiet daemon-reload
+}
+
+post_upgrade() {
+ systemctl --quiet daemon-reload
+ systemctl --quiet try-restart docker-waiter.service
+}
+
+pre_remove() {
+ systemctl --quiet --no-reload disable --now docker-waiter.service
+}
+
+post_remove() {
+ systemctl --quiet daemon-reload
+} \ No newline at end of file
diff --git a/docker-waiter.service b/docker-waiter.service
new file mode 100644
index 000000000000..7e89258d0694
--- /dev/null
+++ b/docker-waiter.service
@@ -0,0 +1,12 @@
+[Unit]
+Description=Control startup order of docker containers
+Requires=docker.service
+After=docker.service
+
+[Service]
+Type=simple
+ExecStart=/usr/bin/docker-waiter
+Restart=Always
+
+[Install]
+RequiredBy=multi-user.target \ No newline at end of file