@@ -76,7 +76,19 @@ examples to guide you:
7676
7777### Authentication backend
7878
79- At the moment all projects are visible without authentication.
79+ At the moment ` buildbot-nix ` offers two access modes, ` public ` and
80+ ` fullyPrivate ` . ` public ` is the default and gives read-only access to all of
81+ buildbot, including builds, logs and builders. For read-write access,
82+ authentication is still needed, this is controlled by the ` authBackend ` option.
83+
84+ ` fullyPrivate ` will hide buildbot behind ` oauth2-proxy ` which protects the whole
85+ buildbot instance. buildbot fetches the currently authenticated user from
86+ ` oauth2-proxy ` so the same admin, organisation rules apply.
87+
88+ ` fullyPrivate ` acccess mode is a workaround as buildbot does not support hiding
89+ information natively as now.
90+
91+ #### Public
8092
8193For some actions a login is required. This login can either be based on GitHub
8294or on Gitea (more logins may follow). The backend is set by the
@@ -92,9 +104,9 @@ We have the following two roles:
92104 - All member of the organisation where this repository is located
93105 - They can restart builds
94106
95- ### Integration with GitHub
107+ ##### Integration with GitHub
96108
97- #### GitHub App
109+ ###### GitHub App
98110
99111This is the preferred option to setup buildbot-nix for GitHub.
100112
@@ -128,15 +140,15 @@ To integrate with GitHub using app authentication:
128140 changes (new repositories or installations) automatically, it is therefore
129141 necessary to manually trigger a reload or wait for the next periodic reload.
130142
131- #### Token Auth
143+ ###### Token Auth
132144
133145To integrate with GitHub using legacy token authentication:
134146
1351471 . ** GitHub Token** : Obtain a GitHub token with ` admin:repo_hook ` and ` repo `
136148 permissions. For GitHub organizations, it's advisable to create a separate
137149 GitHub user for managing repository webhooks.
138150
139- ### Optional when using GitHub login
151+ ##### Optional when using GitHub login
140152
1411531 . ** GitHub App** : Set up a GitHub app for Buildbot to enable GitHub user
142154 authentication on the Buildbot dashboard. (can be the same as for GitHub App
@@ -149,7 +161,7 @@ Afterwards add the configured github topic to every project that should build
149161with buildbot-nix. Notice that the buildbot user needs to have admin access to
150162this repository because it needs to install a webhook.
151163
152- ### Integration with Gitea
164+ ##### Integration with Gitea
153165
154166To integrate with Gitea
155167
@@ -171,6 +183,22 @@ with buildbot-nix. Notice that the buildbot user needs to have repository write
171183access to this repository because it needs to install a webhook in the
172184repository.
173185
186+ #### Fully Private
187+
188+ To enable fully private mode, set ` acessMode.fullyPrivate ` to an attrset
189+ containing the required options for fully private use, refer to the examples and
190+ module implementation (` nix/master.nix ` ).
191+
192+ This access mode honors the ` admins ` option in addition to the
193+ ` accessMode.fullyPrivate.organisations ` option. To allow access from certain
194+ organisations, you must explicitly list them.
195+
196+ If you've set ` authBackend ` previously, unset it, or you will get an error about
197+ a conflicting definitions. ` fullyPrivate ` requires the ` authBackend ` to be set
198+ to ` basichttpauth ` to function (this is handled by the module, which is why you
199+ can leave it unset). For a concrete example please refer to
200+ [ fully-private-github] ( ./examples/fully-private-github.nix )
201+
174202## Binary caches
175203
176204To access the build results on other machines there are two options at the
0 commit comments