You've already forked ansible-docker
							
							Compare commits
	
		
			1 Commits
		
	
	
		
			master
			...
			7f967b589c
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 7f967b589c | 
| @@ -15,47 +15,31 @@ jobs: | |||||||
|   build-arch-linux: |   build-arch-linux: | ||||||
|     runs-on: ubuntu-latest-amd64 |     runs-on: ubuntu-latest-amd64 | ||||||
|     steps: |     steps: | ||||||
|     - uses: actions/checkout@v5.0.0 |       - uses: actions/checkout@v4.2.2 | ||||||
|     - uses: docker/setup-qemu-action@v3.6.0 |       - uses: docker/setup-qemu-action@v3.6.0 | ||||||
|     - uses: docker/setup-buildx-action@v3.11.1 |       - uses: docker/setup-buildx-action@v3.10.0 | ||||||
|  |  | ||||||
|     - name: Build image |       - name: Build image | ||||||
|       run: | |         run: | | ||||||
|         TAG=latest |           TAG=latest | ||||||
|  |  | ||||||
|         docker buildx build \ |           docker buildx build \ | ||||||
|           --file Dockerfile.archlinux \ |             --file Dockerfile.archlinux \ | ||||||
|           --tag git.cryptic.systems/volker.raschek/ansible:${TAG}-archlinux \ |             --tag git.cryptic.systems/volker.raschek/ansible:${TAG}-archlinux \ | ||||||
|           . |             . | ||||||
|  |  | ||||||
|   build-rocky-linux-8: |   build-rocky-linux-8: | ||||||
|     runs-on: ubuntu-latest-amd64 |     runs-on: ubuntu-latest-amd64 | ||||||
|     steps: |     steps: | ||||||
|     - uses: actions/checkout@v5.0.0 |       - uses: actions/checkout@v4.2.2 | ||||||
|     - uses: docker/setup-qemu-action@v3.6.0 |       - uses: docker/setup-qemu-action@v3.6.0 | ||||||
|     - uses: docker/setup-buildx-action@v3.11.1 |       - uses: docker/setup-buildx-action@v3.10.0 | ||||||
|  |  | ||||||
|     - name: Build image |       - name: Build image | ||||||
|       run: | |         run: | | ||||||
|         TAG=latest |           TAG=latest | ||||||
|  |  | ||||||
|         docker buildx build \ |           docker buildx build \ | ||||||
|           --file Dockerfile.rockylinux8 \ |             --file Dockerfile.rockylinux8 \ | ||||||
|           --tag git.cryptic.systems/volker.raschek/ansible:${TAG}-rockylinux-8 \ |             --tag git.cryptic.systems/volker.raschek/ansible:${TAG}-rockylinux-8 \ | ||||||
|           . |             . | ||||||
|  |  | ||||||
|   build-rocky-linux-9: |  | ||||||
|     runs-on: ubuntu-latest-amd64 |  | ||||||
|     steps: |  | ||||||
|     - uses: actions/checkout@v5.0.0 |  | ||||||
|     - uses: docker/setup-qemu-action@v3.6.0 |  | ||||||
|     - uses: docker/setup-buildx-action@v3.11.1 |  | ||||||
|  |  | ||||||
|     - name: Build image |  | ||||||
|       run: | |  | ||||||
|         TAG=latest |  | ||||||
|  |  | ||||||
|         docker buildx build \ |  | ||||||
|           --file Dockerfile.rockylinux9 \ |  | ||||||
|           --tag git.cryptic.systems/volker.raschek/ansible:${TAG}-rockylinux-9 \ |  | ||||||
|           . |  | ||||||
|   | |||||||
| @@ -16,7 +16,7 @@ jobs: | |||||||
|     runs-on: |     runs-on: | ||||||
|     - ubuntu-latest |     - ubuntu-latest | ||||||
|     steps: |     steps: | ||||||
|     - uses: actions/checkout@v5.0.0 |     - uses: actions/checkout@v4.2.2 | ||||||
|     - uses: DavidAnson/markdownlint-cli2-action@v20.0.0 |     - uses: DavidAnson/markdownlint-cli2-action@v19.1.0 | ||||||
|       with: |       with: | ||||||
|         globs: '**/*.md' |         globs: '**/*.md' | ||||||
|   | |||||||
| @@ -9,77 +9,53 @@ jobs: | |||||||
|   push-arch-linux: |   push-arch-linux: | ||||||
|     runs-on: ubuntu-latest-amd64 |     runs-on: ubuntu-latest-amd64 | ||||||
|     steps: |     steps: | ||||||
|     - uses: actions/checkout@v5.0.0 |       - uses: actions/checkout@v4.2.2 | ||||||
|     - uses: docker/setup-qemu-action@v3.6.0 |       - uses: docker/setup-qemu-action@v3.6.0 | ||||||
|     - uses: docker/setup-buildx-action@v3.11.1 |       - uses: docker/setup-buildx-action@v3.10.0 | ||||||
|  |  | ||||||
|     - uses: docker/login-action@v3.6.0 |       - uses: docker/login-action@v3.4.0 | ||||||
|       with: |         with: | ||||||
|         registry: git.cryptic.systems |           registry: git.cryptic.systems | ||||||
|         username: ${{ github.repository_owner }} |           username: ${{ github.repository_owner }} | ||||||
|         password: ${{ secrets.GIT_CRYPTIC_SYSTEMS_PACKAGE_REGISTRY_TOKEN }} |           password: ${{ secrets.GIT_CRYPTIC_SYSTEMS_PACKAGE_REGISTRY_TOKEN }} | ||||||
|  |  | ||||||
|     - name: Build and push image |       - name: Build and push image | ||||||
|       run: | |         run: | | ||||||
|         TAG=$(echo ${{ github.ref_name }} | sed 's/v//gm') |           TAG=$(echo ${{ github.ref_name }} | sed 's/v//gm') | ||||||
|  |  | ||||||
|         docker buildx build \ |           docker buildx build \ | ||||||
|           --file Dockerfile.archlinux \ |             --file Dockerfile.archlinux \ | ||||||
|           --push \ |             --push \ | ||||||
|           --tag git.cryptic.systems/volker.raschek/ansible:${TAG}-archlinux \ |             --tag git.cryptic.systems/volker.raschek/ansible:${TAG}-archlinux \ | ||||||
|           . |             . | ||||||
|  |  | ||||||
|   push-rocky-linux-8: |   push-rocky-linux-8: | ||||||
|     runs-on: ubuntu-latest-amd64 |     runs-on: ubuntu-latest-amd64 | ||||||
|     steps: |     steps: | ||||||
|     - uses: actions/checkout@v5.0.0 |       - uses: actions/checkout@v4.2.2 | ||||||
|     - uses: docker/setup-qemu-action@v3.6.0 |       - uses: docker/setup-qemu-action@v3.6.0 | ||||||
|     - uses: docker/setup-buildx-action@v3.11.1 |       - uses: docker/setup-buildx-action@v3.10.0 | ||||||
|  |  | ||||||
|     - uses: docker/login-action@v3.6.0 |       - uses: docker/login-action@v3.4.0 | ||||||
|       with: |         with: | ||||||
|         registry: git.cryptic.systems |           registry: git.cryptic.systems | ||||||
|         username: ${{ github.repository_owner }} |           username: ${{ github.repository_owner }} | ||||||
|         password: ${{ secrets.GIT_CRYPTIC_SYSTEMS_PACKAGE_REGISTRY_TOKEN }} |           password: ${{ secrets.GIT_CRYPTIC_SYSTEMS_PACKAGE_REGISTRY_TOKEN }} | ||||||
|  |  | ||||||
|     - name: Build and push image |       - name: Build and push image | ||||||
|       run: | |         run: | | ||||||
|         TAG=$(echo ${{ github.ref_name }} | sed 's/v//gm') |           TAG=$(echo ${{ github.ref_name }} | sed 's/v//gm') | ||||||
|  |  | ||||||
|         docker buildx build \ |           docker buildx build \ | ||||||
|           --file Dockerfile.rockylinux8 \ |             --file Dockerfile.rockylinux8 \ | ||||||
|           --push \ |             --push \ | ||||||
|           --tag git.cryptic.systems/volker.raschek/ansible:${TAG}-rockylinux-8 \ |             --tag git.cryptic.systems/volker.raschek/ansible:${TAG}-rockylinux-8 \ | ||||||
|           . |             . | ||||||
|  |  | ||||||
|   push-rocky-linux-9: |  | ||||||
|     runs-on: ubuntu-latest-amd64 |  | ||||||
|     steps: |  | ||||||
|     - uses: actions/checkout@v5.0.0 |  | ||||||
|     - uses: docker/setup-qemu-action@v3.6.0 |  | ||||||
|     - uses: docker/setup-buildx-action@v3.11.1 |  | ||||||
|  |  | ||||||
|     - uses: docker/login-action@v3.6.0 |  | ||||||
|       with: |  | ||||||
|         registry: git.cryptic.systems |  | ||||||
|         username: ${{ github.repository_owner }} |  | ||||||
|         password: ${{ secrets.GIT_CRYPTIC_SYSTEMS_PACKAGE_REGISTRY_TOKEN }} |  | ||||||
|  |  | ||||||
|     - name: Build and push image |  | ||||||
|       run: | |  | ||||||
|         TAG=$(echo ${{ github.ref_name }} | sed 's/v//gm') |  | ||||||
|  |  | ||||||
|         docker buildx build \ |  | ||||||
|           --file Dockerfile.rockylinux9 \ |  | ||||||
|           --push \ |  | ||||||
|           --tag git.cryptic.systems/volker.raschek/ansible:${TAG}-rockylinux-9 \ |  | ||||||
|           . |  | ||||||
|  |  | ||||||
|   sync-to-hub-docker-io: |   sync-to-hub-docker-io: | ||||||
|     needs: |     needs: | ||||||
|     - push-arch-linux |     - push-arch-linux | ||||||
|     - push-rocky-linux-8 |     - push-rocky-linux-8 | ||||||
|     - push-rocky-linux-9 |  | ||||||
|     runs-on: ubuntu-latest |     runs-on: ubuntu-latest | ||||||
|     steps: |     steps: | ||||||
|     - name: Copy images to docker.io |     - name: Copy images to docker.io | ||||||
| @@ -89,7 +65,7 @@ jobs: | |||||||
|         apt-get update --yes |         apt-get update --yes | ||||||
|         apt-get install --yes skopeo |         apt-get install --yes skopeo | ||||||
|  |  | ||||||
|         for suffix in archlinux rockylinux-8 rockylinux-9; do |         for suffix in archlinux rockylinux-8; do | ||||||
|           skopeo copy \ |           skopeo copy \ | ||||||
|             --all \ |             --all \ | ||||||
|             --dest-password ${{ secrets.DOCKER_IO_PASSWORD }} \ |             --dest-password ${{ secrets.DOCKER_IO_PASSWORD }} \ | ||||||
|   | |||||||
| @@ -13,8 +13,8 @@ jobs: | |||||||
|     runs-on: |     runs-on: | ||||||
|     - ubuntu-latest |     - ubuntu-latest | ||||||
|     steps: |     steps: | ||||||
|     - uses: actions/checkout@v5.0.0 |     - uses: actions/checkout@v4.2.2 | ||||||
|     - uses: peter-evans/dockerhub-description@v5.0.0 |     - uses: peter-evans/dockerhub-description@v4.0.2 | ||||||
|       with: |       with: | ||||||
|         username: ${{ secrets.DOCKER_IO_USERNAME }} |         username: ${{ secrets.DOCKER_IO_USERNAME }} | ||||||
|         password: ${{ secrets.DOCKER_IO_PASSWORD }} |         password: ${{ secrets.DOCKER_IO_PASSWORD }} | ||||||
|   | |||||||
| @@ -1,4 +1,4 @@ | |||||||
| FROM docker.io/library/rockylinux:8 | FROM docker.io/library/rockylinux:9 | ||||||
|  |  | ||||||
| RUN dnf update --assumeyes && \ | RUN dnf update --assumeyes && \ | ||||||
|     dnf install --assumeyes bash-completion sudo && \ |     dnf install --assumeyes bash-completion sudo && \ | ||||||
| @@ -12,12 +12,11 @@ RUN dnf update --assumeyes && \ | |||||||
|  |  | ||||||
| # We must change python to 3.12 (default 3.6), to be compliant with ansible-core. Furthermore, we must upgrade pip to | # We must change python to 3.12 (default 3.6), to be compliant with ansible-core. Furthermore, we must upgrade pip to | ||||||
| # latest version. Otherwise is still used pip for python 3.6. At least, we install boto3, which is required for the aws | # latest version. Otherwise is still used pip for python 3.6. At least, we install boto3, which is required for the aws | ||||||
| # dynamic inventory manually, because the official python-boto3 package is for python 3.6. At least, we install | # dynamic inventory manually, because the official python-boto3 package is for python 3.6. | ||||||
| # ansible-lint via pip to be able to lint ansible roles. |  | ||||||
| RUN alternatives --set python3 /usr/bin/python3.12 && \ | RUN alternatives --set python3 /usr/bin/python3.12 && \ | ||||||
|     curl --fail --silent --location https://bootstrap.pypa.io/get-pip.py --output get-pip.py && \ |     curl --fail --silent --location https://bootstrap.pypa.io/get-pip.py --output get-pip.py && \ | ||||||
|     python3 get-pip.py && \ |     python3 get-pip.py && \ | ||||||
|     pip install ansible-lint boto3 |     pip install boto3 | ||||||
|  |  | ||||||
| # Create default ansible inventory file | # Create default ansible inventory file | ||||||
| RUN mkdir --parents /etc/ansible | RUN mkdir --parents /etc/ansible | ||||||
|   | |||||||
| @@ -1,30 +0,0 @@ | |||||||
| FROM docker.io/library/rockylinux:9 |  | ||||||
|  |  | ||||||
| RUN dnf update --assumeyes && \ |  | ||||||
|     dnf install --assumeyes bash-completion sudo && \ |  | ||||||
|     dnf install --assumeyes epel-release && \ |  | ||||||
|     dnf install --assumeyes ansible-core && \ |  | ||||||
|     dnf install --assumeyes python3.12 python3-boto3 python3-botocore && \ |  | ||||||
|     dnf remove --assumeyes epel-release && \ |  | ||||||
|     dnf clean all |  | ||||||
|  |  | ||||||
| # We must change python to 3.12 (default 3.9), to be compliant with ansible-core. Furthermore, we must upgrade pip to |  | ||||||
| # latest version. Otherwise is still used pip for python 3.9. At least, we install boto3, which is required for the aws |  | ||||||
| # dynamic inventory manually, because the official python-boto3 package is for python 3.9. At least, we install |  | ||||||
| # ansible-lint via pip to be able to lint ansible roles. |  | ||||||
| RUN ln --symbolic --force /usr/bin/python3.12 /usr/bin/python3 && \ |  | ||||||
|     curl --fail --silent --location https://bootstrap.pypa.io/get-pip.py --output get-pip.py && \ |  | ||||||
|     python3 get-pip.py && \ |  | ||||||
|     pip install ansible-lint boto3 |  | ||||||
|  |  | ||||||
| # Create default ansible inventory file |  | ||||||
| RUN mkdir --parents /etc/ansible |  | ||||||
| RUN echo -e "[local]\nlocalhost ansible_connection=local" > /etc/ansible/hosts |  | ||||||
|  |  | ||||||
| # Remove unnecessary getty and udev targets that result in high CPU usage when |  | ||||||
| # using multiple containers with molecule |  | ||||||
| # (https://github.com/ansible/molecule/issues/1104) |  | ||||||
| RUN rm --recursive --force /lib/systemd/system/systemd*udev* && \ |  | ||||||
|     rm --recursive --force /lib/systemd/system/getty.target |  | ||||||
|  |  | ||||||
| VOLUME [ "/sys/fs/cgroup", "/tmp", "/run"] |  | ||||||
							
								
								
									
										33
									
								
								Makefile
									
									
									
									
									
								
							
							
						
						
									
										33
									
								
								Makefile
									
									
									
									
									
								
							| @@ -21,15 +21,6 @@ ANSIBLE_RL8_IMAGE_VERSION?=latest | |||||||
