Skip to content

Latest commit

 

History

History
101 lines (72 loc) · 3.3 KB

0002-vcs-platform-selection.md

File metadata and controls

101 lines (72 loc) · 3.3 KB
  • RFC PR: [infra/0002-vcs-platform-selection]
  • Status: Proposed
  • Created: 2026-02-01

VCS Platform Selection

Context and Background

As ProcioNet starts to take shape, we need a git-compatible platform to host and track developments. Even though GitHub seems the obvious choice, we want to evaluate alternatives against our requirements, both those we know and those we think are reasonable expectations.

Our requirements are technical (features we need), operational (maintenance effort), and strategic (data ownership, migration paths).

Goals

We need to pick a platform which allows us to satisfy our requirements:

  • Ownership of our work
  • Not having dumbass limitations (max team members, max repos, pay-as-go bs)
  • Non-trivial CI machinery (for example running nested VMs)
  • Hosting artifacts (container registry, package registries...)
  • Public and private projects
  • Minimal maintenance effort
  • Migration path without losing history (issues, discussions)

Proposal and Design

We propose adopting CodeBerg's Forgejo platform with a semi-automated migration path.

Why?

1. All-in-One Platform

Everything we need is integrated in a single system:

  • CI/CD pipelines with multiple runner types
  • Container registry
  • Package registries
  • Project management tools

No need to stitch together separate services for CI, registries, or project management.

2. Simplicity

Most of us has experience with:

  • GitLab CI/CD pipeline syntax and patterns
  • Runner configuration and management
  • Merge/Pull request workflow

Our feels is that the big ones (GitHub, GitLab, BitBucket, etc) are now focusing a lot of effort in becoming a catch-all toolbox for complex scenario and big organizations. This can be useful but is not our need for now and (hopefully) also for the future. We want to adopt peace of software the is simply doing what is supposed to do: an inteface for git and work/issue tracking.

3. CI/CD System

This is the main pain point because all of us have experience with Github/Gilab CI/CD workflows and no experience on the Forgejo system. But at least for now our use cases seems very simple (linting, static site build, docker image build). This is the only technical dep that we see now as a possible proble for this choice.

4. Migration to Self-Hosted

Codeberg is an instance of Forgejo that is open source. There are no middle-licence options and what we have on codeberg is the same of a future self-hosted option.

  • Export/import tools: Full project export including code, issues, MRs, wikis, CI configs
  • Well-documented: Extensive guides for self-hosting and migration

Alternatives

Github

GitLab

This is a valid alternative, with an almost-open-source development and self-host options.

The main reason why it's not the chosen one is because it's quite big both in the interface and in the server management. Another point is that they push the development on a lot of enteprise-level features (IA, k8s, complex deploy) that are not in our scope.