No description
Find a file
Aravinth Manivannan 64daf6eb2f
Some checks failed
Lint / fmt (push) Has been cancelled
Lint / clippy (push) Has been cancelled
Coverage / stable - x86_64-unknown-linux-gnu (push) Has been cancelled
Build / stable - x86_64-unknown-linux-gnu (push) Has been cancelled
chore: clippy
2023-03-26 11:43:21 +05:30
.github feat: CI: store build cache 2022-05-25 12:53:38 +05:30
api_routes chore: lints 2023-03-02 18:09:44 +05:30
config feat: sleep in between introductions 2023-03-25 21:29:56 +05:30
db fix: get non-imported forges 2023-03-26 01:04:30 +05:30
docs docs: Added in a section for workspace setup 2022-07-05 14:26:29 +05:30
federate feat: record starchart imports 2023-03-02 19:13:28 +05:30
forge chore: lints 2023-03-02 18:09:44 +05:30
scripts fix: Refactored grammatical errors 2022-07-05 14:05:57 +05:30
src chore: clippy 2023-03-26 11:43:21 +05:30
static/cache/css feat: search bar 2023-03-04 18:58:48 +05:30
templates feat: display search results 2023-03-04 18:59:10 +05:30
utils/cache-bust feat: explicitly mention cargo entry points 2022-05-23 18:54:55 +05:30
.dockerignore feat: build docker container in CI 2022-05-23 18:54:20 +05:30
.env-sample fix: set rate-limit=0 for tests 2022-06-04 20:44:43 +05:30
.gitignore feat: bootstarp loading templates 2022-05-19 14:33:33 +05:30
build.rs chore: lints 2023-03-02 18:09:44 +05:30
Cargo.lock feat: leaky-bucket algo implementing federated search counter 2023-03-04 16:42:23 +05:30
Cargo.toml feat: leaky-bucket algo implementing federated search counter 2023-03-04 16:42:23 +05:30
docker-compose-dev-deps.yml feat: spin up and install Gitea and create new user for testing 2022-04-06 09:24:15 +05:30
Dockerfile feat: use cargo-chef for caching 2022-05-24 20:43:18 +05:30
LICENSE.md feat: add license 2022-03-28 11:50:16 +05:30
Makefile feat: launch from configuration via env vars only 2023-03-25 11:45:07 +05:30
README.md feat: add readme 2022-03-30 13:48:54 +05:30
sqlx-data.json feat: implement repo API search in REST API 2023-02-26 23:16:25 +05:30

ForgeFlux StarChart

Documentation Build dependency status codecov
AGPL License Chat

Why

There are several small, private forges that host Free Software projects. Some of these Forges might one day participate in the federated ecosystem. So it would make sense to have a system(see spider mechanism) that would map and advertise these instances and the projects that they host.

Consensual Spidering

We are aware that spiders some very aggressive and small forges are often running on resource-constrained environments. Therefore, StarChart(this spider) will only crawl a service if the crawl is requested by the admin of the forge(more accurately, folks that have access to the DNS associated with the forge's hostname though).

StarChart will rate limit API calls to one call every 10 seconds. For instance, a Gitea API call would resemble:

curl -X 'GET' \
  'https://gitea.example.org/api/v1/repos/search?page=2&limit=20' \
  -H 'accept: application/json'

Contributing

Thanks for considering contributing on GitHub. If you are not an GitHub but would like to contribute to ForgeFlux sub-projects(all repositories under this organisation), I would be happy to manually mirror this repository on my Gitea instance, which has a much more respectful privacy policy