Commit Graph

285 Commits

Author SHA1 Message Date
Kevin Fenzi
1b938e0c7a Revert "koji: re-block some koji endpoints due to scrapers"
This reverts commit ffbcb36d91.

We no longer need this after the blocking of that abusive ASN.
2026-01-25 10:46:37 -08:00
Kevin Fenzi
ffbcb36d91 koji: re-block some koji endpoints due to scrapers
They are hitting these endpoints really hard.
Might be able to lift it later...

Signed-off-by: Kevin Fenzi <kevin@scrye.com>
2026-01-25 10:24:17 -08:00
Adam Williamson
d76afa032b Move the qa-landingpage reverse proxy config removal
...we already have a better place to do this, it turns out.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2026-01-21 15:44:01 -08:00
Adam Williamson
521897ede9 sigh, tags
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2026-01-21 15:05:23 -08:00
Adam Williamson
b67fe0f32f Remove qa-landingpage proxypassreverse config
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2026-01-21 14:58:44 -08:00
Kevin Fenzi
e5f736c308 riscv-kojipkgs: add a custom reversepassproxy config
This will help not expose things we should not.

Signed-off-by: Kevin Fenzi <kevin@scrye.com>
2026-01-15 12:36:40 -08:00
Michal Konecny
66ea3d1769 [httpd] Re-enable history endpoint on src.fp.o
See https://pagure.io/fedora-infrastructure/issue/13011 for more info.

Signed-off-by: Michal Konecny <mkonecny@redhat.com>
2026-01-07 09:01:48 +00:00
Adam Williamson
fc36e437c0 reverseproxy: whoops, drop stray duplicate endif
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2026-01-06 10:17:49 -08:00
Adam Williamson
0547a22e86 Forgejo attachment redirects: set up for prod
This tweaks the Forgejo redirect-to-pagure-for-attachments stuff
to work for prod as well as staging, since we proved it out in
staging and we do want it to actually work for prod migrations.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2026-01-06 08:59:39 -08:00
Adam Williamson
16ddce81e8 Forgejo attachment proxy: special-case testdays-web
This is a bit ugly, but can't think of a better way right now.
Since @kparal is using this migration of testdays-web from prod
pagure to staging forgejo as a test case for prod migrations in
general, let's make sure it works properly by proxying attachment
requests to prod pague instead of staging.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2025-12-18 17:46:36 -08:00
Adam Williamson
08f04c6d36 Whoops, fix a missing stg. in forgejo attachment proxying
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2025-12-18 17:44:54 -08:00
Adam Williamson
cacc7710ad proxies/forge: fix attachment proxying for images
This turned out to be a bit complicated, see
https://codeberg.org/forgejo/forgejo/issues/6360#issuecomment-9010932 . Pagure
images in comments use root-relative Markdown links, like this:

![image.png](/group/repo/issue/raw/files/image.png)

but Forgejo renders those relative to *the repo*, not the server root, so
they get rendered as something like:

<img src="/forgejoorg/forgejorepo/group/repo/issue/raw/files/image.png">

However, it does *not* do this for *non-image* root-relative links, so those
aren't 'broken'. This means we need to handle *both* cases in the proxying,
and we also need to keep in mind that Pagure allows repos without a group.
So we can wind up with one, two, three or four folders before /issue.

I did some testing and I *think* this should cover all cases. I've tested
this does fix images, I haven't tested on a non-image attachment yet (need
to find one).

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2025-12-18 17:39:26 +00:00
Adam Williamson
219ffbf416 proxies/forge: fix SSL failures with attachment reverse proxy
The attachment reverse proxy was failing for several reasons, one
of which is that SSL options weren't set up correctly so the SSL
connection to pagure.io failed. This adds a Proxy section for
stg.pagure.io with the appropriate settings to make it work.

There are still several other issues, but this at least fixes the
SSL problem.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2025-12-18 17:39:26 +00:00
Akashdeep Dhar
1a58c8ff14 Restrict the changes to the staging environment temporarily
Signed-off-by: Akashdeep Dhar <akashdeep.dhar@gmail.com>
2025-12-08 22:00:38 +00:00
Akashdeep Dhar
ed1103649c proxies/forge: proxy attachment requests from Forge to Pagure
redirect attachment file requests from Fedora Forge to Pagure for migrated
projects, allowing attachments to remain on this existing instance without
needing to be migrated.

Signed-off-by: Akashdeep Dhar <akashdeep.dhar@gmail.com>
2025-12-08 22:00:38 +00:00
Kevin Fenzi
ea1a9a5b6b proxies: block /history/ and /blame/ on the web interface of src.
Scrapers are crawling these endpoints and pkgs01 takes a while to call
git on the backend and return data to them. This causes latency to
increase a bunch because it's got all those blame and history requests
it's processing so it can't process more important things.

So, lets just block these for now. Any users who need them can easily
git clone locally and run history/blame just fine.

