add more testing containers

This commit is contained in:
Matthew Stobbs
2025-02-23 03:11:12 -07:00
parent 57b3b93a18
commit 6397899d88
10 changed files with 82 additions and 29 deletions

View File

@@ -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 }}"

View File

@@ -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 }}"

View File

@@ -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:

View 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
View 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

View 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

View File

@@ -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 .

View File

@@ -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

View File

@@ -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