Skip to content

Commit

Permalink
nixos/peering-manager: add oidc support
Browse files Browse the repository at this point in the history
Co-authored-by: Jenny <[email protected]>
Co-authored-by: Sandro <[email protected]>
(cherry picked from commit c4d2c90)
  • Loading branch information
felbinger authored and SuperSandro2000 committed Jun 29, 2024
1 parent 61af1cf commit 41ef0e0
Showing 1 changed file with 24 additions and 1 deletion.
25 changes: 24 additions & 1 deletion nixos/modules/services/web-apps/peering-manager.nix
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,8 @@ let
ln -s ${configFile} $out/opt/peering-manager/peering_manager/configuration.py
'' + lib.optionalString cfg.enableLdap ''
ln -s ${cfg.ldapConfigPath} $out/opt/peering-manager/peering_manager/ldap_config.py
'' + lib.optionalString cfg.enableOidc ''
ln -s ${cfg.oidcConfigPath} $out/opt/peering-manager/peering_manager/oidc_config.py
'';
})).override {
inherit (cfg) plugins;
Expand Down Expand Up @@ -139,6 +141,24 @@ in {
See the [documentation](https://peering-manager.readthedocs.io/en/stable/setup/6-ldap/#configuration) for possible options.
'';
};

enableOidc = mkOption {
type = types.bool;
default = false;
description = ''
Enable OIDC-Authentication for Peering Manager.
This requires a configuration file being pass through `oidcConfigPath`.
'';
};

oidcConfigPath = mkOption {
type = types.path;
description = ''
Path to the Configuration-File for OIDC-Authentication, will be loaded as `oidc_config.py`.
See the [documentation](https://peering-manager.readthedocs.io/en/stable/setup/6b-oidc/#configuration) for possible options.
'';
};
};

config = lib.mkIf cfg.enable {
Expand Down Expand Up @@ -173,7 +193,10 @@ in {
PEERINGDB_API_KEY = file.readline()
'';

plugins = lib.mkIf cfg.enableLdap (ps: [ ps.django-auth-ldap ]);
plugins = (ps:
(lib.optionals cfg.enableLdap [ ps.django-auth-ldap ]) ++
(lib.optionals cfg.enableOidc (with ps; [ mozilla-django-oidc pyopenssl josepy ]))
);
};

system.build.peeringManagerPkg = pkg;
Expand Down

0 comments on commit 41ef0e0

Please sign in to comment.