ilot/authentik: add check, rework packages #26
4 changed files with 180 additions and 40 deletions
|
@ -19,7 +19,8 @@ jobs:
|
||||||
steps:
|
steps:
|
||||||
- name: Environment setup
|
- name: Environment setup
|
||||||
run: |
|
run: |
|
||||||
doas apk add nodejs git patch curl
|
doas apk add nodejs git patch curl net-tools
|
||||||
|
doas hostname host.docker.internal
|
||||||
cd /etc/apk/keys
|
cd /etc/apk/keys
|
||||||
doas curl -JO https://forge.ilot.io/api/packages/ilot/alpine/key
|
doas curl -JO https://forge.ilot.io/api/packages/ilot/alpine/key
|
||||||
- name: Repo pull
|
- name: Repo pull
|
||||||
|
|
|
@ -19,7 +19,8 @@ jobs:
|
||||||
steps:
|
steps:
|
||||||
- name: Environment setup
|
- name: Environment setup
|
||||||
run: |
|
run: |
|
||||||
doas apk add nodejs git patch curl
|
doas apk add nodejs git patch curl net-tools
|
||||||
|
doas hostname host.docker.internal
|
||||||
cd /etc/apk/keys
|
cd /etc/apk/keys
|
||||||
doas curl -JO https://forge.ilot.io/api/packages/ilot/alpine/key
|
doas curl -JO https://forge.ilot.io/api/packages/ilot/alpine/key
|
||||||
- name: Repo pull
|
- name: Repo pull
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
# Maintainer: Antoine Martin (ayakael) <dev@ayakael.net>
|
# Maintainer: Antoine Martin (ayakael) <dev@ayakael.net>
|
||||||
pkgname=authentik
|
pkgname=authentik
|
||||||
pkgver=2024.8.2
|
pkgver=2024.8.2
|
||||||
pkgrel=0
|
pkgrel=1
|
||||||
pkgdesc="An open-source Identity Provider focused on flexibility and versatility"
|
pkgdesc="An open-source Identity Provider focused on flexibility and versatility"
|
||||||
url="https://github.com/goauthentik/authentik"
|
url="https://github.com/goauthentik/authentik"
|
||||||
# s390x: missing py3-celery py3-flower and py3-kombu
|
# s390x: missing py3-celery py3-flower and py3-kombu
|
||||||
|
@ -153,14 +153,21 @@ depends="
|
||||||
py3-yarl
|
py3-yarl
|
||||||
py3-zope-interface
|
py3-zope-interface
|
||||||
py3-zxcvbn
|
py3-zxcvbn
|
||||||
redis
|
valkey
|
||||||
uvicorn
|
uvicorn
|
||||||
"
|
"
|
||||||
makedepends="go npm"
|
makedepends="go npm"
|
||||||
# checkdepends scooped up by poetry due to number
|
checkdepends="
|
||||||
checkdepends="poetry py3-coverage"
|
py3-pip
|
||||||
# tests disabled for now
|
py3-coverage
|
||||||
options="!check"
|
py3-pytest
|
||||||
|
py3-pytest-django
|
||||||
|
py3-pytest-randomly
|
||||||
|
py3-pytest-timeout
|
||||||
|
py3-freezegun
|
||||||
|
py3-boto3
|
||||||
|
py3-requests-mock
|
||||||
|
"
|
||||||
install="$pkgname.post-install $pkgname.post-upgrade $pkgname.pre-install"
|
install="$pkgname.post-install $pkgname.post-upgrade $pkgname.pre-install"
|
||||||
source="
|
source="
|
||||||
$pkgname-$pkgver.tar.gz::https://github.com/goauthentik/authentik/archive/refs/tags/version/$pkgver.tar.gz
|
$pkgname-$pkgver.tar.gz::https://github.com/goauthentik/authentik/archive/refs/tags/version/$pkgver.tar.gz
|
||||||
|
@ -174,7 +181,7 @@ source="
|
||||||
go-downgrade-1.22.patch
|
go-downgrade-1.22.patch
|
||||||
"
|
"
|
||||||
builddir="$srcdir/"authentik-version-$pkgver
|
builddir="$srcdir/"authentik-version-$pkgver
|
||||||
subpackages="$pkgname-openrc $pkgname-doc"
|
subpackages="$pkgname-openrc $pkgname-doc $pkgname-pyc"
|
||||||
pkgusers="authentik"
|
pkgusers="authentik"
|
||||||
pkggroups="authentik"
|
pkggroups="authentik"
|
||||||
|
|
||||||
|
@ -204,55 +211,126 @@ build() {
|
||||||
npm run build
|
npm run build
|
||||||
}
|
}
|
||||||
|
|
||||||
|
check() {
|
||||||
|
msg "Setting up test environments"
|
||||||
|
export POSTGRES_DB=authentik
|
||||||
|
export POSTGRES_USER=authentik
|
||||||
|
export POSTGRES_PASSWORD="EK-5jnKfjrGRm<77"
|
||||||
|
export AUTHENTIK_POSTGRESQL__TEST__NAME=authentik
|
||||||
|
|
||||||
|
rm -Rf "$srcdir"/tmp
|
||||||
|
initdb -D "$srcdir"/tmp
|
||||||
|
postgres -D "$srcdir"/tmp --unix-socket-directories="$srcdir" > "$srcdir"/tmp/psql.log 2>&1 &
|
||||||
|
valkey-server > "$srcdir"/tmp/valkey.log 2>&1 &
|
||||||
|
trap "pkill valkey-server; pkill postgres" EXIT
|
||||||
|
sleep 5
|
||||||
|
psql -h "$srcdir" -d postgres -c "CREATE ROLE $POSTGRES_USER PASSWORD '$POSTGRES_PASSWORD' INHERIT LOGIN;"
|
||||||
|
psql -h "$srcdir" -d postgres -c "CREATE DATABASE $POSTGRES_DB OWNER $POSTGRES_USER ENCODING 'UTF-8';"
|
||||||
|
psql -h "$srcdir" -d postgres -c "CREATE DATABASE test_$POSTGRES_DB OWNER $POSTGRES_USER ENCODING 'UTF-8';"
|
||||||
|
|
||||||
|
# .github/actions/setup/action.yml: Generate config + csrf
|
||||||
|
python3 -c "
|
||||||
|
from authentik.lib.generators import generate_id
|
||||||
|
from yaml import safe_dump
|
||||||
|
|
||||||
|
with open(\"local.env.yml\", \"w\") as _config:
|
||||||
|
safe_dump(
|
||||||
|
{
|
||||||
|
\"log_level\": \"debug\",
|
||||||
|
\"secret_key\": generate_id(),
|
||||||
|
\"csrf\": { \"trusted_origins\": ['https://*']},
|
||||||
|
},
|
||||||
|
_config,
|
||||||
|
default_flow_style=False,
|
||||||
|
)
|
||||||
|
"
|
||||||
|
python -m lifecycle.migrate
|
||||||
|
|
||||||
|
# no selenium package
|
||||||
|
pip install selenium drf_jsonschema_serializer pdoc --break-system-packages
|
||||||
|
|
||||||
|
msg "Starting tests"
|
||||||
|
make test
|
||||||
|
|
||||||
|
# TODO: Fix go-tests
|
||||||
|
# make go-test
|
||||||
|
|
||||||
|
pkill valkey-server
|
||||||
|
pkill postgres
|
||||||
|
}
|
||||||
|
|
||||||
package() {
|
package() {
|
||||||
msg "Packaging $pkgname"
|
msg "Packaging $pkgname"
|
||||||
mkdir -p "$pkgdir"/usr/share/webapps/authentik/web
|
local prefix="/usr/share/webapps"
|
||||||
mkdir -p "$pkgdir"/usr/share/webapps/authentik/website
|
local destdir="$pkgdir"$prefix/authentik
|
||||||
mkdir -p "$pkgdir"/var/lib/authentik
|
|
||||||
mkdir -p "$pkgdir"/usr/share/doc
|
|
||||||
mkdir -p "$pkgdir"/usr/bin
|
|
||||||
cp -dr "$builddir"/authentik "$pkgdir"/usr/share/webapps/authentik
|
|
||||||
cp -dr "$builddir"/web/dist "$pkgdir"/usr/share/webapps/authentik/web/dist
|
|
||||||
cp -dr "$builddir"/web/authentik "$pkgdir"/usr/share/webapps/authentik/web/authentik
|
|
||||||
cp -dr "$builddir"/website/build "$pkgdir"/usr/share/doc/authentik
|
|
||||||
cp -dr "$builddir"/tests "$pkgdir"/usr/share/webapps/authentik/tests
|
|
||||||
cp -dr "$builddir"/lifecycle "$pkgdir"/usr/share/webapps/authentik/lifecycle
|
|
||||||
cp -dr "$builddir"/locale "$pkgdir"/usr/share/webapps/authentik/locale
|
|
||||||
cp -dr "$builddir"/blueprints "$pkgdir"/var/lib/authentik/blueprints
|
|
||||||
install -Dm755 "$builddir"/manage.py "$pkgdir"/usr/share/webapps/authentik/manage.py
|
|
||||||
install -Dm755 "$builddir"/server "$pkgdir"/usr/share/webapps/authentik/server
|
|
||||||
ln -s "/etc/authentik/config.yml" "$pkgdir"/usr/share/webapps/authentik/local.env.yml
|
|
||||||
|
|
||||||
install -Dm755 "$builddir"/proxy "$pkgdir"/usr/bin/authentik-proxy
|
# authentik install
|
||||||
install -Dm755 "$builddir"/ldap "$pkgdir"/usr/bin/authentik-ldap
|
install -d -m755 \
|
||||||
install -Dm755 "$builddir"/radius "$pkgdir"/usr/bin/authentik-radius
|
"$destdir" \
|
||||||
|
"$destdir"/web \
|
||||||
|
"$pkgdir"/usr/bin \
|
||||||
|
"$pkgdir"/usr/share/doc \
|
||||||
|
"$pkgdir"/var/lib/authentik
|
||||||
|
|
||||||
install -Dm755 "$srcdir"/$pkgname.openrc \
|
cp -rl authentik lifecycle locale tests \
|
||||||
"$pkgdir"/etc/init.d/$pkgname
|
"$destdir"/
|
||||||
install -Dm755 "$srcdir"/$pkgname-worker.openrc \
|
|
||||||
"$pkgdir"/etc/init.d/$pkgname-worker
|
cp -rl blueprints \
|
||||||
install -Dm755 "$srcdir"/$pkgname-ldap.openrc \
|
"$pkgdir"/var/lib/authentik/
|
||||||
"$pkgdir"/etc/init.d/$pkgname-ldap
|
|
||||||
install -Dm640 "$srcdir"/$pkgname-ldap.conf \
|
cp -rl web/dist web/authentik \
|
||||||
"$pkgdir"/etc/conf.d/$pkgname-ldap
|
"$destdir"/web/
|
||||||
|
|
||||||
|
install -m755 -t "$destdir" \
|
||||||
|
"$builddir"/server \
|
||||||
|
"$builddir"/ldap \
|
||||||
|
"$builddir"/radius \
|
||||||
|
"$builddir"/proxy \
|
||||||
|
"$builddir"/manage.py
|
||||||
|
|
||||||
|
cp -rl website/build/ "$pkgdir"/usr/share/doc/authentik/
|
||||||
|
|
||||||
|
# symbolic bin links to usr/bin
|
||||||
|
for i in server proxy ldap radius; do
|
||||||
|
ln -s $prefix/authentik/$i "$pkgdir"/usr/bin/authentik-$i
|
||||||
|
done
|
||||||
|
|
||||||
|
# openrc install
|
||||||
|
for i in $pkgname $pkgname-worker $pkgname-ldap; do
|
||||||
|
install -Dm755 "$srcdir"/$i.openrc "$pkgdir"/etc/init.d/$i
|
||||||
|
done
|
||||||
|
|
||||||
|
# config file setup
|
||||||
install -Dm640 "$builddir"/authentik/lib/default.yml \
|
install -Dm640 "$builddir"/authentik/lib/default.yml \
|
||||||
"$pkgdir"/etc/authentik/config.yml
|
"$pkgdir"/etc/authentik/config.yml
|
||||||
|
ln -s "/etc/authentik/config.yml" "$pkgdir"/usr/share/webapps/authentik/local.env.yml
|
||||||
chown root:www-data "$pkgdir"/etc/authentik/config.yml
|
chown root:www-data "$pkgdir"/etc/authentik/config.yml
|
||||||
|
|
||||||
mv "$pkgdir"/usr/share/webapps/authentik/web/dist/custom.css "$pkgdir"/etc/authentik/custom.css
|
|
||||||
ln -s "/etc/authentik/custom.css" "$pkgdir"/usr/share/webapps/authentik/web/dist/custom.css
|
|
||||||
chown root:www-data "$pkgdir"/etc/authentik/custom.css
|
|
||||||
|
|
||||||
sed -i 's|cert_discovery_dir.*|cert_discovery_dir: /var/lib/authentik/certs|' "$pkgdir"/etc/authentik/config.yml
|
sed -i 's|cert_discovery_dir.*|cert_discovery_dir: /var/lib/authentik/certs|' "$pkgdir"/etc/authentik/config.yml
|
||||||
sed -i 's|blueprints_dir.*|blueprints_dir: /var/lib/authentik/blueprints|' "$pkgdir"/etc/authentik/config.yml
|
sed -i 's|blueprints_dir.*|blueprints_dir: /var/lib/authentik/blueprints|' "$pkgdir"/etc/authentik/config.yml
|
||||||
sed -i 's|template_dir.*|template_dir: /var/lib/authentik/templates|' "$pkgdir"/etc/authentik/config.yml
|
sed -i 's|template_dir.*|template_dir: /var/lib/authentik/templates|' "$pkgdir"/etc/authentik/config.yml
|
||||||
printf "\ncsrf:\n trusted_origins: ['auth.example.com']" >> "$pkgdir"/etc/authentik/config.yml
|
printf "\ncsrf:\n trusted_origins: ['auth.example.com']" >> "$pkgdir"/etc/authentik/config.yml
|
||||||
printf "\nsecret_key: '@@SECRET_KEY@@'" >> "$pkgdir"/etc/authentik/config.yml
|
printf "\nsecret_key: '@@SECRET_KEY@@'" >> "$pkgdir"/etc/authentik/config.yml
|
||||||
|
|
||||||
|
# custom css location change
|
||||||
|
mv "$pkgdir"/usr/share/webapps/authentik/web/dist/custom.css "$pkgdir"/etc/authentik/custom.css
|
||||||
|
ln -s "/etc/authentik/custom.css" "$pkgdir"/usr/share/webapps/authentik/web/dist/custom.css
|
||||||
|
chown root:www-data "$pkgdir"/etc/authentik/custom.css
|
||||||
|
|
||||||
# Install wrapper script to /usr/bin.
|
# Install wrapper script to /usr/bin.
|
||||||
install -m755 -D "$srcdir"/authentik-manage.sh "$pkgdir"/usr/bin/authentik-manage
|
install -m755 -D "$srcdir"/authentik-manage.sh "$pkgdir"/usr/bin/authentik-manage
|
||||||
}
|
}
|
||||||
|
|
||||||
|
pyc() {
|
||||||
|
default_pyc
|
||||||
|
|
||||||
|
cd "$pkgdir"
|
||||||
|
# shellcheck disable=SC3003
|
||||||
|
local IFS=$'\n'
|
||||||
|
# shellcheck disable=SC2046
|
||||||
|
amove $(find usr/share/webapps/authentik -type d -name __pycache__)
|
||||||
|
}
|
||||||
|
|
||||||
sha512sums="
|
sha512sums="
|
||||||
02e54183fa35e7a06780f68239db7b3b5e2ccd3c6e1fcaf97690d9b596077c7a5345dbb5b005f39ff67a0dae83bd9b71d1c6d18ba8fae9cc7174d5d856360bff authentik-2024.8.2.tar.gz
|
02e54183fa35e7a06780f68239db7b3b5e2ccd3c6e1fcaf97690d9b596077c7a5345dbb5b005f39ff67a0dae83bd9b71d1c6d18ba8fae9cc7174d5d856360bff authentik-2024.8.2.tar.gz
|
||||||
4defb4fe3a4230f4aa517fbecd5e5b8bcef2a64e1b40615660ae9eec33597310a09df5e126f4d39ce7764bd1716c0a7040637699135c103cbc1879593c6c06f1 authentik.openrc
|
4defb4fe3a4230f4aa517fbecd5e5b8bcef2a64e1b40615660ae9eec33597310a09df5e126f4d39ce7764bd1716c0a7040637699135c103cbc1879593c6c06f1 authentik.openrc
|
||||||
|
|
60
ilot/py3-sentry-sdk/APKBUILD
Normal file
60
ilot/py3-sentry-sdk/APKBUILD
Normal file
|
@ -0,0 +1,60 @@
|
||||||
|
# Contributor: Francesco Colista <fcolista@alpinelinux.org>
|
||||||
|
# Maintainer: Francesco Colista <fcolista@alpinelinux.org>
|
||||||
|
pkgname=py3-sentry-sdk
|
||||||
|
pkgver=2.14.0
|
||||||
|
pkgrel=0
|
||||||
|
pkgdesc="The new Python SDK for Sentry.io"
|
||||||
|
url="https://sentry.io/for/python/"
|
||||||
|
arch="noarch"
|
||||||
|
license="BSD-2-Clause"
|
||||||
|
depends="
|
||||||
|
py3-certifi
|
||||||
|
py3-urllib3
|
||||||
|
"
|
||||||
|
makedepends="
|
||||||
|
py3-gpep517
|
||||||
|
py3-setuptools
|
||||||
|
py3-wheel
|
||||||
|
"
|
||||||
|
checkdepends="
|
||||||
|
py3-executing
|
||||||
|
py3-jsonschema
|
||||||
|
py3-pytest-asyncio
|
||||||
|
py3-pytest-forked
|
||||||
|
py3-pytest-localserver
|
||||||
|
py3-pytest-xdist
|
||||||
|
py3-responses
|
||||||
|
py3-werkzeug
|
||||||
|
"
|
||||||
|
subpackages="$pkgname-pyc"
|
||||||
|
source="$pkgname-$pkgver.tar.gz::https://github.com/getsentry/sentry-python/archive/$pkgver.tar.gz"
|
||||||
|
builddir="$srcdir"/sentry-python-$pkgver
|
||||||
|
options="!check" # a bunch of deprecation-warning failures and improper shutdown.. seems to need net
|
||||||
|
|
||||||
|
build() {
|
||||||
|
gpep517 build-wheel \
|
||||||
|
--wheel-dir .dist \
|
||||||
|
--output-fd 3 3>&1 >&2
|
||||||
|
}
|
||||||
|
|
||||||
|
check() {
|
||||||
|
python3 -m venv --clear --without-pip --system-site-packages .testenv
|
||||||
|
.testenv/bin/python3 -m installer .dist/*.whl
|
||||||
|
# gcp: pip install
|
||||||
|
# test_socket/test_requests: needs net
|
||||||
|
# wsgi: weird list errors
|
||||||
|
.testenv/bin/python3 -m pytest -n auto -p no:warnings \
|
||||||
|
--deselect tests/integrations/gcp/test_gcp.py \
|
||||||
|
--deselect tests/integrations/socket/test_socket.py \
|
||||||
|
--deselect tests/integrations/requests/test_requests.py \
|
||||||
|
--deselect tests/integrations/wsgi/test_wsgi.py
|
||||||
|
}
|
||||||
|
|
||||||
|
package() {
|
||||||
|
python3 -m installer -d "$pkgdir" \
|
||||||
|
.dist/*.whl
|
||||||
|
}
|
||||||
|
|
||||||
|
sha512sums="
|
||||||
|
8667c3496cdbd6b3055f8046abcf3faa8afbda04e0551787222d44c7736deea95722251c266c21730a73afd57d4b7447ec17408672c3217af35103bba6f4b513 py3-sentry-sdk-2.14.0.tar.gz
|
||||||
|
"
|
Loading…
Add table
Reference in a new issue