PingDirectory

Kafka requirements and restrictions

The following requirements and restrictions apply to using a Kafka sync destination:

  • The sync source must be a PingDirectory server.

  • You must configure the sync pipe in notification mode (synchronization-mode:notification), because a Kafka sync destination can’t retrieve the current version of a destination entry. It can only make use of the attributes provided in the changelog record.

  • You must enable the changelog backend on all instances of the source PingDirectory servers. The following changes apply only to the source PingDirectory servers:

    • The configuration property changelog-max-before-after-values must be set to a value greater than 0 to ensure that the before and after values of an entry are included in Kafka messages.

    • To ensure the availability of an entry’s user attributes from before and after a change, the configuration property changelog-include-key-attribute must include '*'.

      No operational attributes are included in Kafka messages with this configuration.

    • To add specific operational attributes to Kafka messages, you must include them in the changelog-include-key-attribute property. For example:

      bin/dsconfig set-backend-prop --backend-name changelog \
        --add changelog-include-key-attribute:ds-pwp-account-disabled
    • The following sample configuration for the changelog backend meets the minimum requirements and only includes user attributes:

      bin/dsconfig set-backend-prop \
        --backend-name changelog \
        --set enabled:true \
        --set 'changelog-include-key-attribute:*' \
        --set changelog-max-before-after-values:1