├── .devcontainer ├── Dockerfile └── devcontainer.json ├── .github ├── ISSUE_TEMPLATE │ ├── bug_report.md │ └── feature_request.md └── workflows │ ├── build-almalinux.yml │ ├── build-alpine.yml │ ├── build-amazonlinux.yml │ ├── build-archlinux.yml │ ├── build-centos.yml │ ├── build-clearlinux.yml │ ├── build-debian.yml │ ├── build-elementary.yml │ ├── build-fedora.yml │ ├── build-opensuse.yml │ ├── build-oraclelinux.yml │ ├── build-rockylinux.yml │ ├── build-ubi-minimal.yml │ ├── build-ubuntu.yml │ ├── push-almalinux.yml │ ├── push-alpine.yml │ ├── push-amazonlinux.yml │ ├── push-archlinux.yml │ ├── push-centos.yml │ ├── push-clearlinux.yml │ ├── push-debian.yml │ ├── push-elementary.yml │ ├── push-fedora.yml │ ├── push-opensuse.yml │ ├── push-oraclelinux.yml │ ├── push-rockylinux.yml │ ├── push-ubi-minimal.yml │ └── push-ubuntu.yml ├── .gitignore ├── .pre-commit-config.yaml ├── CHANGELOG.md ├── Gemfile ├── LICENSE ├── README.md ├── almalinux-ansible ├── Dockerfile.almalinux-8 └── Dockerfile.almalinux-9 ├── alpine-ansible └── Dockerfile.alpine-latest ├── amazonlinux-ansible ├── Dockerfile.amazonlinux-1 ├── Dockerfile.amazonlinux-2 └── Dockerfile.amazonlinux-2023 ├── archlinux-ansible └── Dockerfile.archlinux-latest ├── centos-ansible ├── Dockerfile.centos-6 ├── Dockerfile.centos-7 ├── Dockerfile.centos-8 ├── Dockerfile.centos-stream8 ├── Dockerfile.centos-stream9 └── centos-6-vault-repos │ └── CentOS-Vault.repo ├── clearlinux-ansible └── Dockerfile.clearlinux-latest ├── debian-ansible ├── Dockerfile.debian-10 ├── Dockerfile.debian-11 ├── Dockerfile.debian-12 ├── Dockerfile.debian-7 ├── Dockerfile.debian-8 ├── Dockerfile.debian-9 ├── Dockerfile.debian-testing └── debian-7-apt │ └── sources.list ├── elementary-ansible └── Dockerfile.elementary-juno ├── fedora-ansible ├── Dockerfile.fedora-26 ├── Dockerfile.fedora-27 ├── Dockerfile.fedora-28 ├── Dockerfile.fedora-29 ├── Dockerfile.fedora-30 ├── Dockerfile.fedora-31 ├── Dockerfile.fedora-32 ├── Dockerfile.fedora-33 ├── Dockerfile.fedora-34 ├── Dockerfile.fedora-35 ├── Dockerfile.fedora-36 ├── Dockerfile.fedora-37 ├── Dockerfile.fedora-38 ├── Dockerfile.fedora-39 ├── Dockerfile.fedora-40 ├── Dockerfile.fedora-41 ├── Dockerfile.fedora-42 └── Dockerfile.fedora-43 ├── gentoo-ansible └── Dockerfile.gentoo-latest ├── opensuse-ansible ├── Dockerfile.opensuse-13.2 ├── Dockerfile.opensuse-15 ├── Dockerfile.opensuse-15.1 ├── Dockerfile.opensuse-42.2 ├── Dockerfile.opensuse-42.3 ├── Dockerfile.opensuse-leap └── Dockerfile.opensuse-tumbleweed ├── oraclelinux-ansible ├── Dockerfile.oraclelinux-6 ├── Dockerfile.oraclelinux-7 ├── Dockerfile.oraclelinux-8 └── Dockerfile.oraclelinux-9 ├── pureos-ansible └── Dockerfile.pureos-byzantium ├── rockylinux-ansible ├── Dockerfile.rockylinux-8 ├── Dockerfile.rockylinux-8.4-rc1 └── Dockerfile.rockylinux-9 ├── tests └── inspec │ └── ansible_spec.rb ├── ubi-minimal-ansible ├── Dockerfile.ubi-minimal-8 └── Dockerfile.ubi-minimal-9 └── ubuntu-ansible ├── Dockerfile.ubuntu-12.04 ├── Dockerfile.ubuntu-14.04 ├── Dockerfile.ubuntu-16.04 ├── Dockerfile.ubuntu-17.10 ├── Dockerfile.ubuntu-18.04 ├── Dockerfile.ubuntu-19.04 ├── Dockerfile.ubuntu-20.04 ├── Dockerfile.ubuntu-22.04 └── Dockerfile.ubuntu-24.04 /.devcontainer/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM mcr.microsoft.com/devcontainers/base:ubuntu-22.04 2 | 3 | RUN apt-get update && export DEBIAN_FRONTEND=noninteractive \ 4 | && apt-get -y install --no-install-recommends \ 5 | acl \ 6 | ansible \ 7 | curl \ 8 | git \ 9 | gnupg \ 10 | iproute2 \ 11 | iputils-ping \ 12 | jq \ 13 | less \ 14 | libssl-dev \ 15 | lsb-release \ 16 | make \ 17 | nano \ 18 | openssh-client \ 19 | procps \ 20 | python3 \ 21 | python3-pip \ 22 | python3-venv \ 23 | sudo \ 24 | unzip \ 25 | vim \ 26 | wget \ 27 | zip \ 28 | zsh \ 29 | && apt-get clean \ 30 | && rm -rf /var/lib/apt/lists/* 31 | 32 | RUN ansible-galaxy role install diodonfrost.ohmyzsh && \ 33 | ansible-pull -U https://github.com/diodonfrost/ansible-role-ohmyzsh tests/test.yml -e "ohmyzsh_theme=powerlevel10k/powerlevel10k" -e '{"ohmyzsh_users": [vscode]}' 34 | 35 | RUN ansible-galaxy role install diodonfrost.p10k && \ 36 | ansible-pull -U https://github.com/diodonfrost/ansible-role-p10k tests/test.yml -e "zsh_plugin=ohmyzsh" -e '{"p10k_users": [vscode]}' 37 | -------------------------------------------------------------------------------- /.devcontainer/devcontainer.json: -------------------------------------------------------------------------------- 1 | { 2 | "build": { "dockerfile": "Dockerfile", "context": "../" }, 3 | 4 | "customizations": { 5 | "vscode": { 6 | "extensions": [ 7 | "hashicorp.terraform", 8 | "redhat.vscode-yaml", 9 | "vscode-icons-team.vscode-icons", 10 | "isudox.vscode-jetbrains-keybindings", 11 | "GitHub.vscode-github-actions" 12 | ], 13 | "settings": { 14 | // Fonts MesLGS NF should be install: https://github.com/romkatv/powerlevel10k-media/blob/master/MesloLGS%20NF%20Regular.ttf 15 | "terminal.integrated.fontFamily": "MesloLGS NF", 16 | "redhat.telemetry.enabled": false, 17 | "aws.telemetry": false, 18 | "workbench.iconTheme": "vscode-icons", 19 | "vsicons.dontShowNewVersionMessage": true, 20 | "editor.rulers": [88,120] 21 | } 22 | } 23 | }, 24 | "features": { 25 | "ghcr.io/devcontainers/features/docker-outside-of-docker:1": {} 26 | }, 27 | "remoteEnv": { "PATH": "${containerEnv:PATH}:/home/vscode/.local/bin" }, 28 | "remoteUser": "vscode" 29 | } 30 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/bug_report.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: 🐛 Bug report 3 | about: Create a report to help us improve 4 | --- 5 | 6 | ##### SUMMARY 7 | 8 | 9 | ##### STEPS TO REPRODUCE 10 | 11 | ```yaml 12 | 13 | ``` 14 | 15 | 16 | 17 | ##### EXPECTED RESULTS 18 | 19 | ```paste below 20 | 21 | ``` 22 | 23 | ##### ACTUAL RESULTS 24 | 25 | ```paste below 26 | 27 | ``` 28 | 29 | ##### ENVIRONMENT 30 | 31 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/feature_request.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: ✨ Feature request 3 | about: Suggest an idea for this project 4 | --- 5 | 6 | ##### SUMMARY 7 | 8 | 9 | ##### ADDITIONAL INFORMATION 10 | 11 | 12 | 13 | ```yaml 14 | 15 | ``` 16 | 17 | 18 | -------------------------------------------------------------------------------- /.github/workflows/build-almalinux.yml: -------------------------------------------------------------------------------- 1 | name: Build 2 | 3 | on: 4 | push: 5 | paths: 6 | - 'almalinux-ansible/**' 7 | pull_request: 8 | paths: 9 | - 'almalinux-ansible/**' 10 | schedule: 11 | - cron: '0 18 * * sun' 12 | 13 | jobs: 14 | build: 15 | name: ${{ matrix.distribution.image }}-${{ matrix.distribution.version }} 16 | runs-on: ubuntu-22.04 17 | strategy: 18 | fail-fast: false 19 | matrix: 20 | distribution: 21 | - image: almalinux 22 | version: "8" 23 | platform: "linux/amd64,linux/arm64/v8" 24 | - image: almalinux 25 | version: "9" 26 | platform: "linux/amd64,linux/arm64/v8" 27 | 28 | steps: 29 | - name: Checkout repository 30 | uses: actions/checkout@v3 31 | 32 | - name: Install Inspec 33 | run: curl https://omnitruck.chef.io/install.sh | sudo bash -s -- -P inspec -v 5.21.29 34 | 35 | - name: Set up QEMU 36 | uses: docker/setup-qemu-action@v2 37 | 38 | - name: Set up Docker Buildx 39 | uses: docker/setup-buildx-action@v2 40 | 41 | - name: Build and export to Docker 42 | uses: docker/build-push-action@v4 43 | with: 44 | no-cache: true 45 | load: true 46 | file: ${{ matrix.distribution.image }}-ansible/Dockerfile.${{ matrix.distribution.image }}-${{ matrix.distribution.version }} 47 | tags: diodonfrost/ansible-${{ matrix.distribution.image }}:${{ matrix.distribution.version }} 48 | context: ${{ matrix.distribution.image }}-ansible 49 | 50 | - name: Test Docker images 51 | run: | 52 | container_id=$(mktemp) 53 | sudo docker run \ 54 | --detach \ 55 | --privileged \ 56 | --cgroupns=host \ 57 | -v /sys/fs/cgroup:/sys/fs/cgroup:rw \ 58 | -v /var/lib/containerd \ 59 | diodonfrost/ansible-${{ matrix.distribution.image }}:${{ matrix.distribution.version }} > "${container_id}" 60 | 61 | inspec exec tests/inspec --chef-license accept-silent -t docker://$(cat ${container_id}) 62 | 63 | - name: Build images on multiple platforms 64 | uses: docker/build-push-action@v4 65 | with: 66 | no-cache: true 67 | platforms: ${{ matrix.distribution.platform }} 68 | file: ${{ matrix.distribution.image }}-ansible/Dockerfile.${{ matrix.distribution.image }}-${{ matrix.distribution.version }} 69 | tags: diodonfrost/ansible-${{ matrix.distribution.image }}:${{ matrix.distribution.version }} 70 | context: ${{ matrix.distribution.image }}-ansible -------------------------------------------------------------------------------- /.github/workflows/build-alpine.yml: -------------------------------------------------------------------------------- 1 | name: Build 2 | 3 | on: 4 | push: 5 | paths: 6 | - 'alpine-ansible/**' 7 | pull_request: 8 | paths: 9 | - 'alpine-ansible/**' 10 | schedule: 11 | - cron: '0 18 * * sun' 12 | 13 | jobs: 14 | build: 15 | name: ${{ matrix.distribution.image }}-${{ matrix.distribution.version }} 16 | runs-on: ubuntu-22.04 17 | strategy: 18 | fail-fast: false 19 | matrix: 20 | distribution: 21 | - image: alpine 22 | version: "latest" 23 | platform: "linux/386,linux/amd64,linux/arm/v6,linux/arm/v7,linux/arm64/v8" 24 | 25 | steps: 26 | - name: Checkout repository 27 | uses: actions/checkout@v3 28 | 29 | - name: Install Inspec 30 | run: curl https://omnitruck.chef.io/install.sh | sudo bash -s -- -P inspec -v 5.21.29 31 | 32 | - name: Set up QEMU 33 | uses: docker/setup-qemu-action@v2 34 | 35 | - name: Set up Docker Buildx 36 | uses: docker/setup-buildx-action@v2 37 | 38 | - name: Build and export to Docker 39 | uses: docker/build-push-action@v4 40 | with: 41 | no-cache: true 42 | load: true 43 | file: ${{ matrix.distribution.image }}-ansible/Dockerfile.${{ matrix.distribution.image }}-${{ matrix.distribution.version }} 44 | tags: diodonfrost/ansible-${{ matrix.distribution.image }}:${{ matrix.distribution.version }} 45 | context: ${{ matrix.distribution.image }}-ansible 46 | 47 | - name: Test Docker images 48 | run: | 49 | container_id=$(mktemp) 50 | sudo docker run \ 51 | --detach \ 52 | --privileged \ 53 | --cgroupns=host \ 54 | -v /sys/fs/cgroup:/sys/fs/cgroup:rw \ 55 | -v /var/lib/containerd \ 56 | diodonfrost/ansible-${{ matrix.distribution.image }}:${{ matrix.distribution.version }} > "${container_id}" 57 | 58 | inspec exec tests/inspec --chef-license accept-silent -t docker://$(cat ${container_id}) 59 | 60 | - name: Build images on multiple platforms 61 | uses: docker/build-push-action@v4 62 | with: 63 | no-cache: true 64 | platforms: ${{ matrix.distribution.platform }} 65 | file: ${{ matrix.distribution.image }}-ansible/Dockerfile.${{ matrix.distribution.image }}-${{ matrix.distribution.version }} 66 | tags: diodonfrost/ansible-${{ matrix.distribution.image }}:${{ matrix.distribution.version }} 67 | context: ${{ matrix.distribution.image }}-ansible -------------------------------------------------------------------------------- /.github/workflows/build-amazonlinux.yml: -------------------------------------------------------------------------------- 1 | name: Build 2 | 3 | on: 4 | push: 5 | paths: 6 | - 'amazonlinux-ansible/**' 7 | pull_request: 8 | paths: 9 | - 'amazonlinux-ansible/**' 10 | schedule: 11 | - cron: '0 18 * * sun' 12 | 13 | jobs: 14 | build: 15 | name: ${{ matrix.distribution.image }}-${{ matrix.distribution.version }} 16 | runs-on: ubuntu-22.04 17 | strategy: 18 | fail-fast: false 19 | matrix: 20 | distribution: 21 | - image: amazonlinux 22 | version: "2023" 23 | platform: "linux/amd64,linux/arm64/v8" 24 | - image: amazonlinux 25 | version: "2" 26 | platform: "linux/amd64,linux/arm64/v8" 27 | 28 | steps: 29 | - name: Checkout repository 30 | uses: actions/checkout@v3 31 | 32 | - name: Install Inspec 33 | run: curl https://omnitruck.chef.io/install.sh | sudo bash -s -- -P inspec -v 5.21.29 34 | 35 | - name: Set up QEMU 36 | uses: docker/setup-qemu-action@v2 37 | 38 | - name: Set up Docker Buildx 39 | uses: docker/setup-buildx-action@v2 40 | 41 | - name: Build and export to Docker 42 | uses: docker/build-push-action@v4 43 | with: 44 | no-cache: true 45 | load: true 46 | file: ${{ matrix.distribution.image }}-ansible/Dockerfile.${{ matrix.distribution.image }}-${{ matrix.distribution.version }} 47 | tags: diodonfrost/ansible-${{ matrix.distribution.image }}:${{ matrix.distribution.version }} 48 | context: ${{ matrix.distribution.image }}-ansible 49 | 50 | - name: Test Docker images 51 | run: | 52 | container_id=$(mktemp) 53 | sudo docker run \ 54 | --detach \ 55 | --privileged \ 56 | --cgroupns=host \ 57 | -v /sys/fs/cgroup:/sys/fs/cgroup:rw \ 58 | -v /var/lib/containerd \ 59 | diodonfrost/ansible-${{ matrix.distribution.image }}:${{ matrix.distribution.version }} > "${container_id}" 60 | 61 | inspec exec tests/inspec --chef-license accept-silent -t docker://$(cat ${container_id}) 62 | 63 | - name: Build images on multiple platforms 64 | uses: docker/build-push-action@v4 65 | with: 66 | no-cache: true 67 | platforms: ${{ matrix.distribution.platform }} 68 | file: ${{ matrix.distribution.image }}-ansible/Dockerfile.${{ matrix.distribution.image }}-${{ matrix.distribution.version }} 69 | tags: diodonfrost/ansible-${{ matrix.distribution.image }}:${{ matrix.distribution.version }} 70 | context: ${{ matrix.distribution.image }}-ansible -------------------------------------------------------------------------------- /.github/workflows/build-archlinux.yml: -------------------------------------------------------------------------------- 1 | name: Build 2 | 3 | on: 4 | push: 5 | paths: 6 | - 'archlinux-ansible/**' 7 | pull_request: 8 | paths: 9 | - 'archlinux-ansible/**' 10 | schedule: 11 | - cron: '0 18 * * sun' 12 | 13 | jobs: 14 | build: 15 | name: ${{ matrix.distribution.image }}-${{ matrix.distribution.version }} 16 | runs-on: ubuntu-22.04 17 | strategy: 18 | fail-fast: false 19 | matrix: 20 | distribution: 21 | - image: archlinux 22 | version: "latest" 23 | platform: "linux/amd64" 24 | 25 | steps: 26 | - name: Checkout repository 27 | uses: actions/checkout@v3 28 | 29 | - name: Install Inspec 30 | run: curl https://omnitruck.chef.io/install.sh | sudo bash -s -- -P inspec -v 5.21.29 31 | 32 | - name: Set up QEMU 33 | uses: docker/setup-qemu-action@v2 34 | 35 | - name: Set up Docker Buildx 36 | uses: docker/setup-buildx-action@v2 37 | 38 | - name: Build and export to Docker 39 | uses: docker/build-push-action@v4 40 | with: 41 | no-cache: true 42 | load: true 43 | file: ${{ matrix.distribution.image }}-ansible/Dockerfile.${{ matrix.distribution.image }}-${{ matrix.distribution.version }} 44 | tags: diodonfrost/ansible-${{ matrix.distribution.image }}:${{ matrix.distribution.version }} 45 | context: ${{ matrix.distribution.image }}-ansible 46 | 47 | - name: Test Docker images 48 | run: | 49 | container_id=$(mktemp) 50 | sudo docker run \ 51 | --detach \ 52 | --privileged \ 53 | --cgroupns=host \ 54 | -v /sys/fs/cgroup:/sys/fs/cgroup:rw \ 55 | -v /var/lib/containerd \ 56 | diodonfrost/ansible-${{ matrix.distribution.image }}:${{ matrix.distribution.version }} > "${container_id}" 57 | 58 | inspec exec tests/inspec --chef-license accept-silent -t docker://$(cat ${container_id}) 59 | 60 | - name: Build images on multiple platforms 61 | uses: docker/build-push-action@v4 62 | with: 63 | no-cache: true 64 | platforms: ${{ matrix.distribution.platform }} 65 | file: ${{ matrix.distribution.image }}-ansible/Dockerfile.${{ matrix.distribution.image }}-${{ matrix.distribution.version }} 66 | tags: diodonfrost/ansible-${{ matrix.distribution.image }}:${{ matrix.distribution.version }} 67 | context: ${{ matrix.distribution.image }}-ansible -------------------------------------------------------------------------------- /.github/workflows/build-centos.yml: -------------------------------------------------------------------------------- 1 | name: Build 2 | 3 | on: 4 | push: 5 | paths: 6 | - 'centos-ansible/**' 7 | pull_request: 8 | paths: 9 | - 'centos-ansible/**' 10 | schedule: 11 | - cron: '0 18 * * sun' 12 | 13 | jobs: 14 | build: 15 | name: ${{ matrix.distribution.image }}-${{ matrix.distribution.version }} 16 | runs-on: ubuntu-22.04 17 | strategy: 18 | fail-fast: false 19 | matrix: 20 | distribution: 21 | - image: centos 22 | version: "6" 23 | platform: "linux/amd64" 24 | - image: centos 25 | version: "7" 26 | platform: "linux/amd64" 27 | - image: centos 28 | version: "stream8" 29 | platform: "linux/amd64" 30 | - image: centos 31 | version: "stream9" 32 | platform: "linux/amd64" 33 | 34 | steps: 35 | - name: Checkout repository 36 | uses: actions/checkout@v3 37 | 38 | - name: Install Inspec 39 | run: curl https://omnitruck.chef.io/install.sh | sudo bash -s -- -P inspec -v 5.21.29 40 | 41 | - name: Set up QEMU 42 | uses: docker/setup-qemu-action@v2 43 | 44 | - name: Set up Docker Buildx 45 | uses: docker/setup-buildx-action@v2 46 | 47 | - name: Build and export to Docker 48 | uses: docker/build-push-action@v4 49 | with: 50 | no-cache: true 51 | load: true 52 | file: ${{ matrix.distribution.image }}-ansible/Dockerfile.${{ matrix.distribution.image }}-${{ matrix.distribution.version }} 53 | tags: diodonfrost/ansible-${{ matrix.distribution.image }}:${{ matrix.distribution.version }} 54 | context: ${{ matrix.distribution.image }}-ansible 55 | 56 | - name: Test Docker images 57 | run: | 58 | container_id=$(mktemp) 59 | sudo docker run \ 60 | --detach \ 61 | --privileged \ 62 | --cgroupns=host \ 63 | -v /sys/fs/cgroup:/sys/fs/cgroup:rw \ 64 | -v /var/lib/containerd \ 65 | diodonfrost/ansible-${{ matrix.distribution.image }}:${{ matrix.distribution.version }} > "${container_id}" 66 | 67 | inspec exec tests/inspec --chef-license accept-silent -t docker://$(cat ${container_id}) 68 | 69 | - name: Build images on multiple platforms 70 | uses: docker/build-push-action@v4 71 | with: 72 | no-cache: true 73 | platforms: ${{ matrix.distribution.platform }} 74 | file: ${{ matrix.distribution.image }}-ansible/Dockerfile.${{ matrix.distribution.image }}-${{ matrix.distribution.version }} 75 | tags: diodonfrost/ansible-${{ matrix.distribution.image }}:${{ matrix.distribution.version }} 76 | context: ${{ matrix.distribution.image }}-ansible -------------------------------------------------------------------------------- /.github/workflows/build-clearlinux.yml: -------------------------------------------------------------------------------- 1 | name: Build 2 | 3 | on: 4 | push: 5 | paths: 6 | - 'clearlinux-ansible/**' 7 | pull_request: 8 | paths: 9 | - 'clearlinux-ansible/**' 10 | schedule: 11 | - cron: '0 18 * * sun' 12 | 13 | jobs: 14 | build: 15 | name: ${{ matrix.distribution.image }}-${{ matrix.distribution.version }} 16 | runs-on: ubuntu-22.04 17 | strategy: 18 | fail-fast: false 19 | matrix: 20 | distribution: 21 | - image: clearlinux 22 | version: "latest" 23 | platform: "linux/amd64" 24 | 25 | steps: 26 | - name: Checkout repository 27 | uses: actions/checkout@v3 28 | 29 | - name: Install Inspec 30 | run: curl https://omnitruck.chef.io/install.sh | sudo bash -s -- -P inspec -v 5.21.29 31 | 32 | - name: Set up QEMU 33 | uses: docker/setup-qemu-action@v2 34 | 35 | - name: Set up Docker Buildx 36 | uses: docker/setup-buildx-action@v2 37 | 38 | - name: Build and export to Docker 39 | uses: docker/build-push-action@v4 40 | with: 41 | no-cache: true 42 | load: true 43 | file: ${{ matrix.distribution.image }}-ansible/Dockerfile.${{ matrix.distribution.image }}-${{ matrix.distribution.version }} 44 | tags: diodonfrost/ansible-${{ matrix.distribution.image }}:${{ matrix.distribution.version }} 45 | context: ${{ matrix.distribution.image }}-ansible 46 | 47 | - name: Test Docker images 48 | run: | 49 | container_id=$(mktemp) 50 | sudo docker run \ 51 | --detach \ 52 | --privileged \ 53 | --cgroupns=host \ 54 | -v /sys/fs/cgroup:/sys/fs/cgroup:rw \ 55 | -v /var/lib/containerd \ 56 | diodonfrost/ansible-${{ matrix.distribution.image }}:${{ matrix.distribution.version }} > "${container_id}" 57 | 58 | inspec exec tests/inspec --chef-license accept-silent -t docker://$(cat ${container_id}) 59 | 60 | - name: Build images on multiple platforms 61 | uses: docker/build-push-action@v4 62 | with: 63 | no-cache: true 64 | platforms: ${{ matrix.distribution.platform }} 65 | file: ${{ matrix.distribution.image }}-ansible/Dockerfile.${{ matrix.distribution.image }}-${{ matrix.distribution.version }} 66 | tags: diodonfrost/ansible-${{ matrix.distribution.image }}:${{ matrix.distribution.version }} 67 | context: ${{ matrix.distribution.image }}-ansible -------------------------------------------------------------------------------- /.github/workflows/build-debian.yml: -------------------------------------------------------------------------------- 1 | name: Build 2 | 3 | on: 4 | push: 5 | paths: 6 | - 'debian-ansible/**' 7 | pull_request: 8 | paths: 9 | - 'debian-ansible/**' 10 | schedule: 11 | - cron: '0 18 * * sun' 12 | 13 | jobs: 14 | build: 15 | name: ${{ matrix.distribution.image }}-${{ matrix.distribution.version }} 16 | runs-on: ubuntu-22.04 17 | strategy: 18 | fail-fast: false 19 | matrix: 20 | distribution: 21 | - image: debian 22 | version: "10" 23 | platform: "linux/386,linux/amd64,linux/arm/v7,linux/arm64/v8" 24 | - image: debian 25 | version: "11" 26 | platform: "linux/386,linux/amd64,linux/arm/v7,linux/arm64/v8" 27 | - image: debian 28 | version: "12" 29 | platform: "linux/386,linux/amd64,linux/arm/v7,linux/arm64/v8" 30 | - image: debian 31 | version: "testing" 32 | platform: "linux/amd64" 33 | 34 | steps: 35 | - name: Checkout repository 36 | uses: actions/checkout@v3 37 | 38 | - name: Install Inspec 39 | run: curl https://omnitruck.chef.io/install.sh | sudo bash -s -- -P inspec -v 5.21.29 40 | 41 | - name: Set up QEMU 42 | uses: docker/setup-qemu-action@v2 43 | 44 | - name: Set up Docker Buildx 45 | uses: docker/setup-buildx-action@v2 46 | 47 | - name: Build and export to Docker 48 | uses: docker/build-push-action@v4 49 | with: 50 | no-cache: true 51 | load: true 52 | file: ${{ matrix.distribution.image }}-ansible/Dockerfile.${{ matrix.distribution.image }}-${{ matrix.distribution.version }} 53 | tags: diodonfrost/ansible-${{ matrix.distribution.image }}:${{ matrix.distribution.version }} 54 | context: ${{ matrix.distribution.image }}-ansible 55 | 56 | - name: Test Docker images 57 | run: | 58 | container_id=$(mktemp) 59 | sudo docker run \ 60 | --detach \ 61 | --privileged \ 62 | --cgroupns=host \ 63 | -v /sys/fs/cgroup:/sys/fs/cgroup:rw \ 64 | -v /var/lib/containerd \ 65 | diodonfrost/ansible-${{ matrix.distribution.image }}:${{ matrix.distribution.version }} > "${container_id}" 66 | 67 | inspec exec tests/inspec --chef-license accept-silent -t docker://$(cat ${container_id}) 68 | 69 | - name: Build images on multiple platforms 70 | uses: docker/build-push-action@v4 71 | with: 72 | no-cache: true 73 | platforms: ${{ matrix.distribution.platform }} 74 | file: ${{ matrix.distribution.image }}-ansible/Dockerfile.${{ matrix.distribution.image }}-${{ matrix.distribution.version }} 75 | tags: diodonfrost/ansible-${{ matrix.distribution.image }}:${{ matrix.distribution.version }} 76 | context: ${{ matrix.distribution.image }}-ansible -------------------------------------------------------------------------------- /.github/workflows/build-elementary.yml: -------------------------------------------------------------------------------- 1 | name: Build 2 | 3 | on: 4 | push: 5 | paths: 6 | - 'elementary-ansible/**' 7 | pull_request: 8 | paths: 9 | - 'elementary-ansible/**' 10 | schedule: 11 | - cron: '0 18 * * sun' 12 | 13 | jobs: 14 | build: 15 | name: ${{ matrix.distribution.image }}-${{ matrix.distribution.version }} 16 | runs-on: ubuntu-22.04 17 | strategy: 18 | fail-fast: false 19 | matrix: 20 | distribution: 21 | - image: elementary 22 | version: "juno" 23 | platform: "linux/amd64" 24 | 25 | steps: 26 | - name: Checkout repository 27 | uses: actions/checkout@v3 28 | 29 | - name: Install Inspec 30 | run: curl https://omnitruck.chef.io/install.sh | sudo bash -s -- -P inspec -v 5.21.29 31 | 32 | - name: Set up QEMU 33 | uses: docker/setup-qemu-action@v2 34 | 35 | - name: Set up Docker Buildx 36 | uses: docker/setup-buildx-action@v2 37 | 38 | - name: Build and export to Docker 39 | uses: docker/build-push-action@v4 40 | with: 41 | no-cache: true 42 | load: true 43 | file: ${{ matrix.distribution.image }}-ansible/Dockerfile.${{ matrix.distribution.image }}-${{ matrix.distribution.version }} 44 | tags: diodonfrost/ansible-${{ matrix.distribution.image }}:${{ matrix.distribution.version }} 45 | context: ${{ matrix.distribution.image }}-ansible 46 | 47 | - name: Test Docker images 48 | run: | 49 | container_id=$(mktemp) 50 | sudo docker run \ 51 | --detach \ 52 | --privileged \ 53 | --cgroupns=host \ 54 | -v /sys/fs/cgroup:/sys/fs/cgroup:rw \ 55 | -v /var/lib/containerd \ 56 | diodonfrost/ansible-${{ matrix.distribution.image }}:${{ matrix.distribution.version }} > "${container_id}" 57 | 58 | inspec exec tests/inspec --chef-license accept-silent -t docker://$(cat ${container_id}) 59 | 60 | - name: Build images on multiple platforms 61 | uses: docker/build-push-action@v4 62 | with: 63 | no-cache: true 64 | platforms: ${{ matrix.distribution.platform }} 65 | file: ${{ matrix.distribution.image }}-ansible/Dockerfile.${{ matrix.distribution.image }}-${{ matrix.distribution.version }} 66 | tags: diodonfrost/ansible-${{ matrix.distribution.image }}:${{ matrix.distribution.version }} 67 | context: ${{ matrix.distribution.image }}-ansible -------------------------------------------------------------------------------- /.github/workflows/build-fedora.yml: -------------------------------------------------------------------------------- 1 | name: Build 2 | 3 | on: 4 | push: 5 | paths: 6 | - 'fedora-ansible/**' 7 | pull_request: 8 | paths: 9 | - 'fedora-ansible/**' 10 | schedule: 11 | - cron: '0 18 * * sun' 12 | 13 | jobs: 14 | build: 15 | name: ${{ matrix.distribution.image }}-${{ matrix.distribution.version }} 16 | runs-on: ubuntu-22.04 17 | strategy: 18 | fail-fast: false 19 | matrix: 20 | distribution: 21 | - image: fedora 22 | version: "26" 23 | platform: "linux/amd64,linux/arm64/v8" 24 | - image: fedora 25 | version: "27" 26 | platform: "linux/amd64,linux/arm64/v8" 27 | - image: fedora 28 | version: "28" 29 | platform: "linux/amd64,linux/arm64/v8" 30 | - image: fedora 31 | version: "29" 32 | platform: "linux/amd64,linux/arm64/v8" 33 | - image: fedora 34 | version: "30" 35 | platform: "linux/amd64,linux/arm64/v8" 36 | - image: fedora 37 | version: "31" 38 | platform: "linux/amd64,linux/arm64/v8" 39 | - image: fedora 40 | version: "32" 41 | platform: "linux/amd64,linux/arm64/v8" 42 | - image: fedora 43 | version: "33" 44 | platform: "linux/amd64" 45 | - image: fedora 46 | version: "34" 47 | platform: "linux/amd64" 48 | - image: fedora 49 | version: "35" 50 | platform: "linux/amd64" 51 | - image: fedora 52 | version: "36" 53 | platform: "linux/amd64" 54 | - image: fedora 55 | version: "37" 56 | platform: "linux/amd64" 57 | - image: fedora 58 | version: "38" 59 | platform: "linux/amd64" 60 | - image: fedora 61 | version: "39" 62 | platform: "linux/amd64" 63 | - image: fedora 64 | version: "40" 65 | platform: "linux/amd64" 66 | - image: fedora 67 | version: "41" 68 | platform: "linux/amd64" 69 | - image: fedora 70 | version: "42" 71 | platform: "linux/amd64" 72 | - image: fedora 73 | version: "43" 74 | platform: "linux/amd64" 75 | 76 | steps: 77 | - name: Checkout repository 78 | uses: actions/checkout@v3 79 | 80 | - name: Install Inspec 81 | run: curl https://omnitruck.chef.io/install.sh | sudo bash -s -- -P inspec -v 5.21.29 82 | 83 | - name: Set up QEMU 84 | uses: docker/setup-qemu-action@v2 85 | 86 | - name: Set up Docker Buildx 87 | uses: docker/setup-buildx-action@v2 88 | 89 | - name: Build and export to Docker 90 | uses: docker/build-push-action@v4 91 | with: 92 | no-cache: true 93 | load: true 94 | file: ${{ matrix.distribution.image }}-ansible/Dockerfile.${{ matrix.distribution.image }}-${{ matrix.distribution.version }} 95 | tags: diodonfrost/ansible-${{ matrix.distribution.image }}:${{ matrix.distribution.version }} 96 | context: ${{ matrix.distribution.image }}-ansible 97 | 98 | - name: Test Docker images 99 | run: | 100 | container_id=$(mktemp) 101 | sudo docker run \ 102 | --detach \ 103 | --privileged \ 104 | --cgroupns=host \ 105 | -v /sys/fs/cgroup:/sys/fs/cgroup:rw \ 106 | -v /var/lib/containerd \ 107 | diodonfrost/ansible-${{ matrix.distribution.image }}:${{ matrix.distribution.version }} > "${container_id}" 108 | 109 | inspec exec tests/inspec --chef-license accept-silent -t docker://$(cat ${container_id}) 110 | 111 | - name: Build images on multiple platforms 112 | uses: docker/build-push-action@v4 113 | with: 114 | no-cache: true 115 | platforms: ${{ matrix.distribution.platform }} 116 | file: ${{ matrix.distribution.image }}-ansible/Dockerfile.${{ matrix.distribution.image }}-${{ matrix.distribution.version }} 117 | tags: diodonfrost/ansible-${{ matrix.distribution.image }}:${{ matrix.distribution.version }} 118 | context: ${{ matrix.distribution.image }}-ansible -------------------------------------------------------------------------------- /.github/workflows/build-opensuse.yml: -------------------------------------------------------------------------------- 1 | name: Build 2 | 3 | on: 4 | push: 5 | paths: 6 | - 'opensuse-ansible/**' 7 | pull_request: 8 | paths: 9 | - 'opensuse-ansible/**' 10 | schedule: 11 | - cron: '0 18 * * sun' 12 | 13 | jobs: 14 | build: 15 | name: ${{ matrix.distribution.image }}-${{ matrix.distribution.version }} 16 | runs-on: ubuntu-22.04 17 | strategy: 18 | fail-fast: false 19 | matrix: 20 | distribution: 21 | - image: opensuse 22 | version: "15" 23 | platform: "linux/amd64" 24 | - image: opensuse 25 | version: "15.1" 26 | platform: "linux/amd64" 27 | - image: opensuse 28 | version: "42.3" 29 | platform: "linux/amd64" 30 | - image: opensuse 31 | version: "leap" 32 | platform: "linux/amd64,linux/arm64/v8" 33 | 34 | steps: 35 | - name: Checkout repository 36 | uses: actions/checkout@v3 37 | 38 | - name: Install Inspec 39 | run: curl https://omnitruck.chef.io/install.sh | sudo bash -s -- -P inspec -v 5.21.29 40 | 41 | - name: Set up QEMU 42 | uses: docker/setup-qemu-action@v2 43 | 44 | - name: Set up Docker Buildx 45 | uses: docker/setup-buildx-action@v2 46 | 47 | - name: Build and export to Docker 48 | uses: docker/build-push-action@v4 49 | with: 50 | no-cache: true 51 | load: true 52 | file: ${{ matrix.distribution.image }}-ansible/Dockerfile.${{ matrix.distribution.image }}-${{ matrix.distribution.version }} 53 | tags: diodonfrost/ansible-${{ matrix.distribution.image }}:${{ matrix.distribution.version }} 54 | context: ${{ matrix.distribution.image }}-ansible 55 | 56 | - name: Test Docker images 57 | run: | 58 | container_id=$(mktemp) 59 | sudo docker run \ 60 | --detach \ 61 | --privileged \ 62 | --cgroupns=host \ 63 | -v /sys/fs/cgroup:/sys/fs/cgroup:rw \ 64 | -v /var/lib/containerd \ 65 | diodonfrost/ansible-${{ matrix.distribution.image }}:${{ matrix.distribution.version }} > "${container_id}" 66 | 67 | inspec exec tests/inspec --chef-license accept-silent -t docker://$(cat ${container_id}) 68 | 69 | - name: Build images on multiple platforms 70 | uses: docker/build-push-action@v4 71 | with: 72 | no-cache: true 73 | platforms: ${{ matrix.distribution.platform }} 74 | file: ${{ matrix.distribution.image }}-ansible/Dockerfile.${{ matrix.distribution.image }}-${{ matrix.distribution.version }} 75 | tags: diodonfrost/ansible-${{ matrix.distribution.image }}:${{ matrix.distribution.version }} 76 | context: ${{ matrix.distribution.image }}-ansible -------------------------------------------------------------------------------- /.github/workflows/build-oraclelinux.yml: -------------------------------------------------------------------------------- 1 | name: Build 2 | 3 | on: 4 | push: 5 | paths: 6 | - 'oraclelinux-ansible/**' 7 | pull_request: 8 | paths: 9 | - 'oraclelinux-ansible/**' 10 | schedule: 11 | - cron: '0 18 * * sun' 12 | 13 | jobs: 14 | build: 15 | name: ${{ matrix.distribution.image }}-${{ matrix.distribution.version }} 16 | runs-on: ubuntu-22.04 17 | strategy: 18 | fail-fast: false 19 | matrix: 20 | distribution: 21 | - image: oraclelinux 22 | version: "6" 23 | platform: "linux/amd64" 24 | - image: oraclelinux 25 | version: "7" 26 | platform: "linux/amd64,linux/arm64/v8" 27 | - image: oraclelinux 28 | version: "8" 29 | platform: "linux/amd64,linux/arm64/v8" 30 | - image: oraclelinux 31 | version: "9" 32 | platform: "linux/amd64,linux/arm64/v8" 33 | 34 | steps: 35 | - name: Checkout repository 36 | uses: actions/checkout@v3 37 | 38 | - name: Install Inspec 39 | run: curl https://omnitruck.chef.io/install.sh | sudo bash -s -- -P inspec -v 5.21.29 40 | 41 | - name: Set up QEMU 42 | uses: docker/setup-qemu-action@v2 43 | 44 | - name: Set up Docker Buildx 45 | uses: docker/setup-buildx-action@v2 46 | 47 | - name: Build and export to Docker 48 | uses: docker/build-push-action@v4 49 | with: 50 | no-cache: true 51 | load: true 52 | file: ${{ matrix.distribution.image }}-ansible/Dockerfile.${{ matrix.distribution.image }}-${{ matrix.distribution.version }} 53 | tags: diodonfrost/ansible-${{ matrix.distribution.image }}:${{ matrix.distribution.version }} 54 | context: ${{ matrix.distribution.image }}-ansible 55 | 56 | - name: Test Docker images 57 | run: | 58 | container_id=$(mktemp) 59 | sudo docker run \ 60 | --detach \ 61 | --privileged \ 62 | --cgroupns=host \ 63 | -v /sys/fs/cgroup:/sys/fs/cgroup:rw \ 64 | -v /var/lib/containerd \ 65 | diodonfrost/ansible-${{ matrix.distribution.image }}:${{ matrix.distribution.version }} > "${container_id}" 66 | 67 | inspec exec tests/inspec --chef-license accept-silent -t docker://$(cat ${container_id}) 68 | 69 | - name: Build images on multiple platforms 70 | uses: docker/build-push-action@v4 71 | with: 72 | no-cache: true 73 | platforms: ${{ matrix.distribution.platform }} 74 | file: ${{ matrix.distribution.image }}-ansible/Dockerfile.${{ matrix.distribution.image }}-${{ matrix.distribution.version }} 75 | tags: diodonfrost/ansible-${{ matrix.distribution.image }}:${{ matrix.distribution.version }} 76 | context: ${{ matrix.distribution.image }}-ansible -------------------------------------------------------------------------------- /.github/workflows/build-rockylinux.yml: -------------------------------------------------------------------------------- 1 | name: Build 2 | 3 | on: 4 | push: 5 | paths: 6 | - 'rockylinux-ansible/**' 7 | pull_request: 8 | paths: 9 | - 'rockylinux-ansible/**' 10 | schedule: 11 | - cron: '0 18 * * sun' 12 | 13 | jobs: 14 | build: 15 | name: ${{ matrix.distribution.image }}-${{ matrix.distribution.version }} 16 | runs-on: ubuntu-22.04 17 | strategy: 18 | fail-fast: false 19 | matrix: 20 | distribution: 21 | - image: rockylinux 22 | version: "8" 23 | platform: "linux/amd64" 24 | - image: rockylinux 25 | version: "9" 26 | platform: "linux/amd64" 27 | 28 | steps: 29 | - name: Checkout repository 30 | uses: actions/checkout@v3 31 | 32 | - name: Install Inspec 33 | run: curl https://omnitruck.chef.io/install.sh | sudo bash -s -- -P inspec -v 5.21.29 34 | 35 | - name: Set up QEMU 36 | uses: docker/setup-qemu-action@v2 37 | 38 | - name: Set up Docker Buildx 39 | uses: docker/setup-buildx-action@v2 40 | 41 | - name: Build and export to Docker 42 | uses: docker/build-push-action@v4 43 | with: 44 | no-cache: true 45 | load: true 46 | file: ${{ matrix.distribution.image }}-ansible/Dockerfile.${{ matrix.distribution.image }}-${{ matrix.distribution.version }} 47 | tags: diodonfrost/ansible-${{ matrix.distribution.image }}:${{ matrix.distribution.version }} 48 | context: ${{ matrix.distribution.image }}-ansible 49 | 50 | - name: Test Docker images 51 | run: | 52 | container_id=$(mktemp) 53 | sudo docker run \ 54 | --detach \ 55 | --privileged \ 56 | --cgroupns=host \ 57 | -v /sys/fs/cgroup:/sys/fs/cgroup:rw \ 58 | -v /var/lib/containerd \ 59 | diodonfrost/ansible-${{ matrix.distribution.image }}:${{ matrix.distribution.version }} > "${container_id}" 60 | 61 | inspec exec tests/inspec --chef-license accept-silent -t docker://$(cat ${container_id}) 62 | 63 | - name: Build images on multiple platforms 64 | uses: docker/build-push-action@v4 65 | with: 66 | no-cache: true 67 | platforms: ${{ matrix.distribution.platform }} 68 | file: ${{ matrix.distribution.image }}-ansible/Dockerfile.${{ matrix.distribution.image }}-${{ matrix.distribution.version }} 69 | tags: diodonfrost/ansible-${{ matrix.distribution.image }}:${{ matrix.distribution.version }} 70 | context: ${{ matrix.distribution.image }}-ansible -------------------------------------------------------------------------------- /.github/workflows/build-ubi-minimal.yml: -------------------------------------------------------------------------------- 1 | name: Build 2 | 3 | on: 4 | push: 5 | paths: 6 | - 'ubi-minimal-ansible/**' 7 | pull_request: 8 | paths: 9 | - 'ubi-minimal-ansible/**' 10 | schedule: 11 | - cron: '0 18 * * sun' 12 | 13 | jobs: 14 | build: 15 | name: ${{ matrix.distribution.image }}-${{ matrix.distribution.version }} 16 | runs-on: ubuntu-22.04 17 | strategy: 18 | fail-fast: false 19 | matrix: 20 | distribution: 21 | - image: ubi-minimal 22 | version: "8" 23 | platform: "linux/amd64,linux/arm64/v8" 24 | - image: ubi-minimal 25 | version: "9" 26 | platform: "linux/amd64,linux/arm64/v8" 27 | 28 | steps: 29 | - name: Checkout repository 30 | uses: actions/checkout@v3 31 | 32 | - name: Install Inspec 33 | run: curl https://omnitruck.chef.io/install.sh | sudo bash -s -- -P inspec -v 5.21.29 34 | 35 | - name: Set up QEMU 36 | uses: docker/setup-qemu-action@v2 37 | 38 | - name: Set up Docker Buildx 39 | uses: docker/setup-buildx-action@v2 40 | 41 | - name: Build and export to Docker 42 | uses: docker/build-push-action@v4 43 | with: 44 | no-cache: true 45 | load: true 46 | file: ${{ matrix.distribution.image }}-ansible/Dockerfile.${{ matrix.distribution.image }}-${{ matrix.distribution.version }} 47 | tags: diodonfrost/ansible-${{ matrix.distribution.image }}:${{ matrix.distribution.version }} 48 | context: ${{ matrix.distribution.image }}-ansible 49 | 50 | - name: Test Docker images 51 | run: | 52 | container_id=$(mktemp) 53 | sudo docker run \ 54 | --detach \ 55 | --privileged \ 56 | --cgroupns=host \ 57 | -v /sys/fs/cgroup:/sys/fs/cgroup:rw \ 58 | -v /var/lib/containerd \ 59 | diodonfrost/ansible-${{ matrix.distribution.image }}:${{ matrix.distribution.version }} > "${container_id}" 60 | 61 | inspec exec tests/inspec --chef-license accept-silent -t docker://$(cat ${container_id}) 62 | 63 | - name: Build images on multiple platforms 64 | uses: docker/build-push-action@v4 65 | with: 66 | no-cache: true 67 | platforms: ${{ matrix.distribution.platform }} 68 | file: ${{ matrix.distribution.image }}-ansible/Dockerfile.${{ matrix.distribution.image }}-${{ matrix.distribution.version }} 69 | tags: diodonfrost/ansible-${{ matrix.distribution.image }}:${{ matrix.distribution.version }} 70 | context: ${{ matrix.distribution.image }}-ansible -------------------------------------------------------------------------------- /.github/workflows/build-ubuntu.yml: -------------------------------------------------------------------------------- 1 | name: Build 2 | 3 | on: 4 | push: 5 | paths: 6 | - 'ubuntu-ansible/**' 7 | pull_request: 8 | paths: 9 | - 'ubuntu-ansible/**' 10 | schedule: 11 | - cron: '0 18 * * sun' 12 | 13 | jobs: 14 | build: 15 | name: ${{ matrix.distribution.image }}-${{ matrix.distribution.version }} 16 | runs-on: ubuntu-22.04 17 | strategy: 18 | fail-fast: false 19 | matrix: 20 | distribution: 21 | - image: ubuntu 22 | version: "14.04" 23 | platform: "linux/386,linux/amd64,linux/arm/v7,linux/arm64/v8" 24 | - image: ubuntu 25 | version: "16.04" 26 | platform: "linux/386,linux/amd64,linux/arm/v7,linux/arm64/v8" 27 | - image: ubuntu 28 | version: "18.04" 29 | platform: "linux/386,linux/amd64,linux/arm/v7,linux/arm64/v8" 30 | - image: ubuntu 31 | version: "20.04" 32 | platform: "linux/amd64,linux/arm/v7,linux/arm64/v8" 33 | - image: ubuntu 34 | version: "22.04" 35 | platform: "linux/amd64,linux/arm/v7,linux/arm64/v8" 36 | - image: ubuntu 37 | version: "24.04" 38 | platform: "linux/amd64,linux/arm/v7,linux/arm64/v8" 39 | 40 | steps: 41 | - name: Checkout repository 42 | uses: actions/checkout@v3 43 | 44 | - name: Install Inspec 45 | run: curl https://omnitruck.chef.io/install.sh | sudo bash -s -- -P inspec -v 5.21.29 46 | 47 | - name: Set up QEMU 48 | uses: docker/setup-qemu-action@v2 49 | 50 | - name: Set up Docker Buildx 51 | uses: docker/setup-buildx-action@v2 52 | 53 | - name: Build and export to Docker 54 | uses: docker/build-push-action@v4 55 | with: 56 | no-cache: true 57 | load: true 58 | file: ${{ matrix.distribution.image }}-ansible/Dockerfile.${{ matrix.distribution.image }}-${{ matrix.distribution.version }} 59 | tags: diodonfrost/ansible-${{ matrix.distribution.image }}:${{ matrix.distribution.version }} 60 | context: ${{ matrix.distribution.image }}-ansible 61 | 62 | - name: Test Docker images 63 | run: | 64 | container_id=$(mktemp) 65 | sudo docker run \ 66 | --detach \ 67 | --privileged \ 68 | --cgroupns=host \ 69 | -v /sys/fs/cgroup:/sys/fs/cgroup:rw \ 70 | -v /var/lib/containerd \ 71 | diodonfrost/ansible-${{ matrix.distribution.image }}:${{ matrix.distribution.version }} > "${container_id}" 72 | 73 | inspec exec tests/inspec --chef-license accept-silent -t docker://$(cat ${container_id}) 74 | 75 | - name: Build images on multiple platforms 76 | uses: docker/build-push-action@v4 77 | with: 78 | no-cache: true 79 | platforms: ${{ matrix.distribution.platform }} 80 | file: ${{ matrix.distribution.image }}-ansible/Dockerfile.${{ matrix.distribution.image }}-${{ matrix.distribution.version }} 81 | tags: diodonfrost/ansible-${{ matrix.distribution.image }}:${{ matrix.distribution.version }} 82 | context: ${{ matrix.distribution.image }}-ansible -------------------------------------------------------------------------------- /.github/workflows/push-almalinux.yml: -------------------------------------------------------------------------------- 1 | name: Push 2 | 3 | on: 4 | push: 5 | branches: 6 | - master 7 | paths: 8 | - 'almalinux-ansible/**' 9 | schedule: 10 | - cron: '0 18 * * sun' 11 | 12 | jobs: 13 | push: 14 | name: ${{ matrix.distribution.image }}-${{ matrix.distribution.version }} 15 | runs-on: ubuntu-22.04 16 | strategy: 17 | fail-fast: false 18 | matrix: 19 | distribution: 20 | - image: almalinux 21 | version: "8" 22 | platform: "linux/amd64,linux/arm64/v8" 23 | - image: almalinux 24 | version: "9" 25 | platform: "linux/amd64,linux/arm64/v8" 26 | 27 | steps: 28 | - name: Checkout repository 29 | uses: actions/checkout@v3 30 | 31 | - name: Install Inspec 32 | run: curl https://omnitruck.chef.io/install.sh | sudo bash -s -- -P inspec -v 5.21.29 33 | 34 | - name: Set up QEMU 35 | uses: docker/setup-qemu-action@v2 36 | 37 | - name: Set up Docker Buildx 38 | uses: docker/setup-buildx-action@v2 39 | 40 | - name: Login to Docker Hub 41 | uses: docker/login-action@v2 42 | with: 43 | username: ${{ secrets.DOCKER_USERNAME }} 44 | password: ${{ secrets.DOCKER_PASSWORD }} 45 | 46 | - name: Login to GitHub Container Registry 47 | uses: docker/login-action@v2 48 | with: 49 | registry: ghcr.io 50 | username: ${{ github.repository_owner }} 51 | password: ${{ secrets.GITHUB_TOKEN }} 52 | 53 | - name: Build and export to Docker 54 | uses: docker/build-push-action@v4 55 | with: 56 | no-cache: true 57 | load: true 58 | file: ${{ matrix.distribution.image }}-ansible/Dockerfile.${{ matrix.distribution.image }}-${{ matrix.distribution.version }} 59 | tags: diodonfrost/ansible-${{ matrix.distribution.image }}:${{ matrix.distribution.version }} 60 | context: ${{ matrix.distribution.image }}-ansible 61 | 62 | - name: Test Docker image 63 | run: | 64 | container_id=$(mktemp) 65 | sudo docker run \ 66 | --detach \ 67 | --privileged \ 68 | --cgroupns=host \ 69 | -v /sys/fs/cgroup:/sys/fs/cgroup:rw \ 70 | -v /var/lib/containerd \ 71 | diodonfrost/ansible-${{ matrix.distribution.image }}:${{ matrix.distribution.version }} > "${container_id}" 72 | 73 | inspec exec tests/inspec --chef-license accept-silent -t docker://$(cat ${container_id}) 74 | 75 | - name: Build and Push to docker.io and ghcr.io registries 76 | uses: docker/build-push-action@v4 77 | with: 78 | no-cache: false 79 | push: true 80 | platforms: ${{ matrix.distribution.platform }} 81 | file: ${{ matrix.distribution.image }}-ansible/Dockerfile.${{ matrix.distribution.image }}-${{ matrix.distribution.version }} 82 | context: ${{ matrix.distribution.image }}-ansible 83 | tags: | 84 | diodonfrost/ansible-${{ matrix.distribution.image }}:${{ matrix.distribution.version }} 85 | ghcr.io/diodonfrost/ansible-${{ matrix.distribution.image }}:${{ matrix.distribution.version }} -------------------------------------------------------------------------------- /.github/workflows/push-alpine.yml: -------------------------------------------------------------------------------- 1 | name: Push 2 | 3 | on: 4 | push: 5 | branches: 6 | - master 7 | paths: 8 | - 'alpine-ansible/**' 9 | schedule: 10 | - cron: '0 18 * * sun' 11 | 12 | jobs: 13 | push: 14 | name: ${{ matrix.distribution.image }}-${{ matrix.distribution.version }} 15 | runs-on: ubuntu-22.04 16 | strategy: 17 | fail-fast: false 18 | matrix: 19 | distribution: 20 | - image: alpine 21 | version: "latest" 22 | platform: "linux/386,linux/amd64,linux/arm/v6,linux/arm/v7,linux/arm64/v8" 23 | 24 | steps: 25 | - name: Checkout repository 26 | uses: actions/checkout@v3 27 | 28 | - name: Install Inspec 29 | run: curl https://omnitruck.chef.io/install.sh | sudo bash -s -- -P inspec -v 5.21.29 30 | 31 | - name: Set up QEMU 32 | uses: docker/setup-qemu-action@v2 33 | 34 | - name: Set up Docker Buildx 35 | uses: docker/setup-buildx-action@v2 36 | 37 | - name: Login to Docker Hub 38 | uses: docker/login-action@v2 39 | with: 40 | username: ${{ secrets.DOCKER_USERNAME }} 41 | password: ${{ secrets.DOCKER_PASSWORD }} 42 | 43 | - name: Login to GitHub Container Registry 44 | uses: docker/login-action@v2 45 | with: 46 | registry: ghcr.io 47 | username: ${{ github.repository_owner }} 48 | password: ${{ secrets.GITHUB_TOKEN }} 49 | 50 | - name: Build and export to Docker 51 | uses: docker/build-push-action@v4 52 | with: 53 | no-cache: true 54 | load: true 55 | file: ${{ matrix.distribution.image }}-ansible/Dockerfile.${{ matrix.distribution.image }}-${{ matrix.distribution.version }} 56 | tags: diodonfrost/ansible-${{ matrix.distribution.image }}:${{ matrix.distribution.version }} 57 | context: ${{ matrix.distribution.image }}-ansible 58 | 59 | - name: Test Docker image 60 | run: | 61 | container_id=$(mktemp) 62 | sudo docker run \ 63 | --detach \ 64 | --privileged \ 65 | --cgroupns=host \ 66 | -v /sys/fs/cgroup:/sys/fs/cgroup:rw \ 67 | -v /var/lib/containerd \ 68 | diodonfrost/ansible-${{ matrix.distribution.image }}:${{ matrix.distribution.version }} > "${container_id}" 69 | 70 | inspec exec tests/inspec --chef-license accept-silent -t docker://$(cat ${container_id}) 71 | 72 | - name: Build and Push to docker.io and ghcr.io registries 73 | uses: docker/build-push-action@v4 74 | with: 75 | no-cache: false 76 | push: true 77 | platforms: ${{ matrix.distribution.platform }} 78 | file: ${{ matrix.distribution.image }}-ansible/Dockerfile.${{ matrix.distribution.image }}-${{ matrix.distribution.version }} 79 | context: ${{ matrix.distribution.image }}-ansible 80 | tags: | 81 | diodonfrost/ansible-${{ matrix.distribution.image }}:${{ matrix.distribution.version }} 82 | ghcr.io/diodonfrost/ansible-${{ matrix.distribution.image }}:${{ matrix.distribution.version }} -------------------------------------------------------------------------------- /.github/workflows/push-amazonlinux.yml: -------------------------------------------------------------------------------- 1 | name: Push 2 | 3 | on: 4 | push: 5 | branches: 6 | - master 7 | paths: 8 | - 'amazonlinux-ansible/**' 9 | schedule: 10 | - cron: '0 18 * * sun' 11 | 12 | jobs: 13 | push: 14 | name: ${{ matrix.distribution.image }}-${{ matrix.distribution.version }} 15 | runs-on: ubuntu-22.04 16 | strategy: 17 | fail-fast: false 18 | matrix: 19 | distribution: 20 | - image: amazonlinux 21 | version: "2023" 22 | platform: "linux/amd64,linux/arm64/v8" 23 | - image: amazonlinux 24 | version: "2" 25 | platform: "linux/amd64,linux/arm64/v8" 26 | 27 | steps: 28 | - name: Checkout repository 29 | uses: actions/checkout@v3 30 | 31 | - name: Install Inspec 32 | run: curl https://omnitruck.chef.io/install.sh | sudo bash -s -- -P inspec -v 5.21.29 33 | 34 | - name: Set up QEMU 35 | uses: docker/setup-qemu-action@v2 36 | 37 | - name: Set up Docker Buildx 38 | uses: docker/setup-buildx-action@v2 39 | 40 | - name: Login to Docker Hub 41 | uses: docker/login-action@v2 42 | with: 43 | username: ${{ secrets.DOCKER_USERNAME }} 44 | password: ${{ secrets.DOCKER_PASSWORD }} 45 | 46 | - name: Login to GitHub Container Registry 47 | uses: docker/login-action@v2 48 | with: 49 | registry: ghcr.io 50 | username: ${{ github.repository_owner }} 51 | password: ${{ secrets.GITHUB_TOKEN }} 52 | 53 | - name: Build and export to Docker 54 | uses: docker/build-push-action@v4 55 | with: 56 | no-cache: true 57 | load: true 58 | file: ${{ matrix.distribution.image }}-ansible/Dockerfile.${{ matrix.distribution.image }}-${{ matrix.distribution.version }} 59 | tags: diodonfrost/ansible-${{ matrix.distribution.image }}:${{ matrix.distribution.version }} 60 | context: ${{ matrix.distribution.image }}-ansible 61 | 62 | - name: Test Docker image 63 | run: | 64 | container_id=$(mktemp) 65 | sudo docker run \ 66 | --detach \ 67 | --privileged \ 68 | --cgroupns=host \ 69 | -v /sys/fs/cgroup:/sys/fs/cgroup:rw \ 70 | -v /var/lib/containerd \ 71 | diodonfrost/ansible-${{ matrix.distribution.image }}:${{ matrix.distribution.version }} > "${container_id}" 72 | 73 | inspec exec tests/inspec --chef-license accept-silent -t docker://$(cat ${container_id}) 74 | 75 | - name: Build and Push to docker.io and ghcr.io registries 76 | uses: docker/build-push-action@v4 77 | with: 78 | no-cache: false 79 | push: true 80 | platforms: ${{ matrix.distribution.platform }} 81 | file: ${{ matrix.distribution.image }}-ansible/Dockerfile.${{ matrix.distribution.image }}-${{ matrix.distribution.version }} 82 | context: ${{ matrix.distribution.image }}-ansible 83 | tags: | 84 | diodonfrost/ansible-${{ matrix.distribution.image }}:${{ matrix.distribution.version }} 85 | ghcr.io/diodonfrost/ansible-${{ matrix.distribution.image }}:${{ matrix.distribution.version }} -------------------------------------------------------------------------------- /.github/workflows/push-archlinux.yml: -------------------------------------------------------------------------------- 1 | name: Push 2 | 3 | on: 4 | push: 5 | branches: 6 | - master 7 | paths: 8 | - 'archlinux-ansible/**' 9 | schedule: 10 | - cron: '0 18 * * sun' 11 | 12 | jobs: 13 | push: 14 | name: ${{ matrix.distribution.image }}-${{ matrix.distribution.version }} 15 | runs-on: ubuntu-22.04 16 | strategy: 17 | fail-fast: false 18 | matrix: 19 | distribution: 20 | - image: archlinux 21 | version: "latest" 22 | platform: "linux/amd64,linux/arm64/v8" 23 | 24 | steps: 25 | - name: Checkout repository 26 | uses: actions/checkout@v3 27 | 28 | - name: Install Inspec 29 | run: curl https://omnitruck.chef.io/install.sh | sudo bash -s -- -P inspec -v 5.21.29 30 | 31 | - name: Set up QEMU 32 | uses: docker/setup-qemu-action@v2 33 | 34 | - name: Set up Docker Buildx 35 | uses: docker/setup-buildx-action@v2 36 | 37 | - name: Login to Docker Hub 38 | uses: docker/login-action@v2 39 | with: 40 | username: ${{ secrets.DOCKER_USERNAME }} 41 | password: ${{ secrets.DOCKER_PASSWORD }} 42 | 43 | - name: Login to GitHub Container Registry 44 | uses: docker/login-action@v2 45 | with: 46 | registry: ghcr.io 47 | username: ${{ github.repository_owner }} 48 | password: ${{ secrets.GITHUB_TOKEN }} 49 | 50 | - name: Build and export to Docker 51 | uses: docker/build-push-action@v4 52 | with: 53 | no-cache: true 54 | load: true 55 | file: ${{ matrix.distribution.image }}-ansible/Dockerfile.${{ matrix.distribution.image }}-${{ matrix.distribution.version }} 56 | tags: diodonfrost/ansible-${{ matrix.distribution.image }}:${{ matrix.distribution.version }} 57 | context: ${{ matrix.distribution.image }}-ansible 58 | 59 | - name: Test Docker image 60 | run: | 61 | container_id=$(mktemp) 62 | sudo docker run \ 63 | --detach \ 64 | --privileged \ 65 | --cgroupns=host \ 66 | -v /sys/fs/cgroup:/sys/fs/cgroup:rw \ 67 | -v /var/lib/containerd \ 68 | diodonfrost/ansible-${{ matrix.distribution.image }}:${{ matrix.distribution.version }} > "${container_id}" 69 | 70 | inspec exec tests/inspec --chef-license accept-silent -t docker://$(cat ${container_id}) 71 | 72 | - name: Build and Push to docker.io and ghcr.io registries 73 | uses: docker/build-push-action@v4 74 | with: 75 | no-cache: false 76 | push: true 77 | platforms: ${{ matrix.distribution.platform }} 78 | file: ${{ matrix.distribution.image }}-ansible/Dockerfile.${{ matrix.distribution.image }}-${{ matrix.distribution.version }} 79 | context: ${{ matrix.distribution.image }}-ansible 80 | tags: | 81 | diodonfrost/ansible-${{ matrix.distribution.image }}:${{ matrix.distribution.version }} 82 | ghcr.io/diodonfrost/ansible-${{ matrix.distribution.image }}:${{ matrix.distribution.version }} -------------------------------------------------------------------------------- /.github/workflows/push-centos.yml: -------------------------------------------------------------------------------- 1 | name: Push 2 | 3 | on: 4 | push: 5 | branches: 6 | - master 7 | paths: 8 | - 'centos-ansible/**' 9 | schedule: 10 | - cron: '0 18 * * sun' 11 | 12 | jobs: 13 | push: 14 | name: ${{ matrix.distribution.image }}-${{ matrix.distribution.version }} 15 | runs-on: ubuntu-22.04 16 | strategy: 17 | fail-fast: false 18 | matrix: 19 | distribution: 20 | - image: centos 21 | version: "6" 22 | platform: "linux/amd64" 23 | - image: centos 24 | version: "7" 25 | platform: "linux/amd64" 26 | - image: centos 27 | version: "stream8" 28 | platform: "linux/amd64,linux/arm64/v8" 29 | - image: centos 30 | version: "stream9" 31 | platform: "linux/amd64,linux/arm64/v8" 32 | 33 | steps: 34 | - name: Checkout repository 35 | uses: actions/checkout@v3 36 | 37 | - name: Install Inspec 38 | run: curl https://omnitruck.chef.io/install.sh | sudo bash -s -- -P inspec -v 5.21.29 39 | 40 | - name: Set up QEMU 41 | uses: docker/setup-qemu-action@v2 42 | 43 | - name: Set up Docker Buildx 44 | uses: docker/setup-buildx-action@v2 45 | 46 | - name: Login to Docker Hub 47 | uses: docker/login-action@v2 48 | with: 49 | username: ${{ secrets.DOCKER_USERNAME }} 50 | password: ${{ secrets.DOCKER_PASSWORD }} 51 | 52 | - name: Login to GitHub Container Registry 53 | uses: docker/login-action@v2 54 | with: 55 | registry: ghcr.io 56 | username: ${{ github.repository_owner }} 57 | password: ${{ secrets.GITHUB_TOKEN }} 58 | 59 | - name: Build and export to Docker 60 | uses: docker/build-push-action@v4 61 | with: 62 | no-cache: true 63 | load: true 64 | file: ${{ matrix.distribution.image }}-ansible/Dockerfile.${{ matrix.distribution.image }}-${{ matrix.distribution.version }} 65 | tags: diodonfrost/ansible-${{ matrix.distribution.image }}:${{ matrix.distribution.version }} 66 | context: ${{ matrix.distribution.image }}-ansible 67 | 68 | - name: Test Docker image 69 | run: | 70 | container_id=$(mktemp) 71 | sudo docker run \ 72 | --detach \ 73 | --privileged \ 74 | --cgroupns=host \ 75 | -v /sys/fs/cgroup:/sys/fs/cgroup:rw \ 76 | -v /var/lib/containerd \ 77 | diodonfrost/ansible-${{ matrix.distribution.image }}:${{ matrix.distribution.version }} > "${container_id}" 78 | 79 | inspec exec tests/inspec --chef-license accept-silent -t docker://$(cat ${container_id}) 80 | 81 | - name: Build and Push to docker.io and ghcr.io registries 82 | uses: docker/build-push-action@v4 83 | with: 84 | no-cache: false 85 | push: true 86 | platforms: ${{ matrix.distribution.platform }} 87 | file: ${{ matrix.distribution.image }}-ansible/Dockerfile.${{ matrix.distribution.image }}-${{ matrix.distribution.version }} 88 | context: ${{ matrix.distribution.image }}-ansible 89 | tags: | 90 | diodonfrost/ansible-${{ matrix.distribution.image }}:${{ matrix.distribution.version }} 91 | ghcr.io/diodonfrost/ansible-${{ matrix.distribution.image }}:${{ matrix.distribution.version }} -------------------------------------------------------------------------------- /.github/workflows/push-clearlinux.yml: -------------------------------------------------------------------------------- 1 | name: Push 2 | 3 | on: 4 | push: 5 | branches: 6 | - master 7 | paths: 8 | - 'clearlinux-ansible/**' 9 | schedule: 10 | - cron: '0 18 * * sun' 11 | 12 | jobs: 13 | push: 14 | name: ${{ matrix.distribution.image }}-${{ matrix.distribution.version }} 15 | runs-on: ubuntu-22.04 16 | strategy: 17 | fail-fast: false 18 | matrix: 19 | distribution: 20 | - image: clearlinux 21 | version: "latest" 22 | platform: "linux/amd64,linux/arm64/v8" 23 | 24 | steps: 25 | - name: Checkout repository 26 | uses: actions/checkout@v3 27 | 28 | - name: Install Inspec 29 | run: curl https://omnitruck.chef.io/install.sh | sudo bash -s -- -P inspec -v 5.21.29 30 | 31 | - name: Set up QEMU 32 | uses: docker/setup-qemu-action@v2 33 | 34 | - name: Set up Docker Buildx 35 | uses: docker/setup-buildx-action@v2 36 | 37 | - name: Login to Docker Hub 38 | uses: docker/login-action@v2 39 | with: 40 | username: ${{ secrets.DOCKER_USERNAME }} 41 | password: ${{ secrets.DOCKER_PASSWORD }} 42 | 43 | - name: Login to GitHub Container Registry 44 | uses: docker/login-action@v2 45 | with: 46 | registry: ghcr.io 47 | username: ${{ github.repository_owner }} 48 | password: ${{ secrets.GITHUB_TOKEN }} 49 | 50 | - name: Build and export to Docker 51 | uses: docker/build-push-action@v4 52 | with: 53 | no-cache: true 54 | load: true 55 | file: ${{ matrix.distribution.image }}-ansible/Dockerfile.${{ matrix.distribution.image }}-${{ matrix.distribution.version }} 56 | tags: diodonfrost/ansible-${{ matrix.distribution.image }}:${{ matrix.distribution.version }} 57 | context: ${{ matrix.distribution.image }}-ansible 58 | 59 | - name: Test Docker image 60 | run: | 61 | container_id=$(mktemp) 62 | sudo docker run \ 63 | --detach \ 64 | --privileged \ 65 | --cgroupns=host \ 66 | -v /sys/fs/cgroup:/sys/fs/cgroup:rw \ 67 | -v /var/lib/containerd \ 68 | diodonfrost/ansible-${{ matrix.distribution.image }}:${{ matrix.distribution.version }} > "${container_id}" 69 | 70 | inspec exec tests/inspec --chef-license accept-silent -t docker://$(cat ${container_id}) 71 | 72 | - name: Build and Push to docker.io and ghcr.io registries 73 | uses: docker/build-push-action@v4 74 | with: 75 | no-cache: false 76 | push: true 77 | platforms: ${{ matrix.distribution.platform }} 78 | file: ${{ matrix.distribution.image }}-ansible/Dockerfile.${{ matrix.distribution.image }}-${{ matrix.distribution.version }} 79 | context: ${{ matrix.distribution.image }}-ansible 80 | tags: | 81 | diodonfrost/ansible-${{ matrix.distribution.image }}:${{ matrix.distribution.version }} 82 | ghcr.io/diodonfrost/ansible-${{ matrix.distribution.image }}:${{ matrix.distribution.version }} -------------------------------------------------------------------------------- /.github/workflows/push-debian.yml: -------------------------------------------------------------------------------- 1 | name: Push 2 | 3 | on: 4 | push: 5 | branches: 6 | - master 7 | paths: 8 | - 'debian-ansible/**' 9 | schedule: 10 | - cron: '0 18 * * sun' 11 | 12 | jobs: 13 | push: 14 | name: ${{ matrix.distribution.image }}-${{ matrix.distribution.version }} 15 | runs-on: ubuntu-22.04 16 | strategy: 17 | fail-fast: false 18 | matrix: 19 | distribution: 20 | - image: debian 21 | version: "10" 22 | platform: "linux/386,linux/amd64,linux/arm/v7,linux/arm64/v8" 23 | - image: debian 24 | version: "11" 25 | platform: "linux/386,linux/amd64,linux/arm/v7,linux/arm64/v8" 26 | - image: debian 27 | version: "12" 28 | platform: "linux/386,linux/amd64,linux/arm/v7,linux/arm64/v8" 29 | - image: debian 30 | version: "testing" 31 | platform: "linux/386,linux/amd64,linux/arm/v7,linux/arm64/v8" 32 | 33 | steps: 34 | - name: Checkout repository 35 | uses: actions/checkout@v3 36 | 37 | - name: Install Inspec 38 | run: curl https://omnitruck.chef.io/install.sh | sudo bash -s -- -P inspec -v 5.21.29 39 | 40 | - name: Set up QEMU 41 | uses: docker/setup-qemu-action@v2 42 | 43 | - name: Set up Docker Buildx 44 | uses: docker/setup-buildx-action@v2 45 | 46 | - name: Login to Docker Hub 47 | uses: docker/login-action@v2 48 | with: 49 | username: ${{ secrets.DOCKER_USERNAME }} 50 | password: ${{ secrets.DOCKER_PASSWORD }} 51 | 52 | - name: Login to GitHub Container Registry 53 | uses: docker/login-action@v2 54 | with: 55 | registry: ghcr.io 56 | username: ${{ github.repository_owner }} 57 | password: ${{ secrets.GITHUB_TOKEN }} 58 | 59 | - name: Build and export to Docker 60 | uses: docker/build-push-action@v4 61 | with: 62 | no-cache: true 63 | load: true 64 | file: ${{ matrix.distribution.image }}-ansible/Dockerfile.${{ matrix.distribution.image }}-${{ matrix.distribution.version }} 65 | tags: diodonfrost/ansible-${{ matrix.distribution.image }}:${{ matrix.distribution.version }} 66 | context: ${{ matrix.distribution.image }}-ansible 67 | 68 | - name: Test Docker image 69 | run: | 70 | container_id=$(mktemp) 71 | sudo docker run \ 72 | --detach \ 73 | --privileged \ 74 | --cgroupns=host \ 75 | -v /sys/fs/cgroup:/sys/fs/cgroup:rw \ 76 | -v /var/lib/containerd \ 77 | diodonfrost/ansible-${{ matrix.distribution.image }}:${{ matrix.distribution.version }} > "${container_id}" 78 | 79 | inspec exec tests/inspec --chef-license accept-silent -t docker://$(cat ${container_id}) 80 | 81 | - name: Build and Push to docker.io and ghcr.io registries 82 | uses: docker/build-push-action@v4 83 | with: 84 | no-cache: false 85 | push: true 86 | platforms: ${{ matrix.distribution.platform }} 87 | file: ${{ matrix.distribution.image }}-ansible/Dockerfile.${{ matrix.distribution.image }}-${{ matrix.distribution.version }} 88 | context: ${{ matrix.distribution.image }}-ansible 89 | tags: | 90 | diodonfrost/ansible-${{ matrix.distribution.image }}:${{ matrix.distribution.version }} 91 | ghcr.io/diodonfrost/ansible-${{ matrix.distribution.image }}:${{ matrix.distribution.version }} -------------------------------------------------------------------------------- /.github/workflows/push-elementary.yml: -------------------------------------------------------------------------------- 1 | name: Push 2 | 3 | on: 4 | push: 5 | branches: 6 | - master 7 | paths: 8 | - 'elementary-ansible/**' 9 | schedule: 10 | - cron: '0 18 * * sun' 11 | 12 | jobs: 13 | push: 14 | name: ${{ matrix.distribution.image }}-${{ matrix.distribution.version }} 15 | runs-on: ubuntu-22.04 16 | strategy: 17 | fail-fast: false 18 | matrix: 19 | distribution: 20 | - image: elementary 21 | version: "juno" 22 | platform: "linux/amd64" 23 | 24 | steps: 25 | - name: Checkout repository 26 | uses: actions/checkout@v3 27 | 28 | - name: Install Inspec 29 | run: curl https://omnitruck.chef.io/install.sh | sudo bash -s -- -P inspec -v 5.21.29 30 | 31 | - name: Set up QEMU 32 | uses: docker/setup-qemu-action@v2 33 | 34 | - name: Set up Docker Buildx 35 | uses: docker/setup-buildx-action@v2 36 | 37 | - name: Login to Docker Hub 38 | uses: docker/login-action@v2 39 | with: 40 | username: ${{ secrets.DOCKER_USERNAME }} 41 | password: ${{ secrets.DOCKER_PASSWORD }} 42 | 43 | - name: Login to GitHub Container Registry 44 | uses: docker/login-action@v2 45 | with: 46 | registry: ghcr.io 47 | username: ${{ github.repository_owner }} 48 | password: ${{ secrets.GITHUB_TOKEN }} 49 | 50 | - name: Build and export to Docker 51 | uses: docker/build-push-action@v4 52 | with: 53 | no-cache: true 54 | load: true 55 | file: ${{ matrix.distribution.image }}-ansible/Dockerfile.${{ matrix.distribution.image }}-${{ matrix.distribution.version }} 56 | tags: diodonfrost/ansible-${{ matrix.distribution.image }}:${{ matrix.distribution.version }} 57 | context: ${{ matrix.distribution.image }}-ansible 58 | 59 | - name: Test Docker image 60 | run: | 61 | container_id=$(mktemp) 62 | sudo docker run \ 63 | --detach \ 64 | --privileged \ 65 | --cgroupns=host \ 66 | -v /sys/fs/cgroup:/sys/fs/cgroup:rw \ 67 | -v /var/lib/containerd \ 68 | diodonfrost/ansible-${{ matrix.distribution.image }}:${{ matrix.distribution.version }} > "${container_id}" 69 | 70 | inspec exec tests/inspec --chef-license accept-silent -t docker://$(cat ${container_id}) 71 | 72 | - name: Build and Push to docker.io and ghcr.io registries 73 | uses: docker/build-push-action@v4 74 | with: 75 | no-cache: false 76 | push: true 77 | platforms: ${{ matrix.distribution.platform }} 78 | file: ${{ matrix.distribution.image }}-ansible/Dockerfile.${{ matrix.distribution.image }}-${{ matrix.distribution.version }} 79 | context: ${{ matrix.distribution.image }}-ansible 80 | tags: | 81 | diodonfrost/ansible-${{ matrix.distribution.image }}:${{ matrix.distribution.version }} 82 | ghcr.io/diodonfrost/ansible-${{ matrix.distribution.image }}:${{ matrix.distribution.version }} -------------------------------------------------------------------------------- /.github/workflows/push-fedora.yml: -------------------------------------------------------------------------------- 1 | name: Push 2 | 3 | on: 4 | push: 5 | branches: 6 | - master 7 | paths: 8 | - 'fedora-ansible/**' 9 | schedule: 10 | - cron: '0 18 * * sun' 11 | 12 | jobs: 13 | push: 14 | name: ${{ matrix.distribution.image }}-${{ matrix.distribution.version }} 15 | runs-on: ubuntu-22.04 16 | strategy: 17 | fail-fast: false 18 | matrix: 19 | distribution: 20 | - image: fedora 21 | version: "26" 22 | platform: "linux/amd64" 23 | - image: fedora 24 | version: "27" 25 | platform: "linux/amd64" 26 | - image: fedora 27 | version: "28" 28 | platform: "linux/amd64" 29 | - image: fedora 30 | version: "29" 31 | platform: "linux/amd64" 32 | - image: fedora 33 | version: "30" 34 | platform: "linux/amd64" 35 | - image: fedora 36 | version: "31" 37 | platform: "linux/amd64" 38 | - image: fedora 39 | version: "32" 40 | platform: "linux/amd64" 41 | - image: fedora 42 | version: "33" 43 | platform: "linux/amd64" 44 | - image: fedora 45 | version: "34" 46 | platform: "linux/amd64" 47 | - image: fedora 48 | version: "35" 49 | platform: "linux/amd64" 50 | - image: fedora 51 | version: "36" 52 | platform: "linux/amd64" 53 | - image: fedora 54 | version: "37" 55 | platform: "linux/amd64" 56 | - image: fedora 57 | version: "38" 58 | platform: "linux/amd64" 59 | - image: fedora 60 | version: "39" 61 | platform: "linux/amd64" 62 | - image: fedora 63 | version: "40" 64 | platform: "linux/amd64" 65 | - image: fedora 66 | version: "41" 67 | platform: "linux/amd64" 68 | - image: fedora 69 | version: "42" 70 | platform: "linux/amd64" 71 | - image: fedora 72 | version: "43" 73 | platform: "linux/amd64" 74 | 75 | steps: 76 | - name: Checkout repository 77 | uses: actions/checkout@v3 78 | 79 | - name: Install Inspec 80 | run: curl https://omnitruck.chef.io/install.sh | sudo bash -s -- -P inspec -v 5.21.29 81 | 82 | - name: Set up QEMU 83 | uses: docker/setup-qemu-action@v2 84 | 85 | - name: Set up Docker Buildx 86 | uses: docker/setup-buildx-action@v2 87 | 88 | - name: Login to Docker Hub 89 | uses: docker/login-action@v2 90 | with: 91 | username: ${{ secrets.DOCKER_USERNAME }} 92 | password: ${{ secrets.DOCKER_PASSWORD }} 93 | 94 | - name: Login to GitHub Container Registry 95 | uses: docker/login-action@v2 96 | with: 97 | registry: ghcr.io 98 | username: ${{ github.repository_owner }} 99 | password: ${{ secrets.GITHUB_TOKEN }} 100 | 101 | - name: Build and export to Docker 102 | uses: docker/build-push-action@v4 103 | with: 104 | no-cache: true 105 | load: true 106 | file: ${{ matrix.distribution.image }}-ansible/Dockerfile.${{ matrix.distribution.image }}-${{ matrix.distribution.version }} 107 | tags: diodonfrost/ansible-${{ matrix.distribution.image }}:${{ matrix.distribution.version }} 108 | context: ${{ matrix.distribution.image }}-ansible 109 | 110 | - name: Test Docker image 111 | run: | 112 | container_id=$(mktemp) 113 | sudo docker run \ 114 | --detach \ 115 | --privileged \ 116 | --cgroupns=host \ 117 | -v /sys/fs/cgroup:/sys/fs/cgroup:rw \ 118 | -v /var/lib/containerd \ 119 | diodonfrost/ansible-${{ matrix.distribution.image }}:${{ matrix.distribution.version }} > "${container_id}" 120 | 121 | inspec exec tests/inspec --chef-license accept-silent -t docker://$(cat ${container_id}) 122 | 123 | - name: Build and Push to docker.io and ghcr.io registries 124 | uses: docker/build-push-action@v4 125 | with: 126 | no-cache: false 127 | push: true 128 | platforms: ${{ matrix.distribution.platform }} 129 | file: ${{ matrix.distribution.image }}-ansible/Dockerfile.${{ matrix.distribution.image }}-${{ matrix.distribution.version }} 130 | context: ${{ matrix.distribution.image }}-ansible 131 | tags: | 132 | diodonfrost/ansible-${{ matrix.distribution.image }}:${{ matrix.distribution.version }} 133 | ghcr.io/diodonfrost/ansible-${{ matrix.distribution.image }}:${{ matrix.distribution.version }} -------------------------------------------------------------------------------- /.github/workflows/push-opensuse.yml: -------------------------------------------------------------------------------- 1 | name: Push 2 | 3 | on: 4 | push: 5 | branches: 6 | - master 7 | paths: 8 | - 'opensuse-ansible/**' 9 | schedule: 10 | - cron: '0 18 * * sun' 11 | 12 | jobs: 13 | push: 14 | name: ${{ matrix.distribution.image }}-${{ matrix.distribution.version }} 15 | runs-on: ubuntu-22.04 16 | strategy: 17 | fail-fast: false 18 | matrix: 19 | distribution: 20 | - image: opensuse 21 | version: "15" 22 | platform: "linux/amd64" 23 | - image: opensuse 24 | version: "15.1" 25 | platform: "linux/amd64" 26 | - image: opensuse 27 | version: "42.3" 28 | platform: "linux/amd64" 29 | - image: opensuse 30 | version: "leap" 31 | platform: "linux/amd64" 32 | 33 | steps: 34 | - name: Checkout repository 35 | uses: actions/checkout@v3 36 | 37 | - name: Install Inspec 38 | run: curl https://omnitruck.chef.io/install.sh | sudo bash -s -- -P inspec -v 5.21.29 39 | 40 | - name: Set up QEMU 41 | uses: docker/setup-qemu-action@v2 42 | 43 | - name: Set up Docker Buildx 44 | uses: docker/setup-buildx-action@v2 45 | 46 | - name: Login to Docker Hub 47 | uses: docker/login-action@v2 48 | with: 49 | username: ${{ secrets.DOCKER_USERNAME }} 50 | password: ${{ secrets.DOCKER_PASSWORD }} 51 | 52 | - name: Login to GitHub Container Registry 53 | uses: docker/login-action@v2 54 | with: 55 | registry: ghcr.io 56 | username: ${{ github.repository_owner }} 57 | password: ${{ secrets.GITHUB_TOKEN }} 58 | 59 | - name: Build and export to Docker 60 | uses: docker/build-push-action@v4 61 | with: 62 | no-cache: true 63 | load: true 64 | file: ${{ matrix.distribution.image }}-ansible/Dockerfile.${{ matrix.distribution.image }}-${{ matrix.distribution.version }} 65 | tags: diodonfrost/ansible-${{ matrix.distribution.image }}:${{ matrix.distribution.version }} 66 | context: ${{ matrix.distribution.image }}-ansible 67 | 68 | - name: Test Docker image 69 | run: | 70 | container_id=$(mktemp) 71 | sudo docker run \ 72 | --detach \ 73 | --privileged \ 74 | --cgroupns=host \ 75 | -v /sys/fs/cgroup:/sys/fs/cgroup:rw \ 76 | -v /var/lib/containerd \ 77 | diodonfrost/ansible-${{ matrix.distribution.image }}:${{ matrix.distribution.version }} > "${container_id}" 78 | 79 | inspec exec tests/inspec --chef-license accept-silent -t docker://$(cat ${container_id}) 80 | 81 | - name: Build and Push to docker.io and ghcr.io registries 82 | uses: docker/build-push-action@v4 83 | with: 84 | no-cache: false 85 | push: true 86 | platforms: ${{ matrix.distribution.platform }} 87 | file: ${{ matrix.distribution.image }}-ansible/Dockerfile.${{ matrix.distribution.image }}-${{ matrix.distribution.version }} 88 | context: ${{ matrix.distribution.image }}-ansible 89 | tags: | 90 | diodonfrost/ansible-${{ matrix.distribution.image }}:${{ matrix.distribution.version }} 91 | ghcr.io/diodonfrost/ansible-${{ matrix.distribution.image }}:${{ matrix.distribution.version }} -------------------------------------------------------------------------------- /.github/workflows/push-oraclelinux.yml: -------------------------------------------------------------------------------- 1 | name: Push 2 | 3 | on: 4 | push: 5 | branches: 6 | - master 7 | paths: 8 | - 'oraclelinux-ansible/**' 9 | schedule: 10 | - cron: '0 18 * * sun' 11 | 12 | jobs: 13 | push: 14 | name: ${{ matrix.distribution.image }}-${{ matrix.distribution.version }} 15 | runs-on: ubuntu-22.04 16 | strategy: 17 | fail-fast: false 18 | matrix: 19 | distribution: 20 | - image: oraclelinux 21 | version: "6" 22 | platform: "linux/amd64" 23 | - image: oraclelinux 24 | version: "7" 25 | platform: "linux/amd64" 26 | - image: oraclelinux 27 | version: "8" 28 | platform: "linux/amd64,linux/arm64/v8" 29 | - image: oraclelinux 30 | version: "9" 31 | platform: "linux/amd64,linux/arm64/v8" 32 | 33 | steps: 34 | - name: Checkout repository 35 | uses: actions/checkout@v3 36 | 37 | - name: Install Inspec 38 | run: curl https://omnitruck.chef.io/install.sh | sudo bash -s -- -P inspec -v 5.21.29 39 | 40 | - name: Set up QEMU 41 | uses: docker/setup-qemu-action@v2 42 | 43 | - name: Set up Docker Buildx 44 | uses: docker/setup-buildx-action@v2 45 | 46 | - name: Login to Docker Hub 47 | uses: docker/login-action@v2 48 | with: 49 | username: ${{ secrets.DOCKER_USERNAME }} 50 | password: ${{ secrets.DOCKER_PASSWORD }} 51 | 52 | - name: Login to GitHub Container Registry 53 | uses: docker/login-action@v2 54 | with: 55 | registry: ghcr.io 56 | username: ${{ github.repository_owner }} 57 | password: ${{ secrets.GITHUB_TOKEN }} 58 | 59 | - name: Build and export to Docker 60 | uses: docker/build-push-action@v4 61 | with: 62 | no-cache: true 63 | load: true 64 | file: ${{ matrix.distribution.image }}-ansible/Dockerfile.${{ matrix.distribution.image }}-${{ matrix.distribution.version }} 65 | tags: diodonfrost/ansible-${{ matrix.distribution.image }}:${{ matrix.distribution.version }} 66 | context: ${{ matrix.distribution.image }}-ansible 67 | 68 | - name: Test Docker image 69 | run: | 70 | container_id=$(mktemp) 71 | sudo docker run \ 72 | --detach \ 73 | --privileged \ 74 | --cgroupns=host \ 75 | -v /sys/fs/cgroup:/sys/fs/cgroup:rw \ 76 | -v /var/lib/containerd \ 77 | diodonfrost/ansible-${{ matrix.distribution.image }}:${{ matrix.distribution.version }} > "${container_id}" 78 | 79 | inspec exec tests/inspec --chef-license accept-silent -t docker://$(cat ${container_id}) 80 | 81 | - name: Build and Push to docker.io and ghcr.io registries 82 | uses: docker/build-push-action@v4 83 | with: 84 | no-cache: false 85 | push: true 86 | platforms: ${{ matrix.distribution.platform }} 87 | file: ${{ matrix.distribution.image }}-ansible/Dockerfile.${{ matrix.distribution.image }}-${{ matrix.distribution.version }} 88 | context: ${{ matrix.distribution.image }}-ansible 89 | tags: | 90 | diodonfrost/ansible-${{ matrix.distribution.image }}:${{ matrix.distribution.version }} 91 | ghcr.io/diodonfrost/ansible-${{ matrix.distribution.image }}:${{ matrix.distribution.version }} -------------------------------------------------------------------------------- /.github/workflows/push-rockylinux.yml: -------------------------------------------------------------------------------- 1 | name: Push 2 | 3 | on: 4 | push: 5 | branches: 6 | - master 7 | paths: 8 | - 'rockylinux-ansible/**' 9 | schedule: 10 | - cron: '0 18 * * sun' 11 | 12 | jobs: 13 | push: 14 | name: ${{ matrix.distribution.image }}-${{ matrix.distribution.version }} 15 | runs-on: ubuntu-22.04 16 | strategy: 17 | fail-fast: false 18 | matrix: 19 | distribution: 20 | - image: rockylinux 21 | version: "8" 22 | platform: "linux/amd64" 23 | - image: rockylinux 24 | version: "9" 25 | platform: "linux/amd64" 26 | 27 | steps: 28 | - name: Checkout repository 29 | uses: actions/checkout@v3 30 | 31 | - name: Install Inspec 32 | run: curl https://omnitruck.chef.io/install.sh | sudo bash -s -- -P inspec -v 5.21.29 33 | 34 | - name: Set up QEMU 35 | uses: docker/setup-qemu-action@v2 36 | 37 | - name: Set up Docker Buildx 38 | uses: docker/setup-buildx-action@v2 39 | 40 | - name: Login to Docker Hub 41 | uses: docker/login-action@v2 42 | with: 43 | username: ${{ secrets.DOCKER_USERNAME }} 44 | password: ${{ secrets.DOCKER_PASSWORD }} 45 | 46 | - name: Login to GitHub Container Registry 47 | uses: docker/login-action@v2 48 | with: 49 | registry: ghcr.io 50 | username: ${{ github.repository_owner }} 51 | password: ${{ secrets.GITHUB_TOKEN }} 52 | 53 | - name: Build and export to Docker 54 | uses: docker/build-push-action@v4 55 | with: 56 | no-cache: true 57 | load: true 58 | file: ${{ matrix.distribution.image }}-ansible/Dockerfile.${{ matrix.distribution.image }}-${{ matrix.distribution.version }} 59 | tags: diodonfrost/ansible-${{ matrix.distribution.image }}:${{ matrix.distribution.version }} 60 | context: ${{ matrix.distribution.image }}-ansible 61 | 62 | - name: Test Docker image 63 | run: | 64 | container_id=$(mktemp) 65 | sudo docker run \ 66 | --detach \ 67 | --privileged \ 68 | --cgroupns=host \ 69 | -v /sys/fs/cgroup:/sys/fs/cgroup:rw \ 70 | -v /var/lib/containerd \ 71 | diodonfrost/ansible-${{ matrix.distribution.image }}:${{ matrix.distribution.version }} > "${container_id}" 72 | 73 | inspec exec tests/inspec --chef-license accept-silent -t docker://$(cat ${container_id}) 74 | 75 | - name: Build and Push to docker.io and ghcr.io registries 76 | uses: docker/build-push-action@v4 77 | with: 78 | no-cache: false 79 | push: true 80 | platforms: ${{ matrix.distribution.platform }} 81 | file: ${{ matrix.distribution.image }}-ansible/Dockerfile.${{ matrix.distribution.image }}-${{ matrix.distribution.version }} 82 | context: ${{ matrix.distribution.image }}-ansible 83 | tags: | 84 | diodonfrost/ansible-${{ matrix.distribution.image }}:${{ matrix.distribution.version }} 85 | ghcr.io/diodonfrost/ansible-${{ matrix.distribution.image }}:${{ matrix.distribution.version }} -------------------------------------------------------------------------------- /.github/workflows/push-ubi-minimal.yml: -------------------------------------------------------------------------------- 1 | name: Push 2 | 3 | on: 4 | push: 5 | branches: 6 | - master 7 | paths: 8 | - 'ubi-minimal-ansible/**' 9 | schedule: 10 | - cron: '0 18 * * sun' 11 | 12 | jobs: 13 | push: 14 | name: ${{ matrix.distribution.image }}-${{ matrix.distribution.version }} 15 | runs-on: ubuntu-22.04 16 | strategy: 17 | fail-fast: false 18 | matrix: 19 | distribution: 20 | - image: ubi-minimal 21 | version: "8" 22 | platform: "linux/amd64,linux/arm64/v8" 23 | - image: ubi-minimal 24 | version: "9" 25 | platform: "linux/amd64,linux/arm64/v8" 26 | 27 | steps: 28 | - name: Checkout repository 29 | uses: actions/checkout@v3 30 | 31 | - name: Install Inspec 32 | run: curl https://omnitruck.chef.io/install.sh | sudo bash -s -- -P inspec -v 5.21.29 33 | 34 | - name: Set up QEMU 35 | uses: docker/setup-qemu-action@v2 36 | 37 | - name: Set up Docker Buildx 38 | uses: docker/setup-buildx-action@v2 39 | 40 | - name: Login to Docker Hub 41 | uses: docker/login-action@v2 42 | with: 43 | username: ${{ secrets.DOCKER_USERNAME }} 44 | password: ${{ secrets.DOCKER_PASSWORD }} 45 | 46 | - name: Login to GitHub Container Registry 47 | uses: docker/login-action@v2 48 | with: 49 | registry: ghcr.io 50 | username: ${{ github.repository_owner }} 51 | password: ${{ secrets.GITHUB_TOKEN }} 52 | 53 | - name: Build and export to Docker 54 | uses: docker/build-push-action@v4 55 | with: 56 | no-cache: true 57 | load: true 58 | file: ${{ matrix.distribution.image }}-ansible/Dockerfile.${{ matrix.distribution.image }}-${{ matrix.distribution.version }} 59 | tags: diodonfrost/ansible-${{ matrix.distribution.image }}:${{ matrix.distribution.version }} 60 | context: ${{ matrix.distribution.image }}-ansible 61 | 62 | - name: Test Docker image 63 | run: | 64 | container_id=$(mktemp) 65 | sudo docker run \ 66 | --detach \ 67 | --privileged \ 68 | --cgroupns=host \ 69 | -v /sys/fs/cgroup:/sys/fs/cgroup:rw \ 70 | -v /var/lib/containerd \ 71 | diodonfrost/ansible-${{ matrix.distribution.image }}:${{ matrix.distribution.version }} > "${container_id}" 72 | 73 | inspec exec tests/inspec --chef-license accept-silent -t docker://$(cat ${container_id}) 74 | 75 | - name: Build and Push to docker.io and ghcr.io registries 76 | uses: docker/build-push-action@v4 77 | with: 78 | no-cache: false 79 | push: true 80 | platforms: ${{ matrix.distribution.platform }} 81 | file: ${{ matrix.distribution.image }}-ansible/Dockerfile.${{ matrix.distribution.image }}-${{ matrix.distribution.version }} 82 | context: ${{ matrix.distribution.image }}-ansible 83 | tags: | 84 | diodonfrost/ansible-${{ matrix.distribution.image }}:${{ matrix.distribution.version }} 85 | ghcr.io/diodonfrost/ansible-${{ matrix.distribution.image }}:${{ matrix.distribution.version }} -------------------------------------------------------------------------------- /.github/workflows/push-ubuntu.yml: -------------------------------------------------------------------------------- 1 | name: Push 2 | 3 | on: 4 | push: 5 | branches: 6 | - master 7 | paths: 8 | - 'ubuntu-ansible/**' 9 | schedule: 10 | - cron: '0 18 * * sun' 11 | 12 | jobs: 13 | push: 14 | name: ${{ matrix.distribution.image }}-${{ matrix.distribution.version }} 15 | runs-on: ubuntu-22.04 16 | strategy: 17 | fail-fast: false 18 | matrix: 19 | distribution: 20 | - image: ubuntu 21 | version: "14.04" 22 | platform: "linux/386,linux/amd64,linux/arm/v7,linux/arm64/v8" 23 | - image: ubuntu 24 | version: "16.04" 25 | platform: "linux/386,linux/amd64,linux/arm/v7,linux/arm64/v8" 26 | - image: ubuntu 27 | version: "18.04" 28 | platform: "linux/386,linux/amd64,linux/arm/v7,linux/arm64/v8" 29 | - image: ubuntu 30 | version: "20.04" 31 | platform: "linux/amd64,linux/arm/v7,linux/arm64/v8" 32 | - image: ubuntu 33 | version: "22.04" 34 | platform: "linux/amd64,linux/arm/v7,linux/arm64/v8" 35 | - image: ubuntu 36 | version: "24.04" 37 | platform: "linux/amd64,linux/arm/v7,linux/arm64/v8" 38 | 39 | steps: 40 | - name: Checkout repository 41 | uses: actions/checkout@v3 42 | 43 | - name: Install Inspec 44 | run: curl https://omnitruck.chef.io/install.sh | sudo bash -s -- -P inspec -v 5.21.29 45 | 46 | - name: Set up QEMU 47 | uses: docker/setup-qemu-action@v2 48 | 49 | - name: Set up Docker Buildx 50 | uses: docker/setup-buildx-action@v2 51 | 52 | - name: Login to Docker Hub 53 | uses: docker/login-action@v2 54 | with: 55 | username: ${{ secrets.DOCKER_USERNAME }} 56 | password: ${{ secrets.DOCKER_PASSWORD }} 57 | 58 | - name: Login to GitHub Container Registry 59 | uses: docker/login-action@v2 60 | with: 61 | registry: ghcr.io 62 | username: ${{ github.repository_owner }} 63 | password: ${{ secrets.GITHUB_TOKEN }} 64 | 65 | - name: Build and export to Docker 66 | uses: docker/build-push-action@v4 67 | with: 68 | no-cache: true 69 | load: true 70 | file: ${{ matrix.distribution.image }}-ansible/Dockerfile.${{ matrix.distribution.image }}-${{ matrix.distribution.version }} 71 | tags: diodonfrost/ansible-${{ matrix.distribution.image }}:${{ matrix.distribution.version }} 72 | context: ${{ matrix.distribution.image }}-ansible 73 | 74 | - name: Test Docker image 75 | run: | 76 | container_id=$(mktemp) 77 | sudo docker run \ 78 | --detach \ 79 | --privileged \ 80 | --cgroupns=host \ 81 | -v /sys/fs/cgroup:/sys/fs/cgroup:rw \ 82 | -v /var/lib/containerd \ 83 | diodonfrost/ansible-${{ matrix.distribution.image }}:${{ matrix.distribution.version }} > "${container_id}" 84 | 85 | inspec exec tests/inspec --chef-license accept-silent -t docker://$(cat ${container_id}) 86 | 87 | - name: Build and Push to docker.io and ghcr.io registries 88 | uses: docker/build-push-action@v4 89 | with: 90 | no-cache: false 91 | push: true 92 | platforms: ${{ matrix.distribution.platform }} 93 | file: ${{ matrix.distribution.image }}-ansible/Dockerfile.${{ matrix.distribution.image }}-${{ matrix.distribution.version }} 94 | context: ${{ matrix.distribution.image }}-ansible 95 | tags: | 96 | diodonfrost/ansible-${{ matrix.distribution.image }}:${{ matrix.distribution.version }} 97 | ghcr.io/diodonfrost/ansible-${{ matrix.distribution.image }}:${{ matrix.distribution.version }} -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | Gemfile.lock 2 | inspec.lock 3 | -------------------------------------------------------------------------------- /.pre-commit-config.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | exclude: '^CHANGELOG.md' 3 | repos: 4 | - repo: https://github.com/pre-commit/pre-commit-hooks 5 | exclude: CHANGELOG.md 6 | rev: v3.4.0 7 | hooks: 8 | - id: trailing-whitespace 9 | - id: end-of-file-fixer 10 | - id: check-added-large-files 11 | - id: check-case-conflict 12 | - id: check-merge-conflict 13 | - id: check-yaml 14 | -------------------------------------------------------------------------------- /CHANGELOG.md: -------------------------------------------------------------------------------- 1 | # [5.1.0](https://github.com/diodonfrost/docker-ansible/compare/5.0.0...5.1.0) (2025-05-01) 2 | 3 | 4 | ### Bug Fixes 5 | 6 | * **docker:** update Python version in AlmaLinux 8 ([972f27c](https://github.com/diodonfrost/docker-ansible/commit/972f27cdb80fdf89f5edc5c5f36bf2f8d833e294)) 7 | 8 | 9 | ### Features 10 | 11 | * **ci:** add support for Fedora versions 41, 42, and 43 ([eab2379](https://github.com/diodonfrost/docker-ansible/commit/eab2379066cf650dd6a858d0dce7efc9162c3ba5)) 12 | * **devcontainer:** add Docker outside of Docker feature ([142661e](https://github.com/diodonfrost/docker-ansible/commit/142661e03f1b0c7cce8ae11d5df7e466d1ae4d00)) 13 | * **docker:** add fedora 40 image ([53ea731](https://github.com/diodonfrost/docker-ansible/commit/53ea7311eb1c660da4e0f86d4ef88fa6b320ee85)) 14 | * **docker:** add ubuntu 24.04 image ([fde1819](https://github.com/diodonfrost/docker-ansible/commit/fde1819629d82cc76d269b028bedf6083345b811)) 15 | 16 | 17 | 18 | # [5.0.0](https://github.com/diodonfrost/docker-ansible/compare/4.14.0...5.0.0) (2023-08-16) 19 | 20 | 21 | ### Features 22 | 23 | * **alpine:** install shadow package ([02fe76d](https://github.com/diodonfrost/docker-ansible/commit/02fe76d2bed581cd0cb83027af73851bd0007fba)) 24 | * **docker:** replace ENTRYPOINT by CMD ([e232135](https://github.com/diodonfrost/docker-ansible/commit/e2321350f3006aa8757000fb9bbad598eb0012ec)) 25 | 26 | 27 | ### BREAKING CHANGES 28 | 29 | * **docker:** replaces Dockerfile instruction 'ENTRYPOINT' 30 | by 'CMD' in all images. 31 | 32 | 33 | 34 | # [4.14.0](https://github.com/diodonfrost/docker-ansible/compare/4.13.1...4.14.0) (2023-06-14) 35 | 36 | 37 | ### Bug Fixes 38 | 39 | * **archlinux:** install ansible from pacman ([6ba2437](https://github.com/diodonfrost/docker-ansible/commit/6ba2437a650de35aa10dd5565fa3fbb2eadcf72d)) 40 | * **centos-stream:** Add UTF-8 environment variables and Ansible localhost inventory ([1975ac4](https://github.com/diodonfrost/docker-ansible/commit/1975ac43853e78f473e119456059226414a4dd37)) 41 | * **centos-stream:** change locale encoding to UTF-8 ([ead9f10](https://github.com/diodonfrost/docker-ansible/commit/ead9f1006d7b69161c693a709d321d810d21c9be)) 42 | 43 | 44 | ### Features 45 | 46 | * **docker:** add debian 12 image ([ede7bc2](https://github.com/diodonfrost/docker-ansible/commit/ede7bc288c6ab7bb1786a3238cee9cd9a871e39b)) 47 | 48 | 49 | 50 | ## [4.13.1](https://github.com/diodonfrost/docker-ansible/compare/4.13.0...4.13.1) (2023-05-20) 51 | 52 | 53 | ### Bug Fixes 54 | 55 | * **amazonlinux:** change docker image source ([ff3e540](https://github.com/diodonfrost/docker-ansible/commit/ff3e5407e3e1e27faf2252856eb5dc35269cfb8f)) 56 | 57 | 58 | 59 | # [4.13.0](https://github.com/diodonfrost/docker-ansible/compare/4.12.0...4.13.0) (2023-05-19) 60 | 61 | 62 | ### Bug Fixes 63 | 64 | * **opensuse:** replace busybox-gzip by gzip ([70ece65](https://github.com/diodonfrost/docker-ansible/commit/70ece6566d5ed84bc59b576c0211516e8bfa8d01)) 65 | 66 | 67 | ### Features 68 | 69 | * **docker:** add centos stream images ([3e6078e](https://github.com/diodonfrost/docker-ansible/commit/3e6078e1a4926b85e350a611e1bef9c5ea76fae6)) 70 | 71 | 72 | 73 | # [4.12.0](https://github.com/diodonfrost/docker-ansible/compare/4.11.0...4.12.0) (2023-05-16) 74 | 75 | 76 | ### Features 77 | 78 | * **docker:** add Amazon Linux 2 image ([731af12](https://github.com/diodonfrost/docker-ansible/commit/731af1232219b4599f73258885ee2c92fe1b54ed)) 79 | 80 | 81 | 82 | # [4.11.0](https://github.com/diodonfrost/docker-ansible/compare/4.10.0...4.11.0) (2023-05-06) 83 | 84 | 85 | ### Features 86 | 87 | * **docker:** add almalinux 9 image ([577d44a](https://github.com/diodonfrost/docker-ansible/commit/577d44aac16c5482f69fcf8c86ccb5ad89c0d7c4)) 88 | * **docker:** add fedora images ([61f1f5e](https://github.com/diodonfrost/docker-ansible/commit/61f1f5e09737d414f877dc45b96d4987adaad1c2)) 89 | * **docker:** add oraclelinux 9 image ([053cd67](https://github.com/diodonfrost/docker-ansible/commit/053cd67e3835086236caccda0d664bad307ace8f)) 90 | * **docker:** add redhat ubi-minimal 9 image ([22f47f3](https://github.com/diodonfrost/docker-ansible/commit/22f47f37adb1d38880971c5fc8c810d3e8a14364)) 91 | * **docker:** add rockylinux 9 image ([bd2b62d](https://github.com/diodonfrost/docker-ansible/commit/bd2b62d178301001aa1b1acc9a96d7fc8819a344)) 92 | * **docker:** add ubuntu 22.04 image ([8b2577b](https://github.com/diodonfrost/docker-ansible/commit/8b2577bebf85492dbeeef7b41caa42e4beb55137)) 93 | 94 | 95 | 96 | # [4.10.0](https://github.com/diodonfrost/docker-ansible/compare/4.9.0...4.10.0) (2023-05-02) 97 | 98 | 99 | ### Bug Fixes 100 | 101 | * **debian-testing:** install ansible from debian repository ([cc24ede](https://github.com/diodonfrost/docker-ansible/commit/cc24edea1049ff9d91875462a61e34aab29d347b)) 102 | * **opensuse-15:** remove python 2 ([0f5a8f8](https://github.com/diodonfrost/docker-ansible/commit/0f5a8f843dcb086460af98d69fd4fe50d057a35d)) 103 | 104 | 105 | 106 | # [4.9.0](https://github.com/diodonfrost/docker-ansible/compare/4.8.0...4.9.0) (2021-10-23) 107 | 108 | 109 | ### Bug Fixes 110 | 111 | * **centos-7:** force LANG and LC_ALL ([e3c7ed3](https://github.com/diodonfrost/docker-ansible/commit/e3c7ed3832aad801219a63a0a1061734a4292638)) 112 | * **centos-7:** upgrade pip version to 21.3 ([d6f77bc](https://github.com/diodonfrost/docker-ansible/commit/d6f77bcd4c2955eebba9eae44426b758a607ec9b)) 113 | 114 | 115 | ### Features 116 | 117 | * **archlinux:** change base image ([3b7635d](https://github.com/diodonfrost/docker-ansible/commit/3b7635d6feff228e387d138816f2e9605f1cb8f3)) 118 | * **gentoo:** change fuse version ([09e0555](https://github.com/diodonfrost/docker-ansible/commit/09e0555e6aa828ccb782747a3c9cbd0328f56b32)) 119 | * **os:** adding debian 11 image ([01a60cd](https://github.com/diodonfrost/docker-ansible/commit/01a60cd9f91b903cfad1841f8d0da9f8770a9b19)) 120 | * **package:** install libfuse ([e0f3713](https://github.com/diodonfrost/docker-ansible/commit/e0f37133ee44c332e27ca905f5649a9eeeb720e5)) 121 | 122 | 123 | 124 | # [4.8.0](https://github.com/diodonfrost/docker-ansible/compare/4.7.0...4.8.0) (2021-08-06) 125 | 126 | 127 | ### Bug Fixes 128 | 129 | * **centos-7:** freeze pip version ([662b510](https://github.com/diodonfrost/docker-ansible/commit/662b510779be8f3c29c859106585e727cf949ff4)) 130 | * **fedora-35:** removing fedora 35 build ([da7db9f](https://github.com/diodonfrost/docker-ansible/commit/da7db9fe1ee4107fcf75d785d91a77b4c3a38a5c)) 131 | 132 | 133 | ### Features 134 | 135 | * **os:** add almalinux 8 support ([3e69dba](https://github.com/diodonfrost/docker-ansible/commit/3e69dbaf4deeffda4f88b7b07f867dabc9281271)) 136 | 137 | 138 | 139 | # [4.7.0](https://github.com/diodonfrost/docker-ansible/compare/4.6.0...4.7.0) (2021-07-06) 140 | 141 | 142 | ### Features 143 | 144 | * **os:** support rockylinux image ([3044fe9](https://github.com/diodonfrost/docker-ansible/commit/3044fe9f148412476d846096302223b5ab83442e)) 145 | * **rockylinux:** rockylinux 8 image ([3a6d92f](https://github.com/diodonfrost/docker-ansible/commit/3a6d92f568c227f61a9370991c1585d40262f996)) 146 | 147 | 148 | 149 | # [4.6.0](https://github.com/diodonfrost/docker-ansible/compare/4.5.0...4.6.0) (2021-05-07) 150 | 151 | 152 | ### Features 153 | 154 | * **redhat:** add universal base image ([68b18ed](https://github.com/diodonfrost/docker-ansible/commit/68b18ed9eb6688a2ac30eddd28453675ec9bba42)) 155 | 156 | 157 | 158 | # [4.5.0](https://github.com/diodonfrost/docker-ansible/compare/4.4.0...4.5.0) (2021-05-02) 159 | 160 | 161 | ### Bug Fixes 162 | 163 | * **amazonlinux-1:** upgrade python pip ([a1d47cf](https://github.com/diodonfrost/docker-ansible/commit/a1d47cfdcc99de32c9e3215901df4544dc31c3eb)) 164 | * **archlinux:** downgrade image version ([fa368c9](https://github.com/diodonfrost/docker-ansible/commit/fa368c950ad144f9af9ebe08ea3de212cff0ef97)) 165 | * **ubuntu-14.04:** support SNI verfication with python 2.7 ([cf57fc6](https://github.com/diodonfrost/docker-ansible/commit/cf57fc6480185e21c449b537fb1e63175000ab98)) 166 | 167 | 168 | ### Features 169 | 170 | * **opensuse:tumbleweed:** install shadow package ([2d29694](https://github.com/diodonfrost/docker-ansible/commit/2d29694a6506fff33d3ecd9d83e69df67e8754c6)) 171 | * **opensuse:** removing openssh package ([adc043d](https://github.com/diodonfrost/docker-ansible/commit/adc043d1b87c5e380678b42025997db812afeece)) 172 | * **redhat:** add fedora 35 image ([c47d8f6](https://github.com/diodonfrost/docker-ansible/commit/c47d8f68689a2b53993ca26eefaddeda812d94bd)) 173 | 174 | 175 | 176 | # [4.4.0](https://github.com/diodonfrost/docker-ansible/compare/4.3.0...4.4.0) (2021-01-21) 177 | 178 | 179 | ### Bug Fixes 180 | 181 | * **archlinux:** reduce size of docker steps ([d4e6f2e](https://github.com/diodonfrost/docker-ansible/commit/d4e6f2e30cbc4cd1a7f470b61ed51a880da1342d)) 182 | 183 | 184 | ### Features 185 | 186 | * **gentoo:** uses gentoo-systemd base image ([9e9dee7](https://github.com/diodonfrost/docker-ansible/commit/9e9dee7e6f4a72fb96b9cf7913ad7beb9891a13d)), closes [#2](https://github.com/diodonfrost/docker-ansible/issues/2) 187 | 188 | 189 | 190 | # [4.3.0](https://github.com/diodonfrost/docker-ansible/compare/4.2.0...4.3.0) (2021-01-08) 191 | 192 | 193 | ### Features 194 | 195 | * **docker:** support arm architecture ([453b9ea](https://github.com/diodonfrost/docker-ansible/commit/453b9ead00d10ab4bd2a11d7e3312d52f6ed5da4)) 196 | * **redhat-8:** removing initscripts install ([975387b](https://github.com/diodonfrost/docker-ansible/commit/975387be59fa7e968c56bd3a5d522cba9c6d22bd)) 197 | * **redhat-system:** upgrade python-pip ([b675ced](https://github.com/diodonfrost/docker-ansible/commit/b675ced60ab93d719998ffcbe14b5b38f2ab57ae)) 198 | 199 | 200 | 201 | # [4.2.0](https://github.com/diodonfrost/docker-ansible/compare/4.1.0...4.2.0) (2020-12-16) 202 | 203 | 204 | ### Features 205 | 206 | * **redhat-system:** removing epel repository ([4b87e4f](https://github.com/diodonfrost/docker-ansible/commit/4b87e4f36bed406cd232ddb0e82e4fe8a0bee8c5)) 207 | 208 | 209 | 210 | # [4.1.0](https://github.com/diodonfrost/docker-ansible/compare/4.0.1...4.1.0) (2020-12-12) 211 | 212 | 213 | ### Features 214 | 215 | * **debian:** support debian testing ([dd7377a](https://github.com/diodonfrost/docker-ansible/commit/dd7377ae6ae6abe40a8a9c01d2a40abc067bba6b)) 216 | 217 | 218 | 219 | ## [4.0.1](https://github.com/diodonfrost/docker-ansible/compare/4.0.0...4.0.1) (2020-12-07) 220 | 221 | 222 | ### Bug Fixes 223 | 224 | * **centos-6:** use centos vault repository ([5fccca9](https://github.com/diodonfrost/docker-ansible/commit/5fccca9cd7165734a2caa7b4e5adc2eb96b53013)) 225 | * **debian-8:** use only python 2.7 ([e7347fe](https://github.com/diodonfrost/docker-ansible/commit/e7347fe76a7a5d5cdccf590c5dae3c7e7cd3c101)) 226 | * **epel-repos:** update epel repos url ([90005dc](https://github.com/diodonfrost/docker-ansible/commit/90005dc7c493055703a7dbf410267d902bba7ce3)) 227 | 228 | 229 | 230 | # [4.0.0](https://github.com/diodonfrost/docker-ansible/compare/3.2.0...4.0.0) (2020-11-17) 231 | 232 | 233 | ### Bug Fixes 234 | 235 | * **readme.md:** fix github link ([3deae23](https://github.com/diodonfrost/docker-ansible/commit/3deae238a1f847a3be46962db2315ff82d379241)) 236 | 237 | 238 | ### Features 239 | 240 | * **docker:** change docker image name structure ([65134b4](https://github.com/diodonfrost/docker-ansible/commit/65134b4cf12bd3093b06e13d761c25e067feb06e)) 241 | * **docker:** replace the version name rolling by latest ([ed8bea2](https://github.com/diodonfrost/docker-ansible/commit/ed8bea2e2730d1d439165f2db685fbeb0248f14d)) 242 | 243 | 244 | ### BREAKING CHANGES 245 | 246 | * **docker:** This commit change that by following 247 | docker best practice by using one docker repo per os 248 | type and not by os version. The docker image names 249 | will now follow ths structure: 250 | ``` 251 | diodonfrost/ansible-{os-name}:{os-version} 252 | 253 | example: 254 | diodonfrost/ansible-ubuntu:18.04 255 | diodonfrost/ansible-opensuse:leap 256 | diodonfrost/ansible-archlinux:latest 257 | ``` 258 | * **docker:** This commit replaces in the 259 | docker image names the suffix "rolling" by 260 | "latest". 261 | 262 | 263 | 264 | # [3.2.0](https://github.com/diodonfrost/docker-ansible/compare/3.1.0...3.2.0) (2020-11-09) 265 | 266 | 267 | ### Bug Fixes 268 | 269 | * **clearlinux:** install sudo ([356e55c](https://github.com/diodonfrost/docker-ansible/commit/356e55cf745ec959adfaf901608d7b80ea4c0bc7)) 270 | 271 | 272 | ### Features 273 | 274 | * **fedora:** add fedora 34 support ([51ac088](https://github.com/diodonfrost/docker-ansible/commit/51ac08830a479d03f7a1ec89ab2fa5fb0ca0aa17)) 275 | * **github-registry:** push image to github registry ([b507f52](https://github.com/diodonfrost/docker-ansible/commit/b507f5232690ecb7bd499bd39287f90576bc549d)) 276 | * **redhat:** install which package on redhat system image ([938d0dd](https://github.com/diodonfrost/docker-ansible/commit/938d0dd53bcb7f2e45abc6a24d6bbaf6c57fb9f0)) 277 | 278 | 279 | 280 | # [3.1.0](https://github.com/diodonfrost/docker-ansible/compare/3.0.0...3.1.0) (2020-07-31) 281 | 282 | 283 | 284 | # [3.0.0](https://github.com/diodonfrost/docker-ansible/compare/2.5.0...3.0.0) (2020-07-28) 285 | 286 | 287 | 288 | # [2.5.0](https://github.com/diodonfrost/docker-ansible/compare/2.4.0...2.5.0) (2020-07-01) 289 | 290 | 291 | 292 | # [2.4.0](https://github.com/diodonfrost/docker-ansible/compare/2.3.0...2.4.0) (2020-05-05) 293 | 294 | 295 | 296 | # [2.3.0](https://github.com/diodonfrost/docker-ansible/compare/2.2.1...2.3.0) (2020-04-02) 297 | 298 | 299 | 300 | ## [2.2.1](https://github.com/diodonfrost/docker-ansible/compare/2.2.0...2.2.1) (2020-03-02) 301 | 302 | 303 | 304 | # [2.2.0](https://github.com/diodonfrost/docker-ansible/compare/2.1.1...2.2.0) (2020-01-21) 305 | 306 | 307 | 308 | ## [2.1.1](https://github.com/diodonfrost/docker-ansible/compare/2.1.0...2.1.1) (2019-12-19) 309 | 310 | 311 | 312 | # [2.1.0](https://github.com/diodonfrost/docker-ansible/compare/2.0.0...2.1.0) (2019-12-18) 313 | 314 | 315 | 316 | # [2.0.0](https://github.com/diodonfrost/docker-ansible/compare/1.8.0...2.0.0) (2019-12-03) 317 | 318 | 319 | 320 | # [1.8.0](https://github.com/diodonfrost/docker-ansible/compare/1.7.0...1.8.0) (2019-11-23) 321 | 322 | 323 | 324 | # [1.7.0](https://github.com/diodonfrost/docker-ansible/compare/1.6.1...1.7.0) (2019-11-10) 325 | 326 | 327 | 328 | ## [1.6.1](https://github.com/diodonfrost/docker-ansible/compare/1.6.0...1.6.1) (2019-10-23) 329 | 330 | 331 | 332 | # [1.6.0](https://github.com/diodonfrost/docker-ansible/compare/1.5.0...1.6.0) (2019-10-03) 333 | 334 | 335 | ### Features 336 | 337 | * add centos 8 support ([a6ec471](https://github.com/diodonfrost/docker-ansible/commit/a6ec47100437766752d494d3610937cf2b342814)) 338 | 339 | 340 | 341 | # [1.5.0](https://github.com/diodonfrost/docker-ansible/compare/1.4.0...1.5.0) (2019-05-08) 342 | 343 | 344 | 345 | # [1.4.0](https://github.com/diodonfrost/docker-ansible/compare/1.3.0...1.4.0) (2019-05-07) 346 | 347 | 348 | 349 | # [1.3.0](https://github.com/diodonfrost/docker-ansible/compare/1.2.0...1.3.0) (2019-04-20) 350 | 351 | 352 | 353 | # [1.2.0](https://github.com/diodonfrost/docker-ansible/compare/1.1.0...1.2.0) (2019-03-28) 354 | 355 | 356 | 357 | # [1.1.0](https://github.com/diodonfrost/docker-ansible/compare/1.0.0...1.1.0) (2019-02-21) 358 | 359 | 360 | 361 | # 1.0.0 (2018-08-11) 362 | 363 | 364 | 365 | -------------------------------------------------------------------------------- /Gemfile: -------------------------------------------------------------------------------- 1 | source "https://rubygems.org" 2 | 3 | gem "inspec-bin", "4.16.0" 4 | gem "inspec", "4.16.0" 5 | gem "train", "3.2.20" 6 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | Apache License 2 | Version 2.0, January 2004 3 | http://www.apache.org/licenses/ 4 | 5 | TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION 6 | 7 | 1. Definitions. 8 | 9 | "License" shall mean the terms and conditions for use, reproduction, 10 | and distribution as defined by Sections 1 through 9 of this document. 11 | 12 | "Licensor" shall mean the copyright owner or entity authorized by 13 | the copyright owner that is granting the License. 14 | 15 | "Legal Entity" shall mean the union of the acting entity and all 16 | other entities that control, are controlled by, or are under common 17 | control with that entity. For the purposes of this definition, 18 | "control" means (i) the power, direct or indirect, to cause the 19 | direction or management of such entity, whether by contract or 20 | otherwise, or (ii) ownership of fifty percent (50%) or more of the 21 | outstanding shares, or (iii) beneficial ownership of such entity. 22 | 23 | "You" (or "Your") shall mean an individual or Legal Entity 24 | exercising permissions granted by this License. 25 | 26 | "Source" form shall mean the preferred form for making modifications, 27 | including but not limited to software source code, documentation 28 | source, and configuration files. 29 | 30 | "Object" form shall mean any form resulting from mechanical 31 | transformation or translation of a Source form, including but 32 | not limited to compiled object code, generated documentation, 33 | and conversions to other media types. 34 | 35 | "Work" shall mean the work of authorship, whether in Source or 36 | Object form, made available under the License, as indicated by a 37 | copyright notice that is included in or attached to the work 38 | (an example is provided in the Appendix below). 39 | 40 | "Derivative Works" shall mean any work, whether in Source or Object 41 | form, that is based on (or derived from) the Work and for which the 42 | editorial revisions, annotations, elaborations, or other modifications 43 | represent, as a whole, an original work of authorship. For the purposes 44 | of this License, Derivative Works shall not include works that remain 45 | separable from, or merely link (or bind by name) to the interfaces of, 46 | the Work and Derivative Works thereof. 47 | 48 | "Contribution" shall mean any work of authorship, including 49 | the original version of the Work and any modifications or additions 50 | to that Work or Derivative Works thereof, that is intentionally 51 | submitted to Licensor for inclusion in the Work by the copyright owner 52 | or by an individual or Legal Entity authorized to submit on behalf of 53 | the copyright owner. For the purposes of this definition, "submitted" 54 | means any form of electronic, verbal, or written communication sent 55 | to the Licensor or its representatives, including but not limited to 56 | communication on electronic mailing lists, source code control systems, 57 | and issue tracking systems that are managed by, or on behalf of, the 58 | Licensor for the purpose of discussing and improving the Work, but 59 | excluding communication that is conspicuously marked or otherwise 60 | designated in writing by the copyright owner as "Not a Contribution." 61 | 62 | "Contributor" shall mean Licensor and any individual or Legal Entity 63 | on behalf of whom a Contribution has been received by Licensor and 64 | subsequently incorporated within the Work. 65 | 66 | 2. Grant of Copyright License. Subject to the terms and conditions of 67 | this License, each Contributor hereby grants to You a perpetual, 68 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable 69 | copyright license to reproduce, prepare Derivative Works of, 70 | publicly display, publicly perform, sublicense, and distribute the 71 | Work and such Derivative Works in Source or Object form. 72 | 73 | 3. Grant of Patent License. Subject to the terms and conditions of 74 | this License, each Contributor hereby grants to You a perpetual, 75 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable 76 | (except as stated in this section) patent license to make, have made, 77 | use, offer to sell, sell, import, and otherwise transfer the Work, 78 | where such license applies only to those patent claims licensable 79 | by such Contributor that are necessarily infringed by their 80 | Contribution(s) alone or by combination of their Contribution(s) 81 | with the Work to which such Contribution(s) was submitted. If You 82 | institute patent litigation against any entity (including a 83 | cross-claim or counterclaim in a lawsuit) alleging that the Work 84 | or a Contribution incorporated within the Work constitutes direct 85 | or contributory patent infringement, then any patent licenses 86 | granted to You under this License for that Work shall terminate 87 | as of the date such litigation is filed. 88 | 89 | 4. Redistribution. You may reproduce and distribute copies of the 90 | Work or Derivative Works thereof in any medium, with or without 91 | modifications, and in Source or Object form, provided that You 92 | meet the following conditions: 93 | 94 | (a) You must give any other recipients of the Work or 95 | Derivative Works a copy of this License; and 96 | 97 | (b) You must cause any modified files to carry prominent notices 98 | stating that You changed the files; and 99 | 100 | (c) You must retain, in the Source form of any Derivative Works 101 | that You distribute, all copyright, patent, trademark, and 102 | attribution notices from the Source form of the Work, 103 | excluding those notices that do not pertain to any part of 104 | the Derivative Works; and 105 | 106 | (d) If the Work includes a "NOTICE" text file as part of its 107 | distribution, then any Derivative Works that You distribute must 108 | include a readable copy of the attribution notices contained 109 | within such NOTICE file, excluding those notices that do not 110 | pertain to any part of the Derivative Works, in at least one 111 | of the following places: within a NOTICE text file distributed 112 | as part of the Derivative Works; within the Source form or 113 | documentation, if provided along with the Derivative Works; or, 114 | within a display generated by the Derivative Works, if and 115 | wherever such third-party notices normally appear. The contents 116 | of the NOTICE file are for informational purposes only and 117 | do not modify the License. You may add Your own attribution 118 | notices within Derivative Works that You distribute, alongside 119 | or as an addendum to the NOTICE text from the Work, provided 120 | that such additional attribution notices cannot be construed 121 | as modifying the License. 122 | 123 | You may add Your own copyright statement to Your modifications and 124 | may provide additional or different license terms and conditions 125 | for use, reproduction, or distribution of Your modifications, or 126 | for any such Derivative Works as a whole, provided Your use, 127 | reproduction, and distribution of the Work otherwise complies with 128 | the conditions stated in this License. 129 | 130 | 5. Submission of Contributions. Unless You explicitly state otherwise, 131 | any Contribution intentionally submitted for inclusion in the Work 132 | by You to the Licensor shall be under the terms and conditions of 133 | this License, without any additional terms or conditions. 134 | Notwithstanding the above, nothing herein shall supersede or modify 135 | the terms of any separate license agreement you may have executed 136 | with Licensor regarding such Contributions. 137 | 138 | 6. Trademarks. This License does not grant permission to use the trade 139 | names, trademarks, service marks, or product names of the Licensor, 140 | except as required for reasonable and customary use in describing the 141 | origin of the Work and reproducing the content of the NOTICE file. 142 | 143 | 7. Disclaimer of Warranty. Unless required by applicable law or 144 | agreed to in writing, Licensor provides the Work (and each 145 | Contributor provides its Contributions) on an "AS IS" BASIS, 146 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or 147 | implied, including, without limitation, any warranties or conditions 148 | of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A 149 | PARTICULAR PURPOSE. You are solely responsible for determining the 150 | appropriateness of using or redistributing the Work and assume any 151 | risks associated with Your exercise of permissions under this License. 152 | 153 | 8. Limitation of Liability. In no event and under no legal theory, 154 | whether in tort (including negligence), contract, or otherwise, 155 | unless required by applicable law (such as deliberate and grossly 156 | negligent acts) or agreed to in writing, shall any Contributor be 157 | liable to You for damages, including any direct, indirect, special, 158 | incidental, or consequential damages of any character arising as a 159 | result of this License or out of the use or inability to use the 160 | Work (including but not limited to damages for loss of goodwill, 161 | work stoppage, computer failure or malfunction, or any and all 162 | other commercial damages or losses), even if such Contributor 163 | has been advised of the possibility of such damages. 164 | 165 | 9. Accepting Warranty or Additional Liability. While redistributing 166 | the Work or Derivative Works thereof, You may choose to offer, 167 | and charge a fee for, acceptance of support, warranty, indemnity, 168 | or other liability obligations and/or rights consistent with this 169 | License. However, in accepting such obligations, You may act only 170 | on Your own behalf and on Your sole responsibility, not on behalf 171 | of any other Contributor, and only if You agree to indemnify, 172 | defend, and hold each Contributor harmless for any liability 173 | incurred by, or claims asserted against, such Contributor by reason 174 | of your accepting any such warranty or additional liability. 175 | 176 | END OF TERMS AND CONDITIONS 177 | 178 | APPENDIX: How to apply the Apache License to your work. 179 | 180 | To apply the Apache License to your work, attach the following 181 | boilerplate notice, with the fields enclosed by brackets "[]" 182 | replaced with your own identifying information. (Don't include 183 | the brackets!) The text should be enclosed in the appropriate 184 | comment syntax for the file format. We also recommend that a 185 | file or class name and description of purpose be included on the 186 | same "printed page" as the copyright notice for easier 187 | identification within third-party archives. 188 | 189 | Copyright [yyyy] [name of copyright owner] 190 | 191 | Licensed under the Apache License, Version 2.0 (the "License"); 192 | you may not use this file except in compliance with the License. 193 | You may obtain a copy of the License at 194 | 195 | http://www.apache.org/licenses/LICENSE-2.0 196 | 197 | Unless required by applicable law or agreed to in writing, software 198 | distributed under the License is distributed on an "AS IS" BASIS, 199 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 200 | See the License for the specific language governing permissions and 201 | limitations under the License. 202 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # docker-ansible 2 | 3 | [![Build](https://github.com/diodonfrost/docker-ansible/workflows/Build/badge.svg)](https://github.com/diodonfrost/docker-ansible/actions) 4 | [![Docker Automated build](https://img.shields.io/docker/automated/diodonfrost/ansible-ubuntu.svg?maxAge=2592000)](https://hub.docker.com/r/diodonfrost/ansible-ubuntu/) 5 | 6 | Provides dockerfiles with ansible and in some case systemd integration. 7 | 8 | Provides docker containers use for testing ansible role on some operating system. 9 | 10 | ## Images 11 | 12 | | Base operating system | Github | Docker Hub | 13 | | -------------------------------- | ------------------------------- | ------------------------------------------- | 14 | | [CentOS stream9][CentOS stream] | [ansible-centos:stream9][] | [diodonfrost/ansible-centos:stream9][] | 15 | | [CentOS stream8][CentOS stream] | [ansible-centos:stream8][] | [diodonfrost/ansible-centos:stream8][] | 16 | | [CentOS 8][CentOS] | [ansible-centos:8][] | [diodonfrost/ansible-centos:8][] | 17 | | [CentOS 7][CentOS] | [ansible-centos:7][] | [diodonfrost/ansible-centos:7][] | 18 | | [CentOS 6][CentOS] | [ansible-centos:6][] | [diodonfrost/ansible-centos:6][] | 19 | | [Fedora 40][Fedora] | [ansible-fedora:40][] | [diodonfrost/ansible-fedora:40][] | 20 | | [Fedora 39][Fedora] | [ansible-fedora:39][] | [diodonfrost/ansible-fedora:39][] | 21 | | [Fedora 38][Fedora] | [ansible-fedora:38][] | [diodonfrost/ansible-fedora:38][] | 22 | | [Fedora 37][Fedora] | [ansible-fedora:37][] | [diodonfrost/ansible-fedora:37][] | 23 | | [Fedora 36][Fedora] | [ansible-fedora:36][] | [diodonfrost/ansible-fedora:36][] | 24 | | [Fedora 35][Fedora] | [ansible-fedora:35][] | [diodonfrost/ansible-fedora:35][] | 25 | | [Fedora 34][Fedora] | [ansible-fedora:34][] | [diodonfrost/ansible-fedora:34][] | 26 | | [Fedora 33][Fedora] | [ansible-fedora:33][] | [diodonfrost/ansible-fedora:33][] | 27 | | [Fedora 32][Fedora] | [ansible-fedora:32][] | [diodonfrost/ansible-fedora:32][] | 28 | | [Fedora 31][Fedora] | [ansible-fedora:31][] | [diodonfrost/ansible-fedora:31][] | 29 | | [Fedora 30][Fedora] | [ansible-fedora:30][] | [diodonfrost/ansible-fedora:30][] | 30 | | [Fedora 29][Fedora] | [ansible-fedora:29][] | [diodonfrost/ansible-fedora:29][] | 31 | | [Fedora 28][Fedora] | [ansible-fedora:28][] | [diodonfrost/ansible-fedora:28][] | 32 | | [Fedora 27][Fedora] | [ansible-fedora:27][] | [diodonfrost/ansible-fedora:27][] | 33 | | [Fedora 26][Fedora] | [ansible-fedora:26][] | [diodonfrost/ansible-fedora:26][] | 34 | | [Ubuntu 22.04][Ubuntu] | [ansible-ubuntu:22.04][] | [diodonfrost/ansible-ubuntu:22.04][] | 35 | | [Ubuntu 20.04][Ubuntu] | [ansible-ubuntu:20.04][] | [diodonfrost/ansible-ubuntu:20.04][] | 36 | | [Ubuntu 18.04][Ubuntu] | [ansible-ubuntu:18.04][] | [diodonfrost/ansible-ubuntu:18.04][] | 37 | | [Ubuntu 16.04][Ubuntu] | [ansible-ubuntu:16.04][] | [diodonfrost/ansible-ubuntu:16.04][] | 38 | | [Ubuntu 14.04][Ubuntu] | [ansible-ubuntu:14.04][] | [diodonfrost/ansible-ubuntu:14.04][] | 39 | | [Ubuntu 12.04][Ubuntu] | [ansible-ubuntu:12.04][] | [diodonfrost/ansible-ubuntu:12.04][] | 40 | | [Debian testing][Debian] | [ansible-debian:testing][] | [diodonfrost/ansible-debian:testing][] | 41 | | [Debian 12][Debian] | [ansible-debian:12][] | [diodonfrost/ansible-debian:12][] | 42 | | [Debian 11][Debian] | [ansible-debian:11][] | [diodonfrost/ansible-debian:11][] | 43 | | [Debian 10][Debian] | [ansible-debian:10][] | [diodonfrost/ansible-debian:10][] | 44 | | [Debian 9][Debian] | [ansible-debian:9][] | [diodonfrost/ansible-debian:9][] | 45 | | [Debian 8][Debian] | [ansible-debian:8][] | [diodonfrost/ansible-debian:8][] | 46 | | [Elementary juno][Elementary] | [ansible-elementary:juno][] | [diodonfrost/ansible-elementary:juno][] | 47 | | [Oraclelinux 9][Oraclelinux] | [ansible-oraclelinux:9][] | [diodonfrost/ansible-oraclelinux:9][] | 48 | | [Oraclelinux 8][Oraclelinux] | [ansible-oraclelinux:8][] | [diodonfrost/ansible-oraclelinux:8][] | 49 | | [Oraclelinux 7][Oraclelinux] | [ansible-oraclelinux:7][] | [diodonfrost/ansible-oraclelinux:7][] | 50 | | [Oraclelinux 6][Oraclelinux] | [ansible-oraclelinux:6][] | [diodonfrost/ansible-oraclelinux:6][] | 51 | | [Amazonlinux 2023][Amazonlinux] | [ansible-amazonlinux:2023][] | [diodonfrost/ansible-amazonlinux:2023][] | 52 | | [Amazonlinux 2][Amazonlinux] | [ansible-amazonlinux:2][] | [diodonfrost/ansible-amazonlinux:2][] | 53 | | [Amazonlinux 1][Amazonlinux] | [ansible-amazonlinux:1][] | [diodonfrost/ansible-amazonlinux:1][] | 54 | | [Opensuse tumbleweed][Opensuse] | [ansible-opensuse:tumbleweed][] | [diodonfrost/ansible-opensuse:tumbleweed][] | 55 | | [Opensuse leap][Opensuse] | [ansible-opensuse:leap][] | [diodonfrost/ansible-opensuse:leap][] | 56 | | [Opensuse 15.1][Opensuse] | [ansible-opensuse:15.1][] | [diodonfrost/ansible-opensuse:15.1][] | 57 | | [Opensuse 15][Opensuse] | [ansible-opensuse:15][] | [diodonfrost/ansible-opensuse:15][] | 58 | | [Opensuse 42.3][Opensuse] | [ansible-opensuse:42.3][] | [diodonfrost/ansible-opensuse:42.3][] | 59 | | [Opensuse 42.2][Opensuse] | [ansible-opensuse:42.2][] | [diodonfrost/ansible-opensuse:42.2][] | 60 | | [Alpine][Alpine] | [ansible-alpine:latest][] | [diodonfrost/ansible-alpine:latest][] | 61 | | [Archlinux][Archlinux] | [ansible-archlinux:latest][] | [diodonfrost/ansible-archlinux:latest][] | 62 | | [Gentoo][Gentoo] | [ansible-gentoo:latest][] | [diodonfrost/ansible-gentoo:latest][] | 63 | | [Clearlinux][Clearlinux] | [ansible-clearlinux:latest][] | [diodonfrost/ansible-clearlinux:latest][] | 64 | | [Pureos][Pureos] | [ansible-pureos:byzantium][] | [diodonfrost/ansible-pureos:byzantium][] | 65 | | [ubi-minimal 9][ubi-minimal] | [ansible-ubi-minimal:9][] | [diodonfrost/ansible-ubi-minimal:9][] | 66 | | [ubi-minimal 8][ubi-minimal] | [ansible-ubi-minimal:8][] | [diodonfrost/ansible-ubi-minimal:8][] | 67 | | [Rockylinux 9][Rockylinux] | [ansible-rockylinux:9][] | [diodonfrost/ansible-rockylinux:9][] | 68 | | [Rockylinux 8][Rockylinux] | [ansible-rockylinux:8][] | [diodonfrost/ansible-rockylinux:8][] | 69 | | [Almalinux 9][Almalinux] | [ansible-Almalinux:9][] | [diodonfrost/ansible-Almalinux:9][] | 70 | | [Almalinux 8][Almalinux] | [ansible-Almalinux:8][] | [diodonfrost/ansible-Almalinux:8][] | 71 | 72 | [CentOS stream]: https://quay.io/repository/centos/centos 73 | [Centos]: https://hub.docker.com/_/centos/ 74 | [Fedora]: https://hub.docker.com/_/fedora/ 75 | [Ubuntu]: https://hub.docker.com/_/ubuntu/ 76 | [Debian]: https://hub.docker.com/_/debian/ 77 | [Elementary]: https://hub.docker.com/r/elementary/docker 78 | [Oraclelinux]: https://hub.docker.com/_/oraclelinux/ 79 | [Amazonlinux]: https://hub.docker.com/_/amazonlinux/ 80 | [Opensuse]: https://hub.docker.com/_/opensuse/ 81 | [Alpine]: https://hub.docker.com/_/alpine 82 | [Archlinux]: https://hub.docker.com/r/base/archlinux/ 83 | [Gentoo]: https://hub.docker.com/r/gentoo/stage3-amd64/ 84 | [Clearlinux]: https://hub.docker.com/_/clearlinux 85 | [Pureos]: https://hub.docker.com/u/pureos 86 | [ubi-minimal]: https://catalog.redhat.com/software/containers/ubi8/ubi-minimal/5c359a62bed8bd75a2c3fba8 87 | [Rockylinux]: https://hub.docker.com/r/rockylinux/rockylinux 88 | [Almalinux]: https://hub.docker.com/_/almalinux 89 | 90 | [ansible-centos:stream9]: https://github.com/diodonfrost/docker-ansible/blob/master/centos-ansible/Dockerfile.centos-stream9 91 | [ansible-centos:stream8]: https://github.com/diodonfrost/docker-ansible/blob/master/centos-ansible/Dockerfile.centos-stream8 92 | [ansible-centos:8]: https://github.com/diodonfrost/docker-ansible/blob/master/centos-ansible/Dockerfile.centos-8 93 | [ansible-centos:7]: https://github.com/diodonfrost/docker-ansible/blob/master/centos-ansible/Dockerfile.centos-7 94 | [ansible-centos:6]: https://github.com/diodonfrost/docker-ansible/blob/master/centos-ansible/Dockerfile.centos-6 95 | [ansible-fedora:40]: https://github.com/diodonfrost/docker-ansible/blob/master/fedora-ansible/Dockerfile.fedora-40 96 | [ansible-fedora:39]: https://github.com/diodonfrost/docker-ansible/blob/master/fedora-ansible/Dockerfile.fedora-39 97 | [ansible-fedora:38]: https://github.com/diodonfrost/docker-ansible/blob/master/fedora-ansible/Dockerfile.fedora-38 98 | [ansible-fedora:37]: https://github.com/diodonfrost/docker-ansible/blob/master/fedora-ansible/Dockerfile.fedora-37 99 | [ansible-fedora:36]: https://github.com/diodonfrost/docker-ansible/blob/master/fedora-ansible/Dockerfile.fedora-36 100 | [ansible-fedora:35]: https://github.com/diodonfrost/docker-ansible/blob/master/fedora-ansible/Dockerfile.fedora-35 101 | [ansible-fedora:34]: https://github.com/diodonfrost/docker-ansible/blob/master/fedora-ansible/Dockerfile.fedora-34 102 | [ansible-fedora:33]: https://github.com/diodonfrost/docker-ansible/blob/master/fedora-ansible/Dockerfile.fedora-33 103 | [ansible-fedora:32]: https://github.com/diodonfrost/docker-ansible/blob/master/fedora-ansible/Dockerfile.fedora-32 104 | [ansible-fedora:31]: https://github.com/diodonfrost/docker-ansible/blob/master/fedora-ansible/Dockerfile.fedora-31 105 | [ansible-fedora:30]: https://github.com/diodonfrost/docker-ansible/blob/master/fedora-ansible/Dockerfile.fedora-30 106 | [ansible-fedora:29]: https://github.com/diodonfrost/docker-ansible/blob/master/fedora-ansible/Dockerfile.fedora-29 107 | [ansible-fedora:28]: https://github.com/diodonfrost/docker-ansible/blob/master/fedora-ansible/Dockerfile.fedora-28 108 | [ansible-fedora:27]: https://github.com/diodonfrost/docker-ansible/blob/master/fedora-ansible/Dockerfile.fedora-27 109 | [ansible-fedora:26]: https://github.com/diodonfrost/docker-ansible/blob/master/fedora-ansible/Dockerfile.fedora-28 110 | [ansible-ubuntu:22.04]: https://github.com/diodonfrost/docker-ansible/blob/master/ubuntu-ansible/Dockerfile.ubuntu-22.04 111 | [ansible-ubuntu:20.04]: https://github.com/diodonfrost/docker-ansible/blob/master/ubuntu-ansible/Dockerfile.ubuntu-20.04 112 | [ansible-ubuntu:18.04]: https://github.com/diodonfrost/docker-ansible/blob/master/ubuntu-ansible/Dockerfile.ubuntu-18.04 113 | [ansible-ubuntu:16.04]: https://github.com/diodonfrost/docker-ansible/blob/master/ubuntu-ansible/Dockerfile.ubuntu-16.04 114 | [ansible-ubuntu:14.04]: https://github.com/diodonfrost/docker-ansible/blob/master/ubuntu-ansible/Dockerfile.ubuntu-14.04 115 | [ansible-ubuntu:12.04]: https://github.com/diodonfrost/docker-ansible/blob/master/ubuntu-ansible/Dockerfile.ubuntu-12.04 116 | [ansible-debian:testing]: https://github.com/diodonfrost/docker-ansible/blob/master/debian-ansible/Dockerfile.debian-testing 117 | [ansible-debian:12]: https://github.com/diodonfrost/docker-ansible/blob/master/debian-ansible/Dockerfile.debian-12 118 | [ansible-debian:11]: https://github.com/diodonfrost/docker-ansible/blob/master/debian-ansible/Dockerfile.debian-11 119 | [ansible-debian:10]: https://github.com/diodonfrost/docker-ansible/blob/master/debian-ansible/Dockerfile.debian-10 120 | [ansible-debian:9]: https://github.com/diodonfrost/docker-ansible/blob/master/debian-ansible/Dockerfile.debian-9 121 | [ansible-debian:8]: https://github.com/diodonfrost/docker-ansible/blob/master/debian-ansible/Dockerfile.debian-8 122 | [ansible-elementary:juno]: https://github.com/diodonfrost/docker-ansible/blob/master/elementary-ansible/Dockerfile.elementary-juno 123 | [ansible-oraclelinux:9]: https://github.com/diodonfrost/docker-ansible/blob/master/oraclelinux-ansible/Dockerfile.oraclelinux-9 124 | [ansible-oraclelinux:8]: https://github.com/diodonfrost/docker-ansible/blob/master/oraclelinux-ansible/Dockerfile.oraclelinux-8 125 | [ansible-oraclelinux:7]: https://github.com/diodonfrost/docker-ansible/blob/master/oraclelinux-ansible/Dockerfile.oraclelinux-7 126 | [ansible-oraclelinux:6]: https://github.com/diodonfrost/docker-ansible/blob/master/oraclelinux-ansible/Dockerfile.oraclelinux-6 127 | [ansible-amazonlinux:2023]: https://github.com/diodonfrost/docker-ansible/blob/master/amazonlinux-ansible/Dockerfile.amazonlinux-2023 128 | [ansible-amazonlinux:2]: https://github.com/diodonfrost/docker-ansible/blob/master/amazonlinux-ansible/Dockerfile.amazonlinux-2 129 | [ansible-amazonlinux:1]: https://github.com/diodonfrost/docker-ansible/blob/master/amazonlinux-ansible/Dockerfile.amazonlinux-1 130 | [ansible-opensuse:tumbleweed]: https://github.com/diodonfrost/docker-ansible/blob/master/opensuse-ansible/Dockerfile.opensuse-tumbleweed 131 | [ansible-opensuse:leap]: https://github.com/diodonfrost/docker-ansible/blob/master/opensuse-ansible/Dockerfile.opensuse-leap 132 | [ansible-opensuse:15.1]: https://github.com/diodonfrost/docker-ansible/blob/master/opensuse-ansible/Dockerfile.opensuse-15.1 133 | [ansible-opensuse:15]: https://github.com/diodonfrost/docker-ansible/blob/master/opensuse-ansible/Dockerfile.opensuse-15 134 | [ansible-opensuse:42.3]: https://github.com/diodonfrost/docker-ansible/blob/master/opensuse-ansible/Dockerfile.opensuse-42.3 135 | [ansible-opensuse:42.2]: https://github.com/diodonfrost/docker-ansible/blob/master/opensuse-ansible/Dockerfile.opensuse-42.2 136 | [ansible-alpine:latest]: https://github.com/diodonfrost/docker-ansible/blob/master/alpine-ansible/Dockerfile.alpine-latest 137 | [ansible-archlinux:latest]: https://github.com/diodonfrost/docker-ansible/blob/master/archlinux-ansible/Dockerfile.archlinux-latest 138 | [ansible-gentoo:latest]: https://github.com/diodonfrost/docker-ansible/blob/master/gentoo-ansible/Dockerfile.gentoo-latest 139 | [ansible-clearlinux:latest]: https://github.com/diodonfrost/docker-ansible/blob/master/clearlinux-ansible/Dockerfile.clearlinux-latest 140 | [ansible-pureos:byzantium]: https://github.com/diodonfrost/docker-ansible/blob/master/pureos-ansible/Dockerfile.pureos-byzantium 141 | [ansible-ubi-minimal:9]: https://github.com/diodonfrost/docker-ansible/blob/master/ubi-minimal-ansible/Dockerfile.ubi-minimal-9 142 | [ansible-ubi-minimal:8]: https://github.com/diodonfrost/docker-ansible/blob/master/ubi-minimal-ansible/Dockerfile.ubi-minimal-8 143 | [ansible-rockylinux:9]: https://github.com/diodonfrost/docker-ansible/tree/master/rockylinux-ansible/Dockerfile.rockylinux-9 144 | [ansible-rockylinux:8]: https://github.com/diodonfrost/docker-ansible/tree/master/rockylinux-ansible/Dockerfile.rockylinux-8 145 | [ansible-almalinux:9]: https://github.com/diodonfrost/docker-ansible/tree/master/almalinux-ansible/Dockerfile.almalinux-9 146 | [ansible-almalinux:8]: https://github.com/diodonfrost/docker-ansible/tree/master/almalinux-ansible/Dockerfile.almalinux-8 147 | 148 | [diodonfrost/ansible-centos:stream9]: https://hub.docker.com/r/diodonfrost/ansible-centos 149 | [diodonfrost/ansible-centos:stream8]: https://hub.docker.com/r/diodonfrost/ansible-centos 150 | [diodonfrost/ansible-centos:8]: https://hub.docker.com/r/diodonfrost/ansible-centos 151 | [diodonfrost/ansible-centos:7]: https://hub.docker.com/r/diodonfrost/ansible-centos 152 | [diodonfrost/ansible-centos:6]: https://hub.docker.com/r/diodonfrost/ansible-centos 153 | [diodonfrost/ansible-fedora:40]: https://hub.docker.com/r/diodonfrost/ansible-fedora 154 | [diodonfrost/ansible-fedora:39]: https://hub.docker.com/r/diodonfrost/ansible-fedora 155 | [diodonfrost/ansible-fedora:38]: https://hub.docker.com/r/diodonfrost/ansible-fedora 156 | [diodonfrost/ansible-fedora:37]: https://hub.docker.com/r/diodonfrost/ansible-fedora 157 | [diodonfrost/ansible-fedora:36]: https://hub.docker.com/r/diodonfrost/ansible-fedora 158 | [diodonfrost/ansible-fedora:35]: https://hub.docker.com/r/diodonfrost/ansible-fedora 159 | [diodonfrost/ansible-fedora:34]: https://hub.docker.com/r/diodonfrost/ansible-fedora 160 | [diodonfrost/ansible-fedora:33]: https://hub.docker.com/r/diodonfrost/ansible-fedora 161 | [diodonfrost/ansible-fedora:32]: https://hub.docker.com/r/diodonfrost/ansible-fedora 162 | [diodonfrost/ansible-fedora:31]: https://hub.docker.com/r/diodonfrost/ansible-fedora 163 | [diodonfrost/ansible-fedora:30]: https://hub.docker.com/r/diodonfrost/ansible-fedora 164 | [diodonfrost/ansible-fedora:29]: https://hub.docker.com/r/diodonfrost/ansible-fedora 165 | [diodonfrost/ansible-fedora:28]: https://hub.docker.com/r/diodonfrost/ansible-fedora 166 | [diodonfrost/ansible-fedora:27]: https://hub.docker.com/r/diodonfrost/ansible-fedora 167 | [diodonfrost/ansible-fedora:26]: https://hub.docker.com/r/diodonfrost/ansible-fedora 168 | [diodonfrost/ansible-ubuntu:22.04]: https://hub.docker.com/r/diodonfrost/ansible-ubuntu 169 | [diodonfrost/ansible-ubuntu:20.04]: https://hub.docker.com/r/diodonfrost/ansible-ubuntu 170 | [diodonfrost/ansible-ubuntu:18.04]: https://hub.docker.com/r/diodonfrost/ansible-ubuntu 171 | [diodonfrost/ansible-ubuntu:16.04]: https://hub.docker.com/r/diodonfrost/ansible-ubuntu 172 | [diodonfrost/ansible-ubuntu:14.04]: https://hub.docker.com/r/diodonfrost/ansible-ubuntu 173 | [diodonfrost/ansible-ubuntu:12.04]: https://hub.docker.com/r/diodonfrost/ansible-ubuntu 174 | [diodonfrost/ansible-debian:testing]: https://hub.docker.com/r/diodonfrost/ansible-debian 175 | [diodonfrost/ansible-debian:12]: https://hub.docker.com/r/diodonfrost/ansible-debian 176 | [diodonfrost/ansible-debian:11]: https://hub.docker.com/r/diodonfrost/ansible-debian 177 | [diodonfrost/ansible-debian:10]: https://hub.docker.com/r/diodonfrost/ansible-debian 178 | [diodonfrost/ansible-debian:9]: https://hub.docker.com/r/diodonfrost/ansible-debian 179 | [diodonfrost/ansible-debian:8]: https://hub.docker.com/r/diodonfrost/ansible-debian 180 | [diodonfrost/ansible-elementary:juno]: https://hub.docker.com/r/diodonfrost/ansible-elementary 181 | [diodonfrost/ansible-oraclelinux:9]: https://hub.docker.com/r/diodonfrost/ansible-oraclelinux 182 | [diodonfrost/ansible-oraclelinux:8]: https://hub.docker.com/r/diodonfrost/ansible-oraclelinux 183 | [diodonfrost/ansible-oraclelinux:7]: https://hub.docker.com/r/diodonfrost/ansible-oraclelinux 184 | [diodonfrost/ansible-oraclelinux:6]: https://hub.docker.com/r/diodonfrost/ansible-oraclelinux 185 | [diodonfrost/ansible-amazonlinux:2023]: https://hub.docker.com/r/diodonfrost/ansible-amazonlinux 186 | [diodonfrost/ansible-amazonlinux:2]: https://hub.docker.com/r/diodonfrost/ansible-amazonlinux 187 | [diodonfrost/ansible-amazonlinux:1]: https://hub.docker.com/r/diodonfrost/ansible-oraclelinux 188 | [diodonfrost/ansible-opensuse:tumbleweed]: https://hub.docker.com/r/diodonfrost/ansible-opensuse 189 | [diodonfrost/ansible-opensuse:leap]: https://hub.docker.com/r/diodonfrost/ansible-opensuse 190 | [diodonfrost/ansible-opensuse:15.1]: https://hub.docker.com/r/diodonfrost/ansible-opensuse 191 | [diodonfrost/ansible-opensuse:15]: https://hub.docker.com/r/diodonfrost/ansible-opensuse 192 | [diodonfrost/ansible-opensuse:42.3]: https://hub.docker.com/r/diodonfrost/ansible-opensuse 193 | [diodonfrost/ansible-opensuse:42.2]: https://hub.docker.com/r/diodonfrost/ansible-opensuse 194 | [diodonfrost/ansible-alpine:latest]: https://hub.docker.com/r/diodonfrost/ansible-alpine 195 | [diodonfrost/ansible-archlinux:latest]: https://hub.docker.com/r/diodonfrost/ansible-archlinux 196 | [diodonfrost/ansible-gentoo:latest]: https://hub.docker.com/r/diodonfrost/ansible-gentoo 197 | [diodonfrost/ansible-clearlinux:latest]: https://hub.docker.com/r/diodonfrost/ansible-clearlinux 198 | [diodonfrost/ansible-pureos:byzantium]: https://hub.docker.com/r/diodonfrost/ansible-pureos 199 | [diodonfrost/ansible-ubi-minimal:9]: https://hub.docker.com/r/diodonfrost/ansible-ubi-minimal 200 | [diodonfrost/ansible-ubi-minimal:8]: https://hub.docker.com/r/diodonfrost/ansible-ubi-minimal 201 | [diodonfrost/ansible-rockylinux:9]: https://hub.docker.com/r/diodonfrost/ansible-rockylinux 202 | [diodonfrost/ansible-rockylinux:8]: https://hub.docker.com/r/diodonfrost/ansible-rockylinux 203 | [diodonfrost/ansible-almalinux:9]: https://hub.docker.com/r/diodonfrost/ansible-almalinux 204 | [diodonfrost/ansible-almalinux:8]: https://hub.docker.com/r/diodonfrost/ansible-almalinux 205 | -------------------------------------------------------------------------------- /almalinux-ansible/Dockerfile.almalinux-8: -------------------------------------------------------------------------------- 1 | FROM almalinux:8 2 | LABEL maintainer="diodonfrost " 3 | 4 | # Install systemd -- See https://hub.docker.com/_/centos/ 5 | RUN dnf -y update && dnf clean all; \ 6 | (cd /lib/systemd/system/sysinit.target.wants/; for i in *; do [ $i == systemd-tmpfiles-setup.service ] || rm -f $i; done); \ 7 | rm -f /lib/systemd/system/multi-user.target.wants/*; \ 8 | rm -f /etc/systemd/system/*.wants/*; \ 9 | rm -f /lib/systemd/system/local-fs.target.wants/*; \ 10 | rm -f /lib/systemd/system/sockets.target.wants/*udev*; \ 11 | rm -f /lib/systemd/system/sockets.target.wants/*initctl*; \ 12 | rm -f /lib/systemd/system/basic.target.wants/*; \ 13 | rm -f /lib/systemd/system/anaconda.target.wants/*; 14 | 15 | RUN dnf -y install dnf-plugins-core && dnf clean all 16 | RUN dnf -y install \ 17 | git \ 18 | python3.11 \ 19 | python3.11-pip \ 20 | sudo \ 21 | openssh-server \ 22 | openssh-clients \ 23 | unzip \ 24 | rsync \ 25 | which \ 26 | fuse-libs \ 27 | && dnf clean all 28 | 29 | #RUN alternatives --set python /usr/bin/python3 30 | RUN python3 -m pip install --upgrade pip && \ 31 | python3 -m pip install ansible 32 | RUN ln -s /usr/local/bin/ansible* /usr/bin/ 33 | 34 | RUN sed -i -e 's/^\(Defaults\s*requiretty\)/#--- \1/' /etc/sudoers 35 | 36 | RUN mkdir /etc/ansible && echo -e '[local]\nlocalhost ansible_connection=local' > /etc/ansible/hosts 37 | 38 | VOLUME ["/sys/fs/cgroup"] 39 | 40 | CMD ["/usr/sbin/init"] 41 | -------------------------------------------------------------------------------- /almalinux-ansible/Dockerfile.almalinux-9: -------------------------------------------------------------------------------- 1 | FROM almalinux:9 2 | LABEL maintainer="diodonfrost " 3 | 4 | # Install systemd -- See https://hub.docker.com/_/centos/ 5 | RUN dnf -y update && dnf clean all; \ 6 | (cd /lib/systemd/system/sysinit.target.wants/; for i in *; do [ $i == systemd-tmpfiles-setup.service ] || rm -f $i; done); \ 7 | rm -f /lib/systemd/system/multi-user.target.wants/*; \ 8 | rm -f /etc/systemd/system/*.wants/*; \ 9 | rm -f /lib/systemd/system/local-fs.target.wants/*; \ 10 | rm -f /lib/systemd/system/sockets.target.wants/*udev*; \ 11 | rm -f /lib/systemd/system/sockets.target.wants/*initctl*; \ 12 | rm -f /lib/systemd/system/basic.target.wants/*; \ 13 | rm -f /lib/systemd/system/anaconda.target.wants/*; 14 | 15 | RUN dnf -y install dnf-plugins-core && dnf clean all 16 | RUN dnf -y install \ 17 | git \ 18 | ansible-core \ 19 | python3 \ 20 | python3-pip \ 21 | sudo \ 22 | openssh-server \ 23 | openssh-clients \ 24 | unzip \ 25 | rsync \ 26 | which \ 27 | fuse-libs \ 28 | && dnf clean all 29 | 30 | RUN sed -i -e 's/^\(Defaults\s*requiretty\)/#--- \1/' /etc/sudoers 31 | 32 | RUN echo -e '[local]\nlocalhost ansible_connection=local' > /etc/ansible/hosts 33 | 34 | VOLUME ["/sys/fs/cgroup"] 35 | 36 | CMD ["/usr/sbin/init"] 37 | -------------------------------------------------------------------------------- /alpine-ansible/Dockerfile.alpine-latest: -------------------------------------------------------------------------------- 1 | FROM alpine:latest 2 | LABEL maintainer="diodonfrost " 3 | 4 | # Install Ansible 5 | RUN apk add --no-cache git ansible sudo openssh unzip tar rsync libc6-compat fuse-dev shadow 6 | 7 | VOLUME ["/sys/fs/cgroup"] 8 | 9 | CMD ["/sbin/init"] 10 | -------------------------------------------------------------------------------- /amazonlinux-ansible/Dockerfile.amazonlinux-1: -------------------------------------------------------------------------------- 1 | FROM amazonlinux:1 2 | LABEL maintainer="diodonfrost " 3 | 4 | RUN yum makecache fast && \ 5 | yum -y install deltarpm && \ 6 | yum -y update && \ 7 | yum -y install \ 8 | python36-pip \ 9 | sysvinit initscripts \ 10 | openssh-server \ 11 | openssh-clients \ 12 | unzip \ 13 | tar \ 14 | rsync \ 15 | sudo \ 16 | which && \ 17 | yum clean metadata && \ 18 | yum clean all 19 | 20 | RUN python3 -m pip install --upgrade pip && python3 -m pip install ansible 21 | 22 | # Install Ansible inventory file. 23 | RUN mkdir /etc/ansible && \ 24 | echo -e '[local]\nlocalhost ansible_connection=local' > /etc/ansible/hosts 25 | 26 | CMD ["/sbin/init"] 27 | -------------------------------------------------------------------------------- /amazonlinux-ansible/Dockerfile.amazonlinux-2: -------------------------------------------------------------------------------- 1 | FROM amazonlinux:2 2 | LABEL maintainer="diodonfrost " 3 | 4 | RUN yum makecache fast && \ 5 | yum -y install deltarpm && \ 6 | yum -y update && \ 7 | yum -y install \ 8 | python3-pip \ 9 | sysvinit initscripts \ 10 | openssh-server \ 11 | openssh-clients \ 12 | unzip \ 13 | tar \ 14 | rsync \ 15 | sudo \ 16 | which \ 17 | fuse-libs \ 18 | && yum clean metadata \ 19 | && yum clean all 20 | 21 | RUN python3 -m pip install --upgrade pip && \ 22 | python3 -m pip install ansible 23 | 24 | # Install Ansible inventory file. 25 | RUN mkdir /etc/ansible && \ 26 | echo -e '[local]\nlocalhost ansible_connection=local' > /etc/ansible/hosts 27 | 28 | CMD ["/usr/sbin/init"] 29 | -------------------------------------------------------------------------------- /amazonlinux-ansible/Dockerfile.amazonlinux-2023: -------------------------------------------------------------------------------- 1 | FROM amazonlinux:2023 2 | LABEL maintainer="diodonfrost " 3 | 4 | RUN dnf -y install \ 5 | git \ 6 | python3-pip \ 7 | openssh-server \ 8 | openssh-clients \ 9 | unzip \ 10 | tar \ 11 | rsync \ 12 | sudo \ 13 | which \ 14 | fuse-libs \ 15 | && dnf clean all 16 | 17 | RUN python3 -m pip install ansible 18 | 19 | # Install Ansible inventory file. 20 | RUN mkdir /etc/ansible && \ 21 | echo -e '[local]\nlocalhost ansible_connection=local' > /etc/ansible/hosts 22 | 23 | CMD ["/usr/sbin/init"] 24 | -------------------------------------------------------------------------------- /archlinux-ansible/Dockerfile.archlinux-latest: -------------------------------------------------------------------------------- 1 | FROM archlinux:base 2 | LABEL maintainer="diodonfrost " 3 | 4 | RUN pacman --noconfirm -Syu systemd procps; pacman --noconfirm -Scc ;\ 5 | (cd /lib/systemd/system/sysinit.target.wants/; for i in *; do [ $i == systemd-tmpfiles-setup.service ] || rm -f $i; done); \ 6 | rm -f /lib/systemd/system/multi-user.target.wants/*;\ 7 | rm -f /etc/systemd/system/*.wants/*;\ 8 | rm -f /lib/systemd/system/local-fs.target.wants/*; \ 9 | rm -f /lib/systemd/system/sockets.target.wants/*udev*; \ 10 | rm -f /lib/systemd/system/sockets.target.wants/*initctl*; \ 11 | rm -f /lib/systemd/system/basic.target.wants/*;\ 12 | rm -f /lib/systemd/system/anaconda.target.wants/*; 13 | 14 | RUN pacman --noconfirm -Sy git python-pip python-ansible sudo openssh gawk unzip tar rsync fuse && pacman --noconfirm -Scc 15 | 16 | RUN echo -e '[local]\nlocalhost ansible_connection=local' > /etc/ansible/hosts 17 | 18 | VOLUME ["/sys/fs/cgroup"] 19 | 20 | CMD ["/usr/lib/systemd/systemd"] 21 | -------------------------------------------------------------------------------- /centos-ansible/Dockerfile.centos-6: -------------------------------------------------------------------------------- 1 | FROM centos:6 2 | LABEL maintainer="diodonfrost " 3 | 4 | # Use CentOS archive repository 5 | RUN rm -f /etc/yum.repos.d/* 6 | COPY ./centos-6-vault-repos/CentOS-Vault.repo /etc/yum.repos.d/CentOS-Vault.repo 7 | 8 | RUN yum -y install epel-release && yum clean all 9 | RUN yum -y install \ 10 | git \ 11 | ansible \ 12 | sudo \ 13 | openssh-server \ 14 | openssh-clients \ 15 | unzip \ 16 | rsync \ 17 | which \ 18 | && yum clean all 19 | 20 | # Install python ssl packages to perform SNI verification in python >= 2.6 21 | RUN yum -y install pyOpenSSL python-urllib3 python2-ndg_httpsclient python-pyasn1 && yum clean all 22 | 23 | RUN sed -i -e 's/^\(Defaults\s*requiretty\)/#--- \1/' /etc/sudoers 24 | 25 | RUN echo -e '[local]\nlocalhost ansible_connection=local' > /etc/ansible/hosts 26 | 27 | VOLUME ["/sys/fs/cgroup"] 28 | 29 | CMD ["/sbin/init"] 30 | -------------------------------------------------------------------------------- /centos-ansible/Dockerfile.centos-7: -------------------------------------------------------------------------------- 1 | FROM centos:7 2 | LABEL maintainer="diodonfrost " 3 | 4 | ENV LANG en_US.UTF-8 5 | ENV LC_ALL en_US.UTF-8 6 | 7 | # Install systemd -- See https://hub.docker.com/_/centos/ 8 | RUN yum -y swap -- remove fakesystemd -- install systemd systemd-libs && yum clean all 9 | RUN yum -y update && yum clean all; \ 10 | (cd /lib/systemd/system/sysinit.target.wants/; for i in *; do [ $i == systemd-tmpfiles-setup.service ] || rm -f $i; done); \ 11 | rm -f /lib/systemd/system/multi-user.target.wants/*; \ 12 | rm -f /etc/systemd/system/*.wants/*; \ 13 | rm -f /lib/systemd/system/local-fs.target.wants/*; \ 14 | rm -f /lib/systemd/system/sockets.target.wants/*udev*; \ 15 | rm -f /lib/systemd/system/sockets.target.wants/*initctl*; \ 16 | rm -f /lib/systemd/system/basic.target.wants/*; \ 17 | rm -f /lib/systemd/system/anaconda.target.wants/*; 18 | 19 | RUN yum -y install \ 20 | git \ 21 | python3-pip \ 22 | sudo \ 23 | openssh-server \ 24 | openssh-clients \ 25 | unzip \ 26 | rsync \ 27 | which \ 28 | fuse-libs \ 29 | && yum clean all 30 | 31 | RUN python3 -m pip install pip==21.3.1 && \ 32 | python3 -m pip install ansible==2.10.7 33 | 34 | RUN sed -i -e 's/^\(Defaults\s*requiretty\)/#--- \1/' /etc/sudoers 35 | 36 | RUN mkdir /etc/ansible && \ 37 | echo -e '[local]\nlocalhost ansible_connection=local' > /etc/ansible/hosts 38 | 39 | VOLUME ["/sys/fs/cgroup"] 40 | 41 | CMD ["/usr/sbin/init"] 42 | -------------------------------------------------------------------------------- /centos-ansible/Dockerfile.centos-8: -------------------------------------------------------------------------------- 1 | FROM centos:8 2 | LABEL maintainer="diodonfrost " 3 | 4 | # Install systemd -- See https://hub.docker.com/_/centos/ 5 | RUN dnf -y update && dnf clean all; \ 6 | (cd /lib/systemd/system/sysinit.target.wants/; for i in *; do [ $i == systemd-tmpfiles-setup.service ] || rm -f $i; done); \ 7 | rm -f /lib/systemd/system/multi-user.target.wants/*; \ 8 | rm -f /etc/systemd/system/*.wants/*; \ 9 | rm -f /lib/systemd/system/local-fs.target.wants/*; \ 10 | rm -f /lib/systemd/system/sockets.target.wants/*udev*; \ 11 | rm -f /lib/systemd/system/sockets.target.wants/*initctl*; \ 12 | rm -f /lib/systemd/system/basic.target.wants/*; \ 13 | rm -f /lib/systemd/system/anaconda.target.wants/*; 14 | 15 | RUN dnf -y install dnf-plugins-core && dnf clean all 16 | RUN dnf -y install \ 17 | git \ 18 | python3 \ 19 | python3-pip \ 20 | sudo \ 21 | openssh-server \ 22 | openssh-clients \ 23 | unzip \ 24 | rsync \ 25 | which \ 26 | fuse-libs \ 27 | && dnf clean all 28 | 29 | RUN alternatives --set python /usr/bin/python3 30 | RUN python3 -m pip install --upgrade pip && \ 31 | python3 -m pip install ansible 32 | RUN ln -s /usr/local/bin/ansible* /usr/bin/ 33 | 34 | RUN sed -i -e 's/^\(Defaults\s*requiretty\)/#--- \1/' /etc/sudoers 35 | 36 | RUN mkdir /etc/ansible && echo -e '[local]\nlocalhost ansible_connection=local' > /etc/ansible/hosts 37 | 38 | VOLUME ["/sys/fs/cgroup"] 39 | 40 | CMD ["/usr/sbin/init"] 41 | -------------------------------------------------------------------------------- /centos-ansible/Dockerfile.centos-stream8: -------------------------------------------------------------------------------- 1 | FROM quay.io/centos/centos:stream8 2 | LABEL maintainer="diodonfrost " 3 | 4 | ENV LANG en_US.UTF-8 5 | ENV LC_ALL C.UTF-8 6 | 7 | # Install systemd 8 | RUN dnf -y install systemd && dnf clean all; \ 9 | (cd /lib/systemd/system/sysinit.target.wants/; for i in *; do [ $i == systemd-tmpfiles-setup.service ] || rm -f $i; done); \ 10 | rm -f /lib/systemd/system/multi-user.target.wants/*; \ 11 | rm -f /etc/systemd/system/*.wants/*; \ 12 | rm -f /lib/systemd/system/local-fs.target.wants/*; \ 13 | rm -f /lib/systemd/system/sockets.target.wants/*udev*; \ 14 | rm -f /lib/systemd/system/sockets.target.wants/*initctl*; \ 15 | rm -f /lib/systemd/system/basic.target.wants/*; \ 16 | rm -f /lib/systemd/system/anaconda.target.wants/*; 17 | 18 | RUN dnf -y install dnf-plugins-core && dnf clean all 19 | RUN dnf -y install \ 20 | ansible-core \ 21 | git \ 22 | python3 \ 23 | python3-pip \ 24 | sudo \ 25 | openssh-server \ 26 | openssh-clients \ 27 | unzip \ 28 | rsync \ 29 | which \ 30 | fuse-libs \ 31 | && dnf clean all 32 | 33 | RUN sed -i -e 's/^\(Defaults\s*requiretty\)/#--- \1/' /etc/sudoers 34 | 35 | RUN echo -e '[local]\nlocalhost ansible_connection=local' > /etc/ansible/hosts 36 | 37 | VOLUME ["/sys/fs/cgroup"] 38 | 39 | CMD ["/usr/sbin/init"] 40 | -------------------------------------------------------------------------------- /centos-ansible/Dockerfile.centos-stream9: -------------------------------------------------------------------------------- 1 | FROM quay.io/centos/centos:stream9 2 | LABEL maintainer="diodonfrost " 3 | 4 | ENV LANG en_US.UTF-8 5 | ENV LC_ALL C.UTF-8 6 | 7 | # Install systemd 8 | RUN dnf -y install systemd && dnf clean all; \ 9 | (cd /lib/systemd/system/sysinit.target.wants/; for i in *; do [ $i == systemd-tmpfiles-setup.service ] || rm -f $i; done); \ 10 | rm -f /lib/systemd/system/multi-user.target.wants/*; \ 11 | rm -f /etc/systemd/system/*.wants/*; \ 12 | rm -f /lib/systemd/system/local-fs.target.wants/*; \ 13 | rm -f /lib/systemd/system/sockets.target.wants/*udev*; \ 14 | rm -f /lib/systemd/system/sockets.target.wants/*initctl*; \ 15 | rm -f /lib/systemd/system/basic.target.wants/*; \ 16 | rm -f /lib/systemd/system/anaconda.target.wants/*; 17 | 18 | RUN dnf -y install dnf-plugins-core && dnf clean all 19 | RUN dnf -y install \ 20 | ansible-core \ 21 | git \ 22 | python3 \ 23 | python3-pip \ 24 | sudo \ 25 | openssh-server \ 26 | openssh-clients \ 27 | unzip \ 28 | rsync \ 29 | which \ 30 | fuse-libs \ 31 | && dnf clean all 32 | 33 | RUN sed -i -e 's/^\(Defaults\s*requiretty\)/#--- \1/' /etc/sudoers 34 | 35 | RUN echo -e '[local]\nlocalhost ansible_connection=local' > /etc/ansible/hosts 36 | 37 | VOLUME ["/sys/fs/cgroup"] 38 | 39 | CMD ["/usr/sbin/init"] 40 | -------------------------------------------------------------------------------- /centos-ansible/centos-6-vault-repos/CentOS-Vault.repo: -------------------------------------------------------------------------------- 1 | # CentOS-Vault.repo 2 | # 3 | # CentOS Vault holds packages from previous releases within the same CentOS Version 4 | # these are packages obsoleted by the current release and should usually not 5 | # be used in production 6 | #----------------- 7 | 8 | [C6.10-base] 9 | name=CentOS-6.10 - Base 10 | baseurl=http://vault.centos.org/6.10/os/$basearch/ 11 | gpgcheck=1 12 | gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6 13 | enabled=1 14 | 15 | [C6.10-updates] 16 | name=CentOS-6.10 - Updates 17 | baseurl=http://vault.centos.org/6.10/updates/$basearch/ 18 | gpgcheck=1 19 | gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6 20 | enabled=1 21 | 22 | [C6.10-extras] 23 | name=CentOS-6.10 - Extras 24 | baseurl=http://vault.centos.org/6.10/extras/$basearch/ 25 | gpgcheck=1 26 | gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6 27 | enabled=1 28 | 29 | [C6.10-contrib] 30 | name=CentOS-6.10 - Contrib 31 | baseurl=http://vault.centos.org/6.10/contrib/$basearch/ 32 | gpgcheck=1 33 | gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6 34 | enabled=0 35 | 36 | [C6.10-centosplus] 37 | name=CentOS-6.10 - CentOSPlus 38 | baseurl=http://vault.centos.org/6.10/centosplus/$basearch/ 39 | gpgcheck=1 40 | gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6 41 | enabled=0 42 | 43 | [C6.10-contrib] 44 | name=CentOS-6.10 - Contrib 45 | baseurl=http://vault.centos.org/6.10/contrib/$basearch/ 46 | gpgcheck=1 47 | enabled=0 48 | gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6 49 | 50 | [C6.10-fasttrack] 51 | name=CentOS-6.10 - fasttrack 52 | baseurl=http://vault.centos.org/6.10/fasttrack/$basearch/ 53 | gpgcheck=1 54 | enabled=0 55 | gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6 56 | -------------------------------------------------------------------------------- /clearlinux-ansible/Dockerfile.clearlinux-latest: -------------------------------------------------------------------------------- 1 | FROM clearlinux:latest 2 | LABEL maintainer="diodonfrost " 3 | 4 | RUN mkdir -p /etc/systemd/system && \ 5 | ln -s /dev/null /etc/systemd/system/swupd-update.service && \ 6 | ln -s /dev/null /etc/systemd/system/swupd-update.timer 7 | 8 | RUN swupd bundle-add ansible unzip rsync sudo && swupd clean 9 | 10 | RUN mkdir -p /etc/ansible && \ 11 | echo -e '[local]\nlocalhost ansible_connection=local' > /etc/ansible/hosts 12 | 13 | VOLUME ["/sys/fs/cgroup"] 14 | 15 | CMD ["/usr/sbin/init"] 16 | -------------------------------------------------------------------------------- /debian-ansible/Dockerfile.debian-10: -------------------------------------------------------------------------------- 1 | FROM debian:buster 2 | LABEL maintainer="diodonfrost " 3 | 4 | RUN apt-get update -y && apt-get install -y --no-install-recommends \ 5 | software-properties-common \ 6 | git \ 7 | ansible \ 8 | gnupg2 \ 9 | dirmngr \ 10 | apt-transport-https \ 11 | curl \ 12 | init \ 13 | openssh-server openssh-client \ 14 | systemd \ 15 | unzip \ 16 | rsync \ 17 | sudo \ 18 | fuse \ 19 | && rm -rf /var/lib/apt/lists/* 20 | 21 | RUN ln -s /usr/bin/python3 /usr/bin/python 22 | 23 | RUN mkdir -p /etc/ansible && echo "[local]\nlocalhost ansible_connection=local" > /etc/ansible/hosts 24 | 25 | CMD ["/bin/systemd"] 26 | -------------------------------------------------------------------------------- /debian-ansible/Dockerfile.debian-11: -------------------------------------------------------------------------------- 1 | FROM debian:bullseye 2 | LABEL maintainer="diodonfrost " 3 | 4 | RUN apt-get update -y && apt-get install -y --no-install-recommends \ 5 | software-properties-common \ 6 | git \ 7 | ansible \ 8 | gnupg2 \ 9 | dirmngr \ 10 | apt-transport-https \ 11 | curl \ 12 | init \ 13 | openssh-server openssh-client \ 14 | systemd \ 15 | unzip \ 16 | rsync \ 17 | sudo \ 18 | fuse \ 19 | && rm -rf /var/lib/apt/lists/* 20 | 21 | RUN ln -s /usr/bin/python3 /usr/bin/python 22 | 23 | RUN mkdir -p /etc/ansible && echo "[local]\nlocalhost ansible_connection=local" > /etc/ansible/hosts 24 | 25 | CMD ["/bin/systemd"] 26 | -------------------------------------------------------------------------------- /debian-ansible/Dockerfile.debian-12: -------------------------------------------------------------------------------- 1 | FROM debian:bookworm 2 | LABEL maintainer="diodonfrost " 3 | 4 | RUN apt-get update -y && apt-get install -y --no-install-recommends \ 5 | software-properties-common \ 6 | git \ 7 | ansible \ 8 | gnupg2 \ 9 | dirmngr \ 10 | apt-transport-https \ 11 | curl \ 12 | init \ 13 | openssh-server openssh-client \ 14 | systemd \ 15 | unzip \ 16 | rsync \ 17 | sudo \ 18 | fuse \ 19 | python-is-python3 \ 20 | && rm -rf /var/lib/apt/lists/* 21 | 22 | RUN mkdir -p /etc/ansible && echo "[local]\nlocalhost ansible_connection=local" > /etc/ansible/hosts 23 | 24 | CMD ["/bin/systemd"] 25 | -------------------------------------------------------------------------------- /debian-ansible/Dockerfile.debian-7: -------------------------------------------------------------------------------- 1 | FROM debian:7 2 | LABEL maintainer="diodonfrost " 3 | 4 | # Use Debian archive repository 5 | COPY ./debian-7-apt/sources.list /etc/apt/sources.list 6 | 7 | RUN apt-get update -y && apt-get install --fix-missing && \ 8 | DEBIAN_FRONTEND=noninteractive \ 9 | apt-get install -y \ 10 | python python-yaml sudo openssh-server openssh-client unzip rsync \ 11 | curl gcc python-dev libffi-dev libssl-dev 12 | 13 | # Install pip 14 | RUN curl -o /tmp/get-pip.py https://bootstrap.pypa.io/get-pip.py && python /tmp/get-pip.py 15 | 16 | # Install Ansible with pip 17 | RUN pip install ansible 18 | 19 | # Clear python dependency 20 | RUN apt-get -f -y --auto-remove remove \ 21 | gcc python-pip python-dev libffi-dev libssl-dev && \ 22 | apt-get clean && \ 23 | rm -rf /var/lib/apt/lists/* /tmp/* /usr/share/doc /usr/share/man 24 | 25 | # Install Ansible inventory file 26 | RUN mkdir -p /etc/ansible \ 27 | && echo "[local]\nlocalhost ansible_connection=local" > /etc/ansible/hosts 28 | 29 | CMD ["/sbin/init"] 30 | -------------------------------------------------------------------------------- /debian-ansible/Dockerfile.debian-8: -------------------------------------------------------------------------------- 1 | FROM debian:8 2 | LABEL maintainer="diodonfrost " 3 | 4 | RUN apt-get update -y && apt-get install -y --no-install-recommends \ 5 | python \ 6 | python-pip \ 7 | git \ 8 | gnupg2 \ 9 | dirmngr \ 10 | apt-transport-https \ 11 | curl \ 12 | init \ 13 | openssh-server openssh-client \ 14 | unzip \ 15 | rsync \ 16 | sudo \ 17 | fuse \ 18 | && rm -rf /var/lib/apt/lists/* 19 | 20 | # Install Ansible ppa repository 21 | RUN echo 'deb http://ppa.launchpad.net/ansible/ansible/ubuntu trusty main' >> /etc/apt/sources.list \ 22 | && apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 93C4A3FD7BB9C367 23 | 24 | # Install Ansible 25 | RUN apt-get update && apt-get install -y ansible \ 26 | && rm -rf /var/lib/apt/lists/* 27 | 28 | RUN mkdir -p /etc/ansible && echo "[local]\nlocalhost ansible_connection=local" > /etc/ansible/hosts 29 | 30 | CMD ["/sbin/init"] 31 | -------------------------------------------------------------------------------- /debian-ansible/Dockerfile.debian-9: -------------------------------------------------------------------------------- 1 | FROM debian:9 2 | LABEL maintainer="diodonfrost " 3 | 4 | RUN apt-get update -y && apt-get install -y --no-install-recommends \ 5 | software-properties-common \ 6 | git \ 7 | gnupg2 \ 8 | dirmngr \ 9 | apt-transport-https \ 10 | curl \ 11 | init \ 12 | openssh-server openssh-client \ 13 | systemd \ 14 | unzip \ 15 | rsync \ 16 | sudo \ 17 | fuse \ 18 | && rm -rf /var/lib/apt/lists/* 19 | 20 | # Install Ansible ppa repository 21 | RUN echo 'deb http://ppa.launchpad.net/ansible/ansible/ubuntu trusty main' >> /etc/apt/sources.list \ 22 | && apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 93C4A3FD7BB9C367 23 | 24 | # Install Ansible 25 | RUN apt-get update && apt-get install -y ansible \ 26 | && rm -rf /var/lib/apt/lists/* 27 | 28 | RUN mkdir -p /etc/ansible && echo "[local]\nlocalhost ansible_connection=local" > /etc/ansible/hosts 29 | 30 | CMD ["/bin/systemd"] 31 | -------------------------------------------------------------------------------- /debian-ansible/Dockerfile.debian-testing: -------------------------------------------------------------------------------- 1 | FROM debian:testing 2 | LABEL maintainer="diodonfrost " 3 | 4 | RUN apt-get update -y && apt-get install -y --no-install-recommends \ 5 | git \ 6 | python3-pip \ 7 | gnupg2 \ 8 | dirmngr \ 9 | apt-transport-https \ 10 | curl \ 11 | init \ 12 | openssh-server openssh-client \ 13 | systemd \ 14 | unzip \ 15 | rsync \ 16 | sudo \ 17 | && rm -rf /var/lib/apt/lists/* 18 | 19 | RUN apt-get update -y && apt-get install -y --no-install-recommends \ 20 | ansible \ 21 | && rm -rf /var/lib/apt/lists/* 22 | 23 | RUN mkdir -p /etc/ansible && echo "[local]\nlocalhost ansible_connection=local" > /etc/ansible/hosts 24 | 25 | CMD ["/bin/systemd"] 26 | -------------------------------------------------------------------------------- /debian-ansible/debian-7-apt/sources.list: -------------------------------------------------------------------------------- 1 | deb http://archive.debian.org/debian wheezy main 2 | deb http://archive.debian.org/debian-security wheezy/updates main 3 | -------------------------------------------------------------------------------- /elementary-ansible/Dockerfile.elementary-juno: -------------------------------------------------------------------------------- 1 | FROM elementary/docker:juno-stable 2 | LABEL maintainer="diodonfrost " 3 | 4 | RUN apt-get update && apt-get install -y \ 5 | git \ 6 | ansible \ 7 | apt-transport-https \ 8 | ca-certificates-java \ 9 | curl \ 10 | init \ 11 | openssh-server openssh-client \ 12 | unzip \ 13 | rsync \ 14 | sudo \ 15 | fuse \ 16 | && rm -rf /var/lib/apt/lists/* 17 | 18 | RUN echo "[local]\nlocalhost ansible_connection=local" > /etc/ansible/hosts 19 | 20 | CMD ["/lib/systemd/systemd"] 21 | -------------------------------------------------------------------------------- /fedora-ansible/Dockerfile.fedora-26: -------------------------------------------------------------------------------- 1 | FROM fedora:26 2 | LABEL maintainer="diodonfrost " 3 | 4 | # Update Fedora 5 | RUN dnf -y update && dnf clean all 6 | 7 | # Install systemd 8 | RUN dnf -y install systemd && dnf clean all; \ 9 | (cd /lib/systemd/system/sysinit.target.wants/; for i in *; do [ $i == systemd-tmpfiles-setup.service ] || rm -f $i; done); \ 10 | rm -f /lib/systemd/system/multi-user.target.wants/*; \ 11 | rm -f /etc/systemd/system/*.wants/*; \ 12 | rm -f /lib/systemd/system/local-fs.target.wants/*; \ 13 | rm -f /lib/systemd/system/sockets.target.wants/*udev*; \ 14 | rm -f /lib/systemd/system/sockets.target.wants/*initctl*; \ 15 | rm -f /lib/systemd/system/basic.target.wants/*; \ 16 | rm -f /lib/systemd/system/anaconda.target.wants/*; 17 | 18 | RUN dnf -y install \ 19 | git \ 20 | ansible \ 21 | sudo \ 22 | which \ 23 | python2-dnf \ 24 | openssh-server openssh-clients \ 25 | findutils \ 26 | unzip \ 27 | rsync \ 28 | fuse-libs \ 29 | && dnf clean all 30 | 31 | RUN sed -i -e 's/^\(Defaults\s*requiretty\)/#--- \1/' /etc/sudoers 32 | 33 | RUN echo -e '[local]\nlocalhost ansible_connection=local' > /etc/ansible/hosts 34 | 35 | VOLUME ["/sys/fs/cgroup"] 36 | 37 | CMD ["/usr/sbin/init"] 38 | -------------------------------------------------------------------------------- /fedora-ansible/Dockerfile.fedora-27: -------------------------------------------------------------------------------- 1 | FROM fedora:27 2 | LABEL maintainer="diodonfrost " 3 | 4 | # Update Fedora 5 | RUN dnf -y update && dnf clean all 6 | 7 | # Install systemd 8 | RUN dnf -y install systemd && dnf clean all; \ 9 | (cd /lib/systemd/system/sysinit.target.wants/; for i in *; do [ $i == systemd-tmpfiles-setup.service ] || rm -f $i; done); \ 10 | rm -f /lib/systemd/system/multi-user.target.wants/*; \ 11 | rm -f /etc/systemd/system/*.wants/*; \ 12 | rm -f /lib/systemd/system/local-fs.target.wants/*; \ 13 | rm -f /lib/systemd/system/sockets.target.wants/*udev*; \ 14 | rm -f /lib/systemd/system/sockets.target.wants/*initctl*; \ 15 | rm -f /lib/systemd/system/basic.target.wants/*; \ 16 | rm -f /lib/systemd/system/anaconda.target.wants/*; 17 | 18 | RUN dnf -y install \ 19 | git \ 20 | ansible \ 21 | sudo \ 22 | which \ 23 | python2-dnf \ 24 | openssh-server openssh-clients \ 25 | findutils \ 26 | unzip \ 27 | rsync \ 28 | fuse-libs \ 29 | && dnf clean all 30 | 31 | RUN sed -i -e 's/^\(Defaults\s*requiretty\)/#--- \1/' /etc/sudoers 32 | 33 | RUN echo -e '[local]\nlocalhost ansible_connection=local' > /etc/ansible/hosts 34 | 35 | VOLUME ["/sys/fs/cgroup"] 36 | 37 | CMD ["/usr/sbin/init"] 38 | -------------------------------------------------------------------------------- /fedora-ansible/Dockerfile.fedora-28: -------------------------------------------------------------------------------- 1 | FROM fedora:28 2 | LABEL maintainer="diodonfrost " 3 | 4 | # Update Fedora 5 | RUN dnf -y update && dnf clean all 6 | 7 | # Install systemd 8 | RUN dnf -y install systemd && dnf clean all; \ 9 | (cd /lib/systemd/system/sysinit.target.wants/; for i in *; do [ $i == systemd-tmpfiles-setup.service ] || rm -f $i; done); \ 10 | rm -f /lib/systemd/system/multi-user.target.wants/*; \ 11 | rm -f /etc/systemd/system/*.wants/*; \ 12 | rm -f /lib/systemd/system/local-fs.target.wants/*; \ 13 | rm -f /lib/systemd/system/sockets.target.wants/*udev*; \ 14 | rm -f /lib/systemd/system/sockets.target.wants/*initctl*; \ 15 | rm -f /lib/systemd/system/basic.target.wants/*; \ 16 | rm -f /lib/systemd/system/anaconda.target.wants/*; 17 | 18 | RUN dnf -y install \ 19 | git \ 20 | ansible \ 21 | sudo \ 22 | which \ 23 | python2-dnf \ 24 | openssh-server openssh-clients \ 25 | findutils \ 26 | unzip \ 27 | rsync \ 28 | fuse-libs \ 29 | && dnf clean all 30 | 31 | RUN sed -i -e 's/^\(Defaults\s*requiretty\)/#--- \1/' /etc/sudoers 32 | 33 | RUN echo -e '[local]\nlocalhost ansible_connection=local' > /etc/ansible/hosts 34 | 35 | VOLUME ["/sys/fs/cgroup"] 36 | 37 | CMD ["/usr/sbin/init"] 38 | -------------------------------------------------------------------------------- /fedora-ansible/Dockerfile.fedora-29: -------------------------------------------------------------------------------- 1 | FROM fedora:29 2 | LABEL maintainer="diodonfrost " 3 | 4 | # Update Fedora 5 | RUN dnf -y update && dnf clean all 6 | 7 | # Install systemd 8 | RUN dnf -y install systemd && dnf clean all; \ 9 | (cd /lib/systemd/system/sysinit.target.wants/; for i in *; do [ $i == systemd-tmpfiles-setup.service ] || rm -f $i; done); \ 10 | rm -f /lib/systemd/system/multi-user.target.wants/*; \ 11 | rm -f /etc/systemd/system/*.wants/*; \ 12 | rm -f /lib/systemd/system/local-fs.target.wants/*; \ 13 | rm -f /lib/systemd/system/sockets.target.wants/*udev*; \ 14 | rm -f /lib/systemd/system/sockets.target.wants/*initctl*; \ 15 | rm -f /lib/systemd/system/basic.target.wants/*; \ 16 | rm -f /lib/systemd/system/anaconda.target.wants/*; 17 | 18 | RUN dnf -y install \ 19 | git \ 20 | ansible \ 21 | sudo \ 22 | which \ 23 | python2-dnf \ 24 | python2-pyyaml \ 25 | python3-pyyaml \ 26 | openssh-server openssh-clients \ 27 | findutils \ 28 | unzip \ 29 | rsync \ 30 | fuse-libs \ 31 | && dnf clean all 32 | 33 | RUN sed -i -e 's/^\(Defaults\s*requiretty\)/#--- \1/' /etc/sudoers 34 | 35 | RUN echo -e '[local]\nlocalhost ansible_connection=local' > /etc/ansible/hosts 36 | 37 | VOLUME ["/sys/fs/cgroup"] 38 | 39 | CMD ["/usr/sbin/init"] 40 | -------------------------------------------------------------------------------- /fedora-ansible/Dockerfile.fedora-30: -------------------------------------------------------------------------------- 1 | FROM fedora:30 2 | LABEL maintainer="diodonfrost " 3 | 4 | # Update Fedora 5 | RUN dnf -y update && dnf clean all 6 | 7 | # Install systemd 8 | RUN dnf -y install systemd && dnf clean all; \ 9 | (cd /lib/systemd/system/sysinit.target.wants/; for i in *; do [ $i == systemd-tmpfiles-setup.service ] || rm -f $i; done); \ 10 | rm -f /lib/systemd/system/multi-user.target.wants/*; \ 11 | rm -f /etc/systemd/system/*.wants/*; \ 12 | rm -f /lib/systemd/system/local-fs.target.wants/*; \ 13 | rm -f /lib/systemd/system/sockets.target.wants/*udev*; \ 14 | rm -f /lib/systemd/system/sockets.target.wants/*initctl*; \ 15 | rm -f /lib/systemd/system/basic.target.wants/*; \ 16 | rm -f /lib/systemd/system/anaconda.target.wants/*; 17 | 18 | RUN dnf -y install \ 19 | git \ 20 | ansible \ 21 | sudo \ 22 | which \ 23 | openssh-server openssh-clients \ 24 | findutils \ 25 | unzip \ 26 | rsync \ 27 | fuse-libs \ 28 | && dnf clean all 29 | 30 | RUN ln -s /usr/bin/python3 /usr/bin/python 31 | 32 | RUN sed -i -e 's/^\(Defaults\s*requiretty\)/#--- \1/' /etc/sudoers 33 | 34 | RUN echo -e '[local]\nlocalhost ansible_connection=local' > /etc/ansible/hosts 35 | 36 | VOLUME ["/sys/fs/cgroup"] 37 | 38 | CMD ["/usr/sbin/init"] 39 | -------------------------------------------------------------------------------- /fedora-ansible/Dockerfile.fedora-31: -------------------------------------------------------------------------------- 1 | FROM fedora:31 2 | LABEL maintainer="diodonfrost " 3 | 4 | # Update Fedora 5 | RUN dnf -y update && dnf clean all 6 | 7 | # Install systemd 8 | RUN dnf -y install systemd && dnf clean all; \ 9 | (cd /lib/systemd/system/sysinit.target.wants/; for i in *; do [ $i == systemd-tmpfiles-setup.service ] || rm -f $i; done); \ 10 | rm -f /lib/systemd/system/multi-user.target.wants/*; \ 11 | rm -f /etc/systemd/system/*.wants/*; \ 12 | rm -f /lib/systemd/system/local-fs.target.wants/*; \ 13 | rm -f /lib/systemd/system/sockets.target.wants/*udev*; \ 14 | rm -f /lib/systemd/system/sockets.target.wants/*initctl*; \ 15 | rm -f /lib/systemd/system/basic.target.wants/*; \ 16 | rm -f /lib/systemd/system/anaconda.target.wants/*; 17 | 18 | RUN dnf -y install \ 19 | git \ 20 | ansible \ 21 | sudo \ 22 | which \ 23 | openssh-server openssh-clients \ 24 | findutils \ 25 | unzip \ 26 | rsync \ 27 | libxcrypt-compat \ 28 | fuse-libs \ 29 | && dnf clean all 30 | 31 | RUN sed -i -e 's/^\(Defaults\s*requiretty\)/#--- \1/' /etc/sudoers 32 | 33 | RUN echo -e '[local]\nlocalhost ansible_connection=local' > /etc/ansible/hosts 34 | 35 | VOLUME ["/sys/fs/cgroup"] 36 | 37 | CMD ["/usr/sbin/init"] 38 | -------------------------------------------------------------------------------- /fedora-ansible/Dockerfile.fedora-32: -------------------------------------------------------------------------------- 1 | FROM fedora:32 2 | LABEL maintainer="diodonfrost " 3 | 4 | # Update Fedora 5 | RUN dnf -y update && dnf clean all 6 | 7 | # Install systemd 8 | RUN dnf -y install systemd && dnf clean all; \ 9 | (cd /lib/systemd/system/sysinit.target.wants/; for i in *; do [ $i == systemd-tmpfiles-setup.service ] || rm -f $i; done); \ 10 | rm -f /lib/systemd/system/multi-user.target.wants/*; \ 11 | rm -f /etc/systemd/system/*.wants/*; \ 12 | rm -f /lib/systemd/system/local-fs.target.wants/*; \ 13 | rm -f /lib/systemd/system/sockets.target.wants/*udev*; \ 14 | rm -f /lib/systemd/system/sockets.target.wants/*initctl*; \ 15 | rm -f /lib/systemd/system/basic.target.wants/*; \ 16 | rm -f /lib/systemd/system/anaconda.target.wants/*; 17 | 18 | RUN dnf -y install \ 19 | git \ 20 | ansible \ 21 | sudo \ 22 | which \ 23 | openssh-server openssh-clients \ 24 | findutils \ 25 | unzip \ 26 | rsync \ 27 | libxcrypt-compat \ 28 | fuse-libs \ 29 | && dnf clean all 30 | 31 | RUN sed -i -e 's/^\(Defaults\s*requiretty\)/#--- \1/' /etc/sudoers 32 | 33 | RUN echo -e '[local]\nlocalhost ansible_connection=local' > /etc/ansible/hosts 34 | 35 | VOLUME ["/sys/fs/cgroup"] 36 | 37 | CMD ["/usr/sbin/init"] 38 | -------------------------------------------------------------------------------- /fedora-ansible/Dockerfile.fedora-33: -------------------------------------------------------------------------------- 1 | FROM fedora:33 2 | LABEL maintainer="diodonfrost " 3 | 4 | # Update Fedora 5 | RUN dnf -y update && dnf clean all 6 | 7 | # Install systemd 8 | RUN dnf -y install systemd && dnf clean all; \ 9 | (cd /lib/systemd/system/sysinit.target.wants/; for i in *; do [ $i == systemd-tmpfiles-setup.service ] || rm -f $i; done); \ 10 | rm -f /lib/systemd/system/multi-user.target.wants/*; \ 11 | rm -f /etc/systemd/system/*.wants/*; \ 12 | rm -f /lib/systemd/system/local-fs.target.wants/*; \ 13 | rm -f /lib/systemd/system/sockets.target.wants/*udev*; \ 14 | rm -f /lib/systemd/system/sockets.target.wants/*initctl*; \ 15 | rm -f /lib/systemd/system/basic.target.wants/*; \ 16 | rm -f /lib/systemd/system/anaconda.target.wants/*; 17 | 18 | RUN dnf -y install \ 19 | git \ 20 | ansible \ 21 | sudo \ 22 | which \ 23 | openssh-server openssh-clients \ 24 | findutils \ 25 | unzip \ 26 | rsync \ 27 | libxcrypt-compat \ 28 | fuse-libs \ 29 | && dnf clean all 30 | 31 | RUN sed -i -e 's/^\(Defaults\s*requiretty\)/#--- \1/' /etc/sudoers 32 | 33 | RUN echo -e '[local]\nlocalhost ansible_connection=local' > /etc/ansible/hosts 34 | 35 | VOLUME ["/sys/fs/cgroup"] 36 | 37 | CMD ["/usr/sbin/init"] 38 | -------------------------------------------------------------------------------- /fedora-ansible/Dockerfile.fedora-34: -------------------------------------------------------------------------------- 1 | FROM fedora:34 2 | LABEL maintainer="diodonfrost " 3 | 4 | # Update Fedora 5 | RUN dnf -y update && dnf clean all 6 | 7 | # Install systemd 8 | RUN dnf -y install systemd && dnf clean all; \ 9 | (cd /lib/systemd/system/sysinit.target.wants/; for i in *; do [ $i == systemd-tmpfiles-setup.service ] || rm -f $i; done); \ 10 | rm -f /lib/systemd/system/multi-user.target.wants/*; \ 11 | rm -f /etc/systemd/system/*.wants/*; \ 12 | rm -f /lib/systemd/system/local-fs.target.wants/*; \ 13 | rm -f /lib/systemd/system/sockets.target.wants/*udev*; \ 14 | rm -f /lib/systemd/system/sockets.target.wants/*initctl*; \ 15 | rm -f /lib/systemd/system/basic.target.wants/*; \ 16 | rm -f /lib/systemd/system/anaconda.target.wants/*; 17 | 18 | RUN dnf -y install \ 19 | git \ 20 | ansible \ 21 | sudo \ 22 | which \ 23 | openssh-server openssh-clients \ 24 | findutils \ 25 | unzip \ 26 | rsync \ 27 | libxcrypt-compat \ 28 | fuse-libs \ 29 | && dnf clean all 30 | 31 | RUN sed -i -e 's/^\(Defaults\s*requiretty\)/#--- \1/' /etc/sudoers 32 | 33 | RUN echo -e '[local]\nlocalhost ansible_connection=local' > /etc/ansible/hosts 34 | 35 | VOLUME ["/sys/fs/cgroup"] 36 | 37 | CMD ["/usr/sbin/init"] 38 | -------------------------------------------------------------------------------- /fedora-ansible/Dockerfile.fedora-35: -------------------------------------------------------------------------------- 1 | FROM fedora:35 2 | LABEL maintainer="diodonfrost " 3 | 4 | # Update Fedora 5 | RUN dnf -y update && dnf clean all 6 | 7 | # Install systemd 8 | RUN dnf -y install systemd && dnf clean all; \ 9 | (cd /lib/systemd/system/sysinit.target.wants/; for i in *; do [ $i == systemd-tmpfiles-setup.service ] || rm -f $i; done); \ 10 | rm -f /lib/systemd/system/multi-user.target.wants/*; \ 11 | rm -f /etc/systemd/system/*.wants/*; \ 12 | rm -f /lib/systemd/system/local-fs.target.wants/*; \ 13 | rm -f /lib/systemd/system/sockets.target.wants/*udev*; \ 14 | rm -f /lib/systemd/system/sockets.target.wants/*initctl*; \ 15 | rm -f /lib/systemd/system/basic.target.wants/*; \ 16 | rm -f /lib/systemd/system/anaconda.target.wants/*; 17 | 18 | RUN dnf -y install \ 19 | git \ 20 | ansible \ 21 | sudo \ 22 | which \ 23 | openssh-server openssh-clients \ 24 | findutils \ 25 | unzip \ 26 | rsync \ 27 | libxcrypt-compat \ 28 | fuse-libs \ 29 | && dnf clean all 30 | 31 | RUN sed -i -e 's/^\(Defaults\s*requiretty\)/#--- \1/' /etc/sudoers 32 | 33 | RUN echo -e '[local]\nlocalhost ansible_connection=local' > /etc/ansible/hosts 34 | 35 | VOLUME ["/sys/fs/cgroup"] 36 | 37 | CMD ["/usr/sbin/init"] 38 | -------------------------------------------------------------------------------- /fedora-ansible/Dockerfile.fedora-36: -------------------------------------------------------------------------------- 1 | FROM fedora:36 2 | LABEL maintainer="diodonfrost " 3 | 4 | # Update Fedora 5 | RUN dnf -y update && dnf clean all 6 | 7 | # Install systemd 8 | RUN dnf -y install systemd && dnf clean all; \ 9 | (cd /lib/systemd/system/sysinit.target.wants/; for i in *; do [ $i == systemd-tmpfiles-setup.service ] || rm -f $i; done); \ 10 | rm -f /lib/systemd/system/multi-user.target.wants/*; \ 11 | rm -f /etc/systemd/system/*.wants/*; \ 12 | rm -f /lib/systemd/system/local-fs.target.wants/*; \ 13 | rm -f /lib/systemd/system/sockets.target.wants/*udev*; \ 14 | rm -f /lib/systemd/system/sockets.target.wants/*initctl*; \ 15 | rm -f /lib/systemd/system/basic.target.wants/*; \ 16 | rm -f /lib/systemd/system/anaconda.target.wants/*; 17 | 18 | RUN dnf -y install \ 19 | git \ 20 | ansible \ 21 | sudo \ 22 | which \ 23 | openssh-server openssh-clients \ 24 | findutils \ 25 | unzip \ 26 | rsync \ 27 | libxcrypt-compat \ 28 | fuse-libs \ 29 | && dnf clean all 30 | 31 | RUN sed -i -e 's/^\(Defaults\s*requiretty\)/#--- \1/' /etc/sudoers 32 | 33 | RUN echo -e '[local]\nlocalhost ansible_connection=local' > /etc/ansible/hosts 34 | 35 | VOLUME ["/sys/fs/cgroup"] 36 | 37 | CMD ["/usr/sbin/init"] 38 | -------------------------------------------------------------------------------- /fedora-ansible/Dockerfile.fedora-37: -------------------------------------------------------------------------------- 1 | FROM fedora:36 2 | LABEL maintainer="diodonfrost " 3 | 4 | # Update Fedora 5 | RUN dnf -y update && dnf clean all 6 | 7 | # Install systemd 8 | RUN dnf -y install systemd && dnf clean all; \ 9 | (cd /lib/systemd/system/sysinit.target.wants/; for i in *; do [ $i == systemd-tmpfiles-setup.service ] || rm -f $i; done); \ 10 | rm -f /lib/systemd/system/multi-user.target.wants/*; \ 11 | rm -f /etc/systemd/system/*.wants/*; \ 12 | rm -f /lib/systemd/system/local-fs.target.wants/*; \ 13 | rm -f /lib/systemd/system/sockets.target.wants/*udev*; \ 14 | rm -f /lib/systemd/system/sockets.target.wants/*initctl*; \ 15 | rm -f /lib/systemd/system/basic.target.wants/*; \ 16 | rm -f /lib/systemd/system/anaconda.target.wants/*; 17 | 18 | RUN dnf -y install \ 19 | git \ 20 | ansible \ 21 | sudo \ 22 | which \ 23 | openssh-server openssh-clients \ 24 | findutils \ 25 | unzip \ 26 | rsync \ 27 | libxcrypt-compat \ 28 | fuse-libs \ 29 | && dnf clean all 30 | 31 | RUN sed -i -e 's/^\(Defaults\s*requiretty\)/#--- \1/' /etc/sudoers 32 | 33 | RUN echo -e '[local]\nlocalhost ansible_connection=local' > /etc/ansible/hosts 34 | 35 | VOLUME ["/sys/fs/cgroup"] 36 | 37 | CMD ["/usr/sbin/init"] 38 | -------------------------------------------------------------------------------- /fedora-ansible/Dockerfile.fedora-38: -------------------------------------------------------------------------------- 1 | FROM fedora:38 2 | LABEL maintainer="diodonfrost " 3 | 4 | # Update Fedora 5 | RUN dnf -y update && dnf clean all 6 | 7 | # Install systemd 8 | RUN dnf -y install systemd && dnf clean all; \ 9 | (cd /lib/systemd/system/sysinit.target.wants/; for i in *; do [ $i == systemd-tmpfiles-setup.service ] || rm -f $i; done); \ 10 | rm -f /lib/systemd/system/multi-user.target.wants/*; \ 11 | rm -f /etc/systemd/system/*.wants/*; \ 12 | rm -f /lib/systemd/system/local-fs.target.wants/*; \ 13 | rm -f /lib/systemd/system/sockets.target.wants/*udev*; \ 14 | rm -f /lib/systemd/system/sockets.target.wants/*initctl*; \ 15 | rm -f /lib/systemd/system/basic.target.wants/*; \ 16 | rm -f /lib/systemd/system/anaconda.target.wants/*; 17 | 18 | RUN dnf -y install \ 19 | git \ 20 | ansible \ 21 | sudo \ 22 | which \ 23 | openssh-server openssh-clients \ 24 | findutils \ 25 | unzip \ 26 | rsync \ 27 | libxcrypt-compat \ 28 | fuse-libs \ 29 | && dnf clean all 30 | 31 | RUN sed -i -e 's/^\(Defaults\s*requiretty\)/#--- \1/' /etc/sudoers 32 | 33 | RUN echo -e '[local]\nlocalhost ansible_connection=local' > /etc/ansible/hosts 34 | 35 | VOLUME ["/sys/fs/cgroup"] 36 | 37 | CMD ["/usr/sbin/init"] 38 | -------------------------------------------------------------------------------- /fedora-ansible/Dockerfile.fedora-39: -------------------------------------------------------------------------------- 1 | FROM fedora:39 2 | LABEL maintainer="diodonfrost " 3 | 4 | # Update Fedora 5 | RUN dnf -y update && dnf clean all 6 | 7 | # Install systemd 8 | RUN dnf -y install systemd && dnf clean all; \ 9 | (cd /lib/systemd/system/sysinit.target.wants/; for i in *; do [ $i == systemd-tmpfiles-setup.service ] || rm -f $i; done); \ 10 | rm -f /lib/systemd/system/multi-user.target.wants/*; \ 11 | rm -f /etc/systemd/system/*.wants/*; \ 12 | rm -f /lib/systemd/system/local-fs.target.wants/*; \ 13 | rm -f /lib/systemd/system/sockets.target.wants/*udev*; \ 14 | rm -f /lib/systemd/system/sockets.target.wants/*initctl*; \ 15 | rm -f /lib/systemd/system/basic.target.wants/*; \ 16 | rm -f /lib/systemd/system/anaconda.target.wants/*; 17 | 18 | RUN dnf -y install \ 19 | git \ 20 | ansible \ 21 | sudo \ 22 | which \ 23 | openssh-server openssh-clients \ 24 | findutils \ 25 | unzip \ 26 | rsync \ 27 | libxcrypt-compat \ 28 | fuse-libs \ 29 | && dnf clean all 30 | 31 | RUN sed -i -e 's/^\(Defaults\s*requiretty\)/#--- \1/' /etc/sudoers 32 | 33 | RUN echo -e '[local]\nlocalhost ansible_connection=local' > /etc/ansible/hosts 34 | 35 | VOLUME ["/sys/fs/cgroup"] 36 | 37 | CMD ["/usr/sbin/init"] 38 | -------------------------------------------------------------------------------- /fedora-ansible/Dockerfile.fedora-40: -------------------------------------------------------------------------------- 1 | FROM fedora:40 2 | LABEL maintainer="diodonfrost " 3 | 4 | # Update Fedora 5 | RUN dnf -y update && dnf clean all 6 | 7 | # Install systemd 8 | RUN dnf -y install systemd && dnf clean all; \ 9 | (cd /lib/systemd/system/sysinit.target.wants/; for i in *; do [ $i == systemd-tmpfiles-setup.service ] || rm -f $i; done); \ 10 | rm -f /lib/systemd/system/multi-user.target.wants/*; \ 11 | rm -f /etc/systemd/system/*.wants/*; \ 12 | rm -f /lib/systemd/system/local-fs.target.wants/*; \ 13 | rm -f /lib/systemd/system/sockets.target.wants/*udev*; \ 14 | rm -f /lib/systemd/system/sockets.target.wants/*initctl*; \ 15 | rm -f /lib/systemd/system/basic.target.wants/*; \ 16 | rm -f /lib/systemd/system/anaconda.target.wants/*; 17 | 18 | RUN dnf -y install \ 19 | git \ 20 | ansible \ 21 | sudo \ 22 | which \ 23 | openssh-server openssh-clients \ 24 | findutils \ 25 | unzip \ 26 | rsync \ 27 | libxcrypt-compat \ 28 | fuse-libs \ 29 | && dnf clean all 30 | 31 | RUN sed -i -e 's/^\(Defaults\s*requiretty\)/#--- \1/' /etc/sudoers 32 | 33 | RUN echo -e '[local]\nlocalhost ansible_connection=local' > /etc/ansible/hosts 34 | 35 | VOLUME ["/sys/fs/cgroup"] 36 | 37 | CMD ["/usr/sbin/init"] 38 | -------------------------------------------------------------------------------- /fedora-ansible/Dockerfile.fedora-41: -------------------------------------------------------------------------------- 1 | FROM fedora:41 2 | LABEL maintainer="diodonfrost " 3 | 4 | # Update Fedora 5 | RUN dnf -y update && dnf clean all 6 | 7 | # Install systemd 8 | RUN dnf -y install systemd && dnf clean all; \ 9 | (cd /lib/systemd/system/sysinit.target.wants/; for i in *; do [ $i == systemd-tmpfiles-setup.service ] || rm -f $i; done); \ 10 | rm -f /lib/systemd/system/multi-user.target.wants/*; \ 11 | rm -f /etc/systemd/system/*.wants/*; \ 12 | rm -f /lib/systemd/system/local-fs.target.wants/*; \ 13 | rm -f /lib/systemd/system/sockets.target.wants/*udev*; \ 14 | rm -f /lib/systemd/system/sockets.target.wants/*initctl*; \ 15 | rm -f /lib/systemd/system/basic.target.wants/*; \ 16 | rm -f /lib/systemd/system/anaconda.target.wants/*; 17 | 18 | RUN dnf -y install \ 19 | git \ 20 | ansible \ 21 | sudo \ 22 | which \ 23 | openssh-server openssh-clients \ 24 | findutils \ 25 | unzip \ 26 | rsync \ 27 | libxcrypt-compat \ 28 | fuse-libs \ 29 | && dnf clean all 30 | 31 | RUN sed -i -e 's/^\(Defaults\s*requiretty\)/#--- \1/' /etc/sudoers 32 | 33 | RUN echo -e '[local]\nlocalhost ansible_connection=local' > /etc/ansible/hosts 34 | 35 | VOLUME ["/sys/fs/cgroup"] 36 | 37 | CMD ["/usr/sbin/init"] 38 | -------------------------------------------------------------------------------- /fedora-ansible/Dockerfile.fedora-42: -------------------------------------------------------------------------------- 1 | FROM fedora:42 2 | LABEL maintainer="diodonfrost " 3 | 4 | # Update Fedora 5 | RUN dnf -y update && dnf clean all 6 | 7 | # Install systemd 8 | RUN dnf -y install systemd && dnf clean all; \ 9 | (cd /lib/systemd/system/sysinit.target.wants/; for i in *; do [ $i == systemd-tmpfiles-setup.service ] || rm -f $i; done); \ 10 | rm -f /lib/systemd/system/multi-user.target.wants/*; \ 11 | rm -f /etc/systemd/system/*.wants/*; \ 12 | rm -f /lib/systemd/system/local-fs.target.wants/*; \ 13 | rm -f /lib/systemd/system/sockets.target.wants/*udev*; \ 14 | rm -f /lib/systemd/system/sockets.target.wants/*initctl*; \ 15 | rm -f /lib/systemd/system/basic.target.wants/*; \ 16 | rm -f /lib/systemd/system/anaconda.target.wants/*; 17 | 18 | RUN dnf -y install \ 19 | git \ 20 | ansible \ 21 | sudo \ 22 | which \ 23 | openssh-server openssh-clients \ 24 | findutils \ 25 | unzip \ 26 | rsync \ 27 | libxcrypt-compat \ 28 | fuse-libs \ 29 | && dnf clean all 30 | 31 | RUN sed -i -e 's/^\(Defaults\s*requiretty\)/#--- \1/' /etc/sudoers 32 | 33 | RUN echo -e '[local]\nlocalhost ansible_connection=local' > /etc/ansible/hosts 34 | 35 | VOLUME ["/sys/fs/cgroup"] 36 | 37 | CMD ["/usr/sbin/init"] 38 | -------------------------------------------------------------------------------- /fedora-ansible/Dockerfile.fedora-43: -------------------------------------------------------------------------------- 1 | FROM fedora:43 2 | LABEL maintainer="diodonfrost " 3 | 4 | # Update Fedora 5 | RUN dnf -y update && dnf clean all 6 | 7 | # Install systemd 8 | RUN dnf -y install systemd && dnf clean all; \ 9 | (cd /lib/systemd/system/sysinit.target.wants/; for i in *; do [ $i == systemd-tmpfiles-setup.service ] || rm -f $i; done); \ 10 | rm -f /lib/systemd/system/multi-user.target.wants/*; \ 11 | rm -f /etc/systemd/system/*.wants/*; \ 12 | rm -f /lib/systemd/system/local-fs.target.wants/*; \ 13 | rm -f /lib/systemd/system/sockets.target.wants/*udev*; \ 14 | rm -f /lib/systemd/system/sockets.target.wants/*initctl*; \ 15 | rm -f /lib/systemd/system/basic.target.wants/*; \ 16 | rm -f /lib/systemd/system/anaconda.target.wants/*; 17 | 18 | RUN dnf -y install \ 19 | git \ 20 | ansible \ 21 | sudo \ 22 | which \ 23 | openssh-server openssh-clients \ 24 | findutils \ 25 | unzip \ 26 | rsync \ 27 | libxcrypt-compat \ 28 | fuse-libs \ 29 | && dnf clean all 30 | 31 | RUN sed -i -e 's/^\(Defaults\s*requiretty\)/#--- \1/' /etc/sudoers 32 | 33 | RUN echo -e '[local]\nlocalhost ansible_connection=local' > /etc/ansible/hosts 34 | 35 | VOLUME ["/sys/fs/cgroup"] 36 | 37 | CMD ["/usr/sbin/init"] 38 | -------------------------------------------------------------------------------- /gentoo-ansible/Dockerfile.gentoo-latest: -------------------------------------------------------------------------------- 1 | FROM gentoo/stage3:amd64-systemd 2 | 3 | LABEL maintainer="diodonfrost " 4 | 5 | ARG FEATURES="-ipc-sandbox -network-sandbox -pid-sandbox" 6 | 7 | # update portage tree 8 | RUN \ 9 | emerge-webrsync && \ 10 | echo 'USE="-bindist"' >> /etc/portage/make.conf && \ 11 | echo 'MAKEOPTS="-j4"' >> /etc/portage/make.conf && \ 12 | echo 'EMERGE_DEFAULT_OPTS="--jobs=4"' >> /etc/portage/make.conf && \ 13 | echo 'dev-lang/python sqlite' >> /etc/portage/package.use/python && \ 14 | echo 'net-libs/zeromq drafts' >> /etc/portage/package.use/zeromq && \ 15 | emerge --quiet --sync && \ 16 | # remove setuptools and certifi, otherwise they will generate errors 17 | emerge --quiet --unmerge \ 18 | dev-python/setuptools \ 19 | dev-python/certifi && \ 20 | # reinstall portage if an update available 21 | emerge --quiet --oneshot sys-apps/portage && \ 22 | # install ansible and some tools 23 | emerge --quiet \ 24 | app-portage/gentoolkit \ 25 | net-misc/rsync \ 26 | net-misc/openssh \ 27 | app-admin/sudo \ 28 | sys-fs/fuse:0 \ 29 | app-admin/ansible && \ 30 | # Create ansible directory 31 | mkdir -p /etc/ansible && \ 32 | echo -e '[local]\nlocalhost ansible_connection=local' > /etc/ansible/hosts && \ 33 | # cleanup 34 | rm -rf \ 35 | /tmp/* \ 36 | /usr/portage/* && \ 37 | /usr/bin/find \ 38 | /usr/lib/ -type d -name __pycache__ -exec rm -rf {} 2> /dev/null \; || true 39 | 40 | CMD ["/usr/lib/systemd/systemd"] 41 | -------------------------------------------------------------------------------- /opensuse-ansible/Dockerfile.opensuse-13.2: -------------------------------------------------------------------------------- 1 | FROM opensuse/amd64:13.2 2 | LABEL maintainer="diodonfrost " 3 | 4 | ENV container docker 5 | 6 | RUN zypper -n install systemd; zypper clean ; \ 7 | (cd /usr/lib/systemd/system/sysinit.target.wants/; for i in *; do [ $i == systemd-tmpfiles-setup.service ] || rm -f $i; done); \ 8 | rm -f /usr/lib/systemd/system/multi-user.target.wants/*;\ 9 | rm -f /etc/systemd/system/*.wants/*;\ 10 | rm -f /usr/lib/systemd/system/local-fs.target.wants/*; \ 11 | rm -f /usr/lib/systemd/system/sockets.target.wants/*udev*; \ 12 | rm -f /usr/lib/systemd/system/sockets.target.wants/*initctl*; \ 13 | rm -f /usr/lib/systemd/system/basic.target.wants/*;\ 14 | rm -f /usr/lib/systemd/system/anaconda.target.wants/*; 15 | 16 | # Install packages requirements 17 | RUN zypper -n install git \ 18 | python-pip \ 19 | python-devel \ 20 | gcc \ 21 | make \ 22 | libopenssl-devel \ 23 | libffi-devel \ 24 | sudo \ 25 | openssh \ 26 | tar \ 27 | unzip \ 28 | rsync && \ 29 | zypper clean 30 | 31 | # Install Ansible 32 | RUN python -m pip install -U setuptools==44.1.0 && \ 33 | python -m pip install -U MarkupSafe==1.1.1 && \ 34 | python -m pip install -U cffi==1.14.0 && \ 35 | python -m pip install -U ansible==2.9.1 36 | 37 | VOLUME [ "/sys/fs/cgroup" ] 38 | 39 | CMD ["/usr/lib/systemd/systemd", "--system"] 40 | -------------------------------------------------------------------------------- /opensuse-ansible/Dockerfile.opensuse-15: -------------------------------------------------------------------------------- 1 | FROM opensuse/leap:15 2 | LABEL maintainer="diodonfrost " 3 | 4 | ENV container docker 5 | 6 | RUN zypper -n install systemd; zypper clean ; \ 7 | (cd /usr/lib/systemd/system/sysinit.target.wants/; for i in *; do [ $i == systemd-tmpfiles-setup.service ] || rm -f $i; done); \ 8 | rm -f /usr/lib/systemd/system/multi-user.target.wants/*;\ 9 | rm -f /etc/systemd/system/*.wants/*;\ 10 | rm -f /usr/lib/systemd/system/local-fs.target.wants/*; \ 11 | rm -f /usr/lib/systemd/system/sockets.target.wants/*udev*; \ 12 | rm -f /usr/lib/systemd/system/sockets.target.wants/*initctl*; \ 13 | rm -f /usr/lib/systemd/system/basic.target.wants/*;\ 14 | rm -f /usr/lib/systemd/system/anaconda.target.wants/*; 15 | 16 | # Install ansible 17 | RUN zypper -n install git ansible sudo python3-pip tar unzip gzip rsync fuse-devel; zypper clean 18 | 19 | RUN pip install ansible 20 | 21 | VOLUME [ "/sys/fs/cgroup" ] 22 | 23 | CMD ["/usr/lib/systemd/systemd", "--system"] 24 | -------------------------------------------------------------------------------- /opensuse-ansible/Dockerfile.opensuse-15.1: -------------------------------------------------------------------------------- 1 | FROM opensuse/leap:15.1 2 | LABEL maintainer="diodonfrost " 3 | 4 | ENV container docker 5 | 6 | RUN zypper -n install systemd; zypper clean ; \ 7 | (cd /usr/lib/systemd/system/sysinit.target.wants/; for i in *; do [ $i == systemd-tmpfiles-setup.service ] || rm -f $i; done); \ 8 | rm -f /usr/lib/systemd/system/multi-user.target.wants/*;\ 9 | rm -f /etc/systemd/system/*.wants/*;\ 10 | rm -f /usr/lib/systemd/system/local-fs.target.wants/*; \ 11 | rm -f /usr/lib/systemd/system/sockets.target.wants/*udev*; \ 12 | rm -f /usr/lib/systemd/system/sockets.target.wants/*initctl*; \ 13 | rm -f /usr/lib/systemd/system/basic.target.wants/*;\ 14 | rm -f /usr/lib/systemd/system/anaconda.target.wants/*; 15 | 16 | # Install ansible 17 | RUN zypper -n install git ansible sudo python2-pip python3-pip curl tar unzip gzip rsync fuse-devel; zypper clean 18 | 19 | RUN pip install ansible 20 | 21 | VOLUME [ "/sys/fs/cgroup" ] 22 | 23 | CMD ["/usr/lib/systemd/systemd", "--system"] 24 | -------------------------------------------------------------------------------- /opensuse-ansible/Dockerfile.opensuse-42.2: -------------------------------------------------------------------------------- 1 | FROM opensuse/amd64:42.2 2 | LABEL maintainer="diodonfrost " 3 | 4 | ENV container docker 5 | 6 | RUN zypper -n install systemd; zypper clean ; \ 7 | (cd /usr/lib/systemd/system/sysinit.target.wants/; for i in *; do [ $i == systemd-tmpfiles-setup.service ] || rm -f $i; done); \ 8 | rm -f /usr/lib/systemd/system/multi-user.target.wants/*;\ 9 | rm -f /etc/systemd/system/*.wants/*;\ 10 | rm -f /usr/lib/systemd/system/local-fs.target.wants/*; \ 11 | rm -f /usr/lib/systemd/system/sockets.target.wants/*udev*; \ 12 | rm -f /usr/lib/systemd/system/sockets.target.wants/*initctl*; \ 13 | rm -f /usr/lib/systemd/system/basic.target.wants/*;\ 14 | rm -f /usr/lib/systemd/system/anaconda.target.wants/*; 15 | 16 | # Install ansible 17 | RUN zypper -n install git ansible sudo openssh tar unzip rsync; zypper clean 18 | 19 | VOLUME [ "/sys/fs/cgroup" ] 20 | 21 | CMD ["/usr/lib/systemd/systemd", "--system"] 22 | -------------------------------------------------------------------------------- /opensuse-ansible/Dockerfile.opensuse-42.3: -------------------------------------------------------------------------------- 1 | FROM opensuse/leap:42.3 2 | LABEL maintainer="diodonfrost " 3 | 4 | ENV container docker 5 | 6 | RUN zypper -n install systemd; zypper clean ; \ 7 | (cd /usr/lib/systemd/system/sysinit.target.wants/; for i in *; do [ $i == systemd-tmpfiles-setup.service ] || rm -f $i; done); \ 8 | rm -f /usr/lib/systemd/system/multi-user.target.wants/*;\ 9 | rm -f /etc/systemd/system/*.wants/*;\ 10 | rm -f /usr/lib/systemd/system/local-fs.target.wants/*; \ 11 | rm -f /usr/lib/systemd/system/sockets.target.wants/*udev*; \ 12 | rm -f /usr/lib/systemd/system/sockets.target.wants/*initctl*; \ 13 | rm -f /usr/lib/systemd/system/basic.target.wants/*;\ 14 | rm -f /usr/lib/systemd/system/anaconda.target.wants/*; 15 | 16 | # Install ansible 17 | RUN zypper -n install git ansible sudo openssh tar unzip rsync; zypper clean 18 | 19 | VOLUME [ "/sys/fs/cgroup" ] 20 | 21 | CMD ["/usr/lib/systemd/systemd", "--system"] 22 | -------------------------------------------------------------------------------- /opensuse-ansible/Dockerfile.opensuse-leap: -------------------------------------------------------------------------------- 1 | FROM opensuse/leap 2 | LABEL maintainer="diodonfrost " 3 | 4 | ENV container docker 5 | 6 | RUN zypper -n install systemd; zypper clean ; \ 7 | (cd /usr/lib/systemd/system/sysinit.target.wants/; for i in *; do [ $i == systemd-tmpfiles-setup.service ] || rm -f $i; done); \ 8 | rm -f /usr/lib/systemd/system/multi-user.target.wants/*;\ 9 | rm -f /etc/systemd/system/*.wants/*;\ 10 | rm -f /usr/lib/systemd/system/local-fs.target.wants/*; \ 11 | rm -f /usr/lib/systemd/system/sockets.target.wants/*udev*; \ 12 | rm -f /usr/lib/systemd/system/sockets.target.wants/*initctl*; \ 13 | rm -f /usr/lib/systemd/system/basic.target.wants/*;\ 14 | rm -f /usr/lib/systemd/system/anaconda.target.wants/*; 15 | 16 | # Install ansible 17 | RUN zypper -n install git sudo python3-pip curl tar unzip gzip rsync fuse-devel; zypper clean 18 | 19 | RUN python3 -m pip install --upgrade pip && \ 20 | python3 -m pip install ansible 21 | 22 | VOLUME [ "/sys/fs/cgroup" ] 23 | 24 | CMD ["/usr/lib/systemd/systemd", "--system"] 25 | -------------------------------------------------------------------------------- /opensuse-ansible/Dockerfile.opensuse-tumbleweed: -------------------------------------------------------------------------------- 1 | FROM opensuse/tumbleweed 2 | LABEL maintainer="diodonfrost " 3 | 4 | ENV container docker 5 | 6 | RUN zypper -n install systemd; zypper clean ; \ 7 | (cd /usr/lib/systemd/system/sysinit.target.wants/; for i in *; do [ $i == systemd-tmpfiles-setup.service ] || rm -f $i; done); \ 8 | rm -f /usr/lib/systemd/system/multi-user.target.wants/*;\ 9 | rm -f /etc/systemd/system/*.wants/*;\ 10 | rm -f /usr/lib/systemd/system/local-fs.target.wants/*; \ 11 | rm -f /usr/lib/systemd/system/sockets.target.wants/*udev*; \ 12 | rm -f /usr/lib/systemd/system/sockets.target.wants/*initctl*; \ 13 | rm -f /usr/lib/systemd/system/basic.target.wants/*;\ 14 | rm -f /usr/lib/systemd/system/anaconda.target.wants/*; 15 | 16 | # Install ansible 17 | RUN zypper -n install \ 18 | git \ 19 | sudo \ 20 | python3-pip \ 21 | curl \ 22 | tar \ 23 | unzip \ 24 | gzip \ 25 | rsync \ 26 | shadow \ 27 | fuse-devel \ 28 | && zypper clean 29 | 30 | RUN python3 -m pip install --upgrade pip && \ 31 | python3 -m pip install ansible 32 | 33 | VOLUME [ "/sys/fs/cgroup" ] 34 | 35 | CMD ["/usr/lib/systemd/systemd", "--system"] 36 | -------------------------------------------------------------------------------- /oraclelinux-ansible/Dockerfile.oraclelinux-6: -------------------------------------------------------------------------------- 1 | FROM oraclelinux:6 2 | LABEL maintainer="diodonfrost " 3 | 4 | RUN rpm -ivh https://archives.fedoraproject.org/pub/archive/epel/6/x86_64/epel-release-6-8.noarch.rpm 5 | RUN yum -y install \ 6 | git \ 7 | ansible \ 8 | sudo \ 9 | which \ 10 | curl \ 11 | openssh-server \ 12 | openssh-clients \ 13 | unzip \ 14 | tar \ 15 | rsync \ 16 | && yum clean all 17 | 18 | # Install python ssl packages to perform SNI verification in python >= 2.6 19 | RUN yum -y install pyOpenSSL python-urllib3 python2-ndg_httpsclient python-pyasn1 && yum clean all 20 | 21 | RUN sed -i -e 's/^\(Defaults\s*requiretty\)/#--- \1/' /etc/sudoers 22 | 23 | RUN echo -e '[local]\nlocalhost ansible_connection=local' > /etc/ansible/hosts 24 | 25 | VOLUME ["/sys/fs/cgroup"] 26 | 27 | CMD ["/sbin/init"] 28 | -------------------------------------------------------------------------------- /oraclelinux-ansible/Dockerfile.oraclelinux-7: -------------------------------------------------------------------------------- 1 | FROM oraclelinux:7 2 | LABEL maintainer="diodonfrost " 3 | 4 | # Install systemd -- See https://hub.docker.com/_/centos/ 5 | RUN yum -y swap -- remove fakesystemd -- install systemd systemd-libs 6 | RUN yum -y update; \ 7 | (cd /lib/systemd/system/sysinit.target.wants/; for i in *; do [ $i == systemd-tmpfiles-setup.service ] || rm -f $i; done); \ 8 | rm -f /lib/systemd/system/multi-user.target.wants/*; \ 9 | rm -f /etc/systemd/system/*.wants/*; \ 10 | rm -f /lib/systemd/system/local-fs.target.wants/*; \ 11 | rm -f /lib/systemd/system/sockets.target.wants/*udev*; \ 12 | rm -f /lib/systemd/system/sockets.target.wants/*initctl*; \ 13 | rm -f /lib/systemd/system/basic.target.wants/*; \ 14 | rm -f /lib/systemd/system/anaconda.target.wants/*; 15 | 16 | RUN yum -y install \ 17 | git \ 18 | python3-pip \ 19 | sudo \ 20 | which \ 21 | curl \ 22 | openssh-server \ 23 | openssh-clients \ 24 | unzip \ 25 | tar \ 26 | rsync \ 27 | fuse-libs \ 28 | && yum clean all 29 | 30 | RUN python3 -m pip install --upgrade pip && \ 31 | python3 -m pip install ansible 32 | 33 | RUN sed -i -e 's/^\(Defaults\s*requiretty\)/#--- \1/' /etc/sudoers 34 | 35 | RUN mkdir /etc/ansible && \ 36 | echo -e '[local]\nlocalhost ansible_connection=local' > /etc/ansible/hosts 37 | 38 | VOLUME ["/sys/fs/cgroup"] 39 | 40 | CMD ["/usr/sbin/init"] 41 | -------------------------------------------------------------------------------- /oraclelinux-ansible/Dockerfile.oraclelinux-8: -------------------------------------------------------------------------------- 1 | FROM oraclelinux:8 2 | LABEL maintainer="diodonfrost " 3 | 4 | # Systemd install 5 | RUN dnf -y update && dnf clean all; \ 6 | (cd /lib/systemd/system/sysinit.target.wants/; for i in *; do [ $i == systemd-tmpfiles-setup.service ] || rm -f $i; done); \ 7 | rm -f /lib/systemd/system/multi-user.target.wants/*; \ 8 | rm -f /etc/systemd/system/*.wants/*; \ 9 | rm -f /lib/systemd/system/local-fs.target.wants/*; \ 10 | rm -f /lib/systemd/system/sockets.target.wants/*udev*; \ 11 | rm -f /lib/systemd/system/sockets.target.wants/*initctl*; \ 12 | rm -f /lib/systemd/system/basic.target.wants/*; \ 13 | rm -f /lib/systemd/system/anaconda.target.wants/*; 14 | 15 | RUN dnf -y install \ 16 | git \ 17 | python3.11 \ 18 | python3.11-pip \ 19 | sudo \ 20 | openssh-server \ 21 | openssh-clients \ 22 | unzip \ 23 | tar \ 24 | rsync \ 25 | fuse-libs \ 26 | && dnf clean all 27 | 28 | RUN python3 -m pip install --upgrade pip && \ 29 | python3 -m pip install ansible 30 | RUN ln -s /usr/local/bin/ansible* /usr/bin/ 31 | 32 | RUN sed -i -e 's/^\(Defaults\s*requiretty\)/#--- \1/' /etc/sudoers 33 | 34 | RUN mkdir /etc/ansible && echo -e '[local]\nlocalhost ansible_connection=local' > /etc/ansible/hosts 35 | 36 | VOLUME ["/sys/fs/cgroup"] 37 | 38 | CMD ["/usr/sbin/init"] 39 | -------------------------------------------------------------------------------- /oraclelinux-ansible/Dockerfile.oraclelinux-9: -------------------------------------------------------------------------------- 1 | FROM oraclelinux:9 2 | LABEL maintainer="diodonfrost " 3 | 4 | # Systemd install 5 | RUN dnf -y update && dnf clean all; \ 6 | (cd /lib/systemd/system/sysinit.target.wants/; for i in *; do [ $i == systemd-tmpfiles-setup.service ] || rm -f $i; done); \ 7 | rm -f /lib/systemd/system/multi-user.target.wants/*; \ 8 | rm -f /etc/systemd/system/*.wants/*; \ 9 | rm -f /lib/systemd/system/local-fs.target.wants/*; \ 10 | rm -f /lib/systemd/system/sockets.target.wants/*udev*; \ 11 | rm -f /lib/systemd/system/sockets.target.wants/*initctl*; \ 12 | rm -f /lib/systemd/system/basic.target.wants/*; \ 13 | rm -f /lib/systemd/system/anaconda.target.wants/*; 14 | 15 | RUN dnf -y install \ 16 | git \ 17 | python3 \ 18 | python3-pip \ 19 | sudo \ 20 | openssh-server \ 21 | openssh-clients \ 22 | unzip \ 23 | tar \ 24 | rsync \ 25 | fuse-libs \ 26 | && dnf clean all 27 | 28 | RUN python3 -m pip install --upgrade pip && \ 29 | python3 -m pip install ansible 30 | RUN ln -s /usr/local/bin/ansible* /usr/bin/ 31 | 32 | RUN sed -i -e 's/^\(Defaults\s*requiretty\)/#--- \1/' /etc/sudoers 33 | 34 | RUN mkdir /etc/ansible && echo -e '[local]\nlocalhost ansible_connection=local' > /etc/ansible/hosts 35 | 36 | VOLUME ["/sys/fs/cgroup"] 37 | 38 | CMD ["/usr/sbin/init"] 39 | -------------------------------------------------------------------------------- /pureos-ansible/Dockerfile.pureos-byzantium: -------------------------------------------------------------------------------- 1 | FROM pureos/byzantium:latest 2 | LABEL maintainer="diodonfrost " 3 | 4 | RUN apt-get update -y && apt-get install -y --no-install-recommends \ 5 | git \ 6 | gnupg2 \ 7 | dirmngr \ 8 | apt-transport-https \ 9 | curl \ 10 | init \ 11 | python3 python3-pip \ 12 | openssh-server openssh-client \ 13 | systemd \ 14 | unzip \ 15 | rsync \ 16 | sudo \ 17 | fuse \ 18 | && rm -rf /var/lib/apt/lists/* 19 | 20 | RUN ln -s /usr/bin/python3 /usr/bin/python 21 | 22 | RUN python3 -m pip install ansible==2.9.11 && \ 23 | mkdir -p /etc/ansible && echo "[local]\nlocalhost ansible_connection=local" > /etc/ansible/hosts 24 | 25 | CMD ["/bin/systemd"] 26 | -------------------------------------------------------------------------------- /rockylinux-ansible/Dockerfile.rockylinux-8: -------------------------------------------------------------------------------- 1 | FROM rockylinux/rockylinux:8 2 | LABEL maintainer="diodonfrost " 3 | 4 | # Install systemd -- See https://hub.docker.com/_/centos/ 5 | RUN dnf -y update && dnf clean all; \ 6 | (cd /lib/systemd/system/sysinit.target.wants/; for i in *; do [ $i == systemd-tmpfiles-setup.service ] || rm -f $i; done); \ 7 | rm -f /lib/systemd/system/multi-user.target.wants/*; \ 8 | rm -f /etc/systemd/system/*.wants/*; \ 9 | rm -f /lib/systemd/system/local-fs.target.wants/*; \ 10 | rm -f /lib/systemd/system/sockets.target.wants/*udev*; \ 11 | rm -f /lib/systemd/system/sockets.target.wants/*initctl*; \ 12 | rm -f /lib/systemd/system/basic.target.wants/*; \ 13 | rm -f /lib/systemd/system/anaconda.target.wants/*; 14 | 15 | RUN dnf -y install dnf-plugins-core && dnf clean all 16 | RUN dnf -y install \ 17 | git \ 18 | python3.11 \ 19 | python3.11-pip \ 20 | sudo \ 21 | openssh-server \ 22 | openssh-clients \ 23 | unzip \ 24 | rsync \ 25 | which \ 26 | fuse-libs \ 27 | && dnf clean all 28 | 29 | RUN alternatives --set python /usr/bin/python3 30 | RUN python3 -m pip install --upgrade pip && \ 31 | python3 -m pip install ansible 32 | RUN ln -s /usr/local/bin/ansible* /usr/bin/ 33 | 34 | RUN sed -i -e 's/^\(Defaults\s*requiretty\)/#--- \1/' /etc/sudoers 35 | 36 | RUN mkdir /etc/ansible && echo -e '[local]\nlocalhost ansible_connection=local' > /etc/ansible/hosts 37 | 38 | VOLUME ["/sys/fs/cgroup"] 39 | 40 | CMD ["/usr/sbin/init"] 41 | -------------------------------------------------------------------------------- /rockylinux-ansible/Dockerfile.rockylinux-8.4-rc1: -------------------------------------------------------------------------------- 1 | FROM rockylinux/rockylinux:8.4-rc1 2 | LABEL maintainer="diodonfrost " 3 | 4 | # Install systemd -- See https://hub.docker.com/_/centos/ 5 | RUN dnf -y update && dnf clean all; \ 6 | (cd /lib/systemd/system/sysinit.target.wants/; for i in *; do [ $i == systemd-tmpfiles-setup.service ] || rm -f $i; done); \ 7 | rm -f /lib/systemd/system/multi-user.target.wants/*; \ 8 | rm -f /etc/systemd/system/*.wants/*; \ 9 | rm -f /lib/systemd/system/local-fs.target.wants/*; \ 10 | rm -f /lib/systemd/system/sockets.target.wants/*udev*; \ 11 | rm -f /lib/systemd/system/sockets.target.wants/*initctl*; \ 12 | rm -f /lib/systemd/system/basic.target.wants/*; \ 13 | rm -f /lib/systemd/system/anaconda.target.wants/*; 14 | 15 | RUN dnf -y install dnf-plugins-core && dnf clean all 16 | RUN dnf -y install \ 17 | git \ 18 | python3 \ 19 | python3-pip \ 20 | sudo \ 21 | openssh-server \ 22 | openssh-clients \ 23 | unzip \ 24 | rsync \ 25 | which \ 26 | && dnf clean all 27 | 28 | RUN alternatives --set python /usr/bin/python3 29 | RUN python3 -m pip install --upgrade pip && \ 30 | python3 -m pip install ansible 31 | RUN ln -s /usr/local/bin/ansible* /usr/bin/ 32 | 33 | RUN sed -i -e 's/^\(Defaults\s*requiretty\)/#--- \1/' /etc/sudoers 34 | 35 | RUN mkdir /etc/ansible && echo -e '[local]\nlocalhost ansible_connection=local' > /etc/ansible/hosts 36 | 37 | VOLUME ["/sys/fs/cgroup"] 38 | 39 | CMD ["/usr/sbin/init"] 40 | -------------------------------------------------------------------------------- /rockylinux-ansible/Dockerfile.rockylinux-9: -------------------------------------------------------------------------------- 1 | FROM rockylinux/rockylinux:9 2 | LABEL maintainer="diodonfrost " 3 | 4 | RUN dnf -y update && dnf -y install dnf-plugins-core && dnf clean all 5 | RUN dnf -y install \ 6 | git \ 7 | ansible-core \ 8 | python3 \ 9 | python3-pip \ 10 | sudo \ 11 | openssh-server \ 12 | openssh-clients \ 13 | unzip \ 14 | rsync \ 15 | which \ 16 | fuse-libs \ 17 | && dnf clean all 18 | 19 | RUN sed -i -e 's/^\(Defaults\s*requiretty\)/#--- \1/' /etc/sudoers 20 | 21 | RUN echo -e '[local]\nlocalhost ansible_connection=local' > /etc/ansible/hosts 22 | 23 | VOLUME ["/sys/fs/cgroup"] 24 | 25 | CMD ["/usr/sbin/init"] 26 | -------------------------------------------------------------------------------- /tests/inspec/ansible_spec.rb: -------------------------------------------------------------------------------- 1 | # Test for Ansible docker container 2 | 3 | ansible_package = "ansible" 4 | package_resource_dont_supported_os = ['gentoo'] 5 | 6 | control 'ansible-01' do 7 | impact 1.0 8 | title 'Ansible install' 9 | desc 'Ansible should be installed' 10 | unless package_resource_dont_supported_os.include? os.name 11 | describe.one do 12 | describe package(ansible_package) do 13 | it { should be_installed } 14 | end 15 | describe package('ansible-core') do 16 | it { should be_installed } 17 | end 18 | describe pip('ansible') do 19 | it { should be_installed } 20 | end 21 | describe pip('ansible', '/usr/bin/pip3.6') do 22 | it { should be_installed } 23 | end 24 | describe pip('ansible', 'python3 -m pip') do 25 | it { should be_installed } 26 | end 27 | end 28 | end 29 | end 30 | 31 | control 'ansible-02' do 32 | impact 1.0 33 | title 'Ansible command' 34 | desc 'Ansible command should be functionnal' 35 | describe command('ansible --version') do 36 | its('exit_status') { should eq 0 } 37 | end 38 | end 39 | -------------------------------------------------------------------------------- /ubi-minimal-ansible/Dockerfile.ubi-minimal-8: -------------------------------------------------------------------------------- 1 | FROM registry.access.redhat.com/ubi8/ubi-minimal:latest 2 | LABEL maintainer="diodonfrost " 3 | 4 | # Install systemd -- See https://hub.docker.com/_/centos/ 5 | RUN microdnf -y install systemd systemd-libs && microdnf clean all 6 | RUN microdnf -y update && microdnf clean all; \ 7 | (cd /lib/systemd/system/sysinit.target.wants/; for i in *; do [ $i == systemd-tmpfiles-setup.service ] || rm -f $i; done); \ 8 | rm -f /lib/systemd/system/multi-user.target.wants/*; \ 9 | rm -f /etc/systemd/system/*.wants/*; \ 10 | rm -f /lib/systemd/system/local-fs.target.wants/*; \ 11 | rm -f /lib/systemd/system/sockets.target.wants/*udev*; \ 12 | rm -f /lib/systemd/system/sockets.target.wants/*initctl*; \ 13 | rm -f /lib/systemd/system/basic.target.wants/*; \ 14 | rm -f /lib/systemd/system/anaconda.target.wants/*; 15 | 16 | RUN microdnf -y install \ 17 | git \ 18 | python3-pip \ 19 | sudo \ 20 | unzip \ 21 | rsync \ 22 | which \ 23 | && microdnf clean all 24 | 25 | RUN python3 -m pip install --upgrade pip && \ 26 | python3 -m pip install ansible 27 | 28 | RUN sed -i -e 's/^\(Defaults\s*requiretty\)/#--- \1/' /etc/sudoers 29 | 30 | RUN mkdir /etc/ansible && \ 31 | echo -e '[local]\nlocalhost ansible_connection=local' > /etc/ansible/hosts 32 | 33 | VOLUME ["/sys/fs/cgroup"] 34 | 35 | CMD ["/usr/sbin/init"] 36 | -------------------------------------------------------------------------------- /ubi-minimal-ansible/Dockerfile.ubi-minimal-9: -------------------------------------------------------------------------------- 1 | FROM registry.access.redhat.com/ubi9/ubi-minimal:latest 2 | LABEL maintainer="diodonfrost " 3 | 4 | # Install systemd -- See https://hub.docker.com/_/centos/ 5 | RUN microdnf -y install systemd systemd-libs && microdnf clean all 6 | RUN microdnf -y update && microdnf clean all; \ 7 | (cd /lib/systemd/system/sysinit.target.wants/; for i in *; do [ $i == systemd-tmpfiles-setup.service ] || rm -f $i; done); \ 8 | rm -f /lib/systemd/system/multi-user.target.wants/*; \ 9 | rm -f /etc/systemd/system/*.wants/*; \ 10 | rm -f /lib/systemd/system/local-fs.target.wants/*; \ 11 | rm -f /lib/systemd/system/sockets.target.wants/*udev*; \ 12 | rm -f /lib/systemd/system/sockets.target.wants/*initctl*; \ 13 | rm -f /lib/systemd/system/basic.target.wants/*; \ 14 | rm -f /lib/systemd/system/anaconda.target.wants/*; 15 | 16 | RUN microdnf -y install \ 17 | git \ 18 | python3-pip \ 19 | sudo \ 20 | unzip \ 21 | rsync \ 22 | which \ 23 | && microdnf clean all 24 | 25 | RUN python3 -m pip install --upgrade pip && \ 26 | python3 -m pip install ansible 27 | 28 | RUN sed -i -e 's/^\(Defaults\s*requiretty\)/#--- \1/' /etc/sudoers 29 | 30 | RUN mkdir /etc/ansible && \ 31 | echo -e '[local]\nlocalhost ansible_connection=local' > /etc/ansible/hosts 32 | 33 | VOLUME ["/sys/fs/cgroup"] 34 | 35 | CMD ["/usr/sbin/init"] 36 | -------------------------------------------------------------------------------- /ubuntu-ansible/Dockerfile.ubuntu-12.04: -------------------------------------------------------------------------------- 1 | FROM ubuntu:12.04 2 | LABEL maintainer="diodonfrost " 3 | 4 | RUN apt-get update && apt-get dist-upgrade -y && apt-get install -y software-properties-common python-software-properties && rm -rf /var/lib/apt/lists/* 5 | 6 | RUN apt-add-repository -y ppa:ansible/ansible && apt-get update && apt-get install -y \ 7 | git \ 8 | ansible \ 9 | apt-transport-https \ 10 | curl \ 11 | openssh-server openssh-client \ 12 | unzip \ 13 | rsync \ 14 | sudo \ 15 | && rm -rf /var/lib/apt/lists/* 16 | 17 | RUN echo "[local]\nlocalhost ansible_connection=local" > /etc/ansible/hosts 18 | 19 | CMD ["/sbin/init"] 20 | -------------------------------------------------------------------------------- /ubuntu-ansible/Dockerfile.ubuntu-14.04: -------------------------------------------------------------------------------- 1 | FROM ubuntu:14.04 2 | LABEL maintainer="diodonfrost " 3 | 4 | RUN apt-get update && apt-get dist-upgrade -y && apt-get install -y software-properties-common && rm -rf /var/lib/apt/lists/* 5 | 6 | RUN apt-add-repository -y ppa:ansible/ansible && apt-get update && apt-get install -y \ 7 | git \ 8 | ansible \ 9 | python-dev \ 10 | python-pip \ 11 | python-openssl \ 12 | python-urllib3 \ 13 | python-pyasn1 \ 14 | apt-transport-https \ 15 | curl \ 16 | openssh-server openssh-client \ 17 | unzip \ 18 | rsync \ 19 | sudo \ 20 | wget \ 21 | && rm -rf /var/lib/apt/lists/* 22 | 23 | RUN wget http://launchpadlibrarian.net/224464655/python-ndg-httpsclient_0.4.0-3_all.deb && \ 24 | dpkg -i python-ndg-httpsclient_0.4.0-3_all.deb 25 | 26 | RUN echo "[local]\nlocalhost ansible_connection=local" > /etc/ansible/hosts 27 | 28 | CMD ["/sbin/init"] 29 | -------------------------------------------------------------------------------- /ubuntu-ansible/Dockerfile.ubuntu-16.04: -------------------------------------------------------------------------------- 1 | FROM ubuntu:16.04 2 | LABEL maintainer="diodonfrost " 3 | 4 | RUN apt-get update && apt-get dist-upgrade -y && apt-get install -y software-properties-common && rm -rf /var/lib/apt/lists/* 5 | 6 | RUN apt-add-repository -y ppa:ansible/ansible && apt-get update && apt-get install -y \ 7 | git \ 8 | ansible \ 9 | apt-transport-https \ 10 | curl \ 11 | init \ 12 | openssh-server openssh-client \ 13 | unzip \ 14 | rsync \ 15 | sudo \ 16 | fuse \ 17 | && rm -rf /var/lib/apt/lists/* 18 | 19 | RUN echo "[local]\nlocalhost ansible_connection=local" > /etc/ansible/hosts 20 | 21 | CMD ["/sbin/init"] 22 | -------------------------------------------------------------------------------- /ubuntu-ansible/Dockerfile.ubuntu-17.10: -------------------------------------------------------------------------------- 1 | FROM ubuntu:17.10 2 | LABEL maintainer="diodonfrost " 3 | 4 | RUN apt-get update && apt-get dist-upgrade -y && apt-get install -y software-properties-common && rm -rf /var/lib/apt/lists/* 5 | RUN apt-add-repository -y ppa:ansible/ansible && apt-get update && apt-get install -y \ 6 | git \ 7 | ansible \ 8 | apt-transport-https \ 9 | curl \ 10 | init \ 11 | openssh-server openssh-client \ 12 | unzip \ 13 | rsync \ 14 | sudo \ 15 | && rm -rf /var/lib/apt/lists/* 16 | 17 | RUN echo "[local]\nlocalhost ansible_connection=local" > /etc/ansible/hosts 18 | 19 | CMD ["/sbin/init"] 20 | -------------------------------------------------------------------------------- /ubuntu-ansible/Dockerfile.ubuntu-18.04: -------------------------------------------------------------------------------- 1 | FROM ubuntu:18.04 2 | LABEL maintainer="diodonfrost " 3 | 4 | RUN apt-get update && apt-get dist-upgrade -y && apt-get install -y software-properties-common && rm -rf /var/lib/apt/lists/* 5 | 6 | RUN apt-add-repository -y ppa:ansible/ansible && apt-get update && apt-get install -y \ 7 | git \ 8 | ansible \ 9 | apt-transport-https \ 10 | curl \ 11 | init \ 12 | openssh-server openssh-client \ 13 | unzip \ 14 | rsync \ 15 | sudo \ 16 | fuse snapd snap-confine squashfuse \ 17 | && rm -rf /var/lib/apt/lists/* 18 | 19 | # Configure udev for docker integration 20 | RUN dpkg-divert --local --rename --add /sbin/udevadm && ln -s /bin/true /sbin/udevadm 21 | 22 | RUN echo "[local]\nlocalhost ansible_connection=local" > /etc/ansible/hosts 23 | 24 | CMD ["/sbin/init"] 25 | -------------------------------------------------------------------------------- /ubuntu-ansible/Dockerfile.ubuntu-19.04: -------------------------------------------------------------------------------- 1 | FROM ubuntu:19.04 2 | LABEL maintainer="diodonfrost " 3 | 4 | RUN apt-get update && apt-get install -y \ 5 | git \ 6 | ansible \ 7 | apt-transport-https \ 8 | ca-certificates-java \ 9 | curl \ 10 | init \ 11 | openssh-server openssh-client \ 12 | unzip \ 13 | rsync \ 14 | python \ 15 | sudo \ 16 | fuse snapd snap-confine squashfuse \ 17 | && rm -rf /var/lib/apt/lists/* 18 | 19 | # Configure udev for docker integration 20 | RUN dpkg-divert --local --rename --add /sbin/udevadm && ln -s /bin/true /sbin/udevadm 21 | 22 | RUN echo "[local]\nlocalhost ansible_connection=local" > /etc/ansible/hosts 23 | 24 | CMD ["/sbin/init"] 25 | -------------------------------------------------------------------------------- /ubuntu-ansible/Dockerfile.ubuntu-20.04: -------------------------------------------------------------------------------- 1 | FROM ubuntu:20.04 2 | LABEL maintainer="diodonfrost " 3 | 4 | ENV DEBIAN_FRONTEND=noninteractive 5 | 6 | RUN apt-get update && apt-get install -y \ 7 | git \ 8 | ansible \ 9 | apt-transport-https \ 10 | ca-certificates-java \ 11 | curl \ 12 | init \ 13 | openssh-server openssh-client \ 14 | unzip \ 15 | rsync \ 16 | sudo \ 17 | fuse snapd snap-confine squashfuse \ 18 | && rm -rf /var/lib/apt/lists/* 19 | 20 | # Configure udev for docker integration 21 | RUN dpkg-divert --local --rename --add /sbin/udevadm && ln -s /bin/true /sbin/udevadm 22 | 23 | RUN echo "[local]\nlocalhost ansible_connection=local" > /etc/ansible/hosts 24 | 25 | CMD ["/sbin/init"] 26 | -------------------------------------------------------------------------------- /ubuntu-ansible/Dockerfile.ubuntu-22.04: -------------------------------------------------------------------------------- 1 | FROM ubuntu:22.04 2 | LABEL maintainer="diodonfrost " 3 | 4 | ENV DEBIAN_FRONTEND=noninteractive 5 | 6 | RUN apt-get update && apt-get install -y \ 7 | git \ 8 | ansible \ 9 | apt-transport-https \ 10 | ca-certificates-java \ 11 | curl \ 12 | init \ 13 | openssh-server openssh-client \ 14 | unzip \ 15 | rsync \ 16 | sudo \ 17 | fuse snapd snap-confine squashfuse \ 18 | && rm -rf /var/lib/apt/lists/* 19 | 20 | # Configure udev for docker integration 21 | RUN dpkg-divert --local --rename --add /sbin/udevadm && ln -s /bin/true /sbin/udevadm 22 | 23 | RUN mkdir /etc/ansible && echo "[local]\nlocalhost ansible_connection=local" > /etc/ansible/hosts 24 | 25 | CMD ["/sbin/init"] 26 | -------------------------------------------------------------------------------- /ubuntu-ansible/Dockerfile.ubuntu-24.04: -------------------------------------------------------------------------------- 1 | FROM ubuntu:24.04 2 | LABEL maintainer="diodonfrost " 3 | 4 | ENV DEBIAN_FRONTEND=noninteractive 5 | 6 | RUN apt-get update && apt-get install -y \ 7 | git \ 8 | ansible \ 9 | apt-transport-https \ 10 | ca-certificates-java \ 11 | curl \ 12 | init \ 13 | openssh-server openssh-client \ 14 | unzip \ 15 | rsync \ 16 | sudo \ 17 | fuse snapd snap-confine squashfuse \ 18 | && rm -rf /var/lib/apt/lists/* 19 | 20 | # Configure udev for docker integration 21 | RUN dpkg-divert --local --rename --add /sbin/udevadm && ln -s /bin/true /sbin/udevadm 22 | 23 | RUN mkdir /etc/ansible && echo "[local]\nlocalhost ansible_connection=local" > /etc/ansible/hosts 24 | 25 | CMD ["/sbin/init"] 26 | --------------------------------------------------------------------------------