From 97e9e960ab5d871506b41b2bd69471b79692f3ac Mon Sep 17 00:00:00 2001 From: GLiCID Tech Admins Date: Fri, 20 Jun 2025 23:42:27 +0200 Subject: [PATCH] feat: Add authentik's outposts --- glicid/packages/authentik.scm | 86 +++++++++++++++++++++++++++++++++++ 1 file changed, 86 insertions(+) create mode 100644 glicid/packages/authentik.scm diff --git a/glicid/packages/authentik.scm b/glicid/packages/authentik.scm new file mode 100644 index 0000000..58d4d63 --- /dev/null +++ b/glicid/packages/authentik.scm @@ -0,0 +1,86 @@ +(define-module (glicid packages authentik) + #:use-module (guix build-system gnu) + #:use-module (guix download) + #:use-module (guix git-download) + #:use-module (guix packages) + #:use-module ((guix licenses) #:prefix license:) + #:use-module (guix build-system copy) + #:use-module (guix build-system go) + #:use-module (gnu packages gl) + #:use-module (gnu packages golang) + #:use-module (gnu packages golang-build) + #:use-module (gnu packages golang-check) + #:use-module (gnu packages golang-web) + #:use-module (gnu packages golang-xyz) + ) + +(define %authentik-version "2025.6.2") +(define %authentik-synopsis "authentik is an open-source Identity Provider that emphasizes flexibility and versatility, with support for a wide set of protocols. Dirty version.") +(define %authentik-description "authentik is an open-source Identity Provider that emphasizes flexibility and versatility, with support for a wide set of protocols. Dirty version.") +(define %authentik-homepage "https://github.com/goauthentik/authentik") +(define %glicid-authentik-homepage "https://forgejo.glicid.fr/GLiCID/authentik-outpost-for-guix") + +(define-public authentik-outpost-ldap + (package + (name "authentik-outpost-ldap") + (version %authentik-version) + (source (origin + (method url-fetch) + (uri (string-append "https://forgejo.glicid.fr/api/packages/GLiCID/generic/authentik-outpost-for-guix/" version "/authentik-ldap-" version ".tar.xz")) + (sha256 (base32 "0qghd712b7fvk5r0iycv0cxgh6wa5mmgw76s153z4rcr4a40xy2p")))) + (build-system copy-build-system) + (arguments + `(#:install-plan `(("ldap" "/sbin/")))) + (synopsis (string-append %authentik-synopsis ". Check " %glicid-authentik-homepage " for more information.")) + (description %authentik-description) + (home-page %authentik-homepage) + (license license:expat))) + +(define-public authentik-outpost-proxy + (package + (name "authentik-outpost-proxy") + (version %authentik-version) + (source (origin + (method url-fetch) + (uri (string-append "https://forgejo.glicid.fr/api/packages/GLiCID/generic/authentik-outpost-for-guix/" version "/authentik-proxy-" version ".tar.xz")) + (sha256 (base32 "0405qfk7mjm5mjwz9rfac3mn26gf27ikipwjy3nclrs01ggxkrqv")))) + (build-system copy-build-system) + (arguments + `(#:install-plan `(("proxy" "/sbin/")))) + (synopsis (string-append %authentik-synopsis ". Check " %glicid-authentik-homepage " for more information.")) + (description %authentik-description) + (home-page %authentik-homepage) + (license license:expat))) + +; we need to patch internal/outpost/rac/guacd.go to remove hardcoded guacd path +(define-public authentik-outpost-rac + (package + (name "authentik-outpost-rac") + (version %authentik-version) + (source (origin + (method url-fetch) + (uri (string-append "https://forgejo.glicid.fr/api/packages/GLiCID/generic/authentik-outpost-for-guix/" version "/authentik-rac-" version ".tar.xz")) + (sha256 (base32 "0ba0waj90rm21g62gav4lagl8ygiv8brbpaf5fixlzlml51shwvf")))) + (build-system copy-build-system) + (arguments + `(#:install-plan `(("rac" "/sbin/")))) + (synopsis (string-append %authentik-synopsis ". Check " %glicid-authentik-homepage " for more information.")) + (description %authentik-description) + (home-page %authentik-homepage) + (license license:expat))) + +(define-public authentik-outpost-radius + (package + (name "authentik-outpost-radius") + (version %authentik-version) + (source (origin + (method url-fetch) + (uri (string-append "https://forgejo.glicid.fr/api/packages/GLiCID/generic/authentik-outpost-for-guix/" version "/authentik-radius-" version ".tar.xz")) + (sha256 (base32 "0dr0k3fp9c6f378cl0sdnnvfl9dzz6q43wf06dbfaq4l9ac1wwrl")))) + (build-system copy-build-system) + (arguments + `(#:install-plan `(("radius" "/sbin/")))) + (synopsis (string-append %authentik-synopsis ". Check " %glicid-authentik-homepage " for more information.")) + (description %authentik-description) + (home-page %authentik-homepage) + (license license:expat)))