Initial draft of plugin.

This commit is contained in:
Stephan Schnabel 2025-06-18 22:22:07 +02:00
parent a51b159186
commit e1ebdb3eb6
Signed by: stephan.schnabel
SSH key fingerprint: SHA256:99zuzxNGFb5/5P+E/O7ONU2qhUojUe/D8rIPTW+9Xp0
15 changed files with 616 additions and 0 deletions

45
.woodpecker/build.yaml Normal file
View file

@ -0,0 +1,45 @@
when:
event: [manual, push, pull_request]
branch: main
path: [.woodpecker/build.yaml, .woodpecker/test.yaml, .woodpecker/push.yaml, Dockerfile, Dockerfile.dockerignore, entrypoint.sh]
services:
- name: dockerd
image: kokuwaio/dockerd:rootless
ports: [2375]
privileged: true
steps:
build-linux:
depends_on: [init]
image: kokuwaio/docker-cli
commands:
- docker login
- docker buildx create --platform=linux/amd64,linux/arm64 --driver=docker-container --use
- docker buildx build .
--push
--tag=ci-registry.schnabel.org/kokuwaio/dockerd:$CI_PIPELINE_NUMBER
--platform=linux/amd64,linux/arm64
--cache-from=type=registry,ref=ci-registry.schnabel.org/cache/dockerd:refs_heads_main
--cache-from=type=registry,ref=ci-registry.schnabel.org/cache/dockerd:$CI_COMMIT_SHA
--cache-from=type=registry,ref=ci-registry.schnabel.org/cache/dockerd:${CI_COMMIT_REF//\//_}
--cache-to=type=registry,ref=ci-registry.schnabel.org/cache/dockerd:$CI_COMMIT_SHA,mode=max,compression=zstd
--cache-to=type=registry,ref=ci-registry.schnabel.org/cache/dockerd:${CI_COMMIT_REF//\//_},mode=max,compression=zstd
--label=org.opencontainers.image.title="Docker daemon"
--label=org.opencontainers.image.description="Docker daemon for usage in Woodpecker CI"
--label=org.opencontainers.image.url=$CI_REPO_URL
--label=org.opencontainers.image.documentation=$CI_REPO_URL
--label=org.opencontainers.image.source=$CI_REPO_CLONE_URL
--label=org.opencontainers.image.vendor=kokuwa.io
--label=org.opencontainers.image.licenses=GPL-3.0-or-later
export BUILDX_EXPERIMENTAL=1
export CI_PIPELINE_NUMBER=88
export CI_COMMIT_SHA=123
export CI_COMMIT_REF=refs-heads-main
docker buildx build . \
--push \
--tag=ci-registry.schnabel.org/kokuwaio/dockerd:$CI_PIPELINE_NUMBER \
--platform=linux/amd64,linux/arm64 \
--cache-to=type=registry,ref=ci-registry.schnabel.org/cache/dockerd:${CI_COMMIT_REF//\//},mode=max,compression=zstd

View file

@ -0,0 +1,17 @@
when:
instance: ci.schnabel.org
repo: kokuwaio/dockerd
event: push
branch: main
path: [.woodpecker/dockerhub.yaml, README.md, Dockerfile, Dockerfile.dockerignore, entrypoint.sh]
steps:
metadata:
image: kokuwaio/dockerhub-metadata
settings:
repository: kokuwaio/dockerd
description-short: Docker daemon for usage in Woodpecker CI.
categories: [developer-tools, integration-and-delivery]
username: {from_secret: DOCKERHUB_USERNAME}
password: {from_secret: DOCKERHUB_PASSWORD}

31
.woodpecker/lint.yaml Normal file
View file

@ -0,0 +1,31 @@
when:
event: [cron, manual, push, pull_request]
branch: main
path: [.woodpecker/lint.yaml, renovate.json, "**/*.yaml", "**/*.md", "**/*.sh", "**/Dockerfile"]
steps:
renovate:
image: kokuwaio/renovate-config-validator
depends_on: []
when: [path: [.woodpecker/lint.yaml, renovate.json]]
yaml:
image: kokuwaio/yamllint
depends_on: []
when: [path: [.woodpecker/lint.yaml, .yamllint.yaml, "**/*.yaml"]]
markdown:
image: kokuwaio/markdownlint
depends_on: []
when: [path: [.woodpecker/lint.yaml, .markdownlint.yaml, "**/*.md"]]
dockerfile:
image: kokuwaio/hadolint
depends_on: []
when: [path: [.woodpecker/lint.yaml, .hadolint.yaml, "**/Dockerfile"]]
shellcheck:
image: kokuwaio/shellcheck
depends_on: []
when: [path: [.woodpecker/lint.yaml, "**/*.sh"]]

24
.woodpecker/test.yaml Normal file
View file

@ -0,0 +1,24 @@
when:
instance: ci.schnabel.org
repo: kokuwaio/dockerd
event: [manual, push, pull_request]
branch: main
path: [.woodpecker/build.yaml, .woodpecker/test.yaml, .woodpecker/push.yaml, Dockerfile, Dockerfile.dockerignore, entrypoint.sh]
depends_on: [build]
skip_clone: true
matrix:
PLATFORM: [amd64, arm64]
labels:
platform: linux/${PLATFORM}
services:
- name: dockerd
image: ci-registry.schnabel.org/kokuwaio/dockerd:${CI_PIPELINE_NUMBER}
ports: [2375]
privileged: true
steps:
test:
image: kokuwaio/docker-cli
commands: docker info