Compare commits

..

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

8 changed files with 212 additions and 506 deletions

View File

@ -3,42 +3,35 @@ kind: pipeline
type: kubernetes type: kubernetes
name: linter name: linter
clone:
disable: true
platform: platform:
os: linux os: linux
arch: amd64
steps: steps:
- name: clone
image: git.cryptic.systems/volker.raschek/git:1.4.0
- name: markdown lint - name: markdown lint
commands: commands:
- markdownlint *.md - markdownlint *.md
image: git.cryptic.systems/volker.raschek/markdownlint:0.43.0 image: docker.io/volkerraschek/markdownlint:0.28.1
resources: resources:
limits: limits:
cpu: 150 cpu: 50
memory: 150M memory: 50M
- name: email-notification - name: email-notification
environment: environment:
SMTP_FROM_ADDRESS: PLUGIN_HOST:
from_secret: smtp_from_address
SMTP_FROM_NAME:
from_secret: smtp_from_name
SMTP_HOST:
from_secret: smtp_host from_secret: smtp_host
SMTP_USERNAME: PLUGIN_USERNAME:
from_secret: smtp_username from_secret: smtp_username
SMTP_PASSWORD: PLUGIN_PASSWORD:
from_secret: smtp_password from_secret: smtp_password
image: git.cryptic.systems/volker.raschek/drone-email:0.1.5 PLUGIN_FROM:
from_secret: smtp_mail_address
image: docker.io/drillster/drone-email:latest
resources: resources:
limits: limits:
cpu: 150 cpu: 50
memory: 150M memory: 25M
when: when:
status: status:
- changed - changed
@ -48,442 +41,209 @@ trigger:
event: event:
exclude: exclude:
- tag - tag
---
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.4.0
- name: build
image: docker.io/plugins/docker:20.18.6
settings:
auto_tag: false
dockerfile: Dockerfile
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-fetchmail
tags: latest-amd64
username:
from_secret: git_cryptic_systems_container_registry_user
password:
from_secret: git_cryptic_systems_container_registry_password
- 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
when:
status:
- changed
- failure
trigger:
branch:
exclude:
- master
event:
- pull_request
- push
repo:
- volker.raschek/postfixadmin-fetchmail-docker
---
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.4.0
- name: build
image: docker.io/plugins/docker:20.18.6
settings:
auto_tag: false
dockerfile: Dockerfile
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-fetchmail
tags: latest-arm64-v8
username:
from_secret: git_cryptic_systems_container_registry_user
password:
from_secret: git_cryptic_systems_container_registry_password
- 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
when:
status:
- changed
- failure
trigger:
branch:
exclude:
- master
event:
- pull_request
- push
repo:
- volker.raschek/postfixadmin-fetchmail-docker
--- ---
kind: pipeline kind: pipeline
type: docker type: docker
name: latest-amd64 name: latest-amd64
clone:
disable: true
depends_on:
- linter
platform: platform:
os: linux os: linux
arch: amd64 arch: amd64
steps: steps:
- name: clone
image: git.cryptic.systems/volker.raschek/git:1.4.0
- name: build - name: build
image: docker.io/plugins/docker:20.18.6 image: plugins/docker
settings: settings:
auto_tag: false
dockerfile: Dockerfile dockerfile: Dockerfile
force_tag: true auto_tag: false
no_cache: true
purge: true
mirror:
from_secret: docker_io_mirror
registry: git.cryptic.systems
repo: git.cryptic.systems/volker.raschek/postfixadmin-fetchmail
tags: latest-amd64 tags: latest-amd64
repo: volkerraschek/postfixadmin-fetchmail
username: username:
from_secret: git_cryptic_systems_container_registry_user from_secret: container_image_registry_user
password: password:
from_secret: git_cryptic_systems_container_registry_password from_secret: container_image_registry_password
no_cache: true
volumes:
- name: docker_socket
path: /var/run/docker.sock
when:
branch:
- master
- name: email-notification - name: notify
image: drillster/drone-email
environment: environment:
SMTP_FROM_ADDRESS: PLUGIN_HOST:
from_secret: smtp_from_address
SMTP_FROM_NAME:
from_secret: smtp_from_name
SMTP_HOST:
from_secret: smtp_host from_secret: smtp_host
SMTP_USERNAME: PLUGIN_USERNAME:
from_secret: smtp_username from_secret: smtp_username
SMTP_PASSWORD: PLUGIN_PASSWORD:
from_secret: smtp_password from_secret: smtp_password
image: git.cryptic.systems/volker.raschek/drone-email:0.1.5 PLUGIN_FROM:
from_secret: smtp_mail_address
when: when:
status: status:
- changed - changed
- failure - failure
volumes:
- name: docker_socket
host:
path: /var/run/docker.sock
trigger: trigger:
branch:
- master
event: event:
- cron exclude:
- push - tag
repo:
- volker.raschek/postfixadmin-fetchmail-docker
--- ---
kind: pipeline kind: pipeline
type: docker type: docker
name: latest-arm64-v8 name: latest-armv7
clone:
disable: true
depends_on:
- linter
platform: platform:
os: linux os: linux
arch: arm64 arch: arm
steps: steps:
- name: clone
image: git.cryptic.systems/volker.raschek/git:1.4.0
- name: build - name: build
image: docker.io/plugins/docker:20.18.6 image: plugins/docker
settings: settings:
auto_tag: false
dockerfile: Dockerfile dockerfile: Dockerfile
force_tag: true auto_tag: false
no_cache: true tags: latest-armv7
purge: true repo: volkerraschek/postfixadmin-fetchmail
mirror:
from_secret: docker_io_mirror
registry: git.cryptic.systems
repo: git.cryptic.systems/volker.raschek/postfixadmin-fetchmail
tags: latest-arm64-v8
username: username:
from_secret: git_cryptic_systems_container_registry_user from_secret: container_image_registry_user
password: password:
from_secret: git_cryptic_systems_container_registry_password from_secret: container_image_registry_password
no_cache: true
when:
branch:
- master
- name: email-notification - name: notify
image: drillster/drone-email
environment: environment:
SMTP_FROM_ADDRESS: PLUGIN_HOST:
from_secret: smtp_from_address
SMTP_FROM_NAME:
from_secret: smtp_from_name
SMTP_HOST:
from_secret: smtp_host from_secret: smtp_host
SMTP_USERNAME: PLUGIN_USERNAME:
from_secret: smtp_username from_secret: smtp_username
SMTP_PASSWORD: PLUGIN_PASSWORD:
from_secret: smtp_password from_secret: smtp_password
image: git.cryptic.systems/volker.raschek/drone-email:0.1.5 PLUGIN_FROM:
from_secret: smtp_mail_address
volumes:
- name: docker_socket
path: /var/run/docker.sock
when: when:
status: status:
- changed - changed
- failure - failure
volumes:
- name: docker_socket
host:
path: /var/run/docker.sock
trigger: trigger:
branch:
- master
event: event:
- cron exclude:
- push - tag
repo:
- volker.raschek/postfixadmin-fetchmail-docker
--- ---
kind: pipeline kind: pipeline
type: kubernetes type: kubernetes
name: latest-manifest 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: steps:
- name: clone
image: git.cryptic.systems/volker.raschek/git:1.4.0
- name: build-manifest - name: build-manifest
image: docker.io/plugins/manifest:1.4.0 image: plugins/manifest
settings: settings:
auto_tag: false auto_tag: false
ignore_missing: true ignore_missing: true
spec: manifest.tmpl spec: manifest.tmpl
username: username:
from_secret: git_cryptic_systems_container_registry_user from_secret: container_image_registry_user
password: password:
from_secret: git_cryptic_systems_container_registry_password from_secret: container_image_registry_password
- name: email-notification - name: notify
image: docker.io/drillster/drone-email:latest
environment: environment:
SMTP_FROM_ADDRESS: PLUGIN_HOST:
from_secret: smtp_from_address
SMTP_FROM_NAME:
from_secret: smtp_from_name
SMTP_HOST:
from_secret: smtp_host from_secret: smtp_host
SMTP_USERNAME: PLUGIN_USERNAME:
from_secret: smtp_username from_secret: smtp_username
SMTP_PASSWORD: PLUGIN_PASSWORD:
from_secret: smtp_password from_secret: smtp_password
image: git.cryptic.systems/volker.raschek/drone-email:0.1.5 PLUGIN_FROM:
from_secret: smtp_mail_address
resources: resources:
limits: limits:
cpu: 150 cpu: 50
memory: 150M memory: 25M
when: when:
status: status:
- changed - changed
- failure - failure
trigger:
branch:
- master
event:
- cron
- push
repo:
- volker.raschek/postfixadmin-fetchmail-docker
---
kind: pipeline
type: kubernetes
name: latest-sync
clone:
disable: true
depends_on: depends_on:
- latest-manifest - latest-amd64
- latest-armv7
steps:
- name: clone
image: git.cryptic.systems/volker.raschek/git:1.4.0
- 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-fetchmail 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.18.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
trigger: trigger:
branch:
- master
event: event:
- cron exclude:
- push - tag
repo:
- volker.raschek/postfixadmin-fetchmail-docker
--- ---
kind: pipeline kind: pipeline
type: docker type: docker
name: tagged-amd64 name: tagged-amd64
clone:
disable: true
platform: platform:
os: linux os: linux
arch: amd64 arch: amd64
steps: steps:
- name: clone
image: git.cryptic.systems/volker.raschek/git:1.4.0
- name: build - name: build
image: docker.io/plugins/docker:20.18.6 image: plugins/docker
settings: settings:
dockerfile: Dockerfile
auto_tag: true auto_tag: true
auto_tag_suffix: amd64 auto_tag_suffix: amd64
dockerfile: Dockerfile repo: volkerraschek/postfixadmin-fetchmail
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-fetchmail
username: username:
from_secret: git_cryptic_systems_container_registry_user from_secret: container_image_registry_user
password: password:
from_secret: git_cryptic_systems_container_registry_password from_secret: container_image_registry_password
no_cache: true
volumes:
- name: docker_socket
path: /var/run/docker.sock
- name: email-notification - name: notify
image: drillster/drone-email
environment: environment:
SMTP_FROM_ADDRESS: PLUGIN_HOST:
from_secret: smtp_from_address
SMTP_FROM_NAME:
from_secret: smtp_from_name
SMTP_HOST:
from_secret: smtp_host from_secret: smtp_host
SMTP_USERNAME: PLUGIN_USERNAME:
from_secret: smtp_username from_secret: smtp_username
SMTP_PASSWORD: PLUGIN_PASSWORD:
from_secret: smtp_password from_secret: smtp_password
image: git.cryptic.systems/volker.raschek/drone-email:0.1.5 PLUGIN_FROM:
from_secret: smtp_mail_address
when: when:
status: status:
- changed - changed
- failure - failure
volumes:
- name: docker_socket
host:
path: /var/run/docker.sock
trigger: trigger:
event: event:
- tag - tag
@ -493,55 +253,50 @@ trigger:
--- ---
kind: pipeline kind: pipeline
type: docker type: docker
name: tagged-arm64-v8 name: tagged-armv7
clone:
disable: true
platform: platform:
os: linux os: linux
arch: arm64 arch: arm
steps: steps:
- name: clone
image: git.cryptic.systems/volker.raschek/git:1.4.0
- name: build - name: build
image: docker.io/plugins/docker:20.18.6 image: plugins/docker
settings: settings:
auto_tag: true
auto_tag_suffix: arm64-v8
dockerfile: Dockerfile dockerfile: Dockerfile
force_tag: true auto_tag: true
no_cache: true auto_tag_suffix: armv7
purge: true repo: volkerraschek/postfixadmin-fetchmail
mirror:
from_secret: docker_io_mirror
registry: git.cryptic.systems
repo: git.cryptic.systems/volker.raschek/postfixadmin-fetchmail
username: username:
from_secret: git_cryptic_systems_container_registry_user from_secret: container_image_registry_user
password: password:
from_secret: git_cryptic_systems_container_registry_password from_secret: container_image_registry_password
no_cache: true
volumes:
- name: docker_socket
path: /var/run/docker.sock
- name: email-notification - name: notify
image: drillster/drone-email
environment: environment:
SMTP_FROM_ADDRESS: PLUGIN_HOST:
from_secret: smtp_from_address
SMTP_FROM_NAME:
from_secret: smtp_from_name
SMTP_HOST:
from_secret: smtp_host from_secret: smtp_host
SMTP_USERNAME: PLUGIN_USERNAME:
from_secret: smtp_username from_secret: smtp_username
SMTP_PASSWORD: PLUGIN_PASSWORD:
from_secret: smtp_password from_secret: smtp_password
image: git.cryptic.systems/volker.raschek/drone-email:0.1.5 PLUGIN_FROM:
from_secret: smtp_mail_address
when: when:
status: status:
- changed - changed
- failure - failure
volumes:
- name: docker_socket
host:
path: /var/run/docker.sock
trigger: trigger:
event: event:
- tag - tag
@ -553,55 +308,42 @@ kind: pipeline
type: kubernetes type: kubernetes
name: tagged-manifest 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: steps:
- name: clone
image: git.cryptic.systems/volker.raschek/git:1.4.0
- name: build-manifest - name: build-manifest
image: docker.io/plugins/manifest:1.4.0 image: plugins/manifest
settings: settings:
auto_tag: true auto_tag: true
ignore_missing: true ignore_missing: true
spec: manifest.tmpl spec: manifest.tmpl
username: username:
from_secret: git_cryptic_systems_container_registry_user from_secret: container_image_registry_user
password: password:
from_secret: git_cryptic_systems_container_registry_password from_secret: container_image_registry_password
- name: email-notification - name: notify
image: docker.io/drillster/drone-email:latest
environment: environment:
SMTP_FROM_ADDRESS: PLUGIN_HOST:
from_secret: smtp_from_address
SMTP_FROM_NAME:
from_secret: smtp_from_name
SMTP_HOST:
from_secret: smtp_host from_secret: smtp_host
SMTP_USERNAME: PLUGIN_USERNAME:
from_secret: smtp_username from_secret: smtp_username
SMTP_PASSWORD: PLUGIN_PASSWORD:
from_secret: smtp_password from_secret: smtp_password
image: git.cryptic.systems/volker.raschek/drone-email:0.1.5 PLUGIN_FROM:
from_secret: smtp_mail_address
resources: resources:
limits: limits:
cpu: 150 cpu: 50
memory: 150M memory: 25M
when: when:
status: status:
- changed - changed
- failure - failure
depends_on:
- tagged-amd64
- tagged-armv7
trigger: trigger:
event: event:
- tag - tag
@ -611,49 +353,41 @@ trigger:
--- ---
kind: pipeline kind: pipeline
type: kubernetes type: kubernetes
name: tagged-sync name: sync
clone: platform:
disable: true os: linux
arch: amd64
depends_on:
- tagged-manifest
steps: steps:
- name: clone - name: github
image: git.cryptic.systems/volker.raschek/git:1.4.0 image: docker.io/appleboy/drone-git-push:latest
resources:
- name: tagged-sync limits:
commands: cpu: 50
- 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-fetchmail docker.io/volkerraschek memory: 25M
environment: settings:
SRC_CRED_USERNAME: branch: master
from_secret: git_cryptic_systems_container_registry_user remote: ssh://git@github.com/volker-raschek/fetchmail-docker.git
SRC_CRED_PASSWORD: force: true
from_secret: git_cryptic_systems_container_registry_password ssh_key:
DEST_CRED_USERNAME: from_secret: ssh_key
from_secret: container_image_registry_user
DEST_CRED_PASSWORD:
from_secret: container_image_registry_password
image: quay.io/skopeo/stable:v1.18.0
- name: email-notification - name: email-notification
environment: environment:
SMTP_FROM_ADDRESS: PLUGIN_HOST:
from_secret: smtp_from_address
SMTP_FROM_NAME:
from_secret: smtp_from_name
SMTP_HOST:
from_secret: smtp_host from_secret: smtp_host
SMTP_USERNAME: PLUGIN_USERNAME:
from_secret: smtp_username from_secret: smtp_username
SMTP_PASSWORD: PLUGIN_PASSWORD:
from_secret: smtp_password from_secret: smtp_password
image: git.cryptic.systems/volker.raschek/drone-email:0.1.5 PLUGIN_FROM:
from_secret: smtp_mail_address
image: docker.io/drillster/drone-email:latest
resources: resources:
limits: limits:
cpu: 150 cpu: 50
memory: 150M memory: 25M
when: when:
status: status:
- changed - changed
@ -661,6 +395,6 @@ steps:
trigger: trigger:
event: event:
- tag - push
repo: repo:
- volker.raschek/postfixadmin-fetchmail-docker - volker.raschek/postfixadmin-fetchmail-docker

View File

@ -1,28 +1,12 @@
FROM docker.io/library/alpine:3.21.3 FROM docker.io/library/alpine:3.11.2
# The file /etc/apk/repositories contains a list of the apk repositories. By
# default contains this file a list of the stable repositories pointing to the
# alpine version.
#
# Some perl packages are not part of the stable repositories. For this reason
# are the repositories switched to edge to access directly the latest versions
# of this apk packages.
#
# Using stable and edge at the same time is not allowed. For more information,
# take a look into the documentation of the edge repository.
#
# https://wiki.alpinelinux.org/wiki/Repositories#Edge
RUN echo "https://dl-cdn.alpinelinux.org/alpine/edge/main" > /etc/apk/repositories
RUN echo "https://dl-cdn.alpinelinux.org/alpine/edge/community" >> /etc/apk/repositories
# Install packages
RUN apk upgrade && \
apk add --update perl perl-lockfile-simple perl-dbi perl-dbd-pg perl-dbd-mysql fetchmail
RUN echo "http://dl-3.alpinelinux.org/alpine/edge/testing/" >> /etc/apk/repositories
RUN apk add --update perl perl-lockfile-simple perl-dbi perl-dbd-pg perl-dbd-mysql fetchmail
RUN mkdir --parents /run/fetchmail RUN mkdir --parents /run/fetchmail
COPY --chown=fetchmail:fetchmail fetchmail.pl /usr/local/bin/fetchmail.pl COPY --chown=fetchmail:fetchmail fetchmail.pl /usr/local/bin/fetchmail.pl
USER fetchmail USER fetchmail
ENTRYPOINT [ "/usr/bin/perl" ]
CMD [ "/usr/local/bin/fetchmail.pl" ] CMD [ "/usr/local/bin/fetchmail.pl" ]

View File

@ -1,42 +1,44 @@
# PODMAN_BIN's and tools # CONTAINER_RUNTIME
PODMAN_BIN?=$(shell which podman) # 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 docker)
# FETCHMAIL_IMAGE # FETCHMAIL_IMAGE_REGISTRY_NAME
FETCHMAIL_IMAGE_REGISTRY_HOST?=git.cryptic.systems # Defines the name of the new container to be built using several variables.
FETCHMAIL_IMAGE_REPOSITORY?=volker.raschek/postfixadmin-fetchmail FETCHMAIL_IMAGE_REGISTRY_NAME:=docker.io
FETCHMAIL_IMAGE_REGISTRY_USER:=volkerraschek
FETCHMAIL_IMAGE_NAMESPACE?=${FETCHMAIL_IMAGE_REGISTRY_USER}
FETCHMAIL_IMAGE_NAME:=fetchmail
FETCHMAIL_IMAGE_VERSION?=latest FETCHMAIL_IMAGE_VERSION?=latest
FETCHMAIL_IMAGE_FULLY_QUALIFIED=${FETCHMAIL_IMAGE_REGISTRY_HOST}/${FETCHMAIL_IMAGE_REPOSITORY}:${FETCHMAIL_IMAGE_VERSION} FETCHMAIL_IMAGE_FULLY_QUALIFIED=${FETCHMAIL_IMAGE_REGISTRY_NAME}/${FETCHMAIL_IMAGE_NAMESPACE}/${FETCHMAIL_IMAGE_NAME}:${FETCHMAIL_IMAGE_VERSION}
FETCHMAIL_IMAGE_UNQUALIFIED=${FETCHMAIL_IMAGE_NAMESPACE}/${FETCHMAIL_IMAGE_NAME}:${FETCHMAIL_IMAGE_VERSION}
# BUILD CONTAINER IMAGE # BUILD CONTAINER IMAGE
# ============================================================================== # ==============================================================================
PHONY:=container-image/build PHONY:=container-image/build
container-image/build: container-image/build:
${PODMAN_BIN} build \ ${CONTAINER_RUNTIME} build \
--file Dockerfile \ --file Dockerfile \
--no-cache \ --no-cache \
--pull \ --pull \
--tag ${FETCHMAIL_IMAGE_FULLY_QUALIFIED} \ --tag ${FETCHMAIL_IMAGE_FULLY_QUALIFIED} \
--tag ${FETCHMAIL_IMAGE_UNQUALIFIED} \
. .
# DELETE CONTAINER IMAGE # DELETE CONTAINER IMAGE
# ============================================================================== # ==============================================================================
PHONY:=container-image/delete PHONY:=container-image/delete
container-image/delete: container-image/delete:
- ${PODMAN_BIN} image rm ${FETCHMAIL_IMAGE_FULLY_QUALIFIED} - ${CONTAINER_RUNTIME} image rm ${FETCHMAIL_IMAGE_FULLY_QUALIFIED} ${FETCHMAIL_IMAGE_UNQUALIFIED}
- ${CONTAINER_RUNTIME} image rm ${BASE_IMAGE_FULL}
# PUSH CONTAINER IMAGE # PUSH CONTAINER IMAGE
# ============================================================================== # ==============================================================================
PHONY+=container-image/push PHONY+=container-image/push
container-image/push: container-image/push:
echo ${FETCHMAIL_IMAGE_REGISTRY_PASSWORD} | ${PODMAN_BIN} login ${FETCHMAIL_IMAGE_REGISTRY_HOST} --username ${FETCHMAIL_IMAGE_REGISTRY_USER} --password-stdin echo ${FETCHMAIL_IMAGE_REGISTRY_PASSWORD} | ${CONTAINER_RUNTIME} login ${FETCHMAIL_IMAGE_REGISTRY_NAME} --username ${FETCHMAIL_IMAGE_REGISTRY_USER} --password-stdin
${PODMAN_BIN} push ${FETCHMAIL_IMAGE_FULLY_QUALIFIED} ${CONTAINER_RUNTIME} push ${FETCHMAIL_IMAGE_FULLY_QUALIFIED}
${PODMAN_BIN} logout ${FETCHMAIL_IMAGE_REGISTRY_HOST}
# PUSH CONTAINER IMAGE TO DOCKER
# ==============================================================================
PHONY+=container-image/push-to-docker-daemon
container-image/push-to-docker-daemon:
${PODMAN_BIN} push ${FETCHMAIL_IMAGE_FULLY_QUALIFIED} docker-daemon:${FETCHMAIL_IMAGE_FULLY_QUALIFIED}
# PHONY # PHONY
# ============================================================================== # ==============================================================================

View File

@ -1,12 +1,11 @@
# PostfixAdmin's fetchmail # PostfixAdmin's fetchmail
[![Build Status](https://drone.cryptic.systems/api/badges/volker.raschek/postfixadmin-fetchmail-docker/status.svg)](https://drone.cryptic.systems/volker.raschek/postfixadmin-fetchmail-docker) [![Build Status](https://drone.cryptic.systems/api/badges/volker.raschek/fetchmail-docker/status.svg)](https://drone.cryptic.systems/volker.raschek/fetchmail-docker)
[![Docker Pulls](https://img.shields.io/docker/pulls/volkerraschek/postfixadmin-fetchmail)](https://hub.docker.com/r/volkerraschek/postfixadmin-fetchmail) [![Docker Pulls](https://img.shields.io/docker/pulls/volkerraschek/fetchmail)](https://hub.docker.com/r/volkerraschek/fetchmail)
This project contains all sources to build the container image This project contains all sources to build the container image
`docker.io/volkerraschek/postfixadmin-fetchmail`. The primary goal of the image `docker.io/volkerraschek/fetchmail`. The primary goal of the image is to fetch
is to fetch mails from external servers and forward them to on local running mails from external servers and forward them to on local running mail server.
mail server.
The configuration file will be automatically generated based on information from The configuration file will be automatically generated based on information from
a supported database backend of a supported database backend of

View File

@ -1,14 +1,12 @@
version: "3" version: "3"
services: services:
postfixadmin-fetchmail: fetchmail:
container_name: postfixadmin-fetchmail container_name: fetchmail
image: git.cryptic.systems/volker.raschek/postfixadmin-fetchmail:latest image: volkerraschek/fetchmail-docker:latest
environment: environment:
- DATABASE_TYPE=${DATABASE_TYPE} - DATABASE_TYPE=${DATABASE_TYPE}
- DATABASE_HOST=${DATABASE_HOST}
- DATABASE_NAME=${DATABASE_NAME}
- DATABASE_USER=${DATABASE_USER} - DATABASE_USER=${DATABASE_USER}
- DATABASE_PASSWORD=${DATABASE_PASSWORD} - DATABASE_PASSWORD=${DATABASE_PASSWORD}
- DATABASE_HOST=${DATABASE_HOST}
- DATABASE_PORT=${DATABASE_PORT}
- DATABASE_NAME=${DATABASE_NAME}
network_mode: host network_mode: host
privileged: true

View File

@ -35,7 +35,7 @@ openlog("fetchmail-all", "pid", "mail");
sub log_and_die { sub log_and_die {
my($message) = @_; my($message) = @_;
printf "err: %s\n", $message; syslog("err", $message);
die $message; die $message;
} }
@ -90,7 +90,7 @@ my (%config);
map{ map{
my ($id,$mailbox,$src_server,$src_auth,$src_user,$src_password,$src_folder,$fetchall,$keep,$protocol,$mda,$extra_options,$usessl,$sslcertck,$sslcertpath,$sslfingerprint)=@$_; my ($id,$mailbox,$src_server,$src_auth,$src_user,$src_password,$src_folder,$fetchall,$keep,$protocol,$mda,$extra_options,$usessl,$sslcertck,$sslcertpath,$sslfingerprint)=@$_;
printf "info: fetch %s@%s for %s\n", ${src_user}, ${src_server}, ${mailbox}; syslog("info","fetch ${src_user}@${src_server} for ${mailbox}");
$cmd="user '${src_user}' there with password '".decode_base64($src_password)."'"; $cmd="user '${src_user}' there with password '".decode_base64($src_password)."'";
$cmd.=" folder '${src_folder}'" if ($src_folder); $cmd.=" folder '${src_folder}'" if ($src_folder);
@ -112,8 +112,7 @@ set postmaster "postmaster"
set nobouncemail set nobouncemail
set no spambounce set no spambounce
set properties "" set properties ""
set no syslog set syslog
set logfile /dev/stdout
poll ${src_server} with proto ${protocol} poll ${src_server} with proto ${protocol}
$cmd $cmd
@ -130,9 +129,6 @@ TXT
$sql="UPDATE fetchmail SET returned_text=".$dbh->quote($ret).", date=now() WHERE id=".$id; $sql="UPDATE fetchmail SET returned_text=".$dbh->quote($ret).", date=now() WHERE id=".$id;
$dbh->do($sql); $dbh->do($sql);
printf "info: fetched mails of %s@%s for %s\n", ${src_user}, ${src_server}, ${mailbox};
}@{$dbh->selectall_arrayref($sql)}; }@{$dbh->selectall_arrayref($sql)};
$lockmgr->unlock($lock_file); $lockmgr->unlock($lock_file);

View File

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

View File

@ -1,9 +0,0 @@
{
"$schema": "https://docs.renovatebot.com/renovate-schema.json",
"extends": [
"local>volker.raschek/renovate-config:default#master",
"local>volker.raschek/renovate-config:container#master",
"local>volker.raschek/renovate-config:actions#master",
"local>volker.raschek/renovate-config:regexp#master"
]
}