NetAuth authentication, user info, and avatar plugin for buildbot
- 
Install the plugin, for example: pip install buildbot-netauth
- 
In your buildmaster.cfg, add:
from buildbot.plugins import util
netauth = util.BuildbotNetAuth(conf=Path("/etc/netauth/config.toml"))
# in your buildmaster config object
c["www"]["auth"] = netauth
c["www"]["avatar_methods"] = [netauth, ...]The plugin looks at the following metadata on NetAuth entities:
- entity ID: used as an "email" in the format entity_id@domain.domainis the base domain of the NetAuth server, but is overridable.
- entity display name or legal name: if set, will be used for the full_namebuildbot user property in that fallback order
- entity group membership: used for the groupsbuildbot user property and can be used for buildbot authz, for example:
from buildbot.plugins import util
c["www"]["authz"] = util.Authz(
    allowRules=[
        util.AnyEndpointMatcher(role="ops", defaultDeny=False),
        util.AnyControlEndpointMatcher(role="ops"),
    ],
    roleMatchers=[
        util.RolesFromGroups(groupPrefix="build-"),
    ]
)