- ansible docker images

- ansible play for cleaning hosts (apt autoremove)
- mondrian(incomplete)
- lock postgres to version 10
- update jenkins dockerfile
This commit is contained in:
2018-10-22 00:18:56 -04:00
parent 83c0a2ca15
commit c597fdf80d
15 changed files with 385 additions and 2 deletions

View File

@@ -17,6 +17,8 @@ services:
ports:
- "8080:8080"
- "50000:50000"
environment:
- "JAVA_OPTS=-Dhudson.model.DirectoryBrowserSupport.CSP="
deploy:
mode: replicated
replicas: 1

View File

@@ -0,0 +1,3 @@
#!/usr/bin/env bash
DOCKER_HOST=dkhost:2376 docker run -d --rm --name 'dockerhost' --cap-add=NET_ADMIN --cap-add=NET_RAW qoomon/docker-host

View File

@@ -10,6 +10,8 @@ docker stack deploy --with-registry-auth --prune -c nextcloud/docker-compose-pro
docker stack deploy --with-registry-auth --prune -c ui/docker-compose.yml dkui
docker stack deploy --with-registry-auth --prune -c jenkins/docker-compose.yml jenkins
#docker stack deploy --with-registry-auth --prune -c letsencrypt/docker-compose-update.yml letsencrypt
docker stack deploy --with-registry-auth --prune -c prometheus/docker-compose-prod.yml metrics

View File

@@ -51,3 +51,30 @@ services:
fluentd-address: "logs.xai-corp.net:24224"
fluentd-async-connect: 'true'
tag: dkregistry
# registry-ui:
# image: hyper/docker-registry-web
# ports:
# - 8087:8080
# environment:
# REGISTRY_URL: https://dkregistry.xai-corp.net:5000/v2
# REGISTRY_NAME: dkregistry
# REGISTRY_READONLY: 'false'
# REGISTRY_AUTH_ENABLED: 'true'
# REGISTRY_BASIC_AUTH: $apr1$2vrW.sPv$aIZ6xnQcvde6.kX7KvWm5/
#
# deploy:
# mode: replicated
# replicas: 1
# restart_policy:
# condition: any
# delay: "1s"
# max_attempts: 1
# update_config:
# parallelism: 1
# delay: 2s
# order: start-first
# resources:
# limits:
# cpus: '2'
# memory: 2048M

View File

@@ -15,16 +15,17 @@ docker login -u richard -p $DKREGISTRY_PASS $DKREGISTRY
docker-compose \
-f network.yml \
-f postgres/docker-compose.yml \
-f dkregistry/docker-compose.yml \
-f mariadb/docker-compose.yml \
-f fluentd/docker-compose-prod.yml \
-f memcached/docker-compose.yml \
-f redis/docker-compose.yml \
-f datadog/docker-compose.yml \
-f dkregistry/docker-compose.yml \
-f cron/docker-compose.yml \
config > $CONFIG
docker stack deploy --prune --with-registry-auth -c $CONFIG $SERVICE
# Cleanup

View File

@@ -6,7 +6,7 @@ services:
postgres:
volumes:
- /opt/shared/postgres/data:/data
image: postgres:alpine
image: postgres:10-alpine
environment:
POSTGRES_PASSWORD: snqioxni1sw
POSTGRES_USER: xaicorp_admin

View File

