Gentoo Archives: gentoo-project

From: Alec Warner <antarus@g.o>
To: gentoo-project <gentoo-project@l.g.o>
Subject: Re: [gentoo-project] Repo mirror & CI: official statement wrt GitHub
Date: Thu, 14 Jun 2018 14:14:53
Message-Id: CAAr7Pr8Dh7_8zQ84aZ=Boi8g_P=dTibg53xjcntq_ufES0OxGQ@mail.gmail.com
In Reply to: Re: [gentoo-project] Repo mirror & CI: official statement wrt GitHub by James Le Cuirot
1 On Thu, Jun 14, 2018 at 5:47 AM, James Le Cuirot <chewi@g.o> wrote:
2
3 > On Mon, 11 Jun 2018 09:28:37 -0400
4 > Rich Freeman <rich0@g.o> wrote:
5 >
6 > > All that said, I haven't used the gitlab core functionality
7 > > personally, so I can't vouch for how it stands up on its own against
8 > > github. I might go deploy it in a container or something to try it
9 > > out.
10 >
11 > I used our own self-hosted instance at work. I think it is perfectly
12 > adequate. I haven't dug in but it seems to have quite a rich API so
13 > there's lots of potential.
14 >
15 > > My understanding is that the main barrier to having Gentoo infra host
16 > > gitlab is ruby - they don't like ruby (I don't know all the reasons -
17 > > they're probably good ones). If github.com is offering free hosting
18 > > that would be a way to get out of that problem. On the other hand, if
19 > > something bad does happen down the road, there is always the chance
20 > > that we'll have to move to self-hosting without a lot of warning, and
21 > > that means having to deal with ruby whether we like it or not (or lose
22 > > stuff like issues/PRs/etc that aren't in git itself).
23 >
24 > There are more than two options available here.
25 >
26 > There are various cloud options including Docker, Kubernetes, and
27 > OpenShift. I don't know much about that.
28 >
29 > GitLab's preferred method of installation is their Omnibus packages for
30 > various distributions but obviously not Gentoo. This is basically
31 > uber-bundling where they bundle just about everything including
32 > PostgreSQL. I have not tried this method. I don't know how feasible or
33 > even desirable it would be to try and use these.
34 >
35 > There is a Chef cookbook for installing the Omnibus packages but this
36 > is limited to the same set of distributions.
37 >
38 > There is also an unofficial Chef cookbook for installing "from source"
39 > that I currently maintain, somewhat minimally. Unfortunately it only
40 > supports RHEL (and derivatives) and Debian, and I only test on CentOS.
41 > Their own documentation for installing from source is fairly
42 > comprehensive but the cookbook gives a good indication of how you can
43 > script it up.
44 >
45 > https://github.com/atomic-penguin/cookbook-gitlab-deprecated
46 >
47 > When we say "from source", what we actually mean is that the various
48 > dependencies, apart from the Ruby gems and JavaScript libraries, are
49 > installed from distro packages where possible or from source when the
50 > packages are too old. This includes Ruby itself, Go, NodeJS,
51 > PostgreSQL, Redis, nginx, and obviously git. I expect Gentoo would have
52 > no trouble providing recent enough versions of these. You then clone
53 > the various GitLab repositories (currently 4, could be worse), build
54 > the Go code, and install further dependencies with Bundler and YARD,
55 > before doing some final setup tasks and firing it up.
56 >
57 > Using Bundler and YARD goes against Gentoo packaging but the list of
58 > dependencies for both sides is extremely long. I very much doubt we
59 > could keep on top of that and I understand this kind of pain because
60 > this is the same situation that the Java team finds itself in. At least
61 > in this case, there are most likely no pre-compiled binaries involved
62 > so the benefits of packaging are limited anyway. Ruby gems that include
63 > native code typically build from source on installation.
64 >
65 > I can't comment much about the JavaScript side but on the Ruby side,
66 > there are Gemfile.lock files present that lock the Ruby gem
67 > dependencies down to specific versions. If we did want to package the
68 > gems, we would probably not want to be tied to such specific versions.
69 > You could possibly delete these and fall back to the looser constraints
70 > in the Gemfiles but you may run into unexpected issues. You could argue
71 > that we may want to do this even if we don't package the gems in order
72 > to benefit from fixes (including security) but GitLab is very actively
73 > maintained and the lock files are frequently updated.
74 >
75 > Keep in mind that GitLab is a very fast-moving project. Security issues
76 > are frequently found but these are fixed quickly. This is not the sort
77 > of project we could install once and then maybe patch up just once a
78 > year or so.
79 >
80 >
81 They seem to offer docker packages, so we could just nab those and run them
82 in containers on hosts. I'm not too keen on doing a bunch of (really what I
83 consider busywork) to try to 'get it working on Gentoo.' We already use
84 upstream provided containers and I expect that to continue as upstreams
85 continue to abandon the 'release packages' model and move to 'release sets
86 of containers' model.
87
88 -A
89
90
91 > I hope you found this informative!
92 >
93 > Regards,
94 > --
95 > James Le Cuirot (chewi)
96 > Gentoo Linux Developer
97 >
98 >

Replies