add more testing containers
This commit is contained in:
@@ -1,13 +1,13 @@
|
|||||||
- name: Set OS name for RedHat family
|
- name: Set OS name for RedHat family
|
||||||
when:
|
when:
|
||||||
- ansible_os_famly == 'RedHat'
|
- ansible_os_family == 'RedHat'
|
||||||
ansible.builtin.set_fact:
|
ansible.builtin.set_fact:
|
||||||
hashicorp:
|
hashicorp:
|
||||||
repo: "{{ pkgconfig.hashicorp.Linux[rpm_dist.stdout] }}"
|
repo: "{{ pkgconfig.hashicorp.Linux[rpm_dist.stdout].repo }}"
|
||||||
|
|
||||||
- name: Set repo for debian
|
- name: Set repo for debian
|
||||||
when:
|
when:
|
||||||
- ansible_os_family == 'Debian'
|
- ansible_os_family == 'Debian'
|
||||||
ansible.builtin.set_Fact:
|
ansible.builtin.set_Fact:
|
||||||
hashicorp:
|
hashicorp:
|
||||||
repo: "{{ pkgconfig.hashicorp.Linux.Debian }}"
|
repo: "{{ pkgconfig.hashicorp.Linux.Debian.repo }}"
|
||||||
|
|||||||
@@ -5,11 +5,16 @@
|
|||||||
ansible.builtin.set_fact:
|
ansible.builtin.set_fact:
|
||||||
rhname: "{%if ansible_distribution == 'Fedora' %}fedora{% else %}epel{% endif %}"
|
rhname: "{%if ansible_distribution == 'Fedora' %}fedora{% else %}epel{% endif %}"
|
||||||
|
|
||||||
|
- name: Set deps for distros
|
||||||
|
ansible.builtin.set_fact:
|
||||||
|
zfs:
|
||||||
|
deps: "{% if ansible_distribution == 'Fedora' %}{{ pkgconfig.zfs.build_deps.Fedora }}{% else %}{{ pkgconfig.zfs.build_deps[ansible_os_family] }}{% endif %}"
|
||||||
|
|
||||||
- name: Set ZFS config
|
- name: Set ZFS config
|
||||||
ansible.builtin.set_fact:
|
ansible.builtin.set_fact:
|
||||||
zfs:
|
zfs:
|
||||||
repo_pkg: "{{ pkgconfig.zfs.repo_base }}/{{ rhname }}/zfs-release-{{ pkgconfig.zfs[rhname].release }}{{ rpm_dist.stdout }}.noarch.rpm"
|
repo_pkg: "{{ pkgconfig.zfs.repo_base }}/{{ rhname }}/zfs-release-{{ pkgconfig.zfs[rhname].release }}{{ rpm_dist.stdout }}.noarch.rpm"
|
||||||
deps: "{{ pkgconfig.zfs.build_deps[ansible_os_family] }}"
|
deps: "{{ zfs.deps }}"
|
||||||
pkgs: "{{ pkgconfig.zfs.pkgs[ansible_os_family] }}"
|
pkgs: "{{ pkgconfig.zfs.pkgs[ansible_os_family] }}"
|
||||||
skip_gpg_check: "{{ rhname == 'fedora' }}"
|
skip_gpg_check: "{{ rhname == 'fedora' }}"
|
||||||
release: "{{ ansible_distribution_release }}"
|
release: "{{ ansible_distribution_release }}"
|
||||||
|
|||||||
@@ -8,31 +8,12 @@
|
|||||||
when:
|
when:
|
||||||
- ansible_os_family == 'RedHat'
|
- ansible_os_family == 'RedHat'
|
||||||
block:
|
block:
|
||||||
- name: Enable hashicorp repo for fedora >=41
|
- name: Enable hashicorp repo
|
||||||
become: true
|
become: true
|
||||||
when:
|
ansible.builtin.get_url:
|
||||||
- ansible_distribution == 'Fedora'
|
url: "{{ hashicorp.repo }}"
|
||||||
- ansible_distribution_major_version|int >= 41
|
dest: /etc/yum.repos.d/hashicorp.repo
|
||||||
ansible.builtin.command:
|
mode: '0644'
|
||||||
creates: /etc/yum.repos.d/hashicorp.repo
|
|
||||||
cmd: "dnf config-manager addrepo --from-repofile={{ hashicorp.repo }}"
|
|
||||||
|
|
||||||
- name: Enable hashicorp repo for fedora <41
|
|
||||||
become: true
|
|
||||||
when:
|
|
||||||
- ansible_distribution == 'Fedora'
|
|
||||||
- ansible_distribution_major_version|int < 41
|
|
||||||
ansible.builtin.command:
|
|
||||||
creates: /etc/yum.repos.d/hashicorp.repo
|
|
||||||
cmd: "dnf config-manager --add-repo {{ hashicorp.repo }}"
|
|
||||||
|
|
||||||
- name: Enable hashicorp repo for RHEL like distribution
|
|
||||||
become: true
|
|
||||||
when:
|
|
||||||
- ansible_distribution != 'Fedora'
|
|
||||||
ansible.builtin.command:
|
|
||||||
creates: /etc/yum.repos.d/hashicorp.repo
|
|
||||||
cmd: "dnf config-manager --add-repo {{ hashicorp.repo }}"
|
|
||||||
|
|
||||||
- name: Debian based repository
|
- name: Debian based repository
|
||||||
when:
|
when:
|
||||||
|
|||||||
18
tests/Containerfile.debian
Normal file
18
tests/Containerfile.debian
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
FROM debian:bookworm
|
||||||
|
LABEL PROJECT "ansible_role_package"
|
||||||
|
LABEL MAINTAINER "Matthew Stobbs <matthew@stobbs.ca>"
|
||||||
|
|
||||||
|
RUN useradd -d /home/ansible -m -G wheel ansible
|
||||||
|
RUN apt update && \
|
||||||
|
apt install -y openssh-server python3-paramiko gnupg2
|
||||||
|
EXPOSE 22
|
||||||
|
|
||||||
|
USER ansible
|
||||||
|
WORKDIR /home/ansible
|
||||||
|
RUN mkdir /home/ansible/.ssh
|
||||||
|
COPY ./pubkey /home/ansible/.ssh/authorized_keys
|
||||||
|
|
||||||
|
USER root
|
||||||
|
RUN echo "ansible ALL=(ALL) NOPASSWD: ALL" > /etc/sudoers.d/sudoers
|
||||||
|
RUN ssh-keygen -A
|
||||||
|
ENTRYPOINT /usr/sbin/sshd -D
|
||||||
17
tests/Containerfile.el9
Normal file
17
tests/Containerfile.el9
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
FROM almalinux:9
|
||||||
|
LABEL PROJECT "ansible_role_package"
|
||||||
|
LABEL MAINTAINER "Matthew Stobbs <matthew@stobbs.ca>"
|
||||||
|
|
||||||
|
RUN useradd -d /home/ansible -m -G wheel ansible
|
||||||
|
RUN dnf install -y openssh-server python3-paramiko python3-libdnf gnupg2
|
||||||
|
EXPOSE 22
|
||||||
|
|
||||||
|
USER ansible
|
||||||
|
WORKDIR /home/ansible
|
||||||
|
RUN mkdir /home/ansible/.ssh
|
||||||
|
COPY ./pubkey /home/ansible/.ssh/authorized_keys
|
||||||
|
|
||||||
|
USER root
|
||||||
|
RUN echo "ansible ALL=(ALL) NOPASSWD: ALL" > /etc/sudoers.d/sudoers
|
||||||
|
RUN ssh-keygen -A
|
||||||
|
ENTRYPOINT /usr/sbin/sshd -D
|
||||||
18
tests/Containerfile.ubuntu
Normal file
18
tests/Containerfile.ubuntu
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
FROM ubuntu:24.04
|
||||||
|
LABEL PROJECT "ansible_role_package"
|
||||||
|
LABEL MAINTAINER "Matthew Stobbs <matthew@stobbs.ca>"
|
||||||
|
|
||||||
|
RUN useradd -d /home/ansible -m -G wheel ansible
|
||||||
|
RUN apt update && \
|
||||||
|
apt install -y openssh-server python3-paramiko gnupg2
|
||||||
|
EXPOSE 22
|
||||||
|
|
||||||
|
USER ansible
|
||||||
|
WORKDIR /home/ansible
|
||||||
|
RUN mkdir /home/ansible/.ssh
|
||||||
|
COPY ./pubkey /home/ansible/.ssh/authorized_keys
|
||||||
|
|
||||||
|
USER root
|
||||||
|
RUN echo "ansible ALL=(ALL) NOPASSWD: ALL" > /etc/sudoers.d/sudoers
|
||||||
|
RUN ssh-keygen -A
|
||||||
|
ENTRYPOINT /usr/sbin/sshd -D
|
||||||
@@ -20,4 +20,7 @@ done
|
|||||||
echo "Machine $MACHINENAME running"
|
echo "Machine $MACHINENAME running"
|
||||||
|
|
||||||
echo "Building container images"
|
echo "Building container images"
|
||||||
podman build --platform linux/amd64 -f Containerfile -t $IMAGE .
|
podman build --platform linux/amd64 -f Containerfile.el9 -t ${IMAGE}_el9 .
|
||||||
|
podman build --platform linux/amd64 -f Containerfile.fedora -t ${IMAGE)_fedora .
|
||||||
|
podman build --platform linux/amd64 -f Containerfile.debian -t ${IMAGE}_debian .
|
||||||
|
podman build --platform linux/amd64 -f Containerfile.ubuntu -t ${IMAGE}_ubuntu .
|
||||||
|
|||||||
@@ -3,3 +3,12 @@
|
|||||||
podman run --rm -it -d --platform linux/amd64 --name packagetest -p 2222:22 packagetest
|
podman run --rm -it -d --platform linux/amd64 --name packagetest -p 2222:22 packagetest
|
||||||
ansible-playbook test_not_local.yml -i inventory.yml
|
ansible-playbook test_not_local.yml -i inventory.yml
|
||||||
podman stop packagetest
|
podman stop packagetest
|
||||||
|
podman run --rm -it -d --platform linux/amd64 --name packagetest -p 2222:22 packagetest
|
||||||
|
ansible-playbook test_not_local.yml -i inventory.yml
|
||||||
|
podman stop packagetest
|
||||||
|
podman run --rm -it -d --platform linux/amd64 --name packagetest -p 2222:22 packagetest
|
||||||
|
ansible-playbook test_not_local.yml -i inventory.yml
|
||||||
|
podman stop packagetest
|
||||||
|
podman run --rm -it -d --platform linux/amd64 --name packagetest -p 2222:22 packagetest
|
||||||
|
ansible-playbook test_not_local.yml -i inventory.yml
|
||||||
|
podman stop packagetest
|
||||||
|
|||||||
@@ -13,6 +13,8 @@ zfs:
|
|||||||
- zfs-dkms
|
- zfs-dkms
|
||||||
- zfsutils-linux
|
- zfsutils-linux
|
||||||
build_deps:
|
build_deps:
|
||||||
|
Fedora:
|
||||||
|
- kernel-devel
|
||||||
RedHat:
|
RedHat:
|
||||||
- kernel-devel
|
- kernel-devel
|
||||||
- epel-release
|
- epel-release
|
||||||
|
|||||||
Reference in New Issue
Block a user