topicSetup: 'validate' checks this once at start, before any data is accepted.
Fix — create the topic, or set topicSetup: 'create' (dev convenience; needs admin IAM).
topicSetup: 'none' skips topic administration entirely for least-privilege deployments.