I can’t see it. Could you share a direct link to it? If we can add one more script like that and it will work then the question is closed.
Denis On Monday, October 2, 2017, Dmitriy Setrakyan <dsetrak...@apache.org> wrote: > Denis, I can see the download.cgi script in SVN. Am I missing something? > > On Mon, Oct 2, 2017 at 5:31 PM, Denis Magda <dma...@apache.org > <javascript:;>> wrote: > > > Dmitriy, > > > > That’s the rule. See replies in the ticket [1] > > > > *Background: the TLP server is already pretty darned busy just serving > > *static* sites. Dynamic operation for near-200 PMCs would bury the > machine. > > Our policy of "static-only websites" has been in place since the > Foundation > > started* > > > > Download scripts seem to be the only exception and we as PMC don’t even > > have access to them. > > > > If you want to keep pushing this direction let’s craft a message to Greg > > and Daniel directly. I don’t know what else to ask for here rather than a > > virtual machine that’s conceivably to much for a single script like that. > > > > [1] https://issues.apache.org/jira/browse/INFRA-15182 < > > https://issues.apache.org/jira/browse/INFRA-15182> > > > > — > > Denis > > > > > On Oct 2, 2017, at 2:48 AM, Dmitriy Setrakyan <dsetrak...@apache.org > <javascript:;>> > > wrote: > > > > > > On Mon, Oct 2, 2017 at 12:46 PM, Vladimir Ozerov <voze...@gridgain.com > <javascript:;>> > > > wrote: > > > > > >> I am not sure it is good idea to send requests to 3rd-party addresses > > from > > >> Ignite node. Let's do not make the same mistakes again. > > >> > > > > > > Agree with Vladimir. > > > > > > We obviously have CGI support on the website. Can someone explain why > CGI > > > is not possible to use? > > > > > > > > >> > > >> On Mon, Oct 2, 2017 at 12:42 PM, Andrey Novikov < > anovi...@gridgain.com <javascript:;>> > > >> wrote: > > >> > > >>> We may directly send request to GA from Ignite node: > > >>> https://developers.google.com/analytics/devguides/ > > >> collection/protocol/v1/ > > >>> <https://developers.google.com/analytics/devguides/ > > >> collection/protocol/v1/ > > >>>> > > >>> Latest version can be received from maven central: > > >>> https://repo1.maven.org/maven2/org/apache/ignite/ > > >>> ignite-core/maven-metadata.xml <https://repo1.maven.org/ > > >>> maven2/org/apache/ignite/ignite-core/maven-metadata.xml> > > >>> > > >>> > > >>>> 2 окт. 2017 г., в 12:51, Dmitriy Setrakyan <dsetrak...@apache.org > <javascript:;>> > > >>> написал(а): > > >>>> > > >>>> Denis, > > >>>> > > >>>> I am not sure I understand. We already do have CGI enabled for > > >>>> download.cgi. Is there something else we need? > > >>>> > > >>>> D. > > >>>> > > >>>> On Mon, Oct 2, 2017 at 8:35 AM, Denis Magda <dma...@gridgain.com > <javascript:;>> > > >> wrote: > > >>>> > > >>>>> There is an obstacle. There is no way to execute the script using > PHP > > >> or > > >>>>> similar sever side language and trigger GA as discussed earlier: > > >>>>> https://issues.apache.org/jira/browse/INFRA-15182 > > >>>>> > > >>>>> How else can we tackle this? > > >>>>> > > >>>>> Denis > > >>>>> > > >>>>> On Thursday, September 7, 2017, Dmitriy Setrakyan < > > >>> dsetrak...@apache.org <javascript:;>> > > >>>>> wrote: > > >>>>> > > >>>>>> I think it is safe to assume at this point that everyone is in > > >> general > > >>>>>> agreement, since there are no active objections. > > >>>>>> > > >>>>>> I have filed a ticket for the 2.3 release. Let's try to make it > > >> happen: > > >>>>>> https://issues.apache.org/jira/browse/IGNITE-6305 > > >>>>>> > > >>>>>> D. > > >>>>>> > > >>>>>> On Sat, Aug 26, 2017 at 3:06 PM, Dmitriy Setrakyan < > > >>>>> dsetrak...@apache.org <javascript:;> > > >>>>>> <javascript:;>> > > >>>>>> wrote: > > >>>>>> > > >>>>>>> > > >>>>>>> > > >>>>>>> On Sat, Aug 26, 2017 at 3:22 AM, Raúl Kripalani < > > >> raul....@evosent.com <javascript:;> > > >>>>>> <javascript:;>> > > >>>>>>> wrote: > > >>>>>>> > > >>>>>>>> Yeah, I guess that's doable as well and requires less management > > >>>>> effort > > >>>>>>>> than my suggestion. We could use events [1] to store payload > data > > >>>>> (e.g. > > >>>>>>>> IP, > > >>>>>>>> version, etc.) > > >>>>>>> > > >>>>>>> > > >>>>>>> Yes, we could use events or some other similar API provided by > GA. > > >>>>>>> > > >>>>>>> > > >>>>>>>> What the download page CGI developed in? PHP? > > >>>>>>>> > > >>>>>>> > > >>>>>>> To be honest, no clue. I guess someone in the community can > figure > > >> it > > >>>>>> out: > > >>>>>>> https://svn.apache.org/repos/asf/ignite/site/trunk/download.html > > >>>>>>> > > >>>>>>> > > >>>>>>>> However, I'm not sure whether storing this data in a 3rd party > > >>>>> (Google) > > >>>>>> is > > >>>>>>>> compliant with the ASF policy. I guess it's no biggie, but if > > >> there's > > >>>>>>>> doubt > > >>>>>>>> in the PMC, it's better to ask legal@. > > >>>>>>> > > >>>>>>> > > >>>>>>> I am not sure there is anything to ask about. The whole Ignite > > >> website > > >>>>> is > > >>>>>>> GA enabled, and all we are doing is accessing a standard web page > > >> from > > >>>>>> the > > >>>>>>> Ignite web site. The information gathered from GA is available > only > > >> to > > >>>>>> the > > >>>>>>> Ignite PMC. Frankly, I think legal@ will be very confused by > this > > >>>>>>> question. > > >>>>>>> > > >>>>>>> Even ASF website itself uses GA: https://www.apache.org/ > > >>>>>>> foundation/policies/privacy.html > > >>>>>>> > > >>>>>>> > > >>>>>>>> I think Cos said it's OK; maybe Roman can pitch in. > > >>>>>>>> > > >>>>>>> > > >>>>>>> Sure, would be nice to hear from Roman as well. > > >>>>>>> > > >>>>>>> > > >>>>>>>> Cheers. > > >>>>>>>> > > >>>>>>>> [1] > > >>>>>>>> https://developers.google.com/analytics/devguides/collection > > >>>>>>>> /analyticsjs/events > > >>>>>>>> > > >>>>>>>> On Sat, Aug 26, 2017 at 12:23 AM, Dmitriy Setrakyan < > > >>>>>>>> dsetrak...@apache.org <javascript:;> <javascript:;>> > > >>>>>>>> wrote: > > >>>>>>>> > > >>>>>>>>> Raul, > > >>>>>>>>> > > >>>>>>>>> Could point about Javascript, it will not work because it > > executes > > >>>>> in > > >>>>>>>> the > > >>>>>>>>> browser. This means we need a server-side script, like CGI we > are > > >>>>>> using > > >>>>>>>> on > > >>>>>>>>> our download page. > > >>>>>>>>> > > >>>>>>>>> How about this approach. We create something like > > >> ignite-version.cgi > > >>>>>>>> script > > >>>>>>>>> which will invoke a call to GA and then return the latest > > version. > > >>>>>>>>> > > >>>>>>>>> This should work, right? > > >>>>>>>>> > > >>>>>>>>> D. > > >>>>>>>>> > > >>>>>>>>> On Fri, Aug 25, 2017 at 2:42 PM, Raúl Kripalani < > > >>>>> raul....@evosent.com <javascript:;> > > >>>>>> <javascript:;>> > > >>>>>>>>> wrote: > > >>>>>>>>> > > >>>>>>>>>> Hey Dmitriy and all > > >>>>>>>>>> > > >>>>>>>>>> Also, since we have GA enabled for the website, we can track > how > > >>>>>> many > > >>>>>>>>> times > > >>>>>>>>>>> this page was accessed, which will be equal to the number of > > >>>>>> starts. > > >>>>>>>>> This > > >>>>>>>>>>> way, the counter information is tracked and monitored by the > > >>>>>> Ignite > > >>>>>>>>> PMC. > > >>>>>>>>>> > > >>>>>>>>>> > > >>>>>>>>>> Unfortunately this won't work because GA is loaded via > > Javascript > > >>>>> on > > >>>>>>>> the > > >>>>>>>>>> browser, so Google will never receive the page hit. > > >>>>>>>>>> > > >>>>>>>>>> Given the constraints, the most viable solution is an HTTPS > > >>>>> endpoint > > >>>>>>>>>> running on ASF infra that Ignite invokes via a GET or POST > > >>>>> request. > > >>>>>>>> The > > >>>>>>>>>> simplest thing is to write each request in a log file, along > > with > > >>>>>> the > > >>>>>>>>>> timestamp, the version reported by the client, maybe the IP > (not > > >>>>>> sure > > >>>>>>>>> about > > >>>>>>>>>> the ASF rules about this concerning privacy, I guess it's OK > if > > >>>>> you > > >>>>>>>> make > > >>>>>>>>> it > > >>>>>>>>>> an opt-in) and a unique node identifier, i.e. a UUID the node > > >>>>>> creates > > >>>>>>>> on > > >>>>>>>>>> first startup or something. > > >>>>>>>>>> > > >>>>>>>>>> This endpoint would need some basic DDoS protection and > > >>>>> blacklisting > > >>>>>>>> to > > >>>>>>>>>> prevent data spoofing. > > >>>>>>>>>> > > >>>>>>>>>> If we'll be implementing this endpoint anyway, then there's no > > >>>>> point > > >>>>>>>>>> placing another file on Git or elsewhere for reporting the > > latest > > >>>>>>>>> versions: > > >>>>>>>>>> the endpoint itself can return them. > > >>>>>>>>>> > > >>>>>>>>>> WDYT? > > >>>>>>>>>> > > >>>>>>>>>> Cheers. > > >>>>>>>>>> > > >>>>>>>>>> On Fri, Aug 25, 2017 at 9:56 PM, Dmitriy Setrakyan < > > >>>>>>>>> dsetrak...@apache.org <javascript:;> <javascript:;>> > > >>>>>>>>>> wrote: > > >>>>>>>>>> > > >>>>>>>>>>> Cos, Raul, > > >>>>>>>>>>> > > >>>>>>>>>>> Thanks for the feedback. I completely agree about Maven > Central > > >>>>>>>> being a > > >>>>>>>>>> 3rd > > >>>>>>>>>>> party repo (did not think about that initially). All your > > >>>>>>>> suggestions > > >>>>>>>>>> make > > >>>>>>>>>>> sense, but I would like to keep it as simple as possible, and > > so > > >>>>>> far > > >>>>>>>>>>> everything suggested required GIT dependencies and extra > work. > > >>>>>>>>>>> > > >>>>>>>>>>> How about Yakov's suggestion. We simply add a page to the > > Ignite > > >>>>>>>>> website > > >>>>>>>>>>> which will have only the latest version. Every time a node > > >>>>> starts, > > >>>>>>>> it > > >>>>>>>>>>> receives the latest version from the page and suggests that > > >>>>> users > > >>>>>>>>> upgrade > > >>>>>>>>>>> if needed. > > >>>>>>>>>>> > > >>>>>>>>>>> Also, since we have GA enabled for the website, we can track > > how > > >>>>>>>> many > > >>>>>>>>>> times > > >>>>>>>>>>> this page was accessed, which will be equal to the number of > > >>>>>> starts. > > >>>>>>>>> This > > >>>>>>>>>>> way, the counter information is tracked and monitored by the > > >>>>>> Ignite > > >>>>>>>>> PMC. > > >>>>>>>>>>> > > >>>>>>>>>>> This approach looks pretty innocent to me and everything is > > kept > > >>>>>> and > > >>>>>>>>>>> managed within Apache. > > >>>>>>>>>>> > > >>>>>>>>>>> Thoughts? > > >>>>>>>>>>> > > >>>>>>>>>>> D. > > >>>>>>>>>>> > > >>>>>>>>>>> > > >>>>>>>>>>> On Fri, Aug 25, 2017 at 11:29 AM, Konstantin Boudnik < > > >>>>>>>> c...@apache.org <javascript:;> <javascript:;>> > > >>>>>>>>>>> wrote: > > >>>>>>>>>>> > > >>>>>>>>>>>> I agree with Raul. > > >>>>>>>>>>>> - providing a ping-back address to a 3rd party might be > frown > > >>>>>>>> upon by > > >>>>>>>>>>> some. > > >>>>>>>>>>>> And might have a consequences like stats collection about > > >>>>>> users' > > >>>>>>>>>>>> infrastructure. > > >>>>>>>>>>>> - checking an ASF git-repo is easy and won't download any > > >>>>> binary > > >>>>>>>>> data: > > >>>>>>>>>>>> everything is clear text and could be easily monitored by > > >>>>> any > > >>>>>> of > > >>>>>>>>> the > > >>>>>>>>>>>> network > > >>>>>>>>>>>> diagnostic tools, shall it be required. But it involves a > > >>>>> bit > > >>>>>> of > > >>>>>>>>> the > > >>>>>>>>>>>> release > > >>>>>>>>>>>> discipline. > > >>>>>>>>>>>> - the binary data download in the runtime is my main > concern. > > >>>>>>>> This is > > >>>>>>>>>> the > > >>>>>>>>>>>> vector of MMA. What if someone gains the control over the > > >>>>>>>>> repository > > >>>>>>>>>>> and > > >>>>>>>>>>>> replaces the file with some malicious content. > > >>>>>>>>>>>> > > >>>>>>>>>>>> As for the particular mechanism: IIRC Ignite used to make a > > >>>>> call > > >>>>>>>> to > > >>>>>>>>> an > > >>>>>>>>>>>> external script to check upon the atest software version > > >>>>>> available > > >>>>>>>>> for > > >>>>>>>>>>>> download. In the past, the endpoint was running on a 3rd > party > > >>>>>>>>> server, > > >>>>>>>>>> I > > >>>>>>>>>>>> believe the best way would be to put this script on ASF > infra > > >>>>>> and > > >>>>>>>>> have > > >>>>>>>>>>> the > > >>>>>>>>>>>> "update checker" running in a completely controlled > > >>>>> environment. > > >>>>>>>>>>> Actually, > > >>>>>>>>>>>> I > > >>>>>>>>>>>> recall we had this very discussion during the Incubation; I > > >>>>> can > > >>>>>>>>>> probably > > >>>>>>>>>>>> dig > > >>>>>>>>>>>> out the corresponding thread. > > >>>>>>>>>>>> > > >>>>>>>>>>>> Thoughts? > > >>>>>>>>>>>> Cok > > >>>>>>>>>>>> > > >>>>>>>>>>>> On Fri, Aug 25, 2017 at 10:41AM, Raul Kripalani wrote: > > >>>>>>>>>>>>> Hey guys > > >>>>>>>>>>>>> > > >>>>>>>>>>>>> In my opinion, maven.org is still owned by a third party > > >>>>>>>>> (Sonatype). > > >>>>>>>>>>> We > > >>>>>>>>>>>>> don't know what kind of data analysis or intelligence > > >>>>>> extraction > > >>>>>>>>> they > > >>>>>>>>>>>> run. > > >>>>>>>>>>>>> > > >>>>>>>>>>>>> If Ignite servers all over the world were hitting > maven.org > > >>>>>>>>>>> periodically > > >>>>>>>>>>>>> asking for an Ignite Maven artifact, it gives Sonatype a > > >>>>> clear > > >>>>>>>>>>> indication > > >>>>>>>>>>>>> of who is running an Ignite server. > > >>>>>>>>>>>>> > > >>>>>>>>>>>>> They could reverse lookup the IP address and find out what > > >>>>>>>>>> corporation > > >>>>>>>>>>> it > > >>>>>>>>>>>>> is. > > >>>>>>>>>>>>> > > >>>>>>>>>>>>> How about having Ignite check the ASF Git directly? > > >>>>>>>>>>>>> > > >>>>>>>>>>>>> We could use the Git ssh API, but that would require a new > > >>>>>>>>>> dependency, > > >>>>>>>>>>>>> which I advise against. > > >>>>>>>>>>>>> > > >>>>>>>>>>>>> Alternatively, we could have it scrape this HTML for new > Git > > >>>>>>>> tags: > > >>>>>>>>>>>>> https://git-wip-us.apache.org/repos/asf?p=ignite.git > > >>>>>>>>>>>>> > > >>>>>>>>>>>>> Another option is to place a txt file in the root of the > > >>>>>> master > > >>>>>>>>>> branch > > >>>>>>>>>>>> (e.g > > >>>>>>>>>>>>> LATEST), containing a list of the latest GA versions for > > >>>>> each > > >>>>>>>> major > > >>>>>>>>>>>> version > > >>>>>>>>>>>>> line (1.x, 2.x). > > >>>>>>>>>>>>> > > >>>>>>>>>>>>> I would advocate this last option, but it requires somebody > > >>>>>>>>>> remembering > > >>>>>>>>>>>> to > > >>>>>>>>>>>>> update the file with every release, unless we automate it > > >>>>>> with a > > >>>>>>>>>> Maven > > >>>>>>>>>>>>> plugin. > > >>>>>>>>>>>>> > > >>>>>>>>>>>>> Hope that helps! > > >>>>>>>>>>>>> > > >>>>>>>>>>>>> > > >>>>>>>>>>>>> On 24 Aug 2017 19:37, "Denis Magda" <dma...@apache.org > <javascript:;> > > >>>>>> <javascript:;>> wrote: > > >>>>>>>>>>>>> > > >>>>>>>>>>>>> I see nothing wrong with this approach. > > >>>>>>>>>>>>> > > >>>>>>>>>>>>> Cos, Roman, Raul, as Apache veterans, what do you think? Is > > >>>>> it > > >>>>>>>> good > > >>>>>>>>>> to > > >>>>>>>>>>>> go? > > >>>>>>>>>>>>> > > >>>>>>>>>>>>> — > > >>>>>>>>>>>>> Denis > > >>>>>>>>>>>>> > > >>>>>>>>>>>>>> On Aug 23, 2017, at 11:17 PM, Dmitriy Setrakyan < > > >>>>>>>>>>> dsetrak...@apache.org <javascript:;> <javascript:;> > > >>>>>>>>>>>>> > > >>>>>>>>>>>>> wrote: > > >>>>>>>>>>>>>> > > >>>>>>>>>>>>>> Is everyone OK with this approach? Should I file a ticket > > >>>>> on > > >>>>>>>> it? > > >>>>>>>>>>>>>> > > >>>>>>>>>>>>>> On Mon, Aug 21, 2017 at 2:07 PM, Dmitriy Setrakyan < > > >>>>>>>>>>>> dsetrak...@apache.org <javascript:;> <javascript:;>> > > >>>>>>>>>>>>>> wrote: > > >>>>>>>>>>>>>> > > >>>>>>>>>>>>>>> Igniters, > > >>>>>>>>>>>>>>> > > >>>>>>>>>>>>>>> There has been lots of talk of proposals about various > > >>>>>> usage > > >>>>>>>>>> metrics > > >>>>>>>>>>>> for > > >>>>>>>>>>>>>>> Ignite and nothing came of it. I would like to resurrect > > >>>>>> the > > >>>>>>>>> topic > > >>>>>>>>>>> and > > >>>>>>>>>>>>>>> propose something very simple and non-intrusive. > > >>>>>>>>>>>>>>> > > >>>>>>>>>>>>>>> 1. Update Checker > > >>>>>>>>>>>>>>> The main purpose of the update checker is not to collect > > >>>>>>>>> metrics, > > >>>>>>>>>>> but > > >>>>>>>>>>>> to > > >>>>>>>>>>>>>>> notify users about a new version of Ignite by accessing > > >>>>>>>>> maven.org > > >>>>>>>>>>> and > > >>>>>>>>>>>>>>> getting the version out of the metadata file: > > >>>>>>>>>>>>>>> http://repo2.maven.org/maven2/ > > >>>>>> org/apache/ignite/ignite-core/ > > >>>>>>>>>>>>>>> maven-metadata.xml > > >>>>>>>>>>>>>>> > > >>>>>>>>>>>>>>> This way we do not send any information anywhere and, at > > >>>>>> the > > >>>>>>>>> same > > >>>>>>>>>>>> time, > > >>>>>>>>>>>>>>> urge our users to download and start using the latest > > >>>>>>>> version of > > >>>>>>>>>>>> Ignite. > > >>>>>>>>>>>>>>> > > >>>>>>>>>>>>>>> 2. Startup Counter > > >>>>>>>>>>>>>>> This piece is optional, but we can also get an insight in > > >>>>>> how > > >>>>>>>>> many > > >>>>>>>>>>>> times > > >>>>>>>>>>>>> a > > >>>>>>>>>>>>>>> certain Ignite release gets started. This is just a cool > > >>>>>>>> metric > > >>>>>>>>>> for > > >>>>>>>>>>>> the > > >>>>>>>>>>>>>>> community to gauge the project popularity. You can think > > >>>>> of > > >>>>>>>> it > > >>>>>>>>> as > > >>>>>>>>>>> of a > > >>>>>>>>>>>>> page > > >>>>>>>>>>>>>>> visit counter shown on many websites. We can even decide > > >>>>> to > > >>>>>>>>>> display > > >>>>>>>>>>>> this > > >>>>>>>>>>>>>>> counter on the Ignite website as well. > > >>>>>>>>>>>>>>> > > >>>>>>>>>>>>>>> To do this, we can simply add a JAR in maven for every > > >>>>>>>> release, > > >>>>>>>>>> e.g. > > >>>>>>>>>>>>>>> ignite-start-counter.jar, which will contain only 1 byte. > > >>>>>>>> Every > > >>>>>>>>>> time > > >>>>>>>>>>>> an > > >>>>>>>>>>>>>>> Ignite node starts, it will download this JAR in the > > >>>>>>>> background. > > >>>>>>>>>>> Then > > >>>>>>>>>>>> we > > >>>>>>>>>>>>>>> will be able to view the number of the total downloads > > >>>>> for > > >>>>>>>> this > > >>>>>>>>>> JAR > > >>>>>>>>>>> in > > >>>>>>>>>>>>>>> Maven Central, which is essentially the number of starts > > >>>>> of > > >>>>>>>>> Ignite > > >>>>>>>>>>>> nodes. > > >>>>>>>>>>>>>>> > > >>>>>>>>>>>>>>> *Note that neither of the above suggestions require > > >>>>> Ignite > > >>>>>> to > > >>>>>>>>> send > > >>>>>>>>>>> or > > >>>>>>>>>>>>>>> track any user information whatsoever.* > > >>>>>>>>>>>>>>> > > >>>>>>>>>>>>>>> Please reply suggesting weather you are OK with this > > >>>>>>>> approach. > > >>>>>>>>>>>>>>> > > >>>>>>>>>>>>>>> D. > > >>>>>>>>>>>>>>> > > >>>>>>>>>>>> > > >>>>>>>>>>>> > > >>>>>>>>>>> > > >>>>>>>>>> > > >>>>>>>>> > > >>>>>>>> > > >>>>>>> > > >>>>>>> > > >>>>>> > > >>>>> > > >>> > > >>> > > >> > > > > >