12 Commits

Author SHA1 Message Date
540c1140db fix: bump to v0.17.7
All checks were successful
continuous-integration/drone/tag Build is passing
continuous-integration/drone/push Build is passing
2022-07-14 18:08:29 +02:00
b0abbc18f2 Merge pull request 'chore(deps): update dependency docker.io/library/rockylinux to v8.6' (#1) from renovate/docker.io-library-rockylinux-8.x into master
All checks were successful
continuous-integration/drone/push Build is passing
Reviewed-on: #1
2022-07-14 15:55:41 +00:00
cf9af61d27 chore(deps): update dependency docker.io/library/rockylinux to v8.6
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2022-07-07 22:20:38 +02:00
31ca77ac27 fix(ci): resource limits
All checks were successful
continuous-integration/drone/push Build is passing
2022-05-22 13:08:30 +02:00
f76331e583 fix(ci): use fully qualified image name
Some checks reported errors
continuous-integration/drone/push Build encountered an error
2022-05-22 13:00:41 +02:00
e1ebc19f00 fix: use podman instead of docker
All checks were successful
continuous-integration/drone/push Build is passing
2022-05-03 17:27:02 +02:00
fda97006ff fix(ci): renovate
All checks were successful
continuous-integration/drone/push Build is passing
2022-05-03 17:25:29 +02:00
ae994ebab2 test(renovate): automerge
All checks were successful
continuous-integration/drone/push Build is passing
2022-05-03 17:17:37 +02:00
0bb533f16e test(renovate): automerge
All checks were successful
continuous-integration/drone/push Build is passing
2022-05-03 16:02:08 +02:00
9e37f72c0a fix: extract repo dir
All checks were successful
continuous-integration/drone/push Build is passing
2022-05-03 15:56:04 +02:00
903be7c5ad fix: add createrepo.sh
All checks were successful
continuous-integration/drone/push Build is passing
2022-05-03 12:36:37 +02:00
c1d6c38223 fix(README): description
All checks were successful
continuous-integration/drone/push Build is passing
2022-05-03 12:06:34 +02:00
6 changed files with 80 additions and 38 deletions

View File

@ -13,8 +13,8 @@ steps:
image: docker.io/volkerraschek/markdownlint:0.31.1
resources:
limits:
cpu: 50
memory: 50M
cpu: 150
memory: 150M
- name: email-notification
environment:
@ -29,8 +29,8 @@ steps:
image: docker.io/drillster/drone-email:latest
resources:
limits:
cpu: 50
memory: 25M
cpu: 150
memory: 150M
when:
status:
- changed
@ -52,7 +52,7 @@ platform:
steps:
- name: build
image: plugins/docker
image: docker.io/plugins/docker:latest
settings:
auto_tag: false
dockerfile: Dockerfile
@ -71,7 +71,7 @@ steps:
path: /var/run/docker.sock
- name: notify
image: drillster/drone-email
image: docker.io/drillster/drone-email:latest
environment:
PLUGIN_HOST:
from_secret: smtp_host
@ -115,7 +115,7 @@ platform:
steps:
- name: build
image: plugins/docker
image: docker.io/plugins/docker:latest
settings:
auto_tag: false
dockerfile: Dockerfile
@ -131,7 +131,7 @@ steps:
from_secret: container_image_registry_password
- name: notify
image: drillster/drone-email
image: docker.io/drillster/drone-email:latest
environment:
PLUGIN_HOST:
from_secret: smtp_host
@ -178,7 +178,7 @@ platform:
steps:
- name: build
image: plugins/docker
image: docker.io/plugins/docker:latest
settings:
auto_tag: false
dockerfile: Dockerfile
@ -196,7 +196,7 @@ steps:
path: /var/run/docker.sock
- name: notify
image: drillster/drone-email
image: docker.io/drillster/drone-email:latest
environment:
PLUGIN_HOST:
from_secret: smtp_host
@ -239,7 +239,7 @@ platform:
steps:
- name: build
image: plugins/docker
image: docker.io/plugins/docker:latest
settings:
auto_tag: false
dockerfile: Dockerfile
@ -254,7 +254,7 @@ steps:
from_secret: container_image_registry_password
- name: notify
image: drillster/drone-email
image: docker.io/drillster/drone-email:latest
environment:
PLUGIN_HOST:
from_secret: smtp_host
@ -296,7 +296,7 @@ name: latest-manifest
steps:
- name: build-manifest
image: plugins/manifest
image: docker.io/plugins/manifest:latest
settings:
auto_tag: false
ignore_missing: true
@ -319,8 +319,8 @@ steps:
from_secret: smtp_mail_address
resources:
limits:
cpu: 50
memory: 25M
cpu: 150
memory: 150M
when:
status:
- changed
@ -350,7 +350,7 @@ platform:
steps:
- name: build
image: plugins/docker
image: docker.io/plugins/docker:latest
settings:
auto_tag_suffix: amd64
auto_tag: true
@ -370,7 +370,7 @@ steps:
path: /var/run/docker.sock
- name: notify
image: drillster/drone-email
image: docker.io/drillster/drone-email:latest
environment:
PLUGIN_HOST:
from_secret: smtp_host
@ -407,7 +407,7 @@ platform:
steps:
- name: build
image: plugins/docker
image: docker.io/plugins/docker:latest
settings:
auto_tag_suffix: arm64-v8
auto_tag: true
@ -427,7 +427,7 @@ steps:
path: /var/run/docker.sock
- name: notify
image: drillster/drone-email
image: docker.io/drillster/drone-email:latest
environment:
PLUGIN_HOST:
from_secret: smtp_host
@ -460,7 +460,7 @@ name: tagged-manifest
steps:
- name: build-manifest
image: plugins/manifest
image: docker.io/plugins/manifest:latest
settings:
auto_tag: true
ignore_missing: true
@ -483,8 +483,8 @@ steps:
from_secret: smtp_mail_address
resources:
limits:
cpu: 50
memory: 25M
cpu: 150
memory: 150M
when:
status:
- changed

View File

@ -1,4 +1,4 @@
FROM docker.io/library/rockylinux:8.5
FROM docker.io/library/rockylinux:8.6
ARG CREATEREPO_VERSION

View File

@ -1,11 +1,11 @@
# CREATEREPO_VERSION
# Only required to install a specifiy version
CREATEREPO_VERSION?=0.17.2
CREATEREPO_VERSION?=0.17.7
# CONTAINER_RUNTIME
# 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)
CONTAINER_RUNTIME?=$(shell which podman)
# CREATEREPO_IMAGE_REGISTRY_NAME
# Defines the name of the new container to be built using several variables.

View File

@ -4,6 +4,33 @@
[![Docker Pulls](https://img.shields.io/docker/pulls/volkerraschek/createrepo)](https://hub.docker.com/r/volkerraschek/createrepo)
This project contains all sources to build the container image
`docker.io/volkerraschek/createrepo`. 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 not provide or based on RHEL.
`docker.io/volkerraschek/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.
## 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.
### Installation
The script can be installed via the following command:
```bash
curl https://git.cryptic.systems/volker.raschek/createrepo-docker/raw/branch/master/createrepo.sh --output - | sudo tee /usr/local/bin/createrepo.sh && sudo chmod +x /usr/local/bin/createrepo.sh
```
### 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.
```bash
createrepo.sh --update . # Update local repository
createrepo.sh --update /var/www/my-repo # Update repository based on specific path
```

20
createrepo.sh Normal file
View File

@ -0,0 +1,20 @@
#!/bin/bash
set -e
CONTAINER_RUNTIME=$(which docker)
CREATEREPO_IMAGE_FULLY_QUALIFIED=docker.io/volkerraschek/createrepo:0.17.2
CUSTOM_UID=$(getent passwd ${USER} | cut -d ':' -f 3)
CUSTOM_GID=$(getent passwd ${USER} | cut -d ':' -f 4)
# Extract last element of passed arguments
REPO_DIR=${@: -1}
${CONTAINER_RUNTIME} run \
--rm \
--volume ${REPO_DIR}:${REPO_DIR} \
--workdir ${REPO_DIR} \
--user ${CUSTOM_UID}:${CUSTOM_GID} \
${CREATEREPO_IMAGE_FULLY_QUALIFIED} ${@}

View File

@ -10,25 +10,20 @@
"automerge": true,
"matchManagers": "droneci",
"matchUpdateTypes": [ "minor", "patch"]
},
{
"addLabels": [ "renovate/createrepo", "renovate/automerge" ],
"automerge": false,
"matchPackageNames": [ "createrepo" ],
"matchManagers": [ "regex" ]
}
],
"rebaseLabel": "renovate/rebase",
"rebaseWhen": "behind-base-branch",
"regexManagers": [
{
"description": "Update version",
"description": "Update container image of createrepo.sh",
"fileMatch": [
"^Makefile$"
"^createrepo.sh$"
],
"matchStrings": [
"CREATE_REPO_VERSION\\?=(?<currentValue>.*) # renovate: datasource=(?<datasource>.*) depName=(?<depName>.*)( lookupName=(?<lookupName>.*))?( versioning=(?<versioning>.*))?"
]
"^CREATEREPO_IMAGE_FULLY_QUALIFIED=(?<depName>.*):(?<currentValue>.*)$"
],
"datasourceTemplate": "docker"
}
]
}