diff --git a/CHANGELOG.md b/CHANGELOG.md index 49931a7..2eb6358 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,11 @@ This file only reflects the changes that are made in this image. Please refer to the SaltStack [Release Notes](https://docs.saltstack.com/en/latest/topics/releases/3000.html) for the list of changes in SaltStack. +**3000_1** + +- Add container healthcheck +- Change Docker base image to `ubuntu:bionic-20200311` + **3000** - Upgrade SaltStack Master to `3000` *Neon* diff --git a/Dockerfile b/Dockerfile index dae2b9d..c9b52a8 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -FROM ubuntu:bionic-20200112 +FROM ubuntu:bionic-20200311 ARG BUILD_DATE ARG VCS_REF @@ -46,11 +46,6 @@ RUN apt-get update \ COPY assets/build ${SALT_BUILD_DIR} RUN bash ${SALT_BUILD_DIR}/install.sh -# Shared resources -EXPOSE 4505/tcp 4506/tcp -RUN mkdir -p ${SALT_DATA_DIR} ${SALT_BASE_DIR} ${SALT_KEYS_DIR} ${SALT_CONFS_DIR} ${SALT_LOGS_DIR} -VOLUME [ "${SALT_BASE_DIR}" "${SALT_KEYS_DIR}" "${SALT_CONFS_DIR}" "${SALT_LOGS_DIR}" ] - COPY assets/runtime ${SALT_RUNTIME_DIR} RUN chmod -R +x ${SALT_RUNTIME_DIR} @@ -61,6 +56,14 @@ RUN rm -rf ${SALT_BUILD_DIR}/* COPY entrypoint.sh /sbin/entrypoint.sh RUN chmod +x /sbin/entrypoint.sh +# Shared resources +EXPOSE 4505/tcp 4506/tcp +RUN mkdir -p ${SALT_DATA_DIR} ${SALT_BASE_DIR} ${SALT_KEYS_DIR} ${SALT_CONFS_DIR} ${SALT_LOGS_DIR} +VOLUME [ "${SALT_BASE_DIR}" "${SALT_KEYS_DIR}" "${SALT_CONFS_DIR}" "${SALT_LOGS_DIR}" ] + +HEALTHCHECK --interval=2m --timeout=30s --start-period=1m --retries=5 \ + CMD [ "salt-call", "--local", "status.ping_master", "127.0.0.1" ] + LABEL \ maintainer="carlos@cdalvaro.io" \ org.label-schema.vendor=cdalvaro \ diff --git a/README.md b/README.md index da1333c..0c69e81 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# SaltStack Master v3000 +# SaltStack Master v3000_1 Dockerfile to build a [SaltStack](https://www.saltstack.com) Master image for the Docker opensource container platform. @@ -30,15 +30,21 @@ For other methods to install SaltStack please refer to the [Official SaltStack I Automated builds of the image are available on [Dockerhub](https://hub.docker.com/r/cdalvaro/saltstack-master/) and is the recommended method of installation. ```sh -docker pull cdalvaro/saltstack-master:3000 +docker pull cdalvaro/saltstack-master:3000_1 ``` -You can also pull the latest tag which is built from the repository HEAD +You can also pull the latest tag which is built from the repository `HEAD` ```sh docker pull cdalvaro/saltstack-master:latest ``` +or from [Quay.io](https://quay.io/repository/cdalvaro/saltstack-master) too. + +```sh +docker pull quay.io/cdalvaro/saltstack-master:latest +``` + Alternatively you can build the image locally. ```sh @@ -67,7 +73,7 @@ docker run --name salt_master --detach \ --env 'SALT_LOG_LEVEL=info' \ --volume $(pwd)/roots/:/home/salt/data/srv/ \ --volume $(pwd)/keys/:/home/salt/data/keys/ \ - cdalvaro/saltstack-master:3000 + cdalvaro/saltstack-master:3000_1 ``` ## Configuration @@ -91,7 +97,7 @@ docker run --name salt_master -d \ --env 'SALT_LOG_LEVEL=info' \ --volume $(pwd)/roots/:/home/salt/data/srv/ \ --volume $(pwd)/keys/:/home/salt/data/keys/ \ - cdalvaro/saltstack-master:3000 + cdalvaro/saltstack-master:3000_1 ``` ### Master Signed Keys @@ -105,7 +111,7 @@ docker run --name salt_stack --detach \ --env 'SALT_MASTER_SIGN_PUBKEY=True' --volume $(pwd)/roots/:/home/salt/data/srv/ \ --volume $(pwd)/keys/:/home/salt/data/keys/ \ - cdalvaro/saltstack-master:3000 + cdalvaro/saltstack-master:3000_1 ``` The container will create the `master_sign` key and its signature. More information about how to configure the minion service can be found [here](https://docs.saltstack.com/en/latest/topics/tutorials/multimaster_pki.html#prepping-the-minion-to-verify-received-public-keys). @@ -131,7 +137,7 @@ docker run --name salt_stack -it --rm \ --env "USERMAP_UID=$(id -u)" --env "USERMAP_GID=$(id -g)" \ --volume $(pwd)/roots/:/home/salt/data/srv/ \ --volume $(pwd)/keys/:/home/salt/data/keys/ \ - cdalvaro/saltstack-master:3000 + cdalvaro/saltstack-master:3000_1 ``` ### Git Fileserver @@ -187,7 +193,7 @@ docker run --name salt_master --detach \ --volume $(pwd)/roots/:/home/salt/data/srv/ \ --volume $(pwd)/keys/:/home/salt/data/keys/ \ --volume $(pwd)/logs/:/home/salt/data/logs/ \ - cdalvaro/saltstack-master:3000 + cdalvaro/saltstack-master:3000_1 ``` Check [Available Configuration Parameters](#available-configuration-parameters) section for configuring logrotate. @@ -233,7 +239,7 @@ docker run --name salt_master -d \ --volume $(pwd)/roots/:/home/salt/data/srv/ \ --volume $(pwd)/keys/:/home/salt/data/keys/ \ --volume $(pwd)/config/:/home/salt/data/config/ \ - cdalvaro/saltstack-master:3000 + cdalvaro/saltstack-master:3000_1 ``` ## Usage diff --git a/VERSION b/VERSION index 8da85a2..2f546cb 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -3000 \ No newline at end of file +3000_1 diff --git a/docker-compose.yml b/docker-compose.yml index e1f1f4e..3ea1d47 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -3,7 +3,7 @@ version: '3' services: master: container_name: salt_master - image: cdalvaro/saltstack-master:3000 + image: cdalvaro/saltstack-master:3000_1 restart: always volumes: - "roots/:/home/salt/data/srv"