Compare commits

..

17 Commits

Author SHA1 Message Date
020a8ab6b7 chore(deps): update docker/setup-buildx-action action to v3.11.1
All checks were successful
Lint Markdown files / markdown-lint (pull_request) Successful in 11s
Lint Markdown files / markdown-lint (push) Successful in 12s
Release / push-amd64 (push) Successful in 3m31s
Release / sync-to-hub-docker-io (push) Successful in 57s
2025-06-18 10:02:08 +00:00
0f23a43b2b chore(deps): update docker/setup-buildx-action action to v3.11.0
All checks were successful
Lint Markdown files / markdown-lint (pull_request) Successful in 11s
Lint Markdown files / markdown-lint (push) Successful in 10s
Release / push-amd64 (push) Successful in 3m36s
Release / sync-to-hub-docker-io (push) Successful in 54s
2025-06-16 13:02:28 +00:00
9e9921bbf7 chore(deps): update davidanson/markdownlint-cli2-action action to v20
All checks were successful
Lint Markdown files / markdown-lint (pull_request) Successful in 4s
Lint Markdown files / markdown-lint (push) Successful in 4s
Release / push-amd64 (push) Successful in 54s
Release / sync-to-hub-docker-io (push) Successful in 23s
2025-05-15 07:03:07 +00:00
6b86b62d63 fix(docker-compose): use git.cryptic.systems instead of docker.io
All checks were successful
Lint Markdown files / markdown-lint (push) Successful in 9s
Release / push-amd64 (push) Successful in 38s
Release / sync-to-hub-docker-io (push) Successful in 16s
2025-05-13 19:03:21 +02:00
6509829991 docs(README): use git.cryptic.systems instead of docker.io
Some checks failed
Release / push-amd64 (push) Waiting to run
Release / sync-to-hub-docker-io (push) Blocked by required conditions
Lint Markdown files / markdown-lint (push) Successful in 4s
Update Docker Hub Description / update-description-on-hub-docker-io (push) Failing after 10m57s
2025-05-13 18:55:02 +02:00
7df84f42a4 fix(ci): replace drone with gitea actions
All checks were successful
Lint Markdown files / markdown-lint (push) Successful in 5s
Release / push-amd64 (push) Successful in 3m11s
Release / sync-to-hub-docker-io (push) Successful in 38s
2025-05-13 18:22:15 +02:00
f7888ab66f fix(Makefile): get rid of unqualified container images 2025-05-12 22:47:16 +02:00
e225f5bd19 docs(README): migrate from docker.io to git.cryptic.systems 2025-05-12 18:19:07 +02:00
72293cfb72 style(markdownlint): update configuration 2025-05-09 11:27:40 +02:00
152f1cc31a docs(README): remove drone badge 2025-05-08 21:47:16 +02:00
37adf0c806 fix(makefile): remove the deletion of the base image via make clean 2025-05-08 18:43:53 +02:00
338154209e fix(makefile): remove unqualified image name 2025-05-08 18:41:27 +02:00
3da18fd935 chore(ci): use upstream container image registry
All checks were successful
continuous-integration/drone/push Build is passing
2025-04-02 21:30:35 +02:00
c45644c1ee chore(ci): rollback plugins/docker to 20.18.6
Some checks failed
continuous-integration/drone/push Build is failing
2025-04-02 10:42:56 +02:00
d2567230fc chore(ci): use container image mirror
Some checks failed
continuous-integration/drone/push Build is failing
2025-04-02 09:53:30 +02:00
93c597e5d3 chore(deps): update git.cryptic.systems/volker.raschek/markdownlint docker tag to v0.44.0
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2025-04-01 19:04:17 +00:00
813b81d137 fix(Makefile): make FQIN configurable
All checks were successful
continuous-integration/drone/push Build is passing
2025-04-01 20:44:55 +02:00
9 changed files with 106 additions and 509 deletions

View File

@ -1,473 +0,0 @@
---
kind: pipeline
type: kubernetes
name: linter
clone:
disable: true
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/bind9
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/bind9-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/bind9
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/bind9-docker
---
kind: pipeline
type: kubernetes
name: latest-manifest
clone:
disable: true
depends_on:
- latest-amd64
# 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/bind9-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/bind9 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/bind9-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/bind9
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/bind9-docker
---
kind: pipeline
type: kubernetes
name: tagged-manifest
clone:
disable: true
depends_on:
- tagged-amd64
# 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/dhcpd-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/bind9 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/bind9-docker

View File

@ -0,0 +1,22 @@
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'

View File

