chore: remove keycloak-25 (superseded by -26), ripe-atlas (provided by upstream repo) and woodpecker (no longer used)
All checks were successful
/ ansible-semaphore (push) Successful in 1m54s
/ daliserver (push) Successful in 1m47s
/ forgejo (push) Successful in 2m56s
/ forgejo-runner (push) Successful in 1m13s
/ http-mqtt-bridge (push) Successful in 2m48s
/ keycloak-26 (push) Successful in 3m39s
/ linux-diversion-ath-regd-optional (push) Successful in 12m38s
/ lottieconverter (push) Successful in 47s
/ matterbridge (push) Successful in 2m16s
/ matrix-element-web (push) Successful in 2m16s
/ matrix-hydrogen (push) Successful in 1m7s
/ matrix.to (push) Successful in 3m27s
/ maubot (push) Successful in 5m7s
/ maubot-plugin-spaceapi (push) Successful in 1m24s
/ maubot-plugin-ultimaker (push) Successful in 1m16s
/ mautrix-signal (push) Successful in 1m10s
/ mautrix-telegram (push) Successful in 1m5s
/ mediawiki-extension-auth-remoteuser (push) Successful in 1m7s
/ mediawiki-extension-nativesvghandler (push) Successful in 52s
/ mediawiki-extension-openidconnect (push) Successful in 1m22s
/ mediawiki-extension-pluggableauth (push) Successful in 24s
/ mqtt2prometheus (push) Successful in 1m12s
/ prometheus-ipmi-exporter (push) Successful in 1m0s
/ prometheus-dnsbl-exporter (push) Successful in 51s
/ prometheus2influxdb (push) Successful in 54s
/ python3-mautrix (push) Successful in 21s
/ python3-telethon (push) Successful in 1m8s
/ repo.s3lph.me-apt-source (push) Successful in 15s
/ republik-feeder (push) Successful in 1m6s

This commit is contained in:
s3lph 2024-10-04 15:15:40 +02:00
parent cdf3074fbb
commit 630f4ca015
Signed by: s3lph
GPG key ID: 0AA29A52FB33CFB5
38 changed files with 0 additions and 823 deletions

View file

@ -38,7 +38,6 @@ jobs:
forgejo: *job forgejo: *job
forgejo-runner: *job forgejo-runner: *job
http-mqtt-bridge: *job http-mqtt-bridge: *job
keycloak-25: *job
keycloak-26: *job keycloak-26: *job
linux-diversion-ath-regd-optional: *job linux-diversion-ath-regd-optional: *job
lottieconverter: *job lottieconverter: *job
@ -63,6 +62,3 @@ jobs:
python3-telethon: *job python3-telethon: *job
repo.s3lph.me-apt-source: *job repo.s3lph.me-apt-source: *job
republik-feeder: *job republik-feeder: *job
ripe-atlas: *job
woodpecker-agent: *job
woodpecker-cli: *job

View file

