Compare commits

..

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

5 changed files with 260 additions and 310 deletions

View File

@ -3,20 +3,14 @@ kind: pipeline
type: kubernetes
name: linter
clone:
disable: true
platform:
os: linux
steps:
- name: clone
image: git.cryptic.systems/volker.raschek/git:1.3.1
- name: markdown lint
commands:
- markdownlint *.md
image: git.cryptic.systems/volker.raschek/markdownlint:0.41.0
image: docker.io/volkerraschek/markdownlint:0.33.0
resources:
limits:
cpu: 150
@ -34,7 +28,7 @@ steps:
from_secret: smtp_username
SMTP_PASSWORD:
from_secret: smtp_password
image: git.cryptic.systems/volker.raschek/drone-email:0.1.5
image: docker.io/volkerraschek/drone-email:0.1.1
resources:
limits:
cpu: 150
@ -54,38 +48,24 @@ kind: pipeline
type: docker
name: dry-run-amd64
clone:
disable: true
depends_on:
- linter
platform:
os: linux
arch: amd64
steps:
- name: clone
image: git.cryptic.systems/volker.raschek/git:1.3.1
- name: build
image: docker.io/plugins/docker:20.17.5
image: docker.io/plugins/docker:latest
settings:
auto_tag: false
dockerfile: Dockerfile
auto_tag: false
dry_run: true
force_tag: true
no_cache: true
purge: true
mirror:
from_secret: docker_io_mirror
registry: git.cryptic.systems
repo: git.cryptic.systems/volker.raschek/postfixadmin
tags: latest-amd64
repo: volkerraschek/markdownlint
username:
from_secret: git_cryptic_systems_container_registry_user
from_secret: container_image_registry_user
password:
from_secret: git_cryptic_systems_container_registry_password
from_secret: container_image_registry_password
no_cache: true
- name: email-notification
environment:
@ -99,12 +79,70 @@ steps:
from_secret: smtp_username
SMTP_PASSWORD:
from_secret: smtp_password
image: git.cryptic.systems/volker.raschek/drone-email:0.1.5
image: docker.io/volkerraschek/drone-email:0.1.1
when:
status:
- changed
- failure
depends_on:
- linter
trigger:
branch:
exclude:
- master
event:
- pull_request
- push
repo:
- volker.raschek/postfixadmin-docker
---
kind: pipeline
type: docker
name: dry-run-arm-v7
platform:
os: linux
arch: arm
steps:
- name: build
image: docker.io/plugins/docker:latest
settings:
dockerfile: Dockerfile
auto_tag: false
dry_run: true
tags: latest-arm-v7
repo: volkerraschek/postfixadmin
username:
from_secret: container_image_registry_user
password:
from_secret: container_image_registry_password
no_cache: true
- name: email-notification
environment:
SMTP_FROM_ADDRESS:
from_secret: smtp_from_address
SMTP_FROM_NAME:
from_secret: smtp_from_name
SMTP_HOST:
from_secret: smtp_host
SMTP_USERNAME:
from_secret: smtp_username
SMTP_PASSWORD:
from_secret: smtp_password
image: docker.io/volkerraschek/drone-email:0.1.1
when:
status:
- changed
- failure
depends_on:
- linter
trigger:
branch:
exclude:
@ -120,38 +158,24 @@ kind: pipeline
type: docker
name: dry-run-arm64-v8
clone:
disable: true
depends_on:
- linter
platform:
os: linux
arch: arm64
steps:
- name: clone
image: git.cryptic.systems/volker.raschek/git:1.3.1
- name: build
image: docker.io/plugins/docker:20.17.5
image: docker.io/plugins/docker:latest
settings:
auto_tag: false
dockerfile: Dockerfile
auto_tag: false
dry_run: true
force_tag: true
no_cache: true
purge: true
mirror:
from_secret: docker_io_mirror
registry: git.cryptic.systems
repo: git.cryptic.systems/volker.raschek/postfixadmin
tags: latest-arm64-v8
repo: volkerraschek/postfixadmin
username:
from_secret: git_cryptic_systems_container_registry_user
from_secret: container_image_registry_user
password:
from_secret: git_cryptic_systems_container_registry_password
from_secret: container_image_registry_password
no_cache: true
- name: email-notification
environment:
@ -165,12 +189,15 @@ steps:
from_secret: smtp_username
SMTP_PASSWORD:
from_secret: smtp_password
image: git.cryptic.systems/volker.raschek/drone-email:0.1.5
image: docker.io/volkerraschek/drone-email:0.1.1
when:
status:
- changed
- failure
depends_on:
- linter
trigger:
branch:
exclude:
@ -186,37 +213,23 @@ kind: pipeline
type: docker
name: latest-amd64
clone:
disable: true
depends_on:
- linter
platform:
os: linux
arch: amd64
steps:
- name: clone
image: git.cryptic.systems/volker.raschek/git:1.3.1
- name: build
image: docker.io/plugins/docker:20.17.5
image: docker.io/plugins/docker:latest
settings:
auto_tag: false
dockerfile: Dockerfile
force_tag: true
no_cache: true
purge: true
mirror:
from_secret: docker_io_mirror
registry: git.cryptic.systems
repo: git.cryptic.systems/volker.raschek/postfixadmin
auto_tag: false
tags: latest-amd64
repo: volkerraschek/postfixadmin
username:
from_secret: git_cryptic_systems_container_registry_user
from_secret: container_image_registry_user
password:
from_secret: git_cryptic_systems_container_registry_password
from_secret: container_image_registry_password
no_cache: true
- name: email-notification
environment:
@ -230,12 +243,68 @@ steps:
from_secret: smtp_username
SMTP_PASSWORD:
from_secret: smtp_password
image: git.cryptic.systems/volker.raschek/drone-email:0.1.5
image: docker.io/volkerraschek/drone-email:0.1.1
when:
status:
- changed
- failure
depends_on:
- linter
trigger:
branch:
- master
event:
- cron
- push
repo:
- volker.raschek/postfixadmin-docker
---
kind: pipeline
type: docker
name: latest-arm-v7
platform:
os: linux
arch: arm
steps:
- name: build
image: docker.io/plugins/docker:latest
settings:
dockerfile: Dockerfile
auto_tag: false
tags: latest-arm-v7
repo: volkerraschek/postfixadmin
username:
from_secret: container_image_registry_user
password:
from_secret: container_image_registry_password
no_cache: true
- name: email-notification
environment:
SMTP_FROM_ADDRESS:
from_secret: smtp_from_address
SMTP_FROM_NAME:
from_secret: smtp_from_name
SMTP_HOST:
from_secret: smtp_host
SMTP_USERNAME:
from_secret: smtp_username
SMTP_PASSWORD:
from_secret: smtp_password
image: docker.io/volkerraschek/drone-email:0.1.1
when:
status:
- changed
- failure
depends_on:
- linter
trigger:
branch:
- master
@ -250,37 +319,23 @@ kind: pipeline
type: docker
name: latest-arm64-v8
clone:
disable: true
depends_on:
- linter
platform:
os: linux
arch: arm64
steps:
- name: clone
image: git.cryptic.systems/volker.raschek/git:1.3.1
- name: build
image: docker.io/plugins/docker:20.17.5
image: docker.io/plugins/docker:latest
settings:
auto_tag: false
dockerfile: Dockerfile
force_tag: true
no_cache: true
purge: true
mirror:
from_secret: docker_io_mirror
registry: git.cryptic.systems
repo: git.cryptic.systems/volker.raschek/postfixadmin
auto_tag: false
tags: latest-arm64-v8
repo: volkerraschek/postfixadmin
username:
from_secret: git_cryptic_systems_container_registry_user
from_secret: container_image_registry_user
password:
from_secret: git_cryptic_systems_container_registry_password
from_secret: container_image_registry_password
no_cache: true
- name: email-notification
environment:
@ -294,12 +349,15 @@ steps:
from_secret: smtp_username
SMTP_PASSWORD:
from_secret: smtp_password
image: git.cryptic.systems/volker.raschek/drone-email:0.1.5
image: docker.io/volkerraschek/drone-email:0.1.1
when:
status:
- changed
- failure
depends_on:
- linter
trigger:
branch:
- master
@ -314,32 +372,17 @@ kind: pipeline
type: kubernetes
name: latest-manifest
clone:
disable: true
depends_on:
- latest-amd64
- latest-arm64-v8
# docker.io/plugins/manifest only for amd64 architectures available
node_selector:
kubernetes.io/os: linux
kubernetes.io/arch: amd64
steps:
- name: clone
image: git.cryptic.systems/volker.raschek/git:1.3.1
- name: build-manifest
image: docker.io/plugins/manifest:1.4.0
image: docker.io/plugins/manifest:latest
settings:
auto_tag: false
ignore_missing: true
spec: manifest.tmpl
username:
from_secret: git_cryptic_systems_container_registry_user
from_secret: container_image_registry_user
password:
from_secret: git_cryptic_systems_container_registry_password
from_secret: container_image_registry_password
- name: email-notification
environment:
@ -353,7 +396,7 @@ steps:
from_secret: smtp_username
SMTP_PASSWORD:
from_secret: smtp_password
image: git.cryptic.systems/volker.raschek/drone-email:0.1.5
image: docker.io/volkerraschek/drone-email:0.1.1
resources:
limits:
cpu: 150
@ -363,65 +406,10 @@ steps:
- changed
- failure
trigger:
branch:
- master
event:
- cron
- push
repo:
- volker.raschek/postfixadmin-docker
---
kind: pipeline
type: kubernetes
name: latest-sync
clone:
disable: true
depends_on:
- latest-manifest
steps:
- name: clone
image: git.cryptic.systems/volker.raschek/git:1.3.1
- name: latest-sync
commands:
- skopeo sync --all --src=docker --src-creds=$SRC_CRED_USERNAME:$SRC_CRED_PASSWORD --dest=docker --dest-creds=$DEST_CRED_USERNAME:$DEST_CRED_PASSWORD git.cryptic.systems/volker.raschek/postfixadmin docker.io/volkerraschek
environment:
SRC_CRED_USERNAME:
from_secret: git_cryptic_systems_container_registry_user
SRC_CRED_PASSWORD:
from_secret: git_cryptic_systems_container_registry_password
DEST_CRED_USERNAME:
from_secret: container_image_registry_user
DEST_CRED_PASSWORD:
from_secret: container_image_registry_password
image: quay.io/skopeo/stable:v1.15.0
- name: email-notification
environment:
SMTP_FROM_ADDRESS:
from_secret: smtp_from_address
SMTP_FROM_NAME:
from_secret: smtp_from_name
SMTP_HOST:
from_secret: smtp_host
SMTP_USERNAME:
from_secret: smtp_username
SMTP_PASSWORD:
from_secret: smtp_password
image: git.cryptic.systems/volker.raschek/drone-email:0.1.5
resources:
limits:
cpu: 150
memory: 150M
when:
status:
- changed
- failure
- latest-amd64
- latest-arm-v7
- latest-arm64-v8
trigger:
branch:
@ -437,36 +425,25 @@ kind: pipeline
type: docker
name: tagged-amd64
clone:
disable: true
platform:
os: linux
arch: amd64
steps:
- name: clone
image: git.cryptic.systems/volker.raschek/git:1.3.1
- name: build
image: docker.io/plugins/docker:20.17.5
image: docker.io/plugins/docker:latest
settings:
dockerfile: Dockerfile
auto_tag: true
auto_tag_suffix: amd64
dockerfile: Dockerfile
force_tag: true
no_cache: true
purge: true
mirror:
from_secret: docker_io_mirror
registry: git.cryptic.systems
repo: git.cryptic.systems/volker.raschek/postfixadmin
repo: volkerraschek/postfixadmin
username:
from_secret: git_cryptic_systems_container_registry_user
from_secret: container_image_registry_user
password:
from_secret: git_cryptic_systems_container_registry_password
from_secret: container_image_registry_password
build_args:
- POSTFIXADMIN_VERSION=${DRONE_TAG}
no_cache: true
- name: email-notification
environment:
@ -480,7 +457,56 @@ steps:
from_secret: smtp_username
SMTP_PASSWORD:
from_secret: smtp_password
image: git.cryptic.systems/volker.raschek/drone-email:0.1.5
image: docker.io/volkerraschek/drone-email:0.1.1
when:
status:
- changed
- failure
trigger:
event:
- tag
repo:
- volker.raschek/postfixadmin-docker
---
kind: pipeline
type: docker
name: tagged-arm-v7
platform:
os: linux
arch: arm
steps:
- name: build
image: docker.io/plugins/docker:latest
settings:
dockerfile: Dockerfile
auto_tag: true
auto_tag_suffix: arm-v7
repo: volkerraschek/postfixadmin
username:
from_secret: container_image_registry_user
password:
from_secret: container_image_registry_password
build_args:
- POSTFIXADMIN_VERSION=${DRONE_TAG}
no_cache: true
- name: email-notification
environment:
SMTP_FROM_ADDRESS:
from_secret: smtp_from_address
SMTP_FROM_NAME:
from_secret: smtp_from_name
SMTP_HOST:
from_secret: smtp_host
SMTP_USERNAME:
from_secret: smtp_username
SMTP_PASSWORD:
from_secret: smtp_password
image: docker.io/volkerraschek/drone-email:0.1.1
when:
status:
- changed
@ -497,36 +523,25 @@ kind: pipeline
type: docker
name: tagged-arm64-v8
clone:
disable: true
platform:
os: linux
arch: arm64
steps:
- name: clone
image: git.cryptic.systems/volker.raschek/git:1.3.1
- name: build
image: docker.io/plugins/docker:20.17.5
image: docker.io/plugins/docker:latest
settings:
dockerfile: Dockerfile
auto_tag: true
auto_tag_suffix: arm64-v8
dockerfile: Dockerfile
force_tag: true
no_cache: true
purge: true
mirror:
from_secret: docker_io_mirror
registry: git.cryptic.systems
repo: git.cryptic.systems/volker.raschek/postfixadmin
repo: volkerraschek/postfixadmin
username:
from_secret: git_cryptic_systems_container_registry_user
from_secret: container_image_registry_user
password:
from_secret: git_cryptic_systems_container_registry_password
from_secret: container_image_registry_password
build_args:
- POSTFIXADMIN_VERSION=${DRONE_TAG}
no_cache: true
- name: email-notification
environment:
@ -540,7 +555,7 @@ steps:
from_secret: smtp_username
SMTP_PASSWORD:
from_secret: smtp_password
image: git.cryptic.systems/volker.raschek/drone-email:0.1.5
image: docker.io/volkerraschek/drone-email:0.1.1
when:
status:
- changed
@ -557,32 +572,17 @@ kind: pipeline
type: kubernetes
name: tagged-manifest
clone:
disable: true
depends_on:
- tagged-amd64
- tagged-arm64-v8
# docker.io/plugins/manifest only for amd64 architectures available
node_selector:
kubernetes.io/os: linux
kubernetes.io/arch: amd64
steps:
- name: clone
image: git.cryptic.systems/volker.raschek/git:1.3.1
- name: build-manifest
image: docker.io/plugins/manifest:1.4.0
image: docker.io/plugins/manifest:latest
settings:
auto_tag: true
ignore_missing: true
spec: manifest.tmpl
username:
from_secret: git_cryptic_systems_container_registry_user
from_secret: container_image_registry_user
password:
from_secret: git_cryptic_systems_container_registry_password
from_secret: container_image_registry_password
- name: email-notification
environment:
@ -596,7 +596,7 @@ steps:
from_secret: smtp_username
SMTP_PASSWORD:
from_secret: smtp_password
image: git.cryptic.systems/volker.raschek/drone-email:0.1.5
image: docker.io/volkerraschek/drone-email:0.1.1
resources:
limits:
cpu: 150
@ -606,62 +606,10 @@ steps:
- changed
- failure
trigger:
event:
- tag
repo:
- volker.raschek/postfixadmin-docker
---
kind: pipeline
type: kubernetes
name: tagged-sync
clone:
disable: true
depends_on:
- tagged-manifest
steps:
- name: clone
image: git.cryptic.systems/volker.raschek/git:1.3.1
- name: tagged-sync
commands:
- skopeo sync --all --src=docker --src-creds=$SRC_CRED_USERNAME:$SRC_CRED_PASSWORD --dest=docker --dest-creds=$DEST_CRED_USERNAME:$DEST_CRED_PASSWORD git.cryptic.systems/volker.raschek/postfixadmin docker.io/volkerraschek
environment:
SRC_CRED_USERNAME:
from_secret: git_cryptic_systems_container_registry_user
SRC_CRED_PASSWORD:
from_secret: git_cryptic_systems_container_registry_password
DEST_CRED_USERNAME:
from_secret: container_image_registry_user
DEST_CRED_PASSWORD:
from_secret: container_image_registry_password
image: quay.io/skopeo/stable:v1.15.0
- name: email-notification
environment:
SMTP_FROM_ADDRESS:
from_secret: smtp_from_address
SMTP_FROM_NAME:
from_secret: smtp_from_name
SMTP_HOST:
from_secret: smtp_host
SMTP_USERNAME:
from_secret: smtp_username
SMTP_PASSWORD:
from_secret: smtp_password
image: git.cryptic.systems/volker.raschek/drone-email:0.1.5
resources:
limits:
cpu: 150
memory: 150M
when:
status:
- changed
- failure
- tagged-amd64
- tagged-arm-v7
- tagged-arm64-v8
trigger:
event:

View File

@ -128,8 +128,8 @@ MD041:
# MD044/proper-names - Proper names should have the correct capitalization
MD044:
# List of proper names
names: []
# - PostfixAdmin
names:
- PostfixAdmin
# Include code blocks
code_blocks: false

View File

@ -2,49 +2,51 @@
# Only required to install a specifiy version
POSTFIXADMIN_VERSION?=3.3.13
# PODMAN_BIN's and tools
PODMAN_BIN?=$(shell which podman)
# CONTAINER_RUNTIME
# The CONTAINER_RUNTIME variable will be used to specified the path to a
# container runtime. This is needed to start and run a container image.
CONTAINER_RUNTIME?=$(shell which podman)
# POSTFIXADMIN_IMAGE
POSTFIXADMIN_IMAGE_REGISTRY_HOST:=git.cryptic.systems
POSTFIXADMIN_IMAGE_REPOSITORY?=volker.raschek/postfixadmin
# POSTFIXADMIN_IMAGE_REGISTRY_NAME
# Defines the name of the new container to be built using several variables.
POSTFIXADMIN_IMAGE_REGISTRY_NAME:=docker.io
POSTFIXADMIN_IMAGE_REGISTRY_USER:=volkerraschek
POSTFIXADMIN_IMAGE_NAMESPACE?=${POSTFIXADMIN_IMAGE_REGISTRY_USER}
POSTFIXADMIN_IMAGE_NAME:=postfixadmin
POSTFIXADMIN_IMAGE_VERSION?=latest
POSTFIXADMIN_IMAGE_FULLY_QUALIFIED=${POSTFIXADMIN_IMAGE_REGISTRY_HOST}/${POSTFIXADMIN_IMAGE_REPOSITORY}:${POSTFIXADMIN_IMAGE_VERSION}
POSTFIXADMIN_IMAGE_FULLY_QUALIFIED=${POSTFIXADMIN_IMAGE_REGISTRY_NAME}/${POSTFIXADMIN_IMAGE_NAMESPACE}/${POSTFIXADMIN_IMAGE_NAME}:${POSTFIXADMIN_IMAGE_VERSION}
POSTFIXADMIN_IMAGE_UNQUALIFIED=${POSTFIXADMIN_IMAGE_NAMESPACE}/${POSTFIXADMIN_IMAGE_NAME}:${POSTFIXADMIN_IMAGE_VERSION}
# BUILD CONTAINER IMAGE
# ==============================================================================
PHONY:=container-image/build
container-image/build:
${PODMAN_BIN} build \
${CONTAINER_RUNTIME} build \
--build-arg POSTFIXADMIN_VERSION=${POSTFIXADMIN_VERSION} \
--file Dockerfile \
--no-cache \
--pull \
--tag ${POSTFIXADMIN_IMAGE_FULLY_QUALIFIED} \
--tag ${POSTFIXADMIN_IMAGE_UNQUALIFIED} \
.
# DELETE CONTAINER IMAGE
# ==============================================================================
PHONY:=container-image/delete
container-image/delete:
- ${PODMAN_BIN} image rm ${POSTFIXADMIN_IMAGE_FULLY_QUALIFIED}
- ${CONTAINER_RUNTIME} image rm ${POSTFIXADMIN_IMAGE_FULLY_QUALIFIED} ${POSTFIXADMIN_IMAGE_UNQUALIFIED}
- ${CONTAINER_RUNTIME} image rm ${PHP_IMAGE_FULL}
# PUSH CONTAINER IMAGE
# ==============================================================================
PHONY+=container-image/push
container-image/push:
echo ${POSTFIXADMIN_IMAGE_REGISTRY_PASSWORD} | ${PODMAN_BIN} login ${POSTFIXADMIN_IMAGE_REGISTRY_NAME} --username ${POSTFIXADMIN_IMAGE_REGISTRY_USER} --password-stdin
${PODMAN_BIN} push ${POSTFIXADMIN_IMAGE_FULLY_QUALIFIED}
${PODMAN_BIN} logout ${POSTFIXADMIN_IMAGE_REGISTRY_HOST}
# PUSH CONTAINER IMAGE TO DOCKER
# ==============================================================================
PHONY+=container-image/push-to-docker-daemon
container-image/push-to-docker-daemon:
${PODMAN_BIN} push ${POSTFIXADMIN_IMAGE_FULLY_QUALIFIED} docker-daemon:${POSTFIXADMIN_IMAGE_FULLY_QUALIFIED}
echo ${POSTFIXADMIN_IMAGE_REGISTRY_PASSWORD} | ${CONTAINER_RUNTIME} login ${POSTFIXADMIN_IMAGE_REGISTRY_NAME} --username ${POSTFIXADMIN_IMAGE_REGISTRY_USER} --password-stdin
${CONTAINER_RUNTIME} push ${POSTFIXADMIN_IMAGE_FULLY_QUALIFIED}
# PHONY
# ==============================================================================
# Declare the contents of the PHONY variable as phony. We keep that information
# in a variable so we can use it in if_changed.
.PHONY: ${PHONY}
.PHONY: ${PHONY}

