Is it ok for you too Julien ?

If yes, is it ok if I'm doing some PRs to proceed ?

Le mar. 10 août 2021 à 16:31, Julius Volz <[email protected]> a
écrit :

> I would be fine with that as well, yeah. It's more overall complexity
> having to sync things, but then at least that extra complexity doesn't
> concern the main Prometheus repo :)
>
> On Tue, Aug 10, 2021 at 3:10 PM Augustin Husson <[email protected]>
> wrote:
>
>> Oh yeah, I like this idea ! Thanks Rob :).
>>
>> I think that would cover all concerns raised for the moment, right Julien
>> and Julius ?
>>
>> I forgot to mention it, but yes of course Julien the prometheus web ui
>> will use the local version of the codemirror-promql and won't use the npm
>> package.
>>
>> Le mar. 10 août 2021 à 14:32, Rob Skillington <[email protected]> a
>> écrit :
>>
>>> You could also follow the Kubernetes model where subdirectories of the
>>> repository is mirrored to a second repository (either by CI or some other
>>> infrastructure) and there the code is tagged.
>>>
>>> That way you still have a monorepo of all the code and can make single
>>> changes across layers, but the releasing and other versioning aspect is
>>> done in a separate repo (and potentially handling issues, etc too).
>>>
>>> This is how the k8s client is released separately even though the code
>>> lives in the main k8s central repo alongside k8s API server, kubelet, etc.
>>>
>>> Rob
>>>
>>> On Tue, Aug 10, 2021 at 8:17 AM Augustin Husson <
>>> [email protected]> wrote:
>>>
>>>> From my point of view, to have a different tag wasn't because I didn't
>>>> want to wait for a Prometheus release.
>>>>
>>>> In fact, currently these repositories are for the moment quite in a
>>>> maintenance mode. It just follows the changes of PromQL basically. So it's
>>>> quite fine to wait for the Prometheus release to unleash any bugfixes /
>>>> features.
>>>>
>>>> On my side, my concern regarding following the tag version of
>>>> Prometheus is more we will release the npm package quite often with no
>>>> changes. That's something weird to release a library with no changes.
>>>>
>>>> It is still interesting to create UI module to be able to share code
>>>> between Thanos and Prometheus (I have made a proposal in this sense
>>>> here
>>>> <https://github.com/thanos-io/thanos/issues/3142#issuecomment-872999984>,
>>>> which I think can be improved), but in that particular case, I think the
>>>> changes will appear quite often and it will be one npm package that would
>>>> contain all Prometheus module. ( a bit like angular is doing for example).
>>>> So in that particular case, it makes sense to follow the tag of Prometheus.
>>>>
>>>> In this perspective, I could imagine that the PromQL editor is actually
>>>> a Prometheus module, but then it will be a different npm package. I could
>>>> leave with that, as long as it won't be the unique UI module.
>>>>
>>>> Another idea would be to release the npm package during the release
>>>> process of Prometheus, but the version won't follow the tag, it will follow
>>>> what is written in the npm package. So if the version didn't change between
>>>> 2 Prometheus versions, then it won't release the npm package.
>>>> Like that we don't have extra git tag, we don't release any extra
>>>> version with no changes.
>>>> WDYT about this last proposition ?
>>>>
>>>> Le mar. 10 août 2021 à 13:29, Julien Pivotto <[email protected]>
>>>> a écrit :
>>>>
>>>>> Hello,
>>>>>
>>>>> I like the idea to combine them in one repository.
>>>>>
>>>>> I would rather see if we can use it "unversioned" inside
>>>>> prometheus/prometheus and release it together with the Prometheus
>>>>> releases for the outside world.
>>>>>
>>>>> My concerns are:
>>>>>
>>>>> - It would add an extra burden to release management if we add extra
>>>>> steps or
>>>>>   more packages
>>>>> - I expect that some people actually build Prometheus from the tags and
>>>>>   adding extra tags could break quite a few workloads. I do not think
>>>>>   that building tags is a xkcd 1172 case https://xkcd.com/1172/
>>>>>
>>>>> Additionally, there has been interests in the past to have even more
>>>>> UI modules available, e.g. for thanos.
>>>>>
>>>>> I know that it would be quite inconvenient to wait for a Prometheus
>>>>> release to publish bugfixes for these, but:
>>>>> 1) we release Prometheus quite often
>>>>> 2) we should still try to minimize the code *not used* by Prometheus
>>>>>   itself, so that bugfixes will more likely hit Prometheus as well.
>>>>>
>>>>> Regards,
>>>>>
>>>>> On 10 Aug 13:16, Julius Volz wrote:
>>>>> > I like the idea. I want to make sure that having multiple tag
>>>>> formats for
>>>>> > differently-versioned subprojects (Prometheus itself and one or
>>>>> multiple
>>>>> > npm packages) doesn't cause any problems I don't foresee. It would
>>>>> be great
>>>>> > if people more familiar with the current Prometheus CI / build
>>>>> system could
>>>>> > give an opinion on that. CC-ing Julien as I think he has a decent
>>>>> overview
>>>>> > over that part, and he is also the default Prometheus server repo
>>>>> > maintainer.
>>>>> >
>>>>> > On Tue, Aug 10, 2021 at 12:36 PM Augustin Husson <
>>>>> [email protected]>
>>>>> > wrote:
>>>>> >
>>>>> > > Hello fellow Prometheus developers :),
>>>>> > >
>>>>> > > As you probably know, in Prometheus, you have since a couple month
>>>>> a great
>>>>> > > PromQL editor (with autocomplete, linter, highlight feature) which
>>>>> is for
>>>>> > > the moment maintained in two separate repositories:
>>>>> > >
>>>>> > >    - prometheus-community/codemirror-promql
>>>>> > >    <https://github.com/prometheus-community/codemirror-promql>
>>>>> that
>>>>> > >    contains all the autocomplete / linter / highlight logic.
>>>>> > >    - promlabs/lezer-promql <
>>>>> https://github.com/promlabs/lezer-promql>
>>>>> > >    that contains the PromQL grammar (web version)
>>>>> > >
>>>>> > > When a new feature enriched PromQL, the PR on Prometheus' side is
>>>>> usually
>>>>> > > modifying the backend and the documentation. But it doesn't change
>>>>> the
>>>>> > > PromQL editor since it's in two different repositories.
>>>>> > > It's usually Julius or/and me that are putting back this feature,
>>>>> creating
>>>>> > > multiple PRs in these repositories, then releasing each to finally
>>>>> be able
>>>>> > > to create a single PR in prometheus/prometheus which usually just
>>>>> changes
>>>>> > > the version of codemirror-promql.
>>>>> > >
>>>>> > > This way worked for a couple of times because I was quite reactive
>>>>> on the
>>>>> > > PromQL features. And now we have the new function
>>>>> present_over_time that is
>>>>> > > going to be released in v2.29, and the editor is not yet aligned.
>>>>> > > So it's proof (at least for me) that this model doesn't work /
>>>>> scale.
>>>>> > >
>>>>> > > What I'm proposing (which is not new, actually Julien already
>>>>> proposed a
>>>>> > > long time ago), is to merge these two repositories in
>>>>> prometheus/prometheus.
>>>>> > > Like that when a PR is changing PromQL it will actually change:
>>>>> > >
>>>>> > >    - the backend
>>>>> > >    - the docs
>>>>> > >    - the frontend
>>>>> > >
>>>>> > > codemirror-promql is released as a npm package, and it is
>>>>> currently used
>>>>> > > by some third parties like Victoria Metrics for example.
>>>>> > > I think we should keep it as a separate npm package. Which means
>>>>> it won't
>>>>> > > follow the same release process as Prometheus even if it's in the
>>>>> same
>>>>> > > repository.
>>>>> > >
>>>>> > > What we are proposing with Julius is to add a special tag like
>>>>> *codemirror-promql-0.18.0
>>>>> > > *that then will trigger a special pipeline to release this npm
>>>>> package.
>>>>> > >
>>>>> > > Finally, the npm package is owned by me, so if you are ok to do
>>>>> what is
>>>>> > > proposed above, then I will transfer the ownership to Prometheus.
>>>>> > >
>>>>> > > WDYT ? Do you have any particular blocking point that would be
>>>>> against
>>>>> > > this repository migration ?
>>>>> > >
>>>>> > > Cheers,
>>>>> > > Augustin.
>>>>> > >
>>>>> > > --
>>>>> > > You received this message because you are subscribed to the Google
>>>>> Groups
>>>>> > > "Prometheus Developers" group.
>>>>> > > To unsubscribe from this group and stop receiving emails from it,
>>>>> send an
>>>>> > > email to [email protected].
>>>>> > > To view this discussion on the web visit
>>>>> > >
>>>>> https://groups.google.com/d/msgid/prometheus-developers/CAOJizGebmGjD3%2Bde%3Dzb3dGUSSoprV0zk3JdobpAmpQ%2BhFD7uiQ%40mail.gmail.com
>>>>> > > <
>>>>> https://groups.google.com/d/msgid/prometheus-developers/CAOJizGebmGjD3%2Bde%3Dzb3dGUSSoprV0zk3JdobpAmpQ%2BhFD7uiQ%40mail.gmail.com?utm_medium=email&utm_source=footer
>>>>> >
>>>>> > > .
>>>>> > >
>>>>> >
>>>>> >
>>>>> > --
>>>>> > Julius Volz
>>>>> > PromLabs - promlabs.com
>>>>>
>>>>> --
>>>>> Julien Pivotto
>>>>> @roidelapluie
>>>>>
>>>> --
>>>> You received this message because you are subscribed to the Google
>>>> Groups "Prometheus Developers" group.
>>>> To unsubscribe from this group and stop receiving emails from it, send
>>>> an email to [email protected].
>>>> To view this discussion on the web visit
>>>> https://groups.google.com/d/msgid/prometheus-developers/CAOJizGfq8PD3CzonpyOMs%2B4O%3Dd65CtSd_3Jr%2ByT-ppk8Q-V_KQ%40mail.gmail.com
>>>> <https://groups.google.com/d/msgid/prometheus-developers/CAOJizGfq8PD3CzonpyOMs%2B4O%3Dd65CtSd_3Jr%2ByT-ppk8Q-V_KQ%40mail.gmail.com?utm_medium=email&utm_source=footer>
>>>> .
>>>>
>>>
>
> --
> Julius Volz
> PromLabs - promlabs.com
>

-- 
You received this message because you are subscribed to the Google Groups 
"Prometheus Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/prometheus-developers/CAOJizGdTco1dpPwYQ%2B_aZZqDcByYCNqkJp86TwDx1WEJOZB%2Bbw%40mail.gmail.com.

Reply via email to