@ -14,7 +14,6 @@ information, please see [https://repo.s3lph.me/](https://repo.s3lph.me/).
- [forgejo](https://codeberg.org/forgejo/forgejo) - [forgejo](https://codeberg.org/forgejo/forgejo)
- [forgejo-runner](https://code.forgejo.org/forgejo/runner) - [forgejo-runner](https://code.forgejo.org/forgejo/runner)
- [http-mqtt-bridge](https://github.com/subzerobo/http-mqtt-bridge) - [http-mqtt-bridge](https://github.com/subzerobo/http-mqtt-bridge)
- [keycloak-25](https://github.com/keycloak/keycloak)
- [keycloak-26](https://github.com/keycloak/keycloak) - [keycloak-26](https://github.com/keycloak/keycloak)
- [linux-diversion-ath-regd-optional](https://github.com/twisteroidambassador/arch-linux-ath-user-regd/issues/1) - [linux-diversion-ath-regd-optional](https://github.com/twisteroidambassador/arch-linux-ath-user-regd/issues/1)
- [lottieconverter](https://github.com/sot-tech/LottieConverter) - [lottieconverter](https://github.com/sot-tech/LottieConverter)
@ -39,9 +38,3 @@ information, please see [https://repo.s3lph.me/](https://repo.s3lph.me/).
- [python3-telethon](https://github.com/tulir/Telethon) - [python3-telethon](https://github.com/tulir/Telethon)
- [repo.s3lph.me-apt-source](https://repo.s3lph.me) - [repo.s3lph.me-apt-source](https://repo.s3lph.me)
- [republik-feeder](https://github.com/maetthu/republik-feeder) - [republik-feeder](https://github.com/maetthu/republik-feeder)
- [ripe-atlas-anchor](https://github.com/RIPE-NCC/ripe-atlas-software-probe)
- [ripe-atlas-common](https://github.com/RIPE-NCC/ripe-atlas-software-probe)
- [ripe-atlas-probe](https://github.com/RIPE-NCC/ripe-atlas-software-probe)
- [woodpecker-agent](https://github.com/woodpecker-ci/woodpecker)
- [woodpecker-cli](https://github.com/woodpecker-ci/woodpecker)
- [woodpecker-server](https://github.com/woodpecker-ci/woodpecker)

View file

@ -1,68 +0,0 @@
#!/bin/bash
set -exo pipefail
. ../.skel/helpers.sh
MAJOR_VERSION=25
export PKGNAME="keycloak-${MAJOR_VERSION}"
API_URL="https://api.github.com/repos/keycloak/keycloak/releases"
JQ_EXPR='.[] | select( .prerelease==false and .draft==false and .target_commitish=="main" ) | "\(.name) \(.published_at) \(.assets[] | select( .name|test("keycloak-'${MAJOR_VERSION}'.*.tar.gz$") ).browser_download_url)"'
ROOT=$(pwd)
function fetch() {
cd "${SRCDIR}"
wget "${URL}" --output-document "keycloak-${VERSION}.tar.gz"
tar -xf "keycloak-${VERSION}.tar.gz"
}
function prepare() {
mkdir -p \
"${PKGDIR}/DEBIAN" \
"${PKGDIR}/opt/" \
"${PKGDIR}/lib/systemd/system" \
"${PKGDIR}/etc/apache2/sites-available" \
"${PKGDIR}/usr/share/doc/${PKGNAME}"
cp -r "${SRCDIR}/keycloak-${VERSION}" "${PKGDIR}/opt/keycloak/"
mv "${PKGDIR}/opt/keycloak/conf" "${PKGDIR}/etc/keycloak/"
ln -s /etc/keycloak "${PKGDIR}/opt/keycloak/conf"
mkdir -p \
"${PKGDIR}/opt/keycloak/data" \
"${PKGDIR}/opt/keycloak/ObjectStore"
rm "${PKGDIR}/opt/keycloak/bin/kc.bat" \
"${PKGDIR}/etc/keycloak/README.md"
cp "${ROOT}/debian.control" "${PKGDIR}/DEBIAN/control"
cp "${ROOT}/debian.conffiles" "${PKGDIR}/DEBIAN/conffiles"
cp "${ROOT}/debian.postinst" "${PKGDIR}/DEBIAN/postinst"
cp "${ROOT}/keycloak.service" "${PKGDIR}/lib/systemd/system/"
cp "${ROOT}/keycloak.site.conf" "${PKGDIR}/etc/apache2/sites-available/"
sed -re "s/__VERSION__/${VERSION}/g" -i "${PKGDIR}/DEBIAN/control"
sed -re "s/__MAINTAINER__/${MAINTAINER}/g" -i "${PKGDIR}/DEBIAN/control"
cp "${ROOT}/debian.copyright" "${PKGDIR}/usr/share/doc/${PKGNAME}/copyright"
github_changelog keycloak/keycloak
find "${PKGDIR}" -exec touch -m --reference "${SRCDIR}/keycloak-${VERSION}/version.txt" {} \;
}
function package() {
cd "${BUILDDIR}"
dpkg-deb --build "${PKGDIR}" "${BUILDDIR}"
}
function build() {
read VERSION ISODATE URL <<<$(curl "${API_URL}" | jq -r "${JQ_EXPR}" | head -1)
export VERSION
export ISODATE
export URL
export BUILDDIR=${ROOT}/build
export SRCDIR=${ROOT}/build/srcdir
export PKGDIR=${ROOT}/build/pkgdir
mkdir -p ${SRCDIR} ${PKGDIR}
fetch
prepare
package
}
build

View file

@ -1,3 +0,0 @@
/etc/apache2/sites-available/keycloak.site.conf
/etc/keycloak/cache-ispn.xml
/etc/keycloak/keycloak.conf

View file

@ -1,16 +0,0 @@
Package: keycloak-25
Version: __VERSION__
Maintainer: __MAINTAINER__
Section: web
Priority: optional
Architecture: all
Depends: default-jdk-headless (>=2:1.17), default-jdk-headless (<<2:1.22)
Suggests: apache2, postgresql
Provides: keycloak
Conflicts: keycloak
Replaces: keycloak
Description: Open Source Identity and Access Management
Add authentication to applications and secure services with minimum
effort. No need to deal with storing users or authenticating users.
Keycloak provides user federation, strong authentication, user
management, fine-grained authorization, and more.

View file

@ -1,6 +0,0 @@
Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
Source: https://github.com/keycloak/keycloak
Files: *
License: Apache-2.0

View file

@ -1,22 +0,0 @@
#!/bin/bash
set -e
if [[ "$1" == "configure" ]]; then
if ! getent group keycloak >/dev/null; then
groupadd --system keycloak
fi
if ! getent passwd keycloak >/dev/null; then
useradd --system --gid keycloak --home-dir /opt/keycloak --shell /bin/false keycloak
fi
chown root:keycloak /opt/keycloak /etc/keycloak
chown keycloak:keycloak -R /opt/keycloak/lib/quarkus /opt/keycloak/data /opt/keycloak/ObjectStore
chmod 0750 /etc/keycloak
deb-systemd-helper enable keycloak.service
deb-systemd-invoke restart keycloak.service
fi

View file

@ -1,16 +0,0 @@
[Unit]
Description=Keycloak
#Requires=mysql.service
#Requires=mariadb.service
#Requires=postgresql.service
[Service]
ExecStart=/opt/keycloak/bin/kc.sh start
Restart=always
User=keycloak
Group=keycloak
WorkingDirectory=/opt/keycloak
CapabilityBoundingSet=
[Install]
WantedBy=multi-user.target

View file

@ -1,31 +0,0 @@
<VirtualHost *:80>
ServerName keycloak.example.org
DocumentRoot /var/www/html
ProxyPass /js/ http://localhost:8080/js/
ProxyPassReverse /js/ http://localhost:8080/js/
ProxyPass /realms/ http://localhost:8080/realms/
ProxyPassReverse /realms/ http://localhost:8080/realms/
ProxyPass /resources/ http://localhost:8080/resources/
ProxyPassReverse /resources/ http://localhost:8080/resources/
# Redirect root to user account management
RewriteEngine on
RewriteRule ^/?$ /realms/EXAMPLE/account [L,R]
## Test client that dumps the id_token
#OIDCProviderMetadataURL https://keycloak.example.org/realms/EXAMPLE/.well-known/openid-configuration
#OIDCClientID foo
#OIDCClientSecret bar
#OIDCRedirectURI https://keycloak.example.org/test-client/redirect
#OIDCCryptoPassphrase supersecurepassword
#OIDCInfoHook id_token
#<Location /test-client>
# AuthType openid-connect
# Require valid-user
# RewriteRule .* /test-client/redirect?info=html
#</Location>
</VirtualHost>

View file

@ -1,17 +0,0 @@
#!/bin/bash
set -exo pipefail
ROOT=$(pwd)
export BUILDDIR="${ROOT}/build"
export SRCDIR="${ROOT}/build/srcdir"
mkdir -p "${SRCDIR}"
cd "${SRCDIR}"
apt install --yes git build-essential debhelper libssl-dev autotools-dev
git clone --recursive https://github.com/RIPE-NCC/ripe-atlas-software-probe
cd ripe-atlas-software-probe
git submodule update
dpkg-buildpackage -b -us -uc
mv ../ripe-atlas-*.deb "${BUILDDIR}"

View file

@ -1 +0,0 @@
{}

View file

@ -1,58 +0,0 @@
#!/bin/bash
set -exo pipefail
API_URL=https://api.github.com/repos/woodpecker-ci/woodpecker/releases
JQ_EXPR='.[] | select( .prerelease==false and .draft==false ) | "\(.tag_name[1:]) \(.published_at) \(.assets[] | select( .name=="woodpecker-agent_linux_amd64.tar.gz" ).browser_download_url)"'
ROOT=$(pwd)
BUILDDIR=${ROOT}/build
SRCDIR=${BUILDDIR}/srcdir
PKGDIR=${BUILDDIR}/pkgdir
function fetch() {
cd "${SRCDIR}"
wget "${URL}" --output-document "woodpecker-agent-${VERSION}-linux-amd64.tar.gz"
tar -xf "woodpecker-agent-${VERSION}-linux-amd64.tar.gz"
}
function prepare() {
mkdir -p \
"${PKGDIR}/DEBIAN" \
"${PKGDIR}/usr/bin" \
"${PKGDIR}/etc/default" \
"${PKGDIR}/etc/woodpecker" \
"${PKGDIR}/var/lib/woodpecker/data" \
"${PKGDIR}/lib/systemd/system"
cp "${SRCDIR}/woodpecker-agent" "${PKGDIR}/usr/bin/woodpecker-agent"
cp "${ROOT}/woodpecker-agent.service" "${PKGDIR}/lib/systemd/system/woodpecker-agent.service"
cp "${ROOT}/debian.control" "${PKGDIR}/DEBIAN/control"
cp "${ROOT}/debian.conffiles" "${PKGDIR}/DEBIAN/conffiles"
cp "${ROOT}/debian.postinst" "${PKGDIR}/DEBIAN/postinst"
cp "${ROOT}/debian.prerm" "${PKGDIR}/DEBIAN/prerm"
cp "${ROOT}/debian.postrm" "${PKGDIR}/DEBIAN/postrm"
cp "${ROOT}/woodpecker-agent.default" "${PKGDIR}/etc/default/woodpecker-agent"
cp "${ROOT}/agent.conf" "${PKGDIR}/etc/woodpecker/agent.conf"
sed -re "s/__VERSION__/${VERSION}/g" -i "${PKGDIR}/DEBIAN/control"
sed -re "s/__MAINTAINER__/${MAINTAINER}/g" -i "${PKGDIR}/DEBIAN/control"
find "${PKGDIR}" -exec touch -m -r "${SRCDIR}/woodpecker-agent" {} \;
}
function package() {
cd "${BUILDDIR}"
dpkg-deb --build "${PKGDIR}" "${BUILDDIR}"
}
function build() {
read VERSION ISODATE URL <<<$(curl "${API_URL}" | jq -r "${JQ_EXPR}" | head -1)
export VERSION
export ISODATE
export URL
mkdir -p "${SRCDIR}" "${PKGDIR}"
fetch
prepare
package
}
build

View file

@ -1,2 +0,0 @@
/etc/default/woodpecker-agent
/etc/woodpecker/agent.conf

View file

@ -1,10 +0,0 @@
Package: woodpecker-agent
Version: __VERSION__
Maintainer: __MAINTAINER__
Section: web
Priority: optional
Architecture: amd64
Depends: docker.io
Description: Woodpecker CI Agent
Woodpecker is a simple CI engine with great extensibility. This is the
agent compoment which runs the individual Docker pipelines.

View file

@ -1,21 +0,0 @@
#!/bin/bash
set -e
if [[ "$1" == "configure" ]]; then
if ! getent group woodpecker >/dev/null; then
groupadd --system woodpecker
fi
if ! getent passwd woodpecker >/dev/null; then
useradd --system --gid woodpecker --groups docker --home-dir /var/lib/woodpecker --shell /bin/sh woodpecker
fi
chown woodpecker:woodpecker /var/lib/woodpecker /etc/woodpecker /etc/woodpecker/agent.conf
chmod 0750 /var/lib/woodpecker /etc/woodpecker
deb-systemd-helper enable woodpecker-agent.service
deb-systemd-invoke restart woodpecker-agent.service
fi

View file

@ -1,9 +0,0 @@
#!/bin/bash
set -e
if [[ "$1" == "remove" ]]; then
systemctl daemon-reload || true
fi

View file

@ -1,9 +0,0 @@
#!/bin/bash
set -e
if [[ "$1" == "remove" ]]; then
deb-systemd-invoke stop woodpecker-agent.service
fi

View file

@ -1,39 +0,0 @@
GODEBUG=netdns=go
#WOODPECKER_LOG_LEVEL=
#WOODPECKER_DEBUG_PRETTY=false
#WOODPECKER_DEBUG_NOCOLOR=true
#WOODPECKER_SERVER=localhost:9000
#WOODPECKER_USERNAME=x-oauth-basic
#WOODPECKER_AGENT_SECRET= same as in woodpecker server
#WOODPECKER_AGENT_SECRET_FILE=
#WOODPECKER_HOSTNAME=
#WOODPECKER_MAX_PROCS=1
#WOODPECKER_FILTER_LABELS=
#WOODPECKER_HEALTHCHECK=true
#WOODPECKER_KEEPALIVE_TIME=
#WOODPECKER_KEEPALIVE_TIMEOUT=20s
#WOODPECKER_GRPC_SECURE=false
#WOODPECKER_GRPC_VERIFY=true
#WOODPECKER_BACKEND=auto-detect
#
# Docker Backend
#
#WOODPECKER_BACKEND_DOCKER_NETWORK=
#WOODPECKER_BACKEND_DOCKER_ENABLE_IPV6=false
#DOCKER_SOCK=/run/docker.sock
#
# SSH Backend
#
#WOODPECKER_BACKEND_SSH_ADDRESS=
#WOODPECKER_BACKEND_SSH_USER=
#WOODPECKER_BACKEND_SSH_KEY=
#WOODPECKER_BACKEND_SSH_KEY_PASSWORD=
#WOODPECKER_BACKEND_SSH_PASSWORD=

View file

@ -1,10 +0,0 @@
[Unit]
Description=Woodpecker CI Agent
[Service]
ExecStart=/usr/bin/woodpecker-agent
User=woodpecker
EnvironmentFile=-/etc/default/woodpecker-agent
[Install]
WantedBy=multi-user.target

View file

@ -1 +0,0 @@
{}

View file

@ -1,58 +0,0 @@
#!/bin/bash
set -exo pipefail
API_URL=https://api.github.com/repos/woodpecker-ci/woodpecker/releases
JQ_EXPR='.[] | select( .prerelease==false and .draft==false ) | "\(.tag_name[1:]) \(.published_at) \(.assets[] | select( .name=="woodpecker-agent_linux_amd64.tar.gz" ).browser_download_url)"'
ROOT=$(pwd)
BUILDDIR=${ROOT}/build
SRCDIR=${BUILDDIR}/srcdir
PKGDIR=${BUILDDIR}/pkgdir
function fetch() {
cd "${SRCDIR}"
wget "${URL}" --output-document "woodpecker-agent-${VERSION}-linux-amd64.tar.gz"
tar -xf "woodpecker-agent-${VERSION}-linux-amd64.tar.gz"
}
function prepare() {
mkdir -p \
"${PKGDIR}/DEBIAN" \
"${PKGDIR}/usr/bin" \
"${PKGDIR}/etc/default" \
"${PKGDIR}/etc/woodpecker" \
"${PKGDIR}/var/lib/woodpecker/data" \
"${PKGDIR}/lib/systemd/system"
cp "${SRCDIR}/woodpecker-agent" "${PKGDIR}/usr/bin/woodpecker-agent"
cp "${ROOT}/woodpecker-agent.service" "${PKGDIR}/lib/systemd/system/woodpecker-agent.service"
cp "${ROOT}/debian.control" "${PKGDIR}/DEBIAN/control"
cp "${ROOT}/debian.conffiles" "${PKGDIR}/DEBIAN/conffiles"
cp "${ROOT}/debian.postinst" "${PKGDIR}/DEBIAN/postinst"
cp "${ROOT}/debian.prerm" "${PKGDIR}/DEBIAN/prerm"
cp "${ROOT}/debian.postrm" "${PKGDIR}/DEBIAN/postrm"
cp "${ROOT}/woodpecker-agent.default" "${PKGDIR}/etc/default/woodpecker-agent"
cp "${ROOT}/agent.conf" "${PKGDIR}/etc/woodpecker/agent.conf"
sed -re "s/__VERSION__/${VERSION}/g" -i "${PKGDIR}/DEBIAN/control"
sed -re "s/__MAINTAINER__/${MAINTAINER}/g" -i "${PKGDIR}/DEBIAN/control"
find "${PKGDIR}" -exec touch -m -r "${SRCDIR}/woodpecker-agent" {} \;
}
function package() {
cd "${BUILDDIR}"
dpkg-deb --build "${PKGDIR}" "${BUILDDIR}"
}
function build() {
read VERSION ISODATE URL <<<$(curl "${API_URL}" | jq -r "${JQ_EXPR}" | head -1)
export VERSION
export ISODATE
export URL
mkdir -p "${SRCDIR}" "${PKGDIR}"
fetch
prepare
package
}
build

View file

@ -1,2 +0,0 @@
/etc/default/woodpecker-agent
/etc/woodpecker/agent.conf

View file

@ -1,10 +0,0 @@
Package: woodpecker-agent
Version: __VERSION__
Maintainer: __MAINTAINER__
Section: web
Priority: optional
Architecture: amd64
Depends: docker.io
Description: Woodpecker CI Agent
Woodpecker is a simple CI engine with great extensibility. This is the
agent compoment which runs the individual Docker pipelines.

View file

@ -1,21 +0,0 @@
#!/bin/bash
set -e
if [[ "$1" == "configure" ]]; then
if ! getent group woodpecker >/dev/null; then
groupadd --system woodpecker
fi
if ! getent passwd woodpecker >/dev/null; then
useradd --system --gid woodpecker --groups docker --home-dir /var/lib/woodpecker --shell /bin/sh woodpecker
fi
chown woodpecker:woodpecker /var/lib/woodpecker /etc/woodpecker /etc/woodpecker/agent.conf
chmod 0750 /var/lib/woodpecker /etc/woodpecker
deb-systemd-helper enable woodpecker-agent.service
deb-systemd-invoke restart woodpecker-agent.service
fi

View file

@ -1,9 +0,0 @@
#!/bin/bash
set -e
if [[ "$1" == "remove" ]]; then
systemctl daemon-reload || true
fi

View file

@ -1,9 +0,0 @@
#!/bin/bash
set -e
if [[ "$1" == "remove" ]]; then
deb-systemd-invoke stop woodpecker-agent.service
fi

View file

@ -1,39 +0,0 @@
GODEBUG=netdns=go
#WOODPECKER_LOG_LEVEL=
#WOODPECKER_DEBUG_PRETTY=false
#WOODPECKER_DEBUG_NOCOLOR=true
#WOODPECKER_SERVER=localhost:9000
#WOODPECKER_USERNAME=x-oauth-basic
#WOODPECKER_AGENT_SECRET= same as in woodpecker server
#WOODPECKER_AGENT_SECRET_FILE=
#WOODPECKER_HOSTNAME=
#WOODPECKER_MAX_PROCS=1
#WOODPECKER_FILTER_LABELS=
#WOODPECKER_HEALTHCHECK=true
#WOODPECKER_KEEPALIVE_TIME=
#WOODPECKER_KEEPALIVE_TIMEOUT=20s
#WOODPECKER_GRPC_SECURE=false
#WOODPECKER_GRPC_VERIFY=true
#WOODPECKER_BACKEND=auto-detect
#
# Docker Backend
#
#WOODPECKER_BACKEND_DOCKER_NETWORK=
#WOODPECKER_BACKEND_DOCKER_ENABLE_IPV6=false
#DOCKER_SOCK=/run/docker.sock
#
# SSH Backend
#
#WOODPECKER_BACKEND_SSH_ADDRESS=
#WOODPECKER_BACKEND_SSH_USER=
#WOODPECKER_BACKEND_SSH_KEY=
#WOODPECKER_BACKEND_SSH_KEY_PASSWORD=
#WOODPECKER_BACKEND_SSH_PASSWORD=

View file

@ -1,10 +0,0 @@
[Unit]
Description=Woodpecker CI Agent
[Service]
ExecStart=/usr/bin/woodpecker-agent
User=woodpecker
EnvironmentFile=-/etc/default/woodpecker-agent
[Install]
WantedBy=multi-user.target

View file

@ -1,49 +0,0 @@
#!/bin/bash
set -exo pipefail
N_RELEASES=1
API_URL=https://api.github.com/repos/woodpecker-ci/woodpecker/releases
JQ_EXPR='.[] | select( .prerelease==false and .draft==false ) | "\(.tag_name[1:]) \(.published_at) \(.assets[] | select( .name=="woodpecker-cli_linux_amd64.tar.gz" ).browser_download_url)"'
ROOT=$(pwd)
BUILDDIR=${ROOT}/build/
SRCDIR=${ROOT}/build/srcdir
PKGDIR=${ROOT}/build/pkgdir
function fetch() {
cd "${SRCDIR}"
wget "${URL}" --output-document "woodpecker-cli-${VERSION}-linux-amd64.tar.gz"
tar xf "woodpecker-cli-${VERSION}-linux-amd64.tar.gz"
}
function prepare() {
chmod +x "${SRCDIR}/woodpecker-cli"
mkdir -p \
"${PKGDIR}/DEBIAN" \
"${PKGDIR}/usr/bin"
cp "${SRCDIR}/woodpecker-cli" "${PKGDIR}/usr/bin/woodpecker"
cp "${ROOT}/debian.control" "${PKGDIR}/DEBIAN/control"
sed -re "s/__VERSION__/${VERSION}/g" -i "${PKGDIR}/DEBIAN/control"
sed -re "s/__MAINTAINER__/${MAINTAINER}/g" -i "${PKGDIR}/DEBIAN/control"
find "${PKGDIR}" -exec touch -m -d "${ISODATE}" {} \;
}
function package() {
cd "${BUILDDIR}"
dpkg-deb --build "${PKGDIR}" "${BUILDDIR}"
}
function build() {
read VERSION ISODATE URL <<<$(curl "${API_URL}" | jq -r "${JQ_EXPR}" | head "-${N_RELEASES}")
export VERSION
export ISODATE
export URL
mkdir -p "${SRCDIR}" "${PKGDIR}"
fetch
prepare
package
}
build

View file

@ -1,8 +0,0 @@
Package: woodpecker-cli
Version: __VERSION__
Maintainer: __MAINTAINER__
Section: web
Priority: optional
Architecture: amd64
Description: CLI for the Woodpecker CI server
Command line client for the Woodpecker continuous integration server.

View file

@ -1,56 +0,0 @@
#!/bin/bash
set -exo pipefail
API_URL=https://api.github.com/repos/woodpecker-ci/woodpecker/releases
JQ_EXPR='.[] | select( .prerelease==false and .draft==false ) | "\(.tag_name[1:]) \(.published_at) \(.assets[] | select( .name=="woodpecker-server_linux_amd64.tar.gz" ).browser_download_url)"'
ROOT=$(pwd)
BUILDDIR=${ROOT}/build
SRCDIR=${BUILDDIR}/srcdir
PKGDIR=${BUILDDIR}/pkgdir
function fetch() {
cd "${SRCDIR}"
wget "${URL}" --output-document "woodpecker-server-${VERSION}-linux-amd64.tar.gz"
tar -xf "woodpecker-server-${VERSION}-linux-amd64.tar.gz"
}
function prepare() {
mkdir -p \
"${PKGDIR}/DEBIAN" \
"${PKGDIR}/usr/bin" \
"${PKGDIR}/etc/default" \
"${PKGDIR}/var/lib/woodpecker/data" \
"${PKGDIR}/lib/systemd/system"
cp "${SRCDIR}/woodpecker-server" "${PKGDIR}/usr/bin/woodpecker-server"
cp "${ROOT}/woodpecker-server.service" "${PKGDIR}/lib/systemd/system/woodpecker-server.service"
cp "${ROOT}/debian.control" "${PKGDIR}/DEBIAN/control"
cp "${ROOT}/debian.conffiles" "${PKGDIR}/DEBIAN/conffiles"
cp "${ROOT}/debian.postinst" "${PKGDIR}/DEBIAN/postinst"
cp "${ROOT}/debian.prerm" "${PKGDIR}/DEBIAN/prerm"
cp "${ROOT}/debian.postrm" "${PKGDIR}/DEBIAN/postrm"
cp "${ROOT}/woodpecker-server.default" "${PKGDIR}/etc/default/woodpecker-server"
sed -re "s/__VERSION__/${VERSION}/g" -i "${PKGDIR}/DEBIAN/control"
sed -re "s/__MAINTAINER__/${MAINTAINER}/g" -i "${PKGDIR}/DEBIAN/control"
find "${PKGDIR}" -exec touch -m -r "${SRCDIR}/woodpecker-server" {} \;
}
function package() {
cd "${BUILDDIR}"
dpkg-deb --build "${PKGDIR}" "${BUILDDIR}"
}
function build() {
read VERSION ISODATE URL <<<$(curl "${API_URL}" | jq -r "${JQ_EXPR}" | head -1)
export VERSION
export ISODATE
export URL
mkdir -p "${SRCDIR}" "${PKGDIR}"
fetch
prepare
package
}
build

View file

@ -1 +0,0 @@
/etc/default/woodpecker-server

View file

@ -1,10 +0,0 @@
Package: woodpecker-server
Version: __VERSION__
Maintainer: __MAINTAINER__
Section: web
Priority: optional
Architecture: amd64
Recommends: woodpecker-cli
Description: Woodpecker CI Server
Woodpecker is a simple CI engine with great extensibility. This is the
server component with the web interface and agent controller.

View file

@ -1,21 +0,0 @@
#!/bin/bash
set -e
if [[ "$1" == "configure" ]]; then
if ! getent group woodpecker >/dev/null; then
groupadd --system woodpecker
fi
if ! getent passwd woodpecker >/dev/null; then
useradd --system --gid woodpecker --groups docker --home-dir /var/lib/woodpecker --shell /bin/sh woodpecker
fi
chown woodpecker:woodpecker /var/lib/woodpecker /var/lib/woodpecker/data
chmod 0750 /var/lib/woodpecker /var/lib/woodpecker/data
deb-systemd-helper enable woodpecker-server.service
deb-systemd-invoke restart woodpecker-server.service
fi

View file

@ -1,9 +0,0 @@
#!/bin/bash
set -e
if [[ "$1" == "remove" ]]; then
systemctl daemon-reload || true
fi

View file

@ -1,9 +0,0 @@
#!/bin/bash
set -e
if [[ "$1" == "remove" ]]; then
deb-systemd-invoke stop woodpecker-server.service
fi

View file

@ -1,140 +0,0 @@
XDG_CACHE_HOME=/var/lib/woodpecker/data
GODEBUG=netdns=go
#WOODPECKER_LOG_LEVEL=
#WOODPECKER_DEBUG_PRETTY=false
#WOODPECKER_DEBUG_NOCOLOR=true
WOODPECKER_HOST=http://localhost:8080
WOODPECKER_SERVER_ADDR=localhost:8080
#WOODPECKER_SERVER_CERT=
#WOODPECKER_SERVER_KEY=
#WOODPECKER_LETS_ENCRYPT=false
#WOODPECKER_GRPC_ADDR=localhost:9000
#WOODPECKER_ADMIN=
#WOODPECKER_ORGS=
#WOODPECKER_REPO_OWNERS=
#WOODPECKER_OPEN=false
#WOODPECKER_DOCS=https://woodpecker-ci.org/
#WOODPECKER_AUTHENTICATE_PUBLIC_REPOS=false
#WOODPECKER_DEFAULT_CANCEL_PREVIOUS_PIPELINE_EVENTS=pull_request,push
#WOODPECKER_DEFAULT_CLONE_IMAGE=woodpeckerci/plugin-git:latest
#WOODPECKER_SESSION_EXPIRES=72h
#WOODPECKER_ESCALATE=plugins/docker,plugins/gcr,plugins/ecr,woodpeckerci/plugin-docker,woodpeckerci/plugin-docker-buildx
#WOODPECKER_DOCKER_CONFIG=
#WOODPECKER_AGENT_SECRET= generate with `openssl rand -hex 32`
#WOODPECKER_AGENT_SECRET_FILE=
#WOODPECKER_KEEPALIVE_MIN_TIME=
WOODPECKER_DATABASE_DRIVER=sqlite3
WOODPECKER_DATABASE_DATASOURCE=/var/lib/woodpecker/data/database.sqlite
#WOODPECKER_DATABASE_DATASOURCE_FILE=
#WOODPECKER_PROMETHEUS_AUTH_TOKEN=
#WOODPECKER_PROMETHEUS_AUTH_TOKEN_FILE=
#WOODPECKER_STATUS_CONTEXT=ci/woodpecker
#WOODPECKER_STATUS_CONTEXT_FORMAT={{ .context }}/{{ .event }}/{{ .pipeline }}
#WOODPECKER_LIMIT_MEM_SWAP=0
#WOODPECKER_LIMIT_MEM=0
#WOODPECKER_LIMIT_SHM_SIZE=0
#WOODPECKER_LIMIT_CPU_QUOTA=0
#WOODPECKER_LIMIT_CPU_SHARES=0
#WOODPECKER_LIMIT_CPU_SET=0
#WOODPECKER_CONFIG_SERVICE_ENDPOINT=
#
# GitHub Integration
#
#WOODPECKER_GITHUB=false
#WOODPECKER_GITHUB_URL=https://github.com
#WOODPECKER_GITHUB_CLIENT=
#WOODPECKER_GITHUB_CLIENT_FILE=
#WOODPECKER_GITHUB_SECRET=
#WOODPECKER_GITHUB_SECRET_FILE=
#WOODPECKER_GITHUB_MERGE_REF=true
#WOODPECKER_GITEA_SKIP_VERIFY=false
#
# Gogs Integration
#
#WOODPECKER_GOGS=false
#WOODPECKER_GOGS_URL=https://try.gogs.io
#WOODPECKER_GOGS_GIT_USERNAME=
#WOODPECKER_GOGS_GIT_USERNAME_FILE=
#WOODPECKER_GOGS_GIT_PASSWORD=
#WOODPECKER_GOGS_GIT_PASSWORD_FILE=
#WOODPECKER_GOGS_PRIVATE_MODE=false
#WOODPECKER_GOGS_SKIP_VERIFY=false
#
# Gitea Integration
#
#WOODPECKER_GITEA=false
#WOODPECKER_GITEA_URL=https://try.gitea.io
#WOODPECKER_GITEA_CLIENT=
#WOODPECKER_GITEA_CLIENT_FILE=
#WOODPECKER_GITEA_SECRET=
#WOODPECKER_GITEA_SECRET_FILE=
#WOODPECKER_GITEA_SKIP_VERIFY=false
#
# Atlassian Bitbucket Integration
#
#WOODPECKER_BITBUCKET=false
#WOODPECKER_BITBUCKET_CLIENT=
#WOODPECKER_BITBUCKET_CLIENT_FILE=
#WOODPECKER_BITBUCKET_SECRET=
#WOODPECKER_BITBUCKET_SECRET_FILE=
#
# Atlassian Stash Integration
#
#WOODPECKER_STASH=false
#WOODPECKER_STASH=
#WOODPECKER_STASH_CONSUMER_KEY=
#WOODPECKER_STASH_CONSUMER_KEY_FILE=
#WOODPECKER_STASH_CONSUMER_RSA=
#WOODPECKER_STASH_CONSUMER_RSA_STRING=
#WOODPECKER_STASH_GIT_USERNAME=
#WOODPECKER_STASH_GIT_USERNAME_FILE=
#WOODPECKER_STASH_GIT_PASSWORD=
#WOODPECKER_STASH_GIT_PASSWORD_FILE=
#WOODPECKER_STASH_SKIP_VERIFY=
#
# Gitlab Integration
#
#WOODPECKER_GITLAB=false
#WOODPECKER_GITLAB_URL=https://gitlab.com
#WOODPECKER_GITLAB_CLIENT=
#WOODPECKER_GITLAB_CLIENT_FILE=
#WOODPECKER_GITLAB_SECRET=
#WOODPECKER_GITLAB_SECRET_FILE=
#WOODPECKER_GITLAB_SKIP_VERIFY=
#
# Coding Integration
#
#WOODPECKER_CODING=false
#WOODPECKER_CODING_URL=https://coding.net
#WOODPECKER_CODING_CLIENT=
#WOODPECKER_CODING_CLIENT_FILE=
#WOODPECKER_CODING_SECRET=
#WOODPECKER_CODING_SECRET_FILE=
#WOODPECKER_CODING_SCOPE=
#WOODPECKER_CODING_GIT_MACHINE=
#WOODPECKER_CODING_GIT_USERNAME=
#WOODPECKER_CODING_GIT_USERNAME_FILE=
#WOODPECKER_CODING_GIT_PASSWORD=
#WOODPECKER_CODING_GIT_PASSWORD_FILE=
#WOODPECKER_CODING_SKIP_VERIFY=

View file

@ -1,12 +0,0 @@
[Unit]
Description=Woodpecker CI Server
[Service]
ExecStart=/usr/bin/woodpecker-server
User=woodpecker
EnvironmentFile=-/etc/default/woodpecker-server
AmbientCapabilities=CAP_NET_BIND_SERVICE
CapabilityBoundingSet=CAP_NET_BIND_SERVICE
[Install]
WantedBy=multi-user.target