Skip to content

fix: Relax destination URL/hostname validation regex#739

Merged
alexluong merged 4 commits intomainfrom
fix/relax-url-validation
Mar 10, 2026
Merged

fix: Relax destination URL/hostname validation regex#739
alexluong merged 4 commits intomainfrom
fix/relax-url-validation

Conversation

@alexluong
Copy link
Collaborator

@alexluong alexluong commented Mar 10, 2026

Summary

  • Simplify URL validation to ^https?://[^\s]+$ for webhook, webhook_standard, aws_sqs, and aws_kinesis destinations. The previous regex blocked valid URLs with Basic Auth credentials.
  • Simplify RabbitMQ server_url validation to ^[^\s]+$ so Docker service names like rabbitmq:5672 work without requiring a dotted FQDN.
  • Remove unused DESTINATION_METADATA_PATH (singular) root-level config option that was never wired up.
  • Document that config_fields and credential_fields cannot be overridden via DESTINATIONS_METADATA_PATH.

Closes #733, #549

Test plan

  • Existing URL validation tests updated with Basic Auth, IP address, and Docker hostname cases
  • RabbitMQ validation tests updated with Docker service name cases
  • All validation tests pass

🤖 Generated with Claude Code

alexluong and others added 4 commits March 10, 2026 21:08
Simplify the URL pattern to ^https?://[^\s]+$ for webhook,
webhook_standard, aws_sqs, and aws_kinesis destinations. The previous
regex was overly strict and blocked valid URLs with Basic Auth
credentials (e.g., https://user:pass@example.com). Go's net/http
already validates URLs at request time, so a permissive check is
sufficient.

Closes #733

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
The root-level DESTINATION_METADATA_PATH was never wired up in the
service builder — it was parsed but never used. Remove it to avoid
confusion. Use DESTINATIONS_METADATA_PATH instead.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…ridden

Document that DESTINATIONS_METADATA_PATH only allows overriding
non-core fields (label, description, icon, instructions). Also fix
the link to the default metadata providers folder.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Simplify the server_url pattern to ^[^\s]+$ so hostnames without dots
(e.g., rabbitmq:5672) are accepted. The previous regex required a
dotted FQDN, blocking Docker service discovery names.

Ref #549

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@vercel
Copy link

vercel bot commented Mar 10, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
outpost-docs Ready Ready Preview, Comment Mar 10, 2026 2:18pm
outpost-website Ready Ready Preview, Comment Mar 10, 2026 2:18pm

Request Review

@alexluong alexluong merged commit 82abcc0 into main Mar 10, 2026
5 checks passed
@alexluong alexluong deleted the fix/relax-url-validation branch March 10, 2026 19:07
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Update URL validation regex to support Basic Auth

2 participants