summaryrefslogtreecommitdiffstats
path: root/setup/projects/services
diff options
context:
space:
mode:
authorSuren A. Chilingaryan <csa@suren.me>2019-10-06 04:52:01 +0200
committerSuren A. Chilingaryan <csa@suren.me>2019-10-06 04:52:01 +0200
commit6b659b35c1d6214688920200efe1d782a0a5d877 (patch)
treed0dac24ff6ee619905a91ef76ec029e6cc359088 /setup/projects/services
parent369c5d409d9466dfb3360b35c0219d23ae99e2f4 (diff)
downloadands-6b659b35c1d6214688920200efe1d782a0a5d877.tar.gz
ands-6b659b35c1d6214688920200efe1d782a0a5d877.tar.bz2
ands-6b659b35c1d6214688920200efe1d782a0a5d877.tar.xz
ands-6b659b35c1d6214688920200efe1d782a0a5d877.zip
Migrate more services (gogs, davmail), fix storage-related issues in web namespace
Diffstat (limited to 'setup/projects/services')
-rw-r--r--setup/projects/services/templates/gogs.yml.j231
-rw-r--r--setup/projects/services/vars/apps.yml3
-rw-r--r--setup/projects/services/vars/davmail.yml14
-rw-r--r--setup/projects/services/vars/gogs.yml18
-rw-r--r--setup/projects/services/vars/script.yml6
-rw-r--r--setup/projects/services/vars/volumes.yml8
6 files changed, 80 insertions, 0 deletions
diff --git a/setup/projects/services/templates/gogs.yml.j2 b/setup/projects/services/templates/gogs.yml.j2
new file mode 100644
index 0000000..57a5e65
--- /dev/null
+++ b/setup/projects/services/templates/gogs.yml.j2
@@ -0,0 +1,31 @@
+kind: ConfigMap
+apiVersion: v1
+metadata:
+ name: gogs
+data:
+ app.ini: |
+ APP_NAME = IPE Git
+ RUN_MODE = prod
+ RUN_USER = gogs
+
+ [server]
+ DOMAIN = gogs.kaas.kit.edu
+ ROOT_URL = http://gogs.kaas.kit.edu
+ HTTP_PORT = 3000
+
+ [database]
+ DB_TYPE = sqlite3
+ NAME = gogs
+ PATH = /data/gogs/gogs.db
+
+ [repository]
+ ROOT = /data/repositories
+
+ [security]
+ INSTALL_LOCK = true
+
+ [service]
+ ENABLE_CAPTCHA = false
+
+ [webhook]
+ SKIP_TLS_VERIFY = true
diff --git a/setup/projects/services/vars/apps.yml b/setup/projects/services/vars/apps.yml
new file mode 100644
index 0000000..3532941
--- /dev/null
+++ b/setup/projects/services/vars/apps.yml
@@ -0,0 +1,3 @@
+apps:
+ davmail: { provision: true, instantiate: true }
+ gogs: { provision: true, instantiate: true }
diff --git a/setup/projects/services/vars/davmail.yml b/setup/projects/services/vars/davmail.yml
new file mode 100644
index 0000000..956f6e5
--- /dev/null
+++ b/setup/projects/services/vars/davmail.yml
@@ -0,0 +1,14 @@
+davmail:
+ builders:
+ davmail: { src: "{{ ands_repos.docker }}/davmail.git" }
+
+ pods:
+ davmail:
+ service: { ports: [ 1389, 1025, 1143, 1110, 1080 ] }
+ sched: { replicas: 1 }
+ images:
+ - stream: "davmail:latest"
+ probes:
+ - { port: 1389 }
+ env:
+ - { name: "DAVMAIL_URL", value: "https://owa.kit.edu/owa/" }
diff --git a/setup/projects/services/vars/gogs.yml b/setup/projects/services/vars/gogs.yml
new file mode 100644
index 0000000..b135746
--- /dev/null
+++ b/setup/projects/services/vars/gogs.yml
@@ -0,0 +1,18 @@
+gogs:
+ builders:
+ gogs: { src: "{{ ands_repos.docker }}/gogs.git" }
+
+ pods:
+ gogs:
+ service: { host: "gogs.{{ openshift_master_default_subdomain }}", ports: [ 80/3000 ] }
+ groups: [ "services_gogs" ]
+ sched: { replicas: 1 }
+ images:
+ - stream: "gogs:latest"
+ configs:
+ - { name: "gogs", mount: "/data/gogs/conf" }
+ mappings:
+ - { name: "data", path: "gogs", mount: "/data" }
+# - { name: "tmp", path: "gogs", mount: "/data/gogs/log" }
+ probes:
+ - { port: 3000 }
diff --git a/setup/projects/services/vars/script.yml b/setup/projects/services/vars/script.yml
new file mode 100644
index 0000000..f5d9378
--- /dev/null
+++ b/setup/projects/services/vars/script.yml
@@ -0,0 +1,6 @@
+oc:
+ - storage: ".*"
+ - templates: "gogs*"
+ - apps: ".*"
+ - oc: "expose svc/davmail --type LoadBalancer --protocol TCP --generator service/v1 --name davmail-ingress"
+ resource: "svc/davmail-ingress"
diff --git a/setup/projects/services/vars/volumes.yml b/setup/projects/services/vars/volumes.yml
new file mode 100644
index 0000000..192f572
--- /dev/null
+++ b/setup/projects/services/vars/volumes.yml
@@ -0,0 +1,8 @@
+gids:
+ services: { id: 9000 }
+ services_gogs: { id: 9001, users: [ 'csa', 'kopmann' ] }
+
+files:
+ - { osv: "data", path: "gogs", state: "directory", group: "services_gogs", mode: "02770" }
+ - { osv: "data/gogs", path: "gogs", state: "directory", group: "services_gogs", mode: "02770" }
+