Minor update to make Dapr pubsub components compliant#104
Merged
leechristensen merged 2 commits intoSpecterOps:mainfrom Mar 4, 2026
Merged
Minor update to make Dapr pubsub components compliant#104leechristensen merged 2 commits intoSpecterOps:mainfrom
leechristensen merged 2 commits intoSpecterOps:mainfrom
Conversation
If we want to use K8s the Dapr components for document conversion and workflow monitor would be rejected as they cannot contain underscores.
Collaborator
|
Thank you! Made a couple of mods to hopefully address some other issues you may have too. Let us know if running it in k8s works alright for you. Definitely interested! |
Collaborator
|
In case you want to test it out (it's under dev still, but may work for you), we're experimenting with getting k8s deployment working in another branch. Testing with k3d right now, but going to test k3s as well. Any feedback welcomed! |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Gist
Two Dapr pubsub component names in
libs/common/common/queues.pyuse underscores (document_conversion,workflow_monitor) which are invalid for Kubernetes resourcemetadata.namefields. This silently breaks the document conversion and workflow monitoring pipelines when trying to deploy to Kubernetes or any native K8s Dapr setup.Main Issue
Kubernetes resource names must follow https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#dns-subdomain-names. lowercase alphanumeric characters or hyphens only. No underscores.
The current pubsub names in
libs/common/common/queues.py:The other five pubsub names (
alerting,files,dotnet,dpapi,noseyparker) are single words with no separators and work fine in both Docker Compose and Kubernetes.Sanity Check
Why does this work with Docker Compose??
Dapr runs in self-hosted mode and loads component from
infra/dapr/components/pubsub/. It appears that the self-hosted Dapr does not enforce component name requirement, sodocument_conversionworks. However, in K8s, Dapr components appear to be deployed as CRDs. Kubernetes validatesmetadata.namerejects underscores. So the CRD must use a compliant name likedocument-conversion(hyphen), but the application code looks fordocument_conversion(underscore) so Dapr returns: