Hey all,
So we're in the throes of developing what will become Pagure 5.9, but
I'd like to take a moment to talk about Pagure 6.0. As an upcoming
major version bump, this is an opportunity to make some world-breaking
changes that would be better for users of Pagure.
Here are some thoughts I have about what we should do for Pagure 6.0:
* Drop Python 2 support and raise the minimum version of Python to
3.6. Most of our dependencies have dropped Python 2 support with the
EOL on January 1. This includes Flask and related components[1].
* Along with the Python 2 support being dropped, switch all code using
trololio to use asyncio. We're only using trololio because we need a
consistent wrapper between now-dead Trollius for Python 2 and asyncio
for Python 3.
* Stop using the Gitolite backend by default, and use the built-in
"pagure" backend instead. This backend has been in use on pagure.io
for a while now and seems to work reasonably well. We may want to
consider ripping out Gitolite support, but I think that *might* be a
bit premature.
* Consider changing from our default recommended production setup with
mod_wsgi and apache httpd if we can identify a more performant
alternative setup. This may also help with making Pagure more
"cloud-native" (i.e. k8s-friendly) by default, too. Which leads to...
* Make an officially supported OpenShift and Kubernetes deployment
strategy. We've had a PR open for the better part of the year for
adding Helm charts[2], but there's still some base work that needs to
be done for officially supporting a containerized deployment option.
Do we also want to have an operator and list on OperatorHub.io?
All of these are just ideas/suggestions. We don't have to do any or
all of these things, but these are some of the things I think might be
good for Pagure 6.0. Feedback on these ideas are welcome, as well as
your own ideas or suggestions!
So, what do you all think? Any of these good? Any better ideas? Or am
I completely off-base here?
[1]:
https://www.palletsprojects.com/blog/ending-python2-support/
[2]:
https://pagure.io/pagure/pull-request/4483
--
真実はいつも一つ!/ Always, there's only one truth!