230 lines
6 KiB
Text
230 lines
6 KiB
Text
# Maintainer: Antoine Martin (ayakael) <dev@ayakael.net>
|
|
# Contributor: Antoine Martin (ayakael) <dev@ayakael.net>
|
|
|
|
pkgname=authentik
|
|
pkgver=2023.5.3
|
|
pkgrel=1
|
|
pkgdesc="An open-source Identity Provider focused on flexibility and versatility"
|
|
url="https://github.com/goauthentik/authentik"
|
|
# py3-xmlsec needs some work
|
|
arch="!armv7 all"
|
|
license="MIT"
|
|
depends="
|
|
postgresql
|
|
procps
|
|
pwgen
|
|
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
|
|
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
|
|
py3-dnspython
|
|
py3-django
|
|
py3-django-channels
|
|
py3-django-channels-redis
|
|
py3-django-drf-spectacular
|
|
py3-django-filter
|
|
py3-django-guardian
|
|
py3-django-model-utils
|
|
py3-django-otp
|
|
py3-django-prometheus
|
|
py3-django-redis
|
|
py3-django-rest-framework
|
|
py3-django-rest-framework-guardian
|
|
py3-docker
|
|
py3-dotenv
|
|
py3-dumb-init
|
|
py3-duo-client
|
|
py3-email-validator
|
|
py3-facebook-sdk
|
|
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
|
|
py3-jwt
|
|
py3-kombu
|
|
py3-kubernetes
|
|
py3-ldap3
|
|
py3-lxml
|
|
py3-maxminddb
|
|
py3-msgpack
|
|
py3-multidict
|
|
py3-oauthlib
|
|
py3-opencontainers
|
|
py3-openssl
|
|
py3-packaging
|
|
py3-paramiko
|
|
py3-parsing
|
|
py3-prometheus-client
|
|
py3-prompt_toolkit
|
|
py3-psycopg2
|
|
py3-pycryptodome
|
|
py3-pydantic-scim
|
|
py3-pynacl
|
|
py3-pyrsistent
|
|
py3-python-jwt
|
|
py3-redis-nonfree
|
|
py3-requests
|
|
py3-requests-oauthlib
|
|
py3-rsa
|
|
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
|
|
py3-typing-extensions
|
|
py3-tz
|
|
py3-ua-parser
|
|
py3-uritemplate
|
|
py3-urllib3-secure-extra
|
|
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
|
|
options="!check chmod-clean"
|
|
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
|
|
root-settings-csrf_trusted_origins.patch
|
|
"
|
|
builddir="$srcdir/"authentik-version-$pkgver
|
|
subpackages="$pkgname-openrc $pkgname-doc"
|
|
|
|
export GOPATH=$srcdir/go
|
|
export GOCACHE=$srcdir/go-build
|
|
export GOTMPDIR=$srcdir
|
|
|
|
build() {
|
|
msg "Building authentik-ldap"
|
|
go build -o ldap cmd/ldap/main.go
|
|
msg "Building authentik-proxy"
|
|
go build -o proxy cmd/proxy/main.go
|
|
msg "Building authentik-radius"
|
|
go build -o radius cmd/proxy/main.go
|
|
msg "Building authentik-server"
|
|
go build -o server cmd/server/*.go
|
|
|
|
msg "Building authentik-web"
|
|
cd web
|
|
npm ci --no-audit
|
|
npm run build
|
|
cd ..
|
|
|
|
msg "Building website"
|
|
cd website
|
|
npm ci --no-audit
|
|
npm run build
|
|
}
|
|
|
|
check() {
|
|
poetry install --only dev
|
|
make test
|
|
}
|
|
|
|
package() {
|
|
msg "Packaging $pkgname"
|
|
mkdir -p "$pkgdir"/usr/share/webapps/authentik/web
|
|
mkdir -p "$pkgdir"/usr/share/webapps/authentik/website
|
|
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
|
|
install -Dm755 "$builddir"/ldap "$pkgdir"/usr/bin/authentik-ldap
|
|
install -Dm755 "$builddir"/radius "$pkgdir"/usr/bin/authentik-radius
|
|
|
|
install -Dm755 "$srcdir"/$pkgname.openrc \
|
|
"$pkgdir"/etc/init.d/$pkgname
|
|
install -Dm755 "$srcdir"/$pkgname-worker.openrc \
|
|
"$pkgdir"/etc/init.d/$pkgname-worker
|
|
install -Dm640 "$builddir"/authentik/lib/default.yml \
|
|
"$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|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 "\nsecret_key: '@@SECRET_KEY@@'" >> "$pkgdir"/etc/authentik/config.yml
|
|
}
|
|
|
|
sha512sums="
|
|
84e3582d58a70576bfd2c2d04cc4083721beb2c3c4c015b71bb705439aa5ebf5c36b41220a95d5df8e7154cbfc42aedfb8d1608aab13289af1fb279a8aa0781b authentik-2023.5.3.tar.gz
|
|
4defb4fe3a4230f4aa517fbecd5e5b8bcef2a64e1b40615660ae9eec33597310a09df5e126f4d39ce7764bd1716c0a7040637699135c103cbc1879593c6c06f1 authentik.openrc
|
|
5d7f28bf5a9f358a0fc3634b2bac6d070c276c3f8181d26fa7e94a17503a4d54556bf7c3207ccd6cb924b81754ed965795d5e2a8aa1af409fd9e32d390ec4cf5 authentik-worker.openrc
|
|
483befe5e2c90c4f37d5b3ef95ebb99a4208927ee0481e948117a79e36cce110ed53eaa0a9a816cf30ba4c0691b504c9c08d2f9dd7a7bc465a618af260aa1145 root-settings-csrf_trusted_origins.patch
|
|
"
|