#12926 src.fp.o api page seems to be locked behind anubis
Closed: Fixed by lecris. Opened by lecris.

Describe what you would like us to do:

Currently zuul is accessing the src.fp.o api via ansible, but recently it seems to fail because of anubis example (fedpkg-build-ng: Get PR information)


When do you need this to be done by? (YYYY/MM/DD)

Probably affecting some other stuff, but for zuul, that thing would probably go away soon :tm:



Is it possible to set Accept and User-agent here?

(example: https://github.com/fedora-eln/content-resolver/pull/100 )
Looks like uri module should take 'http_agent' and 'headers' to set this?

Failing that, is there any way to identify this traffic? from a specific ip/network, with specific headers?

For zuul it probably doesn't make a difference ig we go ahead with the migration to packit fedora-ci. But other api users would be similarly impacted and was wondering if there are other ways to work around genuine api calls either authenticated or not

Well, I think the first thing any api / automated client can do is set agent and accept. Many other clients have done so and then anubis leaves them alone. I know it's bad to scale that way (forcing many clients to adjust to one server change), but I think it's the most sustainable path.

Failing that, we can configure the anubis policy, but we need something(s) to distinguish this client from all the other clients. That could be a user agent, it could be a specific header that this client sets, it could be a ip range we know this client comes from.

Last resort we can allowlist specific files/paths. If this is really just the api, we could allowlist /api/*, but... that makes us more open to abuse again, so I would prefer to keep that as a last resort.

Metadata Update from @phsmoura:
- Issue priority set to: Waiting on Assignee (was: Needs Review)
- Issue tagged with: medium-gain, medium-trouble, ops

Shall we keep this open? Can you adjust zuul? or just wait for packit....

We can close this. I have made the adjustments in Zuul and it worked. I guess anyone else affected would have to adapt as well.

Metadata Update from @lecris:
- Issue close_status updated to: Fixed
- Issue status updated to: Closed (was: Open)

Metadata
Related Pull Requests