| ANSIBLE_RL8_IMAGE_VERSION_SUFFIX=rockylinux-8 | ANSIBLE_RL8_IMAGE_VERSION_SUFFIX=rockylinux-8 | ||||||
| ANSIBLE_RL8_IMAGE_FULLY_QUALIFIED=${ANSIBLE_RL8_IMAGE_REGISTRY_HOST}/${ANSIBLE_RL8_IMAGE_NAMESPACE}/${ANSIBLE_RL8_IMAGE_REPOSITORY}:${ANSIBLE_RL8_IMAGE_VERSION}-${ANSIBLE_RL8_IMAGE_VERSION_SUFFIX} | ANSIBLE_RL8_IMAGE_FULLY_QUALIFIED=${ANSIBLE_RL8_IMAGE_REGISTRY_HOST}/${ANSIBLE_RL8_IMAGE_NAMESPACE}/${ANSIBLE_RL8_IMAGE_REPOSITORY}:${ANSIBLE_RL8_IMAGE_VERSION}-${ANSIBLE_RL8_IMAGE_VERSION_SUFFIX} | ||||||
|  |  | ||||||
| # RockyLinux9 |  | ||||||
| ANSIBLE_RL9_IMAGE_REGISTRY_HOST?=git.cryptic.systems |  | ||||||
| ANSIBLE_RL9_IMAGE_REGISTRY_USER?=volker.raschek |  | ||||||
| ANSIBLE_RL9_IMAGE_NAMESPACE?=${ANSIBLE_RL8_IMAGE_REGISTRY_USER} |  | ||||||
| ANSIBLE_RL9_IMAGE_REPOSITORY:=ansible |  | ||||||
| ANSIBLE_RL9_IMAGE_VERSION?=latest |  | ||||||
| ANSIBLE_RL9_IMAGE_VERSION_SUFFIX=rockylinux-9 |  | ||||||
| ANSIBLE_RL9_IMAGE_FULLY_QUALIFIED=${ANSIBLE_RL9_IMAGE_REGISTRY_HOST}/${ANSIBLE_RL9_IMAGE_NAMESPACE}/${ANSIBLE_RL9_IMAGE_REPOSITORY}:${ANSIBLE_RL9_IMAGE_VERSION}-${ANSIBLE_RL9_IMAGE_VERSION_SUFFIX} |  | ||||||
|  |  | ||||||
| # BUILD ANSIBLE ARCHLINUX CONTAINER IMAGE | # BUILD ANSIBLE ARCHLINUX CONTAINER IMAGE | ||||||
| # ============================================================================== | # ============================================================================== | ||||||
| PHONY:=container-image/build/arch-linux | PHONY:=container-image/build/arch-linux | ||||||
| @@ -78,30 +69,6 @@ container-image/push/rocky-linux-8: | |||||||
| 	echo ${ANSIBLE_ARCH_IMAGE_REGISTRY_PASSWORD} | ${CONTAINER_RUNTIME} login ${ANSIBLE_ARCH_IMAGE_REGISTRY_HOST} --username ${ANSIBLE_ARCH_IMAGE_REGISTRY_USER} --password-stdin | 	echo ${ANSIBLE_ARCH_IMAGE_REGISTRY_PASSWORD} | ${CONTAINER_RUNTIME} login ${ANSIBLE_ARCH_IMAGE_REGISTRY_HOST} --username ${ANSIBLE_ARCH_IMAGE_REGISTRY_USER} --password-stdin | ||||||
| 	${CONTAINER_RUNTIME} push ${ANSIBLE_ARCH_IMAGE_FULLY_QUALIFIED} | 	${CONTAINER_RUNTIME} push ${ANSIBLE_ARCH_IMAGE_FULLY_QUALIFIED} | ||||||
|  |  | ||||||
| # BUILD ANSIBLE RL9 CONTAINER IMAGE |  | ||||||
| # ============================================================================== |  | ||||||
| PHONY:=container-image/build/rocky-linux-9 |  | ||||||
| container-image/build/rocky-linux-9: |  | ||||||
| 	${CONTAINER_RUNTIME} build \ |  | ||||||
| 		--file Dockerfile.rockylinux9 \ |  | ||||||
| 		--no-cache \ |  | ||||||
| 		--pull \ |  | ||||||
| 		--tag ${ANSIBLE_RL9_IMAGE_FULLY_QUALIFIED} \ |  | ||||||
| 		. |  | ||||||
|  |  | ||||||
| # DELETE ANSIBLE RL9 CONTAINER IMAGE |  | ||||||
| # ============================================================================== |  | ||||||
| PHONY:=container-image/delete/rocky-linux-9 |  | ||||||
| container-image/delete/rocky-linux-9: |  | ||||||
| 	- ${CONTAINER_RUNTIME} image rm ${ANSIBLE_RL9_IMAGE_FULLY_QUALIFIED} |  | ||||||
|  |  | ||||||
| # PUSH ANSIBLE RL9 CONTAINER IMAGE |  | ||||||
| # ============================================================================== |  | ||||||
| PHONY+=container-image/push/rocky-linux-9 |  | ||||||
| container-image/push/rocky-linux-9: |  | ||||||
| 	echo ${ANSIBLE_ARCH_IMAGE_REGISTRY_PASSWORD} | ${CONTAINER_RUNTIME} login ${ANSIBLE_ARCH_IMAGE_REGISTRY_HOST} --username ${ANSIBLE_ARCH_IMAGE_REGISTRY_USER} --password-stdin |  | ||||||
| 	${CONTAINER_RUNTIME} push ${ANSIBLE_ARCH_IMAGE_FULLY_QUALIFIED} |  | ||||||
|  |  | ||||||
| # PHONY | # PHONY | ||||||
| # ============================================================================== | # ============================================================================== | ||||||
| # Declare the contents of the PHONY variable as phony.  We keep that information | # Declare the contents of the PHONY variable as phony.  We keep that information | ||||||
|   | |||||||
| @@ -16,6 +16,6 @@ docker run \ | |||||||
|   --rm \ |   --rm \ | ||||||
|   --volume $(pwd):$(pwd) \ |   --volume $(pwd):$(pwd) \ | ||||||
|   --workdir $(pwd) \ |   --workdir $(pwd) \ | ||||||
|     git.cryptic.systems/volker.raschek/ansible:latest \ |     git.cryptic.systems/volkerraschek/ansible:latest \ | ||||||
|       bash -c "ansible-galaxy install -r requirements.yaml && ansible-playbook -i inventories/demo.aws_ec2.yaml aws.yaml" |       bash -c "ansible-galaxy install -r requirements.yaml && ansible-playbook -i inventories/demo.aws_ec2.yaml aws.yaml" | ||||||
| ``` | ``` | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user