Signed-off-by: Kevin Fenzi <kevin@scrye.com>
2025-12-06 10:10:35 -08:00
Kevin Fenzi
2f76d23a6b proxies: block another fork for now
Signed-off-by: Kevin Fenzi <kevin@scrye.com>
2025-11-23 17:39:50 -08:00
Kevin Fenzi
e8c5b9309f proxies / src: add another fork block
Signed-off-by: Kevin Fenzi <kevin@scrye.com>
2025-11-22 16:40:32 -08:00
Kevin Fenzi
4150f58a00 proxies / src: organize and document fork blocks
I am not sure these are even ai scrapers. If they are, they are broken
and unfit for scraping. They just hit these forks (and nothing else)
over and over via a Distributed pile of ips. They pass anubis
challenges, so probibly residential users who they don't care about.

Anyhow, on high load on pkgs01, see if more blocks need to be added
here.

Signed-off-by: Kevin Fenzi <kevin@scrye.com>
2025-11-22 09:26:14 -08:00
Kevin Fenzi
d5e1fa08f2 proxies: drop some requests that use referrer of some forks
there's about... 7million hits a day from sites passing a referrer
of forks/kernel or forks/firefox where they are fetching static content
over and over and over. This may be because before they were blocked
from the forks themselves they were also downloading the js and static
content, and now they are just too dumb to see the 403 and still
want to fetch the old static content. Fortunately, they send a
referrer we can match on.

So, this should cut load another chunk.

Signed-off-by: Kevin Fenzi <kevin@scrye.com>
2025-10-15 13:53:28 -07:00
Kevin Fenzi
58c8447d1a proxies / src: block all kernel forks for now
Some scraper(s) were very very agressively crawling kernel fork repos
and causing all kinds of problems for koji and src.

Signed-off-by: Kevin Fenzi <kevin@scrye.com>
2025-10-15 07:58:11 -07:00
Kevin Fenzi
9a22870dd7 candidate-registry: set network to 10.16 instead of the old iad2 10.3
This apache config is needed in order to allow auth to upload to the
candidate registry. Without it, skopeo just gives a perm denied.
Anytime the datacenter networks change this will also need updated.

Signed-off-by: Kevin Fenzi <kevin@scrye.com>
2025-07-29 15:28:51 -07:00
Kevin Fenzi
f32e35dc41 koji: restore some web endpoints now, uncomment if load becomes too bad
Signed-off-by: Kevin Fenzi <kevin@scrye.com>
2025-07-11 11:16:09 -07:00
Nils Philippsen
6c85fda0c9 Mass remove/replace iad2 -> rdu3, 10.3. -> 10.16.
Signed-off-by: Nils Philippsen <nils@redhat.com>
2025-07-03 20:05:02 +02:00
Kevin Fenzi
ac0abd5853 proxies: switch openqa stg to use rdu3 and add a tag for easily setting it up
Signed-off-by: Kevin Fenzi <kevin@scrye.com>
2025-06-30 17:40:44 -07:00
Kevin Fenzi
fc396674c9 proxies: ipa web ui, missed a iad2
Signed-off-by: Kevin Fenzi <kevin@scrye.com>
2025-06-30 10:15:19 -07:00
Kevin Fenzi
4edce82deb proxies: send ipa web ui to rdu3
Signed-off-by: Kevin Fenzi <kevin@scrye.com>
2025-06-30 10:11:28 -07:00
Kevin Fenzi
7b0eeff7e6 proxies / kojipkgs / nagios: enable in rdu3
Signed-off-by: Kevin Fenzi <kevin@scrye.com>
2025-06-26 15:39:59 -07:00
Kevin Fenzi
126e66c736 proxies: also enable proxy for src.stg/src in rdu3
Signed-off-by: Kevin Fenzi <kevin@scrye.com>
2025-06-26 14:36:15 -07:00
Kevin Fenzi
e670096cd4 proxies / reverspassproxy: setup rdu3 non openshift to work (for riscv koji)
Signed-off-by: Kevin Fenzi <kevin@scrye.com>
2025-06-26 13:30:35 -07:00
Kevin Fenzi
8c64f2ee8a koschei: also drop bots on koschei
Signed-off-by: Kevin Fenzi <kevin@scrye.com>
2025-06-18 13:53:35 -07:00
Kevin Fenzi
4ccfef4a5b bodhi: move bot section to the right place
Signed-off-by: Kevin Fenzi <kevin@scrye.com>
2025-06-18 13:24:43 -07:00
Kevin Fenzi
6880ca537b proxies: bodhi: try and block all the bots going to bodhi
Signed-off-by: Kevin Fenzi <kevin@scrye.com>
2025-06-18 12:45:14 -07:00
Kevin Fenzi
a6c096617b proxies: openshift rdu3
So, we renamed the cluster with the ocp-rdu3 name, so drop all this
special handling. All the proxies should be able to reach it by that
name and via the vpn endpoints it has.

Signed-off-by: Kevin Fenzi <kevin@scrye.com>
2025-06-16 11:10:08 -07:00
Kevin Fenzi
880e83dd43 proxies / rdu3: fix ca filename
Signed-off-by: Kevin Fenzi <kevin@scrye.com>
2025-06-14 14:51:21 -07:00
Kevin Fenzi
e7e6db8d8d proxies: rename ocp4-rdu3 to ocp4_rdu3 to hopefully get jinja2 to leave it alone
Signed-off-by: Kevin Fenzi <kevin@scrye.com>
2025-06-14 14:30:00 -07:00
Kevin Fenzi
e1132667d3 proxies: add a ocp-rdu3 site/endpoint to get to the new rdu3 prod openshift
We can't use easily the existing hostname/site, as that goes to the
current iad2 cluster, so setup a -rdu3 version for now.
After we switch we can drop this and repoint the main one to the new
cluster.

Hopefully this all works and does the right thing.

Signed-off-by: Kevin Fenzi <kevin@scrye.com>
2025-06-14 12:35:20 -07:00
Kevin Fenzi
b1c844e6d3 proxies / koji: block buildroot and rpminfo for now as scrapers are beating things up on them
Signed-off-by: Kevin Fenzi <kevin@scrye.com>
2025-06-02 07:42:37 -07:00
Kevin Fenzi
91e9a5627d httpd / botblocking: fix syntax on bot rewrite
These have to be in "s in order to do a string comparison, since
they were not, they were never matching anything. ;(

Fix them all up, and also block a few more repos on pagure that are
getting heavily crawled.

Signed-off-by: Kevin Fenzi <kevin@scrye.com>
2025-05-13 11:39:25 -07:00
Kevin Fenzi
3a9f0cbfbb Revert "proxies: re-enable koji endpoints"
This reverts commit 5a72566502.

The bots are back, close these endpoints. :(
2025-04-26 12:24:59 -07:00
Kevin Fenzi
5a72566502 proxies: re-enable koji endpoints
Signed-off-by: Kevin Fenzi <kevin@scrye.com>
2025-04-21 14:17:31 -07:00
Kevin Fenzi
002afafc5f proxy01/10 / koji: block some kojiweb queries that bots are hitting
Bots are htiting these at a massive level.
Since these cause koji to do db queries it basically swamps it and it
stops processing at all.

Hopefully with enough of these 403's the bots will go away.

Signed-off-by: Kevin Fenzi <kevin@scrye.com>
2025-04-16 18:40:24 -07:00
Kevin Fenzi
af2cadbda9 wiki: 404 a list of bots
Bots are hitting the wiki pretty hard and we don't particularly
care about indexing it anymore, as most real docs should have moved
to docs.fedoraproject.org. Also, many of these bots ignore robots.txt
or do other things we don't want.

Signed-off-by: Kevin Fenzi <kevin@scrye.com>
2025-03-19 20:53:05 +00:00
Michal Konecny
2ec055db6f Use first uppercase letter for all handlers
This will unify all the handlers to use first uppercase letter for
ansible-lint to stop complaining.

I went through all `notify:` occurrences and fixed them by running
```
set TEXT "text_to_replace"; set REPLACEMENT "replacement_text"; git grep
-rlz "$TEXT" . | xargs -0 sed -i "s/$TEXT/$REPLACEMENT/g"
```

Then I went through all the changes and removed the ones that wasn't
expected to be changed.

Fixes https://pagure.io/fedora-infrastructure/issue/12391

Signed-off-by: Michal Konecny <mkonecny@redhat.com>
2025-02-10 20:31:49 +00:00
Mattia Verga
2b4de7b85d another try on registry redirection
Signed-off-by: Mattia Verga <mattia.verga@tiscali.it>
2025-01-20 23:18:55 +00:00
Kevin Fenzi
96a5107afa registry: just test in staging for now
Signed-off-by: Kevin Fenzi <kevin@scrye.com>
2025-01-17 10:27:44 -08:00
Kevin Fenzi
719417e668 registry: handle stg redirect too
Signed-off-by: Kevin Fenzi <kevin@scrye.com>
2025-01-17 10:18:24 -08:00
Mattia Verga
926b12b2a5 Move registry redirects rules to reverseproxy 2025-01-17 17:52:24 +00:00
Ryan Lerch
47c68f478d ansiblelint fixes - fqcn[action-core] - template to ansible.builtin.template
Replaces references to template: with ansible.builtin.template

Signed-off-by: Ryan Lerch <rlerch@redhat.com>
2025-01-15 11:30:29 +10:00
Ryan Lerch
89f6f1fc32 Fix majority of remaining yamllint warnings and errors
Signed-off-by: Ryan Lerch <rlerch@redhat.com>
2024-11-28 17:31:45 +10:00