On Fri, Oct 11, 2019 at 08:38:49AM +1100, Daniel Axtens wrote:
Hi Konstantin,

tl;dr: I think a git-to-email bridge is a good step. I'm not sure why
patchwork would be the thing to build it on top of, and I'm worried that
it would slow us both down. I'm very open to being convinced though.

In very broad terms, I chose patchwork because:

1. in people's minds patchwork.kernel.org already deals with patches and mailing lists, so it seems to be a logical place for such tool to live 2. it's already built on top of a powerful web system (django), and we already have it up and running, so this wouldn't require setting up Yet Another Web Framework Service


I will readily admit that both of these assertions are pretty tenuous.

If I understand correctly, you're using Patchwork as:

- user creates an account (which requires a mail confirmation)

a) an identity provider, and

Well, rather as a tool that already has account management which includes email confirmation at some point.

b) a way to integrate with existing concepts of a project and keep
   metadata about them in 1 place

Yes.

c) a handy tool for getting previous series by a given user.

Yes, it's convenient to already have that user's previously submitted series readily available.

d) a 'trusted' source of email.

Well, this part isn't really that important. Rather, it's a tool where, to have an account, one must confirm email delivery.

Is that right? I just ask because this idea seems a long way from what
Patchwork traditionally does. That's not necessarily bad, I just want to
make sure I understand, and that if you get funding you're not tying
yourself to a platform that doesn't suit your needs.

Well, in my mind patchwork:

1. already deals with patches and series, including knowing how to do diff highlights and all the fancy stuff 2. will hopefully gain ability to do interdiffs in the future, so if someone submits a series revision, they can see what actually changed before their previous submission and their new attempt
3. already has a lot of knowledge around git, mboxes, formats, etc.

This, of course, is not to say that patchwork is where this *must* happen, but I think it would be *nice* if this is where this happens. :)

I'm particularly curious about Patchwork as (a) an identity
provider. You wrote:

- user creates an account (which requires a mail confirmation)

This seems like "optional centralising" on Patchwork - it becomes a
central identity provider but it's optional in that you can just send
email directly if you prefer.

Right, this is a tool to help people allergic to CLI (or who do this infrequently enough that they can never remember all the steps, and oh my god, why isn't there a web tool to hold my hand?).

If you're going to do 'lightweight' centralisation like that, why not do
it on a platform that already understands git? It's really easy to
extract the information you describe in (c) just by querying the
patchwork API. You don't need to actually integrate into patchwork, or
be logged in, to do that. You lose the ability to load any git remote,
but if you have a git remote that isn't github or gitlab, you probably
already have a good email flow (e.g. if you repo is on kernel.org).

If you really want to use Patchwork as an identity provider, rather than
a forge, could we just teach Patchwork how to be an identity broker, and
then build things separately, authenticating through Patchwork to
confirm a user's identity? That means you could build in whatever
language you like and, critically, run on whatever deployment schedule
you want. You could also get much better isolation that way, which would
be good - I don't want an RCE in the git library to allow someone to
wipe out all patchwork data, for example.

Well, ve hawe vays of prewenting that (e.g. by transitioning git calls into their own selinux domain which cannot talk to databases).
I know this is a pretty big RFE, and I would like to hear your thoughts
about this. If there is general agreement that this is doable/good idea,
I may be able to come up with funding for this development as part of
the overall tooling improvement proposal.

As I said up top, I'm not opposed to this per se. I think a git-to-email
bridge is a good step. I'm just confused as to why patchwork would be
the thing to build it on top of, and I'm worried about how you'd deploy
and update this extended Patchwork. I'm very open to being convinced
though.

Generally, I think patchwork, as a web application that already deals with patches and series is a convenient place for this tool to live, that's basically the extent of my thinking. For sure, it can exist as a separate tool, but then I'd have to set up and maintain that separate tool in addition to patchwork, as opposed to just patchwork.

Best,
-K
_______________________________________________
Patchwork mailing list
Patchwork@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/patchwork

Reply via email to