Skip to content

feat(sqs): add SQS ingress for queue-based message processing#2

Merged
NaxYo merged 2 commits intomainfrom
nax/sqs-ingress
Jan 22, 2026
Merged

feat(sqs): add SQS ingress for queue-based message processing#2
NaxYo merged 2 commits intomainfrom
nax/sqs-ingress

Conversation

@NaxYo
Copy link
Owner

@NaxYo NaxYo commented Jan 22, 2026

Summary

  • Add SQS as a third ingress type alongside webhook and cron triggers
  • Consume messages from AWS SQS queue with configurable rate limiting (10 msgs/5min default)
  • Route messages to triggers via MessageAttributes.trigger matching trigger ID
  • Unify Tunnel and SQS configuration into a single Settings modal with tabs
  • Remove status cards from main dashboard, add settings gear button in header

Changes

SQS Ingress

  • New src/lib/sqs/consumer.ts - SQS polling consumer with rate limiting
  • Add processSqs() function to pipeline processor
  • Add SqsSchema to config schema, type: 'sqs' for triggers
  • Auto-infer AWS region from queue URL
  • Handle API Gateway JSON string body format

UI Improvements

  • New unified SettingsModal with tabbed interface for Tunnel/SQS config
  • Fix tabs active state styling for dark mode
  • Remove Tunnel/SQS polling from main refresh loop (fetch only when modal opens)

Test plan

  • All 97 tests pass
  • Build succeeds
  • Verify SQS consumer connects and processes messages
  • Verify settings modal opens and saves configurations correctly

🤖 Generated with Claude Code

NaxYo and others added 2 commits January 21, 2026 18:06
…essing

Add SQS as a third trigger type alongside webhook and cron. Messages are
routed to triggers via the `trigger` message attribute matching trigger ID.

Features:
- Poll-based consumer with long polling support
- Region auto-inferred from queue URL
- Rate limiting (default: 10 messages per 5 minutes)
- Auto-parse JSON string bodies (API Gateway compatibility)
- Hot-reload on config changes
- Full UI support with config modal and status card

Config example:
```yaml
sqs:
  enabled: true
  queue_url: https://sqs.us-east-1.amazonaws.com/123456789/queue
```

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Replace separate tunnel/SQS status cards with settings gear button
- Create unified SettingsModal with tabbed interface for both configs
- Fix tabs active state styling for dark mode (use correct data-state selector)
- Remove tunnel/SQS polling from main refresh loop (fetch only when modal opens)
- Default "enabled" checkbox to unchecked when no config exists

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
@NaxYo NaxYo merged commit 03771d1 into main Jan 22, 2026
1 check passed
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.

1 participant