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