From 4f9786b4035a8fe64a9d434cc252fb7b86988260 Mon Sep 17 00:00:00 2001 From: timofey Date: Sat, 5 Aug 2023 11:46:47 +0000 Subject: [PATCH] customize --- master.cfg | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/master.cfg b/master.cfg index 20955de..99f8b24 100644 --- a/master.cfg +++ b/master.cfg @@ -5,7 +5,7 @@ import os from buildbot.plugins import * from buildbot.www.oauth2 import OAuth2Auth -from buildbot.www.authz.roles import RolesFromUsername +from buildbot.www.authz.roles import RolesFromBase # This is a sample buildmaster config file. It must be installed as # 'master.cfg' in your buildmaster's base directory. @@ -174,10 +174,13 @@ c["titleURL"] = "https://gitea.parrrate.ru/PTV/radn-rs" c["buildbotURL"] = os.environ.get("BUILDBOT_WEB_URL", "http://localhost:8010/") -class RolesFromCustom(RolesFromUsername): - def getRolesFromUser(self, userDetails): +class RolesFromCustom(RolesFromBase): + def getRolesFromUser(self, userDetails: dict): print(userDetails) - return super().getRolesFromUser(userDetails) + if userDetails.get('is_admin') is True: + return ["admin"] + else: + return [] # minimalistic config to activate new web UI @@ -195,7 +198,7 @@ c["www"] = { ), "authz": util.Authz( allowRules=[util.AnyControlEndpointMatcher(role="admins")], - roleMatchers=[RolesFromCustom(["admin"], ["timofey"])], + roleMatchers=[RolesFromCustom()], ), } if GITEA_SECRET: