You've already forked createrepo-docker
Compare commits
87 Commits
Author | SHA1 | Date | |
---|---|---|---|
da99b29990
|
|||
869f83c4ce
|
|||
b98cc830c3
|
|||
840ff04f70
|
|||
259e27212a
|
|||
23296bc971
|
|||
fc51827300
|
|||
fc186532eb
|
|||
db6e503ecc
|
|||
a0d853b4a7
|
|||
a6508377ca
|
|||
0f3a51c7da
|
|||
fe7e74a281
|
|||
133eb432cb
|
|||
dda5326e1d
|
|||
407ee8118c
|
|||
c27600404c
|
|||
fb1b86ce05
|
|||
4c7e5d32d1
|
|||
2c757a60c9
|
|||
1c442c07e0
|
|||
bae450708a
|
|||
93d7e086dd
|
|||
e12e2d3501
|
|||
c3db378a12
|
|||
c4ac21f206
|
|||
cc49e734bd
|
|||
70e83b5ae3
|
|||
30f04c3fb2
|
|||
677a485f06
|
|||
b9140eb259
|
|||
5829562b13
|
|||
e5f00f93be
|
|||
eb6c6cff03
|
|||
992720bbb1
|
|||
f9dab76697
|
|||
0be9bfaf17
|
|||
bb45c4d709
|
|||
a396f09f79
|
|||
d136cc93a0
|
|||
7ee199a24b
|
|||
3f6b0a8f0c
|
|||
b184f1bbdd
|
|||
afd4edff7b
|
|||
0aaf19d300
|
|||
602a969309 | |||
737eed4fd6 | |||
d1b8688507 | |||
657fe0cb86 | |||
026ef56381 | |||
e62cb0af95 | |||
0f90c37010 | |||
1646361072 | |||
144d250108 | |||
dc2d624c64
|
|||
7d42ff94df
|
|||
c5730c7a15
|
|||
0605b0c685 | |||
a36b86a181 | |||
f5cee696e4 | |||
35d88e765a
|
|||
9742fc7ca7
|
|||
28ac8406d2 | |||
93ed88ff4d | |||
8c203119bd | |||
079441effe
|
|||
b7c519303b
|
|||
e98e980dc7
|
|||
626d2484e1
|
|||
3cd1a7976b | |||
0548436135
|
|||
ccf8504c35 | |||
3e2c9bb75a | |||
74b8bc9d6d | |||
cc827f1a03 | |||
9e0f029469
|
|||
ddf9db6200
|
|||
8fcf8c8afd
|
|||
083f10c4f7
|
|||
366b8dc784 | |||
6c44e2fac3 | |||
6f21ddc0af
|
|||
d042f6f942 | |||
465ed81044
|
|||
cd4e028655 | |||
d32561ade3 | |||
238231bb1f |
501
.drone.yml
501
.drone.yml
@ -1,501 +0,0 @@
|
||||
---
|
||||
kind: pipeline
|
||||
type: kubernetes
|
||||
name: linter
|
||||
|
||||
platform:
|
||||
os: linux
|
||||
|
||||
steps:
|
||||
- name: markdown lint
|
||||
commands:
|
||||
- markdownlint *.md
|
||||
image: docker.io/volkerraschek/markdownlint:0.31.1
|
||||
resources:
|
||||
limits:
|
||||
cpu: 150
|
||||
memory: 150M
|
||||
|
||||
- name: email-notification
|
||||
environment:
|
||||
PLUGIN_HOST:
|
||||
from_secret: smtp_host
|
||||
PLUGIN_USERNAME:
|
||||
from_secret: smtp_username
|
||||
PLUGIN_PASSWORD:
|
||||
from_secret: smtp_password
|
||||
PLUGIN_FROM:
|
||||
from_secret: smtp_mail_address
|
||||
image: docker.io/drillster/drone-email:latest
|
||||
resources:
|
||||
limits:
|
||||
cpu: 150
|
||||
memory: 150M
|
||||
when:
|
||||
status:
|
||||
- changed
|
||||
- failure
|
||||
|
||||
trigger:
|
||||
event:
|
||||
exclude:
|
||||
- tag
|
||||
|
||||
---
|
||||
kind: pipeline
|
||||
type: docker
|
||||
name: dry-run-amd64
|
||||
|
||||
platform:
|
||||
os: linux
|
||||
arch: amd64
|
||||
|
||||
steps:
|
||||
- name: build
|
||||
image: docker.io/plugins/docker:latest
|
||||
settings:
|
||||
auto_tag: false
|
||||
dockerfile: Dockerfile
|
||||
dry_run: true
|
||||
force_tag: true
|
||||
no_cache: true
|
||||
purge: true
|
||||
repo: volkerraschek/createrepo
|
||||
tags: latest-amd64
|
||||
username:
|
||||
from_secret: container_image_registry_user
|
||||
password:
|
||||
from_secret: container_image_registry_password
|
||||
volumes:
|
||||
- name: docker_socket
|
||||
path: /var/run/docker.sock
|
||||
|
||||
- name: notify
|
||||
image: docker.io/drillster/drone-email:latest
|
||||
environment:
|
||||
PLUGIN_HOST:
|
||||
from_secret: smtp_host
|
||||
PLUGIN_USERNAME:
|
||||
from_secret: smtp_username
|
||||
PLUGIN_PASSWORD:
|
||||
from_secret: smtp_password
|
||||
PLUGIN_FROM:
|
||||
from_secret: smtp_mail_address
|
||||
when:
|
||||
status:
|
||||
- changed
|
||||
- failure
|
||||
|
||||
volumes:
|
||||
- name: docker_socket
|
||||
host:
|
||||
path: /var/run/docker.sock
|
||||
|
||||
depends_on:
|
||||
- linter
|
||||
|
||||
trigger:
|
||||
branch:
|
||||
exclude:
|
||||
- master
|
||||
event:
|
||||
- pull_request
|
||||
- push
|
||||
repo:
|
||||
- volker.raschek/createrepo-docker
|
||||
|
||||
---
|
||||
kind: pipeline
|
||||
type: docker
|
||||
name: dry-run-arm64-v8
|
||||
|
||||
platform:
|
||||
os: linux
|
||||
arch: arm64
|
||||
|
||||
steps:
|
||||
- name: build
|
||||
image: docker.io/plugins/docker:latest
|
||||
settings:
|
||||
auto_tag: false
|
||||
dockerfile: Dockerfile
|
||||
dry_run: true
|
||||
force_tag: true
|
||||
no_cache: true
|
||||
purge: true
|
||||
repo: volkerraschek/createrepo
|
||||
tags: latest-arm64-v8
|
||||
username:
|
||||
from_secret: container_image_registry_user
|
||||
password:
|
||||
from_secret: container_image_registry_password
|
||||
|
||||
- name: notify
|
||||
image: docker.io/drillster/drone-email:latest
|
||||
environment:
|
||||
PLUGIN_HOST:
|
||||
from_secret: smtp_host
|
||||
PLUGIN_USERNAME:
|
||||
from_secret: smtp_username
|
||||
PLUGIN_PASSWORD:
|
||||
from_secret: smtp_password
|
||||
PLUGIN_FROM:
|
||||
from_secret: smtp_mail_address
|
||||
volumes:
|
||||
- name: docker_socket
|
||||
path: /var/run/docker.sock
|
||||
when:
|
||||
status:
|
||||
- changed
|
||||
- failure
|
||||
|
||||
volumes:
|
||||
- name: docker_socket
|
||||
host:
|
||||
path: /var/run/docker.sock
|
||||
|
||||
depends_on:
|
||||
- linter
|
||||
|
||||
trigger:
|
||||
branch:
|
||||
exclude:
|
||||
- master
|
||||
event:
|
||||
- pull_request
|
||||
- push
|
||||
repo:
|
||||
- volker.raschek/createrepo-docker
|
||||
|
||||
---
|
||||
kind: pipeline
|
||||
type: docker
|
||||
name: latest-amd64
|
||||
|
||||
platform:
|
||||
os: linux
|
||||
arch: amd64
|
||||
|
||||
steps:
|
||||
- name: build
|
||||
image: docker.io/plugins/docker:latest
|
||||
settings:
|
||||
auto_tag: false
|
||||
dockerfile: Dockerfile
|
||||
force_tag: true
|
||||
no_cache: true
|
||||
purge: true
|
||||
repo: volkerraschek/createrepo
|
||||
tags: latest-amd64
|
||||
username:
|
||||
from_secret: container_image_registry_user
|
||||
password:
|
||||
from_secret: container_image_registry_password
|
||||
volumes:
|
||||
- name: docker_socket
|
||||
path: /var/run/docker.sock
|
||||
|
||||
- name: notify
|
||||
image: docker.io/drillster/drone-email:latest
|
||||
environment:
|
||||
PLUGIN_HOST:
|
||||
from_secret: smtp_host
|
||||
PLUGIN_USERNAME:
|
||||
from_secret: smtp_username
|
||||
PLUGIN_PASSWORD:
|
||||
from_secret: smtp_password
|
||||
PLUGIN_FROM:
|
||||
from_secret: smtp_mail_address
|
||||
when:
|
||||
status:
|
||||
- changed
|
||||
- failure
|
||||
|
||||
volumes:
|
||||
- name: docker_socket
|
||||
host:
|
||||
path: /var/run/docker.sock
|
||||
|
||||
depends_on:
|
||||
- linter
|
||||
|
||||
trigger:
|
||||
branch:
|
||||
- master
|
||||
event:
|
||||
- cron
|
||||
- push
|
||||
repo:
|
||||
- volker.raschek/createrepo-docker
|
||||
|
||||
---
|
||||
kind: pipeline
|
||||
type: docker
|
||||
name: latest-arm64-v8
|
||||
|
||||
platform:
|
||||
os: linux
|
||||
arch: arm64
|
||||
|
||||
steps:
|
||||
- name: build
|
||||
image: docker.io/plugins/docker:latest
|
||||
settings:
|
||||
auto_tag: false
|
||||
dockerfile: Dockerfile
|
||||
force_tag: true
|
||||
no_cache: true
|
||||
purge: true
|
||||
repo: volkerraschek/createrepo
|
||||
tags: latest-arm64-v8
|
||||
username:
|
||||
from_secret: container_image_registry_user
|
||||
password:
|
||||
from_secret: container_image_registry_password
|
||||
|
||||
- name: notify
|
||||
image: docker.io/drillster/drone-email:latest
|
||||
environment:
|
||||
PLUGIN_HOST:
|
||||
from_secret: smtp_host
|
||||
PLUGIN_USERNAME:
|
||||
from_secret: smtp_username
|
||||
PLUGIN_PASSWORD:
|
||||
from_secret: smtp_password
|
||||
PLUGIN_FROM:
|
||||
from_secret: smtp_mail_address
|
||||
volumes:
|
||||
- name: docker_socket
|
||||
path: /var/run/docker.sock
|
||||
when:
|
||||
status:
|
||||
- changed
|
||||
- failure
|
||||
|
||||
volumes:
|
||||
- name: docker_socket
|
||||
host:
|
||||
path: /var/run/docker.sock
|
||||
|
||||
depends_on:
|
||||
- linter
|
||||
|
||||
trigger:
|
||||
branch:
|
||||
- master
|
||||
event:
|
||||
- cron
|
||||
- push
|
||||
repo:
|
||||
- volker.raschek/createrepo-docker
|
||||
|
||||
---
|
||||
kind: pipeline
|
||||
type: kubernetes
|
||||
name: latest-manifest
|
||||
|
||||
steps:
|
||||
- name: build-manifest
|
||||
image: docker.io/plugins/manifest:latest
|
||||
settings:
|
||||
auto_tag: false
|
||||
ignore_missing: true
|
||||
spec: manifest.tmpl
|
||||
username:
|
||||
from_secret: container_image_registry_user
|
||||
password:
|
||||
from_secret: container_image_registry_password
|
||||
|
||||
- name: notify
|
||||
image: docker.io/drillster/drone-email:latest
|
||||
environment:
|
||||
PLUGIN_HOST:
|
||||
from_secret: smtp_host
|
||||
PLUGIN_USERNAME:
|
||||
from_secret: smtp_username
|
||||
PLUGIN_PASSWORD:
|
||||
from_secret: smtp_password
|
||||
PLUGIN_FROM:
|
||||
from_secret: smtp_mail_address
|
||||
resources:
|
||||
limits:
|
||||
cpu: 150
|
||||
memory: 150M
|
||||
when:
|
||||
status:
|
||||
- changed
|
||||
- failure
|
||||
|
||||
depends_on:
|
||||
- latest-amd64
|
||||
- latest-arm64-v8
|
||||
|
||||
trigger:
|
||||
branch:
|
||||
- master
|
||||
event:
|
||||
- cron
|
||||
- push
|
||||
repo:
|
||||
- volker.raschek/createrepo-docker
|
||||
|
||||
---
|
||||
kind: pipeline
|
||||
type: docker
|
||||
name: tagged-amd64
|
||||
|
||||
platform:
|
||||
os: linux
|
||||
arch: amd64
|
||||
|
||||
steps:
|
||||
- name: build
|
||||
image: docker.io/plugins/docker:latest
|
||||
settings:
|
||||
auto_tag_suffix: amd64
|
||||
auto_tag: true
|
||||
dockerfile: Dockerfile
|
||||
force_tag: true
|
||||
no_cache: true
|
||||
purge: true
|
||||
repo: volkerraschek/createrepo
|
||||
username:
|
||||
from_secret: container_image_registry_user
|
||||
password:
|
||||
from_secret: container_image_registry_password
|
||||
build_args:
|
||||
- CEATEREPO_VERSION=${DRONE_TAG}
|
||||
volumes:
|
||||
- name: docker_socket
|
||||
path: /var/run/docker.sock
|
||||
|
||||
- name: notify
|
||||
image: docker.io/drillster/drone-email:latest
|
||||
environment:
|
||||
PLUGIN_HOST:
|
||||
from_secret: smtp_host
|
||||
PLUGIN_USERNAME:
|
||||
from_secret: smtp_username
|
||||
PLUGIN_PASSWORD:
|
||||
from_secret: smtp_password
|
||||
PLUGIN_FROM:
|
||||
from_secret: smtp_mail_address
|
||||
when:
|
||||
status:
|
||||
- changed
|
||||
- failure
|
||||
|
||||
volumes:
|
||||
- name: docker_socket
|
||||
host:
|
||||
path: /var/run/docker.sock
|
||||
|
||||
trigger:
|
||||
event:
|
||||
- tag
|
||||
repo:
|
||||
- volker.raschek/createrepo-docker
|
||||
|
||||
---
|
||||
kind: pipeline
|
||||
type: docker
|
||||
name: tagged-arm64-v8
|
||||
|
||||
platform:
|
||||
os: linux
|
||||
arch: arm64
|
||||
|
||||
steps:
|
||||
- name: build
|
||||
image: docker.io/plugins/docker:latest
|
||||
settings:
|
||||
auto_tag_suffix: arm64-v8
|
||||
auto_tag: true
|
||||
dockerfile: Dockerfile
|
||||
force_tag: true
|
||||
no_cache: true
|
||||
purge: true
|
||||
repo: volkerraschek/createrepo
|
||||
username:
|
||||
from_secret: container_image_registry_user
|
||||
password:
|
||||
from_secret: container_image_registry_password
|
||||
build_args:
|
||||
- CEATEREPO_VERSION=${DRONE_TAG}
|
||||
volumes:
|
||||
- name: docker_socket
|
||||
path: /var/run/docker.sock
|
||||
|
||||
- name: notify
|
||||
image: docker.io/drillster/drone-email:latest
|
||||
environment:
|
||||
PLUGIN_HOST:
|
||||
from_secret: smtp_host
|
||||
PLUGIN_USERNAME:
|
||||
from_secret: smtp_username
|
||||
PLUGIN_PASSWORD:
|
||||
from_secret: smtp_password
|
||||
PLUGIN_FROM:
|
||||
from_secret: smtp_mail_address
|
||||
when:
|
||||
status:
|
||||
- changed
|
||||
- failure
|
||||
|
||||
volumes:
|
||||
- name: docker_socket
|
||||
host:
|
||||
path: /var/run/docker.sock
|
||||
|
||||
trigger:
|
||||
event:
|
||||
- tag
|
||||
repo:
|
||||
- volker.raschek/createrepo-docker
|
||||
|
||||
---
|
||||
kind: pipeline
|
||||
type: kubernetes
|
||||
name: tagged-manifest
|
||||
|
||||
steps:
|
||||
- name: build-manifest
|
||||
image: docker.io/plugins/manifest:latest
|
||||
settings:
|
||||
auto_tag: true
|
||||
ignore_missing: true
|
||||
spec: manifest.tmpl
|
||||
username:
|
||||
from_secret: container_image_registry_user
|
||||
password:
|
||||
from_secret: container_image_registry_password
|
||||
|
||||
- name: notify
|
||||
image: docker.io/drillster/drone-email:latest
|
||||
environment:
|
||||
PLUGIN_HOST:
|
||||
from_secret: smtp_host
|
||||
PLUGIN_USERNAME:
|
||||
from_secret: smtp_username
|
||||
PLUGIN_PASSWORD:
|
||||
from_secret: smtp_password
|
||||
PLUGIN_FROM:
|
||||
from_secret: smtp_mail_address
|
||||
resources:
|
||||
limits:
|
||||
cpu: 150
|
||||
memory: 150M
|
||||
when:
|
||||
status:
|
||||
- changed
|
||||
- failure
|
||||
|
||||
depends_on:
|
||||
- tagged-amd64
|
||||
- tagged-arm64-v8
|
||||
|
||||
trigger:
|
||||
event:
|
||||
- tag
|
||||
repo:
|
||||
- volker.raschek/createrepo-docker
|
49
.gitea/workflows/build.yaml
Normal file
49
.gitea/workflows/build.yaml
Normal file
@ -0,0 +1,49 @@
|
||||
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/createrepo:${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/createrepo:${TAG}-amd64 \
|
||||
.
|
22
.gitea/workflows/markdown-linters.yaml
Normal file
22
.gitea/workflows/markdown-linters.yaml
Normal 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'
|
101
.gitea/workflows/release.yaml
Normal file
101
.gitea/workflows/release.yaml
Normal file
@ -0,0 +1,101 @@
|
||||
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 \
|
||||
--build-arg CREATEREPO_VERSION=${{ github.ref_name }} \
|
||||
--file Dockerfile \
|
||||
--platform linux/arm64 \
|
||||
--provenance false \
|
||||
--push \
|
||||
--tag git.cryptic.systems/volker.raschek/createrepo:${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 \
|
||||
--build-arg CREATEREPO_VERSION=${{ github.ref_name }} \
|
||||
--file Dockerfile \
|
||||
--platform linux/amd64 \
|
||||
--provenance false \
|
||||
--push \
|
||||
--tag git.cryptic.systems/volker.raschek/createrepo:${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/createrepo:${TAG} \
|
||||
--amend git.cryptic.systems/volker.raschek/createrepo:${TAG}-amd64 \
|
||||
--amend git.cryptic.systems/volker.raschek/createrepo:${TAG}-arm64
|
||||
|
||||
docker manifest push git.cryptic.systems/volker.raschek/createrepo:${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/createrepo:${TAG} \
|
||||
docker://docker.io/volkerraschek/createrepo:${TAG}
|
22
.gitea/workflows/update-docker-hub-description.yaml
Normal file
22
.gitea/workflows/update-docker-hub-description.yaml
Normal 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/createrepo
|
||||
readme-filepath: README.md
|
@ -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
|
||||
@ -128,8 +121,7 @@ MD041:
|
||||
# MD044/proper-names - Proper names should have the correct capitalization
|
||||
MD044:
|
||||
# List of proper names
|
||||
names:
|
||||
- create-repo
|
||||
names: []
|
||||
# Include code blocks
|
||||
code_blocks: false
|
||||
|
||||
@ -141,4 +133,4 @@ MD046:
|
||||
# MD048/code-fence-style - Code fence style
|
||||
MD048:
|
||||
# Code fence syle
|
||||
style: "backtick"
|
||||
style: "backtick"
|
||||
|
@ -1,9 +1,9 @@
|
||||
FROM docker.io/library/rockylinux:8.6
|
||||
FROM docker.io/library/rockylinux:9.3.20231119
|
||||
|
||||
ARG CREATEREPO_VERSION
|
||||
|
||||
RUN yum update --assumeyes && \
|
||||
yum install --assumeyes bash curl
|
||||
yum install --assumeyes bash bash-completion
|
||||
|
||||
RUN if [ -z ${CREATEREPO_VERSION+x} ]; then \
|
||||
yum install --assumeyes createrepo_c; \
|
||||
|
13
Makefile
13
Makefile
@ -1,6 +1,6 @@
|
||||
# CREATEREPO_VERSION
|
||||
# Only required to install a specifiy version
|
||||
CREATEREPO_VERSION?=0.17.7
|
||||
# Only required to install a specify version
|
||||
CREATEREPO_VERSION?=0.20.1
|
||||
|
||||
# CONTAINER_RUNTIME
|
||||
# The CONTAINER_RUNTIME variable will be used to specified the path to a
|
||||
@ -9,14 +9,13 @@ CONTAINER_RUNTIME?=$(shell which podman)
|
||||
|
||||
# CREATEREPO_IMAGE_REGISTRY_NAME
|
||||
# Defines the name of the new container to be built using several variables.
|
||||
CREATEREPO_IMAGE_REGISTRY_NAME:=docker.io
|
||||
CREATEREPO_IMAGE_REGISTRY_USER:=volkerraschek
|
||||
CREATEREPO_IMAGE_REGISTRY_NAME?=git.cryptic.systems
|
||||
CREATEREPO_IMAGE_REGISTRY_USER?=volker.raschek
|
||||
|
||||
CREATEREPO_IMAGE_NAMESPACE?=${CREATEREPO_IMAGE_REGISTRY_USER}
|
||||
CREATEREPO_IMAGE_NAME:=createrepo
|
||||
CREATEREPO_IMAGE_VERSION?=latest
|
||||
CREATEREPO_IMAGE_FULLY_QUALIFIED=${CREATEREPO_IMAGE_REGISTRY_NAME}/${CREATEREPO_IMAGE_NAMESPACE}/${CREATEREPO_IMAGE_NAME}:${CREATEREPO_IMAGE_VERSION}
|
||||
CREATEREPO_IMAGE_UNQUALIFIED=${CREATEREPO_IMAGE_NAMESPACE}/${CREATEREPO_IMAGE_NAME}:${CREATEREPO_IMAGE_VERSION}
|
||||
|
||||
# BUILD CONTAINER IMAGE
|
||||
# ==============================================================================
|
||||
@ -28,15 +27,13 @@ container-image/build:
|
||||
--no-cache \
|
||||
--pull \
|
||||
--tag ${CREATEREPO_IMAGE_FULLY_QUALIFIED} \
|
||||
--tag ${CREATEREPO_IMAGE_UNQUALIFIED} \
|
||||
.
|
||||
|
||||
# DELETE CONTAINER IMAGE
|
||||
# ==============================================================================
|
||||
PHONY:=container-image/delete
|
||||
container-image/delete:
|
||||
- ${CONTAINER_RUNTIME} image rm ${CREATEREPO_IMAGE_FULLY_QUALIFIED} ${CREATEREPO_IMAGE_UNQUALIFIED}
|
||||
- ${CONTAINER_RUNTIME} image rm ${BASE_IMAGE_FULL}
|
||||
- ${CONTAINER_RUNTIME} image rm ${CREATEREPO_IMAGE_FULLY_QUALIFIED}
|
||||
|
||||
# PUSH CONTAINER IMAGE
|
||||
# ==============================================================================
|
||||
|
21
README.md
21
README.md
@ -1,21 +1,18 @@
|
||||
# createrepo-docker
|
||||
|
||||
[](https://drone.cryptic.systems/volker.raschek/createrepo-docker)
|
||||
[](https://hub.docker.com/r/volkerraschek/createrepo)
|
||||
|
||||
This project contains all sources to build the container image
|
||||
`docker.io/volkerraschek/createrepo` and the shell script `createrepo.sh`.
|
||||
This project contains all sources to build the container image `git.cryptic.systems/volker.raschek/createrepo` and the
|
||||
shell script `createrepo.sh`.
|
||||
|
||||
The primary goal of this project is to package the binary `createrepo` as
|
||||
container image to provide the functionally for CI/CD workflows or for systems
|
||||
which does contains the binary.
|
||||
The primary goal of this project is to package the binary `createrepo` as container image to provide the functionally
|
||||
for CI/CD workflows or for systems which does contains the binary.
|
||||
|
||||
## createrepo.sh
|
||||
|
||||
The shell script `createrepo.sh` is a wrapper for the binary `createrepo`, which
|
||||
is not available depending on the distribution. It starts the container image
|
||||
`docker.io/volkerraschek/createrepo` in the background to call the binary. For
|
||||
this reason, a container runtime like `docker` or `podman` is necessary.
|
||||
The shell script `createrepo.sh` is a wrapper for the binary `createrepo`, which is not available depending on the
|
||||
distribution. It starts the container image `git.cryptic.systems/volker.raschek/createrepo` in the background to call
|
||||
the binary. For this reason, a container runtime like `docker` or `podman` is necessary.
|
||||
|
||||
### Installation
|
||||
|
||||
@ -27,8 +24,8 @@ curl https://git.cryptic.systems/volker.raschek/createrepo-docker/raw/branch/mas
|
||||
|
||||
### Usage
|
||||
|
||||
The script forwards all arguments directly to the binary running inside the
|
||||
container. For this reason, all arguments from the original binary can be used.
|
||||
The script forwards all arguments directly to the binary running inside the container. For this reason, all arguments
|
||||
from the original binary can be used.
|
||||
|
||||
```bash
|
||||
createrepo.sh --update . # Update local repository
|
||||
|
16
createrepo.sh
Normal file → Executable file
16
createrepo.sh
Normal file → Executable file
@ -4,17 +4,17 @@ set -e
|
||||
|
||||
CONTAINER_RUNTIME=$(which docker)
|
||||
|
||||
CREATEREPO_IMAGE_FULLY_QUALIFIED=docker.io/volkerraschek/createrepo:0.17.2
|
||||
CREATEREPO_IMAGE_FULLY_QUALIFIED="git.cryptic.systems/volker.raschek/createrepo:0.17.2" # renovate: datasource=docker registryUrl=https://git.cryptic.systems depName=volker.raschek/createrepo
|
||||
|
||||
CUSTOM_UID=$(getent passwd ${USER} | cut -d ':' -f 3)
|
||||
CUSTOM_GID=$(getent passwd ${USER} | cut -d ':' -f 4)
|
||||
CUSTOM_UID="${CUSTOM_UID:-"$(getent passwd "${USER}" | cut -d ':' -f 3)"}"
|
||||
CUSTOM_GID="${CUSTOM_GID:-"$(getent passwd "${USER}" | cut -d ':' -f 4)"}"
|
||||
|
||||
# Extract last element of passed arguments
|
||||
REPO_DIR=${@: -1}
|
||||
REPO_DIR="${*: -1}"
|
||||
|
||||
${CONTAINER_RUNTIME} run \
|
||||
--rm \
|
||||
--volume ${REPO_DIR}:${REPO_DIR} \
|
||||
--workdir ${REPO_DIR} \
|
||||
--user ${CUSTOM_UID}:${CUSTOM_GID} \
|
||||
${CREATEREPO_IMAGE_FULLY_QUALIFIED} ${@}
|
||||
--volume "${REPO_DIR}:${REPO_DIR}" \
|
||||
--workdir "${REPO_DIR}" \
|
||||
--user "${CUSTOM_UID}:${CUSTOM_GID}" \
|
||||
"${CREATEREPO_IMAGE_FULLY_QUALIFIED}" "${@}"
|
||||
|
@ -1,20 +0,0 @@
|
||||
image: volkerraschek/createrepo:{{#if build.tag}}{{trimPrefix "v" build.tag}}{{else}}latest{{/if}}
|
||||
{{#if build.tags}}
|
||||
tags:
|
||||
{{#each build.tags}}
|
||||
- {{this}}
|
||||
{{/each}}
|
||||
- "latest"
|
||||
{{/if}}
|
||||
manifests:
|
||||
-
|
||||
image: volkerraschek/createrepo:{{#if build.tag}}{{trimPrefix "v" build.tag}}{{else}}latest{{/if}}-amd64
|
||||
platform:
|
||||
architecture: amd64
|
||||
os: linux
|
||||
-
|
||||
image: volkerraschek/createrepo:{{#if build.tag}}{{trimPrefix "v" build.tag}}{{else}}latest{{/if}}-arm64-v8
|
||||
platform:
|
||||
architecture: arm64
|
||||
os: linux
|
||||
variant: v8
|
@ -1,29 +1,16 @@
|
||||
{
|
||||
"$schema": "https://docs.renovatebot.com/renovate-schema.json",
|
||||
"assignees": [ "volker.raschek" ],
|
||||
"automergeStrategy": "merge-commit",
|
||||
"automergeType": "pr",
|
||||
"labels": [ "renovate" ],
|
||||
"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"
|
||||
],
|
||||
"packageRules": [
|
||||
{
|
||||
"addLabels": [ "renovate/droneci", "renovate/automerge" ],
|
||||
"automerge": true,
|
||||
"matchManagers": "droneci",
|
||||
"matchUpdateTypes": [ "minor", "patch"]
|
||||
}
|
||||
],
|
||||
"rebaseLabel": "renovate/rebase",
|
||||
"rebaseWhen": "behind-base-branch",
|
||||
"regexManagers": [
|
||||
{
|
||||
"description": "Update container image of createrepo.sh",
|
||||
"fileMatch": [
|
||||
"^createrepo.sh$"
|
||||
],
|
||||
"matchStrings": [
|
||||
"^CREATEREPO_IMAGE_FULLY_QUALIFIED=(?<depName>.*):(?<currentValue>.*)$"
|
||||
],
|
||||
"datasourceTemplate": "docker"
|
||||
"automerge": false,
|
||||
"matchPackageNames": [ "docker-compose" ],
|
||||
"matchManagers": [ "regex" ]
|
||||
}
|
||||
]
|
||||
}
|
||||
|
Reference in New Issue
Block a user