Gateway Pools is an enterprise feature. Self-hosted users can contact
sales@infisical.com to purchase an enterprise
license.
How it works
- You create a Gateway Pool and add multiple gateways that share network access to the same resources.
- When configuring a consumer (e.g., Kubernetes Auth), you select the pool instead of an individual gateway.
- At request time, the platform sends the work to whichever healthy gateway in the pool is handling the fewest connections.
- If that gateway cannot be reached, the request is retried on another member and the failed gateway is skipped for the next minute.
- If a gateway goes down, subsequent requests route through the remaining healthy gateways.
Creating a Gateway pool
- Navigate to Organization Settings > Networking > Gateways.
- Click the Gateway Pools tab.
- Click Create Pool.
- Enter a name for the pool and click Create Pool.
Adding gateways to a pool
- In the Gateway Pools tab, click on a pool to open its detail view.
- Click Add Gateway and select a gateway from the dropdown.
- Repeat for each gateway you want to add.
Using a pool in a consumer config
Anywhere you configure a gateway, the gateway picker dropdown shows both individual gateways and gateway pools. Pools are listed under the “Gateway Pools” section with an HA (high availability) badge and health status. When you select a pool, the platform validates connectivity through one of its healthy gateways before saving.Gateway selection
Each gateway reports how many connections it is currently handling. When a request is routed through a pool, the platform picks the healthy member handling the fewest, so a gateway holding several long-lived sessions stops attracting new work until the others catch up. Members handling the same amount are chosen between at random. On an idle pool every member is equal, so traffic spreads evenly. Because the count comes from the gateway itself, it includes work the platform does not proxy, such as a PAM session opened from the CLI.Failover
If the platform cannot establish a connection to the gateway it chose, it retries the request on another member of the pool, then marks the failed gateway as suspect and skips it for the next minute. This covers the window where a gateway has stopped responding but its last heartbeat is still recent enough to look healthy. Only failures that occur before the platform reaches your resource are retried. If the connection succeeds and the resource itself rejects the request, for example bad credentials, that error is returned to you as-is and is never retried on another gateway. This is deliberate: an operation that changes something on the target, such as rotating a password, must not run twice.Pool health
Each pool displays an aggregate health status based on its gateways:- Green (e.g., “3/3 healthy”) - All gateways are healthy
- Yellow (e.g., “2/3 healthy”) - Some gateways are unhealthy
- Red (e.g., “0/3 healthy”) - All gateways are unhealthy
FAQ
Can I delete a pool that is in use?
Can I delete a pool that is in use?
No. A pool cannot be deleted if it is referenced by any consumer configurations (e.g., Kubernetes Auth). You must first update those configurations to use a different gateway or pool before deleting.
How can I see what is using a pool?
How can I see what is using a pool?
Each pool shows a count of connected consumer configurations in the table. Click the count to see the full list with links to each resource.
What happens if all gateways in a pool are unhealthy?
What happens if all gateways in a pool are unhealthy?
The request fails with a descriptive error. You should ensure at least one gateway in the pool is online and has a recent heartbeat.
Can a gateway belong to multiple pools?
Can a gateway belong to multiple pools?
Yes. A gateway can belong to as many pools as needed, as long as it has connectivity to the resources served by each pool.