Thanks Gyula for bringing this topic up! Although the suggestion would
indeed simplify the configuration handling I have some concerns about
opening the operator configuration for end users in certain cases. In a
multitenant scenario for example, how could we protect against one user
messing up the configs and potentially distract others? As I see it, the
operator acts as the control plane, ideally totally transparent for end
users, often behind a rest API. Let me know what you think.

Cheers,
Matyas

On Sat, Apr 2, 2022 at 5:12 AM Yang Wang <danrtsey...@gmail.com> wrote:

> I also like the proposal 2. Maybe it could be named with
> *KubernetesOperatorConfigOptions*, which just looks like all other
> ConfigOption(e.g. *KubernetesConfigOptions, YarnConfigOptions*) in Flink.
> The proposal 2 is more natural and easy to use for Flink users.
>
>
> Best,
> Yang
>
> Gyula Fóra <gyf...@apache.org> 于2022年4月2日周六 02:25写道:
>
>> Hi Devs!
>>
>> *Background*:
>> With more and more features and options added to the flink kubernetes
>> operator it would make sense to not expose everything as first class
>> options in the deployment/jobspec (same as we do for flink configuration
>> currently).
>>
>> Furthermore it would be beneficial if users could control reconciliation
>> specific settings like timeouts, reschedule delays etc on a per deployment
>> basis.
>>
>>
>> *Proposal 1*The more conservative proposal would be to add a new
>> *operatorConfiguration* field to the deployment spec that the operator
>> would use during the controller loop (merged with the default operator
>> config). This makes the operator very extensible with new options and
>> would
>> also allow overrides to the default operator config on a per deployment
>> basis.
>>
>>
>> *Proposal 2*I would actually go one step further and propose that we
>> should
>> merge *flinkConfiguration* and *operatorConfiguration* -as whether
>> something affects the flink job submission/job or the operator behaviour
>> does not really make a difference to the end user. For users the operator
>> is part of flink so having a multiple configuration maps could simply
>> cause
>> confusion.
>> We could simply prefix all operator related configs with
>> `kubernetes.operator` to ensure that we do not accidentally conflict with
>> flink native config options.
>> If we go this route I would even go as far as to naming it simply
>> *configuration* for sake of simplicity.
>>
>> I personally would go with proposal 2 to make this as simple as possible
>> for the users.
>>
>> Please let me know what you think!
>> Gyula
>>
>

Reply via email to