@ -0,0 +1,52 @@
name: Release
on:
push:
branches:
- master
jobs:
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/bind9:${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/bind9:${TAG} \
docker://docker.io/volkerraschek/bind9:${TAG}

View File

@ -0,0 +1,22 @@
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/bind9
readme-filepath: README.md

View File

@ -45,19 +45,17 @@ MD012:
# MD013/line-length - Line length
MD013:
# Number of characters
line_length: 80
line_length: 120
# Number of characters for headings
heading_line_length: 80
heading_line_length: 120
# Number of characters for code blocks
code_block_line_length: 80
code_block_line_length: 120
# Include code blocks
code_blocks: false
# Include tables
tables: false
# Include headings
headings: true
# Include headings
headers: true
# Strict length checking
strict: false
# Stern length checking
@ -70,11 +68,6 @@ MD022:
# Blank lines below heading
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:
# Heading level
@ -129,7 +122,6 @@ MD041:
MD044:
# List of proper names
names: []
# - some-thing
# Include code blocks
code_blocks: false

View File

@ -5,14 +5,13 @@ CONTAINER_RUNTIME?=$(shell which podman)
# BIND9_IMAGE_REGISTRY_NAME
# Defines the name of the new container to be built using several variables.
BIND9_IMAGE_REGISTRY_NAME:=git.cryptic.systems
BIND9_IMAGE_REGISTRY_USER:=volker.raschek
BIND9_IMAGE_REGISTRY_NAME?=git.cryptic.systems
BIND9_IMAGE_REGISTRY_USER?=volker.raschek
BIND9_IMAGE_NAMESPACE?=${BIND9_IMAGE_REGISTRY_USER}
BIND9_IMAGE_NAME:=bind9
BIND9_IMAGE_VERSION?=latest
BIND9_IMAGE_FULLY_QUALIFIED=${BIND9_IMAGE_REGISTRY_NAME}/${BIND9_IMAGE_NAMESPACE}/${BIND9_IMAGE_NAME}:${BIND9_IMAGE_VERSION}
BIND9_IMAGE_UNQUALIFIED=${BIND9_IMAGE_NAMESPACE}/${BIND9_IMAGE_NAME}:${BIND9_IMAGE_VERSION}
# BUILD CONTAINER IMAGE
# ==============================================================================
@ -23,15 +22,13 @@ container-image/build:
--no-cache \
--pull \
--tag ${BIND9_IMAGE_FULLY_QUALIFIED} \
--tag ${BIND9_IMAGE_UNQUALIFIED} \
.
# DELETE CONTAINER IMAGE
# ==============================================================================
PHONY:=container-image/delete
container-image/delete:
- ${CONTAINER_RUNTIME} image rm ${BIND9_IMAGE_FULLY_QUALIFIED} ${BIND9_IMAGE_UNQUALIFIED}
- ${CONTAINER_RUNTIME} image rm ${BASE_IMAGE_FULL}
- ${CONTAINER_RUNTIME} image rm ${BIND9_IMAGE_FULLY_QUALIFIED}
# PUSH CONTAINER IMAGE
# ==============================================================================

View File

@ -1,10 +1,9 @@
# bind9-docker
[![Build Status](https://drone.cryptic.systems/api/badges/volker.raschek/bind9-docker/status.svg)](https://drone.cryptic.systems/volker.raschek/bind9-docker)
[![Docker Pulls](https://img.shields.io/docker/pulls/volkerraschek/bind9)](https://hub.docker.com/r/volkerraschek/bind9)
This project contains all sources to build the container image
`docker.io/volkerraschek/bind9`. The primary goal of the image is only
`git.cryptic.systems/volker.raschek/bind9`. The primary goal of the image is only
to start a simple bind9 dns server.
The configuration files must be manually mounted into the container.
@ -20,7 +19,7 @@ docker run \
--publish 53:53/tcp \
--publish 53:53/udp \
--volume <config/path>:/etc/bind \
volkerraschek/bind9
git.cryptic.systems/volker.raschek/bind9
```
## Build image manually

View File

@ -1,7 +1,7 @@
version: "3"
services:
bind9:
image: volkerraschek/bind9-docker:latest
image: git.cryptic.systems/volker.raschek/bind9-docker:latest
ports:
- 10053:53/tcp
- 10053:53/udp

View File

@ -1,14 +0,0 @@
image: git.cryptic.systems/volker.raschek/bind9:{{#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/bind9:{{#if build.tag}}{{trimPrefix "v" build.tag}}{{else}}latest{{/if}}-amd64
platform:
architecture: amd64
os: linux