> give us a minimally invasive way to support both through a transition.
I'm caught up on the slack thread now; let's not even allude to nor discuss 
transitioning a default and just keep things constrained to adding new 
functionality and keeping it in sync. Don't want to derail things.

On Mon, Jul 21, 2025, at 11:37 AM, Johnny Miller wrote:
> I think that's worth getting done - it would be very handy! Maybe we can 
> discuss it when implementing to figure out the way to do it?
> 
> On Mon, 21 Jul 2025 at 16:02, Josh McKenzie <jmcken...@apache.org> wrote:
>> __
>>> I suppose the only concern would be maintaining this version in alignment 
>>> with what's going into the main cassandra.yaml as part of the regular 
>>> development. 
>> Seems like it'd be relatively easy to script something that'll generate 
>> modularized config files based on the reference cassandra.yaml by 
>> classifying different parameters based on file grouping. Not to scope creep 
>> or add on to the CEP or anything, just thinking out loud; as follow up work 
>> it could be useful.
>> 
>> From a technical perspective having a bi-directional sync that'd just dump 
>> things into a "overflow" file from monolithic -> modular, and tacking on at 
>> the end of cassandra.yaml under an overflow section for things not 
>> classified in the script from modular -> monolithic config shouldn't be too 
>> complex. If that proved stable, integrating that into the build process and 
>> even adding a checkstyle job target warning on non-classified configuration 
>> parameters could tighten the whole thing up and give us a minimally invasive 
>> way to support both through a transition.
>> 
>> On Mon, Jul 21, 2025, at 9:41 AM, Johnny Miller wrote:
>>> I have added the section "Reference Example Configuration" - will see what 
>>> the feedback on this is. I suppose the only concern would be maintaining 
>>> this version in alignment with what's going into the main cassandra.yaml as 
>>> part of the regular development. 
>>> 
>>> On Mon, 21 Jul 2025 at 15:24, Josh McKenzie <jmcken...@apache.org> wrote:
>>>> __
>>>> That sounds useful to me.
>>>> 
>>>> I'd like to see us move to "modularized by default"; our current config 
>>>> being 2839 lines of .yaml 
>>>> <https://github.com/apache/cassandra/blob/trunk/conf/cassandra.yaml> is a 
>>>> bad experience for both new and old users. Starting with examples of the 
>>>> new paradigm and then refactoring config out over time for the default 
>>>> config is a path forward I'd support.
>>>> 
>>>> On Mon, Jul 21, 2025, at 9:18 AM, Johnny Miller wrote:
>>>>> One feature I was thinking of adding to the CEP was to have an example 
>>>>> yaml config setup using the includes with the config grouped logically so 
>>>>> people have a reference example in the conf? Would this be a good idea?
>>>>> 
>>>>> On Fri, 18 Jul 2025 at 19:57, Johnny Miller <johnny.p.mil...@gmail.com> 
>>>>> wrote:
>>>>>> Hello 👋
>>>>>> 
>>>>>> We would like to propose CEP-51: Support Include Semantics for 
>>>>>> cassandra.yaml for adoption by the community:
>>>>>> https://cwiki.apache.org/confluence/display/CASSANDRA/CEP-51+Support+Include+Semantics+for+cassandra.yaml
>>>>>> 
>>>>>> This CEP proposes adding completely optional include directives to 
>>>>>> Cassandra's configuration system, allowing users who need it to split 
>>>>>> their cassandra.yaml into multiple files for better security, 
>>>>>> organization, and deployment flexibility. No changes are made to the 
>>>>>> default cassandra.yaml, and this feature is entirely opt-in.
>>>>>> The proposed include directives (include, include_if_exists, and 
>>>>>> include_dir) enable organizations to:
>>>>>>  • Apply the principle of least privilege by separating sensitive 
>>>>>> security configurations into files with restricted permissions
>>>>>>  • Better organize large configuration files by logical subsystems
>>>>>>  • Simplify configuration management in environments where different 
>>>>>> teams manage different aspects of the cluster
>>>>>>  • Follow established patterns already present in PostgreSQL, MySQL, 
>>>>>> Redis, NGINX, and other widely-used systems
>>>>>> Key design principles:
>>>>>>  • Zero impact on users who don't use the feature
>>>>>>  • No recursive includes (only the main cassandra.yaml can contain 
>>>>>> include directives)
>>>>>>  • No duplicate configuration keys allowed (each setting must appear in 
>>>>>> exactly one file)
>>>>>>  • Clear error messages for troubleshooting
>>>>>> This enhancement addresses real operational challenges faced by 
>>>>>> organisations with strict security requirements or complex deployment 
>>>>>> needs, while maintaining complete backward compatibility and requiring 
>>>>>> no changes to existing deployments.
>>>>>> 
>>>>>> Thanks in advance for your time and feedback. Please keep the discussion 
>>>>>> on this mailing list thread.
>>>>>> 
>>>>>> Regards,
>>>>>> 
>>>>>> Johnny
>>>> 
>> 

Reply via email to