Credentials Cache Updater

The Credentials Cache Updater bridges the new SDK Management system with the legacy delivery infrastructure. It listens for application and channel update events and synchronizes push credentials to the delivery service cache.

This component is built using the Effect library for its entire pipeline.

Subscription

  • Subscription: me-msg-generator.credentials-cache-updater

  • Max concurrent messages: 10

  • Max delivery attempts: 10 (before publishing to error topic)

  • Error topic: sending-mg-errors

Event Types

The updater handles the following event types from the sdk-management service:

Event Type Behaviour

application-update

Fetches the full application from SDK Management, converts and saves all channel credentials (APNS, FCM, Huawei, VAPID) to the delivery service cache.

application-channel-update

Fetches the specific channel from SDK Management, converts and saves that single channel’s credentials.

channel-update

Acknowledged and dropped (no-op).

Any other event

Logged and acknowledged.

Supported Channel Types

  • push_firebase — converted to legacy FCM credentials (service account format)

  • push_apns — converted to legacy iOS credentials (token key / keyId / teamId)

  • push_huawei — converted to legacy Android Huawei credentials (appId / oauthClientSecret)

  • push_vapid — converted to legacy web push VAPID credentials

  • embedded_messaging — supported channel type

Credential saves are triggered on operations: create, update, clone, activate.

Error Handling

  • Transient errors (determined by HTTP status code): the message is NACKed for redelivery up to maxDeliveryAttempts (10), then published to sending-mg-errors.

  • Permanent errors: published directly to sending-mg-errors.

Dependencies

  • Pub/Sub: Receives events from SDK Management

  • SDK Management Service: Source of application and channel data

  • Delivery Service: Target for credential cache updates