Compare commits

..

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

14 changed files with 130 additions and 587 deletions

44
.drone.jsonnet Normal file
View File

@ -0,0 +1,44 @@
local Pipeline(tag) = {
kind: "pipeline",
type: "kubernetes",
name: tag + "build",
platform: {
os: "linux",
arch: "amd64",
},
steps: [
{
name: tag,
image: "plugins/kaniko",
settings: {
repo: "lerentis/ansible",
username: { "from_secret": "docker_username" },
password: { "from_secret": "docker_password" },
dockerfile: tag + "/Dockerfile",
tags: [ tag ],
},
resources: {
limits: {
cpu: "200",
memory: "1024MiB",
},
},
when: [ "push", "pull_request", "cron" ]
}
]
};
[
Pipeline("ubuntu-20.04"),
Pipeline("ubuntu-18.04"),
Pipeline("ubuntu-14.04"),
Pipeline("debian-8"),
Pipeline("debian-9"),
Pipeline("debian-10"),
Pipeline("centos-7"),
Pipeline("almalinux-8"),
Pipeline("fedora-24"),
Pipeline("alpine-3"),
Pipeline("arch"),
]

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
}

View File

@ -9,28 +9,7 @@ platform:
steps:
- name: build-ubuntu-22.04
image: plugins/kaniko
settings:
dockerfile: ubuntu-22.04/Dockerfile
password:
from_secret: docker_password
username:
from_secret: docker_username
repo: lerentis/ansible
tags:
- ubuntu-22.04-dev
when:
event:
- push
- pull_request
- cron
resources:
limits:
cpu: 200
memory: 1024MiB
- name: build-ubuntu-20.04
- name: build-ubuntu-20
image: plugins/kaniko
settings:
dockerfile: ubuntu-20.04/Dockerfile
@ -51,7 +30,7 @@ steps:
cpu: 200
memory: 1024MiB
- name: build-ubuntu-18.04
- name: build-ubuntu-18
image: plugins/kaniko
settings:
dockerfile: ubuntu-18.04/Dockerfile
@ -72,7 +51,7 @@ steps:
cpu: 200
memory: 1024MiB
- name: build-ubuntu-16.04
- name: build-ubuntu-16
image: plugins/kaniko
settings:
dockerfile: ubuntu-16.04/Dockerfile
@ -93,7 +72,7 @@ steps:
cpu: 200
memory: 1024MiB
- name: build-ubuntu-14.04
- name: build-ubuntu-14
image: plugins/kaniko
settings:
dockerfile: ubuntu-14.04/Dockerfile
@ -188,6 +167,27 @@ platform:
steps:
- name: build-fedora-24
image: plugins/kaniko
settings:
dockerfile: fedora-24/Dockerfile
password:
from_secret: docker_password
username:
from_secret: docker_username
repo: lerentis/ansible
tags:
- fedora-24-dev
when:
event:
- push
- pull_request
- cron
resources:
limits:
cpu: 200
memory: 1024MiB
- name: build-almalinux-8
image: plugins/kaniko
settings:
@ -230,90 +230,6 @@ steps:
cpu: 200
memory: 1024MiB
- name: build-fedora-34
image: plugins/kaniko
settings:
dockerfile: fedora-34/Dockerfile
password:
from_secret: docker_password
username:
from_secret: docker_username
repo: lerentis/ansible
tags:
- fedora-34-dev
when:
event:
- push
- pull_request
- cron
resources:
limits:
cpu: 200
memory: 1024MiB
- name: build-fedora-35
image: plugins/kaniko
settings:
dockerfile: fedora-35/Dockerfile
password:
from_secret: docker_password
username:
from_secret: docker_username
repo: lerentis/ansible
tags:
- fedora-35-dev
when:
event:
- push
- pull_request
- cron
resources:
limits:
cpu: 200
memory: 1024MiB
- name: build-fedora-36
image: plugins/kaniko
settings:
dockerfile: fedora-36/Dockerfile
password:
from_secret: docker_password
username:
from_secret: docker_username
repo: lerentis/ansible
tags:
- fedora-36-dev
when:
event:
- push
- pull_request
- cron
resources:
limits:
cpu: 200
memory: 1024MiB
- name: build-fedora-37
image: plugins/kaniko
settings:
dockerfile: fedora-37/Dockerfile
password:
from_secret: docker_password
username:
from_secret: docker_username
repo: lerentis/ansible
tags:
- fedora-37-dev
when:
event:
- push
- pull_request
- cron
resources:
limits:
cpu: 200
memory: 1024MiB
---
kind: pipeline
type: kubernetes
@ -325,38 +241,17 @@ platform:
steps:
- name: build-alpine-3.14
- name: build-alpine-3
image: plugins/kaniko
settings:
dockerfile: alpine-3.14/Dockerfile
dockerfile: alpine-3/Dockerfile
password:
from_secret: docker_password
username:
from_secret: docker_username
repo: lerentis/ansible
tags:
- alpine-3.14-dev
when:
event:
- push
- pull_request
- cron
resources:
limits:
cpu: 200
memory: 1024MiB
- name: build-alpine-3.15
image: plugins/kaniko
settings:
dockerfile: alpine-3.15/Dockerfile
password:
from_secret: docker_password
username:
from_secret: docker_username
repo: lerentis/ansible
tags:
- alpine-3.15-dev
- alpine-3-dev
when:
event:
- push
@ -399,8 +294,6 @@ steps:
cpu: 200
memory: 1024MiB
---
kind: pipeline
type: kubernetes
@ -412,26 +305,7 @@ platform:
steps:
- name: release-ubuntu-22.04
image: plugins/kaniko
settings:
dockerfile: ubuntu-22.04/Dockerfile
password:
from_secret: docker_password
username:
from_secret: docker_username
repo: lerentis/ansible
tags:
- ubuntu-22.04
when:
event:
- tag
resources:
limits:
cpu: 200
memory: 1024MiB
- name: release-ubuntu-20.04
- name: build-ubuntu-20-release
image: plugins/kaniko
settings:
dockerfile: ubuntu-20.04/Dockerfile
@ -450,7 +324,7 @@ steps:
cpu: 200
memory: 1024MiB
- name: release-ubuntu-18.04
- name: build-ubuntu-18-release
image: plugins/kaniko
settings:
dockerfile: ubuntu-18.04/Dockerfile
@ -469,7 +343,7 @@ steps:
cpu: 200
memory: 1024MiB
- name: release-ubuntu-16.04
- name: build-ubuntu-16-release
image: plugins/kaniko
settings:
dockerfile: ubuntu-16.04/Dockerfile
@ -488,7 +362,7 @@ steps:
cpu: 200
memory: 1024MiB
- name: release-ubuntu-14.04
- name: build-ubuntu-14-release
image: plugins/kaniko
settings:
dockerfile: ubuntu-14.04/Dockerfile
@ -507,7 +381,7 @@ steps:
cpu: 200
memory: 1024MiB
- name: release-debian-8
- name: build-debian-8-release
image: plugins/kaniko
settings:
dockerfile: debian-8/Dockerfile
@ -526,7 +400,7 @@ steps:
cpu: 200
memory: 1024MiB
- name: release-debian-9
- name: build-debian-9-release
image: plugins/kaniko
settings:
dockerfile: debian-9/Dockerfile
@ -545,7 +419,7 @@ steps:
cpu: 200
memory: 1024MiB
- name: release-debian-10
- name: build-debian-10-release
image: plugins/kaniko
settings:
dockerfile: debian-10/Dockerfile
@ -564,7 +438,6 @@ steps:
cpu: 200
memory: 1024MiB
---
kind: pipeline
type: kubernetes
@ -576,7 +449,26 @@ platform:
steps:
- name: release-almalinux-8
- name: build-fedora-24-release
image: plugins/kaniko
settings:
dockerfile: fedora-24/Dockerfile
password:
from_secret: docker_password
username:
from_secret: docker_username
repo: lerentis/ansible
tags:
- fedora-24
when:
event:
- tag
resources:
limits:
cpu: 200
memory: 1024MiB
- name: build-almalinux-8-release
image: plugins/kaniko
settings:
dockerfile: almalinux-8/Dockerfile
@ -595,7 +487,7 @@ steps:
cpu: 200
memory: 1024MiB
- name: release-centos-7
- name: build-centos-7-release
image: plugins/kaniko
settings:
dockerfile: centos-7/Dockerfile
@ -614,83 +506,6 @@ steps:
cpu: 200
memory: 1024MiB
- name: release-fedora-34
image: plugins/kaniko
settings:
dockerfile: fedora-34/Dockerfile
password:
from_secret: docker_password
username:
from_secret: docker_username
repo: lerentis/ansible
tags:
- fedora-34
when:
event:
- tag
resources:
limits:
cpu: 200
memory: 1024MiB
- name: release-fedora-35
image: plugins/kaniko
settings:
dockerfile: fedora-35/Dockerfile
password:
from_secret: docker_password
username:
from_secret: docker_username
repo: lerentis/ansible
tags:
- fedora-35
when:
event:
- tag
resources:
limits:
cpu: 200
memory: 1024MiB
- name: release-fedora-36
image: plugins/kaniko
settings:
dockerfile: fedora-36/Dockerfile
password:
from_secret: docker_password
username:
from_secret: docker_username
repo: lerentis/ansible
tags:
- fedora-36
when:
event:
- tag
resources:
limits:
cpu: 200
memory: 1024MiB
- name: release-fedora-37
image: plugins/kaniko
settings:
dockerfile: fedora-37/Dockerfile
password:
from_secret: docker_password
username:
from_secret: docker_username
repo: lerentis/ansible
tags:
- fedora-37
when:
event:
- tag
resources:
limits:
cpu: 200
memory: 1024MiB
---
kind: pipeline
type: kubernetes
@ -702,17 +517,17 @@ platform:
steps:
- name: release-alpine-3.14
- name: build-alpine-3-release
image: plugins/kaniko
settings:
dockerfile: alpine-3.14/Dockerfile
dockerfile: alpine-3/Dockerfile
password:
from_secret: docker_password
username:
from_secret: docker_username
repo: lerentis/ansible
tags:
- alpine-3.14
- alpine-3
when:
event:
- tag
@ -721,26 +536,6 @@ steps:
cpu: 200
memory: 1024MiB
- name: release-alpine-3.15
image: plugins/kaniko
settings:
dockerfile: alpine-3.15/Dockerfile
password:
from_secret: docker_password
username:
from_secret: docker_username
repo: lerentis/ansible
tags:
- alpine-3.15
when:
event:
- tag
resources:
limits:
cpu: 200
memory: 1024MiB
---
kind: pipeline
type: kubernetes
@ -752,7 +547,7 @@ platform:
steps:
- name: release-arch
- name: build-arch-release
image: plugins/kaniko
settings:
dockerfile: arch/Dockerfile
@ -771,7 +566,6 @@ steps:
cpu: 200
memory: 1024MiB
---
kind: pipeline
type: kubernetes
@ -799,11 +593,11 @@ steps:
- push
- pull_request
- cron
depends_on:
- build-debian
- build-rhel
- build-alpine
- build-arch
depends_on:
- build-arch
- build-alpine
- build-debian
- build-rhel
---
kind: pipeline
@ -829,9 +623,10 @@ steps:
- failure
- success
event:
- tag
- tag
depends_on:
- release-debian
- release-rhel
- release-alpine
- release-arch
- release-arch
- release-alpine
- release-debian
- release-rhel

View File

@ -8,19 +8,14 @@ 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
* arch
## run playbooks
@ -77,4 +72,4 @@ Note: /root/.ansible must not be an overlayfs, otherwise ssh accelerate won't wo
* [project](https://git.uploadfilter24.eu/lerentis/ansible)
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,17 +1,12 @@
#!/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-20.04 && docker buildx build -t lerentis/ansible:ubuntu-20.04 --platform=linux/arm,linux/arm64,linux/amd64 . --push
cd ../fedora-24 && docker buildx build -t lerentis/ansible:fedora-24 --platform=linux/amd64 . --push
cd ../debian-9 && docker buildx build -t lerentis/ansible:debian-9 --platform=linux/arm,linux/amd64 . --push
cd ../debian-8 && docker buildx build -t lerentis/ansible:debian-8 --platform=linux/arm,linux/amd64 . --push
cd ../debian-10 && docker buildx build -t lerentis/ansible:debian-10 --platform=linux/arm64,linux/amd64 . --push
cd ../centos-7 && docker buildx build -t lerentis/ansible:centos-7 --platform=linux/arm64,linux/amd64 . --push
cd ../almalinux-8 && docker buildx build -t lerentis/ansible:almalinux-8 --platform=linux/arm64,linux/amd64 . --push
cd ../arch && docker buildx build -t lerentis/ansible:arch --platform=linux/arm,linux/amd64 . --push

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:35
FROM fedora:24
RUN dnf -y install \
ansible \

View File

@ -1,11 +0,0 @@
FROM fedora:34
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"]