summaryrefslogtreecommitdiff
path: root/salt
diff options
context:
space:
mode:
Diffstat (limited to 'salt')
-rw-r--r--salt/openbook/admin_api_server/files/Dockerfile4
-rw-r--r--salt/openbook/admin_api_server/files/installdeps.sh5
-rw-r--r--salt/openbook/admin_web_ui/files/Dockerfile4
-rw-r--r--salt/openbook/admin_web_ui/files/installdeps.sh5
-rw-r--r--salt/openbook/ansible/files/openbook.yaml2
-rw-r--r--salt/openbook/baseimage/files/Dockerfile4
-rw-r--r--salt/openbook/baseimage/files/build.sh35
-rw-r--r--salt/openbook/baseimage/files/installdeps.sh7
-rw-r--r--salt/openbook/baseimage/init.sls30
-rw-r--r--salt/openbook/ci/files/build.sh7
-rw-r--r--salt/openbook/customer_api_server/files/Dockerfile4
-rw-r--r--salt/openbook/customer_api_server/files/installdeps.sh5
-rw-r--r--salt/openbook/customer_web_ui/files/Dockerfile4
-rw-r--r--salt/openbook/customer_web_ui/files/installdeps.sh5
-rw-r--r--salt/openbook/job_scheduler_server/files/Dockerfile4
-rw-r--r--salt/openbook/job_scheduler_server/files/installdeps.sh5
-rw-r--r--salt/openbook/workflow_server/files/Dockerfile4
-rw-r--r--salt/openbook/workflow_server/files/installdeps.sh5
-rw-r--r--salt/top.sls1
19 files changed, 97 insertions, 43 deletions
diff --git a/salt/openbook/admin_api_server/files/Dockerfile b/salt/openbook/admin_api_server/files/Dockerfile
index c72d861..f6d22ba 100644
--- a/salt/openbook/admin_api_server/files/Dockerfile
+++ b/salt/openbook/admin_api_server/files/Dockerfile
@@ -1,5 +1,5 @@
-FROM ubuntu:xenial
-MAINTAINER Carlos Konstanski <carlos@talligent.com>
+FROM {{ pillar["registry"]["url"] }}/openbook_baseimage:latest
+MAINTAINER Carlos Konstanski <carlos.konstanski@verizonwireless.com>
ADD docker-start.tar.xz /
EXPOSE 8083 5701 5702
VOLUME {{ pillar["admin_api_server"]["dirs"]["etc_openbook_admin_api_server"]["name"] }}
diff --git a/salt/openbook/admin_api_server/files/installdeps.sh b/salt/openbook/admin_api_server/files/installdeps.sh
index fae7690..5a1398f 100644
--- a/salt/openbook/admin_api_server/files/installdeps.sh
+++ b/salt/openbook/admin_api_server/files/installdeps.sh
@@ -1,10 +1,5 @@
#!/bin/bash
-export DEBIAN_FRONTEND=noninteractive
-apt-get update
-apt-get -y -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confold" dist-upgrade
-apt-get -y install -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confold" curl python openjdk-8-jre-headless
-
current_jar=($(curl -s \
-k \
-u '{{ pillar["jars"]["username"] }}:{{ pillar["jars"]["password"] }}' \
diff --git a/salt/openbook/admin_web_ui/files/Dockerfile b/salt/openbook/admin_web_ui/files/Dockerfile
index 77f4a17..5bd87ad 100644
--- a/salt/openbook/admin_web_ui/files/Dockerfile
+++ b/salt/openbook/admin_web_ui/files/Dockerfile
@@ -1,5 +1,5 @@
-FROM ubuntu:xenial
-MAINTAINER Carlos Konstanski <carlos@talligent.com>
+FROM {{ pillar["registry"]["url"] }}/openbook_baseimage:latest
+MAINTAINER Carlos Konstanski <carlos.konstanski@verizonwireless.com>
ADD docker-start.tar.xz /
EXPOSE 8082 5701 5702
VOLUME {{ pillar["admin_web_ui"]["dirs"]["etc_openbook_admin_web_ui"]["name"] }}
diff --git a/salt/openbook/admin_web_ui/files/installdeps.sh b/salt/openbook/admin_web_ui/files/installdeps.sh
index d52a202..8c7305c 100644
--- a/salt/openbook/admin_web_ui/files/installdeps.sh
+++ b/salt/openbook/admin_web_ui/files/installdeps.sh
@@ -1,10 +1,5 @@
#!/bin/bash
-export DEBIAN_FRONTEND=noninteractive
-apt-get update
-apt-get -y -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confold" dist-upgrade
-apt-get -y install -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confold" curl python openjdk-8-jre-headless
-
current_jar=($(curl -s \
-k \
-u '{{ pillar["jars"]["username"] }}:{{ pillar["jars"]["password"] }}' \
diff --git a/salt/openbook/ansible/files/openbook.yaml b/salt/openbook/ansible/files/openbook.yaml
index b6f4c21..15908c6 100644
--- a/salt/openbook/ansible/files/openbook.yaml
+++ b/salt/openbook/ansible/files/openbook.yaml
@@ -202,6 +202,8 @@
if [ "{% raw %}{{ openbook_install_customer_web_ui|string() }}{% endraw %}" == "True" ]; then
docker pull "{% raw %}{{ openbook_docker_registry_url }}{% endraw %}/{{ pillar["customer_web_ui"]["image_name"] }}"
fi
+ args:
+ executable: /bin/bash
- name: "Start Openbook"
hosts: "{% raw %}{{ groups['target']|sort }}{% endraw %}"
diff --git a/salt/openbook/baseimage/files/Dockerfile b/salt/openbook/baseimage/files/Dockerfile
new file mode 100644
index 0000000..a1cc8b9
--- /dev/null
+++ b/salt/openbook/baseimage/files/Dockerfile
@@ -0,0 +1,4 @@
+FROM ubuntu:xenial
+MAINTAINER Carlos Konstanski <carlos.konstanski@verizonwireless.com>
+ADD docker-start.tar.xz /
+RUN /installdeps.sh
diff --git a/salt/openbook/baseimage/files/build.sh b/salt/openbook/baseimage/files/build.sh
new file mode 100644
index 0000000..a1c5316
--- /dev/null
+++ b/salt/openbook/baseimage/files/build.sh
@@ -0,0 +1,35 @@
+#!/bin/bash
+
+# Do not call directly. Meant to be called from CI build script.
+
+pushd {{ pillar["baseimage"]["build_dir"] }} 2>/dev/null
+
+echo "Creating tmp directory"
+rm -rf tmp
+mkdir tmp
+rm -f docker-start.tar.xz
+
+echo "Populating with custom files"
+rsync -aq data/ tmp/
+
+echo "Repackaging into .xz file"
+tar Jcvf docker-start.tar.xz -C tmp/ .
+
+echo "Deleting existing docker container"
+docker stop {{ pillar["baseimage"]["container_name"] }}
+docker container prune -f
+docker rmi -f {{ pillar["baseimage"]["image_name"] }}
+
+echo "Building docker Ubuntu image"
+docker build -t {{ pillar["baseimage"]["image_name"] }} .
+
+echo "Push docker image to the registry"
+docker tag {{ pillar["baseimage"]["image_name"] }} {{ pillar["registry"]["url"] }}/{{ pillar["baseimage"]["image_name"] }}
+docker push {{ pillar["registry"]["url"] }}/{{ pillar["baseimage"]["image_name"] }}
+
+echo "Cleaning up"
+rm -rf tmp
+rm -f docker-start.tar.xz
+
+popd 2>/dev/null
+exit 0
diff --git a/salt/openbook/baseimage/files/installdeps.sh b/salt/openbook/baseimage/files/installdeps.sh
new file mode 100644
index 0000000..1a1b1be
--- /dev/null
+++ b/salt/openbook/baseimage/files/installdeps.sh
@@ -0,0 +1,7 @@
+#!/bin/bash
+
+export DEBIAN_FRONTEND=noninteractive
+apt-get update
+apt-get -y -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confold" dist-upgrade
+apt-get -y install -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confold" curl python openjdk-8-jre-headless
+exit 0
diff --git a/salt/openbook/baseimage/init.sls b/salt/openbook/baseimage/init.sls
new file mode 100644
index 0000000..2cdd293
--- /dev/null
+++ b/salt/openbook/baseimage/init.sls
@@ -0,0 +1,30 @@
+{% for dir in pillar["baseimage"]["dirs"].items() %}
+baseimage_dirs_{{ dir[0] }}:
+ file.directory:
+{% if dir[1]["relative_to_buildroot"] %}
+ - name: {{ pillar["baseimage"]["build_dir"] }}/{{ dir[1]["name"] }}
+{% else %}
+ - name: {{ dir[1]["name"] }}
+{% endif %}
+ - user: root
+ - group: root
+ - mode: {{ dir[1]["mode"] }}
+ - makedirs: True
+{% endfor %}
+
+{% for file in pillar["baseimage"]["files"].items() %}
+baseimage_files_{{ file[0] }}:
+ file.managed:
+{% if file[1]["relative_to_buildroot"] %}
+ - name: {{ pillar["baseimage"]["build_dir"] }}/{{ file[1]["path"] }}/{{ file[1]["name"] }}
+{% else %}
+ - name: {{ file[1]["path"] }}/{{ file[1]["name"] }}
+{% endif %}
+ - source: salt://openbook/baseimage/files/{{ file[1]["source"] }}
+{% if file[1]["is_template"] %}
+ - template: jinja
+{% endif %}
+ - user: root
+ - group: root
+ - mode: {{ file[1]["mode"] }}
+{% endfor %}
diff --git a/salt/openbook/ci/files/build.sh b/salt/openbook/ci/files/build.sh
index 77f2a5e..99fadf0 100644
--- a/salt/openbook/ci/files/build.sh
+++ b/salt/openbook/ci/files/build.sh
@@ -18,7 +18,10 @@ pushd {{ pillar["ci"]["build_dir"] }} 2>/dev/null
echo "Login to docker registry"
docker login --username {{ pillar["registry"]["username"] }} --password {{ pillar["registry"]["password"] }} {{ pillar["registry"]["url"] }}
-if [ "${artifact}" == "database" ]; then
+if [ "${artifact}" == "baseimage" ]; then
+ delete_old_image "{{ pillar["baseimage"]["image_name"] }}"
+ {{ pillar["baseimage"]["build_dir"] }}/build.sh
+elif [ "${artifact}" == "database" ]; then
delete_old_image "{{ pillar["database"]["image_name"] }}"
{{ pillar["database"]["build_dir"] }}/build.sh
elif [ "${artifact}" == "admin-api-server" ]; then
@@ -40,6 +43,7 @@ elif [ "${artifact}" == "workflow-server" ]; then
delete_old_image "{{ pillar["workflow_server"]["image_name"] }}"
{{ pillar["workflow_server"]["build_dir"] }}/build.sh
else
+ delete_old_image "{{ pillar["baseimage"]["image_name"] }}"
delete_old_image "{{ pillar["database"]["image_name"] }}"
delete_old_image "{{ pillar["admin_api_server"]["image_name"] }}"
delete_old_image "{{ pillar["customer_api_server"]["image_name"] }}"
@@ -47,6 +51,7 @@ else
delete_old_image "{{ pillar["customer_web_ui"]["image_name"] }}"
delete_old_image "{{ pillar["job_scheduler_server"]["image_name"] }}"
delete_old_image "{{ pillar["workflow_server"]["image_name"] }}"
+ {{ pillar["baseimage"]["build_dir"] }}/build.sh
{{ pillar["database"]["build_dir"] }}/build.sh
{{ pillar["admin_api_server"]["build_dir"] }}/build.sh
{{ pillar["customer_api_server"]["build_dir"] }}/build.sh
diff --git a/salt/openbook/customer_api_server/files/Dockerfile b/salt/openbook/customer_api_server/files/Dockerfile
index fb4d46f..d80916f 100644
--- a/salt/openbook/customer_api_server/files/Dockerfile
+++ b/salt/openbook/customer_api_server/files/Dockerfile
@@ -1,5 +1,5 @@
-FROM ubuntu:xenial
-MAINTAINER Carlos Konstanski <carlos@talligent.com>
+FROM {{ pillar["registry"]["url"] }}/openbook_baseimage:latest
+MAINTAINER Carlos Konstanski <carlos.konstanski@verizonwireless.com>
ADD docker-start.tar.xz /
EXPOSE 8081 5701 5702
VOLUME {{ pillar["customer_api_server"]["dirs"]["etc_openbook_customer_api_server"]["name"] }}
diff --git a/salt/openbook/customer_api_server/files/installdeps.sh b/salt/openbook/customer_api_server/files/installdeps.sh
index 3a4f2fa..8ced89e 100644
--- a/salt/openbook/customer_api_server/files/installdeps.sh
+++ b/salt/openbook/customer_api_server/files/installdeps.sh
@@ -1,10 +1,5 @@
#!/bin/bash
-export DEBIAN_FRONTEND=noninteractive
-apt-get update
-apt-get -y -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confold" dist-upgrade
-apt-get -y install -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confold" curl python openjdk-8-jre-headless
-
current_jar=($(curl -s \
-k \
-u '{{ pillar["jars"]["username"] }}:{{ pillar["jars"]["password"] }}' \
diff --git a/salt/openbook/customer_web_ui/files/Dockerfile b/salt/openbook/customer_web_ui/files/Dockerfile
index e4ad953..9a44a6c 100644
--- a/salt/openbook/customer_web_ui/files/Dockerfile
+++ b/salt/openbook/customer_web_ui/files/Dockerfile
@@ -1,5 +1,5 @@
-FROM ubuntu:xenial
-MAINTAINER Carlos Konstanski <carlos@talligent.com>
+FROM {{ pillar["registry"]["url"] }}/openbook_baseimage:latest
+MAINTAINER Carlos Konstanski <carlos.konstanski@verizonwireless.com>
ADD docker-start.tar.xz /
EXPOSE 8080 5701 5702
VOLUME {{ pillar["customer_web_ui"]["dirs"]["etc_openbook_customer_web_ui"]["name"] }}
diff --git a/salt/openbook/customer_web_ui/files/installdeps.sh b/salt/openbook/customer_web_ui/files/installdeps.sh
index 9c96042..79027be 100644
--- a/salt/openbook/customer_web_ui/files/installdeps.sh
+++ b/salt/openbook/customer_web_ui/files/installdeps.sh
@@ -1,10 +1,5 @@
#!/bin/bash
-export DEBIAN_FRONTEND=noninteractive
-apt-get update
-apt-get -y -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confold" dist-upgrade
-apt-get -y install -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confold" curl python openjdk-8-jre-headless
-
current_jar=($(curl -s \
-k \
-u '{{ pillar["jars"]["username"] }}:{{ pillar["jars"]["password"] }}' \
diff --git a/salt/openbook/job_scheduler_server/files/Dockerfile b/salt/openbook/job_scheduler_server/files/Dockerfile
index 78a7f0c..6d7b63f 100644
--- a/salt/openbook/job_scheduler_server/files/Dockerfile
+++ b/salt/openbook/job_scheduler_server/files/Dockerfile
@@ -1,5 +1,5 @@
-FROM ubuntu:xenial
-MAINTAINER Carlos Konstanski <carlos@talligent.com>
+FROM {{ pillar["registry"]["url"] }}/openbook_baseimage:latest
+MAINTAINER Carlos Konstanski <carlos.konstanski@verizonwireless.com>
ADD docker-start.tar.xz /
EXPOSE 5701 5702
VOLUME {{ pillar["job_scheduler_server"]["dirs"]["etc_openbook_job_scheduler_server"]["name"] }}
diff --git a/salt/openbook/job_scheduler_server/files/installdeps.sh b/salt/openbook/job_scheduler_server/files/installdeps.sh
index dfe4522..e9a7173 100644
--- a/salt/openbook/job_scheduler_server/files/installdeps.sh
+++ b/salt/openbook/job_scheduler_server/files/installdeps.sh
@@ -1,10 +1,5 @@
#!/bin/bash
-export DEBIAN_FRONTEND=noninteractive
-apt-get update
-apt-get -y -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confold" dist-upgrade
-apt-get -y install -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confold" curl python openjdk-8-jre-headless
-
current_jar=($(curl -s \
-k \
-u '{{ pillar["jars"]["username"] }}:{{ pillar["jars"]["password"] }}' \
diff --git a/salt/openbook/workflow_server/files/Dockerfile b/salt/openbook/workflow_server/files/Dockerfile
index ae18ced..6008269 100644
--- a/salt/openbook/workflow_server/files/Dockerfile
+++ b/salt/openbook/workflow_server/files/Dockerfile
@@ -1,5 +1,5 @@
-FROM ubuntu:xenial
-MAINTAINER Carlos Konstanski <carlos@talligent.com>
+FROM {{ pillar["registry"]["url"] }}/openbook_baseimage:latest
+MAINTAINER Carlos Konstanski <carlos.konstanski@verizonwireless.com>
ADD docker-start.tar.xz /
EXPOSE 5701 5702
VOLUME {{ pillar["workflow_server"]["dirs"]["etc_openbook_workflow_server"]["name"] }}
diff --git a/salt/openbook/workflow_server/files/installdeps.sh b/salt/openbook/workflow_server/files/installdeps.sh
index a90c3c9..507c2d3 100644
--- a/salt/openbook/workflow_server/files/installdeps.sh
+++ b/salt/openbook/workflow_server/files/installdeps.sh
@@ -1,10 +1,5 @@
#!/bin/bash
-export DEBIAN_FRONTEND=noninteractive
-apt-get update
-apt-get -y -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confold" dist-upgrade
-apt-get -y install -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confold" curl python openjdk-8-jre-headless
-
current_jar=($(curl -s \
-k \
-u '{{ pillar["jars"]["username"] }}:{{ pillar["jars"]["password"] }}' \
diff --git a/salt/top.sls b/salt/top.sls
index 3f1b067..22ffb32 100644
--- a/salt/top.sls
+++ b/salt/top.sls
@@ -2,6 +2,7 @@ base:
"*":
- openbook.ci
- openbook.ansible
+ - openbook.baseimage
- openbook.database
- openbook.admin_api_server
- openbook.admin_web_ui