Hi Sergey,

Thanks for doing this.

It looks like PR #5 is already under review, so I guess it will be merged
soon. I would really love to see that, because the configuration framework
is one of the foundational components - we need it to continue building
Ignite 3.0.

As for PR #6, it looks a little raw, but I believe we need it to connect
the configuration framework with the CLI tool that is also pending for the
merge, is this correct? If that's the case, I think it's OK to merge this
code as a separate module, with an understanding that it will change
significantly down the road. I would do a couple of changes though:

   1. Get rid of "simplistic-ignite" naming, as it's a little confusing.
   Even though it's more of a prototype at this point, it should be clear what
   the module is responsible for. Can we rename it to "ignite-runner" or
   something along those lines?
   2. Update the output - I don't like that it prints out the
   Javalin's banner and messages. I suggest replacing this with some very
   basic Ignite logging: an entry showing the version of Ignite; an entry
   indicating that the REST protocol is enabled on a certain port; an entry
   that the process is successfully started. This is just to make sure that
   anyone who plays with it understands what's going on.

Any objections?

-Val

On Fri, Dec 11, 2020 at 9:53 AM Sergey Chugunov <sergey.chugu...@gmail.com>
wrote:

> Hello Igniters,
>
> I would like to present two pull requests [1], [2] with basic
> implementation of IEP-55 for Unified Configuration [3] and IEP-63 REST API
> for Unified Configuration [4].
>
> The main goal of these PRs is to present and discuss a new approach for
> preparing and managing Ignite configuration in a more robust and convenient
> way than it was before.
>
> These PRs cover basic aspects of configuration but other steps for
> developing functionality are already defined; ticket IGNITE-13511 [5]
> summarizes work to do.
>
> In a nutshell proposed approach to configuration is as follows:
>
> We want to declare configuration with POJO-based schemas that are concise
> and contain all important information about validation and how different
> pieces of configuration relate to each other.
> When schemas are marked with annotations annotation processor enters the
> game and generates most of boilerplate code thus freeing users from writing
> it by hand.
>
> REST API module from [2] contains an example of managing configuration and
> exposing it to external tools like a Unified CLI tool presented in [6].
>
> [1] https://github.com/apache/ignite-3/pull/5
> [2] https://github.com/apache/ignite-3/pull/6
> [3]
>
> https://cwiki.apache.org/confluence/display/IGNITE/IEP-55+Unified+Configuration
> [4]
>
> https://cwiki.apache.org/confluence/display/IGNITE/IEP-63%3A+REST+API+module+to+integrate+new+modular+architecture+and+management
> [5] https://issues.apache.org/jira/browse/IGNITE-13511
> [6]
>
> http://apache-ignite-developers.2346864.n4.nabble.com/DISCUSSION-Unified-CLI-tool-td50618.html
>

Reply via email to