<div dir="ltr"><div>Hi just a follow up on my original question. I realised that I was looking at the wrong documentation, the example I had copied was for a pre 0.9 version of Buildbot. The <a href="http://docs.buildbot.net/latest/manual/cfg-www.html">latest documentation</a> put me on the right path. <br><br><div>This worked for authentication(the most basic authentication) but I could not get authorisation to work<br></div><div>Essentially I want to prevent non super-engineering users from being able to force or stop a build.<br></div><div>RoleMatchers isn't working for me I keep getting the following errors<br></div><br><br>Well almost consider<br></div><pre><span class="">from</span> <span class="">buildbot.plugins</span> <span class="">import</span> <span class="">*</span>
<span class="">authz</span> <span class="">=</span> <span class="">util</span><span class="">.</span><span class="">Authz</span><span class="">(</span>
  <span class="">allowRules</span><span class="">=</span><span class="">[</span>
    <span class="">util</span><span class="">.</span><span class="">StopBuildEndpointMatcher</span><span class="">(</span><span class="">role</span><span class="">=</span><span class="">"admins"</span><span class="">),</span>
    <span class="">util</span><span class="">.</span><span class="">ForceBuildEndpointMatcher</span><span class="">(</span><span class="">role</span><span class="">=</span><span class="">"admins"</span><span class="">),</span>
    <span class="">util</span><span class="">.</span><span class="">RebuildBuildEndpointMatcher</span><span class="">(</span><span class="">role</span><span class="">=</span><span class="">"admins")</span>
  <span class="">],</span>
  <span class="">roleMatchers</span><span class="">=</span><span class="">[</span>
    <span class="">util</span><span class="">.</span><span class="">RolesFromEmails</span><span class="">(</span><span class="">admins</span><span class="">=</span><span class="">[</span><span class="">"homer"</span><span class="">])</span>
  <span class="">]</span>
<span class="">)</span></pre><div>When I had this in my master.cfg I got the error<br></div><div>unknown paramter :<span class="">RolesFromEmails</span><span class=""></span></div><div><br></div><div>I tried all the other roles, e.g RolesFromOwners but got similar errors<br><br></div><div>eventually I commented out the rolematchers lines<br><br><pre><span class="">from</span> <span class="">buildbot.plugins</span> <span class="">import</span> <span class="">*</span>
<span class="">authz</span> <span class="">=</span> <span class="">util</span><span class="">.</span><span class="">Authz</span><span class="">(</span>
  <span class="">allowRules</span><span class="">=</span><span class="">[</span>
    <span class="">util</span><span class="">.</span><span class="">StopBuildEndpointMatcher</span><span class="">(</span><span class="">role</span><span class="">=</span><span class="">"admins"</span><span class="">),</span>
    <span class="">util</span><span class="">.</span><span class="">ForceBuildEndpointMatcher</span><span class="">(</span><span class="">role</span><span class="">=</span><span class="">"admins"</span><span class="">),</span>
    <span class="">util</span><span class="">.</span><span class="">RebuildBuildEndpointMatcher</span><span class="">(</span><span class="">role</span><span class="">=</span><span class="">"admins")</span>
  <span class="">],</span>
<span style="color:rgb(0,255,0)">  #<span class="">roleMatchers</span><span class="">=</span><span class="">[</span>
    #<span class="">util</span><span class="">.</span><span class="">RolesFromEmails</span><span class="">(</span><span class="">admins</span><span class="">=</span><span class="">[</span><span class="">"homer"</span><span class="">])</span></span>
  <span class="">]</span>
<span class="">)<br><br></span></pre><pre><span class="">But then when I tried to start the buildmaster. I got another error<br><br></span></pre>self.authz.setMaster(self.master)<br></div><div>exceptions.attributeError: 'list' object has no attribute 'setmaster'<br><br></div><div>Essentially what is the right way to restrict users, from doing naughty things<br></div><div><br></div><br><div><br><br><br><br><br><br><div><div class="gmail_quote">---------- Forwarded message ----------<br>From: <b class="gmail_sendername">honas grael</b> <span dir="ltr"><<a href="mailto:honasgraeymael@gmail.com">honasgraeymael@gmail.com</a>></span><br>Date: Wed, Apr 6, 2016 at 7:19 PM<br>Subject: Authorising users<br>To: <a href="mailto:users@buildbot.net">users@buildbot.net</a><br><br><br><div dir="ltr"><pre><span>Hi guys, I'm trying to get authentication & authorization working, nothing fancy just the basic stuff, so looking at<br></span></pre><pre><span>the online example I found:<br></span></pre><pre><span><br><span style="color:rgb(0,0,255)">c</span></span><span style="color:rgb(0,0,255)"><span>[</span><span>'status'</span><span>]</span> <span>=</span> <span>[]</span>
<b><span style="color:rgb(255,0,255)">
<span>from</span> <span>buildbot.status</span> <span>import</span> <span>html</span>
<span>from</span> <span>buildbot.status.web</span> <span>import</span> <span>authz</span><span>,</span> <span>auth</span></span></b>

<span>authz_cfg</span><span>=</span><span>authz</span><span>.</span><span>Authz</span><span>(</span>
    <span># change any of these to True to enable; see the manual for more</span>
    <span># options</span>
    <span>auth</span><span>=</span><span>auth</span><span>.</span><span>BasicAuth</span><span>([(</span><span>"pyflakes"</span><span>,</span><span>"pyflakes"</span><span>)]),</span>
    <span>gracefulShutdown</span> <span>=</span> <span>False</span><span>,</span>
    <span>forceBuild</span> <span>=</span> <span>'auth'</span><span>,</span>  <span># use this to test your worker once it is set up</span>
    <span>forceAllBuilds</span> <span>=</span> <span>False</span><span>,</span>
    <span>pingBuilder</span> <span>=</span> <span>False</span><span>,</span>
    <span>stopBuild</span> <span>=</span> <span>False</span><span>,</span>
    <span>stopAllBuilds</span> <span>=</span> <span>False</span><span>,</span>
    <span>cancelPendingBuild</span> <span>=</span> <span>False</span><span>,</span>
<span>)</span>
<span>c</span><span>[</span><span>'status'</span><span>]</span><span>.</span><span>append</span><span>(</span><span>html</span><span>.</span><span>WebStatus</span><span>(</span><span>http_port</span><span>=</span><span>8010</span><span>,</span> <span>authz</span><span>=</span><span>authz_cfg</span><span>))<br><span style="color:rgb(0,0,0)"><br></span></span></span></pre><pre><span style="color:rgb(0,0,255)"><span><span style="color:rgb(0,0,0)">Now when I try this in my master.cfg I get python warnings along the lines of</span><br></span></span></pre><pre><span style="color:rgb(0,0,255)"><span>could not find module web,<br></span></span><span style="color:rgb(0,0,255)"><span>could not find module html<br><br></span></span></pre><pre><span style="color:rgb(0,0,0)"><span>I am using buildbot 0.9.06b, So far I've managed to get it running doing some basic builds and tests, so I am not sure why it <br>can't find these modules.<br></span></span></pre><pre><span style="color:rgb(0,0,255)"><span><span style="color:rgb(0,0,0)">Any suggestions</span><br></span></span></pre></div>
</div><br></div></div></div>