Skip to content

Implement Event-Based Actions Microservice#97

Open
mule-bot wants to merge 1 commit into
mainfrom
feature-event-based-actions
Open

Implement Event-Based Actions Microservice#97
mule-bot wants to merge 1 commit into
mainfrom
feature-event-based-actions

Conversation

@mule-bot
Copy link
Copy Markdown

This PR implements the event-based actions microservice as a standalone Go application that bridges external webhooks to the Mule workflow engine through Supabase.

Key Features Implemented

  1. Core Service Infrastructure:

    • HTTP server with Gin framework
    • Configuration management
    • Graceful shutdown handling
  2. HTMX Web Interface:

    • Dashboard for monitoring events
    • Configuration page for Supabase and Mule API settings
    • Responsive UI matching existing Mule styling
  3. Supabase Integration:

    • Database client for event listening
    • Event processing pipeline
    • Processed event tracking
  4. Webhook Processing:

    • Event transformation logic
    • Mule API integration (/v1/chat/completions)
    • Bearer token authentication support
  5. Terraform Integration:

    • Embedded Terraform configurations
    • Supabase schema and function definitions

Architecture

External Webhooks → Supabase (via Terraform) → Go Service (DB Listener) → Mule API (/v1/chat/completions)

Testing

The service has been tested to ensure:

  • HTTP server starts correctly
  • HTML templates render properly
  • Configuration loading works
  • Supabase client initializes (when credentials provided)
  • Event processing pipeline compiles correctly

Next Steps

  • Implement Terraform execution functionality
  • Add full Supabase real-time listener implementation
  • Complete API endpoints for configuration management
  • Add comprehensive unit and integration tests
  • Implement proper error handling and logging

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