From 134f52b11893ffff8777f8d8fc8a7257b04a7d9c Mon Sep 17 00:00:00 2001 From: James Pace Date: Sat, 10 Feb 2024 03:29:52 +0000 Subject: [PATCH] More flash out of git article. --- _drafts/bible-cross-reference.md | 5 +++ _drafts/self_hosted_git_summary.qmd | 54 ++++++++++++++++++++++++++++- 2 files changed, 58 insertions(+), 1 deletion(-) create mode 100644 _drafts/bible-cross-reference.md diff --git a/_drafts/bible-cross-reference.md b/_drafts/bible-cross-reference.md new file mode 100644 index 0000000..d2eced6 --- /dev/null +++ b/_drafts/bible-cross-reference.md @@ -0,0 +1,5 @@ +--- +title: "Draft" +author: "James Pace" +date: "2024/01/01" +--- diff --git a/_drafts/self_hosted_git_summary.qmd b/_drafts/self_hosted_git_summary.qmd index da863d3..29a494f 100644 --- a/_drafts/self_hosted_git_summary.qmd +++ b/_drafts/self_hosted_git_summary.qmd @@ -48,12 +48,64 @@ something from a git repo and do the thing in it. # Why I chose gitea? +I currently use gitea for as my personal git forge. +Gitea is an open source git forge that heavily borrows from Github's +UI and feature set. +Gitea is extremely light weight, with a number of people online running +it on Raspberry Pi's. + +There are two reasons I chose to go with gitea. + +1. It is extremely light weight and easy to host. + I was able to get a test version running on my laptop in a container running very quickly. + Once I decided to fully move to it, setting it up on Kubernetes was farily straight forward. + I've not looked at its resource useage on my currenty cluster, but I know pre-Kubernetes + I ran it on a Vm with less than 1Gb of RAM. + +2. It has the best community support. + When looking at other tools that integrate with a git forge, I noticed + pretty much all of them natively have support for Github, most of them also + supported self hosted Gitlab, and if they support anything else without using + SSH directly, it's Gitea. + +With that being said, I did have some concerns initially and spent a lot of energy looking +for better alternatives. +Particularly: + +1. Looking at their public Github, I didn't get the feeling the project was very mature. + It's hard to put a finger on why I felt (and still feel) that, but there is something about + building something that is so unbashedly a clone that feels immature to me. +2. The maintainers are mostly in China, which makes it challenging to ever push at work. + This may come off as Xenophobic, but in the national defense field, our customers sort of are + supposed to be distrustful of other countries, and their requirements flow down. + ## Other Options -### Gitlab +### Gitlab Community Edition + +One of the options I really wanted to like was Gitlab, particularly their open source +free edition. +As I mentioned earlier, outside of Github, Gitlab has the best community support, and I know +of a number of Open Source projects that aren't on Github that use it. + +Unfortuntely, Gitlab is fat, requiring an insane amount of RAM to just idle. +I tried running it on my laptop in a VM with 4Gb of RAM, and with the system idling, and +the only thing happening being me in the admin panel, browsing, the server kept getting OOM'd +killed. +Their docs say the minimum amount of RAM is 4Gb and they are not kidding. ### Onedev +Onedev is an all in Git forge, largely produced by one guy. + +I really wanted to like Onedev, and ran it as my primary Git forge before +my last install of Gitea. +Unfortunately, there were just too many little UI bugs that added up so I +couldn't really suggest anyone else use it at like work, and again its +mostly developed by one guy. + +It ran great on a VM with very little RAM, though. + ### Gerrit [^dev-stack-definition]: I'm going to use *development stack* in this article to refer to the combination