Open nelsonic opened 2 years ago
https://github.com/gogs/gogs GitHub repo is very popular and has a healthy number of contributors:
Who is using Gogs
? https://gogs.io a lot of CN companies:
Which makes sense as GitHub is partially blocked in China: https://en.wikipedia.org/wiki/Censorship_of_GitHub#China and it probably makes sense for CN companies to be at least a little paranoid of putting all their code/secrets on a US-owned platform. 💭
Also looked at Gitea: https://gitea.io/en-us/ > https://github.com/go-gitea/ > https://try.gitea.io/api/swagger#/repository
It's a Fork of Gogs
with a focus on front-end UI/UX.
It looks good, basically a clone of what GitHub used to look like before Microsoft.
Gogs
server deployed to: https://gogs-server.fly.dev/ 🚀
Documented in: https://github.com/dwyl/gogs-server ✅
The work on https://github.com/dwyl/gogs is coming along nicely. We've shipped most of the core functions we need: https://hexdocs.pm/gogs/api-reference.html
But we are tidying it up a bit first before using it in an App: https://github.com/dwyl/gogs/issues/24 + https://github.com/dwyl/gogs/pull/25 + https://github.com/dwyl/gogs/issues/26
really wish I had seen this page earlier: https://docs.gitea.io/en-us/comparison/ ... 🙄 ⏳
We've invested a considerable amount of time in: ⌛
Gogs
: https://github.com/dwyl/gogs-server + https://github.com/dwyl/learn-devops/tree/main/gogs 🚀 Gogs
instance from Elixir
>gogs
: https://github.com/dwyl/gogs ⚙️ But re-reading the Gitea
API I'm being forced to re-consider ... 🙄
I'm suffering from a serious case of "Sunk Cost Bias" ...
Basically 3 things are forcing me consider switching from Gogs
to Gitea
:
More extensive and documented API: https://try.gitea.io/api/swagger#/
Ability to create Orgs via the API:
visibility
option which allows them to be unlisted
i.e. not visible even if someone has access to the Gitea instance. Git Diff appears to be available via the API: https://github.com/dwyl/gogs/issues/27
Ok, while
it totally sucks to write-off the time we've invested in Gogs
and switch to Gitea
, ⏳ 🔥 🤦♂️
I'm thinking that I will do a Spike
to try and replicate the work we've done (deployment, module & demo). 🧑💻
It's definitely not a complete waste of effort because all the local_...
functions can be recycled ♻️
and my reading is that there is a migration path from Gogs
to Gitea
: https://docs.gitea.io/en-us/upgrade-from-gogs ...
So all the underlying "DevOps" work should be transferable too. 🤞
Going to start with getting Gitea
running on Fly.io
: https://github.com/dwyl/gitea-server
Then I will try and simulate the API requests noted above:
visibility: hidden
diff
via the REST APIIf those two things work and it doesn't take me too much time I will report back.
Wish me luck! 🍀
Not for github-backup
, but this is a useful feature for orgs that need privacy:
https://gitea-server.fly.dev/private-org visible to members:
404 for anyone else:
We've made substantial progress with this:
gitea
: https://github.com/dwyl/giteagitea-server
: https://github.com/dwyl/gitea-servergitea-demo
: https://github.com/dwyl/gitea-demoStill #Todo
: Backups! https://github.com/dwyl/gitea-server/issues/3 🙏
Our original reasoning for this project is still very much still a reality.
GitHub still has regular "incidents": https://www.githubstatus.com/history where it's offline for hours ... ⏳![image](https://user-images.githubusercontent.com/194400/162309704-ced0641a-8ee3-4e8b-bc40-89d1c56a5a3b.png)
Using GitHub as our Single source of truth means it's "mission critical" and we need access to it pretty much always.
At present this project mirrors issue data to
AWS S3
and @RobStallion asked a very valid question about it: #126 That's OK as a "cold" backup but it's not very useful for business continuity.Starting Point
https://gogs.io/https://gitea.iohttps://fly.io/docs/app-guides/git-gogs-server--> https://github.com/dwyl/gitea-serverTodo
https://try.gogs.iohttps://try.gitea.ioGogs
server fromElixir
: https://github.com/dwyl/giteaGitea
server on Fly.io