Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

I'm looking for a way to import gerrit ACl's to Zoket #101

Open
aswathb opened this issue Aug 28, 2019 · 1 comment
Open

I'm looking for a way to import gerrit ACl's to Zoket #101

aswathb opened this issue Aug 28, 2019 · 1 comment

Comments

@aswathb
Copy link

aswathb commented Aug 28, 2019

Hi Team,
I'm looking for a way to import gerrit ACL's to Zoket, Please let me know the steps to do it or any documentation that I can refer to mirror gerrit ACL's into Zoket.
Looking for a way to block the users at the repository level and at the branch level as well in Zoket.

@aswathb aswathb changed the title Please help me in setting "must set --repo_cache". I'm looking for a way to import gerrit ACl's to Zoket Sep 9, 2019
@hanwen
Copy link
Contributor

hanwen commented Nov 27, 2019

"So, here is what you have to do

  1. build a plugin in Gerrit that acts as a HTTP proxy. The plugin should enforce users to be logged in, and forward requests to a Zoekt instance, but also set a

X-Gerrit-AccountId: 1234

header.

  1. Update the web server to extract the gerrit account ID from the HTTP request, and set it in the HTTP Context.

  2. write a wrapper around zoekt.Searcher

zoekt/api.go

Line 263 in b1730d8

type Searcher interface {

that extracts the Gerrit user from the context. Then it should call back to the Gerrit instance, executing /check.access to verify if the user has access. If not, returon no results.

Then, when deploying, you create a firewall, so only the gerrit server can contact the zoekt server.

Overall, this is not an easy task. Good luck!"

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants