ayaports/user/authentik/APKBUILD

259 lines
7.5 KiB
Text
Raw Normal View History

2023-01-11 00:40:45 +00:00
# Contributor: Antoine Martin (ayakael) <dev@ayakael.net>
2024-03-05 05:44:10 +00:00
# Maintainer: Antoine Martin (ayakael) <dev@ayakael.net>
2022-12-27 20:40:33 +00:00
pkgname=authentik
2024-06-30 14:29:59 +00:00
pkgver=2024.4.3
pkgrel=1
2022-12-27 20:40:33 +00:00
pkgdesc="An open-source Identity Provider focused on flexibility and versatility"
url="https://github.com/goauthentik/authentik"
2024-03-05 05:44:10 +00:00
# s390x: missing py3-celery py3-flower and py3-kombu
# armhf/armv7/x86: out of memory error when building goauthentik
# ppc64le: not supported by Rollup build
arch="aarch64 x86_64"
2022-12-27 20:40:33 +00:00
license="MIT"
depends="
2023-09-01 17:40:21 +00:00
libcap-setcap
2024-03-05 05:44:10 +00:00
nginx
2022-12-27 20:40:33 +00:00
postgresql
2023-06-14 01:08:21 +00:00
procps
pwgen
2022-12-27 20:40:33 +00:00
py3-aiohttp
py3-aiosignal
py3-amqp
py3-anyio
py3-asgiref
py3-asn1
py3-asn1crypto
py3-async-timeout
py3-attrs
py3-autobahn
py3-automat
py3-bcrypt
py3-billiard
py3-cachetools
py3-cbor2
py3-celery
py3-certifi
py3-cffi
2023-12-29 16:02:28 +00:00
py3-channels
py3-channels_redis
2022-12-27 20:40:33 +00:00
py3-charset-normalizer
py3-click
py3-click-didyoumean
py3-click-plugins
py3-click-repl
py3-codespell
py3-colorama
py3-constantly
py3-cparser
py3-cryptography
py3-dacite
py3-daphne
py3-dateutil
py3-deepmerge
py3-defusedxml
py3-deprecated
2023-03-31 22:00:33 +00:00
py3-dnspython
2022-12-27 20:40:33 +00:00
py3-django
py3-django-filter
py3-django-guardian
py3-django-model-utils
py3-django-otp
py3-django-prometheus
py3-django-redis
2024-06-10 13:36:38 +00:00
py3-django-rest-framework~=3.14.0
2022-12-27 20:40:33 +00:00
py3-django-rest-framework-guardian
2024-06-10 13:36:38 +00:00
py3-django-storages
py3-django-tenants
py3-docker-py
2022-12-27 20:40:33 +00:00
py3-dotenv
py3-dumb-init
2023-12-29 16:02:28 +00:00
py3-duo_client
py3-drf-spectacular
2023-03-31 22:00:33 +00:00
py3-email-validator
2022-12-27 20:40:33 +00:00
py3-facebook-sdk
2024-06-10 13:36:38 +00:00
py3-fido2
2022-12-27 20:40:33 +00:00
py3-flower
py3-frozenlist
py3-geoip2
py3-google-auth
py3-gunicorn
py3-h11
py3-httptools
py3-humanize
py3-hyperlink
py3-idna
py3-incremental
py3-inflection
py3-jsonschema
2023-09-01 17:40:21 +00:00
py3-jsonpatch
2022-12-27 20:40:33 +00:00
py3-jwt
py3-kombu
py3-kubernetes
py3-ldap3
py3-lxml
py3-maxminddb
py3-msgpack
py3-multidict
py3-oauthlib
py3-opencontainers
py3-openssl
2023-03-31 22:00:33 +00:00
py3-packaging
2022-12-27 20:40:33 +00:00
py3-paramiko
py3-parsing
py3-prometheus-client
py3-prompt_toolkit
2023-08-30 18:17:03 +00:00
py3-psycopg
2023-09-11 18:07:50 +00:00
py3-psycopg-c
2023-03-31 22:00:33 +00:00
py3-pydantic-scim
2022-12-27 20:40:33 +00:00
py3-pynacl
py3-pyrsistent
py3-python-jwt
2023-08-30 18:41:00 +00:00
py3-redis
2022-12-27 20:40:33 +00:00
py3-requests
py3-requests-oauthlib
py3-rsa
2024-06-10 13:36:38 +00:00
py3-scim2-filter-parser
py3-setproctitle
2022-12-27 20:40:33 +00:00
py3-sentry-sdk
py3-service_identity
py3-setuptools
py3-six
py3-sniffio
py3-sqlparse
py3-structlog
py3-swagger-spec-validator
py3-tornado
py3-twilio
py3-twisted
py3-txaio
2024-06-10 13:36:38 +00:00
py3-tenant-schemas-celery
2022-12-27 20:40:33 +00:00
py3-typing-extensions
py3-tz
py3-ua-parser
py3-uritemplate
2023-03-31 22:00:33 +00:00
py3-urllib3-secure-extra
2022-12-27 20:40:33 +00:00
py3-uvloop
py3-vine
py3-watchdog
py3-watchfiles
py3-wcwidth
py3-webauthn
py3-websocket-client
py3-websockets
py3-wrapt
py3-wsproto
py3-xmlsec
py3-yaml
py3-yarl
py3-zope-interface
py3-zxcvbn
redis
uvicorn
"
makedepends="go npm"
# checkdepends scooped up by poetry due to number
checkdepends="poetry py3-coverage"
# tests disabled for now
2024-03-05 05:44:10 +00:00
options="!check"
2022-12-27 20:40:33 +00:00
install="$pkgname.post-install $pkgname.post-upgrade $pkgname.pre-install"
source="
$pkgname-$pkgver.tar.gz::https://github.com/goauthentik/authentik/archive/refs/tags/version/$pkgver.tar.gz
authentik.openrc
authentik-worker.openrc
2023-06-21 13:28:31 +00:00
authentik-ldap.openrc
authentik-ldap.conf
2023-06-26 17:07:17 +00:00
authentik-manage.sh
2024-06-10 13:36:38 +00:00
fix-ak-bash.patch
2022-12-27 20:40:33 +00:00
root-settings-csrf_trusted_origins.patch
"
builddir="$srcdir/"authentik-version-$pkgver
subpackages="$pkgname-openrc $pkgname-doc"
2024-03-05 05:44:10 +00:00
pkgusers="authentik"
pkggroups="authentik"
2022-12-27 20:40:33 +00:00
export GOPATH=$srcdir/go
export GOCACHE=$srcdir/go-build
export GOTMPDIR=$srcdir
build() {
msg "Building authentik-ldap"
2023-03-31 22:00:33 +00:00
go build -o ldap cmd/ldap/main.go
2022-12-27 20:40:33 +00:00
msg "Building authentik-proxy"
2023-03-31 22:00:33 +00:00
go build -o proxy cmd/proxy/main.go
msg "Building authentik-radius"
go build -o radius cmd/proxy/main.go
2022-12-27 20:40:33 +00:00
msg "Building authentik-server"
go build -o server cmd/server/*.go
2022-12-27 20:40:33 +00:00
msg "Building authentik-web"
cd web
npm ci --no-audit
npm run build
cd ..
2023-03-31 20:26:25 +00:00
msg "Building website"
2022-12-27 20:40:33 +00:00
cd website
npm ci --no-audit
npm run build
}
package() {
msg "Packaging $pkgname"
mkdir -p "$pkgdir"/usr/share/webapps/authentik/web
mkdir -p "$pkgdir"/usr/share/webapps/authentik/website
2023-06-14 01:08:21 +00:00
mkdir -p "$pkgdir"/var/lib/authentik
2022-12-27 20:40:33 +00:00
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
2023-06-14 01:08:21 +00:00
cp -dr "$builddir"/blueprints "$pkgdir"/var/lib/authentik/blueprints
2022-12-27 20:40:33 +00:00
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
2023-03-31 20:26:25 +00:00
2022-12-27 20:40:33 +00:00
install -Dm755 "$builddir"/proxy "$pkgdir"/usr/bin/authentik-proxy
install -Dm755 "$builddir"/ldap "$pkgdir"/usr/bin/authentik-ldap
install -Dm755 "$builddir"/radius "$pkgdir"/usr/bin/authentik-radius
2022-12-27 20:40:33 +00:00
install -Dm755 "$srcdir"/$pkgname.openrc \
"$pkgdir"/etc/init.d/$pkgname
install -Dm755 "$srcdir"/$pkgname-worker.openrc \
"$pkgdir"/etc/init.d/$pkgname-worker
2023-06-21 13:28:31 +00:00
install -Dm755 "$srcdir"/$pkgname-ldap.openrc \
"$pkgdir"/etc/init.d/$pkgname-ldap
install -Dm640 "$srcdir"/$pkgname-ldap.conf \
"$pkgdir"/etc/conf.d/$pkgname-ldap
2022-12-27 20:40:33 +00:00
install -Dm640 "$builddir"/authentik/lib/default.yml \
"$pkgdir"/etc/authentik/config.yml
2024-03-05 05:44:10 +00:00
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
2022-12-27 20:40:33 +00:00
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|template_dir.*|template_dir: /var/lib/authentik/templates|' "$pkgdir"/etc/authentik/config.yml
2023-06-14 01:08:21 +00:00
printf "\ncsrf:\n trusted_origins: ['auth.example.com']" >> "$pkgdir"/etc/authentik/config.yml
printf "\nsecret_key: '@@SECRET_KEY@@'" >> "$pkgdir"/etc/authentik/config.yml
2023-06-26 17:07:17 +00:00
# Install wrapper script to /usr/bin.
install -m755 -D "$srcdir"/authentik-manage.sh "$pkgdir"/usr/bin/authentik-manage
2022-12-27 20:40:33 +00:00
}
sha512sums="
2024-06-30 14:29:59 +00:00
121ed925d81a5cb2a14fed8ec8b324352e40b1fcbba83573bfdc1d1f66a91d9670cd64d7ef752c8a2df6c34fc3e19e8aec5c6752d33e87b487a462a590212ab0 authentik-2024.4.3.tar.gz
2022-12-27 20:40:33 +00:00
4defb4fe3a4230f4aa517fbecd5e5b8bcef2a64e1b40615660ae9eec33597310a09df5e126f4d39ce7764bd1716c0a7040637699135c103cbc1879593c6c06f1 authentik.openrc
2024-06-10 13:36:38 +00:00
6cb03b9b69df39bb4539fe05c966536314d766b2e9307a92d87070ba5f5b7e7ab70f1b5ee1ab3c0c50c23454f9c5a4caec29e63fdf411bbb7a124ad687569b89 authentik-worker.openrc
2023-06-21 13:28:31 +00:00
351e6920d987861f8bf0d7ab2f942db716a8dbdad1f690ac662a6ef29ac0fd46cf817cf557de08f1c024703503d36bc8b46f0d9eb1ecaeb399dce4c3bb527d17 authentik-ldap.openrc
89ee5f0ffdade1c153f3a56ff75b25a7104aa81d8c7a97802a8f4b0eab34850cee39f874dabe0f3c6da3f71d6a0f938f5e8904169e8cdd34d407c8984adee6b0 authentik-ldap.conf
2024-06-10 13:36:38 +00:00
f1a3cb215b6210fa7d857a452a9f2bc4dc0520e49b9fa7027547cff093d740a7e2548f1bf1f8831f7d5ccb80c8e523ee0c8bafcc4dc42d2788725f2137d21bee authentik-manage.sh
3e47db684a3f353dcecdb7bab8836b9d5198766735d77f676a51d952141a0cf9903fcb92e6306c48d2522d7a1f3028b37247fdc1dc74d4d6e043da7eb4f36d49 fix-ak-bash.patch
5c60e54b6a7829d611af66f5cb8184a002b5ae927efbd024c054a7c176fcb9efcfbe5685279ffcf0390b0f0abb3bb03e02782c6867c2b38d1ad2d508aae83fa0 root-settings-csrf_trusted_origins.patch
2022-12-27 20:40:33 +00:00
"