Druid extensions

Druid extensions are used to provide additional functionality at runtime, e.g. for data formats or different types of deep storage.

Default extensions

Druid Stacklets use the following extensions by default:

  • druid-kafka-indexing-service

  • druid-datasketches

  • prometheus-emitter

  • druid-basic-security

  • druid-opa-authorizer

  • druid-hdfs-storage

Some extensions are loaded conditionally depending on the DruidCluster configuration:

  • postgresql-metadata-storage (when using PostgreSQL as metadata store)

  • mysql-metadata-storage (when using MySQL as metadata store)

  • druid-s3-extensions (when S3 is used as deep storage)

  • simple-client-sslcontext (when TLS is enabled)

Custom extensions

You can configure Druid to load more extensions by adding them to the additionalExtensions list as shown below:

spec:
  clusterConfig:
    additionalExtenions:
    - druid-avro-extensions
    - druid-google-extensions
    ...

Core extensions are already bundled with Druid but adding community extensions requires some extra steps.

Some extensions may require additional configuration which can be added using configuration and environment overrides.