summaryrefslogtreecommitdiff
path: root/docker
diff options
context:
space:
mode:
authorPaul Buetow <35781042+pbuetow@users.noreply.github.com>2020-12-29 09:48:56 +0000
committerGitHub <noreply@github.com>2020-12-29 09:48:56 +0000
commit0fe3c8708634cc59d61bf47bd909ef0111f0d56a (patch)
treec9f0dfa884927079de309b68c48224f4b0f00d0d /docker
parent495e9f38220a6d448b15882a235e7a9c21f21d18 (diff)
parent0099a7ab9e1d28300c69c3b50b4ebe1cde9a8cbc (diff)
Merge pull request #20 from snonux/develop
Make CGo dependencies optional (e.g. Linux ACL support)
Diffstat (limited to 'docker')
-rw-r--r--docker/Dockerfile18
-rw-r--r--docker/Makefile10
-rw-r--r--docker/README.md5
-rw-r--r--docker/dtail.json39
-rwxr-xr-xdocker/spindown.sh9
-rwxr-xr-xdocker/spinup.sh9
6 files changed, 90 insertions, 0 deletions
diff --git a/docker/Dockerfile b/docker/Dockerfile
new file mode 100644
index 0000000..8632832
--- /dev/null
+++ b/docker/Dockerfile
@@ -0,0 +1,18 @@
+# This builds a container running DTail server
+# The container can be used for developing and testing
+# Purposes
+
+FROM fedora:33
+RUN mkdir -p /etc/dserver /var/run/dserver/ /var/log/dserver
+
+ADD ./dtail.json /etc/dserver/dtail.json
+ADD ./dserver /usr/local/bin/dserver
+
+RUN useradd dserver
+RUN chown -R dserver /var/run/dserver /var/log/dserver
+USER dserver
+
+WORKDIR /var/run/dserver
+EXPOSE 2222/tcp
+
+CMD ["/usr/local/bin/dserver", "-relaxedAuth", "-cfg", "/etc/dserver/dtail.json"]
diff --git a/docker/Makefile b/docker/Makefile
new file mode 100644
index 0000000..029adf6
--- /dev/null
+++ b/docker/Makefile
@@ -0,0 +1,10 @@
+all:
+ cp ../dserver .
+ docker build . -t dserver:develop
+ rm ./dserver
+run:
+ docker run -p 2222:2222 dserver:develop
+spinup:
+ ./spinup.sh 10
+spindown:
+ ./spindown.sh 10
diff --git a/docker/README.md b/docker/README.md
new file mode 100644
index 0000000..4d7e610
--- /dev/null
+++ b/docker/README.md
@@ -0,0 +1,5 @@
+# Docker
+
+The files in here are used for local development purposes only. E.g. you can
+build a dserver Docker container, create multiple instances of it and then
+mass connect to them via dtail client.
diff --git a/docker/dtail.json b/docker/dtail.json
new file mode 100644
index 0000000..d923101
--- /dev/null
+++ b/docker/dtail.json
@@ -0,0 +1,39 @@
+{
+ "Client": {},
+ "Server": {
+ "SSHBindAddress": "0.0.0.0",
+ "MaxConcurrentCats": 2,
+ "MaxConcurrentTails": 50,
+ "MaxConnections": 50,
+ "MapreduceLogFormat" : "default",
+ "HostKeyFile" : "cache/ssh_host_key",
+ "HostKeyBits" : 2048,
+ "Permissions": {
+ "Default": [
+ "readfiles:^/.*$",
+ "runcommands:^/.*$"
+ ],
+ "Users": {
+ "pbuetow": [
+ "readfiles:^/.*$",
+ "runcommands:^/.*$"
+ ],
+ "jblake": [
+ "readfiles:^/tmp/foo.log$",
+ "readfiles:^/.*$",
+ "readfiles:!^/tmp/bar.log$",
+ "runcommands:!^/.*$"
+ ]
+ }
+ }
+ },
+ "Common": {
+ "LogDir" : "/var/log/dserver",
+ "CacheDir" : "cache",
+ "TmpDir" : "tmp",
+ "LogStrategy": "daily",
+ "SSHPort": 2222,
+ "DebugEnable": true,
+ "ExperimentalFeaturesEnable": false
+ }
+}
diff --git a/docker/spindown.sh b/docker/spindown.sh
new file mode 100755
index 0000000..73ed059
--- /dev/null
+++ b/docker/spindown.sh
@@ -0,0 +1,9 @@
+#!/bin/bash
+
+declare -i NUM_INSTANCES=$1
+declare -i BASE_PORT=2222
+
+for (( i=0; i < $NUM_INSTANCES; i++ )); do
+ port=$[ BASE_PORT + i + 1 ]
+ docker stop dserver-serv$i
+done
diff --git a/docker/spinup.sh b/docker/spinup.sh
new file mode 100755
index 0000000..3890ce6
--- /dev/null
+++ b/docker/spinup.sh
@@ -0,0 +1,9 @@
+#!/bin/bash
+
+declare -i NUM_INSTANCES=$1
+declare -i BASE_PORT=2222
+
+for (( i=0; i < $NUM_INSTANCES; i++ )); do
+ port=$[ BASE_PORT + i + 1 ]
+ docker run -d --name dserver-serv$i --hostname serv$i -p $port:2222 dserver:develop
+done