Yes, all configuration should be transactional (configuration which makes
sense to require to be the same cluster-wide). Guardrails in TCM are just a
subset of this problem. When I started to do CEP-24 I started with
guardrails in TCM but then I realized it leads to more general "all config
in TCM" and I found myself rabbit-hole-ing endlessly.

BTW I do not think that once CEP-24 is in place without guardrails in TCM
then implementing it would blow up things a lot. It is really just about a
couple mutable virtual tables and a couple transformations for various
guardrail types we have but I expect that its integration into more general
config in TCM should be rather straightforward.

Config in TCM definitely deserves its own CEP, it is too much to handle
under CEP-24 and CEP-24 can go without it already. It just put a little bit
more configuration acumen to nail it down correctly.

Regards

On Fri, Jun 7, 2024 at 8:12 PM Doug Rohrer <droh...@apple.com> wrote:

> There’s a difference between the two though. Constraints are part of the
> table schema, and (independent of the interaction with Guardrails), have no
> dependency on yaml files being perfectly in sync across the cluster.
> Therefore, the feature (Constraints) on its own doesn’t depend on
> configuration files to be correct in its own right. The only place where
> this isn’t true is it’s interaction with Guardrails, which happen to be
> yaml-file based and cause issues.
>
> CEP-24’s password length requirements, however, is intended to be
> implemented *by adding a new guardrail*, which is totally dependent on
> YAML files today (and thus the concerns around a single misconfigured
> server allowing someone to use an insecure password). If CEP-24 fixes
> guardrails’ dependence on yaml files, it would *also* fix the problematic
> interaction between guardrails and constraints.
>
> I agree that it would be incredibly valuable to find a solution to the
> “yaml files need to be correct everywhere or something breaks” problem, and
> I think CEP-24, being security-focused, is more likely to be problematic
> without a solution to this issue. That said, I think Dinesh is right in
> that, at the end of the day, CEP-24 could be implemented without fixing the
> yaml config issue.
>
> I do wonder if the “Guardrails should be transactional” should really be
> “configuration should be transactional”, or at least as much config as
> possible should be, but that would blow up CEP-24 fairly dramatically
> (maybe?). Maybe “cluster-wide configuration should be read from a
> distributed source on startup/joining the cluster” or something would make
> sense, so the yaml file works as the source of truth on startup, but as
> soon as possible it’s read from a TCM-backed data source, and anything the
> node can get from other nodes it would… but now I’m designing a different
> CEP in a discuss thread, which is probably a bad idea...
>
> Regardless, I hope that I’m explaining why I see a difference between
> constraints and guardrails, and why I think it makes sense that constraints
> can move forward without a solution the misconfiguration problem where I
> also think you were right in calling it out in CEP-24 (even if we
> eventually move forward on CEP-24 without the solution in place).
>
> Doug
>
>
>
> On Jun 7, 2024, at 1:51 AM, Dinesh Joshi <djo...@apache.org> wrote:
>
> On Thu, Jun 6, 2024 at 1:03 PM Štefan Miklošovič <
> stefan.mikloso...@gmail.com> wrote:
>
>> It is interesting to see this feedback. When I look at CEP-24 where I am
>> obsessing about a user being able to misconfigure the password validation
>> strength so if a user hits a "weak" node then she would be able to bypass
>> it, and I see what is our approach here, then I am not sure what I was
>> waiting so long for and I should probably be just more aggressive with the
>> CEP and all the "caveats" could be just overlooked and deferred to
>> "sometimes later".
>>
>
> Stefan, unfortunately I didn't participate in the CEP-24 DISCUSS thread.
> Had I paid attention I would have suggested waiting on TCM doesn't make
> the feature any different. The feature is less likely to be misconfigured
> in a cluster. CEP-24 is valuable and password compliance with policies is a
> super useful feature which IMO shouldn't have been held back due to lack of
> TCM.
>
>
>
>

Reply via email to