You've already forked postfixadmin-fetchmail-docker
Compare commits
1 Commits
master
...
df3037d7d8
Author | SHA1 | Date | |
---|---|---|---|
df3037d7d8
|
666
.drone.yml
Normal file
666
.drone.yml
Normal file
@ -0,0 +1,666 @@
|
|||||||
|
---
|
||||||
|
kind: pipeline
|
||||||
|
type: kubernetes
|
||||||
|
name: linter
|
||||||
|
|
||||||
|
clone:
|
||||||
|
disable: true
|
||||||
|
|
||||||
|
platform:
|
||||||
|
os: linux
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: clone
|
||||||
|
image: git.cryptic.systems/volker.raschek/git:1.4.0
|
||||||
|
|
||||||
|
- name: markdown lint
|
||||||
|
commands:
|
||||||
|
- markdownlint *.md
|
||||||
|
image: git.cryptic.systems/volker.raschek/markdownlint:0.44.0
|
||||||
|
resources:
|
||||||
|
limits:
|
||||||
|
cpu: 150
|
||||||
|
memory: 150M
|
||||||
|
|
||||||
|
- 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:
|
||||||
|
event:
|
||||||
|
exclude:
|
||||||
|
- 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.8
|
||||||
|
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.8
|
||||||
|
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
|
||||||
|
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.4.0
|
||||||
|
|
||||||
|
- name: build
|
||||||
|
image: docker.io/plugins/docker:20.18.8
|
||||||
|
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-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:
|
||||||
|
- master
|
||||||
|
event:
|
||||||
|
- cron
|
||||||
|
- push
|
||||||
|
repo:
|
||||||
|
- volker.raschek/postfixadmin-fetchmail-docker
|
||||||
|
|
||||||
|
---
|
||||||
|
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.4.0
|
||||||
|
|
||||||
|
- name: build
|
||||||
|
image: docker.io/plugins/docker:20.18.8
|
||||||
|
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-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:
|
||||||
|
- master
|
||||||
|
event:
|
||||||
|
- cron
|
||||||
|
- push
|
||||||
|
repo:
|
||||||
|
- volker.raschek/postfixadmin-fetchmail-docker
|
||||||
|
|
||||||
|
---
|
||||||
|
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.4.0
|
||||||
|
|
||||||
|
- name: build-manifest
|
||||||
|
image: docker.io/plugins/manifest:1.4.0
|
||||||
|
settings:
|
||||||
|
auto_tag: false
|
||||||
|
ignore_missing: true
|
||||||
|
spec: manifest.tmpl
|
||||||
|
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
|
||||||
|
resources:
|
||||||
|
limits:
|
||||||
|
cpu: 150
|
||||||
|
memory: 150M
|
||||||
|
when:
|
||||||
|
status:
|
||||||
|
- changed
|
||||||
|
- 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:
|
||||||
|
- latest-manifest
|
||||||
|
|
||||||
|
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:
|
||||||
|
branch:
|
||||||
|
- master
|
||||||
|
event:
|
||||||
|
- cron
|
||||||
|
- push
|
||||||
|
repo:
|
||||||
|
- volker.raschek/postfixadmin-fetchmail-docker
|
||||||
|
|
||||||
|
---
|
||||||
|
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.4.0
|
||||||
|
|
||||||
|
- name: build
|
||||||
|
image: docker.io/plugins/docker:20.18.8
|
||||||
|
settings:
|
||||||
|
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-fetchmail
|
||||||
|
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:
|
||||||
|
event:
|
||||||
|
- tag
|
||||||
|
repo:
|
||||||
|
- volker.raschek/postfixadmin-fetchmail-docker
|
||||||
|
|
||||||
|
---
|
||||||
|
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.4.0
|
||||||
|
|
||||||
|
- name: build
|
||||||
|
image: docker.io/plugins/docker:20.18.8
|
||||||
|
settings:
|
||||||
|
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-fetchmail
|
||||||
|
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:
|
||||||
|
event:
|
||||||
|
- tag
|
||||||
|
repo:
|
||||||
|
- volker.raschek/postfixadmin-fetchmail-docker
|
||||||
|
|
||||||
|
---
|
||||||
|
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.4.0
|
||||||
|
|
||||||
|
- name: build-manifest
|
||||||
|
image: docker.io/plugins/manifest:1.4.0
|
||||||
|
settings:
|
||||||
|
auto_tag: true
|
||||||
|
ignore_missing: true
|
||||||
|
spec: manifest.tmpl
|
||||||
|
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
|
||||||
|
resources:
|
||||||
|
limits:
|
||||||
|
cpu: 150
|
||||||
|
memory: 150M
|
||||||
|
when:
|
||||||
|
status:
|
||||||
|
- changed
|
||||||
|
- failure
|
||||||
|
|
||||||
|
trigger:
|
||||||
|
event:
|
||||||
|
- tag
|
||||||
|
repo:
|
||||||
|
- volker.raschek/postfixadmin-fetchmail-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.4.0
|
||||||
|
|
||||||
|
- 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-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:
|
||||||
|
event:
|
||||||
|
- tag
|
||||||
|
repo:
|
||||||
|
- volker.raschek/postfixadmin-fetchmail-docker
|
@ -1,49 +0,0 @@
|
|||||||
name: Build
|
|
||||||
|
|
||||||
on:
|
|
||||||
pull_request:
|
|
||||||
types:
|
|
||||||
- opened
|
|
||||||
- reopened
|
|
||||||
- synchronize
|
|
||||||
push:
|
|
||||||
branches:
|
|
||||||
- master
|
|
||||||
workflow_dispatch: {}
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
build-arm64:
|
|
||||||
runs-on: ubuntu-latest-arm64
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v4.2.2
|
|
||||||
- uses: docker/setup-qemu-action@v3.6.0
|
|
||||||
- uses: docker/setup-buildx-action@v3.11.1
|
|
||||||
|
|
||||||
- name: Build image
|
|
||||||
run: |
|
|
||||||
TAG=latest
|
|
||||||
|
|
||||||
docker buildx build \
|
|
||||||
--platform linux/arm64 \
|
|
||||||
--file Dockerfile \
|
|
||||||
--provenance false \
|
|
||||||
--tag git.cryptic.systems/volker.raschek/postfixadmin-fetchmail:${TAG}-arm64 \
|
|
||||||
.
|
|
||||||
|
|
||||||
build-amd64:
|
|
||||||
runs-on: ubuntu-latest-amd64
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v4.2.2
|
|
||||||
- uses: docker/setup-qemu-action@v3.6.0
|
|
||||||
- uses: docker/setup-buildx-action@v3.11.1
|
|
||||||
|
|
||||||
- name: Build image
|
|
||||||
run: |
|
|
||||||
TAG=latest
|
|
||||||
|
|
||||||
docker buildx build \
|
|
||||||
--platform linux/amd64 \
|
|
||||||
--file Dockerfile \
|
|
||||||
--provenance false \
|
|
||||||
--tag git.cryptic.systems/volker.raschek/postfixadmin-fetchmail:${TAG}-amd64 \
|
|
||||||
.
|
|
@ -1,22 +0,0 @@
|
|||||||
name: 'Lint Markdown files'
|
|
||||||
|
|
||||||
on:
|
|
||||||
pull_request:
|
|
||||||
types:
|
|
||||||
- opened
|
|
||||||
- reopened
|
|
||||||
- synchronize
|
|
||||||
push:
|
|
||||||
branches:
|
|
||||||
- master
|
|
||||||
workflow_dispatch: {}
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
markdown-lint:
|
|
||||||
runs-on:
|
|
||||||
- ubuntu-latest
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v4.2.2
|
|
||||||
- uses: DavidAnson/markdownlint-cli2-action@v20.0.0
|
|
||||||
with:
|
|
||||||
globs: '**/*.md'
|
|
@ -1,99 +0,0 @@
|
|||||||
name: Release
|
|
||||||
|
|
||||||
on:
|
|
||||||
push:
|
|
||||||
tags:
|
|
||||||
- "**"
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
push-arm64:
|
|
||||||
runs-on: ubuntu-latest-arm64
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v4.2.2
|
|
||||||
- uses: docker/setup-qemu-action@v3.6.0
|
|
||||||
- uses: docker/setup-buildx-action@v3.11.1
|
|
||||||
|
|
||||||
- uses: docker/login-action@v3.4.0
|
|
||||||
with:
|
|
||||||
registry: git.cryptic.systems
|
|
||||||
username: ${{ github.repository_owner }}
|
|
||||||
password: ${{ secrets.GIT_CRYPTIC_SYSTEMS_PACKAGE_REGISTRY_TOKEN }}
|
|
||||||
|
|
||||||
- name: Build and push image
|
|
||||||
run: |
|
|
||||||
TAG=$(echo ${{ github.ref_name }} | sed 's/v//gm')
|
|
||||||
|
|
||||||
docker buildx build \
|
|
||||||
--file Dockerfile \
|
|
||||||
--platform linux/arm64 \
|
|
||||||
--provenance false \
|
|
||||||
--push \
|
|
||||||
--tag git.cryptic.systems/volker.raschek/postfixadmin-fetchmail:${TAG}-arm64 \
|
|
||||||
.
|
|
||||||
|
|
||||||
push-amd64:
|
|
||||||
runs-on: ubuntu-latest-amd64
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v4.2.2
|
|
||||||
- uses: docker/setup-qemu-action@v3.6.0
|
|
||||||
- uses: docker/setup-buildx-action@v3.11.1
|
|
||||||
|
|
||||||
- uses: docker/login-action@v3.4.0
|
|
||||||
with:
|
|
||||||
registry: git.cryptic.systems
|
|
||||||
username: ${{ github.repository_owner }}
|
|
||||||
password: ${{ secrets.GIT_CRYPTIC_SYSTEMS_PACKAGE_REGISTRY_TOKEN }}
|
|
||||||
|
|
||||||
- name: Build and push image
|
|
||||||
run: |
|
|
||||||
TAG=$(echo ${{ github.ref_name }} | sed 's/v//gm')
|
|
||||||
|
|
||||||
docker buildx build \
|
|
||||||
--file Dockerfile \
|
|
||||||
--platform linux/amd64 \
|
|
||||||
--provenance false \
|
|
||||||
--push \
|
|
||||||
--tag git.cryptic.systems/volker.raschek/postfixadmin-fetchmail:${TAG}-amd64 \
|
|
||||||
.
|
|
||||||
|
|
||||||
push-manifest:
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
needs:
|
|
||||||
- push-arm64
|
|
||||||
- push-amd64
|
|
||||||
steps:
|
|
||||||
- uses: docker/login-action@v3.4.0
|
|
||||||
with:
|
|
||||||
registry: git.cryptic.systems
|
|
||||||
username: ${{ github.repository_owner }}
|
|
||||||
password: ${{ secrets.GIT_CRYPTIC_SYSTEMS_PACKAGE_REGISTRY_TOKEN }}
|
|
||||||
|
|
||||||
- name: Create and push manifest
|
|
||||||
run: |
|
|
||||||
TAG=$(echo ${{ github.ref_name }} | sed 's/v//gm')
|
|
||||||
|
|
||||||
docker manifest create git.cryptic.systems/volker.raschek/postfixadmin-fetchmail:${TAG} \
|
|
||||||
--amend git.cryptic.systems/volker.raschek/postfixadmin-fetchmail:${TAG}-amd64 \
|
|
||||||
--amend git.cryptic.systems/volker.raschek/postfixadmin-fetchmail:${TAG}-arm64
|
|
||||||
|
|
||||||
docker manifest push git.cryptic.systems/volker.raschek/postfixadmin-fetchmail:${TAG}
|
|
||||||
|
|
||||||
sync-to-hub-docker-io:
|
|
||||||
needs:
|
|
||||||
- push-manifest
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
steps:
|
|
||||||
- name: Copy images to docker.io
|
|
||||||
run: |
|
|
||||||
TAG=$(echo ${{ github.ref_name }} | sed 's/v//gm')
|
|
||||||
|
|
||||||
apt-get update --yes
|
|
||||||
apt-get install --yes skopeo
|
|
||||||
skopeo copy \
|
|
||||||
--all \
|
|
||||||
--dest-password ${{ secrets.DOCKER_IO_PASSWORD }} \
|
|
||||||
--dest-username ${{ secrets.DOCKER_IO_USERNAME }} \
|
|
||||||
--src-password ${{ secrets.GIT_CRYPTIC_SYSTEMS_PACKAGE_REGISTRY_TOKEN }} \
|
|
||||||
--src-username volker.raschek \
|
|
||||||
docker://git.cryptic.systems/volker.raschek/postfixadmin-fetchmail:${TAG} \
|
|
||||||
docker://docker.io/volkerraschek/postfixadmin-fetchmail:${TAG}
|
|
@ -1,22 +0,0 @@
|
|||||||
name: Update Docker Hub Description
|
|
||||||
|
|
||||||
on:
|
|
||||||
push:
|
|
||||||
branches:
|
|
||||||
- master
|
|
||||||
paths:
|
|
||||||
- README.md
|
|
||||||
workflow_dispatch: {}
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
update-description-on-hub-docker-io:
|
|
||||||
runs-on:
|
|
||||||
- ubuntu-latest
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v4.2.2
|
|
||||||
- uses: peter-evans/dockerhub-description@v4.0.2
|
|
||||||
with:
|
|
||||||
username: ${{ secrets.DOCKER_IO_USERNAME }}
|
|
||||||
password: ${{ secrets.DOCKER_IO_PASSWORD }}
|
|
||||||
repository: volkerraschek/postfixadmin-fetchmail
|
|
||||||
readme-filepath: README.md
|
|
@ -45,17 +45,19 @@ MD012:
|
|||||||
# MD013/line-length - Line length
|
# MD013/line-length - Line length
|
||||||
MD013:
|
MD013:
|
||||||
# Number of characters
|
# Number of characters
|
||||||
line_length: 120
|
line_length: 80
|
||||||
# Number of characters for headings
|
# Number of characters for headings
|
||||||
heading_line_length: 120
|
heading_line_length: 80
|
||||||
# Number of characters for code blocks
|
# Number of characters for code blocks
|
||||||
code_block_line_length: 120
|
code_block_line_length: 80
|
||||||
# Include code blocks
|
# Include code blocks
|
||||||
code_blocks: false
|
code_blocks: false
|
||||||
# Include tables
|
# Include tables
|
||||||
tables: false
|
tables: false
|
||||||
# Include headings
|
# Include headings
|
||||||
headings: true
|
headings: true
|
||||||
|
# Include headings
|
||||||
|
headers: true
|
||||||
# Strict length checking
|
# Strict length checking
|
||||||
strict: false
|
strict: false
|
||||||
# Stern length checking
|
# Stern length checking
|
||||||
@ -68,6 +70,11 @@ MD022:
|
|||||||
# Blank lines below heading
|
# Blank lines below heading
|
||||||
lines_below: 1
|
lines_below: 1
|
||||||
|
|
||||||
|
# MD024/no-duplicate-heading/no-duplicate-header - Multiple headings with the same content
|
||||||
|
MD024:
|
||||||
|
# Only check sibling headings
|
||||||
|
allow_different_nesting: true
|
||||||
|
|
||||||
# MD025/single-title/single-h1 - Multiple top-level headings in the same document
|
# MD025/single-title/single-h1 - Multiple top-level headings in the same document
|
||||||
MD025:
|
MD025:
|
||||||
# Heading level
|
# Heading level
|
||||||
@ -122,6 +129,7 @@ MD041:
|
|||||||
MD044:
|
MD044:
|
||||||
# List of proper names
|
# List of proper names
|
||||||
names: []
|
names: []
|
||||||
|
# - some-thing
|
||||||
# Include code blocks
|
# Include code blocks
|
||||||
code_blocks: false
|
code_blocks: false
|
||||||
|
|
||||||
@ -133,4 +141,4 @@ MD046:
|
|||||||
# MD048/code-fence-style - Code fence style
|
# MD048/code-fence-style - Code fence style
|
||||||
MD048:
|
MD048:
|
||||||
# Code fence syle
|
# Code fence syle
|
||||||
style: "backtick"
|
style: "backtick"
|
@ -1,4 +1,4 @@
|
|||||||
FROM docker.io/library/alpine:3.22.1
|
FROM docker.io/library/alpine:3.21.3
|
||||||
|
|
||||||
# The file /etc/apk/repositories contains a list of the apk repositories. By
|
# 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
|
# default contains this file a list of the stable repositories pointing to the
|
||||||
|
57
README.md
57
README.md
@ -1,19 +1,23 @@
|
|||||||
# PostfixAdmin's fetchmail
|
# PostfixAdmin's fetchmail
|
||||||
|
|
||||||
|
[](https://drone.cryptic.systems/volker.raschek/postfixadmin-fetchmail-docker)
|
||||||
[](https://hub.docker.com/r/volkerraschek/postfixadmin-fetchmail)
|
[](https://hub.docker.com/r/volkerraschek/postfixadmin-fetchmail)
|
||||||
|
|
||||||
This project contains all sources to build the container image
|
This project contains all sources to build the container image
|
||||||
`git.cryptic.systems/volker.raschek/postfixadmin-fetchmail`. The primary goal of the image is to fetch mails from
|
`docker.io/volkerraschek/postfixadmin-fetchmail`. The primary goal of the image
|
||||||
external servers and forward them to on local running mail server.
|
is to fetch mails from external servers and forward them to on local running
|
||||||
|
mail server.
|
||||||
|
|
||||||
The configuration file will be automatically generated based on information from a supported database backend of
|
The configuration file will be automatically generated based on information from
|
||||||
[postfixadmin](https://github.com/postfixadmin/postfixadmin). The information are stored in the table `fetchmail` of the
|
a supported database backend of
|
||||||
database scheme of PostfixAdmin.
|
[postfixadmin](https://github.com/postfixadmin/postfixadmin). The information
|
||||||
|
are stored in the table `fetchmail` of the database scheme of PostfixAdmin.
|
||||||
|
|
||||||
## Usage
|
## Usage
|
||||||
|
|
||||||
Possible database types are `my` for MySQL and `Pg` for postgres. Make sure that the database and the SMTP server are
|
Possible database types are `my` for MySQL and `Pg` for postgres. Make sure that
|
||||||
accessible. Otherwise, adjust the enclosed docker-compose or docker command accordingly. Alternatively you can use
|
the database and the SMTP server are accessible. Otherwise, adjust the enclosed
|
||||||
|
docker-compose or docker command accordingly. Alternatively you can use
|
||||||
docker-compose in addition to the docker commands.
|
docker-compose in addition to the docker commands.
|
||||||
|
|
||||||
### PostgreSQL
|
### PostgreSQL
|
||||||
@ -28,7 +32,7 @@ $ docker run \
|
|||||||
--env DATABASE_USER: fetchmail \
|
--env DATABASE_USER: fetchmail \
|
||||||
--env DATABASE_PASSWORD: MySecretPassword \
|
--env DATABASE_PASSWORD: MySecretPassword \
|
||||||
--network host \
|
--network host \
|
||||||
git.cryptic.systems/volker.raschek/fetchmail:latest
|
volkerraschek/fetchmail:latest
|
||||||
```
|
```
|
||||||
|
|
||||||
### MySQL
|
### MySQL
|
||||||
@ -43,20 +47,22 @@ $ docker run \
|
|||||||
--env DATABASE_USER: fetchmail \
|
--env DATABASE_USER: fetchmail \
|
||||||
--env DATABASE_PASSWORD: MySecretPassword \
|
--env DATABASE_PASSWORD: MySecretPassword \
|
||||||
--network host \
|
--network host \
|
||||||
git.cryptic.systems/volker.raschek/fetchmail:latest
|
volkerraschek/fetchmail:latest
|
||||||
```
|
```
|
||||||
|
|
||||||
### docker-compose
|
### docker-compose
|
||||||
|
|
||||||
The repository contains a default `docker-compose.yml` file, which can be used to start the container. To set the
|
The repository contains a default `docker-compose.yml` file, which can be used
|
||||||
environment variables you need a `.env` file. The `.dev_env` from this repository can be used for this. This must be
|
to start the container. To set the environment variables you need a `.env` file.
|
||||||
located exclusively in the same directory as the `docker-compose.yml` file and must be renamed as `.env`.
|
The `.dev_env` from this repository can be used for this. This must be located
|
||||||
|
exclusively in the same directory as the `docker-compose.yml` file and must be
|
||||||
|
renamed as `.env`.
|
||||||
|
|
||||||
```yml
|
```yml
|
||||||
version: "3"
|
version: "3"
|
||||||
services:
|
services:
|
||||||
fetchmail:
|
fetchmail:
|
||||||
image: git.cryptic.systems/volker.raschek/fetchmail:latest
|
image: volkerraschek/fetchmail:latest
|
||||||
environment:
|
environment:
|
||||||
- DATABASE_TYPE=${DATABASE_TYPE}
|
- DATABASE_TYPE=${DATABASE_TYPE}
|
||||||
- DATABASE_HOST=${DATABASE_HOST}
|
- DATABASE_HOST=${DATABASE_HOST}
|
||||||
@ -71,8 +77,9 @@ services:
|
|||||||
|
|
||||||
### DATABASE_TYPE
|
### DATABASE_TYPE
|
||||||
|
|
||||||
Currently will be only postgres, mysql and mariadb supported. About the environment variable `DATABASE_TYPE` can the
|
Currently will be only postgres, mysql and mariadb supported. About the
|
||||||
backend type defined. The value is required.
|
environment variable `DATABASE_TYPE` can the backend type defined. The value is
|
||||||
|
required.
|
||||||
|
|
||||||
| database type | value |
|
| database type | value |
|
||||||
| ------------- | ----- |
|
| ------------- | ----- |
|
||||||
@ -81,25 +88,25 @@ backend type defined. The value is required.
|
|||||||
|
|
||||||
### DATABASE_USER
|
### DATABASE_USER
|
||||||
|
|
||||||
The environment variable `DATABASE_USER` is undefined and required. The value contains the database user which one
|
The environment variable `DATABASE_USER` is undefined and required. The value
|
||||||
fetchmail use to login.
|
contains the database user which one fetchmail use to login.
|
||||||
|
|
||||||
### DATABASE_PASSWORD
|
### DATABASE_PASSWORD
|
||||||
|
|
||||||
The environment variable `DATABASE_PASSWORD` is undefined and required. The value contains the password of the database
|
The environment variable `DATABASE_PASSWORD` is undefined and required. The value
|
||||||
user which one fetchmail use to login.
|
contains the password of the database user which one fetchmail use to login.
|
||||||
|
|
||||||
### DATABASE_HOST
|
### DATABASE_HOST
|
||||||
|
|
||||||
The environment variable `DATABASE_HOST` is undefined and required. The value contains the DNS name or IP address of the
|
The environment variable `DATABASE_HOST` is undefined and required. The value
|
||||||
host, where the database is hosted.
|
contains the DNS name or IP address of the host, where the database is hosted.
|
||||||
|
|
||||||
### DATABASE_PORT
|
### DATABASE_PORT
|
||||||
|
|
||||||
The environment variable `DATABASE_PORT` is undefined and required. The value contains the port of the host, where the
|
The environment variable `DATABASE_PORT` is undefined and required. The value
|
||||||
database is listen on.
|
contains the port of the host, where the database is listen on.
|
||||||
|
|
||||||
### DATABASE_NAME
|
### DATABASE_NAME
|
||||||
|
|
||||||
The environment variable `DATABASE_NAME` is undefined and required. The value contains the name of the database against
|
The environment variable `DATABASE_NAME` is undefined and required. The value
|
||||||
which should be logged in.
|
contains the name of the database against which should be logged in.
|
||||||
|
18
manifest.tmpl
Normal file
18
manifest.tmpl
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
image: git.cryptic.systems/volker.raschek/postfixadmin-fetchmail:{{#if build.tag}}{{trimPrefix "v" build.tag}}{{else}}latest{{/if}}
|
||||||
|
{{#if build.tags}}
|
||||||
|
tags:
|
||||||
|
{{#each build.tags}}
|
||||||
|
- {{this}}
|
||||||
|
{{/each}}
|
||||||
|
- "latest"
|
||||||
|
{{/if}}
|
||||||
|
manifests:
|
||||||
|
- image: git.cryptic.systems/volker.raschek/postfixadmin-fetchmail:{{#if build.tag}}{{trimPrefix "v" build.tag}}{{else}}latest{{/if}}-amd64
|
||||||
|
platform:
|
||||||
|
architecture: amd64
|
||||||
|
os: linux
|
||||||
|
- image: git.cryptic.systems/volker.raschek/postfixadmin-fetchmail:{{#if build.tag}}{{trimPrefix "v" build.tag}}{{else}}latest{{/if}}-arm64-v8
|
||||||
|
platform:
|
||||||
|
architecture: arm64
|
||||||
|
os: linux
|
||||||
|
variant: v8
|
Reference in New Issue
Block a user