Roadmap to Webhooked v1.0

The roadmap to stable version

Key Objectives

All objectives comes from feedback, suggestions and personal knowledge. You can discuss the v1.0 directly on GitHub.

πŸ• Response Headers - TO DO

Allow editing headers in the response of webhooks with formatting feature.

πŸ• Prometheus Metrics - TO DO

πŸ• Allow customize rate limit error response - TO DO

# Example
  errorResponse:
    statusCode: 429
    body: |
      {
        "error": {
          "code": "RATE_LIMIT_EXCEEDED",
          "message": "Too many requests. Please retry after {{ .ResetTime }}",
          "limit": {{ .Limit }},
          "window": {{ .Window }},
          "retry_after": {{ .RetryAfter }}
        }
      }

πŸ• Send back ratelimit information on headers - TO DO

Rate limit information in response headers:

X-RateLimit-Limit: 1000
X-RateLimit-Remaining: 950
X-RateLimit-Reset: 1609459200

πŸ• Per wbhook throttling - TO DO

Different limits based on paths:

# Per-webhook rate limits
webhooks:
  - name: free-tier
    throttling:
      maxRequests: 100
      window: 3600
  
  - name: premium-tier
    throttling:
      maxRequests: 10000
      window: 3600

πŸ• Advanced Throttling - TO DO

Different limits for different times:

throttling:
  # Time-based rules
  timeRules:
    - schedule: "0 9-17 * * MON-FRI"  # Business hours
      maxRequests: 1000
      window: 60
    - schedule: "0 0-23 * * SAT,SUN"  # Weekends
      maxRequests: 500
      window: 60

πŸ• Allow custom metrics labels - TO DO

# Custom labels
metrics:
  labels:
    environment: production
    region: us-east-1
    team: platform

πŸ• [STORAGE][Redis] Allow formatting and valuable of key - TO DO

πŸ• [STORAGE][Redis] Allow usage of redis clusters (nodes) - TO DO

πŸ• [STORAGE][Redis] Allow setting the command used - TO DO

πŸ• [STORAGE][Redis] Allow passing TTL - TO DO

πŸ• [STORAGE][Redis] Retry mechanism - TO DO

πŸ• [STORAGE][Postgres] Allow formatting and valuable of query - TO DO

πŸ• [STORAGE][Postgres] Allow connection pooling - TO DO

πŸ• [STORAGE][Postgres] Retry mechanism - TO DO

πŸ• [STORAGE][RabbitMQ] Allow formatting and valuable of queue name - TO DO

πŸ• [STORAGE][RabbitMQ] Allow passing args / headers - TO DO

βœ… Function Library - DONE

Use an external library (selected sprout) to provide a complete list of tempalte functions

Last updated