On Sun, Jul 21, 2019 at 05:37:10PM -0400, Neal Gompa wrote: > On Wed, Jul 17, 2019 at 4:31 PM Jeremy Cline <jeremy@xxxxxxxxxx> wrote: > > > > On Wed, Jul 17, 2019 at 08:33:02AM -0400, Neal Gompa wrote: > > > On Wed, Jul 17, 2019 at 6:46 AM Pierre-Yves Chibon <pingou@xxxxxxxxxxxx> wrote: > > > > > > > > Good Morning, > > > > > > > > We posted this [1] blog today and want to open a mailing thread to garner > > > > feedback, field questions and get some thoughts from the Community on > > > > the approach that we in Community Platform Engineering (CPE) are taking. > > > > > > > > [1] https://communityblog.fedoraproject.org/application-service-categories-and-community-handoff/ > > > > > > > > > > Two things that concern me at this time: > > > > <snip> > > > > > > > > > Ipsilon — Ipsilon is our identity provider. It supports multiple > > > > authentication protocol (OpenID 2.0, OpenID Connect, SAML 2.0, …) > > > > and multiple backends (FAS, LDAP/FreeIPA, htpasswd, system accounts…). > > > > While it was originally shipped as a tech preview in RHEL it no longer is and > > > > the team working on this application has also been refocused on other projects. > > > > We would like to move all our applications to use OpenID Connect or SAML 2.0 > > > > (instead of OpenID 2.0 with (custom) extensions) and replace FAS with an > > > > IPA-based solution, which in turn allows us to replace ipsilon by a more > > > > maintained solution, likely Red Hat Single Sign On. The dependencies > > > > are making this a long term effort. We will need to announce to the community > > > > that this means we will shut down the public OpenID 2.0 endpoints, > > > > which means that any community services that use this protocol need > > > > to be moved to OpenID Connect as well. > > > > > > There are two issues to unpack here: > > > > > > 1. We use a weird custom backend and custom protocol extensions. > > > > > > This should definitely be replaced if it makes sense. It’s more urgent > > > now that RHEL 6 is going EOL next year, and FAS 2 is still a Python > > > 2.6 application. FAS 3 *would* have fixed it, but interest by the FAS > > > developers died a while ago… > > > > > > Naturally, the replacement is equally in a poor state, but may have > > > some legs someday: https://github.com/fedora-infra/noggin > > > > > > 2. Ipsilon development was only considered important as part of being > > > tech preview in RHEL and now it’s not. > > > > > > There are some major problems here. First of all, Ipsilon development > > > has been gated by a single person. That person also seems to have > > > trouble making time to review pull requests. There has been interest > > > from the broader community about using and contributing to Ipsilon, > > > since unlike Keycloak, it is written in an accessible language > > > (Python). > > > > > > Getting Ipsilon to Python 3 would be enough for me to get started on > > > bootstrapping some of the other interested parties onto Ipsilon, and > > > hopefully give us a more sustainable community long-term. > > > > I guess my question to all this is... Why? What's the goal? If Keycloak > > does everything Ipsilon does and more, what's the point of keeping a > > dead project alive instead of contributing to the active, lively one? > > > > If there really, truly is interest from the broader community, why not > > do a friendly fork, get all the work you want in, and see what the > > original maintainer thinks? > > > > Keycloak is not generally Fedora contributor friendly. Aside from it > being written in Java (which is problematic with the Java stack in > Fedora slowly imploding...), Keycloak is a lot less flexible and a lot > more tied to aspects of RHEL/Fedora that make it annoying to use in > other environments. This sounds more like an issue with Fedora's Java stack. I don't love Java anymore than anyone else (I think), but I really don't understand why a language plays such a huge role. > > At least with Ipsilon, the Python codebase makes it easy for a broad > base of contributors to hack on the code. It's also much easier to set > up than Keycloak and easier to plug into more environments. I imagine Keycloak wouldn't be against making their project easier to set up and plug into other environments, but maybe I'm wrong. > > The biggest issue with Ipsilon as a project is the lack of awareness > of its existence. That has allowed the fact that the maintainer hasn't > recently been able to focus on it in a while to be unnoticed. Now that > is changing, and this is a problem, as I outline later... > > > For Fedora, though, if FreeIPA can replace FAS, or GitLab can replace > > Pagure, or a generic notification service exists somewhere to replace > > FMN, or whatever, why spend time on such things we could be spending > > developing the few unique tools we need to continue building the Fedora > > distribution? Stopping along the way to build an identity and access > > management platform isn't going to make the distribution better. > > > > FreeIPA is a perfectly fine solution, since it's broadly available and > easy to deploy. The non-Java parts (everything but Dogtag) is quite > easy to understand and hack on. Reproducing the tooling and > environment is easy as well. I have no problems with it other than > FAS-specific functions still need implementing on top of FreeIPA > (which in theory, Noggin will do). It's more complicated than I'd like > in some ways, but at least setup is replicable, making it easy to do > development and contribute. > > As for GitLab vs Pagure, my reasoning is more or less than same as > mine with Keycloak vs Ipsilon. And there *are* users other than us for > both Pagure and Ipsilon. Ruby is just Python without () and a lot of question marks in function names. Making a code review tool + issue tracker + story board + CI pipeline is an insanely difficult, complicated task. Far harder than learning Ruby properly. I don't mean this as an attack on any of the maintainers or contributors to Pagure, just feedback. It is not pleasant to use. Not for code review, not for issue tracking, not for CI. Other platforms (several of them open source) are far, far better in every area and at this time I wouldn't ever choose to put a project on Pagure. The opportunity cost of spending developer time trying to get Pagure functional is enormous. The cost of system administrator time is huge. Perhaps most importantly, it sucks up huge amounts of user time when it's broken/down/slow/non-functional. In my opinion Fedora is spinning its wheels here, and the vehicle isn't even pointed in the right direction. Gnome is on GitLab. Debian and the graphics stack is moving to GitLab AFAIK. We could be working towards making their development environment better along with our own by contributing to GitLab, or we can continue to work on a similar project with a tiny fraction of the resources and cost users vast amounts of time. > > The difference between Ipsilon and Pagure, in my view, is the primary > maintainer. Pierre-Yves Chibon has been very accessible and a pleasure > to work with as part of contributing to Pagure. I have virtually no > experience interacting with Patrick Uiterwijk because he's barely > around. I agree that Patrick is wildly over-worked. He's around everywhere, but the problem is there's so much stuff there's just not enough of him to go around and he deserves to be able to go on PTO or spend his evenings relaxing rather that putting out fires all over Fedora. > > We have a number of projects that we're basically said only the > "security guy" can work on (i.e. Patrick). That's more of a problem > than anything else the CPE team does. The bus factor of *one* security > person is ridiculous, and the fact we're stretching him across both > CentOS and Fedora now means he doesn't pay enough attention to either > project. If we're going to have this (frankly insane) requirement that > we need to block all this on a security person, we need more than one. > Full stop. More resources would be great, yes. When I was on the infrastructure team I felt we needed orders of magnitude more developers and system admins for what we were doing. The thing is, though, Fedora's not going to get that many more resources. I don't expect Red Hat to open more positions for Fedora, and I know that the community is a very limited resource. That's why Fedora needs to stop re-inventing every single thing it needs. We don't have the resources and pretending we do is damaging the contributor experience. > > And you know what? Projects like FAS, Ipsilon, and Pagure *do* make > Fedora better in my eyes. With the exception of modularity, we haven't > built solutions that are so obscenely complicated that no one can > reasonably set up to replicate our environment. All the other > solutions out there are immensely more complicated, focusing on things > we don't care about, and generally being a pain for normal people to > get access to, deploy, modify, and contribute to. > > I don't understand why this is something that is so easily forgotten... I haven't forgotten that solutions out there are complicated, but it's possible to simplify and improve existing projects without starting from scratch. - Jeremy _______________________________________________ devel mailing list -- devel@xxxxxxxxxxxxxxxxxxxxxxx To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxxxxxxxx Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/ List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedoraproject.org/archives/list/devel@xxxxxxxxxxxxxxxxxxxxxxx