Compare commits

..

No commits in common. "master" and "1.2.1" have entirely different histories.

16 changed files with 194 additions and 970 deletions

View File

@ -1,55 +0,0 @@
def main(ctx):
return [
pipeline("debian", ["ubuntu-22.04", "ubuntu-20.04"]),
pipeline("rhel", ["fedora-34", "fedora-35"]),
]
def generateStep(tag):
return {
"name": "build-" + tag,
"image": "plugins/kaniko",
"settings": {
"dockerfile": tag + "/Dockerfile",
"password": {
"from_secret": "docker_password"
},
"username": {
"from_secret": "docker_username"
},
"repo": "lerentis/ansible",
"tags": [
tag
]
},
"when": {
"event": [
"push",
"pull_request",
"cron"
]
},
"ressources": {
"limits": {
"cpu": "200",
"memory": "1024MiB"
}
}
}
def pipeline(group, tags):
steps = []
for tag in tags:
steps += generateStep(tag)
print(generateStep(tag))
print(steps)
return {
"kind": "pipeline",
"type": "kubernetes",
"name": "build-%s" % group,
"platform": {
"os": "linux",
"arch": "amd64"
},
"steps": steps
}

File diff suppressed because it is too large Load Diff

View File

@ -1,6 +1,6 @@
# ansible
[![Build Status](https://drone.uploadfilter24.eu/api/badges/lerentis/ansible/status.svg)](https://drone.uploadfilter24.eu/lerentis/ansible)
[![Build Status](https://drone.burntbunch.org/api/badges/lerentis/ansible-container/status.svg)](https://drone.burntbunch.org/lerentis/ansible-container)
Docker images for running and testing ansible playbooks with various operating systems.
This Project is based on this [project](https://github.com/pauvos/ansible), which seems abandoned
@ -8,19 +8,13 @@ I don't like obfuscated Dockerfiles with external scripts and hundreds of bells
Available operating systems:
* alpine-3.14
* alpine-3.15
* alpine-3
* centos-7
* almalinux-8
* debian-8
* fedora-34
* fedora-35
* fedora-36
* fedora-37
* fedora-24
* ubuntu-16.04
* ubuntu-18.04
* ubuntu-20.04
* ubuntu-22.04
* ubuntu-19.04
* arch
## run playbooks
@ -75,6 +69,6 @@ Note: /root/.ansible must not be an overlayfs, otherwise ssh accelerate won't wo
## references
* [project](https://git.uploadfilter24.eu/lerentis/ansible)
* [project](https://git.burntbunch.org/lerentis/ansible-container)
Current Version: 2.0
Current Version: 0.7.2

View File

@ -1,7 +0,0 @@
FROM alpine:3.15
RUN apk add --no-cache ansible curl \
&& curl -L https://github.com/aelsabbahy/goss/releases/latest/download/goss-linux-amd64 -o /usr/local/bin/goss \
&& chmod +rx /usr/local/bin/goss
CMD ["ansible-playbook", "--help"]

View File

@ -1,4 +1,4 @@
FROM alpine:3.14
FROM alpine:3.10
RUN apk add --no-cache ansible curl \
&& curl -L https://github.com/aelsabbahy/goss/releases/latest/download/goss-linux-amd64 -o /usr/local/bin/goss \

View File

@ -1,6 +1,6 @@
FROM archlinux:latest
FROM archlinux/base
RUN pacman -Syuu --noconfirm && pacman -S python python2 ansible sshpass git python-passlib python-netaddr curl --noconfirm \
RUN pacman -Syuu --noconfirm && pacman -S python ansible sshpass git python-passlib python-netaddr curl --noconfirm \
&& curl -L https://github.com/aelsabbahy/goss/releases/latest/download/goss-linux-amd64 -o /usr/local/bin/goss \
&& chmod +rx /usr/local/bin/goss

View File

@ -1,17 +1,10 @@
#!/bin/bash
cd ubuntu-18.04 && docker buildx build -t lerentis/ansible:ubuntu-18.04-dev --platform=linux/arm,linux/arm64,linux/amd64 . --push
cd ../ubuntu-16.04 && docker buildx build -t lerentis/ansible:ubuntu-16.04-dev --platform=linux/arm,linux/arm64,linux/amd64 . --push
cd ../alpine-3.14 && docker buildx build -t lerentis/ansible:alpine-3.14-dev --platform=linux/arm,linux/arm64,linux/amd64 . --push
cd ../alpine-3.15 && docker buildx build -t lerentis/ansible:alpine-3.15-dev --platform=linux/arm,linux/arm64,linux/amd64 . --push
cd ../ubuntu-20.04 && docker buildx build -t lerentis/ansible:ubuntu-20.04-dev --platform=linux/arm,linux/arm64,linux/amd64 . --push
cd ../ubuntu-22.04 && docker buildx build -t lerentis/ansible:ubuntu-22.04-dev --platform=linux/arm,linux/arm64,linux/amd64 . --push
cd ../fedora-34 && docker buildx build -t lerentis/ansible:fedora-34-dev --platform=linux/amd64 . --push
cd ../fedora-35 && docker buildx build -t lerentis/ansible:fedora-35-dev --platform=linux/amd64 . --push
cd ../fedora-36 && docker buildx build -t lerentis/ansible:fedora-36-dev --platform=linux/amd64 . --push
cd ../fedora-37 && docker buildx build -t lerentis/ansible:fedora-37-dev --platform=linux/amd64 . --push
cd ../debian-9 && docker buildx build -t lerentis/ansible:debian-9-dev --platform=linux/arm,linux/amd64 . --push
cd ../debian-8 && docker buildx build -t lerentis/ansible:debian-8-dev --platform=linux/arm,linux/amd64 . --push
cd ../debian-10 && docker buildx build -t lerentis/ansible:debian-10-dev --platform=linux/arm64,linux/amd64 . --push
cd ../centos-7 && docker buildx build -t lerentis/ansible:centos-7-dev --platform=linux/arm64,linux/amd64 . --push
cd ../almalinux-8 && docker buildx build -t lerentis/ansible:almalinux-8-dev --platform=linux/arm64,linux/amd64 . --push
cd ../arch && docker buildx build -t lerentis/ansible:arch-dev --platform=linux/arm,linux/amd64 . --push
cd ubuntu-18.04 && docker buildx build -t lerentis/ansible:ubuntu-18.04 --platform=linux/arm,linux/arm64,linux/amd64 . --push
cd ../ubuntu-16.04 && docker buildx build -t lerentis/ansible:ubuntu-16.04 --platform=linux/arm,linux/arm64,linux/amd64 . --push
cd ../alpine-3 && docker buildx build -t lerentis/ansible:alpine-3 --platform=linux/arm,linux/arm64,linux/amd64 . --push
cd ../ubuntu-14.04 && docker buildx build -t lerentis/ansible:ubuntu-14.04 --platform=linux/arm,linux/arm64,linux/amd64 . --push
cd ../fedora-24 && docker buildx build -t lerentis/ansible:fedora-24 --platform=linux/arm,linux/arm64,linux/amd64 . --push
cd ../debian-8 && docker buildx build -t lerentis/ansible:debian-8 --platform=linux/arm,linux/amd64 . --push
cd ../debian-7 && docker buildx build -t lerentis/ansible:debian-7 --platform=linux/arm,linux/amd64 . --push
cd ../centos-7 && docker buildx build -t lerentis/ansible:centos-7 --platform=linux/arm,linux/arm64,linux/amd64 . --push
cd ../arch && docker buildx build -t lerentis/ansible:arch --platform=linux/arm,linux/arm64,linux/amd64 . --push

View File

@ -1,7 +1,8 @@
FROM almalinux:8
FROM centos:8
RUN dnf -y install python3-pip epel-release \
&& dnf install -y ansible curl \
RUN dnf -y install python3-pip &&\
dnf -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm &&\
dnf install -y --enablerepo epel-playground ansible curl \
&& curl -L https://github.com/aelsabbahy/goss/releases/latest/download/goss-linux-amd64 -o /usr/local/bin/goss \
&& chmod +rx /usr/local/bin/goss \
&& touch ~/.netrc && chmod og-rw ~/.netrc \

View File

@ -13,7 +13,6 @@ RUN apt-get -q update \
curl \
ansible \
python \
ca-certificates \
&& curl -L https://github.com/aelsabbahy/goss/releases/latest/download/goss-linux-amd64 -o /usr/local/bin/goss \
&& chmod +rx /usr/local/bin/goss \
&& apt-get clean

View File

@ -1,123 +0,0 @@
{%- for pipeline in pipelines -%}
---
kind: pipeline
type: kubernetes
name: build-{{ pipeline.group }}
platform:
os: linux
arch: amd64
steps:
{% for tag in pipeline.tags %}
- name: build-{{ tag }}
image: plugins/kaniko
settings:
dockerfile: {{ tag }}/Dockerfile
password:
from_secret: docker_password
username:
from_secret: docker_username
repo: lerentis/ansible
tags:
- {{ tag }}-dev
when:
event:
- push
- pull_request
- cron
resources:
limits:
cpu: 200
memory: 1024MiB
{% endfor %}
{% endfor %}
{% for pipeline in pipelines %}
---
kind: pipeline
type: kubernetes
name: release-{{ pipeline.group }}
platform:
os: linux
arch: amd64
steps:
{% for tag in pipeline.tags %}
- name: release-{{ tag }}
image: plugins/kaniko
settings:
dockerfile: {{ tag }}/Dockerfile
password:
from_secret: docker_password
username:
from_secret: docker_username
repo: lerentis/ansible
tags:
- {{ tag }}
when:
event:
- tag
resources:
limits:
cpu: 200
memory: 1024MiB
{% endfor %}
{% endfor %}
---
kind: pipeline
type: kubernetes
name: notify-build
platform:
os: linux
arch: amd64
steps:
{% raw %}
- name: notify
image: appleboy/drone-telegram
settings:
message: "Commit {{ commit.message }} ran with build {{ build.number }} and finished with status {{ build.status }}."
to:
from_secret: telegram_userid
token:
from_secret: telegram_secret
when:
status:
- failure
- success
event:
- push
- pull_request
- cron{% endraw %}
depends_on: {% for pipeline in pipelines %}
- build-{{ pipeline.group }} {% endfor %}
---
kind: pipeline
type: kubernetes
name: notify-release
platform:
os: linux
arch: amd64
steps:
{% raw %}
- name: notify
image: appleboy/drone-telegram
settings:
message: "Release {{ build.tag }} ran with build {{ build.number }} and finished with status {{ build.status }}."
to:
from_secret: telegram_userid
token:
from_secret: telegram_secret
when:
status:
- failure
- success
event:
- tag {% endraw %}
depends_on:{% for pipeline in pipelines %}
- release-{{ pipeline.group }} {% endfor %}

View File

@ -1,4 +1,4 @@
FROM fedora:34
FROM fedora:24
RUN dnf -y install \
ansible \

View File

@ -1,11 +0,0 @@
FROM fedora:35
RUN dnf -y install \
ansible \
openssh-clients \
curl \
&& curl -L https://github.com/aelsabbahy/goss/releases/latest/download/goss-linux-amd64 -o /usr/local/bin/goss \
&& chmod +rx /usr/local/bin/goss \
&& dnf clean all
CMD ["ansible-playbook", "--help"]

View File

@ -1,11 +0,0 @@
FROM fedora:36
RUN dnf -y install \
ansible \
openssh-clients \
curl \
&& curl -L https://github.com/aelsabbahy/goss/releases/latest/download/goss-linux-amd64 -o /usr/local/bin/goss \
&& chmod +rx /usr/local/bin/goss \
&& dnf clean all
CMD ["ansible-playbook", "--help"]

View File

@ -1,11 +0,0 @@
FROM fedora:37
RUN dnf -y install \
ansible \
openssh-clients \
curl \
&& curl -L https://github.com/aelsabbahy/goss/releases/latest/download/goss-linux-amd64 -o /usr/local/bin/goss \
&& chmod +rx /usr/local/bin/goss \
&& dnf clean all
CMD ["ansible-playbook", "--help"]

View File

@ -1,52 +0,0 @@
#!/usr/bin/env python3
from jinja2 import Template, Environment, FileSystemLoader
pipelines = [
{
"group": "debian",
"tags": [
"ubuntu-22.04",
"ubuntu-20.04",
"ubuntu-18.04",
"ubuntu-16.04",
"ubuntu-14.04",
"debian-8",
"debian-9",
"debian-10"
]
},
{
"group": "rhel",
"tags": [
"almalinux-8",
"centos-7",
"fedora-34",
"fedora-35",
"fedora-36",
"fedora-37"
]
},
{
"group": "alpine",
"tags": [
"alpine-3.14",
"alpine-3.15"
]
},
{
"group": "arch",
"tags": [
"arch"
]
}
]
file_loader = FileSystemLoader('.')
env = Environment(loader=file_loader)
template = env.get_template('drone.yaml.j2')
output = template.render(pipelines=pipelines)
print(output)

View File

@ -1,16 +0,0 @@
FROM ubuntu:22.04
RUN apt-get update \
&& DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
software-properties-common \
apt-utils \
ansible \
python3-apt \
git-core \
openssh-client \
curl \
&& curl -L https://github.com/aelsabbahy/goss/releases/latest/download/goss-linux-amd64 -o /usr/local/bin/goss \
&& chmod +rx /usr/local/bin/goss \
&& apt-get clean
CMD ["ansible-playbook", "--help"]