prometheus-community / community

Prometheus & The Ecosystem Community Meeting Information
20 stars 3 forks source link

Move monaco editor PromQL support to Prometheus Community #19

Closed juliusv closed 4 years ago

juliusv commented 4 years ago

@Nexucis and others from Amadeus built PromQL support for the Monaco code editor (the editor component of VS Code): https://github.com/AmadeusITGroup/Monaco-language-PromQL

We are both interested in moving this to prometheus-community. If we want to do this, Amadeus is only asking to fork the original repo to here, mark the original repo as obsolete, and mark the fork as authoritative (but not break the fork status).

@RichiH @SuperQ should we just do this or does there need to be a discussion?

SuperQ commented 4 years ago

I don't think a fork is a good way to handle this. If there's a desire to move it, let's just move it. We can create a maintainer team and @Nexucis can contribute.

Making it a fork will cause confusion as to which repo people should consider "upstream".

Moving the project will trigger GitHub to automatically setup redirects for the old project location.

juliusv commented 4 years ago

@SuperQ This was my idea as well, but according to @Nexucis this was a specific requirement of the Amadeus legal team. He could say more about it.

SuperQ commented 4 years ago

That doesn't sound like a good fit for Prometheus Community. :frowning_face:

Nexucis commented 4 years ago

@SuperQ sorry for the situation. I'm asking some clarifications to the Amadeus legal team. I'm not sure I understood exactly why we have to do that :/

Regarding the other repository pointed by this issue https://github.com/prometheus-community/community/issues/20 it won't be the same and can be transfer when it fits to you and of course once you are agree.

SuperQ commented 4 years ago

@Nexucis No need to be sorry. It's just a question of fit.

Part of the process of joining the Prometheus Community is the same as putting code into Prometheus itself. Copyright for contributions is signed over to "Prometheus Authors", this is part of our governance, to avoid complications of multi-contributor copyright.

It's completely up to your organization to give up the copyright.

brian-brazil commented 4 years ago

Copyright for contributions is signed over to "Prometheus Authors"

That's not right, we don't have any form of copyright assignment.

juliusv commented 4 years ago

It's not exactly about copyright even. Their request was to preserve the fork status on GitHub vs. making a disconnected re-clone. That's all, the old repo is still going to get marked as unmaintained. It is a bit unusual, granted, but not sure that should stop us?

Legally we could already just do a disconnected clone, since the source repo is MIT-licensed. However, if we want to keep Amadeus people as maintainers, that would not be productive :)

Nexucis commented 4 years ago

I have some news. I talked with the Amadeus legal team and the last conclusion is:

They dropped the fork idea, so that means we are ready to transfer the project just like that to you. I hope it will resolve all issue now :).

juliusv commented 4 years ago

Great!

@SuperQ does that remove any objections?

SuperQ commented 4 years ago

Yes, no objection here.

Nexucis commented 4 years ago

Awesome! how do we proceed ?

SuperQ commented 4 years ago

I've created an editor-plugins team to manage these repos.

juliusv commented 4 years ago

Thanks! I'll create the two repos (the other one is for https://github.com/prometheus-community/community/issues/20) and add @Nexucis to that team.

@Nexucis should I add anyone else from your side to that team as well?

juliusv commented 4 years ago

@Nexucis Actually, let me ask first: would you like to transfer the existing repositories (https://help.github.com/en/github/administering-a-repository/transferring-a-repository) or just create an entirely new one here to push to?

Nexucis commented 4 years ago

I would prefer to transfer the existing repo :) if it's not too complicate for you @juliusv. Thanks for asking ! You can add @celian-garcia or I will do it after :)

Nexucis commented 4 years ago

Actually I don't have the right to transfer the repo from the AmadeusITGroup. For the other one I can. So I guess @juliusv it will be simpler to just copy the code for both repo and then I will ask to Amadeus to delete the monaco plugin and I will delete my repo for codeMirror

juliusv commented 4 years ago

@Nexucis Ok, I'll just create two completely new repos then and give you access rights to them.

juliusv commented 4 years ago

@Nexucis as new (bit simplified) repo names, how about:

Nexucis commented 4 years ago

@juliusv I like it :). Good idea !

Nexucis commented 4 years ago

And it will align how both repo should bé, so it's a nice thing !

juliusv commented 4 years ago

@Nexucis Great. I have created both repos and have given the prometheus-community/editor-plugins team (in which you are a member) Maintainer-level access to them:

Please push the repo content there and welcome to prometheus-community :)

Nexucis commented 4 years ago

Thanks a lot @juliusv ! I'll close the issues once the migration will be completely done (putting back ci/cd, updating link and so on)

juliusv commented 4 years ago

Great, let me know if I can help with anything :)

Nexucis commented 4 years ago

Ah yes I have a question regarding the CI/CD. Shall I use circleci with my personal access ? Or shall I use a common one owned by the prometheus-community ?

juliusv commented 4 years ago

@Nexucis I think if you log into CircleCI with your GitHub account, it should be fine, and give you an option at the top right in CircleCI to select "prometheus-community" as a project:

prom-comm

At least I hope you being part of the editor-plugins team is enough to show that, could you try?

If that works, you should be able to click "Add projects" for that org and set up the two new repos.

Nexucis commented 4 years ago

image @juliusv: quite weird I can't settup it for the project where I'm part of it but I can for others ^^. Circleci is telling me to contact the repo admin to set up it

juliusv commented 4 years ago

@SuperQ how have we handled this in the past? Maybe I should give the prometheus-community/editor-plugins team Admin-level access to the repos instead of just Maintainer-level?

juliusv commented 4 years ago

I switched it to Admin access for now. @Nexucis does that change things on the CircleCI side? You may have to log out and in again in CircleCI to see changes.

Nexucis commented 4 years ago

image I can setup the project now ! Thanks @juliusv :)

juliusv commented 4 years ago

Nice!

SuperQ commented 4 years ago

Yes, granting the team repo admin makes sense.

Nexucis commented 4 years ago

Here we go. I have finished to transfer each project. For the moment old repository are archived. I will delete them a bit later (just to be sure I didn't miss anything and also because I don't have the right for the one in the AmadeusITGroup)

Thanks a lot @juliusv and @SuperQ for your help :)

juliusv commented 4 years ago

@Nexucis Wonderful, thanks :) Looking forward to maintenance here and let me know when I can help with something!

Also, feel free to announce these repos on the users + dev mailing lists if you like.

Nexucis commented 4 years ago

Thanks for proposing @juliusv :). I think now it is just matter of continuing to develop the codemirror support and improving the monaco support. So of course if you want to participate or for monaco or for codemirror, I won't be bothered :).

Concerning the user + dev mailing list you are mentionning, well I will inform my team in Amadeus that it's done of course, but otherwise I don't have other list or user to inform (not to my knowledge at least). These repos are quite tiny afterall :).

juliusv commented 4 years ago

@Nexucis Yeah, probably no need for an announcement for these, true :)

Nexucis commented 4 years ago

Ah I think I finally understood what you meant @juliusv, by the "user + dev mailing list". You were talking about the user and dev mailing list of Prometheus right ? If that so, I'm sorry for the time it tooks me to understand that. I thought you were talking about the actual user of the monaco-promQL ^^.

Maybe no need for a big announcement, but maybe we could just tell them that these repo exist and the purpose of each of them + what feature will come.

Do you think it will worth it ?

juliusv commented 4 years ago

@Nexucis Yep, I was talking about the Prometheus user and dev lists. Yeah, I see it similarly as you do, no huge announcement, but in case you just want to let people know that these repos exist now, that could be interesting to some. I'll leave it up to you whether you want to do that :)

As an aside, this would probably become way more interesting to people still if there was a way to have PromQL syntax highlighting within rules (YAML) files, for the YAML fields that contain PromQL (the expr field of recording / alerting rules). Or is that already possible somehow?

Nexucis commented 4 years ago

Thanks for you answer @juliusv, I'll prepare the email then and hope you and other guys will like it ^^

Regarding the Yaml support, it's an interesting feature but not possible for the moment. But definitely it will improve a lot its usefulness ! Specially if it will support as well the Golang template syntax in the annotations/labels (+ the different function that prometheus injected in the Golang template). That would be awesome :).