Skip to content

Webhook delivery proxy #504

@alexluong

Description

@alexluong

Is your feature request related to a problem? Please describe.
There are folks already with some sort of outbound webhook implementation where the outgoing webhooks are coming from a static IP. We should support the ability to route outgoing requests through a proxy for easier migration path without interruption to end-users.

Describe the solution you'd like
Golang http pkg has built-in support for proxy.

client := &http.Client{
    Transport: &http.Transport{
        Proxy: http.ProxyURL(proxyURL),
    },
}

With that said, the default behavior will already support envs HTTP_PROXY and HTTPS_PROXY (source)

Image

From Outpost, we need to confirm our HTTP clients use the default transport or ProxyFromEnvironment.

Describe alternatives you've considered
N/A

Additional Context

Questions:

  • I assume this is only relevant for webhook destination. Is this correct or is there any further consideration that I'm not aware of?
  • If we use HTTP_PROXY/HTTPS_PROXY, it will change the behavior of all outgoing requests. Should we treat the webhook delivery in a custom way so that other network traffic is not affected if not necessary. So in essence, we can introduce something like DESTINATION_WEBHOOK_HTTP_PROXY for example?

From my POV I'm leaning towards a dedicated env variable such as DESTINATION_WEBHOOK_HTTP_PROXY so this behavior is more intentional and also it won't affect the network traffic of other workflow unnecessarily.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    Status

    Backlog

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions