Madhan Neethiraj created RANGER-5208:
----------------------------------------

             Summary: refactor audit module to move each destination 
implementation to a separate module
                 Key: RANGER-5208
                 URL: https://issues.apache.org/jira/browse/RANGER-5208
             Project: Ranger
          Issue Type: Improvement
          Components: audit
            Reporter: Madhan Neethiraj
            Assignee: Madhan Neethiraj


Ranger audit module, ranger-plugins-audit, has dependency on several libraries 
as it contains implementation of audit destinations like Solr, Elasticsearch, 
AmazonCloudWatch, Kafka, ORC, Hadoop FileSystem. These dependencies are 
transitively forced on to modules that consume ranger-plugins-audit library, 
like ranger-plugins-common, embeddedwebserver and Ranger authorization plugin 
implementations. Currently it is not possible for a plugin implementation to 
choose dependency on only the audit destinations the plugin needs/supports. 
Enabling this can help plugins to eliminate including unnecessary libraries.

 

I suggest splitting contents of ranger-pliugins-audit module into following 
modules:
 * ranger-plugins-audit-core: contains audit module core, excluding all 
destination implementations
 * ranger-plugins-audit-solr: contains implementation of Solr destination
 * ranger-plugins-audit-es: contains implementation of Elasticsearch destination
 * ranger-plugins-audit-kafka: contains implementation of Kafka destination
 * ranger-plugins-audit-cloudwatch: contains implementation of Amazon 
CloudWatch destination
 * ranger-plugins-audit-file: contains implementation of local file destination
 * ranger-plugins-audit-hdfs: contains implementation of Hadoop FileSystem 
destination (HDFS/S3/ABFS-Gen2)
 * ranger-plugins-audit-log4j: contains implementation of log4j destination
 * ranger-plugins-audit-orc: contains implementation of ORC file destination

 

For backward compatibility, ranger-plugins-audit module should continue to be 
made available; this module will simply have dependency on all new modules 
listed above.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to