Codeberg/Community
54
325
Fork
You've already forked Community
12

Self-hosted actions runners get rate limited #1698

Closed
opened 2024年11月09日 20:16:25 +01:00 by linus · 4 comments

Comment

We (@sdomi and myself) host two, soon three, separate forgejo actions runners connected to Codeberg. As far as I can tell this is necessary because there can only be one registration of a runner to an organization or user, and they are for https://codeberg.org/linusg, https://codeberg.org/kiesel-js, and https://codeberg.org/servfail respectively.

Because they all run on the same host we sometimes get rate limited. I'm not sure if the forgejo actions runner is expected to handle this gracefully, perhaps it would after #944? At the moment it seems it just keeps sending out more requests and the only solution is to manually stop the affected runner(s), wait for some time, and restart it.

We tried bumping the fetch interval from the default of 2s to 20s and still ran into issues, for now I set them all to 60s which is not acceptable IMO.

Would it be possible to do either of these until the runner handles this in a better way?

  • Increase the rate limit for runner-specific endpoints
  • Increase the rate limit for specific users/orgs (I'm a member of Codeberg e.V. and actively use the platform for all of my current projects)
  • Increase the rate limit for this specific host (185.236.240.103 / 2a0d:eb00:8006:acab:212:fdff:feaa:aaaa, aka sakamoto.pl)

Thanks!

### Comment We (@sdomi and myself) host two, soon three, separate forgejo actions runners connected to Codeberg. As far as I can tell this is necessary because there can only be one registration of a runner to an organization or user, and they are for https://codeberg.org/linusg, https://codeberg.org/kiesel-js, and https://codeberg.org/servfail respectively. Because they all run on the same host we sometimes get rate limited. I'm not sure if the forgejo actions runner is expected to handle this gracefully, perhaps it would after #944? At the moment it seems it just keeps sending out more requests and the only solution is to manually stop the affected runner(s), wait for some time, and restart it. We tried bumping the fetch interval from the default of 2s to 20s and still ran into issues, for now I set them all to 60s which is not acceptable IMO. Would it be possible to do either of these until the runner handles this in a better way? - Increase the rate limit for runner-specific endpoints - Increase the rate limit for specific users/orgs (I'm a member of Codeberg e.V. and actively use the platform for all of my current projects) - Increase the rate limit for this specific host (`185.236.240.103` / `2a0d:eb00:8006:acab:212:fdff:feaa:aaaa`, aka `sakamoto.pl`) Thanks!

sidenote: 2s is the default in the example config file; in our case, it was actually set to 4s when we first investigated the issue today. it would be nice if forgejo did long polling on this...

sidenote: 2s is the default in the example config file; in our case, it was actually set to 4s when we first investigated the issue today. it would be nice if forgejo did long polling on this...
Owner
Copy link

AFAIK the Forgejo runner automatically sets the value to at least 30 seconds when it connects to codeberg.

I'll add an exception for you, though.

Improving rate-limiting w.r.t. Forgejo Actions (also client-side when viewing logs!) is a high priority, but it will take some time.

AFAIK the Forgejo runner automatically sets the value to at least 30 seconds when it connects to codeberg. I'll add an exception for you, though. Improving rate-limiting w.r.t. Forgejo Actions (also client-side when viewing logs!) is a high priority, but it will take some time.
Owner
Copy link

The IP addresses have been allowlisted explicitly.

The IP addresses have been allowlisted explicitly.
Author
Copy link

Thank you!

Thank you!
Sign in to join this conversation.
No Branch/Tag specified
main
No results found.
Labels
Clear labels
accessibility

Reduces accessibility and is thus a "bug" for certain user groups on Codeberg.
bug

Something is not working the way it should. Does not concern outages.
bug
infrastructure

Errors evidently caused by infrastructure malfunctions or outages
Codeberg

This issue involves Codeberg's downstream modifications and settings and/or Codeberg's structures.
contributions welcome

Please join the discussion and consider contributing a PR!
docs

No bug, but an improvement to the docs or UI description will help
duplicate

This issue or pull request already exists
enhancement

New feature
infrastructure

Involves changes to the server setups, use `bug/infrastructure` for infrastructure-related user errors.
legal

An issue directly involving legal compliance
licence / ToS

involving questions about the ToS, especially licencing compliance
please chill
we are volunteers

Please consider editing your posts and remember that there is a human on the other side. We get that you are frustrated, but it's harder for us to help you this way.
public relations

Things related to Codeberg's external communication
question

More information is needed
question
user support

This issue contains a clearly stated problem. However, it is not clear whether we have to fix anything on Codeberg's end, but we're helping them fix it and/or find the cause.
s/Forgejo

Related to Forgejo. Please also check Forgejo's issue tracker.
s/Forgejo/migration

Migration related issues in Forgejo
s/Pages

Issues related to the Codeberg Pages feature
s/Weblate

Issue is related to the Weblate instance at https://translate.codeberg.org
s/Woodpecker

Woodpecker CI related issue
security

involves improvements to the sites security
service

Add a new service to the Codeberg ecosystem (instead of implementing into Gitea)
upstream

An open issue or pull request to an upstream repository to fix this issue (partially or completely) exists (i.e. Gitea, Forgejo, etc.)
wontfix

Codeberg's current set of contributors are not planning to spend time on delegating this issue.
Milestone
Clear milestone
No items
No milestone
Projects
Clear projects
No items
No project
Assignees
Clear assignees
No assignees
3 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
Codeberg/Community#1698
Reference in a new issue
Codeberg/Community
No description provided.
Delete branch "%!s()"

Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?