Hello!

One can still submit a PR which mines bitcoin and run tests on it. CI/CD
configuration alongside code does not solve the issue that any user may run
code on TC.

Regards,
-- 
Ilya Kasnacheev


пт, 27 нояб. 2020 г. в 16:48, Petr Ivanov <mr.wei...@gmail.com>:

> > Storing CI/CD code (yaml definitions for Travis/Azure/GH Actions, Jenkins
> > pipelines, etc) in the same repo is very common.
> > Secrets are stored separately (e.g. GitHub secrets), TeamCity probably
> has
> > a similar feature.
>
>
> My main security concern — anyone, including third-party person without
> even committer permissions can modify build configuration in such a way
> that it will be doing something not intend to do (bitcoin mining for
> instance) or even something harmful (like trying to attack underlying TC
> infrastructure). If we are to store CI/CD configuration alongside code,
> some restrictions are required.
>
>
>
> > On 27 Nov 2020, at 15:59, Pavel Tupitsyn <ptupit...@apache.org> wrote:
> >
> >> migrating to 'CI/CD as a Code'
> >
> > Huge +1 for this.
> >
> >
> >> where should the code be stored ..
> >> alongside project's code (can be possible security hole)
> >
> > Storing CI/CD code (yaml definitions for Travis/Azure/GH Actions, Jenkins
> > pipelines, etc) in the same repo is very common.
> > Secrets are stored separately (e.g. GitHub secrets), TeamCity probably
> has
> > a similar feature.
> >
> >
> > On Fri, Nov 27, 2020 at 3:28 PM Petr Ivanov <mr.wei...@gmail.com> wrote:
> >
> >> More or less, unless we specifically forbid that, I guess
> >>
> >> However there is bigger concern: JDK 15 is STS, so after half of a year
> it
> >> will be out of support and no major production team will use that JDK in
> >> their environment.
> >> I would stick to JDK 11 as it is LTS at least until JDK17, plus — a lot
> of
> >> efforts should be made to enforce Apache Ignite be built on JDK 11
> alone,
> >> not to mention 15th version...
> >>
> >>
> >>
> >> Also, If we are going to introduce such major changes, I'd like to
> purpose
> >> maven project refactoring as well:
> >> 1. Full revision of all ant-calling tasks with javascript functions and
> >> alike — the complexity of those are overwhelming, something new should
> be
> >> at least researched.
> >> 2. Full revisions of profiles (for both root and modules) as there are
> >> some obsolete ones, and some that do ambiguous or, even worse, totally
> >> unknown tasks.
> >> 3. Introduce plugin and dependency management sections to control over
> and
> >> concrete versions of software we are relying in our project.
> Additionally —
> >> add BOM with all Ignite modules and their dependencies, which should
> help
> >> our users to better embed Ignite to their projects.
> >> 4. Up all versions of plugins and dependencies where possible to there
> >> current production versions (for plugins — it should be a must if we are
> >> ever going to build project under latest JDK versions).
> >> 5. Prepare project for parallel building, testing and assembling where
> >> possible for faster development process, with possible additional
> >> enhancement like incremental rebuild.
> >> 6. Possibly — research alternate builders, like Gradle (thought there
> are
> >> a lot of questions to its race condition issues during multimodule
> builds).
> >>
> >>
> >>
> >> And last, but not least — think of migrating to 'CI/CD as a Code'
> approach
> >> for our main instrument TeamCity.
> >> Whole project (both test and release build configurations) can be
> >> described using DSL (Kotlin in case of TC) and stored in VCS, forcing
> >> infrastructure changes to go through the same development processes
> >> including discussions, review, change history and etc.
> >>
> >> Only I am not sure for now about where should the code be stored — in
> >> separate repository (secure, but disables testing of code with TC
> settings
> >> both in single PR), or alongside project's code (can be possible
> security
> >> hole).
> >> That would require additional dev thread I think.
> >>
> >>
> >>
> >> WDYT?
> >>
> >>> On 24 Nov 2020, at 20:04, Pavel Tupitsyn <ptupit...@apache.org> wrote:
> >>>
> >>> If we use Java15 for development, can the resulting package be used
> from
> >> a
> >>> Java11 app (the latest LTS)?
> >>>
> >>> On Tue, Nov 24, 2020 at 7:51 PM Andrey Mashenkov <
> >> andrey.mashen...@gmail.com>
> >>> wrote:
> >>>
> >>>> Jave15 looks awesome.
> >>>>
> >>>> * Hidden classes [1] can be used by codegenerators.
> >>>> * Records [2] can replace boilerplate code like IgniteBiTuple,
> >> GridTupleX.
> >>>>
> >>>> [1] https://openjdk.java.net/jeps/371
> >>>> [2] https://openjdk.java.net/jeps/384
> >>>>
> >>>> On Tue, Nov 24, 2020 at 3:38 PM Alexey Zinoviev <
> zaleslaw....@gmail.com
> >>>
> >>>> wrote:
> >>>>
> >>>>> Java 15 is better, VarHandles, ForeignMemory access and so on.
> >>>>>
> >>>>> In both cases, I support the Java version 11 and higher for the
> >>>>> development!
> >>>>>
> >>>>> вт, 24 нояб. 2020 г. в 15:21, Andrey Mashenkov <
> >>>> andrey.mashen...@gmail.com
> >>>>>> :
> >>>>>
> >>>>>> Let's add maven plugins  for sanity checks at the early stage.
> >>>>>> I've created a ticket for this [1].
> >>>>>>
> >>>>>> Also, I've found initial pom.xml has a target version Java 8.
> >>>>>> Do we intend to move to Java 11 (or may be next LTS) and drop Java 8
> >> in
> >>>>>> Ignite 3.0?
> >>>>>>
> >>>>>> [1] https://issues.apache.org/jira/browse/IGNITE-13751
> >>>>>>
> >>>>>> On Tue, Nov 24, 2020 at 5:40 AM Valentin Kulichenko <
> >>>>>> valentin.kuliche...@gmail.com> wrote:
> >>>>>>
> >>>>>>> Folks,
> >>>>>>>
> >>>>>>> I went ahead and created the repository [1]. I also configured a
> >>>>> TeamCity
> >>>>>>> project [2] that runs all available JUnit tests on every PR
> creation
> >>>> or
> >>>>>>> update. It also sends the status update to GitHub so that it's
> >>>>> reflected
> >>>>>> in
> >>>>>>> the PR itself so that we can do merges directly from GitHub. Basic
> >>>>> steps
> >>>>>> to
> >>>>>>> make a change are described on the Wiki page [3].
> >>>>>>>
> >>>>>>> Let me know if you have any questions.
> >>>>>>>
> >>>>>>> [1] https://github.com/apache/ignite-3
> >>>>>>> [2] https://ci.ignite.apache.org/project/ignite3
> >>>>>>> [3]
> >>>>>>>
> >>>>>>>
> >>>>>>
> >>>>>
> >>>>
> >>
> https://cwiki.apache.org/confluence/display/IGNITE/Apache+Ignite+3.0#ApacheIgnite3.0-DevelopmentProcess
> >>>>>>>
> >>>>>>> -Val
> >>>>>>>
> >>>>>>> On Wed, Nov 18, 2020 at 4:24 PM Valentin Kulichenko <
> >>>>>>> valentin.kuliche...@gmail.com> wrote:
> >>>>>>>
> >>>>>>>> Thanks, guys. It looks like we are much closer to the consensus
> >>>> now.
> >>>>> I
> >>>>>>>> totally on board with the plan, but I would also like to address
> >>>> the
> >>>>>>>> short-term needs. As I've already mentioned earlier, there are
> >>>>> several
> >>>>>>>> active IEPs, but we still don't have even a preliminary technical
> >>>>>> process
> >>>>>>>> for working on these IEPs. I believe this might be frustrating for
> >>>>> the
> >>>>>>>> folks who would like to commit code.
> >>>>>>>>
> >>>>>>>> The scope we agreed on is quite big, and it will surely take
> >>>>>> significant
> >>>>>>>> time to implement all the changes and stabilize them. Therefore,
> >>>> it's
> >>>>>>> clear
> >>>>>>>> to me that we will have to maintain 2.x and 3.x in parallel for
> >>>> quite
> >>>>>>> some
> >>>>>>>> time - this needs to be addressed somehow. I'm convinced that
> >>>> having
> >>>>> a
> >>>>>>>> separate repo is the ONLY way to do that, and so far, I haven't
> >>>> heard
> >>>>>> any
> >>>>>>>> clear alternatives or reasons why we shouldn't do this.
> >>>>>>>>
> >>>>>>>> That said, I'm inclined to proceed with this in the next few days
> >>>> - I
> >>>>>>> will
> >>>>>>>> create a repo and describe the process (which we, of course, can
> >>>>>> discuss
> >>>>>>>> and modify going forward). Let's, at the very least, try and see
> >>>>> where
> >>>>>> it
> >>>>>>>> leads us.
> >>>>>>>>
> >>>>>>>> If someone has any concrete alternative options on how to we can
> >>>>>> maintain
> >>>>>>>> two major versions in parallel, let's have another voice
> discussion
> >>>>>> this
> >>>>>>>> Friday. If we do the meeting, we should set it up with a clear
> goal
> >>>>> to
> >>>>>>> make
> >>>>>>>> a decision. Please let me know if there is interest in this.
> >>>>>>>>
> >>>>>>>> -Val
> >>>>>>>>
> >>>>>>>> On Mon, Nov 16, 2020 at 6:31 AM Alexey Goncharuk <
> >>>>>>>> alexey.goncha...@gmail.com> wrote:
> >>>>>>>>
> >>>>>>>>> Good,
> >>>>>>>>>
> >>>>>>>>> I think we have an intermediate agreement on the scope and
> >>>>>> significance
> >>>>>>> of
> >>>>>>>>> the changes we want to make. I suggest creating separate
> >>>> discussion
> >>>>>>>>> streams
> >>>>>>>>> and calls for each of the suggested topics so that:
> >>>>>>>>>
> >>>>>>>>>  - It is clear for the community what is the motivation of the
> >>>>>> stream
> >>>>>>>>>  (this includes both functional targets and technical debt
> >>>> issues
> >>>>>>>>> pointed
> >>>>>>>>>  out by Sergey)
> >>>>>>>>>  - Who is planning to take an active part in each of the streams
> >>>>>> (i.e.
> >>>>>>>>>  the 'design committee', as Sergey suggested)
> >>>>>>>>>  - What are the intermediate and final goals for each of the
> >>>>> streams
> >>>>>>>>>  - What are the cross-stream interactions and how we integrate
> >>>>> them
> >>>>>>>>>  - How each of the streams will be integrated with the current
> >>>>>>> codebase
> >>>>>>>>>  based on the above (here is where we will see whether drop-in
> >>>> or
> >>>>>>>>>  incremental approaches make more sense)
> >>>>>>>>>
> >>>>>>>>
> >>>>>>>
> >>>>>>
> >>>>>>
> >>>>>> --
> >>>>>> Best regards,
> >>>>>> Andrey V. Mashenkov
> >>>>>>
> >>>>>
> >>>>
> >>>>
> >>>> --
> >>>> Best regards,
> >>>> Andrey V. Mashenkov
> >>>>
> >>
> >>
>
>

Reply via email to