diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md index cb55991..56ec8cc 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.md +++ b/.github/ISSUE_TEMPLATE/bug_report.md @@ -26,7 +26,7 @@ The full log with the outputted error. **Version report (please complete the following information):** - OS: [e.g. `uname -a`] - Docker: [`docker --version`] - - Image tag: [e.g. 3001.1] + - Image tag: [e.g. 3002] **Additional context** Add any other context about the problem here. diff --git a/.github/workflows/build-and-test.yml b/.github/workflows/build-and-test.yml index 75daa87..a5a87fe 100644 --- a/.github/workflows/build-and-test.yml +++ b/.github/workflows/build-and-test.yml @@ -46,7 +46,7 @@ jobs: with: context: . file: ./Dockerfile - platforms: linux/amd64,linux/arm64 + platforms: linux/amd64,linux/arm64,linux/arm/v7 cache-from: | type=local,src=${{ env.CACHE_PATH }} ghcr.io/cdalvaro/docker-salt-master:latest @@ -69,7 +69,7 @@ jobs: needs: build strategy: matrix: - platform: [linux/amd64, linux/arm64] + platform: [linux/amd64, linux/arm64, linux/arm/v7] env: DOCKER_CLI_EXPERIMENTAL: enabled SALTAPI_URL: https://localhost:8000/ diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 6e67e99..9a66d47 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -14,7 +14,7 @@ on: env: GITHUB_REF_NAME: ${{ github.event.release.tag_name }} IMAGE_NAME: cdalvaro/docker-salt-master - PLATFORMS: linux/amd64,linux/arm64 + PLATFORMS: linux/amd64,linux/arm64,linux/arm/v7 CACHE_PATH: /tmp/.buildx-docker-salt-master-cache EXTRA_REGISTRIES: ghcr.io quay.io diff --git a/CHANGELOG.md b/CHANGELOG.md index 99ea077..5a55689 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,17 +1,25 @@ # Changelog 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/3001.1.html) for the list of changes in SaltStack. +Please refer to the SaltStack [Release Notes](https://docs.saltstack.com/en/latest/topics/releases/3002.html) for the list of changes in SaltStack. + +**3002** + +- Upgrade `salt-master` to `3002` *Magnesium* +- Bring back support for Linux ARMv7 platform +- Remove patch for muting sudo `RLIMIT_CORE` message +- Install `pygit2` and `m2crypto` from ubuntu repositories +- Change Docker base image to `ubuntu:focal-20200925` **3001.1** -- Upgrade SaltStack Master to `3001.1` *Sodium* +- Upgrade `salt-master` to `3001.1` *Sodium* - Upgrade `m2crypto` to version `0.36.0` - Change Docker base image to `ubuntu:focal-20200720` **3001** -- Upgrade SaltStack Master to `3001` *Sodium* +- Upgrade `salt-master` to `3001` *Sodium* - Upgrade Python to version `3.8` - Upgrade `libgit2` to version `1.0.1` - Change Docker base image to `ubuntu:focal-20200606` @@ -31,18 +39,18 @@ Please refer to the SaltStack [Release Notes](https://docs.saltstack.com/en/late **3000.3** -- Upgrade SaltStack Master to `3000.3` +- Upgrade `salt-master` to `3000.3` - Upgrade `pygit2` to version `1.2.1` **3000.2** -- Upgrade SaltStack Master to `3000.2` +- Upgrade `salt-master` to `3000.2` - Upgrade `pygit2` to version `1.2.0` - Change Docker base image to `ubuntu:bionic-20200403` **3000.1** -- Upgrade SaltStack Master to `3000.1` +- Upgrade `salt-master` to `3000.1` - Upgrade `libgit2` to version `1.0.0` - Upgrade `pygit2` to version `1.1.1` @@ -53,32 +61,32 @@ Please refer to the SaltStack [Release Notes](https://docs.saltstack.com/en/late **3000** -- Upgrade SaltStack Master to `3000` *Neon* +- Upgrade `salt-master` to `3000` *Neon* - Change Docker base image to `ubuntu:bionic-20200112` - Upgrade pygit2 to version `1.0.3` **2019.2.3** -- Upgrade SaltStack Master to `2019.2.3` +- Upgrade `salt-master` to `2019.2.3` - Change Docker base image to `ubuntu:bionic-20191202` - Upgrade `libgit2` to version `0.28.4` - Upgrade `pygit2` to version `1.0.2` **2019.2.2** -- Upgrade SaltStack Master to `2019.2.2` +- Upgrade `salt-master` to `2019.2.2` - Change Docker base image to `ubuntu:bionic-20191010` **2019.2.1** -- Upgrade SaltStack Master to `2019.2.1` +- Upgrade `salt-master` to `2019.2.1` - Change Docker base image to `ubuntu:bionic-20190912.1` - Upgrade `libssh2` to version `1.9.0` - Upgrade `m2crypto` to version `0.35.2` **2019.2.0** -- Upgrade SaltStack Master to `2019.2.0` +- Upgrade `salt-master` to `2019.2.0` - Change Docker base image to `ubuntu:bionic-20190204` - Upgrade Python to version `3.6` - Upgrade `libgit2` to `0.27.8` @@ -86,12 +94,12 @@ Please refer to the SaltStack [Release Notes](https://docs.saltstack.com/en/late **2018.3.4** -- Upgrade SaltStack Master to `2018.3.4` +- Upgrade `salt-master` to `2018.3.4` - Change Docker base image to `ubuntu:xenial-20190122` **2018.3.3** -- Upgrade SaltStack Master to `2018.3.3` +- Upgrade `salt-master` to `2018.3.3` - Change Docker base image to `ubuntu:xenial-20181113` - Add `GitPython` support - Add `PyGit2` support @@ -106,4 +114,4 @@ Please refer to the SaltStack [Release Notes](https://docs.saltstack.com/en/late **2018.3.2** -- First version: SaltStack Master `2018.3.2` +- First version: `salt-master` `2018.3.2` diff --git a/Dockerfile b/Dockerfile index e7eea19..a534b27 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,15 +1,13 @@ -FROM ubuntu:focal-20200720 +FROM ubuntu:focal-20200925 ARG BUILD_DATE ARG VCS_REF # https://github.com/saltstack/salt/releases -ENV SALT_VERSION="3001.1" \ - PYTHON_VERSION="3.8" \ - LIBSSH2_VERSION="1.9.0" \ - LIBGIT2_VERSION="1.0.1" \ - PYGIT2_VERSION="1.2.1" \ - M2CRYPTO_VERSION="0.36.0" +ENV SALT_VERSION="3002" \ + PYTHON_VERSION="3.8" + +ENV IMAGE_VERSION="${SALT_VERSION}" ENV SALT_DOCKER_DIR="/etc/docker-salt" \ SALT_ROOT_DIR="/etc/salt" \ @@ -69,7 +67,7 @@ LABEL \ maintainer="carlos@cdalvaro.io" \ org.label-schema.vendor=cdalvaro \ org.label-schema.name="SaltStack Master" \ - org.label-schema.version=${SALT_VERSION} \ + org.label-schema.version=${IMAGE_VERSION} \ org.label-schema.description="Dockerized SaltStack Master" \ org.label-schema.url="https://github.com/cdalvaro/docker-salt-master" \ org.label-schema.vcs-url="https://github.com/cdalvaro/docker-salt-master.git" \ diff --git a/README.md b/README.md index 22626f2..23d37f4 100644 --- a/README.md +++ b/README.md @@ -1,11 +1,12 @@ [![SaltStack][saltstack_badge]][saltstack_release_notes] [![Ubuntu Image][ubuntu_badge]][ubuntu_hub_docker] +[![StackOverflow Community][stackoverflow_badge]][stackoverflow_community] +[![Slack Community][slack_badge]][slack_community] [![Publish Workflow][github_publish_badge]][github_publish_workflow] [![Docker Image Size][docker_size_badge]][docker_hub_tags] [![CodeFactor][codefactor_badge]][codefactor_score] -[![StackOverflow Community][stackoverflow_badge]][stackoverflow_community] -# Dockerized SaltStack Master Sodium v3001.1 +# Dockerized SaltStack Master Magnesium v3002 Dockerfile to build a [SaltStack](https://www.saltstack.com) Master image for the Docker opensource container platform. @@ -43,7 +44,7 @@ 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/docker-salt-master/) and is the recommended method of installation. ```sh -docker pull cdalvaro/docker-salt-master:3001.1 +docker pull cdalvaro/docker-salt-master:3002 ``` You can also pull the latest tag which is built from the repository `HEAD` @@ -92,7 +93,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/docker-salt-master:3001.1 + cdalvaro/docker-salt-master:latest ``` ## Configuration @@ -119,7 +120,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/docker-salt-master:3001.1 + cdalvaro/docker-salt-master:latest ``` ### Master Signed Keys @@ -134,7 +135,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/docker-salt-master:3001.1 + cdalvaro/docker-salt-master:latest ``` The container will create the `master_sign` key and its signature. @@ -146,7 +147,7 @@ Additionally, you can generate new keys by executing the following command: ```sh docker run --name salt_stack -it --rm \ --volume $(pwd)/keys/:/home/salt/data/keys/ \ - cdalvaro/docker-salt-master:3001.1 \ + cdalvaro/docker-salt-master:latest \ app:gen-signed-keys new_master_sign ``` @@ -177,7 +178,7 @@ docker run --name salt_stack --detach \ --volume $(pwd)/roots/:/home/salt/data/srv/ \ --volume $(pwd)/keys/:/home/salt/data/keys/ \ --volume $(pwd)/config/:/home/salt/data/config/ \ - cdalvaro/docker-salt-master:3001.1 + cdalvaro/docker-salt-master:latest ``` If you choose using the [docker-compose.yml](docker-compose.yml) to manage your salt-master instance, @@ -251,7 +252,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/docker-salt-master:3001.1 + cdalvaro/docker-salt-master:latest ``` ### Git Fileserver @@ -339,7 +340,7 @@ docker run --name salt_stack -it --rm \ --volume $(pwd)/roots/:/home/salt/data/srv/ \ --volume $(pwd)/3pfs/:/home/salt/data/3pfs/ \ --volume $(pwd)/keys/:/home/salt/data/keys/ \ - cdalvaro/docker-salt-master:3001.1 + cdalvaro/docker-salt-master:latest ``` If you need to add more third party formulas, you can restart the container, or you can type the following command: @@ -363,7 +364,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/docker-salt-master:3001.1 + cdalvaro/docker-salt-master:latest ``` Check [Available Configuration Parameters](#available-configuration-parameters) section for configuring logrotate. @@ -382,7 +383,7 @@ version: "3" services: master: container_name: salt_master - image: cdalvaro/docker-salt-master:3001.1 + image: cdalvaro/docker-salt-master:latest healthcheck: test: ["CMD", "/usr/local/sbin/healthcheck"] start_period: 30s @@ -401,7 +402,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/docker-salt-master:3001.1 + cdalvaro/docker-salt-master:latest ``` Then you can manually check this info by running the following command: @@ -486,7 +487,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/docker-salt-master:3001.1 + cdalvaro/docker-salt-master:latest ``` ## Usage @@ -527,9 +528,9 @@ Where `salt-service` is one of: `salt-master` os `salt-api` (if `SALT_API_SERVIC - https://docs.saltstack.com/en/latest/topics/tutorials/salt_bootstrap.html - https://github.com/saltstack/salt/releases -[saltstack_badge]: https://img.shields.io/badge/SaltStack-v3001.1-lightgrey.svg?style=flat-square&logo=Saltstack -[saltstack_release_notes]: https://docs.saltstack.com/en/latest/topics/releases/3001.1.html "SaltStack Release Notes" -[ubuntu_badge]: https://img.shields.io/badge/ubuntu-focal--20200720-E95420.svg?style=flat-square&logo=Ubuntu +[saltstack_badge]: https://img.shields.io/badge/SaltStack-v3002-lightgrey.svg?style=flat-square&logo=Saltstack +[saltstack_release_notes]: https://docs.saltstack.com/en/latest/topics/releases/3002.html "SaltStack Release Notes" +[ubuntu_badge]: https://img.shields.io/badge/ubuntu-focal--20200925-E95420.svg?style=flat-square&logo=Ubuntu [ubuntu_hub_docker]: https://hub.docker.com/_/ubuntu/ "Ubuntu Image" [github_publish_badge]: https://img.shields.io/github/workflow/status/cdalvaro/docker-salt-master/Publish%20Docker%20image?style=flat-square&label=build&logo=GitHub&logoColor=%23181717 [github_publish_workflow]: https://github.com/cdalvaro/docker-salt-master/actions?query=workflow%3A%22Publish+Docker+image%22 @@ -539,3 +540,5 @@ Where `salt-service` is one of: `salt-master` os `salt-api` (if `SALT_API_SERVIC [codefactor_score]: https://www.codefactor.io/repository/github/cdalvaro/docker-salt-master [stackoverflow_badge]: https://img.shields.io/badge/stackoverflow-community-orange?style=flat-square&logo=stackoverflow&color=FE7A16 [stackoverflow_community]: https://stackoverflow.com/tags/salt-stack +[slack_badge]: https://img.shields.io/badge/slack-@saltstackcommunity-blue.svg?style=flat-square&logo=slack&logoColor=4A154B&color=4A154B +[slack_community]: https://saltstackcommunity.herokuapp.com \ No newline at end of file diff --git a/VERSION b/VERSION index d1e07a8..bcce32e 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -3001.1 \ No newline at end of file +3002 \ No newline at end of file diff --git a/assets/build/install.sh b/assets/build/install.sh index 275d7de..83882c2 100755 --- a/assets/build/install.sh +++ b/assets/build/install.sh @@ -4,20 +4,16 @@ set -e source "${SALT_BUILD_DIR}/functions.sh" -# Install build dependencies -echo "Installing dependencies ..." -BUILD_DEPENDENCIES=( - cmake gcc g++ make \ - libhttp-parser-dev libssl-dev zlib1g-dev \ - libcurl4-openssl-dev libffi-dev swig \ -) - +echo "Updating repositories ..." apt-get update -DEBIAN_FRONTEND=noninteractive apt-get install --yes --quiet --no-install-recommends "${BUILD_DEPENDENCIES[@]}" -# Mute sudo RLIMIT_CORE message -> Fixed in sudo 1.8.31p1 -echo "Muted sudo RLIMIT_CORE message" -echo "Set disable_coredump false" >> /etc/sudo.conf +# Install arm build dependencies +if [[ "$(uname -i)" =~ ^(arm|aarch64) ]]; then + echo "Installing arm dependencies ..." + DEBIAN_FRONTEND=noninteractive apt-get install --yes --quiet --no-install-recommends \ + make gcc g++ cmake libzmq3-dev \ + libhttp-parser-dev libssl-dev libcurl4-openssl-dev +fi # Create salt user echo "Creating ${SALT_USER} user ..." @@ -28,32 +24,12 @@ exec_as_salt cat >> "${SALT_HOME}/.profile" <