@@ -0,0 +1,73 @@
#http://ruleoftech.com/2017/dockerizing-all-the-things-running-ansible-inside-docker-container
FROM alpine:3.7
ENV ANSIBLE_VERSION 2.0.0
ENV BUILD_PACKAGES \
bash \
curl \
tar \
openssh-client \
sshpass \
git \
python \
py-boto \
py-dateutil \
py-httplib2 \
py-jinja2 \
py-paramiko \
py-pip \
py-yaml \
ca-certificates
# If installing ansible@testing
#RUN \
# echo "@testing http://nl.alpinelinux.org/alpine/edge/testing" >> #/etc/apk/repositories
RUN set -x && \
\
echo "==> Adding build-dependencies..." && \
apk --update add --virtual build-dependencies \
gcc \
musl-dev \
libffi-dev \
openssl-dev \
python-dev && \
\
echo "==> Upgrading apk and system..." && \
apk update && apk upgrade && \
\
echo "==> Adding Python runtime..." && \
apk add --no-cache ${BUILD_PACKAGES} && \
pip install --upgrade pip && \
pip install python-keyczar docker-py && \
\
echo "==> Installing Ansible..." && \
pip install ansible==${ANSIBLE_VERSION} && \
\
echo "==> Cleaning up..." && \
apk del build-dependencies && \
rm -rf /var/cache/apk/* && \
\
echo "==> Adding hosts for convenience..." && \
mkdir -p /etc/ansible /ansible && \
echo "[local]" >> /etc/ansible/hosts && \
echo "localhost" >> /etc/ansible/hosts
ENV ANSIBLE_GATHERING smart
ENV ANSIBLE_HOST_KEY_CHECKING false
ENV ANSIBLE_RETRY_FILES_ENABLED false
ENV ANSIBLE_ROLES_PATH /ansible/playbooks/roles
ENV ANSIBLE_SSH_PIPELINING True
ENV PYTHONPATH /ansible/lib
ENV PATH /ansible/bin:$PATH
ENV ANSIBLE_LIBRARY /ansible/library
WORKDIR /ansible/playbooks
ENTRYPOINT ["ansible-playbook"]
RUN addgroup ansible \
&& adduser -h /home/ansible -u 1000 -S -G ansible ansible
USER ansible

View File

@@ -0,0 +1,70 @@
#http://ruleoftech.com/2017/dockerizing-all-the-things-running-ansible-inside-docker-container
FROM alpine:3.7
ENV ANSIBLE_VERSION 2.4.0
ENV BUILD_PACKAGES \
bash \
curl \
tar \
openssh-client \
sshpass \
git \
python \
py-boto \
py-dateutil \
py-httplib2 \
py-jinja2 \
py-paramiko \
py-pip \
py-yaml \
ca-certificates
# If installing ansible@testing
#RUN \
# echo "@testing http://nl.alpinelinux.org/alpine/edge/testing" >> #/etc/apk/repositories
RUN set -x && \
\
echo "==> Adding build-dependencies..." && \
apk --update add --virtual build-dependencies \
gcc \
musl-dev \
libffi-dev \
openssl-dev \
python-dev && \
\
echo "==> Upgrading apk and system..." && \
apk update && apk upgrade && \
\
echo "==> Adding Python runtime..." && \
apk add --no-cache ${BUILD_PACKAGES} && \
pip install --upgrade pip && \
pip install python-keyczar docker-py && \
\
echo "==> Installing Ansible..." && \
pip install ansible==${ANSIBLE_VERSION} && \
\
echo "==> Cleaning up..." && \
apk del build-dependencies && \
rm -rf /var/cache/apk/* && \
\
echo "==> Adding hosts for convenience..." && \
mkdir -p /etc/ansible /ansible && \
echo "[local]" >> /etc/ansible/hosts && \
echo "localhost" >> /etc/ansible/hosts
ENV ANSIBLE_GATHERING smart
ENV ANSIBLE_HOST_KEY_CHECKING false
ENV ANSIBLE_RETRY_FILES_ENABLED false
ENV ANSIBLE_ROLES_PATH /ansible/playbooks/roles
ENV ANSIBLE_SSH_PIPELINING True
ENV PYTHONPATH /ansible/lib
ENV PATH /ansible/bin:$PATH
ENV ANSIBLE_LIBRARY /ansible/library
WORKDIR /ansible/playbooks
ENTRYPOINT ["ansible-playbook"]
RUN mkdir -p /.ansible && chmod 777 /.ansible

View File

@@ -0,0 +1,70 @@
#http://ruleoftech.com/2017/dockerizing-all-the-things-running-ansible-inside-docker-container
FROM alpine:3.7
ENV ANSIBLE_VERSION 2.5.0
ENV BUILD_PACKAGES \
bash \
curl \
tar \
openssh-client \
sshpass \
git \
python \
py-boto \
py-dateutil \
py-httplib2 \
py-jinja2 \
py-paramiko \
py-pip \
py-yaml \
ca-certificates
# If installing ansible@testing
#RUN \
# echo "@testing http://nl.alpinelinux.org/alpine/edge/testing" >> #/etc/apk/repositories
RUN set -x && \
\
echo "==> Adding build-dependencies..." && \
apk --update add --virtual build-dependencies \
gcc \
musl-dev \
libffi-dev \
openssl-dev \
python-dev && \
\
echo "==> Upgrading apk and system..." && \
apk update && apk upgrade && \
\
echo "==> Adding Python runtime..." && \
apk add --no-cache ${BUILD_PACKAGES} && \
pip install --upgrade pip && \
pip install python-keyczar docker-py && \
\
echo "==> Installing Ansible..." && \
pip install ansible==${ANSIBLE_VERSION} && \
\
echo "==> Cleaning up..." && \
apk del build-dependencies && \
rm -rf /var/cache/apk/* && \
\
echo "==> Adding hosts for convenience..." && \
mkdir -p /etc/ansible /ansible && \
echo "[local]" >> /etc/ansible/hosts && \
echo "localhost" >> /etc/ansible/hosts
ENV ANSIBLE_GATHERING smart
ENV ANSIBLE_HOST_KEY_CHECKING false
ENV ANSIBLE_RETRY_FILES_ENABLED false
ENV ANSIBLE_ROLES_PATH /ansible/playbooks/roles
ENV ANSIBLE_SSH_PIPELINING True
ENV PYTHONPATH /ansible/lib
ENV PATH /ansible/bin:$PATH
ENV ANSIBLE_LIBRARY /ansible/library
WORKDIR /ansible/playbooks
ENTRYPOINT ["ansible-playbook"]
RUN mkdir -p /.ansible && chmod 777 /.ansible

View File

@@ -0,0 +1,70 @@
#http://ruleoftech.com/2017/dockerizing-all-the-things-running-ansible-inside-docker-container
FROM alpine:3.7
ENV ANSIBLE_VERSION 2.7.0
ENV BUILD_PACKAGES \
bash \
curl \
tar \
openssh-client \
sshpass \
git \
python \
py-boto \
py-dateutil \
py-httplib2 \
py-jinja2 \
py-paramiko \
py-pip \
py-yaml \
ca-certificates
# If installing ansible@testing
#RUN \
# echo "@testing http://nl.alpinelinux.org/alpine/edge/testing" >> #/etc/apk/repositories
RUN set -x && \
\
echo "==> Adding build-dependencies..." && \
apk --update add --virtual build-dependencies \
gcc \
musl-dev \
libffi-dev \
openssl-dev \
python-dev && \
\
echo "==> Upgrading apk and system..." && \
apk update && apk upgrade && \
\
echo "==> Adding Python runtime..." && \
apk add --no-cache ${BUILD_PACKAGES} && \
pip install --upgrade pip && \
pip install python-keyczar docker-py && \
\
echo "==> Installing Ansible..." && \
pip install ansible==${ANSIBLE_VERSION} && \
\
echo "==> Cleaning up..." && \
apk del build-dependencies && \
rm -rf /var/cache/apk/* && \
\
echo "==> Adding hosts for convenience..." && \
mkdir -p /etc/ansible /ansible && \
echo "[local]" >> /etc/ansible/hosts && \
echo "localhost" >> /etc/ansible/hosts
ENV ANSIBLE_GATHERING smart
ENV ANSIBLE_HOST_KEY_CHECKING false
ENV ANSIBLE_RETRY_FILES_ENABLED false
ENV ANSIBLE_ROLES_PATH /ansible/playbooks/roles
ENV ANSIBLE_SSH_PIPELINING True
ENV PYTHONPATH /ansible/lib
ENV PATH /ansible/bin:$PATH
ENV ANSIBLE_LIBRARY /ansible/library
WORKDIR /ansible/playbooks
ENTRYPOINT ["ansible-playbook"]
RUN mkdir -p /.ansible && chmod 777 /.ansible

View File

@@ -0,0 +1,30 @@
#!/usr/bin/env bash
set -e
if [[ -z "${DKREGISTRY_PASS}" ]]; then
docker login -u richard -p $DKREGISTRY_PASS $DKREGISTRY
fi
docker build --rm -f Dockerfile-2.0 -t xaicorp/ansible:2.0 .
docker run --rm --entrypoint ansible xaicorp/ansible:2.0 --version | grep 'ansible 2.0.'
docker tag xaicorp/ansible:2.0 dkregistry.xai-corp.net:5000/xaicorp/ansible:2.0
docker push dkregistry.xai-corp.net:5000/xaicorp/ansible:2.0
docker build --rm -f Dockerfile-2.4 -t xaicorp/ansible:2.4 .
docker run --rm --entrypoint ansible xaicorp/ansible:2.4 --version | grep 'ansible 2.4.'
docker tag xaicorp/ansible:2.4 dkregistry.xai-corp.net:5000/xaicorp/ansible:2.4
docker push dkregistry.xai-corp.net:5000/xaicorp/ansible:2.4
docker build --rm -f Dockerfile-2.5 -t xaicorp/ansible:2.5 .
docker run --rm --entrypoint ansible xaicorp/ansible:2.5 --version | grep 'ansible 2.5.'
docker tag xaicorp/ansible:2.5 dkregistry.xai-corp.net:5000/xaicorp/ansible:2.5
docker push dkregistry.xai-corp.net:5000/xaicorp/ansible:2.5
docker build --rm -f Dockerfile-2.7 -t xaicorp/ansible:2.7 .
docker run --rm --entrypoint ansible xaicorp/ansible:2.7 --version | grep 'ansible 2.7.'
docker tag xaicorp/ansible:2.7 dkregistry.xai-corp.net:5000/xaicorp/ansible:2.7
docker push dkregistry.xai-corp.net:5000/xaicorp/ansible:2.7
docker tag xaicorp/ansible:2.5 xaicorp/ansible:latest
docker tag xaicorp/ansible:2.5 dkregistry.xai-corp.net:5000/xaicorp/ansible:latest
docker push dkregistry.xai-corp.net:5000/xaicorp/ansible:latest

View File

@@ -0,0 +1,10 @@
# docker build --rm -f Dockerfile -t mondrian:latest .
FROM dkregistry.xai-corp.net:5000/xaicorp/php:7.2-dev
MAINTAINER Richard Morgan <r_morgan@sympatico.ca>
RUN apt-get update && apt-get install -y wget \
&& wget https://github.com/Trismegiste/Mondrian/raw/master/bin/box/mondrian.phar \
&& apt-get clean && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
CMD ["mondrian.phar"]

View File

@@ -0,0 +1,7 @@
#!/usr/bin/env bash
docker login -u richard -p $DKREGISTRY_PASS $DKREGISTRY
docker build --rm -f Dockerfile -t mondrian:latest .
docker run --rm mondrian:latest --version | grep 'Mondrian'
docker tag mondrian:latest dkregistry.xai-corp.net:5000/xaicorp/qa/mondrian:latest
docker push dkregistry.xai-corp.net:5000/xaicorp/qa/mondrian:latest