No description
Find a file
2023-03-02 13:24:35 +05:30
.github feat: CI: store build cache 2022-05-25 12:53:38 +05:30
api_routes feat: introduce new starchart nodes to other starchart nodes 2023-02-28 17:23:25 +05:30
config feat: introduce self when bootstrapping 2023-02-28 17:30:25 +05:30
db feat: index words on user and repo creation and rm from index when they 2023-03-02 13:24:35 +05:30
docs docs: Added in a section for workspace setup 2022-07-05 14:26:29 +05:30
federate feat: import index from federating node 2023-02-23 11:47:34 +05:30
forge fix: gitea check is broken, disable check and return default true to 2023-02-11 19:40:48 +05:30
scripts fix: Refactored grammatical errors 2022-07-05 14:05:57 +05:30
src feat: import forges from introduced nodes during bootstrap 2023-02-28 20:10:15 +05:30
static/cache/css feat: homepage 2022-05-21 00:17:14 +05:30
templates fix: use constant value DNS challenge 2023-02-22 18:09:12 +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 feat: add build.rs setup 2022-04-02 16:28:56 +05:30
Cargo.lock chore: mv routes to separate crate for reusability 2023-02-23 11:41:16 +05:30
Cargo.toml chore: mv routes to separate crate for reusability 2023-02-23 11:41:16 +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 chore: mv routes to separate crate for reusability 2023-02-23 11:41:16 +05:30
README.md feat: add readme 2022-03-30 13:48:54 +05:30
spider.rs feat: setup check and test for federate/* workspaces 2022-05-17 19:58:11 +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