View File

@ -1,4 +1,4 @@
image: git.cryptic.systems/volker.raschek/postfixadmin:{{#if build.tag}}{{trimPrefix "v" build.tag}}{{else}}latest{{/if}}
image: volkerraschek/postfixadmin:{{#if build.tag}}{{trimPrefix "v" build.tag}}{{else}}latest{{/if}}
{{#if build.tags}}
tags:
{{#each build.tags}}
@ -8,12 +8,18 @@ tags:
{{/if}}
manifests:
-
image: git.cryptic.systems/volker.raschek/postfixadmin:{{#if build.tag}}{{trimPrefix "v" build.tag}}{{else}}latest{{/if}}-amd64
image: volkerraschek/postfixadmin:{{#if build.tag}}{{trimPrefix "v" build.tag}}{{else}}latest{{/if}}-amd64
platform:
architecture: amd64
os: linux
-
image: git.cryptic.systems/volker.raschek/postfixadmin:{{#if build.tag}}{{trimPrefix "v" build.tag}}{{else}}latest{{/if}}-arm64-v8
image: volkerraschek/postfixadmin:{{#if build.tag}}{{trimPrefix "v" build.tag}}{{else}}latest{{/if}}-armv7
platform:
architecture: arm
os: linux
variant: v7
-
image: volkerraschek/postfixadmin:{{#if build.tag}}{{trimPrefix "v" build.tag}}{{else}}latest{{/if}}-arm64-v8
platform:
architecture: arm64
os: linux

View File

@ -1,6 +1,8 @@
{
"$schema": "https://docs.renovatebot.com/renovate-schema.json",
"assignees": [ "volker.raschek" ],
"automergeStrategy": "merge-commit",
"automergeType": "pr",
"labels": [ "renovate" ],
"packageRules": [
{
@ -9,14 +11,6 @@
"matchManagers": "droneci",
"matchUpdateTypes": [ "minor", "patch"]
},
{
"description": "Automatically update patch version of used container images in docker files",
"addLabels": [ "renovate/container-image", "renovate/automerge" ],
"automerge": true,
"matchBaseBranches": [ "master" ],
"matchManagers": [ "dockerfile" ],
"matchUpdateTypes": [ "patch" ]
},
{
"description": "Trim leading postfixadmin- from git tag",
"addLabels": [ "renovate/postfixadmin" ],