Dne 04. 12. 21 v 16:21 Cappy Ishihara napsal(a):
To be short, Koji in it's current state is a mess.The Koji Hub
code is a ~60k line block of monolithic code. Koji Web relies on legacy web technologies
like cHTML.
I agree. It is a mess like any other code which is here for long time
and gets tons of improvements from various
contributors. But it is functional and reliable.
- Setting up Koji itself is a massive pain and I think there should
be an easier method to set it up. We should bring back password authentication and instead
hash and salt our passwords for security. Authentication should be done instead using
tokens like Copr.
- The documentation is very confusing, it took me weeks to get my Koji instance up and
running.
Fortunately it is open-source. If you find a paint point, you can submit PR and improve
it.
I want Koji to be simple to set up and get running and the web UI to
be modernized, especially for dist repos.
Me too.
Here's my prototype/proof of concept of how I think Koji should
be:https://gitlab.ultramarine-linux.org/lapis/lapis-backend
I highly recommend to pause and first write down a document where you state what you want
to achieve and why it cannot
be done using Koji (or Copr or OBS).
Several years ago I was in similar position with Copr. I wanted a system which has lower
barier to entry (for user) and
which needs no admin to set up new project. That was impossible with Koji. So Copr was
born. But I utilized as much as
possible from either Koji or OBS.
It is very easy to write build system which builds a packages for you. But you will hit a
bummers sooner than later.
I can give you examples. E.g.
https://gitlab.ultramarine-linux.org/lapis/lapis-backend/-/blob/main/lapi...
def repogen() - this will cause in issue if you build more packages in paralel for the
same project (and if you will not
run in paralell, you will have scaling issuse). What about appstream? The way you call
createrepo it will have scaling
issue if repository will have more than few dozen thousands packages. What the update
require several packages to be
rebuilt, if you run createrepo immediately, you will get broken dependencies.
This way I can go for every function in your project. Yes, you can fix it. But you can fix
any issue in Koji or Copr too.
If you want to improve Koji documentation, then do it. If you want to improve (or change)
authentication of Koji, then
do it. It may not be default, but it can be config driven and you may use it.