diff --git a/.ct.yaml b/.ct.yaml
new file mode 100644
index 000000000..229030219
--- /dev/null
+++ b/.ct.yaml
@@ -0,0 +1,26 @@
+# Copyright 2024 The Kubernetes Authors.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+---
+remote: origin
+target-branch: main
+
+validate-maintainers: false
+check-version-increment: false
+
+chart-repos:
+ - ingress-nginx=https://kubernetes.github.io/ingress-nginx
+helm-extra-args: --timeout 800s
+
+chart-dirs:
+ - charts
diff --git a/.github/ISSUE_TEMPLATE/cve_report.md b/.github/ISSUE_TEMPLATE/cve_report.md
index 11789d479..79781fa66 100644
--- a/.github/ISSUE_TEMPLATE/cve_report.md
+++ b/.github/ISSUE_TEMPLATE/cve_report.md
@@ -4,8 +4,9 @@ about: CVE reporting for ingress-nginx
title: ''
labels: kind/bug
assignees:
- - strongjz
+ - Gacko
- rikatz
+ - strongjz
---
## Quick start
@@ -65,14 +65,33 @@ It will install the controller in the `ingress-nginx` namespace, creating that n
helm show values ingress-nginx --repo https://kubernetes.github.io/ingress-nginx
```
+!!! attention "Helm install on AWS/GCP/Azure/Other providers"
+ The *ingress-nginx-controller helm-chart is a generic install out of the box*. The default set of helm values is **not** configured for installation on any infra provider. The annotations that are applicable to the cloud provider must be customized by the users.
+ See [AWS LB Controller](https://kubernetes-sigs.github.io/aws-load-balancer-controller/v2.2/guide/service/annotations/).
+ Examples of some annotations needed for the service resource of `--type LoadBalancer` on AWS are below:
+ ```yaml
+ annotations:
+ service.beta.kubernetes.io/aws-load-balancer-scheme: "internet-facing"
+ service.beta.kubernetes.io/aws-load-balancer-backend-protocol: tcp
+ service.beta.kubernetes.io/aws-load-balancer-cross-zone-load-balancing-enabled: "true"
+ service.beta.kubernetes.io/aws-load-balancer-nlb-target-type: "ip"
+ service.beta.kubernetes.io/aws-load-balancer-type: nlb
+ service.beta.kubernetes.io/aws-load-balancer-manage-backend-security-group-rules: "true"
+ service.beta.kubernetes.io/aws-load-balancer-access-log-enabled: "true"
+ service.beta.kubernetes.io/aws-load-balancer-security-groups: "sg-something1 sg-something2"
+ service.beta.kubernetes.io/aws-load-balancer-access-log-s3-bucket-name: "somebucket"
+ service.beta.kubernetes.io/aws-load-balancer-access-log-s3-bucket-prefix: "ingress-nginx"
+ service.beta.kubernetes.io/aws-load-balancer-access-log-emit-interval: "5"
+ ```
+
**If you don't have Helm** or if you prefer to use a YAML manifest, you can run the following command instead:
```console
-kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-v1.10.0/deploy/static/provider/cloud/deploy.yaml
+kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-v1.11.2/deploy/static/provider/cloud/deploy.yaml
```
!!! info
- The YAML manifest in the command above was generated with `helm template`, so you will end up with almost the same
+ The YAML manifest in the command above was generated with `helm template`, so you will end up with almost the same
resources as if you had used Helm to install the controller.
!!! attention
@@ -83,6 +102,7 @@ kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/cont
### Firewall configuration
To check which ports are used by your installation of ingress-nginx, look at the output of `kubectl -n ingress-nginx get pod -o yaml`. In general, you need:
+
- Port 8443 open between all hosts on which the kubernetes nodes are running. This is used for the ingress-nginx [admission controller](https://kubernetes.io/docs/reference/access-authn-authz/admission-controllers/).
- Port 80 (for HTTP) and/or 443 (for HTTPS) open to the public on the kubernetes nodes to which the DNS of your apps are pointing.
@@ -94,7 +114,7 @@ A few pods should start in the `ingress-nginx` namespace:
kubectl get pods --namespace=ingress-nginx
```
-After a while, they should all be running. The following command will wait for the ingress controller pod to be up,
+After a while, they should all be running. The following command will wait for the ingress controller pod to be up,
running, and ready:
```console
@@ -104,7 +124,6 @@ kubectl wait --namespace ingress-nginx \
--timeout=120s
```
-
### Local testing
Let's create a simple web server and the associated service:
@@ -135,6 +154,7 @@ kubectl port-forward --namespace=ingress-nginx service/ingress-nginx-controller
[This issue](https://github.com/kubernetes/ingress-nginx/issues/10014#issuecomment-1567791549described) shows a typical DNS problem and its solution.
At this point, you can access your deployment using curl ;
+
```console
curl --resolve demo.localdev.me:8080:127.0.0.1 http://demo.localdev.me:8080
```
@@ -143,7 +163,7 @@ You should see a HTML response containing text like **"It works!"**.
### Online testing
-If your Kubernetes cluster is a "real" cluster that supports services of type `LoadBalancer`, it will have allocated an
+If your Kubernetes cluster is a "real" cluster that supports services of type `LoadBalancer`, it will have allocated an
external IP address or FQDN to the ingress controller.
You can see that IP address or FQDN with the following command:
@@ -152,10 +172,10 @@ You can see that IP address or FQDN with the following command:
kubectl get service ingress-nginx-controller --namespace=ingress-nginx
```
-It will be the `EXTERNAL-IP` field. If that field shows ``, this means that your Kubernetes cluster wasn't
+It will be the `EXTERNAL-IP` field. If that field shows ``, this means that your Kubernetes cluster wasn't
able to provision the load balancer (generally, this is because it doesn't support services of type `LoadBalancer`).
-Once you have the external IP address (or FQDN), set up a DNS record pointing to it. Then you can create an ingress
+Once you have the external IP address (or FQDN), set up a DNS record pointing to it. Then you can create an ingress
resource. The following example assumes that you have set up a DNS record for `www.demo.io`:
```console
@@ -164,13 +184,13 @@ kubectl create ingress demo --class=nginx \
```
Alternatively, the above command can be rewritten as follows for the ```--rule``` command and below.
+
```console
kubectl create ingress demo --class=nginx \
--rule www.demo.io/=demo:80
```
-
-You should then be able to see the "It works!" page when you connect to http://www.demo.io/. Congratulations,
+You should then be able to see the "It works!" page when you connect to . Congratulations,
you are serving a public website hosted on a Kubernetes cluster! 🎉
## Environment-specific instructions
@@ -202,19 +222,19 @@ Kubernetes is available in Docker Desktop:
- Mac, from [version 18.06.0-ce](https://docs.docker.com/docker-for-mac/release-notes/#stable-releases-of-2018)
- Windows, from [version 18.06.0-ce](https://docs.docker.com/docker-for-windows/release-notes/#docker-community-edition-18060-ce-win70-2018-07-25)
-First, make sure that Kubernetes is enabled in the Docker settings. The command `kubectl get nodes` should show a
+First, make sure that Kubernetes is enabled in the Docker settings. The command `kubectl get nodes` should show a
single node called `docker-desktop`.
The ingress controller can be installed on Docker Desktop using the default [quick start](#quick-start) instructions.
-On most systems, if you don't have any other service of type `LoadBalancer` bound to port 80, the ingress controller
-will be assigned the `EXTERNAL-IP` of `localhost`, which means that it will be reachable on localhost:80. If that
-doesn't work, you might have to fall back to the `kubectl port-forward` method described in the
+On most systems, if you don't have any other service of type `LoadBalancer` bound to port 80, the ingress controller
+will be assigned the `EXTERNAL-IP` of `localhost`, which means that it will be reachable on localhost:80. If that
+doesn't work, you might have to fall back to the `kubectl port-forward` method described in the
[local testing section](#local-testing).
#### Rancher Desktop
-Rancher Desktop provides Kubernetes and Container Management on the desktop. Kubernetes is enabled by default in Rancher Desktop.
+Rancher Desktop provides Kubernetes and Container Management on the desktop. Kubernetes is enabled by default in Rancher Desktop.
Rancher Desktop uses K3s under the hood, which in turn uses Traefik as the default ingress controller for the Kubernetes cluster. To use Ingress-Nginx Controller in place of the default Traefik, disable Traefik from Preference > Kubernetes menu.
@@ -222,18 +242,18 @@ Once traefik is disabled, the Ingress-Nginx Controller can be installed on Ranch
### Cloud deployments
-If the load balancers of your cloud provider do active healthchecks on their backends (most do), you can change the
-`externalTrafficPolicy` of the ingress controller Service to `Local` (instead of the default `Cluster`) to save an
-extra hop in some cases. If you're installing with Helm, this can be done by adding
+If the load balancers of your cloud provider do active healthchecks on their backends (most do), you can change the
+`externalTrafficPolicy` of the ingress controller Service to `Local` (instead of the default `Cluster`) to save an
+extra hop in some cases. If you're installing with Helm, this can be done by adding
`--set controller.service.externalTrafficPolicy=Local` to the `helm install` or `helm upgrade` command.
-Furthermore, if the load balancers of your cloud provider support the PROXY protocol, you can enable it, and it will
-let the ingress controller see the real IP address of the clients. Otherwise, it will generally see the IP address of
-the upstream load balancer. This must be done both in the ingress controller
-(with e.g. `--set controller.config.use-proxy-protocol=true`) and in the cloud provider's load balancer configuration
+Furthermore, if the load balancers of your cloud provider support the PROXY protocol, you can enable it, and it will
+let the ingress controller see the real IP address of the clients. Otherwise, it will generally see the IP address of
+the upstream load balancer. This must be done both in the ingress controller
+(with e.g. `--set controller.config.use-proxy-protocol=true`) and in the cloud provider's load balancer configuration
to function correctly.
-In the following sections, we provide YAML manifests that enable these options when possible, using the specific
+In the following sections, we provide YAML manifests that enable these options when possible, using the specific
options of various cloud providers.
#### AWS
@@ -242,54 +262,58 @@ In AWS, we use a Network load balancer (NLB) to expose the Ingress-Nginx Control
!!! info
The provided templates illustrate the setup for legacy in-tree service load balancer for AWS NLB.
- AWS provides the documentation on how to use
- [Network load balancing on Amazon EKS](https://docs.aws.amazon.com/eks/latest/userguide/network-load-balancing.html)
+ AWS provides the documentation on how to use
+ [Network load balancing on Amazon EKS](https://docs.aws.amazon.com/eks/latest/userguide/network-load-balancing.html)
with [AWS Load Balancer Controller](https://github.com/kubernetes-sigs/aws-load-balancer-controller).
+
##### Network Load Balancer (NLB)
```console
-kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-v1.10.0/deploy/static/provider/aws/deploy.yaml
+kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-v1.11.2/deploy/static/provider/aws/deploy.yaml
```
##### TLS termination in AWS Load Balancer (NLB)
-By default, TLS is terminated in the ingress controller. But it is also possible to terminate TLS in the Load Balancer.
+By default, TLS is terminated in the ingress controller. But it is also possible to terminate TLS in the Load Balancer.
This section explains how to do that on AWS using an NLB.
-1. Download the [deploy.yaml](https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-v1.10.0/deploy/static/provider/aws/nlb-with-tls-termination/deploy.yaml) template
+1. Download the [deploy.yaml](https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-v1.11.2/deploy/static/provider/aws/nlb-with-tls-termination/deploy.yaml) template
```console
- wget https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-v1.10.0/deploy/static/provider/aws/nlb-with-tls-termination/deploy.yaml
+ wget https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-v1.11.2/deploy/static/provider/aws/nlb-with-tls-termination/deploy.yaml
```
2. Edit the file and change the VPC CIDR in use for the Kubernetes cluster:
+
```
proxy-real-ip-cidr: XXX.XXX.XXX/XX
```
3. Change the AWS Certificate Manager (ACM) ID as well:
+
```
arn:aws:acm:us-west-2:XXXXXXXX:certificate/XXXXXX-XXXXXXX-XXXXXXX-XXXXXXXX
```
4. Deploy the manifest:
+
```console
kubectl apply -f deploy.yaml
```
##### NLB Idle Timeouts
-Idle timeout value for TCP flows is 350 seconds and
+Idle timeout value for TCP flows is 350 seconds and
[cannot be modified](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/network-load-balancers.html#connection-idle-timeout).
-For this reason, you need to ensure the
-[keepalive_timeout](https://nginx.org/en/docs/http/ngx_http_core_module.html#keepalive_timeout)
+For this reason, you need to ensure the
+[keepalive_timeout](https://nginx.org/en/docs/http/ngx_http_core_module.html#keepalive_timeout)
value is configured less than 350 seconds to work as expected.
By default, NGINX `keepalive_timeout` is set to `75s`.
-More information with regard to timeouts can be found in the
+More information with regard to timeouts can be found in the
[official AWS documentation](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/network-load-balancers.html#connection-idle-timeout)
#### GCE-GKE
@@ -304,18 +328,17 @@ kubectl create clusterrolebinding cluster-admin-binding \
Then, the ingress controller can be installed like this:
-
```console
-kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-v1.10.0/deploy/static/provider/cloud/deploy.yaml
+kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-v1.11.2/deploy/static/provider/cloud/deploy.yaml
```
!!! warning
- For private clusters, you will need to either add a firewall rule that allows master nodes access to
- port `8443/tcp` on worker nodes, or change the existing rule that allows access to port `80/tcp`, `443/tcp` and
- `10254/tcp` to also allow access to port `8443/tcp`. More information can be found in the
+ For private clusters, you will need to either add a firewall rule that allows master nodes access to
+ port `8443/tcp` on worker nodes, or change the existing rule that allows access to port `80/tcp`, `443/tcp` and
+ `10254/tcp` to also allow access to port `8443/tcp`. More information can be found in the
[Official GCP Documentation](https://cloud.google.com/load-balancing/docs/tcp/setting-up-tcp#config-hc-firewall).
- See the [GKE documentation](https://cloud.google.com/kubernetes-engine/docs/how-to/private-clusters#add_firewall_rules)
+ See the [GKE documentation](https://cloud.google.com/kubernetes-engine/docs/how-to/private-clusters#add_firewall_rules)
on adding rules and the [Kubernetes issue](https://github.com/kubernetes/kubernetes/issues/79739) for more detail.
Proxy-protocol is supported in GCE check the [Official Documentations on how to enable.](https://cloud.google.com/load-balancing/docs/tcp/setting-up-tcp#proxy-protocol)
@@ -323,7 +346,7 @@ Proxy-protocol is supported in GCE check the [Official Documentations on how to
#### Azure
```console
-kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-v1.10.0/deploy/static/provider/cloud/deploy.yaml
+kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-v1.11.2/deploy/static/provider/cloud/deploy.yaml
```
More information with regard to Azure annotations for ingress controller can be found in the [official AKS documentation](https://docs.microsoft.com/en-us/azure/aks/ingress-internal-ip#create-an-ingress-controller).
@@ -331,16 +354,18 @@ More information with regard to Azure annotations for ingress controller can be
#### Digital Ocean
```console
-kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-v1.10.0/deploy/static/provider/do/deploy.yaml
+kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-v1.11.2/deploy/static/provider/do/deploy.yaml
```
-- By default the service object of the ingress-nginx-controller for Digital-Ocean, only configures one annotation. Its this one `service.beta.kubernetes.io/do-loadbalancer-enable-proxy-protocol: "true"`. While this makes the service functional, it was reported that the Digital-Ocean LoadBalancer graphs shows `no data`, unless a few other annotations are also configured. Some of these other annotations require values that can not be generic and hence not forced in a out-of-the-box installation. These annotations and a discussion on them is well documented in [this issue](https://github.com/kubernetes/ingress-nginx/issues/8965). Please refer to the issue to add annotations, with values specific to user, to get graphs of the DO-LB populated with data.
+- By default the service object of the ingress-nginx-controller for Digital-Ocean, only configures one annotation. Its this one `service.beta.kubernetes.io/do-loadbalancer-enable-proxy-protocol: "true"`. While this makes the service functional, it was reported that the Digital-Ocean LoadBalancer graphs shows `no data`, unless a few other annotations are also configured. Some of these other annotations require values that can not be generic and hence not forced in a out-of-the-box installation. These annotations and a discussion on them is well documented in [this issue](https://github.com/kubernetes/ingress-nginx/issues/8965). Please refer to the issue to add annotations, with values specific to user, to get graphs of the DO-LB populated with data.
#### Scaleway
```console
-kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-v1.10.0/deploy/static/provider/scw/deploy.yaml
+kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-v1.11.2/deploy/static/provider/scw/deploy.yaml
```
+Refer to the [dedicated tutorial](https://www.scaleway.com/en/docs/tutorials/proxy-protocol-v2-load-balancer/#configuring-proxy-protocol-for-ingress-nginx) in the Scaleway documentation for configuring the proxy protocol for ingress-nginx with the Scaleway load balancer.
+
#### Exoscale
@@ -348,17 +373,17 @@ kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/cont
kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/main/deploy/static/provider/exoscale/deploy.yaml
```
-The full list of annotations supported by Exoscale is available in the Exoscale Cloud Controller Manager
+The full list of annotations supported by Exoscale is available in the Exoscale Cloud Controller Manager
[documentation](https://github.com/exoscale/exoscale-cloud-controller-manager/blob/master/docs/service-loadbalancer.md).
#### Oracle Cloud Infrastructure
```console
-kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-v1.10.0/deploy/static/provider/cloud/deploy.yaml
+kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-v1.11.2/deploy/static/provider/cloud/deploy.yaml
```
-A
-[complete list of available annotations for Oracle Cloud Infrastructure](https://github.com/oracle/oci-cloud-controller-manager/blob/master/docs/load-balancer-annotations.md)
+A
+[complete list of available annotations for Oracle Cloud Infrastructure](https://github.com/oracle/oci-cloud-controller-manager/blob/master/docs/load-balancer-annotations.md)
can be found in the [OCI Cloud Controller Manager](https://github.com/oracle/oci-cloud-controller-manager) documentation.
#### OVHcloud
@@ -373,15 +398,15 @@ You can find the [complete tutorial](https://docs.ovh.com/gb/en/kubernetes/insta
### Bare metal clusters
-This section is applicable to Kubernetes clusters deployed on bare metal servers, as well as "raw" VMs where Kubernetes
+This section is applicable to Kubernetes clusters deployed on bare metal servers, as well as "raw" VMs where Kubernetes
was installed manually, using generic Linux distros (like CentOS, Ubuntu...)
-For quick testing, you can use a
-[NodePort](https://kubernetes.io/docs/concepts/services-networking/service/#type-nodeport).
+For quick testing, you can use a
+[NodePort](https://kubernetes.io/docs/concepts/services-networking/service/#type-nodeport).
This should work on almost every cluster, but it will typically use a port in the range 30000-32767.
```console
-kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-v1.10.0/deploy/static/provider/baremetal/deploy.yaml
+kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-v1.11.2/deploy/static/provider/baremetal/deploy.yaml
```
For more information about bare metal deployments (and how to use port 80 instead of a random port in the 30000-32767 range),
@@ -401,20 +426,20 @@ kubectl exec $POD_NAME -n $POD_NAMESPACE -- /nginx-ingress-controller --version
### Scope
-By default, the controller watches Ingress objects from all namespaces. If you want to change this behavior,
-use the flag `--watch-namespace` or check the Helm chart value `controller.scope` to limit the controller to a single
+By default, the controller watches Ingress objects from all namespaces. If you want to change this behavior,
+use the flag `--watch-namespace` or check the Helm chart value `controller.scope` to limit the controller to a single
namespace.
-See also
-[“How to easily install multiple instances of the Ingress NGINX controller in the same cluster”](https://kubernetes.github.io/ingress-nginx/#how-to-easily-install-multiple-instances-of-the-ingress-nginx-controller-in-the-same-cluster)
+See also
+[“How to easily install multiple instances of the Ingress NGINX controller in the same cluster”](https://kubernetes.github.io/ingress-nginx/#how-to-easily-install-multiple-instances-of-the-ingress-nginx-controller-in-the-same-cluster)
for more details.
### Webhook network access
!!! warning
The controller uses an [admission webhook](https://kubernetes.io/docs/reference/access-authn-authz/extensible-admission-controllers/)
- to validate Ingress definitions. Make sure that you don't have
- [Network policies](https://kubernetes.io/docs/concepts/services-networking/network-policies/)
+ to validate Ingress definitions. Make sure that you don't have
+ [Network policies](https://kubernetes.io/docs/concepts/services-networking/network-policies/)
or additional firewalls preventing connections from the API server to the `ingress-nginx-controller-admission` service.
### Certificate generation
@@ -435,22 +460,24 @@ You can wait until it is ready to run the next command:
### Running on Kubernetes versions older than 1.19
-Ingress resources evolved over time. They started with `apiVersion: extensions/v1beta1`,
+Ingress resources evolved over time. They started with `apiVersion: extensions/v1beta1`,
then moved to `apiVersion: networking.k8s.io/v1beta1` and more recently to `apiVersion: networking.k8s.io/v1`.
Here is how these Ingress versions are supported in Kubernetes:
+
- before Kubernetes 1.19, only `v1beta1` Ingress resources are supported
- from Kubernetes 1.19 to 1.21, both `v1beta1` and `v1` Ingress resources are supported
- in Kubernetes 1.22 and above, only `v1` Ingress resources are supported
And here is how these Ingress versions are supported in Ingress-Nginx Controller:
+
- before version 1.0, only `v1beta1` Ingress resources are supported
- in version 1.0 and above, only `v1` Ingress resources are
-As a result, if you're running Kubernetes 1.19 or later, you should be able to use the latest version of the NGINX
-Ingress Controller; but if you're using an old version of Kubernetes (1.18 or earlier) you will have to use version 0.X
+As a result, if you're running Kubernetes 1.19 or later, you should be able to use the latest version of the NGINX
+Ingress Controller; but if you're using an old version of Kubernetes (1.18 or earlier) you will have to use version 0.X
of the Ingress-Nginx Controller (e.g. version 0.49).
-The Helm chart of the Ingress-Nginx Controller switched to version 1 in version 4 of the chart. In other words, if
-you're running Kubernetes 1.19 or earlier, you should use version 3.X of the chart (this can be done by adding
+The Helm chart of the Ingress-Nginx Controller switched to version 1 in version 4 of the chart. In other words, if
+you're running Kubernetes 1.19 or earlier, you should use version 3.X of the chart (this can be done by adding
`--version='<4'` to the `helm install` command ).
diff --git a/docs/developer-guide/getting-started.md b/docs/developer-guide/getting-started.md
index 4b7ed46f0..e4bb661d4 100644
--- a/docs/developer-guide/getting-started.md
+++ b/docs/developer-guide/getting-started.md
@@ -19,6 +19,10 @@ Install [Go 1.14](https://golang.org/dl/) or later.
Install [Docker](https://docs.docker.com/engine/install/) (v19.03.0 or later with experimental feature on)
+Install [kubectl](https://kubernetes.io/docs/tasks/tools/) (1.24.0 or higher)
+
+Install [Kind](https://kind.sigs.k8s.io/)
+
!!! important
The majority of make tasks run as docker containers
diff --git a/docs/e2e-tests.md b/docs/e2e-tests.md
index b836fff6e..f288ec82f 100644
--- a/docs/e2e-tests.md
+++ b/docs/e2e-tests.md
@@ -80,7 +80,8 @@ Do not try to edit it manually.
- [should validate auth-tls-verify-client](https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/authtls.go#L208)
- [should return 403 using auth-tls-match-cn with no matching CN from client](https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/authtls.go#L267)
- [should return 200 using auth-tls-match-cn with matching CN from client](https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/authtls.go#L296)
-- [should return 200 using auth-tls-match-cn where atleast one of the regex options matches CN from client](https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/authtls.go#L325)
+- [should reload the nginx config when auth-tls-match-cn is updated](https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/authtls.go#L325)
+- [should return 200 using auth-tls-match-cn where atleast one of the regex options matches CN from client](https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/authtls.go#L368)
### [backend-protocol](https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/backendprotocol.go#L29)
- [should set backend protocol to https:// and use proxy_pass](https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/backendprotocol.go#L36)
- [should set backend protocol to https:// and use proxy_pass with lowercase annotation](https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/backendprotocol.go#L51)
@@ -148,6 +149,10 @@ Do not try to edit it manually.
- [should allow correct origins - missing subdomain + origin with wildcard origin and correct origin](https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/cors.go#L540)
- [should allow - missing origins (should allow all origins)](https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/cors.go#L576)
- [should allow correct origin but not others - cors allow origin annotations contain trailing comma](https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/cors.go#L636)
+### [custom-headers-*](https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/customheaders.go#L33)
+- [should return status code 200 when no custom-headers is configured](https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/customheaders.go#L40)
+- [should return status code 503 when custom-headers is configured with an invalid secret](https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/customheaders.go#L57)
+- [more_set_headers 'My-Custom-Header' '42';](https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/customheaders.go#L78)
### [custom-http-errors](https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/customhttperrors.go#L34)
- [configures Nginx correctly](https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/customhttperrors.go#L41)
### [default-backend](https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/default_backend.go#L29)
@@ -170,11 +175,13 @@ Do not try to edit it manually.
- [should redirect from www HTTPS to HTTPS](https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/fromtowwwredirect.go#L64)
### [annotation-global-rate-limit](https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/globalratelimit.go#L30)
- [generates correct configuration](https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/globalratelimit.go#L38)
-### [backend-protocol - GRPC](https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/grpc.go#L40)
-- [should use grpc_pass in the configuration file](https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/grpc.go#L43)
-- [should return OK for service with backend protocol GRPC](https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/grpc.go#L68)
-- [authorization metadata should be overwritten by external auth response headers](https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/grpc.go#L129)
-- [should return OK for service with backend protocol GRPCS](https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/grpc.go#L190)
+### [backend-protocol - GRPC](https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/grpc.go#L45)
+- [should use grpc_pass in the configuration file](https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/grpc.go#L48)
+- [should return OK for service with backend protocol GRPC](https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/grpc.go#L71)
+- [authorization metadata should be overwritten by external auth response headers](https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/grpc.go#L132)
+- [should return OK for service with backend protocol GRPCS](https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/grpc.go#L193)
+- [should return OK when request not exceed timeout](https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/grpc.go#L266)
+- [should return Error when request exceed timeout](https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/grpc.go#L309)
### [http2-push-preload](https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/http2pushpreload.go#L27)
- [enable the http2-push-preload directive](https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/http2pushpreload.go#L34)
### [allowlist-source-range](https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/ipallowlist.go#L27)
@@ -261,6 +268,9 @@ Do not try to edit it manually.
### [x-forwarded-prefix](https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/xforwardedprefix.go#L28)
- [should set the X-Forwarded-Prefix to the annotation value](https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/xforwardedprefix.go#L35)
- [should not add X-Forwarded-Prefix if the annotation value is empty](https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/xforwardedprefix.go#L57)
+### [[CGroups] cgroups](https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/cgroups/cgroups.go#L32)
+- [detects cgroups version v1](https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/cgroups/cgroups.go#L40)
+- [detect cgroups version v2](https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/cgroups/cgroups.go#L83)
### [Debug CLI](https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/dbg/main.go#L29)
- [should list the backend servers](https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/dbg/main.go#L37)
- [should get information for a specific backend server](https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/dbg/main.go#L56)
@@ -275,6 +285,8 @@ Do not try to edit it manually.
- [should return a self generated SSL certificate](https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/defaultbackend/ssl.go#L29)
### [[Default Backend] change default settings](https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/defaultbackend/with_hosts.go#L30)
- [should apply the annotation to the default backend](https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/defaultbackend/with_hosts.go#L38)
+### [[Disable Leader] Routing works when leader election was disabled](https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/disableleaderelection/disable_leader.go#L28)
+- [should create multiple ingress routings rules when leader election has disabled](https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/disableleaderelection/disable_leader.go#L35)
### [[Endpointslices] long service name](https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/endpointslices/longname.go#L29)
- [should return 200 when service name has max allowed number of characters 63](https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/endpointslices/longname.go#L38)
### [[TopologyHints] topology aware routing](https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/endpointslices/topology.go#L34)
@@ -295,6 +307,10 @@ Do not try to edit it manually.
- [should choose the correct location](https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/ingress/pathtype_mixed.go#L39)
### [[Ingress] [PathType] prefix checks](https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/ingress/pathtype_prefix.go#L28)
- [should return 404 when prefix /aaa does not match request /aaaccc](https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/ingress/pathtype_prefix.go#L35)
+- [should test prefix path using simple regex pattern for /id/{int}](https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/ingress/pathtype_prefix.go#L72)
+- [should test prefix path using regex pattern for /id/{int} ignoring non-digits characters at end of string](https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/ingress/pathtype_prefix.go#L113)
+- [should test prefix path using fixed path size regex pattern /id/{int}{3}](https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/ingress/pathtype_prefix.go#L142)
+- [should correctly route multi-segment path patterns](https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/ingress/pathtype_prefix.go#L177)
### [[Ingress] definition without host](https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/ingress/without_host.go#L31)
- [should set ingress details variables for ingresses without a host](https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/ingress/without_host.go#L34)
- [should set ingress details variables for ingresses with host without IngressRuleValue, only Backend](https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/ingress/without_host.go#L55)
@@ -388,6 +404,7 @@ Do not try to edit it manually.
### [Geoip2](https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/settings/geoip2.go#L36)
- [should include geoip2 line in config when enabled and db file exists](https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/settings/geoip2.go#L45)
- [should only allow requests from specific countries](https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/settings/geoip2.go#L69)
+- [should up and running nginx controller using autoreload flag](https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/settings/geoip2.go#L128)
### [[Security] block-*](https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/settings/global_access_block.go#L28)
- [should block CIDRs defined in the ConfigMap](https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/settings/global_access_block.go#L38)
- [should block User-Agents defined in the ConfigMap](https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/settings/global_access_block.go#L55)
@@ -405,6 +422,8 @@ Do not try to edit it manually.
- [should have worker_rlimit_nofile option and be independent on amount of worker processes](https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/settings/global_options.go#L37)
### [settings-global-rate-limit](https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/settings/globalratelimit.go#L30)
- [generates correct NGINX configuration](https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/settings/globalratelimit.go#L38)
+### [GRPC](https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/settings/grpc.go#L39)
+- [should set the correct GRPC Buffer Size](https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/settings/grpc.go#L42)
### [gzip](https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/settings/gzip.go#L30)
- [should be disabled by default](https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/settings/gzip.go#L40)
- [should be enabled with default settings](https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/settings/gzip.go#L56)
diff --git a/docs/examples/customization/custom-errors/custom-default-backend.helm.values.yaml b/docs/examples/customization/custom-errors/custom-default-backend.helm.values.yaml
index 708a93831..e6c3e2169 100644
--- a/docs/examples/customization/custom-errors/custom-default-backend.helm.values.yaml
+++ b/docs/examples/customization/custom-errors/custom-default-backend.helm.values.yaml
@@ -5,8 +5,8 @@ defaultBackend:
enabled: true
image:
registry: registry.k8s.io
- image: ingress-nginx/nginx-errors
- tag: "v20230505@sha256:3600dcd1bbd0d05959bb01af4b272714e94d22d24a64e91838e7183c80e53f7f"
+ image: ingress-nginx/custom-error-pages
+ tag: v1.0.1@sha256:d8ab7de384cf41bdaa696354e19f1d0efbb0c9ac69f8682ffc0cc008a252eb76
extraVolumes:
- name: custom-error-pages
configMap:
diff --git a/docs/examples/customization/custom-errors/custom-default-backend.yaml b/docs/examples/customization/custom-errors/custom-default-backend.yaml
index e606c5b62..a47805ad7 100644
--- a/docs/examples/customization/custom-errors/custom-default-backend.yaml
+++ b/docs/examples/customization/custom-errors/custom-default-backend.yaml
@@ -36,7 +36,7 @@ spec:
spec:
containers:
- name: nginx-error-server
- image: registry.k8s.io/ingress-nginx/nginx-errors:v20230505@sha256:3600dcd1bbd0d05959bb01af4b272714e94d22d24a64e91838e7183c80e53f7f
+ image: registry.k8s.io/ingress-nginx/custom-error-pages:v1.0.1@sha256:d8ab7de384cf41bdaa696354e19f1d0efbb0c9ac69f8682ffc0cc008a252eb76
ports:
- containerPort: 8080
# Setting the environment variable DEBUG we can see the headers sent
diff --git a/docs/examples/grpc/README.md b/docs/examples/grpc/README.md
index 508b23fb8..23126c345 100644
--- a/docs/examples/grpc/README.md
+++ b/docs/examples/grpc/README.md
@@ -166,11 +166,9 @@ This example demonstrates how to route traffic to a gRPC service through the Ing
### Notes on using response/request streams
+> `grpc_read_timeout` and `grpc_send_timeout` will be set as `proxy_read_timeout` and `proxy_send_timeout` when you set backend protocol to `GRPC` or `GRPCS`.
+
1. If your server only does response streaming and you expect a stream to be open longer than 60 seconds, you will have to change the `grpc_read_timeout` to accommodate this.
2. If your service only does request streaming and you expect a stream to be open longer than 60 seconds, you have to change the
`grpc_send_timeout` and the `client_body_timeout`.
3. If you do both response and request streaming with an open stream longer than 60 seconds, you have to change all three timeouts: `grpc_read_timeout`, `grpc_send_timeout` and `client_body_timeout`.
-
-Values for the timeouts must be specified as e.g. `"1200s"`.
-
-> On the most recent versions of ingress-nginx, changing these timeouts requires using the `nginx.ingress.kubernetes.io/server-snippet` annotation. There are plans for future releases to allow using the Kubernetes annotations to define each timeout separately.
diff --git a/docs/faq.md b/docs/faq.md
index 253378c65..020474d5c 100644
--- a/docs/faq.md
+++ b/docs/faq.md
@@ -1,33 +1,190 @@
# FAQ
+## Multiple controller in one cluster
+
+Question - How can I easily install multiple instances of the ingress-nginx controller in the same cluster?
+
+You can install them in different namespaces.
+
+- Create a new namespace
+
+ ```
+ kubectl create namespace ingress-nginx-2
+ ```
+
+- Use Helm to install the additional instance of the ingress controller
+- Ensure you have Helm working (refer to the [Helm documentation](https://helm.sh/docs/))
+- We have to assume that you have the helm repo for the ingress-nginx controller already added to your Helm config.
+ But, if you have not added the helm repo then you can do this to add the repo to your helm config;
+
+ ```
+ helm repo add ingress-nginx https://kubernetes.github.io/ingress-nginx
+ ```
+
+- Make sure you have updated the helm repo data;
+
+ ```
+ helm repo update
+ ```
+
+- Now, install an additional instance of the ingress-nginx controller like this:
+
+ ```
+ helm install ingress-nginx-2 ingress-nginx/ingress-nginx \
+ --namespace ingress-nginx-2 \
+ --set controller.ingressClassResource.name=nginx-two \
+ --set controller.ingressClass=nginx-two \
+ --set controller.ingressClassResource.controllerValue="example.com/ingress-nginx-2" \
+ --set controller.ingressClassResource.enabled=true \
+ --set controller.ingressClassByName=true
+ ```
+
+If you need to install yet another instance, then repeat the procedure to create a new namespace,
+change the values such as names & namespaces (for example from "-2" to "-3"), or anything else that meets your needs.
+
+Note that `controller.ingressClassResource.name` and `controller.ingressClass` have to be set correctly.
+The first is to create the IngressClass object and the other is to modify the deployment of the actual ingress controller pod.
+
+### I can't use multiple namespaces, what should I do?
+
+If you need to install all instances in the same namespace, then you need to specify a different **election id**, like this:
+
+```
+helm install ingress-nginx-2 ingress-nginx/ingress-nginx \
+--namespace kube-system \
+--set controller.electionID=nginx-two-leader \
+--set controller.ingressClassResource.name=nginx-two \
+--set controller.ingressClass=nginx-two \
+--set controller.ingressClassResource.controllerValue="example.com/ingress-nginx-2" \
+--set controller.ingressClassResource.enabled=true \
+--set controller.ingressClassByName=true
+```
+
## Retaining Client IPAddress
-Please read [Retain Client IPAddress Guide here](./user-guide/retaining-client-ipaddress.md).
+Question - How to obtain the real-client-ipaddress ?
+
+The goto solution for retaining the real-client IPaddress is to enable PROXY protocol.
+
+Enabling PROXY protocol has to be done on both, the Ingress NGINX controller, as well as the L4 load balancer, in front of the controller.
+
+The real-client IP address is lost by default, when traffic is forwarded over the network. But enabling PROXY protocol ensures that the connection details are retained and hence the real-client IP address doesn't get lost.
+
+Enabling proxy-protocol on the controller is documented [here](https://kubernetes.github.io/ingress-nginx/user-guide/nginx-configuration/configmap/#use-proxy-protocol) .
+
+For enabling proxy-protocol on the LoadBalancer, please refer to the documentation of your infrastructure provider because that is where the LB is provisioned.
+
+Some more info available [here](https://kubernetes.github.io/ingress-nginx/user-guide/miscellaneous/#source-ip-address)
+
+Some more info on proxy-protocol is [here](https://kubernetes.github.io/ingress-nginx/user-guide/miscellaneous/#proxy-protocol)
+
+### client-ipaddress on single-node cluster
+
+Single node clusters are created for dev & test uses with tools like "kind" or "minikube". A trick to simulate a real use network with these clusters (kind or minikube) is to install Metallb and configure the ipaddress of the kind container or the minikube vm/container, as the starting and ending of the pool for Metallb in L2 mode. Then the host ip becomes a real client ipaddress, for curl requests sent from the host.
+
+After installing ingress-nginx controller on a kind or a minikube cluster with helm, you can configure it for real-client-ip with a simple change to the service that ingress-nginx controller creates. The service object of --type LoadBalancer has a field service.spec.externalTrafficPolicy. If you set the value of this field to "Local" then the real-ipaddress of a client is visible to the controller.
+
+```
+% kubectl explain service.spec.externalTrafficPolicy
+KIND: Service
+VERSION: v1
+
+FIELD: externalTrafficPolicy
+
+DESCRIPTION:
+ externalTrafficPolicy describes how nodes distribute service traffic they
+ receive on one of the Service's "externally-facing" addresses (NodePorts,
+ ExternalIPs, and LoadBalancer IPs). If set to "Local", the proxy will
+ configure the service in a way that assumes that external load balancers
+ will take care of balancing the service traffic between nodes, and so each
+ node will deliver traffic only to the node-local endpoints of the service,
+ without masquerading the client source IP. (Traffic mistakenly sent to a
+ node with no endpoints will be dropped.) The default value, "Cluster", uses
+ the standard behavior of routing to all endpoints evenly (possibly modified
+ by topology and other features). Note that traffic sent to an External IP or
+ LoadBalancer IP from within the cluster will always get "Cluster" semantics,
+ but clients sending to a NodePort from within the cluster may need to take
+ traffic policy into account when picking a node.
+
+ Possible enum values:
+ - `"Cluster"` routes traffic to all endpoints.
+ - `"Local"` preserves the source IP of the traffic by routing only to
+ endpoints on the same node as the traffic was received on (dropping the
+ traffic if there are no local endpoints).
+```
+
+### client-ipaddress L7
+
+The solution is to get the real client IPaddress from the ["X-Forward-For" HTTP header](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Forwarded-For)
+
+Example : If your application pod behind Ingress NGINX controller, uses the NGINX webserver and the reverseproxy inside it, then you can do the following to preserve the remote client IP.
+
+- First you need to make sure that the X-Forwarded-For header reaches the backend pod. This is done by using a Ingress NGINX conftroller ConfigMap key. Its documented [here](https://kubernetes.github.io/ingress-nginx/user-guide/nginx-configuration/configmap/#use-forwarded-headers)
+
+- Next, edit `nginx.conf` file inside your app pod, to contain the directives shown below:
+
+```
+set_real_ip_from 0.0.0.0/0; # Trust all IPs (use your VPC CIDR block in production)
+real_ip_header X-Forwarded-For;
+real_ip_recursive on;
+
+log_format main '$remote_addr - $remote_user [$time_local] "$request" '
+ '$status $body_bytes_sent "$http_referer" '
+ '"$http_user_agent" '
+ 'host=$host x-forwarded-for=$http_x_forwarded_for';
+
+access_log /var/log/nginx/access.log main;
+
+```
## Kubernetes v1.22 Migration
-If you are using Ingress objects in your cluster (running Kubernetes older than v1.22), and you plan to upgrade your Kubernetes version to K8S 1.22 or above, then please read [the migration guide here](./user-guide/k8s-122-migration.md).
+If you are using Ingress objects in your cluster (running Kubernetes older than
+version 1.22), and you plan to upgrade your Kubernetes version to K8S 1.22 or
+above, then please read [the migration guide here](./user-guide/k8s-122-migration.md).
-## Validation Of __`path`__
+## Validation Of **`path`**
-- For improving security and also following desired standards on Kubernetes API spec, the next release, scheduled for v1.8.0, will include a new & optional feature of validating the value for the key `ingress.spec.rules.http.paths.path` .
+- For improving security and also following desired standards on Kubernetes API
+spec, the next release, scheduled for v1.8.0, will include a new & optional
+feature of validating the value for the key `ingress.spec.rules.http.paths.path`.
-- This behavior will be disabled by default on the 1.8.0 release and enabled by default on the next breaking change release, set for 2.0.0.
+- This behavior will be disabled by default on the 1.8.0 release and enabled by
+default on the next breaking change release, set for 2.0.0.
-- When "`ingress.spec.rules.http.pathType=Exact`" or "`pathType=Prefix`", this validation will limit the characters accepted on the field "`ingress.spec.rules.http.paths.path`", to "`alphanumeric characters`", and `"/," "_," "-."` Also, in this case, the path should start with `"/."`
+- When "`ingress.spec.rules.http.pathType=Exact`" or "`pathType=Prefix`", this
+validation will limit the characters accepted on the field "`ingress.spec.rules.http.paths.path`",
+to "`alphanumeric characters`", and `"/," "_," "-."` Also, in this case,
+the path should start with `"/."`
-- When the ingress resource path contains other characters (like on rewrite configurations), the pathType value should be "`ImplementationSpecific`".
+- When the ingress resource path contains other characters (like on rewrite
+configurations), the pathType value should be "`ImplementationSpecific`".
- API Spec on pathType is documented [here](https://kubernetes.io/docs/concepts/services-networking/ingress/#path-types)
-- When this option is enabled, the validation will happen on the Admission Webhook. So if any new ingress object contains characters other than "`alphanumeric characters`", and `"/," "_," "-."` , in the `path` field, but is not using `pathType` value as `ImplementationSpecific`, then the ingress object will be denied admission.
+- When this option is enabled, the validation will happen on the Admission
+Webhook. So if any new ingress object contains characters other than
+alphanumeric characters, and, `"/,","_","-"`, in the `path` field, but
+is not using `pathType` value as `ImplementationSpecific`, then the ingress
+object will be denied admission.
-- The cluster admin should establish validation rules using mechanisms like "`Open Policy Agent`", to validate that only authorized users can use ImplementationSpecific pathType and that only the authorized characters can be used. [The configmap value is here](https://kubernetes.github.io/ingress-nginx/user-guide/nginx-configuration/configmap/#strict-validate-path-type)
+- The cluster admin should establish validation rules using mechanisms like
+"`Open Policy Agent`", to validate that only authorized users can use
+ImplementationSpecific pathType and that only the authorized characters can be
+used. [The configmap value is here](https://kubernetes.github.io/ingress-nginx/user-guide/nginx-configuration/configmap/#strict-validate-path-type)
- A complete example of an Openpolicyagent gatekeeper rule is available [here](https://kubernetes.github.io/ingress-nginx/examples/openpolicyagent/)
-- If you have any issues or concerns, please do one of the following:
- - Open a GitHub issue
+- If you have any issues or concerns, please do one of the following:
+ - Open a GitHub issue
- Comment in our Dev Slack Channel
- - Open a thread in our Google Group ingress-nginx-dev@kubernetes.io
+ - Open a thread in our Google Group
+
+## Why is chunking not working since controller v1.10 ?
+
+- If your code is setting the HTTP header `"Transfer-Encoding: chunked"` and
+the controller log messages show an error about duplicate header, it is
+because of this change
+
+- More details are available in this issue
diff --git a/docs/user-guide/cli-arguments.md b/docs/user-guide/cli-arguments.md
index 275c753ec..f8fdc2ddb 100644
--- a/docs/user-guide/cli-arguments.md
+++ b/docs/user-guide/cli-arguments.md
@@ -22,6 +22,7 @@ They are set in the container spec of the `ingress-nginx-controller` Deployment
| `--disable-sync-events` | Disables the creation of 'Sync' Event resources, but still logs them |
| `--dynamic-configuration-retries` | Number of times to retry failed dynamic configuration before failing to sync an ingress. (default 15) |
| `--election-id` | Election id to use for Ingress status updates. (default "ingress-controller-leader") |
+| `--election-ttl` | Duration a leader election is valid before it's getting re-elected, e.g. `15s`, `10m` or `1h`. (Default: 30s) |
| `--enable-metrics` | Enables the collection of NGINX metrics. (default true) |
| `--enable-ssl-chain-completion` | Autocomplete SSL certificate chains with missing intermediate CA certificates. Certificates uploaded to Kubernetes must have the "Authority Information Access" X.509 v3 extension for this to succeed. (default false)|
| `--enable-ssl-passthrough` | Enable SSL Passthrough. (default false) |
diff --git a/docs/user-guide/fcgi-services.md b/docs/user-guide/fcgi-services.md
index db4d9428b..9c222d9ad 100644
--- a/docs/user-guide/fcgi-services.md
+++ b/docs/user-guide/fcgi-services.md
@@ -1,5 +1,3 @@
-
-
# Exposing FastCGI Servers
> **FastCGI** is a [binary protocol](https://en.wikipedia.org/wiki/Binary_protocol "Binary protocol") for interfacing interactive programs with a [web server](https://en.wikipedia.org/wiki/Web_server "Web server"). [...] (It's) aim is to reduce the overhead related to interfacing between web server and CGI programs, allowing a server to handle more web page requests per unit of time.
@@ -8,27 +6,60 @@
The _ingress-nginx_ ingress controller can be used to directly expose [FastCGI](https://en.wikipedia.org/wiki/FastCGI) servers. Enabling FastCGI in your Ingress only requires setting the _backend-protocol_ annotation to `FCGI`, and with a couple more annotations you can customize the way _ingress-nginx_ handles the communication with your FastCGI _server_.
+For most practical use-cases, php applications are a good example. PHP is not HTML so a FastCGI server like php-fpm processes a index.php script for the response to a request. See a working example below.
-## Example Objects to Expose a FastCGI Pod
+This [post in a FactCGI feature issue](https://github.com/kubernetes/ingress-nginx/issues/8207#issuecomment-2161405468) describes a test for the FastCGI feature. The same test is described below here.
-The _Pod_ example object below exposes port `9000`, which is the conventional FastCGI port.
+## Example Objects to expose a FastCGI server pod
+
+### The FasctCGI server pod
+
+The _Pod_ object example below exposes port `9000`, which is the conventional FastCGI port.
```yaml
apiVersion: v1
kind: Pod
metadata:
name: example-app
-labels:
- app: example-app
+ labels:
+ app: example-app
spec:
containers:
- name: example-app
- image: example-app:1.0
+ image: php:fpm-alpine
ports:
- containerPort: 9000
name: fastcgi
```
+- For this example to work, a HTML response should be received from the FastCGI server being exposed
+- A HTTP request to the FastCGI server pod should be sent
+- The response should be generated by a php script as that is what we are demonstrating here
+
+The image we are using here `php:fpm-alpine` does not ship with a ready to use php script inside it. So we need to provide the image with a simple php-script for this example to work.
+
+- Use `kubectl exec` to get into the example-app pod
+- You will land at the path `/var/www/html`
+- Create a simple php script there at the path /var/www/html called index.php
+- Make the index.php file look like this
+
+```
+
+
+
+ PHP Test
+
+
+ FastCGI Test Worked!
'; ?>
+
+
+```
+
+- Save and exit from the shell in the pod
+- If you delete the pod, then you will have to recreate the file as this method is not persistent
+
+### The FastCGI service
+
The _Service_ object example below matches port `9000` from the _Pod_ object above.
```yaml
@@ -45,21 +76,41 @@ spec:
name: fastcgi
```
-And the _Ingress_ and _ConfigMap_ objects below demonstrates the supported _FastCGI_ specific annotations (NGINX actually has 50 FastCGI directives, all of which have not been exposed in the ingress yet), and matches the service `example-service`, and the port named `fastcgi` from above. The _ConfigMap_ **must** be created first for the _Ingress Controller_ to be able to find it when the _Ingress_ object is created, otherwise you will need to restart the _Ingress Controller_ pods.
+### The configMap object and the ingress object
+
+The _Ingress_ and _ConfigMap_ objects below demonstrate the supported _FastCGI_ specific annotations.
+
+!!! Important
+ NGINX actually has 50 [FastCGI directives](https://nginx.org/en/docs/http/ngx_http_fastcgi_module.html#directives)
+ All of the nginx directives have not been exposed in the ingress yet
+
+### The ConfigMap object
+
+This configMap object is required to set the parameters of [FastCGI directives](https://nginx.org/en/docs/http/ngx_http_fastcgi_module.html#directives)
+
+!!! Attention
+ - The _ConfigMap_ **must** be created before creating the ingress object
+
+- The _Ingress Controller_ needs to find the configMap when the _Ingress_ object with the FastCGI annotations is created
+- So create the configMap before the ingress
+- If the configMap is created after the ingress is created, then you will need to restart the _Ingress Controller_ pods.
```yaml
-# The ConfigMap MUST be created first for the ingress controller to be able to
-# find it when the Ingress object is created.
-
apiVersion: v1
kind: ConfigMap
metadata:
name: example-cm
data:
- SCRIPT_FILENAME: "/example/index.php"
+ SCRIPT_FILENAME: "/var/www/html/index.php"
----
+```
+### The ingress object
+
+- Do not create the ingress shown below until you have created the configMap seen above.
+- You can see that this ingress matches the service `example-service`, and the port named `fastcgi` from above.
+
+```
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
@@ -83,6 +134,44 @@ spec:
name: fastcgi
```
+## Send a request to the exposed FastCGI server
+
+You will have to look at the external-ip of the ingress or you have to send the HTTP request to the ClusterIP address of the ingress-nginx controller pod.
+
+```
+% curl 172.19.0.2 -H "Host: app.example.com" -vik
+* Trying 172.19.0.2:80...
+* Connected to 172.19.0.2 (172.19.0.2) port 80
+> GET / HTTP/1.1
+> Host: app.example.com
+> User-Agent: curl/8.6.0
+> Accept: */*
+>
+< HTTP/1.1 200 OK
+HTTP/1.1 200 OK
+< Date: Wed, 12 Jun 2024 07:11:59 GMT
+Date: Wed, 12 Jun 2024 07:11:59 GMT
+< Content-Type: text/html; charset=UTF-8
+Content-Type: text/html; charset=UTF-8
+< Transfer-Encoding: chunked
+Transfer-Encoding: chunked
+< Connection: keep-alive
+Connection: keep-alive
+< X-Powered-By: PHP/8.3.8
+X-Powered-By: PHP/8.3.8
+
+<
+
+
+
+ PHP Test
+
+
+ FastCGI Test Worked
+
+
+```
+
## FastCGI Ingress Annotations
To enable FastCGI, the `nginx.ingress.kubernetes.io/backend-protocol` annotation needs to be set to `FCGI`, which overrides the default `HTTP` value.
@@ -114,6 +203,7 @@ data:
SCRIPT_FILENAME: "/example/index.php"
HTTP_PROXY: ""
```
+
Using the _namespace/_ prefix is also supported, for example:
> `nginx.ingress.kubernetes.io/fastcgi-params-configmap: "example-namespace/example-configmap"`
diff --git a/docs/user-guide/k8s-122-migration.md b/docs/user-guide/k8s-122-migration.md
index 9a1ca081d..0880f020e 100644
--- a/docs/user-guide/k8s-122-migration.md
+++ b/docs/user-guide/k8s-122-migration.md
@@ -192,54 +192,3 @@ Bear in mind that if you start Ingress-Nginx B with the command line argument `-
It is highly likely that you will also see the name of the ingress resource in the same error message.
This error message has been observed on use the deprecated annotation (`kubernetes.io/ingress.class`) in an Ingress resource manifest.
It is recommended to use the `.spec.ingressClassName` field of the Ingress resource, to specify the name of the IngressClass of the Ingress you are defining.
-
-## How can I easily install multiple instances of the ingress-nginx controller in the same cluster?
-
-You can install them in different namespaces.
-
-- Create a new namespace
- ```
- kubectl create namespace ingress-nginx-2
- ```
-- Use Helm to install the additional instance of the ingress controller
-- Ensure you have Helm working (refer to the [Helm documentation](https://helm.sh/docs/))
-- We have to assume that you have the helm repo for the ingress-nginx controller already added to your Helm config.
- But, if you have not added the helm repo then you can do this to add the repo to your helm config;
- ```
- helm repo add ingress-nginx https://kubernetes.github.io/ingress-nginx
- ```
-- Make sure you have updated the helm repo data;
- ```
- helm repo update
- ```
-- Now, install an additional instance of the ingress-nginx controller like this:
- ```
- helm install ingress-nginx-2 ingress-nginx/ingress-nginx \
- --namespace ingress-nginx-2 \
- --set controller.ingressClassResource.name=nginx-two \
- --set controller.ingressClass=nginx-two \
- --set controller.ingressClassResource.controllerValue="example.com/ingress-nginx-2" \
- --set controller.ingressClassResource.enabled=true \
- --set controller.ingressClassByName=true
- ```
-
-If you need to install yet another instance, then repeat the procedure to create a new namespace,
-change the values such as names & namespaces (for example from "-2" to "-3"), or anything else that meets your needs.
-
-Note that `controller.ingressClassResource.name` and `controller.ingressClass` have to be set correctly.
-The first is to create the IngressClass object and the other is to modify the deployment of the actual ingress controller pod.
-
-### I can't use multiple namespaces, what should I do?
-
-If you need to install all instances in the same namespace, then you need to specify a different **election id**, like this:
-
-```
-helm install ingress-nginx-2 ingress-nginx/ingress-nginx \
---namespace kube-system \
---set controller.electionID=nginx-two-leader \
---set controller.ingressClassResource.name=nginx-two \
---set controller.ingressClass=nginx-two \
---set controller.ingressClassResource.controllerValue="example.com/ingress-nginx-2" \
---set controller.ingressClassResource.enabled=true \
---set controller.ingressClassByName=true
-```
diff --git a/docs/user-guide/miscellaneous.md b/docs/user-guide/miscellaneous.md
index e7d1ac59c..80a38db51 100644
--- a/docs/user-guide/miscellaneous.md
+++ b/docs/user-guide/miscellaneous.md
@@ -17,7 +17,7 @@ By default NGINX path type is Prefix to not break existing definitions
## Proxy Protocol
-If you are using a L4 proxy to forward the traffic to the NGINX pods and terminate HTTP/HTTPS there, you will lose the remote endpoint's IP address. To prevent this you could use the [Proxy Protocol](http://www.haproxy.org/download/1.5/doc/proxy-protocol.txt) for forwarding traffic, this will send the connection details before forwarding the actual TCP connection itself.
+If you are using a L4 proxy to forward the traffic to the Ingress NGINX pods and terminate HTTP/HTTPS there, you will lose the remote endpoint's IP address. To prevent this you could use the [PROXY Protocol](http://www.haproxy.org/download/1.5/doc/proxy-protocol.txt) for forwarding traffic, this will send the connection details before forwarding the actual TCP connection itself.
Amongst others [ELBs in AWS](http://docs.aws.amazon.com/ElasticLoadBalancing/latest/DeveloperGuide/enable-proxy-protocol.html) and [HAProxy](http://www.haproxy.org/) support Proxy Protocol.
diff --git a/docs/user-guide/monitoring.md b/docs/user-guide/monitoring.md
index 28608e850..b96914e1b 100644
--- a/docs/user-guide/monitoring.md
+++ b/docs/user-guide/monitoring.md
@@ -386,10 +386,6 @@ Prometheus metrics are exposed on port 10254.
The number of bytes sent to a client. **Deprecated**, use `nginx_ingress_controller_response_size`\
nginx var: `bytes_sent`
-* `nginx_ingress_controller_ingress_upstream_latency_seconds` Summary\
- Upstream service latency per Ingress. **Deprecated**, use `nginx_ingress_controller_connect_duration_seconds`\
- nginx var: `upstream_connect_time`
-
```
# HELP nginx_ingress_controller_bytes_sent The number of bytes sent to a client. DEPRECATED! Use nginx_ingress_controller_response_size
# TYPE nginx_ingress_controller_bytes_sent histogram
@@ -397,8 +393,6 @@ Prometheus metrics are exposed on port 10254.
# TYPE nginx_ingress_controller_connect_duration_seconds nginx_ingress_controller_connect_duration_seconds
* HELP nginx_ingress_controller_header_duration_seconds The time spent on receiving first header from the upstream server
# TYPE nginx_ingress_controller_header_duration_seconds histogram
-# HELP nginx_ingress_controller_ingress_upstream_latency_seconds Upstream service latency per Ingress DEPRECATED! Use nginx_ingress_controller_connect_duration_seconds
-# TYPE nginx_ingress_controller_ingress_upstream_latency_seconds summary
# HELP nginx_ingress_controller_request_duration_seconds The request processing time in milliseconds
# TYPE nginx_ingress_controller_request_duration_seconds histogram
# HELP nginx_ingress_controller_request_size The request length (including request line, header, and request body)
diff --git a/docs/user-guide/multiple-ingress.md b/docs/user-guide/multiple-ingress.md
index fca93ee65..2c7c8e712 100644
--- a/docs/user-guide/multiple-ingress.md
+++ b/docs/user-guide/multiple-ingress.md
@@ -57,6 +57,7 @@ or if installing with Helm:
```yaml
controller:
electionID: ingress-controller-leader
+ ingressClass: internal-nginx # default: nginx
ingressClassResource:
name: internal-nginx # default: nginx
enabled: true
diff --git a/docs/user-guide/nginx-configuration/annotations-risk.md b/docs/user-guide/nginx-configuration/annotations-risk.md
new file mode 100755
index 000000000..b53860174
--- /dev/null
+++ b/docs/user-guide/nginx-configuration/annotations-risk.md
@@ -0,0 +1,142 @@
+# Annotations Scope and Risk
+
+|Group |Annotation | Risk | Scope |
+|--------|------------------|------|-------|
+| Aliases | server-alias | High | ingress |
+| Allowlist | allowlist-source-range | Medium | location |
+| BackendProtocol | backend-protocol | Low | location |
+| BasicDigestAuth | auth-realm | Medium | location |
+| BasicDigestAuth | auth-secret | Medium | location |
+| BasicDigestAuth | auth-secret-type | Low | location |
+| BasicDigestAuth | auth-type | Low | location |
+| Canary | canary | Low | ingress |
+| Canary | canary-by-cookie | Medium | ingress |
+| Canary | canary-by-header | Medium | ingress |
+| Canary | canary-by-header-pattern | Medium | ingress |
+| Canary | canary-by-header-value | Medium | ingress |
+| Canary | canary-weight | Low | ingress |
+| Canary | canary-weight-total | Low | ingress |
+| CertificateAuth | auth-tls-error-page | High | location |
+| CertificateAuth | auth-tls-match-cn | High | location |
+| CertificateAuth | auth-tls-pass-certificate-to-upstream | Low | location |
+| CertificateAuth | auth-tls-secret | Medium | location |
+| CertificateAuth | auth-tls-verify-client | Medium | location |
+| CertificateAuth | auth-tls-verify-depth | Low | location |
+| ClientBodyBufferSize | client-body-buffer-size | Low | location |
+| ConfigurationSnippet | configuration-snippet | Critical | location |
+| Connection | connection-proxy-header | Low | location |
+| CorsConfig | cors-allow-credentials | Low | ingress |
+| CorsConfig | cors-allow-headers | Medium | ingress |
+| CorsConfig | cors-allow-methods | Medium | ingress |
+| CorsConfig | cors-allow-origin | Medium | ingress |
+| CorsConfig | cors-expose-headers | Medium | ingress |
+| CorsConfig | cors-max-age | Low | ingress |
+| CorsConfig | enable-cors | Low | ingress |
+| CustomHTTPErrors | custom-http-errors | Low | location |
+| CustomHeaders | custom-headers | Medium | location |
+| DefaultBackend | default-backend | Low | location |
+| Denylist | denylist-source-range | Medium | location |
+| DisableProxyInterceptErrors | disable-proxy-intercept-errors | Low | location |
+| EnableGlobalAuth | enable-global-auth | Low | location |
+| ExternalAuth | auth-always-set-cookie | Low | location |
+| ExternalAuth | auth-cache-duration | Medium | location |
+| ExternalAuth | auth-cache-key | Medium | location |
+| ExternalAuth | auth-keepalive | Low | location |
+| ExternalAuth | auth-keepalive-requests | Low | location |
+| ExternalAuth | auth-keepalive-share-vars | Low | location |
+| ExternalAuth | auth-keepalive-timeout | Low | location |
+| ExternalAuth | auth-method | Low | location |
+| ExternalAuth | auth-proxy-set-headers | Medium | location |
+| ExternalAuth | auth-request-redirect | Medium | location |
+| ExternalAuth | auth-response-headers | Medium | location |
+| ExternalAuth | auth-signin | High | location |
+| ExternalAuth | auth-signin-redirect-param | Medium | location |
+| ExternalAuth | auth-snippet | Critical | location |
+| ExternalAuth | auth-url | High | location |
+| FastCGI | fastcgi-index | Medium | location |
+| FastCGI | fastcgi-params-configmap | Medium | location |
+| GlobalRateLimit | global-rate-limit | Low | ingress |
+| GlobalRateLimit | global-rate-limit-ignored-cidrs | Medium | ingress |
+| GlobalRateLimit | global-rate-limit-key | High | ingress |
+| GlobalRateLimit | global-rate-limit-window | Low | ingress |
+| HTTP2PushPreload | http2-push-preload | Low | location |
+| LoadBalancing | load-balance | Low | location |
+| Logs | enable-access-log | Low | location |
+| Logs | enable-rewrite-log | Low | location |
+| Mirror | mirror-host | High | ingress |
+| Mirror | mirror-request-body | Low | ingress |
+| Mirror | mirror-target | High | ingress |
+| ModSecurity | enable-modsecurity | Low | ingress |
+| ModSecurity | enable-owasp-core-rules | Low | ingress |
+| ModSecurity | modsecurity-snippet | Critical | ingress |
+| ModSecurity | modsecurity-transaction-id | High | ingress |
+| Opentelemetry | enable-opentelemetry | Low | location |
+| Opentelemetry | opentelemetry-operation-name | Medium | location |
+| Opentelemetry | opentelemetry-trust-incoming-span | Low | location |
+| Proxy | proxy-body-size | Medium | location |
+| Proxy | proxy-buffer-size | Low | location |
+| Proxy | proxy-buffering | Low | location |
+| Proxy | proxy-buffers-number | Low | location |
+| Proxy | proxy-connect-timeout | Low | location |
+| Proxy | proxy-cookie-domain | Medium | location |
+| Proxy | proxy-cookie-path | Medium | location |
+| Proxy | proxy-http-version | Low | location |
+| Proxy | proxy-max-temp-file-size | Low | location |
+| Proxy | proxy-next-upstream | Medium | location |
+| Proxy | proxy-next-upstream-timeout | Low | location |
+| Proxy | proxy-next-upstream-tries | Low | location |
+| Proxy | proxy-read-timeout | Low | location |
+| Proxy | proxy-redirect-from | Medium | location |
+| Proxy | proxy-redirect-to | Medium | location |
+| Proxy | proxy-request-buffering | Low | location |
+| Proxy | proxy-send-timeout | Low | location |
+| ProxySSL | proxy-ssl-ciphers | Medium | ingress |
+| ProxySSL | proxy-ssl-name | High | ingress |
+| ProxySSL | proxy-ssl-protocols | Low | ingress |
+| ProxySSL | proxy-ssl-secret | Medium | ingress |
+| ProxySSL | proxy-ssl-server-name | Low | ingress |
+| ProxySSL | proxy-ssl-verify | Low | ingress |
+| ProxySSL | proxy-ssl-verify-depth | Low | ingress |
+| RateLimit | limit-allowlist | Low | location |
+| RateLimit | limit-burst-multiplier | Low | location |
+| RateLimit | limit-connections | Low | location |
+| RateLimit | limit-rate | Low | location |
+| RateLimit | limit-rate-after | Low | location |
+| RateLimit | limit-rpm | Low | location |
+| RateLimit | limit-rps | Low | location |
+| Redirect | from-to-www-redirect | Low | location |
+| Redirect | permanent-redirect | Medium | location |
+| Redirect | permanent-redirect-code | Low | location |
+| Redirect | temporal-redirect | Medium | location |
+| Rewrite | app-root | Medium | location |
+| Rewrite | force-ssl-redirect | Medium | location |
+| Rewrite | preserve-trailing-slash | Medium | location |
+| Rewrite | rewrite-target | Medium | ingress |
+| Rewrite | ssl-redirect | Low | location |
+| Rewrite | use-regex | Low | location |
+| SSLCipher | ssl-ciphers | Low | ingress |
+| SSLCipher | ssl-prefer-server-ciphers | Low | ingress |
+| SSLPassthrough | ssl-passthrough | Low | ingress |
+| Satisfy | satisfy | Low | location |
+| ServerSnippet | server-snippet | Critical | ingress |
+| ServiceUpstream | service-upstream | Low | ingress |
+| SessionAffinity | affinity | Low | ingress |
+| SessionAffinity | affinity-canary-behavior | Low | ingress |
+| SessionAffinity | affinity-mode | Medium | ingress |
+| SessionAffinity | session-cookie-change-on-failure | Low | ingress |
+| SessionAffinity | session-cookie-conditional-samesite-none | Low | ingress |
+| SessionAffinity | session-cookie-domain | Medium | ingress |
+| SessionAffinity | session-cookie-expires | Medium | ingress |
+| SessionAffinity | session-cookie-max-age | Medium | ingress |
+| SessionAffinity | session-cookie-name | Medium | ingress |
+| SessionAffinity | session-cookie-path | Medium | ingress |
+| SessionAffinity | session-cookie-samesite | Low | ingress |
+| SessionAffinity | session-cookie-secure | Low | ingress |
+| StreamSnippet | stream-snippet | Critical | ingress |
+| UpstreamHashBy | upstream-hash-by | High | location |
+| UpstreamHashBy | upstream-hash-by-subset | Low | location |
+| UpstreamHashBy | upstream-hash-by-subset-size | Low | location |
+| UpstreamVhost | upstream-vhost | Low | location |
+| UsePortInRedirects | use-port-in-redirects | Low | location |
+| XForwardedPrefix | x-forwarded-prefix | Medium | location |
+
diff --git a/docs/user-guide/nginx-configuration/annotations.md b/docs/user-guide/nginx-configuration/annotations.md
index ff88e450d..c8228ac16 100755
--- a/docs/user-guide/nginx-configuration/annotations.md
+++ b/docs/user-guide/nginx-configuration/annotations.md
@@ -50,6 +50,7 @@ You can add these Kubernetes annotations to specific Ingress objects to customiz
|[nginx.ingress.kubernetes.io/client-body-buffer-size](#client-body-buffer-size)|string|
|[nginx.ingress.kubernetes.io/configuration-snippet](#configuration-snippet)|string|
|[nginx.ingress.kubernetes.io/custom-http-errors](#custom-http-errors)|[]int|
+|[nginx.ingress.kubernetes.io/custom-headers](#custom-headers)|string|
|[nginx.ingress.kubernetes.io/default-backend](#default-backend)|string|
|[nginx.ingress.kubernetes.io/enable-cors](#enable-cors)|"true" or "false"|
|[nginx.ingress.kubernetes.io/cors-allow-origin](#enable-cors)|string|
@@ -123,8 +124,6 @@ You can add these Kubernetes annotations to specific Ingress objects to customiz
|[nginx.ingress.kubernetes.io/ssl-prefer-server-ciphers](#ssl-ciphers)|"true" or "false"|
|[nginx.ingress.kubernetes.io/connection-proxy-header](#connection-proxy-header)|string|
|[nginx.ingress.kubernetes.io/enable-access-log](#enable-access-log)|"true" or "false"|
-|[nginx.ingress.kubernetes.io/enable-opentracing](#enable-opentracing)|"true" or "false"|
-|[nginx.ingress.kubernetes.io/opentracing-trust-incoming-span](#opentracing-trust-incoming-span)|"true" or "false"|
|[nginx.ingress.kubernetes.io/enable-opentelemetry](#enable-opentelemetry)|"true" or "false"|
|[nginx.ingress.kubernetes.io/opentelemetry-trust-incoming-span](#opentelemetry-trust-incoming-spans)|"true" or "false"|
|[nginx.ingress.kubernetes.io/use-regex](#use-regex)|bool|
@@ -338,6 +337,22 @@ Example usage:
nginx.ingress.kubernetes.io/custom-http-errors: "404,415"
```
+### Custom Headers
+This annotation is of the form `nginx.ingress.kubernetes.io/custom-headers: custom-headers-configmap` to specify a configmap name that contains custom headers. This annotation uses `more_set_headers` nginx directive.
+
+Example configmap:
+```yaml
+apiVersion: v1
+data:
+ Content-Type: application/json
+kind: ConfigMap
+metadata:
+ name: custom-headers-configmap
+```
+
+!!! attention
+ First define the allowed response headers in [global-allowed-response-headers](https://github.com/kubernetes/ingress-nginx/blob/main/docs/user-guide/nginx-configuration/configmap.md#global-allowed-response-headers).
+
### Default Backend
This annotation is of the form `nginx.ingress.kubernetes.io/default-backend: ` to specify a custom default backend. This `` is a reference to a service inside of the same namespace in which you are applying this annotation. This annotation overrides the global default backend. In case the service has [multiple ports](https://kubernetes.io/docs/concepts/services-networking/service/#multi-port-services), the first one is the one which will receive the backend traffic.
@@ -640,7 +655,10 @@ To preserve the trailing slash in the URI with `ssl-redirect`, set `nginx.ingres
### Redirect from/to www
-In some scenarios is required to redirect from `www.domain.com` to `domain.com` or vice versa.
+In some scenarios, it is required to redirect from `www.domain.com` to `domain.com` or vice versa, which way the redirect is performed depends on the configured `host` value in the Ingress object.
+
+For example, if `.spec.rules.host` is configured with a value like `www.example.com`, then this annotation will redirect from `example.com` to `www.example.com`. If `.spec.rules.host` is configured with a value like `example.com`, so without a `www`, then this annotation will redirect from `www.example.com` to `example.com` instead.
+
To enable this feature use the annotation `nginx.ingress.kubernetes.io/from-to-www-redirect: "true"`
!!! attention
@@ -683,6 +701,12 @@ In some scenarios is required to have different values. To allow this we provide
- `nginx.ingress.kubernetes.io/proxy-next-upstream-tries`
- `nginx.ingress.kubernetes.io/proxy-request-buffering`
+If you indicate [Backend Protocol](#backend-protocol) as `GRPC` or `GRPCS`, the following grpc values will be set and inherited from proxy timeouts:
+
+- [`grpc_connect_timeout=5s`](https://nginx.org/en/docs/http/ngx_http_grpc_module.html#grpc_connect_timeout), from `nginx.ingress.kubernetes.io/proxy-connect-timeout`
+- [`grpc_send_timeout=60s`](https://nginx.org/en/docs/http/ngx_http_grpc_module.html#grpc_send_timeout), from `nginx.ingress.kubernetes.io/proxy-send-timeout`
+- [`grpc_read_timeout=60s`](https://nginx.org/en/docs/http/ngx_http_grpc_module.html#grpc_read_timeout), from `nginx.ingress.kubernetes.io/proxy-read-timeout`
+
Note: All timeout values are unitless and in seconds e.g. `nginx.ingress.kubernetes.io/proxy-read-timeout: "120"` sets a valid 120 seconds proxy read timeout.
### Proxy redirect
@@ -813,24 +837,6 @@ Note that rewrite logs are sent to the error_log file at the notice level. To en
nginx.ingress.kubernetes.io/enable-rewrite-log: "true"
```
-### Enable Opentracing
-
-Opentracing can be enabled or disabled globally through the ConfigMap but this will sometimes need to be overridden
-to enable it or disable it for a specific ingress (e.g. to turn off tracing of external health check endpoints)
-
-```yaml
-nginx.ingress.kubernetes.io/enable-opentracing: "true"
-```
-
-### Opentracing Trust Incoming Span
-
-The option to trust incoming trace spans can be enabled or disabled globally through the ConfigMap but this will
-sometimes need to be overridden to enable it or disable it for a specific ingress (e.g. only enable on a private endpoint)
-
-```yaml
-nginx.ingress.kubernetes.io/opentracing-trust-incoming-span: "true"
-```
-
### Enable Opentelemetry
Opentelemetry can be enabled or disabled globally through the ConfigMap but this will sometimes need to be overridden
@@ -955,7 +961,7 @@ Enables a request to be mirrored to a mirror backend. Responses by mirror backen
The mirror backend can be set by applying:
```yaml
-nginx.ingress.kubernetes.io/mirror-target: https://test.env.com/$request_uri
+nginx.ingress.kubernetes.io/mirror-target: https://test.env.com$request_uri
```
By default the request-body is sent to the mirror backend, but can be turned off by applying:
@@ -967,7 +973,7 @@ nginx.ingress.kubernetes.io/mirror-request-body: "off"
Also by default header Host for mirrored requests will be set the same as a host part of uri in the "mirror-target" annotation. You can override it by "mirror-host" annotation:
```yaml
-nginx.ingress.kubernetes.io/mirror-target: https://1.2.3.4/$request_uri
+nginx.ingress.kubernetes.io/mirror-target: https://1.2.3.4$request_uri
nginx.ingress.kubernetes.io/mirror-host: "test.env.com"
```
diff --git a/docs/user-guide/nginx-configuration/configmap.md b/docs/user-guide/nginx-configuration/configmap.md
index 849bbe807..51e4edfa3 100644
--- a/docs/user-guide/nginx-configuration/configmap.md
+++ b/docs/user-guide/nginx-configuration/configmap.md
@@ -25,215 +25,210 @@ data:
The following table shows a configuration option's name, type, and the default value:
-|name|type|default|notes|
-|:---|:---|:------|:----|
-|[add-headers](#add-headers)|string|""||
-|[allow-backend-server-header](#allow-backend-server-header)|bool|"false"||
-|[allow-cross-namespace-resources](#allow-cross-namespace-resources)|bool|"true"||
-|[allow-snippet-annotations](#allow-snippet-annotations)|bool|false||
-|[annotations-risk-level](#annotations-risk-level)|string|Critical||
-|[annotation-value-word-blocklist](#annotation-value-word-blocklist)|string array|""||
-|[hide-headers](#hide-headers)|string array|empty||
-|[access-log-params](#access-log-params)|string|""||
-|[access-log-path](#access-log-path)|string|"/var/log/nginx/access.log"||
-|[http-access-log-path](#http-access-log-path)|string|""||
-|[stream-access-log-path](#stream-access-log-path)|string|""||
-|[enable-access-log-for-default-backend](#enable-access-log-for-default-backend)|bool|"false"||
-|[error-log-path](#error-log-path)|string|"/var/log/nginx/error.log"||
-|[enable-modsecurity](#enable-modsecurity)|bool|"false"||
-|[modsecurity-snippet](#modsecurity-snippet)|string|""||
-|[enable-owasp-modsecurity-crs](#enable-owasp-modsecurity-crs)|bool|"false"||
-|[client-header-buffer-size](#client-header-buffer-size)|string|"1k"||
-|[client-header-timeout](#client-header-timeout)|int|60||
-|[client-body-buffer-size](#client-body-buffer-size)|string|"8k"||
-|[client-body-timeout](#client-body-timeout)|int|60||
-|[disable-access-log](#disable-access-log)|bool|false||
-|[disable-ipv6](#disable-ipv6)|bool|false||
-|[disable-ipv6-dns](#disable-ipv6-dns)|bool|false||
-|[enable-underscores-in-headers](#enable-underscores-in-headers)|bool|false||
-|[enable-ocsp](#enable-ocsp)|bool|false||
-|[ignore-invalid-headers](#ignore-invalid-headers)|bool|true||
-|[retry-non-idempotent](#retry-non-idempotent)|bool|"false"||
-|[error-log-level](#error-log-level)|string|"notice"||
-|[http2-max-field-size](#http2-max-field-size)|string|""|DEPRECATED in favour of [large_client_header_buffers](#large-client-header-buffers)|
-|[http2-max-header-size](#http2-max-header-size)|string|""|DEPRECATED in favour of [large_client_header_buffers](#large-client-header-buffers)|
-|[http2-max-requests](#http2-max-requests)|int|0|DEPRECATED in favour of [keepalive_requests](#keepalive-requests)|
-|[http2-max-concurrent-streams](#http2-max-concurrent-streams)|int|128||
-|[hsts](#hsts)|bool|"true"||
-|[hsts-include-subdomains](#hsts-include-subdomains)|bool|"true"||
-|[hsts-max-age](#hsts-max-age)|string|"31536000"||
-|[hsts-preload](#hsts-preload)|bool|"false"||
-|[keep-alive](#keep-alive)|int|75||
-|[keep-alive-requests](#keep-alive-requests)|int|1000||
-|[large-client-header-buffers](#large-client-header-buffers)|string|"4 8k"||
-|[log-format-escape-none](#log-format-escape-none)|bool|"false"||
-|[log-format-escape-json](#log-format-escape-json)|bool|"false"||
-|[log-format-upstream](#log-format-upstream)|string|`$remote_addr - $remote_user [$time_local] "$request" $status $body_bytes_sent "$http_referer" "$http_user_agent" $request_length $request_time [$proxy_upstream_name] [$proxy_alternative_upstream_name] $upstream_addr $upstream_response_length $upstream_response_time $upstream_status $req_id`||
-|[log-format-stream](#log-format-stream)|string|`[$remote_addr] [$time_local] $protocol $status $bytes_sent $bytes_received $session_time`||
-|[enable-multi-accept](#enable-multi-accept)|bool|"true"||
-|[max-worker-connections](#max-worker-connections)|int|16384||
-|[max-worker-open-files](#max-worker-open-files)|int|0||
-|[map-hash-bucket-size](#max-hash-bucket-size)|int|64||
-|[nginx-status-ipv4-whitelist](#nginx-status-ipv4-whitelist)|[]string|"127.0.0.1"||
-|[nginx-status-ipv6-whitelist](#nginx-status-ipv6-whitelist)|[]string|"::1"||
-|[proxy-real-ip-cidr](#proxy-real-ip-cidr)|[]string|"0.0.0.0/0"||
-|[proxy-set-headers](#proxy-set-headers)|string|""||
-|[server-name-hash-max-size](#server-name-hash-max-size)|int|1024||
-|[server-name-hash-bucket-size](#server-name-hash-bucket-size)|int|``|
-|[proxy-headers-hash-max-size](#proxy-headers-hash-max-size)|int|512||
-|[proxy-headers-hash-bucket-size](#proxy-headers-hash-bucket-size)|int|64||
-|[plugins](#plugins)|[]string| ||
-|[reuse-port](#reuse-port)|bool|"true"||
-|[server-tokens](#server-tokens)|bool|"false"||
-|[ssl-ciphers](#ssl-ciphers)|string|"ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384"||
-|[ssl-ecdh-curve](#ssl-ecdh-curve)|string|"auto"||
-|[ssl-dh-param](#ssl-dh-param)|string|""||
-|[ssl-protocols](#ssl-protocols)|string|"TLSv1.2 TLSv1.3"||
-|[ssl-session-cache](#ssl-session-cache)|bool|"true"||
-|[ssl-session-cache-size](#ssl-session-cache-size)|string|"10m"||
-|[ssl-session-tickets](#ssl-session-tickets)|bool|"false"||
-|[ssl-session-ticket-key](#ssl-session-ticket-key)|string|``|
-|[ssl-session-timeout](#ssl-session-timeout)|string|"10m"||
-|[ssl-buffer-size](#ssl-buffer-size)|string|"4k"||
-|[use-proxy-protocol](#use-proxy-protocol)|bool|"false"||
-|[proxy-protocol-header-timeout](#proxy-protocol-header-timeout)|string|"5s"||
-|[enable-aio-write](#enable-aio-write)|bool|"true"||
-|[use-gzip](#use-gzip)|bool|"false"||
-|[use-geoip](#use-geoip)|bool|"true"||
-|[use-geoip2](#use-geoip2)|bool|"false"||
-|[geoip2-autoreload-in-minutes](#geoip2-autoreload-in-minutes)|int|"0"||
-|[enable-brotli](#enable-brotli)|bool|"false"||
-|[brotli-level](#brotli-level)|int|4||
-|[brotli-min-length](#brotli-min-length)|int|20||
-|[brotli-types](#brotli-types)|string|"application/xml+rss application/atom+xml application/javascript application/x-javascript application/json application/rss+xml application/vnd.ms-fontobject application/x-font-ttf application/x-web-app-manifest+json application/xhtml+xml application/xml font/opentype image/svg+xml image/x-icon text/css text/javascript text/plain text/x-component"||
-|[use-http2](#use-http2)|bool|"true"||
-|[gzip-disable](#gzip-disable)|string|""||
-|[gzip-level](#gzip-level)|int|1||
-|[gzip-min-length](#gzip-min-length)|int|256||
-|[gzip-types](#gzip-types)|string|"application/atom+xml application/javascript application/x-javascript application/json application/rss+xml application/vnd.ms-fontobject application/x-font-ttf application/x-web-app-manifest+json application/xhtml+xml application/xml font/opentype image/svg+xml image/x-icon text/css text/javascript text/plain text/x-component"||
-|[worker-processes](#worker-processes)|string|``||
-|[worker-cpu-affinity](#worker-cpu-affinity)|string|""||
-|[worker-shutdown-timeout](#worker-shutdown-timeout)|string|"240s"||
-|[load-balance](#load-balance)|string|"round_robin"||
-|[variables-hash-bucket-size](#variables-hash-bucket-size)|int|128||
-|[variables-hash-max-size](#variables-hash-max-size)|int|2048||
-|[upstream-keepalive-connections](#upstream-keepalive-connections)|int|320||
-|[upstream-keepalive-time](#upstream-keepalive-time)|string|"1h"||
-|[upstream-keepalive-timeout](#upstream-keepalive-timeout)|int|60||
-|[upstream-keepalive-requests](#upstream-keepalive-requests)|int|10000||
-|[limit-conn-zone-variable](#limit-conn-zone-variable)|string|"$binary_remote_addr"||
-|[proxy-stream-timeout](#proxy-stream-timeout)|string|"600s"||
-|[proxy-stream-next-upstream](#proxy-stream-next-upstream)|bool|"true"||
-|[proxy-stream-next-upstream-timeout](#proxy-stream-next-upstream-timeout)|string|"600s"||
-|[proxy-stream-next-upstream-tries](#proxy-stream-next-upstream-tries)|int|3||
-|[proxy-stream-responses](#proxy-stream-responses)|int|1||
-|[bind-address](#bind-address)|[]string|""||
-|[use-forwarded-headers](#use-forwarded-headers)|bool|"false"||
-|[enable-real-ip](#enable-real-ip)|bool|"false"||
-|[forwarded-for-header](#forwarded-for-header)|string|"X-Forwarded-For"||
-|[compute-full-forwarded-for](#compute-full-forwarded-for)|bool|"false"||
-|[proxy-add-original-uri-header](#proxy-add-original-uri-header)|bool|"false"||
-|[generate-request-id](#generate-request-id)|bool|"true"||
-|[enable-opentracing](#enable-opentracing)|bool|"false"||
-|[opentracing-operation-name](#opentracing-operation-name)|string|""||
-|[opentracing-location-operation-name](#opentracing-location-operation-name)|string|""||
-|[zipkin-collector-host](#zipkin-collector-host)|string|""||
-|[zipkin-collector-port](#zipkin-collector-port)|int|9411||
-|[zipkin-service-name](#zipkin-service-name)|string|"nginx"||
-|[zipkin-sample-rate](#zipkin-sample-rate)|float|1.0||
-|[jaeger-collector-host](#jaeger-collector-host)|string|""||
-|[jaeger-collector-port](#jaeger-collector-port)|int|6831||
-|[jaeger-endpoint](#jaeger-endpoint)|string|""||
-|[jaeger-service-name](#jaeger-service-name)|string|"nginx"||
-|[jaeger-propagation-format](#jaeger-propagation-format)|string|"jaeger"||
-|[jaeger-sampler-type](#jaeger-sampler-type)|string|"const"||
-|[jaeger-sampler-param](#jaeger-sampler-param)|string|"1"||
-|[jaeger-sampler-host](#jaeger-sampler-host)|string|"http://127.0.0.1"||
-|[jaeger-sampler-port](#jaeger-sampler-port)|int|5778||
-|[jaeger-trace-context-header-name](#jaeger-trace-context-header-name)|string|uber-trace-id||
-|[jaeger-debug-header](#jaeger-debug-header)|string|uber-debug-id||
-|[jaeger-baggage-header](#jaeger-baggage-header)|string|jaeger-baggage||
-|[jaeger-trace-baggage-header-prefix](#jaeger-trace-baggage-header-prefix)|string|uberctx-||
-|[datadog-collector-host](#datadog-collector-host)|string|""||
-|[datadog-collector-port](#datadog-collector-port)|int|8126||
-|[datadog-service-name](#datadog-service-name)|string|"nginx"||
-|[datadog-environment](#datadog-environment)|string|"prod"||
-|[datadog-operation-name-override](#datadog-operation-name-override)|string|"nginx.handle"||
-|[datadog-priority-sampling](#datadog-priority-sampling)|bool|"true"||
-|[datadog-sample-rate](#datadog-sample-rate)|float|1.0||
-|[enable-opentelemetry](#enable-opentelemetry)|bool|"false"||
-|[opentelemetry-trust-incoming-span](#opentelemetry-trust-incoming-span)|bool|"true"||
-|[opentelemetry-operation-name](#opentelemetry-operation-name)|string|""||
-|[opentelemetry-config](#/etc/nginx/opentelemetry.toml)|string|"/etc/nginx/opentelemetry.toml"||
-|[otlp-collector-host](#otlp-collector-host)|string|""||
-|[otlp-collector-port](#otlp-collector-port)|int|4317||
-|[otel-max-queuesize](#otel-max-queuesize)|int|||
-|[otel-schedule-delay-millis](#otel-schedule-delay-millis)|int|||
-|[otel-max-export-batch-size](#otel-max-export-batch-size)|int|||
-|[otel-service-name](#otel-service-name)|string|"nginx"||
-|[otel-sampler](#otel-sampler)|string|"AlwaysOff"||
-|[otel-sampler-parent-based](#otel-sampler-parent-based)|bool|"false"||
-|[otel-sampler-ratio](#otel-sampler-ratio)|float|0.01||
-|[main-snippet](#main-snippet)|string|""||
-|[http-snippet](#http-snippet)|string|""||
-|[server-snippet](#server-snippet)|string|""||
-|[stream-snippet](#stream-snippet)|string|""||
-|[location-snippet](#location-snippet)|string|""||
-|[custom-http-errors](#custom-http-errors)|[]int|[]int{}||
-|[proxy-body-size](#proxy-body-size)|string|"1m"||
-|[proxy-connect-timeout](#proxy-connect-timeout)|int|5||
-|[proxy-read-timeout](#proxy-read-timeout)|int|60||
-|[proxy-send-timeout](#proxy-send-timeout)|int|60||
-|[proxy-buffers-number](#proxy-buffers-number)|int|4||
-|[proxy-buffer-size](#proxy-buffer-size)|string|"4k"||
-|[proxy-cookie-path](#proxy-cookie-path)|string|"off"||
-|[proxy-cookie-domain](#proxy-cookie-domain)|string|"off"||
-|[proxy-next-upstream](#proxy-next-upstream)|string|"error timeout"||
-|[proxy-next-upstream-timeout](#proxy-next-upstream-timeout)|int|0||
-|[proxy-next-upstream-tries](#proxy-next-upstream-tries)|int|3||
-|[proxy-redirect-from](#proxy-redirect-from)|string|"off"||
-|[proxy-request-buffering](#proxy-request-buffering)|string|"on"||
-|[ssl-redirect](#ssl-redirect)|bool|"true"||
-|[force-ssl-redirect](#force-ssl-redirect)|bool|"false"||
-|[denylist-source-range](#denylist-source-range)|[]string|[]string{}||
-|[whitelist-source-range](#whitelist-source-range)|[]string|[]string{}||
-|[skip-access-log-urls](#skip-access-log-urls)|[]string|[]string{}||
-|[limit-rate](#limit-rate)|int|0||
-|[limit-rate-after](#limit-rate-after)|int|0||
-|[lua-shared-dicts](#lua-shared-dicts)|string|""||
-|[http-redirect-code](#http-redirect-code)|int|308||
-|[proxy-buffering](#proxy-buffering)|string|"off"||
-|[limit-req-status-code](#limit-req-status-code)|int|503||
-|[limit-conn-status-code](#limit-conn-status-code)|int|503||
-|[enable-syslog](#enable-syslog)|bool|false||
-|[syslog-host](#syslog-host)|string|""||
-|[syslog-port](#syslog-port)|int|514||
-|[no-tls-redirect-locations](#no-tls-redirect-locations)|string|"/.well-known/acme-challenge"||
-|[global-auth-url](#global-auth-url)|string|""||
-|[global-auth-method](#global-auth-method)|string|""||
-|[global-auth-signin](#global-auth-signin)|string|""||
-|[global-auth-signin-redirect-param](#global-auth-signin-redirect-param)|string|"rd"||
-|[global-auth-response-headers](#global-auth-response-headers)|string|""||
-|[global-auth-request-redirect](#global-auth-request-redirect)|string|""||
-|[global-auth-snippet](#global-auth-snippet)|string|""||
-|[global-auth-cache-key](#global-auth-cache-key)|string|""||
-|[global-auth-cache-duration](#global-auth-cache-duration)|string|"200 202 401 5m"||
-|[no-auth-locations](#no-auth-locations)|string|"/.well-known/acme-challenge"||
-|[block-cidrs](#block-cidrs)|[]string|""||
-|[block-user-agents](#block-user-agents)|[]string|""||
-|[block-referers](#block-referers)|[]string|""||
-|[proxy-ssl-location-only](#proxy-ssl-location-only)|bool|"false"||
-|[default-type](#default-type)|string|"text/html"||
-|[global-rate-limit-memcached-host](#global-rate-limit)|string|""||
-|[global-rate-limit-memcached-port](#global-rate-limit)|int|11211||
-|[global-rate-limit-memcached-connect-timeout](#global-rate-limit)|int|50||
-|[global-rate-limit-memcached-max-idle-timeout](#global-rate-limit)|int|10000||
-|[global-rate-limit-memcached-pool-size](#global-rate-limit)|int|50||
-|[global-rate-limit-status-code](#global-rate-limit)|int|429||
-|[service-upstream](#service-upstream)|bool|"false"||
-|[ssl-reject-handshake](#ssl-reject-handshake)|bool|"false"||
-|[debug-connections](#debug-connections)|[]string|"127.0.0.1,1.1.1.1/24"||
-|[strict-validate-path-type](#strict-validate-path-type)|bool|"false" (v1.7.x)||
+| name | type | default | notes |
+|:--------------------------------------------------------------------------------|:-------------|:-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:------------------------------------------------------------------------------------|
+| [add-headers](#add-headers) | string | "" | |
+| [allow-backend-server-header](#allow-backend-server-header) | bool | "false" | |
+| [allow-cross-namespace-resources](#allow-cross-namespace-resources) | bool | "true" | |
+| [allow-snippet-annotations](#allow-snippet-annotations) | bool | "false" | |
+| [annotations-risk-level](#annotations-risk-level) | string | Critical | |
+| [annotation-value-word-blocklist](#annotation-value-word-blocklist) | string array | "" | |
+| [hide-headers](#hide-headers) | string array | empty | |
+| [access-log-params](#access-log-params) | string | "" | |
+| [access-log-path](#access-log-path) | string | "/var/log/nginx/access.log" | |
+| [http-access-log-path](#http-access-log-path) | string | "" | |
+| [stream-access-log-path](#stream-access-log-path) | string | "" | |
+| [enable-access-log-for-default-backend](#enable-access-log-for-default-backend) | bool | "false" | |
+| [error-log-path](#error-log-path) | string | "/var/log/nginx/error.log" | |
+| [enable-modsecurity](#enable-modsecurity) | bool | "false" | |
+| [modsecurity-snippet](#modsecurity-snippet) | string | "" | |
+| [enable-owasp-modsecurity-crs](#enable-owasp-modsecurity-crs) | bool | "false" | |
+| [client-header-buffer-size](#client-header-buffer-size) | string | "1k" | |
+| [client-header-timeout](#client-header-timeout) | int | 60 | |
+| [client-body-buffer-size](#client-body-buffer-size) | string | "8k" | |
+| [client-body-timeout](#client-body-timeout) | int | 60 | |
+| [disable-access-log](#disable-access-log) | bool | "false" | |
+| [disable-ipv6](#disable-ipv6) | bool | "false" | |
+| [disable-ipv6-dns](#disable-ipv6-dns) | bool | "false" | |
+| [enable-underscores-in-headers](#enable-underscores-in-headers) | bool | "false" | |
+| [enable-ocsp](#enable-ocsp) | bool | "false" | |
+| [ignore-invalid-headers](#ignore-invalid-headers) | bool | "true" | |
+| [retry-non-idempotent](#retry-non-idempotent) | bool | "false" | |
+| [error-log-level](#error-log-level) | string | "notice" | |
+| [http2-max-field-size](#http2-max-field-size) | string | "" | DEPRECATED in favour of [large_client_header_buffers](#large-client-header-buffers) |
+| [http2-max-header-size](#http2-max-header-size) | string | "" | DEPRECATED in favour of [large_client_header_buffers](#large-client-header-buffers) |
+| [http2-max-requests](#http2-max-requests) | int | 0 | DEPRECATED in favour of [keepalive_requests](#keepalive-requests) |
+| [http2-max-concurrent-streams](#http2-max-concurrent-streams) | int | 128 | |
+| [hsts](#hsts) | bool | "true" | |
+| [hsts-include-subdomains](#hsts-include-subdomains) | bool | "true" | |
+| [hsts-max-age](#hsts-max-age) | string | "31536000" | |
+| [hsts-preload](#hsts-preload) | bool | "false" | |
+| [keep-alive](#keep-alive) | int | 75 | |
+| [keep-alive-requests](#keep-alive-requests) | int | 1000 | |
+| [large-client-header-buffers](#large-client-header-buffers) | string | "4 8k" | |
+| [log-format-escape-none](#log-format-escape-none) | bool | "false" | |
+| [log-format-escape-json](#log-format-escape-json) | bool | "false" | |
+| [log-format-upstream](#log-format-upstream) | string | `$remote_addr - $remote_user [$time_local] "$request" $status $body_bytes_sent "$http_referer" "$http_user_agent" $request_length $request_time [$proxy_upstream_name] [$proxy_alternative_upstream_name] $upstream_addr $upstream_response_length $upstream_response_time $upstream_status $req_id` | |
+| [log-format-stream](#log-format-stream) | string | `[$remote_addr] [$time_local] $protocol $status $bytes_sent $bytes_received $session_time` | |
+| [enable-multi-accept](#enable-multi-accept) | bool | "true" | |
+| [max-worker-connections](#max-worker-connections) | int | 16384 | |
+| [max-worker-open-files](#max-worker-open-files) | int | 0 | |
+| [map-hash-bucket-size](#max-hash-bucket-size) | int | 64 | |
+| [nginx-status-ipv4-whitelist](#nginx-status-ipv4-whitelist) | []string | "127.0.0.1" | |
+| [nginx-status-ipv6-whitelist](#nginx-status-ipv6-whitelist) | []string | "::1" | |
+| [proxy-real-ip-cidr](#proxy-real-ip-cidr) | []string | "0.0.0.0/0" | |
+| [proxy-set-headers](#proxy-set-headers) | string | "" | |
+| [server-name-hash-max-size](#server-name-hash-max-size) | int | 1024 | |
+| [server-name-hash-bucket-size](#server-name-hash-bucket-size) | int | `` |
+| [proxy-headers-hash-max-size](#proxy-headers-hash-max-size) | int | 512 | |
+| [proxy-headers-hash-bucket-size](#proxy-headers-hash-bucket-size) | int | 64 | |
+| [reuse-port](#reuse-port) | bool | "true" | |
+| [server-tokens](#server-tokens) | bool | "false" | |
+| [ssl-ciphers](#ssl-ciphers) | string | "ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384" | |
+| [ssl-ecdh-curve](#ssl-ecdh-curve) | string | "auto" | |
+| [ssl-dh-param](#ssl-dh-param) | string | "" | |
+| [ssl-protocols](#ssl-protocols) | string | "TLSv1.2 TLSv1.3" | |
+| [ssl-session-cache](#ssl-session-cache) | bool | "true" | |
+| [ssl-session-cache-size](#ssl-session-cache-size) | string | "10m" | |
+| [ssl-session-tickets](#ssl-session-tickets) | bool | "false" | |
+| [ssl-session-ticket-key](#ssl-session-ticket-key) | string | `` |
+| [ssl-session-timeout](#ssl-session-timeout) | string | "10m" | |
+| [ssl-buffer-size](#ssl-buffer-size) | string | "4k" | |
+| [use-proxy-protocol](#use-proxy-protocol) | bool | "false" | |
+| [proxy-protocol-header-timeout](#proxy-protocol-header-timeout) | string | "5s" | |
+| [enable-aio-write](#enable-aio-write) | bool | "true" | |
+| [use-gzip](#use-gzip) | bool | "false" | |
+| [use-geoip](#use-geoip) | bool | "true" | |
+| [use-geoip2](#use-geoip2) | bool | "false" | |
+| [geoip2-autoreload-in-minutes](#geoip2-autoreload-in-minutes) | int | "0" | |
+| [enable-brotli](#enable-brotli) | bool | "false" | |
+| [brotli-level](#brotli-level) | int | 4 | |
+| [brotli-min-length](#brotli-min-length) | int | 20 | |
+| [brotli-types](#brotli-types) | string | "application/xml+rss application/atom+xml application/javascript application/x-javascript application/json application/rss+xml application/vnd.ms-fontobject application/x-font-ttf application/x-web-app-manifest+json application/xhtml+xml application/xml font/opentype image/svg+xml image/x-icon text/css text/javascript text/plain text/x-component" | |
+| [use-http2](#use-http2) | bool | "true" | |
+| [gzip-disable](#gzip-disable) | string | "" | |
+| [gzip-level](#gzip-level) | int | 1 | |
+| [gzip-min-length](#gzip-min-length) | int | 256 | |
+| [gzip-types](#gzip-types) | string | "application/atom+xml application/javascript application/x-javascript application/json application/rss+xml application/vnd.ms-fontobject application/x-font-ttf application/x-web-app-manifest+json application/xhtml+xml application/xml font/opentype image/svg+xml image/x-icon text/css text/javascript text/plain text/x-component" | |
+| [worker-processes](#worker-processes) | string | `` | |
+| [worker-cpu-affinity](#worker-cpu-affinity) | string | "" | |
+| [worker-shutdown-timeout](#worker-shutdown-timeout) | string | "240s" | |
+| [enable-serial-reloads](#enable-serial-reloads) | bool | "false" | |
+| [load-balance](#load-balance) | string | "round_robin" | |
+| [variables-hash-bucket-size](#variables-hash-bucket-size) | int | 128 | |
+| [variables-hash-max-size](#variables-hash-max-size) | int | 2048 | |
+| [upstream-keepalive-connections](#upstream-keepalive-connections) | int | 320 | |
+| [upstream-keepalive-time](#upstream-keepalive-time) | string | "1h" | |
+| [upstream-keepalive-timeout](#upstream-keepalive-timeout) | int | 60 | |
+| [upstream-keepalive-requests](#upstream-keepalive-requests) | int | 10000 | |
+| [limit-conn-zone-variable](#limit-conn-zone-variable) | string | "$binary_remote_addr" | |
+| [proxy-stream-timeout](#proxy-stream-timeout) | string | "600s" | |
+| [proxy-stream-next-upstream](#proxy-stream-next-upstream) | bool | "true" | |
+| [proxy-stream-next-upstream-timeout](#proxy-stream-next-upstream-timeout) | string | "600s" | |
+| [proxy-stream-next-upstream-tries](#proxy-stream-next-upstream-tries) | int | 3 | |
+| [proxy-stream-responses](#proxy-stream-responses) | int | 1 | |
+| [bind-address](#bind-address) | []string | "" | |
+| [use-forwarded-headers](#use-forwarded-headers) | bool | "false" | |
+| [enable-real-ip](#enable-real-ip) | bool | "false" | |
+| [forwarded-for-header](#forwarded-for-header) | string | "X-Forwarded-For" | |
+| [compute-full-forwarded-for](#compute-full-forwarded-for) | bool | "false" | |
+| [proxy-add-original-uri-header](#proxy-add-original-uri-header) | bool | "false" | |
+| [generate-request-id](#generate-request-id) | bool | "true" | |
+| [jaeger-collector-host](#jaeger-collector-host) | string | "" | |
+| [jaeger-collector-port](#jaeger-collector-port) | int | 6831 | |
+| [jaeger-endpoint](#jaeger-endpoint) | string | "" | |
+| [jaeger-service-name](#jaeger-service-name) | string | "nginx" | |
+| [jaeger-propagation-format](#jaeger-propagation-format) | string | "jaeger" | |
+| [jaeger-sampler-type](#jaeger-sampler-type) | string | "const" | |
+| [jaeger-sampler-param](#jaeger-sampler-param) | string | "1" | |
+| [jaeger-sampler-host](#jaeger-sampler-host) | string | "http://127.0.0.1" | |
+| [jaeger-sampler-port](#jaeger-sampler-port) | int | 5778 | |
+| [jaeger-trace-context-header-name](#jaeger-trace-context-header-name) | string | uber-trace-id | |
+| [jaeger-debug-header](#jaeger-debug-header) | string | uber-debug-id | |
+| [jaeger-baggage-header](#jaeger-baggage-header) | string | jaeger-baggage | |
+| [jaeger-trace-baggage-header-prefix](#jaeger-trace-baggage-header-prefix) | string | uberctx- | |
+| [datadog-collector-host](#datadog-collector-host) | string | "" | |
+| [datadog-collector-port](#datadog-collector-port) | int | 8126 | |
+| [datadog-service-name](#datadog-service-name) | string | "nginx" | |
+| [datadog-environment](#datadog-environment) | string | "prod" | |
+| [datadog-operation-name-override](#datadog-operation-name-override) | string | "nginx.handle" | |
+| [datadog-priority-sampling](#datadog-priority-sampling) | bool | "true" | |
+| [datadog-sample-rate](#datadog-sample-rate) | float | 1.0 | |
+| [enable-opentelemetry](#enable-opentelemetry) | bool | "false" | |
+| [opentelemetry-trust-incoming-span](#opentelemetry-trust-incoming-span) | bool | "true" | |
+| [opentelemetry-operation-name](#opentelemetry-operation-name) | string | "" | |
+| [opentelemetry-config](#/etc/nginx/opentelemetry.toml) | string | "/etc/nginx/opentelemetry.toml" | |
+| [otlp-collector-host](#otlp-collector-host) | string | "" | |
+| [otlp-collector-port](#otlp-collector-port) | int | 4317 | |
+| [otel-max-queuesize](#otel-max-queuesize) | int | | |
+| [otel-schedule-delay-millis](#otel-schedule-delay-millis) | int | | |
+| [otel-max-export-batch-size](#otel-max-export-batch-size) | int | | |
+| [otel-service-name](#otel-service-name) | string | "nginx" | |
+| [otel-sampler](#otel-sampler) | string | "AlwaysOff" | |
+| [otel-sampler-parent-based](#otel-sampler-parent-based) | bool | "false" | |
+| [otel-sampler-ratio](#otel-sampler-ratio) | float | 0.01 | |
+| [main-snippet](#main-snippet) | string | "" | |
+| [http-snippet](#http-snippet) | string | "" | |
+| [server-snippet](#server-snippet) | string | "" | |
+| [stream-snippet](#stream-snippet) | string | "" | |
+| [location-snippet](#location-snippet) | string | "" | |
+| [custom-http-errors](#custom-http-errors) | []int | []int{} | |
+| [proxy-body-size](#proxy-body-size) | string | "1m" | |
+| [proxy-connect-timeout](#proxy-connect-timeout) | int | 5 | |
+| [proxy-read-timeout](#proxy-read-timeout) | int | 60 | |
+| [proxy-send-timeout](#proxy-send-timeout) | int | 60 | |
+| [proxy-buffers-number](#proxy-buffers-number) | int | 4 | |
+| [proxy-buffer-size](#proxy-buffer-size) | string | "4k" | |
+| [proxy-cookie-path](#proxy-cookie-path) | string | "off" | |
+| [proxy-cookie-domain](#proxy-cookie-domain) | string | "off" | |
+| [proxy-next-upstream](#proxy-next-upstream) | string | "error timeout" | |
+| [proxy-next-upstream-timeout](#proxy-next-upstream-timeout) | int | 0 | |
+| [proxy-next-upstream-tries](#proxy-next-upstream-tries) | int | 3 | |
+| [proxy-redirect-from](#proxy-redirect-from) | string | "off" | |
+| [proxy-request-buffering](#proxy-request-buffering) | string | "on" | |
+| [ssl-redirect](#ssl-redirect) | bool | "true" | |
+| [force-ssl-redirect](#force-ssl-redirect) | bool | "false" | |
+| [denylist-source-range](#denylist-source-range) | []string | []string{} | |
+| [whitelist-source-range](#whitelist-source-range) | []string | []string{} | |
+| [skip-access-log-urls](#skip-access-log-urls) | []string | []string{} | |
+| [limit-rate](#limit-rate) | int | 0 | |
+| [limit-rate-after](#limit-rate-after) | int | 0 | |
+| [lua-shared-dicts](#lua-shared-dicts) | string | "" | |
+| [http-redirect-code](#http-redirect-code) | int | 308 | |
+| [proxy-buffering](#proxy-buffering) | string | "off" | |
+| [limit-req-status-code](#limit-req-status-code) | int | 503 | |
+| [limit-conn-status-code](#limit-conn-status-code) | int | 503 | |
+| [enable-syslog](#enable-syslog) | bool | "false" | |
+| [syslog-host](#syslog-host) | string | "" | |
+| [syslog-port](#syslog-port) | int | 514 | |
+| [no-tls-redirect-locations](#no-tls-redirect-locations) | string | "/.well-known/acme-challenge" | |
+| [global-allowed-response-headers](#global-allowed-response-headers) | string | "" | |
+| [global-auth-url](#global-auth-url) | string | "" | |
+| [global-auth-method](#global-auth-method) | string | "" | |
+| [global-auth-signin](#global-auth-signin) | string | "" | |
+| [global-auth-signin-redirect-param](#global-auth-signin-redirect-param) | string | "rd" | |
+| [global-auth-response-headers](#global-auth-response-headers) | string | "" | |
+| [global-auth-request-redirect](#global-auth-request-redirect) | string | "" | |
+| [global-auth-snippet](#global-auth-snippet) | string | "" | |
+| [global-auth-cache-key](#global-auth-cache-key) | string | "" | |
+| [global-auth-cache-duration](#global-auth-cache-duration) | string | "200 202 401 5m" | |
+| [no-auth-locations](#no-auth-locations) | string | "/.well-known/acme-challenge" | |
+| [block-cidrs](#block-cidrs) | []string | "" | |
+| [block-user-agents](#block-user-agents) | []string | "" | |
+| [block-referers](#block-referers) | []string | "" | |
+| [proxy-ssl-location-only](#proxy-ssl-location-only) | bool | "false" | |
+| [default-type](#default-type) | string | "text/html" | |
+| [global-rate-limit-memcached-host](#global-rate-limit) | string | "" | |
+| [global-rate-limit-memcached-port](#global-rate-limit) | int | 11211 | |
+| [global-rate-limit-memcached-connect-timeout](#global-rate-limit) | int | 50 | |
+| [global-rate-limit-memcached-max-idle-timeout](#global-rate-limit) | int | 10000 | |
+| [global-rate-limit-memcached-pool-size](#global-rate-limit) | int | 50 | |
+| [global-rate-limit-status-code](#global-rate-limit) | int | 429 | |
+| [service-upstream](#service-upstream) | bool | "false" | |
+| [ssl-reject-handshake](#ssl-reject-handshake) | bool | "false" | |
+| [debug-connections](#debug-connections) | []string | "127.0.0.1,1.1.1.1/24" | |
+| [strict-validate-path-type](#strict-validate-path-type) | bool | "false" (v1.7.x) | |
+| [grpc-buffer-size-kb](#grpc-buffer-size-kb) | int | 0 | |
## add-headers
@@ -616,10 +611,6 @@ _References:_
- [https://nginx.org/en/docs/hash.html](https://nginx.org/en/docs/hash.html)
- [https://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_headers_hash_bucket_size](https://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_headers_hash_bucket_size)
-## plugins
-
-Activates plugins installed in `/etc/nginx/lua/plugins`. Refer to [ingress-nginx plugins README](https://github.com/kubernetes/ingress-nginx/blob/main/rootfs/etc/nginx/lua/plugins/README.md) for more information on how to write and install a plugin.
-
## server-tokens
Send NGINX Server header in responses and display NGINX version in error pages. _**default:**_ is disabled
@@ -740,7 +731,7 @@ _**default:**_ false
## geoip2-autoreload-in-minutes
-Enables the [geoip2 module](https://github.com/leev/ngx_http_geoip2_module) autoreload in MaxMind databases setting the interval in minutes.
+Enables the [geoip2 module](https://github.com/leev/ngx_http_geoip2_module) autoreload in MaxMind databases setting the interval in minutes.
_**default:**_ 0
@@ -942,41 +933,6 @@ Adds an X-Original-Uri header with the original request URI to the backend reque
Ensures that X-Request-ID is defaulted to a random value, if no X-Request-ID is present in the request
-## enable-opentracing
-
-Enables the nginx Opentracing extension. _**default:**_ is disabled
-
-_References:_
-[https://github.com/opentracing-contrib/nginx-opentracing](https://github.com/opentracing-contrib/nginx-opentracing)
-
-## opentracing-operation-name
-
-Specifies a custom name for the server span. _**default:**_ is empty
-
-For example, set to "HTTP $request_method $uri".
-
-## opentracing-location-operation-name
-
-Specifies a custom name for the location span. _**default:**_ is empty
-
-For example, set to "HTTP $request_method $uri".
-
-## zipkin-collector-host
-
-Specifies the host to use when uploading traces. It must be a valid URL.
-
-## zipkin-collector-port
-
-Specifies the port to use when uploading traces. _**default:**_ 9411
-
-## zipkin-service-name
-
-Specifies the service name to use for any traces created. _**default:**_ nginx
-
-## zipkin-sample-rate
-
-Specifies sample rate for any traces created. _**default:**_ 1.0
-
## jaeger-collector-host
Specifies the host to use when uploading traces. It must be a valid URL.
@@ -1140,14 +1096,20 @@ See NGINX [client_max_body_size](https://nginx.org/en/docs/http/ngx_http_core_mo
Sets the timeout for [establishing a connection with a proxied server](https://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_connect_timeout). It should be noted that this timeout cannot usually exceed 75 seconds.
+It will also set the [grpc_connect_timeout](https://nginx.org/en/docs/http/ngx_http_grpc_module.html#grpc_connect_timeout) for gRPC connections.
+
## proxy-read-timeout
Sets the timeout in seconds for [reading a response from the proxied server](https://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_read_timeout). The timeout is set only between two successive read operations, not for the transmission of the whole response.
+It will also set the [grpc_read_timeout](https://nginx.org/en/docs/http/ngx_http_grpc_module.html#grpc_read_timeout) for gRPC connections.
+
## proxy-send-timeout
Sets the timeout in seconds for [transmitting a request to the proxied server](https://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_send_timeout). The timeout is set only between two successive write operations, not for the transmission of the whole request.
+It will also set the [grpc_send_timeout](https://nginx.org/en/docs/http/ngx_http_grpc_module.html#grpc_send_timeout) for gRPC connections.
+
## proxy-buffers-number
Sets the number of the buffer used for [reading the first part of the response](https://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_buffers) received from the proxied server. This part usually contains a small response header.
@@ -1284,6 +1246,10 @@ Sets the port of syslog server. _**default:**_ 514
A comma-separated list of locations on which http requests will never get redirected to their https counterpart.
_**default:**_ "/.well-known/acme-challenge"
+## global-allowed-response-headers
+
+A comma-separated list of allowed response headers inside the [custom headers annotations](https://github.com/kubernetes/ingress-nginx/blob/main/docs/user-guide/nginx-configuration/annotations.md#custom-headers)
+
## global-auth-url
A url to an existing service that provides authentication for all the locations.
@@ -1432,3 +1398,10 @@ This means that Ingress objects that rely on paths containing regex characters s
The cluster admin should establish validation rules using mechanisms like [Open Policy Agent](https://www.openpolicyagent.org/) to
validate that only authorized users can use `ImplementationSpecific` pathType and that only the authorized characters can be used.
+
+## grpc-buffer-size-kb
+
+Sets the configuration for the GRPC Buffer Size parameter. If not set it will use the default from NGINX.
+
+_References:_
+[https://nginx.org/en/docs/http/ngx_http_grpc_module.html#grpc_buffer_size](https://nginx.org/en/docs/http/ngx_http_grpc_module.html#grpc_buffer_size)
diff --git a/docs/user-guide/retaining-client-ipaddress.md b/docs/user-guide/retaining-client-ipaddress.md
deleted file mode 100644
index 237bd3004..000000000
--- a/docs/user-guide/retaining-client-ipaddress.md
+++ /dev/null
@@ -1,44 +0,0 @@
-
-## Retaining Client IPAddress
-
-Please read this https://kubernetes.github.io/ingress-nginx/user-guide/miscellaneous/#source-ip-address , to get details of retaining the client IPAddress.
-
-### Using proxy-protocol
-
-Please read this https://kubernetes.github.io/ingress-nginx/user-guide/miscellaneous/#proxy-protocol , to use proxy-protocol for retaining client IPAddress
-
-
-### Using the K8S spec service.spec.externalTrafficPolicy
-
-```
-% kubectl explain service.spec.externalTrafficPolicy
-KIND: Service
-VERSION: v1
-
-FIELD: externalTrafficPolicy
-
-DESCRIPTION:
- externalTrafficPolicy describes how nodes distribute service traffic they
- receive on one of the Service's "externally-facing" addresses (NodePorts,
- ExternalIPs, and LoadBalancer IPs). If set to "Local", the proxy will
- configure the service in a way that assumes that external load balancers
- will take care of balancing the service traffic between nodes, and so each
- node will deliver traffic only to the node-local endpoints of the service,
- without masquerading the client source IP. (Traffic mistakenly sent to a
- node with no endpoints will be dropped.) The default value, "Cluster", uses
- the standard behavior of routing to all endpoints evenly (possibly modified
- by topology and other features). Note that traffic sent to an External IP or
- LoadBalancer IP from within the cluster will always get "Cluster" semantics,
- but clients sending to a NodePort from within the cluster may need to take
- traffic policy into account when picking a node.
-
- Possible enum values:
- - `"Cluster"` routes traffic to all endpoints.
- - `"Local"` preserves the source IP of the traffic by routing only to
- endpoints on the same node as the traffic was received on (dropping the
- traffic if there are no local endpoints).
-
-```
-
-
-- Setting the field `externalTrafficPolicy`, in the ingress-controller service, to a value of `Local` retains the client's ipaddress, within the scope explained above
diff --git a/docs/user-guide/third-party-addons/modsecurity.md b/docs/user-guide/third-party-addons/modsecurity.md
index 93a7f4097..38d39888d 100644
--- a/docs/user-guide/third-party-addons/modsecurity.md
+++ b/docs/user-guide/third-party-addons/modsecurity.md
@@ -14,3 +14,97 @@ The default `Serial` value in SecAuditLogType can impact performance.
The OWASP ModSecurity Core Rule Set (CRS) is a set of generic attack detection rules for use with ModSecurity or compatible web application firewalls. The CRS aims to protect web applications from a wide range of attacks, including the OWASP Top Ten, with a minimum of false alerts.
The directory `/etc/nginx/owasp-modsecurity-crs` contains the [OWASP ModSecurity Core Rule Set repository](https://github.com/coreruleset/coreruleset).
Using `enable-owasp-modsecurity-crs: "true"` we enable the use of the rules.
+
+## Supported annotations
+
+For more info on supported annotations, please see [annotations/#modsecurity](https://kubernetes.github.io/ingress-nginx/user-guide/nginx-configuration/annotations/#modsecurity)
+
+## Example of using ModSecurity with plugins via the helm chart
+
+Suppose you have a ConfigMap that contains the contents of the [nextcloud-rule-exclusions plugin](https://github.com/coreruleset/nextcloud-rule-exclusions-plugin/blob/main/plugins/nextcloud-rule-exclusions-before.conf) like this:
+
+```yaml
+apiVersion: v1
+kind: ConfigMap
+metadata:
+ name: modsecurity-plugins
+data:
+ empty-after.conf: |
+ # no data
+ empty-before.conf: |
+ # no data
+ empty-config.conf: |
+ # no data
+ nextcloud-rule-exclusions-before.conf:
+ # this is just a snippet
+ # find the full file at https://github.com/coreruleset/nextcloud-rule-exclusions-plugin
+ #
+ # [ File Manager ]
+ # The web interface uploads files, and interacts with the user.
+ SecRule REQUEST_FILENAME "@contains /remote.php/webdav" \
+ "id:9508102,\
+ phase:1,\
+ pass,\
+ t:none,\
+ nolog,\
+ ver:'nextcloud-rule-exclusions-plugin/1.2.0',\
+ ctl:ruleRemoveById=920420,\
+ ctl:ruleRemoveById=920440,\
+ ctl:ruleRemoveById=941000-942999,\
+ ctl:ruleRemoveById=951000-951999,\
+ ctl:ruleRemoveById=953100-953130,\
+ ctl:ruleRemoveByTag=attack-injection-php"
+```
+
+If you're using the helm chart, you can pass in the following parameters in your `values.yaml`:
+
+```yaml
+controller:
+ config:
+ # Enables Modsecurity
+ enable-modsecurity: "true"
+
+ # Update ModSecurity config and rules
+ modsecurity-snippet: |
+ # this enables the mod security nextcloud plugin
+ Include /etc/nginx/owasp-modsecurity-crs/plugins/nextcloud-rule-exclusions-before.conf
+
+ # this enables the default OWASP Core Rule Set
+ Include /etc/nginx/owasp-modsecurity-crs/nginx-modsecurity.conf
+
+ # Enable prevention mode. Options: DetectionOnly,On,Off (default is DetectionOnly)
+ SecRuleEngine On
+
+ # Enable scanning of the request body
+ SecRequestBodyAccess On
+
+ # Enable XML and JSON parsing
+ SecRule REQUEST_HEADERS:Content-Type "(?:text|application(?:/soap\+|/)|application/xml)/" \
+ "id:200000,phase:1,t:none,t:lowercase,pass,nolog,ctl:requestBodyProcessor=XML"
+
+ SecRule REQUEST_HEADERS:Content-Type "application/json" \
+ "id:200001,phase:1,t:none,t:lowercase,pass,nolog,ctl:requestBodyProcessor=JSON"
+
+ # Reject if larger (we could also let it pass with ProcessPartial)
+ SecRequestBodyLimitAction Reject
+
+ # Send ModSecurity audit logs to the stdout (only for rejected requests)
+ SecAuditLog /dev/stdout
+
+ # format the logs in JSON
+ SecAuditLogFormat JSON
+
+ # could be On/Off/RelevantOnly
+ SecAuditEngine RelevantOnly
+
+ # Add a volume for the plugins directory
+ extraVolumes:
+ - name: plugins
+ configMap:
+ name: modsecurity-plugins
+
+ # override the /etc/nginx/enable-owasp-modsecurity-crs/plugins with your ConfigMap
+ extraVolumeMounts:
+ - name: plugins
+ mountPath: /etc/nginx/owasp-modsecurity-crs/plugins
+```
diff --git a/docs/user-guide/third-party-addons/opentelemetry.md b/docs/user-guide/third-party-addons/opentelemetry.md
index e681e1c69..4d71ff675 100644
--- a/docs/user-guide/third-party-addons/opentelemetry.md
+++ b/docs/user-guide/third-party-addons/opentelemetry.md
@@ -152,7 +152,7 @@ To install the example and collectors run:
```yaml
opentelemetry:
enabled: true
- image: registry.k8s.io/ingress-nginx/opentelemetry:v20230527@sha256:fd7ec835f31b7b37187238eb4fdad4438806e69f413a203796263131f4f02ed0
+ image: registry.k8s.io/ingress-nginx/opentelemetry-1.25.3:v20240813-b933310d@sha256:f7604ac0547ed64d79b98d92133234e66c2c8aade3c1f4809fed5eec1fb7f922
containerSecurityContext:
allowPrivilegeEscalation: false
```
diff --git a/docs/user-guide/third-party-addons/opentracing.md b/docs/user-guide/third-party-addons/opentracing.md
deleted file mode 100644
index f5ec59faf..000000000
--- a/docs/user-guide/third-party-addons/opentracing.md
+++ /dev/null
@@ -1,263 +0,0 @@
-# OpenTracing
-
-Enables requests served by NGINX for distributed tracing via The OpenTracing Project.
-
-Using the third party module [opentracing-contrib/nginx-opentracing](https://github.com/opentracing-contrib/nginx-opentracing) the Ingress-Nginx Controller can configure NGINX to enable [OpenTracing](http://opentracing.io) instrumentation.
-By default this feature is disabled.
-
-## Usage
-
-To enable the instrumentation we must enable OpenTracing in the configuration ConfigMap:
-```
-data:
- enable-opentracing: "true"
-```
-
-To enable or disable instrumentation for a single Ingress, use
-the `enable-opentracing` annotation:
-```
-kind: Ingress
-metadata:
- annotations:
- nginx.ingress.kubernetes.io/enable-opentracing: "true"
-```
-
-We must also set the host to use when uploading traces:
-
-```
-zipkin-collector-host: zipkin.default.svc.cluster.local
-jaeger-collector-host: jaeger-agent.default.svc.cluster.local
-datadog-collector-host: datadog-agent.default.svc.cluster.local
-```
-NOTE: While the option is called `jaeger-collector-host`, you will need to point this to a `jaeger-agent`, and not the `jaeger-collector` component.
-Alternatively, you can set `jaeger-endpoint` and specify the full endpoint for uploading traces. This will use TCP and should be used for a collector rather than an agent.
-
-Next you will need to deploy a distributed tracing system which uses OpenTracing.
-[Zipkin](https://github.com/openzipkin/zipkin) and
-[Jaeger](https://github.com/jaegertracing/jaeger) and
-[Datadog](https://github.com/DataDog/dd-opentracing-cpp)
-have been tested.
-
-Other optional configuration options:
-```
-# specifies the name to use for the server span
-opentracing-operation-name
-
-# specifies specifies the name to use for the location span
-opentracing-location-operation-name
-
-# sets whether or not to trust incoming tracing spans
-opentracing-trust-incoming-span
-
-# specifies the port to use when uploading traces, Default: 9411
-zipkin-collector-port
-
-# specifies the service name to use for any traces created, Default: nginx
-zipkin-service-name
-
-# specifies sample rate for any traces created, Default: 1.0
-zipkin-sample-rate
-
-# specifies the port to use when uploading traces, Default: 6831
-jaeger-collector-port
-
-# specifies the endpoint to use when uploading traces to a collector instead of an agent
-jaeger-endpoint
-
-# specifies the service name to use for any traces created, Default: nginx
-jaeger-service-name
-
-# specifies the traceparent/tracestate propagation format
-jaeger-propagation-format
-
-# specifies the sampler to be used when sampling traces.
-# The available samplers are: const, probabilistic, ratelimiting, remote, Default: const
-jaeger-sampler-type
-
-# specifies the argument to be passed to the sampler constructor, Default: 1
-jaeger-sampler-param
-
-# Specifies the custom remote sampler host to be passed to the sampler constructor. Must be a valid URL.
-# Default: http://127.0.0.1
-jaeger-sampler-host
-
-# Specifies the custom remote sampler port to be passed to the sampler constructor. Must be a number. Default: 5778
-jaeger-sampler-port
-
-# Specifies the header name used for passing trace context. Must be a string. Default: uber-trace-id
-jaeger-trace-context-header-name
-
-# Specifies the header name used for force sampling. Must be a string. Default: jaeger-debug-id
-jaeger-debug-header
-
-# Specifies the header name used to submit baggage if there is no root span. Must be a string. Default: jaeger-baggage
-jaeger-baggage-header
-
-# Specifies the header prefix used to propagate baggage. Must be a string. Default: uberctx-
-jaeger-tracer-baggage-header-prefix
-
-# specifies the port to use when uploading traces, Default 8126
-datadog-collector-port
-
-# specifies the service name to use for any traces created, Default: nginx
-datadog-service-name
-
-# specifies the environment this trace belongs to, Default: prod
-datadog-environment
-
-# specifies the operation name to use for any traces collected, Default: nginx.handle
-datadog-operation-name-override
-
-# Specifies to use client-side sampling for distributed priority sampling and ignore sample rate, Default: true
-datadog-priority-sampling
-
-# specifies sample rate for any traces created, Default: 1.0
-datadog-sample-rate
-```
-
-All these options (including host) allow environment variables, such as `$HOSTNAME` or `$HOST_IP`. In the case of Jaeger, if you have a Jaeger agent running on each machine in your cluster, you can use something like `$HOST_IP` (which can be 'mounted' with the `status.hostIP` fieldpath, as described [here](https://kubernetes.io/docs/tasks/inject-data-application/downward-api-volume-expose-pod-information/#capabilities-of-the-downward-api)) to make sure traces will be sent to the local agent.
-
-
-Note that you can also set whether to trust incoming spans (global default is true) per-location using annotations like the following:
-```
-kind: Ingress
-metadata:
- annotations:
- nginx.ingress.kubernetes.io/opentracing-trust-incoming-span: "true"
-```
-
-## Examples
-
-The following examples show how to deploy and test different distributed tracing systems. These example can be performed using Minikube.
-
-### Zipkin
-
-In the [rnburn/zipkin-date-server](https://github.com/rnburn/zipkin-date-server)
-GitHub repository is an example of a dockerized date service. To install the example and Zipkin collector run:
-
-```
-kubectl create -f https://raw.githubusercontent.com/rnburn/zipkin-date-server/master/kubernetes/zipkin.yaml
-kubectl create -f https://raw.githubusercontent.com/rnburn/zipkin-date-server/master/kubernetes/deployment.yaml
-```
-
-Also we need to configure the Ingress-NGINX controller ConfigMap with the required values:
-
-```
-$ echo '
-apiVersion: v1
-kind: ConfigMap
-data:
- enable-opentracing: "true"
- zipkin-collector-host: zipkin.default.svc.cluster.local
-metadata:
- name: ingress-nginx-controller
- namespace: kube-system
-' | kubectl replace -f -
-```
-
-In the Zipkin interface we can see the details:
-
-
-### Jaeger
-
-1. Enable Ingress addon in Minikube:
- ```
- $ minikube addons enable ingress
- ```
-
-2. Add Minikube IP to /etc/hosts:
- ```
- $ echo "$(minikube ip) example.com" | sudo tee -a /etc/hosts
- ```
-
-3. Apply a basic Service and Ingress Resource:
- ```
- # Create Echoheaders Deployment
- $ kubectl run echoheaders --image=registry.k8s.io/echoserver:1.4 --replicas=1 --port=8080
-
- # Expose as a Cluster-IP
- $ kubectl expose deployment echoheaders --port=80 --target-port=8080 --name=echoheaders-x
-
- # Apply the Ingress Resource
- $ echo '
- apiVersion: networking.k8s.io/v1
- kind: Ingress
- metadata:
- name: echo-ingress
- spec:
- ingressClassName: nginx
- rules:
- - host: example.com
- http:
- paths:
- - path: /echo
- pathType: Prefix
- backend:
- service:
- name: echoheaders-x
- port:
- number: 80
- ' | kubectl apply -f -
- ```
-
-4. Enable OpenTracing and set the jaeger-collector-host:
- ```
- $ echo '
- apiVersion: v1
- kind: ConfigMap
- data:
- enable-opentracing: "true"
- jaeger-collector-host: jaeger-agent.default.svc.cluster.local
- metadata:
- name: ingress-nginx-controller
- namespace: kube-system
- ' | kubectl replace -f -
- ```
-
-5. Apply the Jaeger All-In-One Template:
- ```
- $ kubectl apply -f https://raw.githubusercontent.com/jaegertracing/jaeger-kubernetes/master/all-in-one/jaeger-all-in-one-template.yml
- ```
-
-6. Make a few requests to the Service:
- ```
- $ curl example.com/echo -d "meow"
-
- CLIENT VALUES:
- client_address=172.17.0.5
- command=POST
- real path=/echo
- query=nil
- request_version=1.1
- request_uri=http://example.com:8080/echo
-
- SERVER VALUES:
- server_version=nginx: 1.10.0 - lua: 10001
-
- HEADERS RECEIVED:
- accept=*/*
- connection=close
- content-length=4
- content-type=application/x-www-form-urlencoded
- host=example.com
- user-agent=curl/7.54.0
- x-forwarded-for=192.168.99.1
- x-forwarded-host=example.com
- x-forwarded-port=80
- x-forwarded-proto=http
- x-original-uri=/echo
- x-real-ip=192.168.99.1
- x-scheme=http
- BODY:
- meow
- ```
-
-7. View the Jaeger UI:
- ```
- $ minikube service jaeger-query --url
-
- http://192.168.99.100:30183
- ```
-
- In the Jaeger interface we can see the details:
- 
diff --git a/docs/user-guide/tls.md b/docs/user-guide/tls.md
index 11338981b..eaf33e210 100644
--- a/docs/user-guide/tls.md
+++ b/docs/user-guide/tls.md
@@ -23,7 +23,7 @@ The resulting secret will be of type `kubernetes.io/tls`.
## Host names
-Ensure that the relevant [ingress rules specify a matching host name](https://kubernetes.io/docs/concepts/services-networking/ingress/#tls).
+Ensure that the relevant [ingress rules specify a matching hostname](https://kubernetes.io/docs/concepts/services-networking/ingress/#tls).
## Default SSL Certificate
@@ -41,8 +41,9 @@ If this flag is not provided NGINX will use a self-signed certificate.
For instance, if you have a TLS secret `foo-tls` in the `default` namespace,
add `--default-ssl-certificate=default/foo-tls` in the `nginx-controller` deployment.
-The default certificate will also be used for ingress `tls:` sections that do not
-have a `secretName` option.
+If the `tls:` section is not set, NGINX will provide the default certificate but will not force HTTPS redirect.
+
+On the other hand, if the `tls:` section is set - even without specifying a `secretName` option - NGINX will force HTTPS redirect.
To force redirects for Ingresses that do not specify a TLS-block at all, take a look at `force-ssl-redirect` in [ConfigMap][ConfigMap].
@@ -145,7 +146,7 @@ metadata:
name: nginx-config
data:
ssl-ciphers: "ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:DHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA:ECDHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES256-SHA256:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:DES-CBC3-SHA"
- ssl-protocols: "TLSv1 TLSv1.1 TLSv1.2 TLSv1.3"
+ ssl-protocols: "TLSv1.2 TLSv1.3"
```
diff --git a/go.mod b/go.mod
index 960df0c20..95123b04b 100644
--- a/go.mod
+++ b/go.mod
@@ -1,9 +1,9 @@
module k8s.io/ingress-nginx
-go 1.21
+go 1.22.6
require (
- dario.cat/mergo v1.0.0
+ dario.cat/mergo v1.0.1
github.com/armon/go-proxyproto v0.1.0
github.com/eapache/channels v1.1.0
github.com/fsnotify/fsnotify v1.7.0
@@ -13,57 +13,66 @@ require (
github.com/mitchellh/hashstructure/v2 v2.0.2
github.com/mitchellh/mapstructure v1.5.0
github.com/moul/pb v0.0.0-20220425114252-bca18df4138c
- github.com/ncabatoff/process-exporter v0.7.10
- github.com/onsi/ginkgo/v2 v2.16.0
- github.com/opencontainers/runc v1.1.12
- github.com/pmezard/go-difflib v1.0.0
- github.com/prometheus/client_golang v1.19.0
- github.com/prometheus/client_model v0.6.0
- github.com/prometheus/common v0.50.0
- github.com/spf13/cobra v1.8.0
+ github.com/ncabatoff/process-exporter v0.8.3
+ github.com/onsi/ginkgo/v2 v2.20.0
+ github.com/opencontainers/runc v1.1.13
+ github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2
+ github.com/prometheus/client_golang v1.20.1
+ github.com/prometheus/client_model v0.6.1
+ github.com/prometheus/common v0.55.0
+ github.com/spf13/cobra v1.8.1
github.com/spf13/pflag v1.0.5
github.com/stretchr/testify v1.9.0
github.com/yudai/gojsondiff v1.0.0
github.com/zakjan/cert-chain-resolver v0.0.0-20221221105603-fcedb00c5b30
- golang.org/x/crypto v0.21.0
- google.golang.org/grpc v1.62.1
+ golang.org/x/crypto v0.26.0
+ golang.org/x/exp v0.0.0-20240719175910-8a7402abbf56
+ google.golang.org/grpc v1.65.0
google.golang.org/grpc/examples v0.0.0-20240223204917-5ccf176a08ab
gopkg.in/go-playground/pool.v3 v3.1.1
gopkg.in/mcuadros/go-syslog.v2 v2.3.0
- k8s.io/api v0.29.3
- k8s.io/apiextensions-apiserver v0.29.2
- k8s.io/apimachinery v0.29.3
- k8s.io/apiserver v0.29.2
- k8s.io/cli-runtime v0.29.2
- k8s.io/client-go v0.29.3
- k8s.io/code-generator v0.29.2
- k8s.io/component-base v0.29.3
- k8s.io/klog/v2 v2.120.1
+ k8s.io/api v0.31.0
+ k8s.io/apiextensions-apiserver v0.31.0
+ k8s.io/apimachinery v0.31.0
+ k8s.io/apiserver v0.31.0
+ k8s.io/cli-runtime v0.30.0
+ k8s.io/client-go v0.31.0
+ k8s.io/code-generator v0.31.0
+ k8s.io/component-base v0.31.0
+ k8s.io/klog/v2 v2.130.1
pault.ag/go/sniff v0.0.0-20200207005214-cf7e4d167732
- sigs.k8s.io/controller-runtime v0.17.2
+ sigs.k8s.io/controller-runtime v0.19.0
sigs.k8s.io/mdtoc v1.1.0
)
require (
+ github.com/fxamacker/cbor/v2 v2.7.0 // indirect
+ github.com/klauspost/compress v1.17.9 // indirect
+ github.com/x448/float16 v0.8.4 // indirect
+ gopkg.in/evanphx/json-patch.v4 v4.12.0 // indirect
+)
+
+require (
+ github.com/Anddd7/pb v0.0.0-20240425032658-369b0f6a404c
github.com/Azure/go-ansiterm v0.0.0-20230124172434-306776ec8161 // indirect
github.com/BurntSushi/toml v1.3.2 // indirect
github.com/beorn7/perks v1.0.1 // indirect
github.com/blang/semver/v4 v4.0.0 // indirect
- github.com/cespare/xxhash/v2 v2.2.0 // indirect
+ github.com/cespare/xxhash/v2 v2.3.0 // indirect
github.com/coreos/go-systemd/v22 v22.5.0 // indirect
github.com/cyphar/filepath-securejoin v0.2.4 // indirect
- github.com/davecgh/go-spew v1.1.1 // indirect
+ github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect
github.com/eapache/queue v1.1.0 // indirect
- github.com/emicklei/go-restful/v3 v3.11.3 // indirect
+ github.com/emicklei/go-restful/v3 v3.12.0 // indirect
github.com/evanphx/json-patch v5.9.0+incompatible // indirect
github.com/evanphx/json-patch/v5 v5.9.0 // indirect
github.com/fullsailor/pkcs7 v0.0.0-20190404230743-d7302db945fa // indirect
github.com/go-errors/errors v1.5.1 // indirect
- github.com/go-logr/logr v1.4.1 // indirect
- github.com/go-openapi/jsonpointer v0.20.2 // indirect
- github.com/go-openapi/jsonreference v0.20.4 // indirect
- github.com/go-openapi/swag v0.22.9 // indirect
- github.com/go-task/slim-sprig v0.0.0-20230315185526-52ccab3ef572 // indirect
+ github.com/go-logr/logr v1.4.2 // indirect
+ github.com/go-openapi/jsonpointer v0.21.0 // indirect
+ github.com/go-openapi/jsonreference v0.21.0 // indirect
+ github.com/go-openapi/swag v0.23.0 // indirect
+ github.com/go-task/slim-sprig/v3 v3.0.0 // indirect
github.com/godbus/dbus/v5 v5.1.0 // indirect
github.com/gogo/protobuf v1.3.2 // indirect
github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect
@@ -73,7 +82,7 @@ require (
github.com/google/gnostic-models v0.6.8 // indirect
github.com/google/go-cmp v0.6.0 // indirect
github.com/google/gofuzz v1.2.0 // indirect
- github.com/google/pprof v0.0.0-20240225044709-fd706174c886 // indirect
+ github.com/google/pprof v0.0.0-20240727154555-813a5fbdbec8 // indirect
github.com/google/shlex v0.0.0-20191202100458-e7afc7fbc510 // indirect
github.com/google/uuid v1.6.0 // indirect
github.com/gregjones/httpcache v0.0.0-20190611155906-901d90724c79 // indirect
@@ -96,33 +105,33 @@ require (
github.com/opencontainers/runtime-spec v1.2.0 // indirect
github.com/peterbourgon/diskv v2.0.1+incompatible // indirect
github.com/pkg/errors v0.9.1 // indirect
- github.com/prometheus/procfs v0.12.0 // indirect
+ github.com/prometheus/procfs v0.15.1 // indirect
github.com/sergi/go-diff v1.3.1 // indirect
github.com/sirupsen/logrus v1.9.3 // indirect
github.com/xlab/treeprint v1.2.0 // indirect
github.com/yudai/golcs v0.0.0-20170316035057-ecda9a501e82 // indirect
github.com/yudai/pp v2.0.1+incompatible // indirect
go.starlark.net v0.0.0-20240123142251-f86470692795 // indirect
- golang.org/x/mod v0.15.0 // indirect
- golang.org/x/net v0.22.0 // indirect
- golang.org/x/oauth2 v0.18.0 // indirect
- golang.org/x/sync v0.6.0 // indirect
- golang.org/x/sys v0.18.0 // indirect
- golang.org/x/term v0.18.0 // indirect
- golang.org/x/text v0.14.0 // indirect
+ go.uber.org/zap v1.27.0 // indirect
+ golang.org/x/mod v0.20.0 // indirect
+ golang.org/x/net v0.28.0 // indirect
+ golang.org/x/oauth2 v0.21.0 // indirect
+ golang.org/x/sync v0.8.0 // indirect
+ golang.org/x/sys v0.23.0 // indirect
+ golang.org/x/term v0.23.0 // indirect
+ golang.org/x/text v0.17.0 // indirect
golang.org/x/time v0.5.0 // indirect
- golang.org/x/tools v0.18.0 // indirect
- google.golang.org/appengine v1.6.8 // indirect
- google.golang.org/genproto/googleapis/rpc v0.0.0-20240221002015-b0ce06bbee7c // indirect
- google.golang.org/protobuf v1.33.0 // indirect
+ golang.org/x/tools v0.24.0 // indirect
+ google.golang.org/genproto/googleapis/rpc v0.0.0-20240701130421-f6361c86f094 // indirect
+ google.golang.org/protobuf v1.34.2 // indirect
gopkg.in/evanphx/json-patch.v5 v5.9.0 // indirect
gopkg.in/go-playground/assert.v1 v1.2.1 // indirect
gopkg.in/inf.v0 v0.9.1 // indirect
gopkg.in/yaml.v2 v2.4.0 // indirect
gopkg.in/yaml.v3 v3.0.1 // indirect
- k8s.io/gengo v0.0.0-20240226174109-00c4be8627da // indirect
- k8s.io/kube-openapi v0.0.0-20240224005224-582cce78233b // indirect
- k8s.io/utils v0.0.0-20240102154912-e7106e64919e // indirect
+ k8s.io/gengo/v2 v2.0.0-20240404160639-a0386bf69313 // indirect
+ k8s.io/kube-openapi v0.0.0-20240430033511-f0e62f92d13f // indirect
+ k8s.io/utils v0.0.0-20240711033017-18e509b52bc8 // indirect
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd // indirect
sigs.k8s.io/kustomize/api v0.16.0 // indirect
sigs.k8s.io/kustomize/kyaml v0.16.0 // indirect
diff --git a/go.sum b/go.sum
index 0b21a7cc5..790fd5215 100644
--- a/go.sum
+++ b/go.sum
@@ -1,87 +1,37 @@
-cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw=
-cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw=
-cloud.google.com/go v0.38.0/go.mod h1:990N+gfupTy94rShfmMCWGDn0LpTmnzTp2qbd1dvSRU=
-cloud.google.com/go v0.44.1/go.mod h1:iSa0KzasP4Uvy3f1mN/7PiObzGgflwredwwASm/v6AU=
-cloud.google.com/go v0.44.2/go.mod h1:60680Gw3Yr4ikxnPRS/oxxkBccT6SA1yMk63TGekxKY=
-cloud.google.com/go v0.45.1/go.mod h1:RpBamKRgapWJb87xiFSdk4g1CME7QZg3uwTez+TSTjc=
-cloud.google.com/go v0.46.3/go.mod h1:a6bKKbmY7er1mI7TEI4lsAkts/mkhTSZK8w33B4RAg0=
-cloud.google.com/go v0.50.0/go.mod h1:r9sluTvynVuxRIOHXQEHMFffphuXHOMZMycpNR5e6To=
-cloud.google.com/go v0.52.0/go.mod h1:pXajvRH/6o3+F9jDHZWQ5PbGhn+o8w9qiu/CffaVdO4=
-cloud.google.com/go v0.53.0/go.mod h1:fp/UouUEsRkN6ryDKNW/Upv/JBKnv6WDthjR6+vze6M=
-cloud.google.com/go v0.54.0/go.mod h1:1rq2OEkV3YMf6n/9ZvGWI3GWw0VoqH/1x2nd8Is/bPc=
-cloud.google.com/go v0.56.0/go.mod h1:jr7tqZxxKOVYizybht9+26Z/gUq7tiRzu+ACVAMbKVk=
-cloud.google.com/go v0.57.0/go.mod h1:oXiQ6Rzq3RAkkY7N6t3TcE6jE+CIBBbA36lwQ1JyzZs=
-cloud.google.com/go v0.62.0/go.mod h1:jmCYTdRCQuc1PHIIJ/maLInMho30T/Y0M4hTdTShOYc=
-cloud.google.com/go v0.65.0/go.mod h1:O5N8zS7uWy9vkA9vayVHs65eM1ubvY4h553ofrNHObY=
-cloud.google.com/go/bigquery v1.0.1/go.mod h1:i/xbL2UlR5RvWAURpBYZTtm/cXjCha9lbfbpx4poX+o=
-cloud.google.com/go/bigquery v1.3.0/go.mod h1:PjpwJnslEMmckchkHFfq+HTD2DmtT67aNFKH1/VBDHE=
-cloud.google.com/go/bigquery v1.4.0/go.mod h1:S8dzgnTigyfTmLBfrtrhyYhwRxG72rYxvftPBK2Dvzc=
-cloud.google.com/go/bigquery v1.5.0/go.mod h1:snEHRnqQbz117VIFhE8bmtwIDY80NLUZUMb4Nv6dBIg=
-cloud.google.com/go/bigquery v1.7.0/go.mod h1://okPTzCYNXSlb24MZs83e2Do+h+VXtc4gLoIoXIAPc=
-cloud.google.com/go/bigquery v1.8.0/go.mod h1:J5hqkt3O0uAFnINi6JXValWIb1v0goeZM77hZzJN/fQ=
-cloud.google.com/go/datastore v1.0.0/go.mod h1:LXYbyblFSglQ5pkeyhO+Qmw7ukd3C+pD7TKLgZqpHYE=
-cloud.google.com/go/datastore v1.1.0/go.mod h1:umbIZjpQpHh4hmRpGhH4tLFup+FVzqBi1b3c64qFpCk=
-cloud.google.com/go/pubsub v1.0.1/go.mod h1:R0Gpsv3s54REJCy4fxDixWD93lHJMoZTyQ2kNxGRt3I=
-cloud.google.com/go/pubsub v1.1.0/go.mod h1:EwwdRX2sKPjnvnqCa270oGRyludottCI76h+R3AArQw=
-cloud.google.com/go/pubsub v1.2.0/go.mod h1:jhfEVHT8odbXTkndysNHCcx0awwzvfOlguIAii9o8iA=
-cloud.google.com/go/pubsub v1.3.1/go.mod h1:i+ucay31+CNRpDW4Lu78I4xXG+O1r/MAHgjpRVR+TSU=
-cloud.google.com/go/storage v1.0.0/go.mod h1:IhtSnM/ZTZV8YYJWCY8RULGVqBDmpoyjwiyrjsg+URw=
-cloud.google.com/go/storage v1.5.0/go.mod h1:tpKbwo567HUNpVclU5sGELwQWBDZ8gh0ZeosJ0Rtdos=
-cloud.google.com/go/storage v1.6.0/go.mod h1:N7U0C8pVQ/+NIKOBQyamJIeKQKkZ+mxpohlUTyfDhBk=
-cloud.google.com/go/storage v1.8.0/go.mod h1:Wv1Oy7z6Yz3DshWRJFhqM/UCfaWIRTdp0RXyy7KQOVs=
-cloud.google.com/go/storage v1.10.0/go.mod h1:FLPqc6j+Ki4BU591ie1oL6qBQGu2Bl/tZ9ullr3+Kg0=
-dario.cat/mergo v1.0.0 h1:AGCNq9Evsj31mOgNPcLyXc+4PNABt905YmuqPYYpBWk=
-dario.cat/mergo v1.0.0/go.mod h1:uNxQE+84aUszobStD9th8a29P2fMDhsBdgRYvZOxGmk=
-dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU=
+dario.cat/mergo v1.0.1 h1:Ra4+bf83h2ztPIQYNP99R6m+Y7KfnARDfID+a+vLl4s=
+dario.cat/mergo v1.0.1/go.mod h1:uNxQE+84aUszobStD9th8a29P2fMDhsBdgRYvZOxGmk=
+github.com/Anddd7/pb v0.0.0-20240425032658-369b0f6a404c h1:uhBf0CHXi7nCFZXxHV7l1cBcYFEEVRK4FYxvm1l9lKg=
+github.com/Anddd7/pb v0.0.0-20240425032658-369b0f6a404c/go.mod h1:vYWKbnXd2KAZHUECLPzSE0Er3FgiEmOdPtxwSIRihck=
github.com/Azure/go-ansiterm v0.0.0-20230124172434-306776ec8161 h1:L/gRVlceqvL25UVaW/CKtUDjefjrs0SPonmDGUVOYP0=
github.com/Azure/go-ansiterm v0.0.0-20230124172434-306776ec8161/go.mod h1:xomTg63KZ2rFqZQzSB4Vz2SUXa1BpHTVz9L5PTmPC4E=
github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU=
github.com/BurntSushi/toml v1.3.2 h1:o7IhLm0Msx3BaB+n3Ag7L8EVlByGnpq14C4YWiu/gL8=
github.com/BurntSushi/toml v1.3.2/go.mod h1:CxXYINrC8qIiEnFrOxCa7Jy5BFHlXnUU2pbicEuybxQ=
-github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo=
-github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc=
-github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc=
-github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0=
-github.com/alecthomas/units v0.0.0-20190717042225-c3de453c63f4/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0=
-github.com/alecthomas/units v0.0.0-20190924025748-f65c72e2690d/go.mod h1:rBZYJk541a8SKzHPHnH3zbiI+7dagKZ0cgpgrD7Fyho=
github.com/armon/go-proxyproto v0.1.0 h1:TWWcSsjco7o2itn6r25/5AqKBiWmsiuzsUDLT/MTl7k=
github.com/armon/go-proxyproto v0.1.0/go.mod h1:Xj90dce2VKbHzRAeiVQAMBtj4M5oidoXJ8lmgyW21mw=
-github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q=
-github.com/beorn7/perks v1.0.0/go.mod h1:KWe93zE9D1o94FZ5RNwFwVgaQK1VOXiVxmqh+CedLV8=
github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM=
github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw=
github.com/blang/semver/v4 v4.0.0 h1:1PFHFE6yCCTv8C1TeyNNarDzntLi7wMI5i/pzqYIsAM=
github.com/blang/semver/v4 v4.0.0/go.mod h1:IbckMUScFkM3pff0VJDNKRiT6TG/YpiHIM2yvyW5YoQ=
-github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU=
-github.com/cespare/xxhash/v2 v2.1.1/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs=
-github.com/cespare/xxhash/v2 v2.2.0 h1:DC2CZ1Ep5Y4k3ZQ899DldepgrayRUGE6BBZ/cd9Cj44=
-github.com/cespare/xxhash/v2 v2.2.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs=
-github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWRnGsAI=
-github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI=
-github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU=
-github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw=
-github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc=
+github.com/cespare/xxhash/v2 v2.3.0 h1:UL815xU9SqsFlibzuggzjXhog7bL6oX9BbNZnL2UFvs=
+github.com/cespare/xxhash/v2 v2.3.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs=
github.com/coreos/go-systemd/v22 v22.5.0 h1:RrqgGjYQKalulkV8NGVIfkXQf6YYmOyiJKk8iXXhfZs=
github.com/coreos/go-systemd/v22 v22.5.0/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc=
-github.com/cpuguy83/go-md2man/v2 v2.0.3/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o=
-github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E=
+github.com/cpuguy83/go-md2man/v2 v2.0.4/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o=
github.com/creack/pty v1.1.18 h1:n56/Zwd5o6whRC5PMGretI4IdRLlmBXYNjScPaBgsbY=
github.com/creack/pty v1.1.18/go.mod h1:MOBLtS5ELjhRRrroQr9kyvTxUAFNvYEK993ew/Vr4O4=
github.com/cyphar/filepath-securejoin v0.2.4 h1:Ugdm7cg7i6ZK6x3xDF1oEu1nfkyfH53EtKeQYTC3kyg=
github.com/cyphar/filepath-securejoin v0.2.4/go.mod h1:aPGpWjXOXUn2NCNjFvBE6aRxGGx79pTxQpKOJNYHHl4=
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
-github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
+github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc h1:U9qPSI2PIWSS1VwoXQT9A3Wy9MM3WgvqSxFWenqJduM=
+github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/eapache/channels v1.1.0 h1:F1taHcn7/F0i8DYqKXJnyhJcVpp2kgFcNePxXtnyu4k=
github.com/eapache/channels v1.1.0/go.mod h1:jMm2qB5Ubtg9zLd+inMZd2/NUvXgzmWXsDaLyQIGfH0=
github.com/eapache/queue v1.1.0 h1:YOEu7KNc61ntiQlcEeUIoDTJ2o8mQznoNvUhiigpIqc=
github.com/eapache/queue v1.1.0/go.mod h1:6eCeP0CKFpHLu8blIFXhExK/dRa7WDZfr6jVFPTqq+I=
-github.com/emicklei/go-restful/v3 v3.11.3 h1:yagOQz/38xJmcNeZJtrUcKjkHRltIaIFXKWeG1SkWGE=
-github.com/emicklei/go-restful/v3 v3.11.3/go.mod h1:6n3XBCmQQb25CM2LCACGz8ukIrRry+4bhvbpWn3mrbc=
-github.com/envoyproxy/go-control-plane v0.9.0/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4=
-github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4=
-github.com/envoyproxy/go-control-plane v0.9.4/go.mod h1:6rpuAdCZL397s3pYoYcLgu1mIlRU8Am5FuJP05cCM98=
-github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c=
+github.com/emicklei/go-restful/v3 v3.12.0 h1:y2DdzBAURM29NFF94q6RaY4vjIH1rtwDapwQtU84iWk=
+github.com/emicklei/go-restful/v3 v3.12.0/go.mod h1:6n3XBCmQQb25CM2LCACGz8ukIrRry+4bhvbpWn3mrbc=
github.com/evanphx/json-patch v5.9.0+incompatible h1:fBXyNpNMuTTDdquAq/uisOr2lShz4oaXpDTX2bLe7ls=
github.com/evanphx/json-patch v5.9.0+incompatible/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk=
github.com/evanphx/json-patch/v5 v5.9.0 h1:kcBlZQbplgElYIlo/n1hJbls2z/1awpXxpRi0/FOJfg=
@@ -93,144 +43,77 @@ github.com/fsnotify/fsnotify v1.7.0/go.mod h1:40Bi/Hjc2AVfZrqy+aj+yEI+/bRxZnMJyT
github.com/fullsailor/pkcs7 v0.0.0-20160414161337-2585af45975b/go.mod h1:KnogPXtdwXqoenmZCw6S+25EAm2MkxbG0deNDu4cbSA=
github.com/fullsailor/pkcs7 v0.0.0-20190404230743-d7302db945fa h1:RDBNVkRviHZtvDvId8XSGPu3rmpmSe+wKRcEWNgsfWU=
github.com/fullsailor/pkcs7 v0.0.0-20190404230743-d7302db945fa/go.mod h1:KnogPXtdwXqoenmZCw6S+25EAm2MkxbG0deNDu4cbSA=
+github.com/fxamacker/cbor/v2 v2.7.0 h1:iM5WgngdRBanHcxugY4JySA0nk1wZorNOpTgCMedv5E=
+github.com/fxamacker/cbor/v2 v2.7.0/go.mod h1:pxXPTn3joSm21Gbwsv0w9OSA2y1HFR9qXEeXQVeNoDQ=
github.com/go-errors/errors v1.5.1 h1:ZwEMSLRCapFLflTpT7NKaAc7ukJ8ZPEjzlxt8rPN8bk=
github.com/go-errors/errors v1.5.1/go.mod h1:sIVyrIiJhuEF+Pj9Ebtd6P/rEYROXFi3BopGUQ5a5Og=
-github.com/go-gl/glfw v0.0.0-20190409004039-e6da0acd62b1/go.mod h1:vR7hzQXu2zJy9AVAgeJqvqgH9Q5CA+iKCZ2gyEVpxRU=
-github.com/go-gl/glfw/v3.3/glfw v0.0.0-20191125211704-12ad95a8df72/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8=
-github.com/go-gl/glfw/v3.3/glfw v0.0.0-20200222043503-6f7a984d4dc4/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8=
-github.com/go-kit/kit v0.8.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as=
-github.com/go-kit/kit v0.9.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as=
-github.com/go-kit/log v0.1.0/go.mod h1:zbhenjAZHb184qTLMA9ZjW7ThYL0H2mk7Q6pNt4vbaY=
-github.com/go-logfmt/logfmt v0.3.0/go.mod h1:Qt1PoO58o5twSAckw1HlFXLmHsOX5/0LbT9GBnD5lWE=
-github.com/go-logfmt/logfmt v0.4.0/go.mod h1:3RMwSq7FuexP4Kalkev3ejPJsZTpXXBr9+V4qmtdjCk=
-github.com/go-logfmt/logfmt v0.5.0/go.mod h1:wCYkCAKZfumFQihp8CzCvQ3paCTfi41vtzG1KdI/P7A=
-github.com/go-logr/logr v0.2.0/go.mod h1:z6/tIYblkpsD+a4lm/fGIIU9mZ+XfAiaFtq7xTgseGU=
-github.com/go-logr/logr v1.4.1 h1:pKouT5E8xu9zeFC39JXRDukb6JFQPXM5p5I91188VAQ=
-github.com/go-logr/logr v1.4.1/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY=
+github.com/go-logr/logr v1.4.2 h1:6pFjapn8bFcIbiKo3XT4j/BhANplGihG6tvd+8rYgrY=
+github.com/go-logr/logr v1.4.2/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY=
github.com/go-logr/zapr v1.3.0 h1:XGdV8XW8zdwFiwOA2Dryh1gj2KRQyOOoNmBy4EplIcQ=
github.com/go-logr/zapr v1.3.0/go.mod h1:YKepepNBd1u/oyhd/yQmtjVXmm9uML4IXUgMOwR8/Gg=
-github.com/go-openapi/jsonpointer v0.20.2 h1:mQc3nmndL8ZBzStEo3JYF8wzmeWffDH4VbXz58sAx6Q=
-github.com/go-openapi/jsonpointer v0.20.2/go.mod h1:bHen+N0u1KEO3YlmqOjTT9Adn1RfD91Ar825/PuiRVs=
-github.com/go-openapi/jsonreference v0.20.4 h1:bKlDxQxQJgwpUSgOENiMPzCTBVuc7vTdXSSgNeAhojU=
-github.com/go-openapi/jsonreference v0.20.4/go.mod h1:5pZJyJP2MnYCpoeoMAql78cCHauHj0V9Lhc506VOpw4=
-github.com/go-openapi/swag v0.22.9 h1:XX2DssF+mQKM2DHsbgZK74y/zj4mo9I99+89xUmuZCE=
-github.com/go-openapi/swag v0.22.9/go.mod h1:3/OXnFfnMAwBD099SwYRk7GD3xOrr1iL7d/XNLXVVwE=
-github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY=
+github.com/go-openapi/jsonpointer v0.21.0 h1:YgdVicSA9vH5RiHs9TZW5oyafXZFc6+2Vc1rr/O9oNQ=
+github.com/go-openapi/jsonpointer v0.21.0/go.mod h1:IUyH9l/+uyhIYQ/PXVA41Rexl+kOkAPDdXEYns6fzUY=
+github.com/go-openapi/jsonreference v0.21.0 h1:Rs+Y7hSXT83Jacb7kFyjn4ijOuVGSvOdF2+tg1TRrwQ=
+github.com/go-openapi/jsonreference v0.21.0/go.mod h1:LmZmgsrTkVg9LG4EaHeY8cBDslNPMo06cago5JNLkm4=
+github.com/go-openapi/swag v0.23.0 h1:vsEVJDUo2hPJ2tu0/Xc+4noaxyEffXNIs3cOULZ+GrE=
+github.com/go-openapi/swag v0.23.0/go.mod h1:esZ8ITTYEsH1V2trKHjAN8Ai7xHb8RV+YSZ577vPjgQ=
github.com/go-task/slim-sprig v0.0.0-20210107165309-348f09dbbbc0/go.mod h1:fyg7847qk6SyHyPtNmDHnmrv/HOrqktSC+C9fM+CJOE=
-github.com/go-task/slim-sprig v0.0.0-20230315185526-52ccab3ef572 h1:tfuBGBXKqDEevZMzYi5KSi8KkcZtzBcTgAUUtapy0OI=
-github.com/go-task/slim-sprig v0.0.0-20230315185526-52ccab3ef572/go.mod h1:9Pwr4B2jHnOSGXyyzV8ROjYa2ojvAY6HCGYYfMoC3Ls=
+github.com/go-task/slim-sprig/v3 v3.0.0 h1:sUs3vkvUymDpBKi3qH1YSqBQk9+9D/8M2mN1vB6EwHI=
+github.com/go-task/slim-sprig/v3 v3.0.0/go.mod h1:W848ghGpv3Qj3dhTPRyJypKRiqCdHZiAzKg9hl15HA8=
github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA=
github.com/godbus/dbus/v5 v5.1.0 h1:4KLkAxT3aOY8Li4FRJe/KvhoNFFxo0m6fNuFUO8QJUk=
github.com/godbus/dbus/v5 v5.1.0/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA=
-github.com/gogo/protobuf v1.1.1/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ=
github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q=
github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q=
-github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q=
-github.com/golang/groupcache v0.0.0-20190702054246-869f871628b6/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc=
-github.com/golang/groupcache v0.0.0-20191227052852-215e87163ea7/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc=
-github.com/golang/groupcache v0.0.0-20200121045136-8c9f03a8e57e/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc=
github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da h1:oI5xCqsCo564l8iNU+DwB5epxmsaqB+rhGL0m5jtYqE=
github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc=
-github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A=
-github.com/golang/mock v1.2.0/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A=
-github.com/golang/mock v1.3.1/go.mod h1:sBzyDLLjw3U8JLTeZvSv8jJB+tU5PVekmnlKIyFUx0Y=
-github.com/golang/mock v1.4.0/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw=
-github.com/golang/mock v1.4.1/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw=
-github.com/golang/mock v1.4.3/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw=
-github.com/golang/mock v1.4.4/go.mod h1:l3mdAwkq5BuhzHwde/uurv3sEJeZMXNpwsxVWU71h+4=
github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
-github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
-github.com/golang/protobuf v1.3.2/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
-github.com/golang/protobuf v1.3.3/go.mod h1:vzj43D7+SQXF/4pzW/hwtAqwc6iTitCiVSaWz5lYuqw=
-github.com/golang/protobuf v1.3.4/go.mod h1:vzj43D7+SQXF/4pzW/hwtAqwc6iTitCiVSaWz5lYuqw=
-github.com/golang/protobuf v1.3.5/go.mod h1:6O5/vntMXwX2lRkT1hjjk0nAC1IDOTvTlVgjlRvqsdk=
github.com/golang/protobuf v1.4.0-rc.1/go.mod h1:ceaxUfeHdC40wWswd/P6IGgMaK3YpKi5j83Wpe3EHw8=
github.com/golang/protobuf v1.4.0-rc.1.0.20200221234624-67d41d38c208/go.mod h1:xKAWHe0F5eneWXFV3EuXVDTCmh+JuBKY0li0aMyXATA=
github.com/golang/protobuf v1.4.0-rc.2/go.mod h1:LlEzMj4AhA7rCAGe4KMBDvJI+AwstrUpVNzEA03Pprs=
github.com/golang/protobuf v1.4.0-rc.4.0.20200313231945-b860323f09d0/go.mod h1:WU3c8KckQ9AFe+yFwt9sWVRKCVIyN9cPHBJSNnbL67w=
github.com/golang/protobuf v1.4.0/go.mod h1:jodUvKwWbYaEsadDk5Fwe5c77LiNKVO9IDvqG2KuDX0=
-github.com/golang/protobuf v1.4.1/go.mod h1:U8fpvMrcmy5pZrNK1lt4xCsGvpyWQ/VVv6QDs8UjoX8=
github.com/golang/protobuf v1.4.2/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI=
-github.com/golang/protobuf v1.4.3/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI=
-github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk=
-github.com/golang/protobuf v1.5.2/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY=
github.com/golang/protobuf v1.5.4 h1:i7eJL8qZTpSEXOPTxNKhASYpMn+8e5Q6AdndVa1dWek=
github.com/golang/protobuf v1.5.4/go.mod h1:lnTiLA8Wa4RWRcIUkrtSVa5nRhsEGBg48fD6rSs7xps=
github.com/gomarkdown/markdown v0.0.0-20210514010506-3b9f47219fe7/go.mod h1:aii0r/K0ZnHv7G0KF7xy1v0A7s2Ljrb5byB7MO5p6TU=
github.com/gomarkdown/markdown v0.0.0-20231222211730-1d6d20845b47 h1:k4Tw0nt6lwro3Uin8eqoET7MDA4JnT8YgbCjc/g5E3k=
github.com/gomarkdown/markdown v0.0.0-20231222211730-1d6d20845b47/go.mod h1:JDGcbDT52eL4fju3sZ4TeHGsQwhG9nbDV21aMyhwPoA=
-github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ=
-github.com/google/btree v1.0.0/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ=
github.com/google/btree v1.1.2 h1:xf4v41cLI2Z6FxbKm+8Bu+m8ifhj15JuZ9sa0jZCMUU=
github.com/google/btree v1.1.2/go.mod h1:qOPhT0dTNdNzV6Z/lhRX0YXUafgPLFUh+gZMl761Gm4=
github.com/google/gnostic-models v0.6.8 h1:yo/ABAfM5IMRsS1VnXjTBvUb61tFIHozhlYvRgGre9I=
github.com/google/gnostic-models v0.6.8/go.mod h1:5n7qKqH0f5wFt+aWF8CW6pZLLNOfYuF5OpfBSENuI8U=
-github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M=
github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU=
github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU=
github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
-github.com/google/go-cmp v0.4.1/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
-github.com/google/go-cmp v0.5.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
-github.com/google/go-cmp v0.5.1/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
-github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
-github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
-github.com/google/go-cmp v0.5.6/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
github.com/google/go-cmp v0.5.9/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY=
github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI=
github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY=
github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg=
-github.com/google/gofuzz v1.1.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg=
github.com/google/gofuzz v1.2.0 h1:xRy4A+RhZaiKjJ1bPfwQ8sedCA+YS2YcCHW6ec7JMi0=
github.com/google/gofuzz v1.2.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg=
-github.com/google/martian v2.1.0+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXiIaQGbYVAs8BPL6v8lEs=
-github.com/google/martian/v3 v3.0.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0=
-github.com/google/pprof v0.0.0-20181206194817-3ea8567a2e57/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc=
-github.com/google/pprof v0.0.0-20190515194954-54271f7e092f/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc=
-github.com/google/pprof v0.0.0-20191218002539-d4f498aebedc/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM=
-github.com/google/pprof v0.0.0-20200212024743-f11f1df84d12/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM=
-github.com/google/pprof v0.0.0-20200229191704-1ebb73c60ed3/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM=
-github.com/google/pprof v0.0.0-20200430221834-fc25d7d30c6d/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM=
-github.com/google/pprof v0.0.0-20200708004538-1a94d8640e99/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM=
-github.com/google/pprof v0.0.0-20240225044709-fd706174c886 h1:JSJUTZTQT1Gzb2ROdAKOY3HwzBYcclS2GgumhMfHqjw=
-github.com/google/pprof v0.0.0-20240225044709-fd706174c886/go.mod h1:czg5+yv1E0ZGTi6S6vVK1mke0fV+FaUhNGcd6VRS9Ik=
-github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI=
+github.com/google/pprof v0.0.0-20240727154555-813a5fbdbec8 h1:FKHo8hFI3A+7w0aUQuYXQ+6EN5stWmeY/AZqtM8xk9k=
+github.com/google/pprof v0.0.0-20240727154555-813a5fbdbec8/go.mod h1:K1liHPHnj73Fdn/EKuT8nrFqBihUSKXoLYU0BuatOYo=
github.com/google/shlex v0.0.0-20191202100458-e7afc7fbc510 h1:El6M4kTTCOh6aBiKaUGG7oYTSPP8MxqL4YI3kZKwcP4=
github.com/google/shlex v0.0.0-20191202100458-e7afc7fbc510/go.mod h1:pupxD2MaaD3pAXIBCelhxNneeOaAeabZDe5s4K6zSpQ=
github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0=
github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
-github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+vpHVxEJEs9eg=
-github.com/googleapis/gax-go/v2 v2.0.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5mhpdKc/us6bOk=
github.com/gregjones/httpcache v0.0.0-20190611155906-901d90724c79 h1:+ngKgrYPPJrOjhax5N+uePQ0Fh1Z7PheYoUI/0nzkPA=
github.com/gregjones/httpcache v0.0.0-20190611155906-901d90724c79/go.mod h1:FecbI9+v66THATjSRHfNgh1IVFe/9kFxbXtjV0ctIMA=
-github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8=
-github.com/hashicorp/golang-lru v0.5.1/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8=
github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU=
-github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc=
github.com/imdario/mergo v0.3.16 h1:wwQJbIsHYGMUyLSPrEq1CT16AhnhNJQ51+4fdHUnCl4=
github.com/imdario/mergo v0.3.16/go.mod h1:WBLT9ZmE3lPoWsEzCh9LPo3TiwVN+ZKEjmz+hD27ysY=
github.com/inconshreveable/mousetrap v1.1.0 h1:wN+x4NVGpMsO7ErUn/mUI3vEoE6Jt13X2s0bqwp9tc8=
github.com/inconshreveable/mousetrap v1.1.0/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw=
github.com/josharian/intern v1.0.0 h1:vlS4z54oSdjm0bgjRigI+G1HpF+tI+9rE5LLzOg8HmY=
github.com/josharian/intern v1.0.0/go.mod h1:5DoeVV0s6jJacbCEi61lwdGj/aVlrQvzHFFd8Hwg//Y=
-github.com/jpillora/backoff v1.0.0/go.mod h1:J/6gKK9jxlEcS3zixgDgUAsiuZ7yrSoa/FX5e0EB2j4=
-github.com/json-iterator/go v1.1.6/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU=
-github.com/json-iterator/go v1.1.10/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4=
-github.com/json-iterator/go v1.1.11/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4=
github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM=
github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo=
-github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod h1:6v2b51hI/fHJwM22ozAgKL4VKDeJcHhJFhtBdhmNjmU=
-github.com/jstemmer/go-junit-report v0.9.1/go.mod h1:Brl9GWCQeLvo8nXZwPNNblvFj/XSXhF0NWZEnDohbsk=
-github.com/julienschmidt/httprouter v1.2.0/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7VTCxuUUipMqKk8s4w=
-github.com/julienschmidt/httprouter v1.3.0/go.mod h1:JR6WtHb+2LUe8TCKY3cZOxFyyO8IZAc4RVcycCCAKdM=
github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8=
github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck=
-github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ=
-github.com/konsorten/go-windows-terminal-sequences v1.0.3/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ=
-github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod h1:+0opPa2QZZtGFBFZlji/RkVcI2GknAs/DXo4wKdlNEc=
+github.com/klauspost/compress v1.17.9 h1:6KIumPrER1LHsvBVuDa0r5xaG0Es51mhhB9BQB2qeMA=
+github.com/klauspost/compress v1.17.9/go.mod h1:Di0epgTjJY877eYKx5yC51cX2A2Vl2ibi7bDH9ttBbw=
github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo=
-github.com/kr/pretty v0.2.0/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI=
-github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI=
-github.com/kr/pretty v0.3.0/go.mod h1:640gp4NfQd8pI5XOwp5fnNeVWj67G7CFk/SaSQn7NBk=
github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE=
github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk=
github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ=
@@ -248,7 +131,6 @@ github.com/mattn/go-colorable v0.1.13/go.mod h1:7S9/ev0klgBDR4GtXTXX8a3vIGJpMovk
github.com/mattn/go-isatty v0.0.16/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM=
github.com/mattn/go-isatty v0.0.19 h1:JITubQf0MOLdlGRuRq+jtsDlekdYPia9ZFsB8h/APPA=
github.com/mattn/go-isatty v0.0.19/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y=
-github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0=
github.com/mitchellh/go-ps v1.0.0 h1:i6ampVEEF4wQFF+bkYfwYgY+F/uYJDktmvLPf7qIgjc=
github.com/mitchellh/go-ps v1.0.0/go.mod h1:J4lOc8z8yJs6vUwklHw2XEIiT4z4C40KtWVN3nvg8Pg=
github.com/mitchellh/hashstructure/v2 v2.0.2 h1:vGKWl0YJqUNxE8d+h8f6NJLcCJrgbhC4NcD46KavDd4=
@@ -264,8 +146,6 @@ github.com/moby/term v0.5.0/go.mod h1:8FzsFHVUBGZdbDsJw/ot+X+d5HLUbvklYLJ9uGfcI3
github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q=
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w8PVh93nsPXa1VrQ6jlwL5oN8l14QlcNfg=
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q=
-github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0=
-github.com/modern-go/reflect2 v1.0.1/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0=
github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M=
github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk=
github.com/monochromegane/go-gitignore v0.0.0-20200626010858-205db1a8cc00 h1:n6/2gBQ3RWajuToeY6ZtZTIKv2v7ThUy5KKusIT0yc0=
@@ -274,13 +154,10 @@ github.com/moul/pb v0.0.0-20220425114252-bca18df4138c h1:1STmblv9zmHLDpru4dbnf1P
github.com/moul/pb v0.0.0-20220425114252-bca18df4138c/go.mod h1:jE2HT8eoucYyUPBFJMreiVlC3KPHkDMtN8wn+ef7Y64=
github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 h1:C3w9PqII01/Oq1c1nUAm88MOHcQC9l5mIlSMApZMrHA=
github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ=
-github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U=
-github.com/mwitkow/go-conntrack v0.0.0-20190716064945-2f068394615f/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U=
-github.com/ncabatoff/fakescraper v0.0.0-20201102132415-4b37ba603d65/go.mod h1:Tx6UMSMyIsjLG/VU/F6xA1+0XI+/f9o1dGJnf1l+bPg=
github.com/ncabatoff/go-seq v0.0.0-20180805175032-b08ef85ed833 h1:t4WWQ9I797y7QUgeEjeXnVb+oYuEDQc6gLvrZJTYo94=
github.com/ncabatoff/go-seq v0.0.0-20180805175032-b08ef85ed833/go.mod h1:0CznHmXSjMEqs5Tezj/w2emQoM41wzYM9KpDKUHPYag=
-github.com/ncabatoff/process-exporter v0.7.10 h1:+Ere7+3se6QqP54gg7aBRagWcL8bq3u5zNi/GRSWeKQ=
-github.com/ncabatoff/process-exporter v0.7.10/go.mod h1:DHZRZjqxw9LCOpLlX0DjBuyn6d5plh41Jv6Tmttj7Ek=
+github.com/ncabatoff/process-exporter v0.8.3 h1:ZJpzWhRfwdBisIpr2BkitAlUR6dt45hpQn8/AYgToO8=
+github.com/ncabatoff/process-exporter v0.8.3/go.mod h1:MxEOWl740VK/hlWycJkq91VrA2mI+U9Bvc1wuyAaxA4=
github.com/nxadm/tail v1.4.4/go.mod h1:kenIhsEOeOJmVchQTgglprH7qJGnHDVpk1VPCcaMI8A=
github.com/nxadm/tail v1.4.8 h1:nPr65rt6Y5JFSKQO7qToXr7pePgD6Gwiw05lkbyAQTE=
github.com/nxadm/tail v1.4.8/go.mod h1:+ncqLTQzXmGhMZNUePPaPqPvBxHAIsmXswZKocGu+AU=
@@ -288,82 +165,55 @@ github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+W
github.com/onsi/ginkgo v1.12.1/go.mod h1:zj2OWP4+oCPe1qIXoGWkgMRwljMUYCdkwsT2108oapk=
github.com/onsi/ginkgo v1.16.5 h1:8xi0RTUf59SOSfEtZMvwTvXYMzG4gV23XVHOZiXNtnE=
github.com/onsi/ginkgo v1.16.5/go.mod h1:+E8gABHa3K6zRBolWtd+ROzc/U5bkGt0FwiG042wbpU=
-github.com/onsi/ginkgo/v2 v2.16.0 h1:7q1w9frJDzninhXxjZd+Y/x54XNjG/UlRLIYPZafsPM=
-github.com/onsi/ginkgo/v2 v2.16.0/go.mod h1:llBI3WDLL9Z6taip6f33H76YcWtJv+7R3HigUjbIBOs=
+github.com/onsi/ginkgo/v2 v2.20.0 h1:PE84V2mHqoT1sglvHc8ZdQtPcwmvvt29WLEEO3xmdZw=
+github.com/onsi/ginkgo/v2 v2.20.0/go.mod h1:lG9ey2Z29hR41WMVthyJBGUBcBhGOtoPF2VFMvBXFCI=
github.com/onsi/gomega v1.7.1/go.mod h1:XdKZgCCFLUoM/7CFJVPcG8C1xQ1AJ0vpAezJrB7JYyY=
github.com/onsi/gomega v1.10.1/go.mod h1:iN09h71vgCQne3DLsj+A5owkum+a2tYe+TOCB1ybHNo=
-github.com/onsi/gomega v1.30.0 h1:hvMK7xYz4D3HapigLTeGdId/NcfQx1VHMJc60ew99+8=
-github.com/onsi/gomega v1.30.0/go.mod h1:9sxs+SwGrKI0+PWe4Fxa9tFQQBG5xSsSbMXOI8PPpoQ=
-github.com/opencontainers/runc v1.1.12 h1:BOIssBaW1La0/qbNZHXOOa71dZfZEQOzW7dqQf3phss=
-github.com/opencontainers/runc v1.1.12/go.mod h1:S+lQwSfncpBha7XTy/5lBwWgm5+y5Ma/O44Ekby9FK8=
+github.com/onsi/gomega v1.34.1 h1:EUMJIKUjM8sKjYbtxQI9A4z2o+rruxnzNvpknOXie6k=
+github.com/onsi/gomega v1.34.1/go.mod h1:kU1QgUvBDLXBJq618Xvm2LUX6rSAfRaFRTcdOeDLwwY=
+github.com/opencontainers/runc v1.1.13 h1:98S2srgG9vw0zWcDpFMn5TRrh8kLxa/5OFUstuUhmRs=
+github.com/opencontainers/runc v1.1.13/go.mod h1:R016aXacfp/gwQBYw2FDGa9m+n6atbLWrYY8hNMT/sA=
github.com/opencontainers/runtime-spec v1.2.0 h1:z97+pHb3uELt/yiAWD691HNHQIF07bE7dzrbT927iTk=
github.com/opencontainers/runtime-spec v1.2.0/go.mod h1:jwyrGlmzljRJv/Fgzds9SsS/C5hL+LL3ko9hs6T5lQ0=
github.com/peterbourgon/diskv v2.0.1+incompatible h1:UBdAOUP5p4RWqPBg048CAvpKN+vxiaj6gdUUzhl4XmI=
github.com/peterbourgon/diskv v2.0.1+incompatible/go.mod h1:uqqh8zWWbv1HBMNONnaR/tNboyR3/BZd58JJSHlUSCU=
-github.com/pkg/diff v0.0.0-20210226163009-20ebb0f2a09e/go.mod h1:pJLUxLENpZxwdsKMEsNbx1VGcRFpLqf3715MtcvvzbA=
-github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
-github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4=
github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
-github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
-github.com/prometheus/client_golang v0.9.1/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw=
-github.com/prometheus/client_golang v1.0.0/go.mod h1:db9x61etRT2tGnBNRi70OPL5FsnadC4Ky3P0J6CfImo=
-github.com/prometheus/client_golang v1.7.1/go.mod h1:PY5Wy2awLA44sXw4AOSfFBetzPP4j5+D6mVACh+pe2M=
-github.com/prometheus/client_golang v1.11.0/go.mod h1:Z6t4BnS23TR94PD6BsDNk8yVqroYurpAkEiz0P2BEV0=
-github.com/prometheus/client_golang v1.19.0 h1:ygXvpU1AoN1MhdzckN+PyD9QJOSD4x7kmXYlnfbA6JU=
-github.com/prometheus/client_golang v1.19.0/go.mod h1:ZRM9uEAypZakd+q/x7+gmsvXdURP+DABIEIjnmDdp+k=
-github.com/prometheus/client_model v0.0.0-20180712105110-5c3871d89910/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo=
-github.com/prometheus/client_model v0.0.0-20190129233127-fd36f4220a90/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA=
-github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA=
-github.com/prometheus/client_model v0.2.0/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA=
-github.com/prometheus/client_model v0.6.0 h1:k1v3CzpSRUTrKMppY35TLwPvxHqBu0bYgxZzqGIgaos=
-github.com/prometheus/client_model v0.6.0/go.mod h1:NTQHnmxFpouOD0DpvP4XujX3CdOAGQPoaGhyTchlyt8=
-github.com/prometheus/common v0.4.1/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4=
-github.com/prometheus/common v0.10.0/go.mod h1:Tlit/dnDKsSWFlCLTWaA1cyBgKHSMdTB80sz/V91rCo=
-github.com/prometheus/common v0.26.0/go.mod h1:M7rCNAaPfAosfx8veZJCuw84e35h3Cfd9VFqTh1DIvc=
-github.com/prometheus/common v0.29.0/go.mod h1:vu+V0TpY+O6vW9J44gczi3Ap/oXXR10b+M/gUGO4Hls=
-github.com/prometheus/common v0.50.0 h1:YSZE6aa9+luNa2da6/Tik0q0A5AbR+U003TItK57CPQ=
-github.com/prometheus/common v0.50.0/go.mod h1:wHFBCEVWVmHMUpg7pYcOm2QUR/ocQdYSJVQJKnHc3xQ=
-github.com/prometheus/exporter-toolkit v0.7.0/go.mod h1:ZUBIj498ePooX9t/2xtDjeQYwvRpiPP2lh5u4iblj2g=
-github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk=
-github.com/prometheus/procfs v0.0.2/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA=
-github.com/prometheus/procfs v0.1.3/go.mod h1:lV6e/gmhEcM9IjHGsFOCxxuZ+z1YqCvr4OA4YeYWdaU=
-github.com/prometheus/procfs v0.6.0/go.mod h1:cz+aTbrPOrUb4q7XlbU9ygM+/jj0fzG6c1xBZuNvfVA=
-github.com/prometheus/procfs v0.7.3/go.mod h1:cz+aTbrPOrUb4q7XlbU9ygM+/jj0fzG6c1xBZuNvfVA=
-github.com/prometheus/procfs v0.12.0 h1:jluTpSng7V9hY0O2R9DzzJHYb2xULk9VTR1V1R/k6Bo=
-github.com/prometheus/procfs v0.12.0/go.mod h1:pcuDEFsWDnvcgNzo4EEweacyhjeA9Zk3cnaOZAZEfOo=
-github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4=
-github.com/rogpeppe/go-internal v1.6.1/go.mod h1:xXDCJY+GAPziupqXw64V24skbSoqbTEfhy4qGm1nDQc=
-github.com/rogpeppe/go-internal v1.8.0/go.mod h1:WmiCO8CzOY8rg0OYDC4/i/2WRWAB6poM+XZ2dLUbcbE=
-github.com/rogpeppe/go-internal v1.11.0 h1:cWPaGQEPrBb5/AsnsZesgZZ9yb1OQ+GOISoDNXVBh4M=
-github.com/rogpeppe/go-internal v1.11.0/go.mod h1:ddIwULY96R17DhadqLgMfk9H9tvdUzkipdSkR5nkCZA=
+github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 h1:Jamvg5psRIccs7FGNTlIRMkT8wgtp5eCXdBlqhYGL6U=
+github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
+github.com/prometheus/client_golang v1.20.1 h1:IMJXHOD6eARkQpxo8KkhgEVFlBNm+nkrFUyGlIu7Na8=
+github.com/prometheus/client_golang v1.20.1/go.mod h1:PIEt8X02hGcP8JWbeHyeZ53Y/jReSnHgO035n//V5WE=
+github.com/prometheus/client_model v0.6.1 h1:ZKSh/rekM+n3CeS952MLRAdFwIKqeY8b62p8ais2e9E=
+github.com/prometheus/client_model v0.6.1/go.mod h1:OrxVMOVHjw3lKMa8+x6HeMGkHMQyHDk9E3jmP2AmGiY=
+github.com/prometheus/common v0.55.0 h1:KEi6DK7lXW/m7Ig5i47x0vRzuBsHuvJdi5ee6Y3G1dc=
+github.com/prometheus/common v0.55.0/go.mod h1:2SECS4xJG1kd8XF9IcM1gMX6510RAEL65zxzNImwdc8=
+github.com/prometheus/procfs v0.15.1 h1:YagwOFzUgYfKKHX6Dr+sHT7km/hxC76UB0learggepc=
+github.com/prometheus/procfs v0.15.1/go.mod h1:fB45yRUv8NstnjriLhBQLuOUt+WW4BsoGhij/e3PBqk=
+github.com/rogpeppe/go-internal v1.12.0 h1:exVL4IDcn6na9z1rAb56Vxr+CgyK3nn3O+epU5NdKM8=
+github.com/rogpeppe/go-internal v1.12.0/go.mod h1:E+RYuTGaKKdloAfM02xzb0FW3Paa99yedzYV+kq4uf4=
github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM=
github.com/sergi/go-diff v1.3.1 h1:xkr+Oxo4BOQKmkn/B9eMK0g5Kg/983T9DqqPHwYqD+8=
github.com/sergi/go-diff v1.3.1/go.mod h1:aMJSSKb2lpPvRNec0+w3fl7LP9IOFzdc9Pa4NFbPK1I=
-github.com/sirupsen/logrus v1.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo=
-github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6MwdIuYE2rE=
-github.com/sirupsen/logrus v1.6.0/go.mod h1:7uNnSEd1DgxDLC74fIahvMZmmYsHGZGEOFrfsX/uA88=
github.com/sirupsen/logrus v1.9.3 h1:dueUQJ1C2q9oE3F7wvmSGAaVtTmUizReu6fjN8uqzbQ=
github.com/sirupsen/logrus v1.9.3/go.mod h1:naHLuLoDiP4jHNo9R0sCBMtWGeIprob74mVsIT4qYEQ=
-github.com/spf13/cobra v1.8.0 h1:7aJaZx1B85qltLMc546zn58BxxfZdR/W22ej9CFoEf0=
-github.com/spf13/cobra v1.8.0/go.mod h1:WXLWApfZ71AjXPya3WOlMsY9yMs7YeiHhFVlvLyhcho=
+github.com/spf13/cobra v1.8.1 h1:e5/vxKd/rZsfSJMUX1agtjeTDf+qv1/JdBF8gg5k9ZM=
+github.com/spf13/cobra v1.8.1/go.mod h1:wHxEcudfqmLYa8iTfL+OuZPbBZkmvliBWKIezN3kD9Y=
github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA=
github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg=
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
-github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
github.com/stretchr/objx v0.5.2 h1:xuMeJ0Sdp5ZMRXx/aWO6RZxdr3beISkG5/G/aIRr3pY=
github.com/stretchr/objx v0.5.2/go.mod h1:FRsXN1f5AsAjCGJKqEizvkpNtU+EGNCLh3NxZ/8L+MA=
github.com/stretchr/testify v1.1.3/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs=
-github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs=
github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI=
github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4=
github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5cxcmMvtA=
-github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsTg=
github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY=
github.com/urfave/cli v1.17.1-0.20160602030128-01a33823596e/go.mod h1:70zkFmudgCuE/ngEzBv17Jvp/497gISqfk5gWijbERA=
+github.com/x448/float16 v0.8.4 h1:qLwI1I70+NjRFUR3zs1JPUCgaCXSh3SW62uAKT1mSBM=
+github.com/x448/float16 v0.8.4/go.mod h1:14CWIYCyZA/cWjXOioeEpHeN/83MdbZDRQHoFcYsOfg=
github.com/xlab/treeprint v1.2.0 h1:HzHnuAF1plUN2zGlAFHbSQP2qJ0ZAD3XF5XD7OesXRQ=
github.com/xlab/treeprint v1.2.0/go.mod h1:gj5Gd3gPdKtR1ikdDK6fnFLdmIS0X30kTTuNd/WEJu0=
github.com/yudai/gojsondiff v1.0.0 h1:27cbfqXLVEJ1o8I6v3y9lg8Ydm53EKqHXAOMxEGlCOA=
@@ -372,320 +222,87 @@ github.com/yudai/golcs v0.0.0-20170316035057-ecda9a501e82 h1:BHyfKlQyqbsFN5p3Ifn
github.com/yudai/golcs v0.0.0-20170316035057-ecda9a501e82/go.mod h1:lgjkn3NuSvDfVJdfcVVdX+jpBxNmX4rDAzaS45IcYoM=
github.com/yudai/pp v2.0.1+incompatible h1:Q4//iY4pNF6yPLZIigmvcl7k/bPgrcTPIFIcmawg5bI=
github.com/yudai/pp v2.0.1+incompatible/go.mod h1:PuxR/8QJ7cyCkFp/aUDS+JY727OFEZkTdatxwunjIkc=
-github.com/yuin/goldmark v1.1.25/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
-github.com/yuin/goldmark v1.1.32/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
-github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY=
github.com/zakjan/cert-chain-resolver v0.0.0-20221221105603-fcedb00c5b30 h1:rzHvkiukOVYcf840FqAsHqBMhfLofvQIxWtczkGRklU=
github.com/zakjan/cert-chain-resolver v0.0.0-20221221105603-fcedb00c5b30/go.mod h1:/Hzu8ych2oXCs1iNI+MeASyFzWTncQ6nlu/wgqbqC2A=
-go.opencensus.io v0.21.0/go.mod h1:mSImk1erAIZhrmZN+AvHh14ztQfjbGwt4TtuofqLduU=
-go.opencensus.io v0.22.0/go.mod h1:+kGneAE2xo2IficOXnaByMWTGM9T73dGwxeWcUqIpI8=
-go.opencensus.io v0.22.2/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw=
-go.opencensus.io v0.22.3/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw=
-go.opencensus.io v0.22.4/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw=
go.starlark.net v0.0.0-20240123142251-f86470692795 h1:LmbG8Pq7KDGkglKVn8VpZOZj6vb9b8nKEGcg9l03epM=
go.starlark.net v0.0.0-20240123142251-f86470692795/go.mod h1:LcLNIzVOMp4oV+uusnpk+VU+SzXaJakUuBjoCSWH5dM=
go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto=
go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE=
go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0=
go.uber.org/multierr v1.11.0/go.mod h1:20+QtiLqy0Nd6FdQB9TLXag12DsQkrbs3htMFfDN80Y=
-go.uber.org/zap v1.26.0 h1:sI7k6L95XOKS281NhVKOFCUNIvv9e0w4BF8N3u+tCRo=
-go.uber.org/zap v1.26.0/go.mod h1:dtElttAiwGvoJ/vj4IwHBS/gXsEu/pZ50mUIRWuG0so=
+go.uber.org/zap v1.27.0 h1:aJMhYGrd5QSmlpLMr2MftRKl7t8J8PTZPA732ud/XR8=
+go.uber.org/zap v1.27.0/go.mod h1:GB2qFLM7cTU87MWRP2mPIjqfIDnGu+VIO4V/SdhGo2E=
golang.org/dl v0.0.0-20190829154251-82a15e2f2ead/go.mod h1:IUMfjQLJQd4UTqG1Z90tenwKoCX93Gn3MAQJMOSBsDQ=
-golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
-golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
-golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
-golang.org/x/crypto v0.0.0-20210616213533-5ff15b29337e/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc=
-golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc=
-golang.org/x/crypto v0.21.0 h1:X31++rzVUdKhX5sWmSOFZxx8UW/ldWx55cbf08iNAMA=
-golang.org/x/crypto v0.21.0/go.mod h1:0BP7YvVV9gBbVKyeTG0Gyn+gZm94bibOW5BjDEYAOMs=
-golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
-golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
-golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8=
-golang.org/x/exp v0.0.0-20190829153037-c13cbed26979/go.mod h1:86+5VVa7VpoJ4kLfm080zCjGlMRFzhUhsZKEZO7MGek=
-golang.org/x/exp v0.0.0-20191030013958-a1ab85dbe136/go.mod h1:JXzH8nQsPlswgeRAPE3MuO9GYsAcnJvJ4vnMwN/5qkY=
-golang.org/x/exp v0.0.0-20191129062945-2f5052295587/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4=
-golang.org/x/exp v0.0.0-20191227195350-da58074b4299/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4=
-golang.org/x/exp v0.0.0-20200119233911-0405dc783f0a/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4=
-golang.org/x/exp v0.0.0-20200207192155-f17229e696bd/go.mod h1:J/WKrq2StrnmMY6+EHIKF9dgMWnmCNThgcyBT1FY9mM=
-golang.org/x/exp v0.0.0-20200224162631-6cc2880d07d6/go.mod h1:3jZMyOhIsHpP37uCMkUooju7aAi5cS1Q23tOzKc+0MU=
-golang.org/x/exp v0.0.0-20220722155223-a9213eeb770e h1:+WEEuIdZHnUeJJmEUjyYC2gfUMj69yZXw17EnHg/otA=
-golang.org/x/exp v0.0.0-20220722155223-a9213eeb770e/go.mod h1:Kr81I6Kryrl9sr8s2FK3vxD90NdsKWRuOIl2O4CvYbA=
-golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js=
-golang.org/x/image v0.0.0-20190802002840-cff245a6509b/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0=
-golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE=
-golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU=
-golang.org/x/lint v0.0.0-20190301231843-5614ed5bae6f/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE=
-golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc=
-golang.org/x/lint v0.0.0-20190409202823-959b441ac422/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc=
-golang.org/x/lint v0.0.0-20190909230951-414d861bb4ac/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc=
-golang.org/x/lint v0.0.0-20190930215403-16217165b5de/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc=
-golang.org/x/lint v0.0.0-20191125180803-fdd1cda4f05f/go.mod h1:5qLYkcX4OjUUV8bRuDixDT3tpyyb+LUpUlRWLxfhWrs=
-golang.org/x/lint v0.0.0-20200130185559-910be7a94367/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY=
-golang.org/x/lint v0.0.0-20200302205851-738671d3881b/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY=
-golang.org/x/mobile v0.0.0-20190312151609-d3739f865fa6/go.mod h1:z+o9i4GpDbdi3rU15maQ/Ox0txvL9dWGYEHz965HBQE=
-golang.org/x/mobile v0.0.0-20190719004257-d2bd2a29d028/go.mod h1:E/iHnbuqvinMTCcRqshq8CkpyQDoeVncDDYHnLhea+o=
-golang.org/x/mod v0.0.0-20190513183733-4bf6d317e70e/go.mod h1:mXi4GBBbnImb6dmsKGUJ2LatrhH/nqhxcFungHvyanc=
-golang.org/x/mod v0.1.0/go.mod h1:0QHyrYULN0/3qlju5TqG8bIK38QM8yzMo5ekMj3DlcY=
-golang.org/x/mod v0.1.1-0.20191105210325-c90efee705ee/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg=
-golang.org/x/mod v0.1.1-0.20191107180719-034126e5016b/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg=
+golang.org/x/crypto v0.26.0 h1:RrRspgV4mU+YwB4FYnuBoKsUapNIL5cohGAmSH3azsw=
+golang.org/x/crypto v0.26.0/go.mod h1:GY7jblb9wI+FOo5y8/S2oY4zWP07AkOJ4+jxCqdqn54=
+golang.org/x/exp v0.0.0-20240719175910-8a7402abbf56 h1:2dVuKD2vS7b0QIHQbpyTISPd0LeHDbnYEryqj5Q1ug8=
+golang.org/x/exp v0.0.0-20240719175910-8a7402abbf56/go.mod h1:M4RDyNAINzryxdtnbRXRL/OHtkFuWGRjvuhBJpk2IlY=
golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
-golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4=
-golang.org/x/mod v0.15.0 h1:SernR4v+D55NyBH2QiEQrlBAnj1ECL6AGrA5+dPaMY8=
-golang.org/x/mod v0.15.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c=
-golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
-golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
+golang.org/x/mod v0.20.0 h1:utOm6MM3R3dnawAiJgn0y+xvuYRsm1RKM/4giyfDgV0=
+golang.org/x/mod v0.20.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c=
golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
-golang.org/x/net v0.0.0-20181114220301-adae6a3d119a/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
-golang.org/x/net v0.0.0-20190108225652-1e06a53dbb7e/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
-golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
-golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
-golang.org/x/net v0.0.0-20190501004415-9ce7a6920f09/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
-golang.org/x/net v0.0.0-20190503192946-f4e77d36d62c/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
-golang.org/x/net v0.0.0-20190603091049-60506f45cf65/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks=
-golang.org/x/net v0.0.0-20190613194153-d28f0bde5980/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
-golang.org/x/net v0.0.0-20190628185345-da137c7871d7/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
-golang.org/x/net v0.0.0-20190724013045-ca1201d0de80/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
-golang.org/x/net v0.0.0-20191209160850-c0dbc17a3553/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
-golang.org/x/net v0.0.0-20200114155413-6afb5195e5aa/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
-golang.org/x/net v0.0.0-20200202094626-16171245cfb2/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
-golang.org/x/net v0.0.0-20200222125558-5a598a2470a0/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
-golang.org/x/net v0.0.0-20200301022130-244492dfa37a/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
-golang.org/x/net v0.0.0-20200324143707-d3edc9973b7e/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A=
-golang.org/x/net v0.0.0-20200501053045-e0ff5e5a1de5/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A=
-golang.org/x/net v0.0.0-20200506145744-7e3656a0809f/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A=
-golang.org/x/net v0.0.0-20200513185701-a91f0712d120/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A=
golang.org/x/net v0.0.0-20200520004742-59133d7f0dd7/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A=
-golang.org/x/net v0.0.0-20200520182314-0ba52f642ac2/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A=
-golang.org/x/net v0.0.0-20200625001655-4c5254603344/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA=
-golang.org/x/net v0.0.0-20200707034311-ab3426394381/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA=
-golang.org/x/net v0.0.0-20200822124328-c89045814202/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA=
golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU=
-golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg=
-golang.org/x/net v0.0.0-20210525063256-abc453219eb5/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
-golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c=
-golang.org/x/net v0.22.0 h1:9sGLhx7iRIHEiX0oAJ3MRZMUCElJgy7Br1nO+AMN3Tc=
-golang.org/x/net v0.22.0/go.mod h1:JKghWKKOSdJwpW2GEx0Ja7fmaKnMsbu+MWVZTokSYmg=
-golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
-golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
-golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
-golang.org/x/oauth2 v0.0.0-20191202225959-858c2ad4c8b6/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
-golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
-golang.org/x/oauth2 v0.0.0-20210514164344-f6687ab2804c/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A=
-golang.org/x/oauth2 v0.18.0 h1:09qnuIAgzdx1XplqJvW6CQqMCtGZykZWcXzPMPUusvI=
-golang.org/x/oauth2 v0.18.0/go.mod h1:Wf7knwG0MPoWIMMBgFlEaSUDaKskp0dCfrlJRJXbBi8=
+golang.org/x/net v0.28.0 h1:a9JDOJc5GMUJ0+UDqmLT86WiEy7iWyIhz8gz8E4e5hE=
+golang.org/x/net v0.28.0/go.mod h1:yqtgsTWOOnlGLG9GFRrK3++bGOUEkNBoHZc8MEDWPNg=
+golang.org/x/oauth2 v0.21.0 h1:tsimM75w1tF/uws5rbeHzIWxEqElMehnc+iW793zsZs=
+golang.org/x/oauth2 v0.21.0/go.mod h1:XYTD2NtWslqkgxebSiOHnXEap4TF09sJSc7H1sXbhtI=
golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
-golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
-golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
-golang.org/x/sync v0.0.0-20190227155943-e225da77a7e6/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
-golang.org/x/sync v0.0.0-20200317015054-43a5402ce75a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
-golang.org/x/sync v0.0.0-20200625203802-6e8e738ad208/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
-golang.org/x/sync v0.0.0-20201207232520-09787c993a3a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
-golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
-golang.org/x/sync v0.6.0 h1:5BMeUDZ7vkXGfEr1x9B4bRcTH4lpkTkpdh0T/J+qjbQ=
-golang.org/x/sync v0.6.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk=
-golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
-golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
+golang.org/x/sync v0.8.0 h1:3NFvSEYkUoMifnESzZl15y791HH1qU2xm6eCJU5ZPXQ=
+golang.org/x/sync v0.8.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk=
golang.org/x/sys v0.0.0-20180909124046-d0be0721c37e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
-golang.org/x/sys v0.0.0-20181116152217-5ac8a444bdc5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
-golang.org/x/sys v0.0.0-20190312061237-fead79001313/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20190422165155-953cdadca894/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20190502145724-3ef323f4f1fd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20190507160741-ecd444e8653b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20190606165138-5da285871e9c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20190624142023-c5567b49c5d0/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20190726091711-fc99dfbffb4e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20190904154756-749cb33beabd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20191001151750-bb3f8db39f24/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20191005200804-aed5e4c7ecf9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20191120155948-bd437916bb0e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20191204072324-ce4227a45e2e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20191228213918-04cbcbbfeed8/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20200106162015-b016eb3dc98e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20200113162924-86b910548bc1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20200122134326-e047566fdf82/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20200202164722-d101bd2416d5/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20200212091648-12a6c2dcc1e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20200223170610-d5e6a3e2c0ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20200302150141-5c8b2ff67527/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20200331124033-c3d80250170d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20200501052902-10377860bb8e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20200511232937-7e40ca221e25/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20200515095857-1151b9dac4a9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20200523222454-059865788121/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20200615200032-f1bc736245b1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20200625212154-ddb9806d33ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20200803210538-64077c9b5642/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20210112080510-489259a85091/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20210124154548-22da62e12c0c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20210603081109-ebe580a85c40/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
-golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20210616094352-59db8d763f22/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
-golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
-golang.org/x/sys v0.18.0 h1:DBdB3niSjOA/O0blCZBqDefyWNYveAYMNF1Wum0DYQ4=
-golang.org/x/sys v0.18.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
-golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
-golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
-golang.org/x/term v0.18.0 h1:FcHjZXDMxI8mM3nwhX9HlKop4C0YQvCVCdwYl2wOtE8=
-golang.org/x/term v0.18.0/go.mod h1:ILwASektA3OnRv7amZ1xhE/KTR+u50pbXfZ03+6Nx58=
-golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
+golang.org/x/sys v0.23.0 h1:YfKFowiIMvtgl1UERQoTPPToxltDeZfbj4H7dVUCwmM=
+golang.org/x/sys v0.23.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
+golang.org/x/term v0.23.0 h1:F6D4vR+EHoL9/sWAWgAR1H2DcHr4PareCbAaCo1RpuU=
+golang.org/x/term v0.23.0/go.mod h1:DgV24QBUrK6jhZXl+20l6UWznPlwAHm1Q1mGHtydmSk=
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
-golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
-golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk=
golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
-golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
-golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ=
-golang.org/x/text v0.3.8/go.mod h1:E6s5w1FMmriuDzIBO73fBruAKo1PCIq6d2Q6DHfQ8WQ=
-golang.org/x/text v0.14.0 h1:ScX5w1eTa3QqT8oi6+ziP7dTV1S2+ALU0bI+0zXKWiQ=
-golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU=
-golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
-golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
-golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
+golang.org/x/text v0.17.0 h1:XtiM5bkSOt+ewxlOE/aE/AKEHibwj/6gvWMl9Rsh0Qc=
+golang.org/x/text v0.17.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY=
golang.org/x/time v0.5.0 h1:o7cqy6amK/52YcAKIPlM3a+Fpj35zvRj2TP+e1xFSfk=
golang.org/x/time v0.5.0/go.mod h1:3BpzKBy/shNhVucY/MWOyx10tF3SFh9QdLuxbVysPQM=
golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
-golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
-golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY=
-golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
-golang.org/x/tools v0.0.0-20190312151545-0bb0c0a6e846/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
-golang.org/x/tools v0.0.0-20190312170243-e65039ee4138/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
-golang.org/x/tools v0.0.0-20190425150028-36563e24a262/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q=
-golang.org/x/tools v0.0.0-20190506145303-2d16b83fe98c/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q=
-golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q=
-golang.org/x/tools v0.0.0-20190606124116-d0a3d012864b/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc=
-golang.org/x/tools v0.0.0-20190621195816-6e04913cbbac/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc=
-golang.org/x/tools v0.0.0-20190628153133-6cdbf07be9d0/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc=
-golang.org/x/tools v0.0.0-20190816200558-6889da9d5479/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
-golang.org/x/tools v0.0.0-20190911174233-4f2ddba30aff/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
-golang.org/x/tools v0.0.0-20191012152004-8de300cfc20a/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
-golang.org/x/tools v0.0.0-20191113191852-77e3bb0ad9e7/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
-golang.org/x/tools v0.0.0-20191115202509-3a792d9c32b2/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
-golang.org/x/tools v0.0.0-20191125144606-a911d9008d1f/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
-golang.org/x/tools v0.0.0-20191130070609-6e064ea0cf2d/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
-golang.org/x/tools v0.0.0-20191216173652-a0e659d51361/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28=
-golang.org/x/tools v0.0.0-20191227053925-7b8e75db28f4/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28=
-golang.org/x/tools v0.0.0-20200117161641-43d50277825c/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28=
-golang.org/x/tools v0.0.0-20200122220014-bf1340f18c4a/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28=
-golang.org/x/tools v0.0.0-20200130002326-2f3ba24bd6e7/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28=
-golang.org/x/tools v0.0.0-20200204074204-1cc6d1ef6c74/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28=
-golang.org/x/tools v0.0.0-20200207183749-b753a1ba74fa/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28=
-golang.org/x/tools v0.0.0-20200212150539-ea181f53ac56/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28=
-golang.org/x/tools v0.0.0-20200224181240-023911ca70b2/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28=
-golang.org/x/tools v0.0.0-20200227222343-706bc42d1f0d/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28=
-golang.org/x/tools v0.0.0-20200304193943-95d2e580d8eb/go.mod h1:o4KQGtdN14AW+yjsvvwRTJJuXz8XRtIHtEnmAXLyFUw=
-golang.org/x/tools v0.0.0-20200312045724-11d5b4c81c7d/go.mod h1:o4KQGtdN14AW+yjsvvwRTJJuXz8XRtIHtEnmAXLyFUw=
-golang.org/x/tools v0.0.0-20200331025713-a30bf2db82d4/go.mod h1:Sl4aGygMT6LrqrWclx+PTx3U+LnKx/seiNR+3G19Ar8=
-golang.org/x/tools v0.0.0-20200501065659-ab2804fb9c9d/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE=
-golang.org/x/tools v0.0.0-20200505023115-26f46d2f7ef8/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE=
-golang.org/x/tools v0.0.0-20200512131952-2bc93b1c0c88/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE=
-golang.org/x/tools v0.0.0-20200515010526-7d3b6ebf133d/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE=
-golang.org/x/tools v0.0.0-20200618134242-20370b0cb4b2/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE=
golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE=
-golang.org/x/tools v0.0.0-20200729194436-6467de6f59a7/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA=
-golang.org/x/tools v0.0.0-20200804011535-6c149bb5ef0d/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA=
-golang.org/x/tools v0.0.0-20200825202427-b303f430e36d/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA=
golang.org/x/tools v0.0.0-20201224043029-2b0845dc783e/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA=
golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA=
-golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc=
-golang.org/x/tools v0.18.0 h1:k8NLag8AGHnn+PHbl7g43CtqZAwG60vZkLqgyZgIHgQ=
-golang.org/x/tools v0.18.0/go.mod h1:GL7B4CwcLLeo59yx/9UWWuNOW1n3VZ4f5axWfML7Lcg=
+golang.org/x/tools v0.24.0 h1:J1shsA93PJUEVaUSaay7UXAyE8aimq3GW0pjlolpa24=
+golang.org/x/tools v0.24.0/go.mod h1:YhNqVBIfWHdzvTLs0d8LCuMhkKUgSUKldakyV7W/WDQ=
golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
gomodules.xyz/jsonpatch/v2 v2.4.0 h1:Ci3iUJyx9UeRx7CeFN8ARgGbkESwJK+KB9lLcWxY/Zw=
gomodules.xyz/jsonpatch/v2 v2.4.0/go.mod h1:AH3dM2RI6uoBZxn3LVrfvJ3E0/9dG4cSrbuBJT4moAY=
-google.golang.org/api v0.4.0/go.mod h1:8k5glujaEP+g9n7WNsDg8QP6cUVNI86fCNMcbazEtwE=
-google.golang.org/api v0.7.0/go.mod h1:WtwebWUNSVBH/HAw79HIFXZNqEvBhG+Ra+ax0hx3E3M=
-google.golang.org/api v0.8.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg=
-google.golang.org/api v0.9.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg=
-google.golang.org/api v0.13.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI=
-google.golang.org/api v0.14.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI=
-google.golang.org/api v0.15.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI=
-google.golang.org/api v0.17.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE=
-google.golang.org/api v0.18.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE=
-google.golang.org/api v0.19.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE=
-google.golang.org/api v0.20.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE=
-google.golang.org/api v0.22.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE=
-google.golang.org/api v0.24.0/go.mod h1:lIXQywCXRcnZPGlsd8NbLnOjtAoL6em04bJ9+z0MncE=
-google.golang.org/api v0.28.0/go.mod h1:lIXQywCXRcnZPGlsd8NbLnOjtAoL6em04bJ9+z0MncE=
-google.golang.org/api v0.29.0/go.mod h1:Lcubydp8VUV7KeIHD9z2Bys/sm/vGKnG1UHuDBSrHWM=
-google.golang.org/api v0.30.0/go.mod h1:QGmEvQ87FHZNiUVJkT14jQNYJ4ZJjdRF23ZXz5138Fc=
-google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM=
-google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4=
-google.golang.org/appengine v1.5.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4=
-google.golang.org/appengine v1.6.1/go.mod h1:i06prIuMbXzDqacNJfV5OdTW448YApPu5ww/cMBSeb0=
-google.golang.org/appengine v1.6.5/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc=
-google.golang.org/appengine v1.6.6/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc=
-google.golang.org/appengine v1.6.8 h1:IhEN5q69dyKagZPYMSdIjS2HqprW324FRQZJcGqPAsM=
-google.golang.org/appengine v1.6.8/go.mod h1:1jJ3jBArFh5pcgW8gCtRJnepW8FzD1V44FJffLiz/Ds=
-google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc=
-google.golang.org/genproto v0.0.0-20190307195333-5fe7a883aa19/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE=
-google.golang.org/genproto v0.0.0-20190418145605-e7d98fc518a7/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE=
-google.golang.org/genproto v0.0.0-20190425155659-357c62f0e4bb/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE=
-google.golang.org/genproto v0.0.0-20190502173448-54afdca5d873/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE=
-google.golang.org/genproto v0.0.0-20190801165951-fa694d86fc64/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc=
-google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc=
-google.golang.org/genproto v0.0.0-20190911173649-1774047e7e51/go.mod h1:IbNlFCBrqXvoKpeg0TB2l7cyZUmoaFKYIwrEpbDKLA8=
-google.golang.org/genproto v0.0.0-20191108220845-16a3f7862a1a/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc=
-google.golang.org/genproto v0.0.0-20191115194625-c23dd37a84c9/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc=
-google.golang.org/genproto v0.0.0-20191216164720-4f79533eabd1/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc=
-google.golang.org/genproto v0.0.0-20191230161307-f3c370f40bfb/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc=
-google.golang.org/genproto v0.0.0-20200115191322-ca5a22157cba/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc=
-google.golang.org/genproto v0.0.0-20200122232147-0452cf42e150/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc=
-google.golang.org/genproto v0.0.0-20200204135345-fa8e72b47b90/go.mod h1:GmwEX6Z4W5gMy59cAlVYjN9JhxgbQH6Gn+gFDQe2lzA=
-google.golang.org/genproto v0.0.0-20200212174721-66ed5ce911ce/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c=
-google.golang.org/genproto v0.0.0-20200224152610-e50cd9704f63/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c=
-google.golang.org/genproto v0.0.0-20200228133532-8c2c7df3a383/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c=
-google.golang.org/genproto v0.0.0-20200305110556-506484158171/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c=
-google.golang.org/genproto v0.0.0-20200312145019-da6875a35672/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c=
-google.golang.org/genproto v0.0.0-20200331122359-1ee6d9798940/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c=
-google.golang.org/genproto v0.0.0-20200430143042-b979b6f78d84/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c=
-google.golang.org/genproto v0.0.0-20200511104702-f5ebc3bea380/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c=
-google.golang.org/genproto v0.0.0-20200515170657-fc4c6c6a6587/go.mod h1:YsZOwe1myG/8QRHRsmBRE1LrgQY60beZKjly0O1fX9U=
-google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013/go.mod h1:NbSheEEYHJ7i3ixzK3sjbqSGDJWnxyFXZblF3eUsNvo=
-google.golang.org/genproto v0.0.0-20200618031413-b414f8b61790/go.mod h1:jDfRM7FcilCzHH/e9qn6dsT145K34l5v+OpcnNgKAAA=
-google.golang.org/genproto v0.0.0-20200729003335-053ba62fc06f/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
-google.golang.org/genproto v0.0.0-20200804131852-c06518451d9c/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
-google.golang.org/genproto v0.0.0-20200825200019-8632dd797987/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
-google.golang.org/genproto/googleapis/rpc v0.0.0-20240221002015-b0ce06bbee7c h1:NUsgEN92SQQqzfA+YtqYNqYmB3DMMYLlIwUZAQFVFbo=
-google.golang.org/genproto/googleapis/rpc v0.0.0-20240221002015-b0ce06bbee7c/go.mod h1:H4O17MA/PE9BsGx3w+a+W2VOLLD1Qf7oJneAoU6WktY=
-google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c=
-google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38=
-google.golang.org/grpc v1.21.1/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM=
-google.golang.org/grpc v1.23.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg=
-google.golang.org/grpc v1.25.1/go.mod h1:c3i+UQWmh7LiEpx4sFZnkU36qjEYZ0imhYfXVyQciAY=
-google.golang.org/grpc v1.26.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk=
-google.golang.org/grpc v1.27.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk=
-google.golang.org/grpc v1.27.1/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk=
-google.golang.org/grpc v1.28.0/go.mod h1:rpkK4SK4GF4Ach/+MFLZUBavHOvF2JJB5uozKKal+60=
-google.golang.org/grpc v1.29.1/go.mod h1:itym6AZVZYACWQqET3MqgPpjcuV5QH3BxFS3IjizoKk=
-google.golang.org/grpc v1.30.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak=
-google.golang.org/grpc v1.31.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak=
-google.golang.org/grpc v1.62.1 h1:B4n+nfKzOICUXMgyrNd19h/I9oH0L1pizfk1d4zSgTk=
-google.golang.org/grpc v1.62.1/go.mod h1:IWTG0VlJLCh1SkC58F7np9ka9mx/WNkjl4PGJaiq+QE=
+google.golang.org/genproto/googleapis/rpc v0.0.0-20240701130421-f6361c86f094 h1:BwIjyKYGsK9dMCBOorzRri8MQwmi7mT9rGHsCEinZkA=
+google.golang.org/genproto/googleapis/rpc v0.0.0-20240701130421-f6361c86f094/go.mod h1:Ue6ibwXGpU+dqIcODieyLOcgj7z8+IcskoNIgZxtrFY=
+google.golang.org/grpc v1.65.0 h1:bs/cUb4lp1G5iImFFd3u5ixQzweKizoZJAwBNLR42lc=
+google.golang.org/grpc v1.65.0/go.mod h1:WgYC2ypjlB0EiQi6wdKixMqukr6lBc0Vo+oOgjrM5ZQ=
google.golang.org/grpc/examples v0.0.0-20240223204917-5ccf176a08ab h1:tg8hvIl5RmFBuXlcJMuL0h4Psh1gx5Q5xEMwzBZIzWA=
google.golang.org/grpc/examples v0.0.0-20240223204917-5ccf176a08ab/go.mod h1:liVNnGuZDITxuksuZ+BBvdy7FcJfeNk+efF9qgqNUmc=
google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8=
@@ -693,22 +310,15 @@ google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ
google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM=
google.golang.org/protobuf v1.20.1-0.20200309200217-e05f789c0967/go.mod h1:A+miEFZTKqfCUM6K7xSMQL9OKL/b6hQv+e19PK+JZNE=
google.golang.org/protobuf v1.21.0/go.mod h1:47Nbq4nVaFHyn7ilMalzfO3qCViNmqZ2kzikPIcrTAo=
-google.golang.org/protobuf v1.22.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU=
google.golang.org/protobuf v1.23.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU=
-google.golang.org/protobuf v1.23.1-0.20200526195155-81db48ad09cc/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU=
-google.golang.org/protobuf v1.24.0/go.mod h1:r/3tXBNzIEhYS9I1OUVjXDlt8tc493IdKGjtUeSXeh4=
-google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlbajtzgsN7c=
-google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw=
-google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc=
-google.golang.org/protobuf v1.33.0 h1:uNO2rsAINq/JlFpSdYEKIZ0uKD/R9cpdv0T+yoGwGmI=
-google.golang.org/protobuf v1.33.0/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos=
-gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw=
+google.golang.org/protobuf v1.34.2 h1:6xV6lTsCfpGD21XK49h7MhtcApnLqkfYgPcdHftf6hg=
+google.golang.org/protobuf v1.34.2/go.mod h1:qYOHts0dSfpeUzUFpOMr/WGzszTmLH+DiWniOlNbLDw=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
-gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk=
gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q=
-gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI=
+gopkg.in/evanphx/json-patch.v4 v4.12.0 h1:n6jtcsulIzXPJaxegRbvFNNrZDjbij7ny3gmSPG+6V4=
+gopkg.in/evanphx/json-patch.v4 v4.12.0/go.mod h1:p8EYWUEYMpynmqDbY58zCKCFZw8pRWMG4EsWvDvM72M=
gopkg.in/evanphx/json-patch.v5 v5.9.0 h1:hx1VU2SGj4F8r9b8GUwJLdc8DNO8sy79ZGui0G05GLo=
gopkg.in/evanphx/json-patch.v5 v5.9.0/go.mod h1:/kvTRh1TVm5wuM6OkHxqXtE/1nUZZpihg29RtuIyfvk=
gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMys=
@@ -722,10 +332,8 @@ gopkg.in/mcuadros/go-syslog.v2 v2.3.0 h1:kcsiS+WsTKyIEPABJBJtoG0KkOS6yzvJ+/eZlhD
gopkg.in/mcuadros/go-syslog.v2 v2.3.0/go.mod h1:l5LPIyOOyIdQquNg+oU6Z3524YwrcqEm0aKH+5zpt2U=
gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7 h1:uRGJdciOHaEIrze2W8Q3AKkepLTh2hOroT7a+7czfdQ=
gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7/go.mod h1:dt/ZhP58zS4L8KSrWDmTeBkI65Dw0HsyUHuEVlX15mw=
-gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
gopkg.in/yaml.v2 v2.2.4/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
-gopkg.in/yaml.v2 v2.2.5/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
gopkg.in/yaml.v2 v2.3.0/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY=
@@ -733,45 +341,34 @@ gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ=
gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
-honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
-honnef.co/go/tools v0.0.0-20190106161140-3f1c8253044a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
-honnef.co/go/tools v0.0.0-20190418001031-e561f6794a2a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
-honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
-honnef.co/go/tools v0.0.1-2019.2.3/go.mod h1:a3bituU0lyd329TUQxRnasdCoJDkEUEAqEt0JzvZhAg=
-honnef.co/go/tools v0.0.1-2020.1.3/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k=
-honnef.co/go/tools v0.0.1-2020.1.4/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k=
-k8s.io/api v0.29.3 h1:2ORfZ7+bGC3YJqGpV0KSDDEVf8hdGQ6A03/50vj8pmw=
-k8s.io/api v0.29.3/go.mod h1:y2yg2NTyHUUkIoTC+phinTnEa3KFM6RZ3szxt014a80=
-k8s.io/apiextensions-apiserver v0.29.2 h1:UK3xB5lOWSnhaCk0RFZ0LUacPZz9RY4wi/yt2Iu+btg=
-k8s.io/apiextensions-apiserver v0.29.2/go.mod h1:aLfYjpA5p3OwtqNXQFkhJ56TB+spV8Gc4wfMhUA3/b8=
-k8s.io/apimachinery v0.29.3 h1:2tbx+5L7RNvqJjn7RIuIKu9XTsIZ9Z5wX2G22XAa5EU=
-k8s.io/apimachinery v0.29.3/go.mod h1:hx/S4V2PNW4OMg3WizRrHutyB5la0iCUbZym+W0EQIU=
-k8s.io/apiserver v0.29.2 h1:+Z9S0dSNr+CjnVXQePG8TcBWHr3Q7BmAr7NraHvsMiQ=
-k8s.io/apiserver v0.29.2/go.mod h1:B0LieKVoyU7ykQvPFm7XSdIHaCHSzCzQWPFa5bqbeMQ=
-k8s.io/cli-runtime v0.29.2 h1:smfsOcT4QujeghsNjECKN3lwyX9AwcFU0nvJ7sFN3ro=
-k8s.io/cli-runtime v0.29.2/go.mod h1:KLisYYfoqeNfO+MkTWvpqIyb1wpJmmFJhioA0xd4MW8=
-k8s.io/client-go v0.29.3 h1:R/zaZbEAxqComZ9FHeQwOh3Y1ZUs7FaHKZdQtIc2WZg=
-k8s.io/client-go v0.29.3/go.mod h1:tkDisCvgPfiRpxGnOORfkljmS+UrW+WtXAy2fTvXJB0=
-k8s.io/code-generator v0.29.2 h1:c9/iw2KnNpw2IRV+wwuG/Wns2TjPSgjWzbbjTevyiHI=
-k8s.io/code-generator v0.29.2/go.mod h1:FwFi3C9jCrmbPjekhaCYcYG1n07CYiW1+PAPCockaos=
-k8s.io/component-base v0.29.3 h1:Oq9/nddUxlnrCuuR2K/jp6aflVvc0uDvxMzAWxnGzAo=
-k8s.io/component-base v0.29.3/go.mod h1:Yuj33XXjuOk2BAaHsIGHhCKZQAgYKhqIxIjIr2UXYio=
-k8s.io/gengo v0.0.0-20240226174109-00c4be8627da h1:uH7pylUCo++9PSvrUA34sbk4Y6PHw/bgEFa80pejI+I=
-k8s.io/gengo v0.0.0-20240226174109-00c4be8627da/go.mod h1:FiNAH4ZV3gBg2Kwh89tzAEV2be7d5xI0vBa/VySYy3E=
-k8s.io/klog/v2 v2.2.0/go.mod h1:Od+F08eJP+W3HUb4pSrPpgp9DGU4GzlpG/TmITuYh/Y=
-k8s.io/klog/v2 v2.120.1 h1:QXU6cPEOIslTGvZaXvFWiP9VKyeet3sawzTOvdXb4Vw=
-k8s.io/klog/v2 v2.120.1/go.mod h1:3Jpz1GvMt720eyJH1ckRHK1EDfpxISzJ7I9OYgaDtPE=
-k8s.io/kube-openapi v0.0.0-20240224005224-582cce78233b h1:1dzw/KqgSPod72SUp2tuTOmK33TlY2fHlrVU2M9VrOM=
-k8s.io/kube-openapi v0.0.0-20240224005224-582cce78233b/go.mod h1:Pa1PvrP7ACSkuX6I7KYomY6cmMA0Tx86waBhDUgoKPw=
-k8s.io/utils v0.0.0-20240102154912-e7106e64919e h1:eQ/4ljkx21sObifjzXwlPKpdGLrCfRziVtos3ofG/sQ=
-k8s.io/utils v0.0.0-20240102154912-e7106e64919e/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0=
+k8s.io/api v0.31.0 h1:b9LiSjR2ym/SzTOlfMHm1tr7/21aD7fSkqgD/CVJBCo=
+k8s.io/api v0.31.0/go.mod h1:0YiFF+JfFxMM6+1hQei8FY8M7s1Mth+z/q7eF1aJkTE=
+k8s.io/apiextensions-apiserver v0.31.0 h1:fZgCVhGwsclj3qCw1buVXCV6khjRzKC5eCFt24kyLSk=
+k8s.io/apiextensions-apiserver v0.31.0/go.mod h1:b9aMDEYaEe5sdK+1T0KU78ApR/5ZVp4i56VacZYEHxk=
+k8s.io/apimachinery v0.31.0 h1:m9jOiSr3FoSSL5WO9bjm1n6B9KROYYgNZOb4tyZ1lBc=
+k8s.io/apimachinery v0.31.0/go.mod h1:rsPdaZJfTfLsNJSQzNHQvYoTmxhoOEofxtOsF3rtsMo=
+k8s.io/apiserver v0.31.0 h1:p+2dgJjy+bk+B1Csz+mc2wl5gHwvNkC9QJV+w55LVrY=
+k8s.io/apiserver v0.31.0/go.mod h1:KI9ox5Yu902iBnnyMmy7ajonhKnkeZYJhTZ/YI+WEMk=
+k8s.io/cli-runtime v0.30.0 h1:0vn6/XhOvn1RJ2KJOC6IRR2CGqrpT6QQF4+8pYpWQ48=
+k8s.io/cli-runtime v0.30.0/go.mod h1:vATpDMATVTMA79sZ0YUCzlMelf6rUjoBzlp+RnoM+cg=
+k8s.io/client-go v0.31.0 h1:QqEJzNjbN2Yv1H79SsS+SWnXkBgVu4Pj3CJQgbx0gI8=
+k8s.io/client-go v0.31.0/go.mod h1:Y9wvC76g4fLjmU0BA+rV+h2cncoadjvjjkkIGoTLcGU=
+k8s.io/code-generator v0.31.0 h1:w607nrMi1KeDKB3/F/J4lIoOgAwc+gV9ZKew4XRfMp8=
+k8s.io/code-generator v0.31.0/go.mod h1:84y4w3es8rOJOUUP1rLsIiGlO1JuEaPFXQPA9e/K6U0=
+k8s.io/component-base v0.31.0 h1:/KIzGM5EvPNQcYgwq5NwoQBaOlVFrghoVGr8lG6vNRs=
+k8s.io/component-base v0.31.0/go.mod h1:TYVuzI1QmN4L5ItVdMSXKvH7/DtvIuas5/mm8YT3rTo=
+k8s.io/gengo/v2 v2.0.0-20240404160639-a0386bf69313 h1:bKcdZJOPICVmIIuaM9+MXmapE94dn5AYv5ODs1jA43o=
+k8s.io/gengo/v2 v2.0.0-20240404160639-a0386bf69313/go.mod h1:VH3AT8AaQOqiGjMF9p0/IM1Dj+82ZwjfxUP1IxaHE+8=
+k8s.io/klog/v2 v2.130.1 h1:n9Xl7H1Xvksem4KFG4PYbdQCQxqc/tTUyrgXaOhHSzk=
+k8s.io/klog/v2 v2.130.1/go.mod h1:3Jpz1GvMt720eyJH1ckRHK1EDfpxISzJ7I9OYgaDtPE=
+k8s.io/kube-openapi v0.0.0-20240430033511-f0e62f92d13f h1:0LQagt0gDpKqvIkAMPaRGcXawNMouPECM1+F9BVxEaM=
+k8s.io/kube-openapi v0.0.0-20240430033511-f0e62f92d13f/go.mod h1:S9tOR0FxgyusSNR+MboCuiDpVWkAifZvaYI1Q2ubgro=
+k8s.io/utils v0.0.0-20240711033017-18e509b52bc8 h1:pUdcCO1Lk/tbT5ztQWOBi5HBgbBP1J8+AsQnQCKsi8A=
+k8s.io/utils v0.0.0-20240711033017-18e509b52bc8/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0=
pault.ag/go/sniff v0.0.0-20200207005214-cf7e4d167732 h1:SAElp8THCfmBdM+4lmWX5gebiSSkEr7PAYDVF91qpfg=
pault.ag/go/sniff v0.0.0-20200207005214-cf7e4d167732/go.mod h1:lpvCfhqEHNJSSpG5R5A2EgsVzG8RTt4RfPoQuRAcDmg=
-rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8=
-rsc.io/quote/v3 v3.1.0/go.mod h1:yEA65RcK8LyAZtP9Kv3t0HmxON59tX3rD+tICJqUlj0=
-rsc.io/sampler v1.3.0/go.mod h1:T1hPZKmBbMNahiBKFy5HrXp6adAjACjK9JXDnKaTXpA=
-sigs.k8s.io/controller-runtime v0.17.2 h1:FwHwD1CTUemg0pW2otk7/U5/i5m2ymzvOXdbeGOUvw0=
-sigs.k8s.io/controller-runtime v0.17.2/go.mod h1:+MngTvIQQQhfXtwfdGw/UOQ/aIaqsYywfCINOtwMO/s=
+sigs.k8s.io/controller-runtime v0.19.0 h1:nWVM7aq+Il2ABxwiCizrVDSlmDcshi9llbaFbC0ji/Q=
+sigs.k8s.io/controller-runtime v0.19.0/go.mod h1:iRmWllt8IlaLjvTTDLhRBXIEtkCK6hwVBJJsYS9Ajf4=
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd h1:EDPBXCAspyGV4jQlpZSudPeMmr1bNJefnuqLsRAsHZo=
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd/go.mod h1:B8JuhiUyNFVKdsE8h686QcCxMaH6HrOAZj4vswFpcB0=
sigs.k8s.io/kustomize/api v0.16.0 h1:/zAR4FOQDCkgSDmVzV2uiFbuy9bhu3jEzthrHCuvm1g=
@@ -782,6 +379,5 @@ sigs.k8s.io/mdtoc v1.1.0 h1:q3YtqYzmC2e0hgLXRIOm7/QLuPux1CX3ZHCwlbABxZo=
sigs.k8s.io/mdtoc v1.1.0/go.mod h1:QZLVEdHH2iNIR4uHAZyvFRtjloHgVItk8lo/mzCtq3w=
sigs.k8s.io/structured-merge-diff/v4 v4.4.1 h1:150L+0vs/8DA78h1u02ooW1/fFq/Lwr+sGiqlzvrtq4=
sigs.k8s.io/structured-merge-diff/v4 v4.4.1/go.mod h1:N8hJocpFajUSSeSJ9bOZ77VzejKZaXsTtZo4/u7Io08=
-sigs.k8s.io/yaml v1.2.0/go.mod h1:yfXDCHCao9+ENCvLSE62v9VSji2MKu5jeNfTrofGhJc=
sigs.k8s.io/yaml v1.4.0 h1:Mk1wCc2gy/F0THH0TAp1QYyJNzRm2KCLy3o5ASXVI5E=
sigs.k8s.io/yaml v1.4.0/go.mod h1:Ejl7/uTz7PSA4eKMyQCUTnhZYNmLIl+5c2lQPGR2BPY=
diff --git a/go.work b/go.work
index 463239b63..ac741bb5a 100644
--- a/go.work
+++ b/go.work
@@ -1,4 +1,4 @@
-go 1.21
+go 1.22.6
use (
.
diff --git a/go.work.sum b/go.work.sum
index af236d3b1..3a38ab8ec 100644
--- a/go.work.sum
+++ b/go.work.sum
@@ -1,673 +1,994 @@
-cloud.google.com/go v0.44.3/go.mod h1:60680Gw3Yr4ikxnPRS/oxxkBccT6SA1yMk63TGekxKY=
-cloud.google.com/go v0.72.0/go.mod h1:M+5Vjvlc2wnp6tjzE102Dw08nGShTscUx2nZMufOKPI=
-cloud.google.com/go v0.74.0/go.mod h1:VV1xSbzvo+9QJOxLDaJfTjx5e+MePCpCWwvftOeQmWk=
-cloud.google.com/go v0.75.0/go.mod h1:VGuuCn7PG0dwsd5XPVm2Mm3wlh3EL55/79EKB6hlPTY=
-cloud.google.com/go v0.97.0/go.mod h1:GF7l59pYBVlXQIBLx3a761cZ41F9bBH3JUlihCt2Udc=
-cloud.google.com/go v0.110.2/go.mod h1:k04UEeEtb6ZBRTv3dZz4CeJC3jKGxyhl0sAiVVquxiw=
+cel.dev/expr v0.15.0/go.mod h1:TRSuuV7DlVCE/uwv5QbAiW/v8l5O8C4eEPHeu7gf7Sg=
+cloud.google.com/go v0.110.2 h1:sdFPBr6xG9/wkBbfhmUz/JmZC7X6LavQgcrVINrKiVA=
cloud.google.com/go v0.110.4/go.mod h1:+EYjdK8e5RME/VY/qLCAtuyALQ9q67dvuum8i+H5xsI=
cloud.google.com/go v0.110.8/go.mod h1:Iz8AkXJf1qmxC3Oxoep8R1T36w8B92yU29PcBhHO5fk=
cloud.google.com/go v0.110.10/go.mod h1:v1OoFqYxiBkUrruItNM3eT4lLByNjxmJSV/xDKJNnic=
cloud.google.com/go v0.112.0/go.mod h1:3jEEVwZ/MHU4djK5t5RHuKOA/GbLddgTdVubX1qnPD4=
+cloud.google.com/go/accessapproval v1.6.0 h1:x0cEHro/JFPd7eS4BlEWNTMecIj2HdXjOVB5BtvwER0=
cloud.google.com/go/accessapproval v1.7.1/go.mod h1:JYczztsHRMK7NTXb6Xw+dwbs/WnOJxbo/2mTI+Kgg68=
cloud.google.com/go/accessapproval v1.7.4/go.mod h1:/aTEh45LzplQgFYdQdwPMR9YdX0UlhBmvB84uAmQKUc=
cloud.google.com/go/accessapproval v1.7.5/go.mod h1:g88i1ok5dvQ9XJsxpUInWWvUBrIZhyPDPbk4T01OoJ0=
+cloud.google.com/go/accesscontextmanager v1.7.0 h1:MG60JgnEoawHJrbWw0jGdv6HLNSf6gQvYRiXpuzqgEA=
cloud.google.com/go/accesscontextmanager v1.8.1/go.mod h1:JFJHfvuaTC+++1iL1coPiG1eu5D24db2wXCDWDjIrxo=
cloud.google.com/go/accesscontextmanager v1.8.4/go.mod h1:ParU+WbMpD34s5JFEnGAnPBYAgUHozaTmDJU7aCU9+M=
cloud.google.com/go/accesscontextmanager v1.8.5/go.mod h1:TInEhcZ7V9jptGNqN3EzZ5XMhT6ijWxTGjzyETwmL0Q=
+cloud.google.com/go/aiplatform v1.37.0 h1:zTw+suCVchgZyO+k847wjzdVjWmrAuehxdvcZvJwfGg=
cloud.google.com/go/aiplatform v1.45.0/go.mod h1:Iu2Q7sC7QGhXUeOhAj/oCK9a+ULz1O4AotZiqjQ8MYA=
cloud.google.com/go/aiplatform v1.50.0/go.mod h1:IRc2b8XAMTa9ZmfJV1BCCQbieWWvDnP1A8znyz5N7y4=
cloud.google.com/go/aiplatform v1.52.0/go.mod h1:pwZMGvqe0JRkI1GWSZCtnAfrR4K1bv65IHILGA//VEU=
cloud.google.com/go/aiplatform v1.58.0/go.mod h1:pwZMGvqe0JRkI1GWSZCtnAfrR4K1bv65IHILGA//VEU=
cloud.google.com/go/aiplatform v1.60.0/go.mod h1:eTlGuHOahHprZw3Hio5VKmtThIOak5/qy6pzdsqcQnM=
+cloud.google.com/go/analytics v0.19.0 h1:LqAo3tAh2FU9+w/r7vc3hBjU23Kv7GhO/PDIW7kIYgM=
cloud.google.com/go/analytics v0.21.2/go.mod h1:U8dcUtmDmjrmUTnnnRnI4m6zKn/yaA5N9RlEkYFHpQo=
cloud.google.com/go/analytics v0.21.3/go.mod h1:U8dcUtmDmjrmUTnnnRnI4m6zKn/yaA5N9RlEkYFHpQo=
cloud.google.com/go/analytics v0.21.6/go.mod h1:eiROFQKosh4hMaNhF85Oc9WO97Cpa7RggD40e/RBy8w=
cloud.google.com/go/analytics v0.22.0/go.mod h1:eiROFQKosh4hMaNhF85Oc9WO97Cpa7RggD40e/RBy8w=
cloud.google.com/go/analytics v0.23.0/go.mod h1:YPd7Bvik3WS95KBok2gPXDqQPHy08TsCQG6CdUCb+u0=
+cloud.google.com/go/apigateway v1.5.0 h1:ZI9mVO7x3E9RK/BURm2p1aw9YTBSCQe3klmyP1WxWEg=
cloud.google.com/go/apigateway v1.6.1/go.mod h1:ufAS3wpbRjqfZrzpvLC2oh0MFlpRJm2E/ts25yyqmXA=
cloud.google.com/go/apigateway v1.6.4/go.mod h1:0EpJlVGH5HwAN4VF4Iec8TAzGN1aQgbxAWGJsnPCGGY=
cloud.google.com/go/apigateway v1.6.5/go.mod h1:6wCwvYRckRQogyDDltpANi3zsCDl6kWi0b4Je+w2UiI=
+cloud.google.com/go/apigeeconnect v1.5.0 h1:sWOmgDyAsi1AZ48XRHcATC0tsi9SkPT7DA/+VCfkaeA=
cloud.google.com/go/apigeeconnect v1.6.1/go.mod h1:C4awq7x0JpLtrlQCr8AzVIzAaYgngRqWf9S5Uhg+wWs=
cloud.google.com/go/apigeeconnect v1.6.4/go.mod h1:CapQCWZ8TCjnU0d7PobxhpOdVz/OVJ2Hr/Zcuu1xFx0=
cloud.google.com/go/apigeeconnect v1.6.5/go.mod h1:MEKm3AiT7s11PqTfKE3KZluZA9O91FNysvd3E6SJ6Ow=
+cloud.google.com/go/apigeeregistry v0.6.0 h1:E43RdhhCxdlV+I161gUY2rI4eOaMzHTA5kNkvRsFXvc=
cloud.google.com/go/apigeeregistry v0.7.1/go.mod h1:1XgyjZye4Mqtw7T9TsY4NW10U7BojBvG4RMD+vRDrIw=
cloud.google.com/go/apigeeregistry v0.8.2/go.mod h1:h4v11TDGdeXJDJvImtgK2AFVvMIgGWjSb0HRnBSjcX8=
cloud.google.com/go/apigeeregistry v0.8.3/go.mod h1:aInOWnqF4yMQx8kTjDqHNXjZGh/mxeNlAf52YqtASUs=
+cloud.google.com/go/apikeys v0.6.0 h1:B9CdHFZTFjVti89tmyXXrO+7vSNo2jvZuHG8zD5trdQ=
+cloud.google.com/go/appengine v1.7.1 h1:aBGDKmRIaRRoWJ2tAoN0oVSHoWLhtO9aj/NvUyP4aYs=
cloud.google.com/go/appengine v1.8.1/go.mod h1:6NJXGLVhZCN9aQ/AEDvmfzKEfoYBlfB80/BHiKVputY=
cloud.google.com/go/appengine v1.8.4/go.mod h1:TZ24v+wXBujtkK77CXCpjZbnuTvsFNT41MUaZ28D6vg=
cloud.google.com/go/appengine v1.8.5/go.mod h1:uHBgNoGLTS5di7BvU25NFDuKa82v0qQLjyMJLuPQrVo=
+cloud.google.com/go/area120 v0.7.1 h1:ugckkFh4XkHJMPhTIx0CyvdoBxmOpMe8rNs4Ok8GAag=
cloud.google.com/go/area120 v0.8.1/go.mod h1:BVfZpGpB7KFVNxPiQBuHkX6Ed0rS51xIgmGyjrAfzsg=
cloud.google.com/go/area120 v0.8.4/go.mod h1:jfawXjxf29wyBXr48+W+GyX/f8fflxp642D/bb9v68M=
cloud.google.com/go/area120 v0.8.5/go.mod h1:BcoFCbDLZjsfe4EkCnEq1LKvHSK0Ew/zk5UFu6GMyA0=
+cloud.google.com/go/artifactregistry v1.13.0 h1:o1Q80vqEB6Qp8WLEH3b8FBLNUCrGQ4k5RFj0sn/sgO8=
cloud.google.com/go/artifactregistry v1.14.1/go.mod h1:nxVdG19jTaSTu7yA7+VbWL346r3rIdkZ142BSQqhn5E=
cloud.google.com/go/artifactregistry v1.14.6/go.mod h1:np9LSFotNWHcjnOgh8UVK0RFPCTUGbO0ve3384xyHfE=
cloud.google.com/go/artifactregistry v1.14.7/go.mod h1:0AUKhzWQzfmeTvT4SjfI4zjot72EMfrkvL9g9aRjnnM=
+cloud.google.com/go/asset v1.13.0 h1:YAsssO08BqZ6mncbb6FPlj9h6ACS7bJQUOlzciSfbNk=
cloud.google.com/go/asset v1.14.1/go.mod h1:4bEJ3dnHCqWCDbWJ/6Vn7GVI9LerSi7Rfdi03hd+WTQ=
cloud.google.com/go/asset v1.15.3/go.mod h1:yYLfUD4wL4X589A9tYrv4rFrba0QlDeag0CMcM5ggXU=
cloud.google.com/go/asset v1.17.0/go.mod h1:yYLfUD4wL4X589A9tYrv4rFrba0QlDeag0CMcM5ggXU=
cloud.google.com/go/asset v1.17.2/go.mod h1:SVbzde67ehddSoKf5uebOD1sYw8Ab/jD/9EIeWg99q4=
+cloud.google.com/go/assuredworkloads v1.10.0 h1:VLGnVFta+N4WM+ASHbhc14ZOItOabDLH1MSoDv+Xuag=
cloud.google.com/go/assuredworkloads v1.11.1/go.mod h1:+F04I52Pgn5nmPG36CWFtxmav6+7Q+c5QyJoL18Lry0=
cloud.google.com/go/assuredworkloads v1.11.4/go.mod h1:4pwwGNwy1RP0m+y12ef3Q/8PaiWrIDQ6nD2E8kvWI9U=
cloud.google.com/go/assuredworkloads v1.11.5/go.mod h1:FKJ3g3ZvkL2D7qtqIGnDufFkHxwIpNM9vtmhvt+6wqk=
+cloud.google.com/go/automl v1.12.0 h1:50VugllC+U4IGl3tDNcZaWvApHBTrn/TvyHDJ0wM+Uw=
cloud.google.com/go/automl v1.13.1/go.mod h1:1aowgAHWYZU27MybSCFiukPO7xnyawv7pt3zK4bheQE=
cloud.google.com/go/automl v1.13.4/go.mod h1:ULqwX/OLZ4hBVfKQaMtxMSTlPx0GqGbWN8uA/1EqCP8=
cloud.google.com/go/automl v1.13.5/go.mod h1:MDw3vLem3yh+SvmSgeYUmUKqyls6NzSumDm9OJ3xJ1Y=
-cloud.google.com/go/baremetalsolution v0.5.0/go.mod h1:dXGxEkmR9BMwxhzBhV0AioD0ULBmuLZI8CdwalUxuss=
+cloud.google.com/go/baremetalsolution v0.5.0 h1:2AipdYXL0VxMboelTTw8c1UJ7gYu35LZYUbuRv9Q28s=
cloud.google.com/go/baremetalsolution v1.2.0/go.mod h1:68wi9AwPYkEWIUT4SvSGS9UJwKzNpshjHsH4lzk8iOw=
cloud.google.com/go/baremetalsolution v1.2.3/go.mod h1:/UAQ5xG3faDdy180rCUv47e0jvpp3BFxT+Cl0PFjw5g=
cloud.google.com/go/baremetalsolution v1.2.4/go.mod h1:BHCmxgpevw9IEryE99HbYEfxXkAEA3hkMJbYYsHtIuY=
-cloud.google.com/go/batch v0.7.0/go.mod h1:vLZN95s6teRUqRQ4s3RLDsH8PvboqBK+rn1oevL159g=
+cloud.google.com/go/batch v0.7.0 h1:YbMt0E6BtqeD5FvSv1d56jbVsWEzlGm55lYte+M6Mzs=
cloud.google.com/go/batch v1.4.1/go.mod h1:KdBmDD61K0ovcxoRHGrN6GmOBWeAOyCgKD0Mugx4Fkk=
cloud.google.com/go/batch v1.6.3/go.mod h1:J64gD4vsNSA2O5TtDB5AAux3nJ9iV8U3ilg3JDBYejU=
cloud.google.com/go/batch v1.7.0/go.mod h1:J64gD4vsNSA2O5TtDB5AAux3nJ9iV8U3ilg3JDBYejU=
cloud.google.com/go/batch v1.8.0/go.mod h1:k8V7f6VE2Suc0zUM4WtoibNrA6D3dqBpB+++e3vSGYc=
+cloud.google.com/go/beyondcorp v0.5.0 h1:UkY2BTZkEUAVrgqnSdOJ4p3y9ZRBPEe1LkjgC8Bj/Pc=
cloud.google.com/go/beyondcorp v0.6.1/go.mod h1:YhxDWw946SCbmcWo3fAhw3V4XZMSpQ/VYfcKGAEU8/4=
cloud.google.com/go/beyondcorp v1.0.0/go.mod h1:YhxDWw946SCbmcWo3fAhw3V4XZMSpQ/VYfcKGAEU8/4=
cloud.google.com/go/beyondcorp v1.0.3/go.mod h1:HcBvnEd7eYr+HGDd5ZbuVmBYX019C6CEXBonXbCVwJo=
cloud.google.com/go/beyondcorp v1.0.4/go.mod h1:Gx8/Rk2MxrvWfn4WIhHIG1NV7IBfg14pTKv1+EArVcc=
+cloud.google.com/go/bigquery v1.50.0 h1:RscMV6LbnAmhAzD893Lv9nXXy2WCaJmbxYPWDLbGqNQ=
cloud.google.com/go/bigquery v1.52.0/go.mod h1:3b/iXjRQGU4nKa87cXeg6/gogLjO8C6PmuM8i5Bi/u4=
cloud.google.com/go/bigquery v1.55.0/go.mod h1:9Y5I3PN9kQWuid6183JFhOGOW3GcirA5LpsKCUn+2ec=
cloud.google.com/go/bigquery v1.57.1/go.mod h1:iYzC0tGVWt1jqSzBHqCr3lrRn0u13E8e+AqowBsDgug=
cloud.google.com/go/bigquery v1.58.0/go.mod h1:0eh4mWNY0KrBTjUzLjoYImapGORq9gEPT7MWjCy9lik=
cloud.google.com/go/bigquery v1.59.1/go.mod h1:VP1UJYgevyTwsV7desjzNzDND5p6hZB+Z8gZJN1GQUc=
+cloud.google.com/go/billing v1.13.0 h1:JYj28UYF5w6VBAh0gQYlgHJ/OD1oA+JgW29YZQU+UHM=
cloud.google.com/go/billing v1.16.0/go.mod h1:y8vx09JSSJG02k5QxbycNRrN7FGZB6F3CAcgum7jvGA=
cloud.google.com/go/billing v1.17.0/go.mod h1:Z9+vZXEq+HwH7bhJkyI4OQcR6TSbeMrjlpEjO2vzY64=
cloud.google.com/go/billing v1.17.4/go.mod h1:5DOYQStCxquGprqfuid/7haD7th74kyMBHkjO/OvDtk=
cloud.google.com/go/billing v1.18.0/go.mod h1:5DOYQStCxquGprqfuid/7haD7th74kyMBHkjO/OvDtk=
cloud.google.com/go/billing v1.18.2/go.mod h1:PPIwVsOOQ7xzbADCwNe8nvK776QpfrOAUkvKjCUcpSE=
+cloud.google.com/go/binaryauthorization v1.5.0 h1:d3pMDBCCNivxt5a4eaV7FwL7cSH0H7RrEnFrTb1QKWs=
cloud.google.com/go/binaryauthorization v1.6.1/go.mod h1:TKt4pa8xhowwffiBmbrbcxijJRZED4zrqnwZ1lKH51U=
cloud.google.com/go/binaryauthorization v1.7.0/go.mod h1:Zn+S6QqTMn6odcMU1zDZCJxPjU2tZPV1oDl45lWY154=
cloud.google.com/go/binaryauthorization v1.7.3/go.mod h1:VQ/nUGRKhrStlGr+8GMS8f6/vznYLkdK5vaKfdCIpvU=
cloud.google.com/go/binaryauthorization v1.8.0/go.mod h1:VQ/nUGRKhrStlGr+8GMS8f6/vznYLkdK5vaKfdCIpvU=
cloud.google.com/go/binaryauthorization v1.8.1/go.mod h1:1HVRyBerREA/nhI7yLang4Zn7vfNVA3okoAR9qYQJAQ=
+cloud.google.com/go/certificatemanager v1.6.0 h1:5C5UWeSt8Jkgp7OWn2rCkLmYurar/vIWIoSQ2+LaTOc=
cloud.google.com/go/certificatemanager v1.7.1/go.mod h1:iW8J3nG6SaRYImIa+wXQ0g8IgoofDFRp5UMzaNk1UqI=
cloud.google.com/go/certificatemanager v1.7.4/go.mod h1:FHAylPe/6IIKuaRmHbjbdLhGhVQ+CWHSD5Jq0k4+cCE=
cloud.google.com/go/certificatemanager v1.7.5/go.mod h1:uX+v7kWqy0Y3NG/ZhNvffh0kuqkKZIXdvlZRO7z0VtM=
+cloud.google.com/go/channel v1.12.0 h1:GpcQY5UJKeOekYgsX3QXbzzAc/kRGtBq43fTmyKe6Uw=
cloud.google.com/go/channel v1.16.0/go.mod h1:eN/q1PFSl5gyu0dYdmxNXscY/4Fi7ABmeHCJNf/oHmc=
cloud.google.com/go/channel v1.17.0/go.mod h1:RpbhJsGi/lXWAUM1eF4IbQGbsfVlg2o8Iiy2/YLfVT0=
cloud.google.com/go/channel v1.17.3/go.mod h1:QcEBuZLGGrUMm7kNj9IbU1ZfmJq2apotsV83hbxX7eE=
cloud.google.com/go/channel v1.17.4/go.mod h1:QcEBuZLGGrUMm7kNj9IbU1ZfmJq2apotsV83hbxX7eE=
cloud.google.com/go/channel v1.17.5/go.mod h1:FlpaOSINDAXgEext0KMaBq/vwpLMkkPAw9b2mApQeHc=
+cloud.google.com/go/cloudbuild v1.9.0 h1:GHQCjV4WlPPVU/j3Rlpc8vNIDwThhd1U9qSY/NPZdko=
cloud.google.com/go/cloudbuild v1.10.1/go.mod h1:lyJg7v97SUIPq4RC2sGsz/9tNczhyv2AjML/ci4ulzU=
cloud.google.com/go/cloudbuild v1.14.0/go.mod h1:lyJg7v97SUIPq4RC2sGsz/9tNczhyv2AjML/ci4ulzU=
cloud.google.com/go/cloudbuild v1.14.3/go.mod h1:eIXYWmRt3UtggLnFGx4JvXcMj4kShhVzGndL1LwleEM=
cloud.google.com/go/cloudbuild v1.15.0/go.mod h1:eIXYWmRt3UtggLnFGx4JvXcMj4kShhVzGndL1LwleEM=
cloud.google.com/go/cloudbuild v1.15.1/go.mod h1:gIofXZSu+XD2Uy+qkOrGKEx45zd7s28u/k8f99qKals=
+cloud.google.com/go/clouddms v1.5.0 h1:E7v4TpDGUyEm1C/4KIrpVSOCTm0P6vWdHT0I4mostRA=
cloud.google.com/go/clouddms v1.6.1/go.mod h1:Ygo1vL52Ov4TBZQquhz5fiw2CQ58gvu+PlS6PVXCpZI=
cloud.google.com/go/clouddms v1.7.0/go.mod h1:MW1dC6SOtI/tPNCciTsXtsGNEM0i0OccykPvv3hiYeM=
cloud.google.com/go/clouddms v1.7.3/go.mod h1:fkN2HQQNUYInAU3NQ3vRLkV2iWs8lIdmBKOx4nrL6Hc=
cloud.google.com/go/clouddms v1.7.4/go.mod h1:RdrVqoFG9RWI5AvZ81SxJ/xvxPdtcRhFotwdE79DieY=
+cloud.google.com/go/cloudtasks v1.10.0 h1:uK5k6abf4yligFgYFnG0ni8msai/dSv6mDmiBulU0hU=
cloud.google.com/go/cloudtasks v1.11.1/go.mod h1:a9udmnou9KO2iulGscKR0qBYjreuX8oHwpmFsKspEvM=
cloud.google.com/go/cloudtasks v1.12.1/go.mod h1:a9udmnou9KO2iulGscKR0qBYjreuX8oHwpmFsKspEvM=
cloud.google.com/go/cloudtasks v1.12.4/go.mod h1:BEPu0Gtt2dU6FxZHNqqNdGqIG86qyWKBPGnsb7udGY0=
cloud.google.com/go/cloudtasks v1.12.6/go.mod h1:b7c7fe4+TJsFZfDyzO51F7cjq7HLUlRi/KZQLQjDsaY=
-cloud.google.com/go/compute v1.19.3/go.mod h1:qxvISKp/gYnXkSAD1ppcSOveRAmzxicEv/JlizULFrI=
-cloud.google.com/go/compute v1.20.1/go.mod h1:4tCnrn48xsqlwSAiLf1HXMQk8CONslYbdiEZc9FEIbM=
cloud.google.com/go/compute v1.21.0/go.mod h1:4tCnrn48xsqlwSAiLf1HXMQk8CONslYbdiEZc9FEIbM=
cloud.google.com/go/compute v1.23.0/go.mod h1:4tCnrn48xsqlwSAiLf1HXMQk8CONslYbdiEZc9FEIbM=
cloud.google.com/go/compute v1.23.1/go.mod h1:CqB3xpmPKKt3OJpW2ndFIXnA9A4xAy/F3Xp1ixncW78=
cloud.google.com/go/compute v1.23.3/go.mod h1:VCgBUoMnIVIR0CscqQiPJLAG25E3ZRZMzcFZeQ+h8CI=
+cloud.google.com/go/compute v1.24.0 h1:phWcR2eWzRJaL/kOiJwfFsPs4BaKq1j6vnpZrc1YlVg=
cloud.google.com/go/compute v1.24.0/go.mod h1:kw1/T+h/+tK2LJK0wiPPx1intgdAM3j/g3hFDlscY40=
-cloud.google.com/go/compute/metadata v0.2.3/go.mod h1:VAV5nSsACxMJvgaAuX6Pk2AawlZn8kiOGuCv6gTkwuA=
+cloud.google.com/go/compute v1.25.1/go.mod h1:oopOIR53ly6viBYxaDhBfJwzUAxf1zE//uf3IB011ls=
+cloud.google.com/go/compute/metadata v0.3.0 h1:Tz+eQXMEqDIKRsmY3cHTL6FVaynIjX2QxYC4trgAKZc=
+cloud.google.com/go/compute/metadata v0.3.0/go.mod h1:zFmK7XCadkQkj6TtorcaGlCW1hT1fIilQDwofLpJ20k=
+cloud.google.com/go/contactcenterinsights v1.6.0 h1:jXIpfcH/VYSE1SYcPzO0n1VVb+sAamiLOgCw45JbOQk=
cloud.google.com/go/contactcenterinsights v1.9.1/go.mod h1:bsg/R7zGLYMVxFFzfh9ooLTruLRCG9fnzhH9KznHhbM=
cloud.google.com/go/contactcenterinsights v1.10.0/go.mod h1:bsg/R7zGLYMVxFFzfh9ooLTruLRCG9fnzhH9KznHhbM=
cloud.google.com/go/contactcenterinsights v1.11.3/go.mod h1:HHX5wrz5LHVAwfI2smIotQG9x8Qd6gYilaHcLLLmNis=
cloud.google.com/go/contactcenterinsights v1.12.1/go.mod h1:HHX5wrz5LHVAwfI2smIotQG9x8Qd6gYilaHcLLLmNis=
cloud.google.com/go/contactcenterinsights v1.13.0/go.mod h1:ieq5d5EtHsu8vhe2y3amtZ+BE+AQwX5qAy7cpo0POsI=
+cloud.google.com/go/container v1.15.0 h1:NKlY/wCDapfVZlbVVaeuu2UZZED5Dy1z4Zx1KhEzm8c=
cloud.google.com/go/container v1.22.1/go.mod h1:lTNExE2R7f+DLbAN+rJiKTisauFCaoDq6NURZ83eVH4=
cloud.google.com/go/container v1.26.0/go.mod h1:YJCmRet6+6jnYYRS000T6k0D0xUXQgBSaJ7VwI8FBj4=
cloud.google.com/go/container v1.27.1/go.mod h1:b1A1gJeTBXVLQ6GGw9/9M4FG94BEGsqJ5+t4d/3N7O4=
cloud.google.com/go/container v1.29.0/go.mod h1:b1A1gJeTBXVLQ6GGw9/9M4FG94BEGsqJ5+t4d/3N7O4=
cloud.google.com/go/container v1.31.0/go.mod h1:7yABn5s3Iv3lmw7oMmyGbeV6tQj86njcTijkkGuvdZA=
+cloud.google.com/go/containeranalysis v0.9.0 h1:EQ4FFxNaEAg8PqQCO7bVQfWz9NVwZCUKaM1b3ycfx3U=
cloud.google.com/go/containeranalysis v0.10.1/go.mod h1:Ya2jiILITMY68ZLPaogjmOMNkwsDrWBSTyBubGXO7j0=
cloud.google.com/go/containeranalysis v0.11.0/go.mod h1:4n2e99ZwpGxpNcz+YsFT1dfOHPQFGcAC8FN2M2/ne/U=
cloud.google.com/go/containeranalysis v0.11.3/go.mod h1:kMeST7yWFQMGjiG9K7Eov+fPNQcGhb8mXj/UcTiWw9U=
cloud.google.com/go/containeranalysis v0.11.4/go.mod h1:cVZT7rXYBS9NG1rhQbWL9pWbXCKHWJPYraE8/FTSYPE=
+cloud.google.com/go/datacatalog v1.13.0 h1:4H5IJiyUE0X6ShQBqgFFZvGGcrwGVndTwUSLP4c52gw=
cloud.google.com/go/datacatalog v1.14.1/go.mod h1:d2CevwTG4yedZilwe+v3E3ZBDRMobQfSG/a6cCCN5R4=
cloud.google.com/go/datacatalog v1.17.1/go.mod h1:nCSYFHgtxh2MiEktWIz71s/X+7ds/UT9kp0PC7waCzE=
cloud.google.com/go/datacatalog v1.18.3/go.mod h1:5FR6ZIF8RZrtml0VUao22FxhdjkoG+a0866rEnObryM=
cloud.google.com/go/datacatalog v1.19.2/go.mod h1:2YbODwmhpLM4lOFe3PuEhHK9EyTzQJ5AXgIy7EDKTEE=
cloud.google.com/go/datacatalog v1.19.3/go.mod h1:ra8V3UAsciBpJKQ+z9Whkxzxv7jmQg1hfODr3N3YPJ4=
+cloud.google.com/go/dataflow v0.8.0 h1:eYyD9o/8Nm6EttsKZaEGD84xC17bNgSKCu0ZxwqUbpg=
cloud.google.com/go/dataflow v0.9.1/go.mod h1:Wp7s32QjYuQDWqJPFFlnBKhkAtiFpMTdg00qGbnIHVw=
cloud.google.com/go/dataflow v0.9.4/go.mod h1:4G8vAkHYCSzU8b/kmsoR2lWyHJD85oMJPHMtan40K8w=
cloud.google.com/go/dataflow v0.9.5/go.mod h1:udl6oi8pfUHnL0z6UN9Lf9chGqzDMVqcYTcZ1aPnCZQ=
+cloud.google.com/go/dataform v0.7.0 h1:Dyk+fufup1FR6cbHjFpMuP4SfPiF3LI3JtoIIALoq48=
cloud.google.com/go/dataform v0.8.1/go.mod h1:3BhPSiw8xmppbgzeBbmDvmSWlwouuJkXsXsb8UBih9M=
cloud.google.com/go/dataform v0.9.1/go.mod h1:pWTg+zGQ7i16pyn0bS1ruqIE91SdL2FDMvEYu/8oQxs=
cloud.google.com/go/dataform v0.9.2/go.mod h1:S8cQUwPNWXo7m/g3DhWHsLBoufRNn9EgFrMgne2j7cI=
+cloud.google.com/go/datafusion v1.6.0 h1:sZjRnS3TWkGsu1LjYPFD/fHeMLZNXDK6PDHi2s2s/bk=
cloud.google.com/go/datafusion v1.7.1/go.mod h1:KpoTBbFmoToDExJUso/fcCiguGDk7MEzOWXUsJo0wsI=
cloud.google.com/go/datafusion v1.7.4/go.mod h1:BBs78WTOLYkT4GVZIXQCZT3GFpkpDN4aBY4NDX/jVlM=
cloud.google.com/go/datafusion v1.7.5/go.mod h1:bYH53Oa5UiqahfbNK9YuYKteeD4RbQSNMx7JF7peGHc=
+cloud.google.com/go/datalabeling v0.7.0 h1:ch4qA2yvddGRUrlfwrNJCr79qLqhS9QBwofPHfFlDIk=
cloud.google.com/go/datalabeling v0.8.1/go.mod h1:XS62LBSVPbYR54GfYQsPXZjTW8UxCK2fkDciSrpRFdY=
cloud.google.com/go/datalabeling v0.8.4/go.mod h1:Z1z3E6LHtffBGrNUkKwbwbDxTiXEApLzIgmymj8A3S8=
cloud.google.com/go/datalabeling v0.8.5/go.mod h1:IABB2lxQnkdUbMnQaOl2prCOfms20mcPxDBm36lps+s=
+cloud.google.com/go/dataplex v1.6.0 h1:RvoZ5T7gySwm1CHzAw7yY1QwwqaGswunmqEssPxU/AM=
cloud.google.com/go/dataplex v1.8.1/go.mod h1:7TyrDT6BCdI8/38Uvp0/ZxBslOslP2X2MPDucliyvSE=
cloud.google.com/go/dataplex v1.9.1/go.mod h1:7TyrDT6BCdI8/38Uvp0/ZxBslOslP2X2MPDucliyvSE=
cloud.google.com/go/dataplex v1.11.1/go.mod h1:mHJYQQ2VEJHsyoC0OdNyy988DvEbPhqFs5OOLffLX0c=
cloud.google.com/go/dataplex v1.14.0/go.mod h1:mHJYQQ2VEJHsyoC0OdNyy988DvEbPhqFs5OOLffLX0c=
cloud.google.com/go/dataplex v1.14.2/go.mod h1:0oGOSFlEKef1cQeAHXy4GZPB/Ife0fz/PxBf+ZymA2U=
-cloud.google.com/go/dataproc v1.12.0/go.mod h1:zrF3aX0uV3ikkMz6z4uBbIKyhRITnxvr4i3IjKsKrw4=
+cloud.google.com/go/dataproc v1.12.0 h1:W47qHL3W4BPkAIbk4SWmIERwsWBaNnWm0P2sdx3YgGU=
cloud.google.com/go/dataproc/v2 v2.2.0/go.mod h1:lZR7AQtwZPvmINx5J87DSOOpTfof9LVZju6/Qo4lmcY=
cloud.google.com/go/dataproc/v2 v2.2.3/go.mod h1:G5R6GBc9r36SXv/RtZIVfB8SipI+xVn0bX5SxUzVYbY=
cloud.google.com/go/dataproc/v2 v2.3.0/go.mod h1:G5R6GBc9r36SXv/RtZIVfB8SipI+xVn0bX5SxUzVYbY=
cloud.google.com/go/dataproc/v2 v2.4.0/go.mod h1:3B1Ht2aRB8VZIteGxQS/iNSJGzt9+CA0WGnDVMEm7Z4=
+cloud.google.com/go/dataqna v0.7.0 h1:yFzi/YU4YAdjyo7pXkBE2FeHbgz5OQQBVDdbErEHmVQ=
cloud.google.com/go/dataqna v0.8.1/go.mod h1:zxZM0Bl6liMePWsHA8RMGAfmTG34vJMapbHAxQ5+WA8=
cloud.google.com/go/dataqna v0.8.4/go.mod h1:mySRKjKg5Lz784P6sCov3p1QD+RZQONRMRjzGNcFd0c=
cloud.google.com/go/dataqna v0.8.5/go.mod h1:vgihg1mz6n7pb5q2YJF7KlXve6tCglInd6XO0JGOlWM=
+cloud.google.com/go/datastore v1.11.0 h1:iF6I/HaLs3Ado8uRKMvZRvF/ZLkWaWE9i8AiHzbC774=
cloud.google.com/go/datastore v1.12.1/go.mod h1:KjdB88W897MRITkvWWJrg2OUtrR5XVj1EoLgSp6/N70=
cloud.google.com/go/datastore v1.14.0/go.mod h1:GAeStMBIt9bPS7jMJA85kgkpsMkvseWWXiaHya9Jes8=
cloud.google.com/go/datastore v1.15.0/go.mod h1:GAeStMBIt9bPS7jMJA85kgkpsMkvseWWXiaHya9Jes8=
+cloud.google.com/go/datastream v1.7.0 h1:BBCBTnWMDwwEzQQmipUXxATa7Cm7CA/gKjKcR2w35T0=
cloud.google.com/go/datastream v1.9.1/go.mod h1:hqnmr8kdUBmrnk65k5wNRoHSCYksvpdZIcZIEl8h43Q=
cloud.google.com/go/datastream v1.10.0/go.mod h1:hqnmr8kdUBmrnk65k5wNRoHSCYksvpdZIcZIEl8h43Q=
cloud.google.com/go/datastream v1.10.3/go.mod h1:YR0USzgjhqA/Id0Ycu1VvZe8hEWwrkjuXrGbzeDOSEA=
cloud.google.com/go/datastream v1.10.4/go.mod h1:7kRxPdxZxhPg3MFeCSulmAJnil8NJGGvSNdn4p1sRZo=
+cloud.google.com/go/deploy v1.8.0 h1:otshdKEbmsi1ELYeCKNYppwV0UH5xD05drSdBm7ouTk=
cloud.google.com/go/deploy v1.11.0/go.mod h1:tKuSUV5pXbn67KiubiUNUejqLs4f5cxxiCNCeyl0F2g=
cloud.google.com/go/deploy v1.13.0/go.mod h1:tKuSUV5pXbn67KiubiUNUejqLs4f5cxxiCNCeyl0F2g=
cloud.google.com/go/deploy v1.14.2/go.mod h1:e5XOUI5D+YGldyLNZ21wbp9S8otJbBE4i88PtO9x/2g=
cloud.google.com/go/deploy v1.17.0/go.mod h1:XBr42U5jIr64t92gcpOXxNrqL2PStQCXHuKK5GRUuYo=
cloud.google.com/go/deploy v1.17.1/go.mod h1:SXQyfsXrk0fBmgBHRzBjQbZhMfKZ3hMQBw5ym7MN/50=
+cloud.google.com/go/dialogflow v1.32.0 h1:uVlKKzp6G/VtSW0E7IH1Y5o0H48/UOCmqksG2riYCwQ=
cloud.google.com/go/dialogflow v1.38.0/go.mod h1:L7jnH+JL2mtmdChzAIcXQHXMvQkE3U4hTaNltEuxXn4=
cloud.google.com/go/dialogflow v1.43.0/go.mod h1:pDUJdi4elL0MFmt1REMvFkdsUTYSHq+rTCS8wg0S3+M=
cloud.google.com/go/dialogflow v1.44.3/go.mod h1:mHly4vU7cPXVweuB5R0zsYKPMzy240aQdAu06SqBbAQ=
cloud.google.com/go/dialogflow v1.48.1/go.mod h1:C1sjs2/g9cEwjCltkKeYp3FFpz8BOzNondEaAlCpt+A=
cloud.google.com/go/dialogflow v1.49.0/go.mod h1:dhVrXKETtdPlpPhE7+2/k4Z8FRNUp6kMV3EW3oz/fe0=
+cloud.google.com/go/dlp v1.9.0 h1:1JoJqezlgu6NWCroBxr4rOZnwNFILXr4cB9dMaSKO4A=
cloud.google.com/go/dlp v1.10.1/go.mod h1:IM8BWz1iJd8njcNcG0+Kyd9OPnqnRNkDV8j42VT5KOI=
cloud.google.com/go/dlp v1.11.1/go.mod h1:/PA2EnioBeXTL/0hInwgj0rfsQb3lpE3R8XUJxqUNKI=
cloud.google.com/go/dlp v1.11.2/go.mod h1:9Czi+8Y/FegpWzgSfkRlyz+jwW6Te9Rv26P3UfU/h/w=
+cloud.google.com/go/documentai v1.18.0 h1:KM3Xh0QQyyEdC8Gs2vhZfU+rt6OCPF0dwVwxKgLmWfI=
cloud.google.com/go/documentai v1.20.0/go.mod h1:yJkInoMcK0qNAEdRnqY/D5asy73tnPe88I1YTZT+a8E=
cloud.google.com/go/documentai v1.22.1/go.mod h1:LKs22aDHbJv7ufXuPypzRO7rG3ALLJxzdCXDPutw4Qc=
cloud.google.com/go/documentai v1.23.5/go.mod h1:ghzBsyVTiVdkfKaUCum/9bGBEyBjDO4GfooEcYKhN+g=
cloud.google.com/go/documentai v1.23.7/go.mod h1:ghzBsyVTiVdkfKaUCum/9bGBEyBjDO4GfooEcYKhN+g=
cloud.google.com/go/documentai v1.25.0/go.mod h1:ftLnzw5VcXkLItp6pw1mFic91tMRyfv6hHEY5br4KzY=
+cloud.google.com/go/domains v0.8.0 h1:2ti/o9tlWL4N+wIuWUNH+LbfgpwxPr8J1sv9RHA4bYQ=
cloud.google.com/go/domains v0.9.1/go.mod h1:aOp1c0MbejQQ2Pjf1iJvnVyT+z6R6s8pX66KaCSDYfE=
cloud.google.com/go/domains v0.9.4/go.mod h1:27jmJGShuXYdUNjyDG0SodTfT5RwLi7xmH334Gvi3fY=
cloud.google.com/go/domains v0.9.5/go.mod h1:dBzlxgepazdFhvG7u23XMhmMKBjrkoUNaw0A8AQB55Y=
+cloud.google.com/go/edgecontainer v1.0.0 h1:O0YVE5v+O0Q/ODXYsQHmHb+sYM8KNjGZw2pjX2Ws41c=
cloud.google.com/go/edgecontainer v1.1.1/go.mod h1:O5bYcS//7MELQZs3+7mabRqoWQhXCzenBu0R8bz2rwk=
cloud.google.com/go/edgecontainer v1.1.4/go.mod h1:AvFdVuZuVGdgaE5YvlL1faAoa1ndRR/5XhXZvPBHbsE=
cloud.google.com/go/edgecontainer v1.1.5/go.mod h1:rgcjrba3DEDEQAidT4yuzaKWTbkTI5zAMu3yy6ZWS0M=
-cloud.google.com/go/errorreporting v0.3.0/go.mod h1:xsP2yaAp+OAW4OIm60An2bbLpqIhKXdWR/tawvl7QzU=
+cloud.google.com/go/errorreporting v0.3.0 h1:kj1XEWMu8P0qlLhm3FwcaFsUvXChV/OraZwA70trRR0=
+cloud.google.com/go/essentialcontacts v1.5.0 h1:gIzEhCoOT7bi+6QZqZIzX1Erj4SswMPIteNvYVlu+pM=
cloud.google.com/go/essentialcontacts v1.6.2/go.mod h1:T2tB6tX+TRak7i88Fb2N9Ok3PvY3UNbUsMag9/BARh4=
cloud.google.com/go/essentialcontacts v1.6.5/go.mod h1:jjYbPzw0x+yglXC890l6ECJWdYeZ5dlYACTFL0U/VuM=
cloud.google.com/go/essentialcontacts v1.6.6/go.mod h1:XbqHJGaiH0v2UvtuucfOzFXN+rpL/aU5BCZLn4DYl1Q=
+cloud.google.com/go/eventarc v1.11.0 h1:fsJmNeqvqtk74FsaVDU6cH79lyZNCYP8Rrv7EhaB/PU=
cloud.google.com/go/eventarc v1.12.1/go.mod h1:mAFCW6lukH5+IZjkvrEss+jmt2kOdYlN8aMx3sRJiAI=
cloud.google.com/go/eventarc v1.13.0/go.mod h1:mAFCW6lukH5+IZjkvrEss+jmt2kOdYlN8aMx3sRJiAI=
cloud.google.com/go/eventarc v1.13.3/go.mod h1:RWH10IAZIRcj1s/vClXkBgMHwh59ts7hSWcqD3kaclg=
cloud.google.com/go/eventarc v1.13.4/go.mod h1:zV5sFVoAa9orc/52Q+OuYUG9xL2IIZTbbuTHC6JSY8s=
+cloud.google.com/go/filestore v1.6.0 h1:ckTEXN5towyTMu4q0uQ1Mde/JwTHur0gXs8oaIZnKfw=
cloud.google.com/go/filestore v1.7.1/go.mod h1:y10jsorq40JJnjR/lQ8AfFbbcGlw3g+Dp8oN7i7FjV4=
cloud.google.com/go/filestore v1.7.4/go.mod h1:S5JCxIbFjeBhWMTfIYH2Jx24J6BqjwpkkPl+nBA5DlI=
cloud.google.com/go/filestore v1.8.0/go.mod h1:S5JCxIbFjeBhWMTfIYH2Jx24J6BqjwpkkPl+nBA5DlI=
cloud.google.com/go/filestore v1.8.1/go.mod h1:MbN9KcaM47DRTIuLfQhJEsjaocVebNtNQhSLhKCF5GM=
+cloud.google.com/go/firestore v1.9.0 h1:IBlRyxgGySXu5VuW0RgGFlTtLukSnNkpDiEOMkQkmpA=
cloud.google.com/go/firestore v1.11.0/go.mod h1:b38dKhgzlmNNGTNZZwe7ZRFEuRab1Hay3/DBsIGKKy4=
cloud.google.com/go/firestore v1.13.0/go.mod h1:QojqqOh8IntInDUSTAh0c8ZsPYAr68Ma8c5DWOy8xb8=
cloud.google.com/go/firestore v1.14.0/go.mod h1:96MVaHLsEhbvkBEdZgfN+AS/GIkco1LRpH9Xp9YZfzQ=
+cloud.google.com/go/functions v1.13.0 h1:pPDqtsXG2g9HeOQLoquLbmvmb82Y4Ezdo1GXuotFoWg=
cloud.google.com/go/functions v1.15.1/go.mod h1:P5yNWUTkyU+LvW/S9O6V+V423VZooALQlqoXdoPz5AE=
cloud.google.com/go/functions v1.15.4/go.mod h1:CAsTc3VlRMVvx+XqXxKqVevguqJpnVip4DdonFsX28I=
cloud.google.com/go/functions v1.16.0/go.mod h1:nbNpfAG7SG7Duw/o1iZ6ohvL7mc6MapWQVpqtM29n8k=
-cloud.google.com/go/gkebackup v0.4.0/go.mod h1:byAyBGUwYGEEww7xsbnUTBHIYcOPy/PgUWUtOeRm9Vg=
+cloud.google.com/go/gaming v1.9.0 h1:7vEhFnZmd931Mo7sZ6pJy7uQPDxF7m7v8xtBheG08tc=
+cloud.google.com/go/gkebackup v0.4.0 h1:za3QZvw6ujR0uyqkhomKKKNoXDyqYGPJies3voUK8DA=
cloud.google.com/go/gkebackup v1.3.1/go.mod h1:vUDOu++N0U5qs4IhG1pcOnD1Mac79xWy6GoBFlWCWBU=
cloud.google.com/go/gkebackup v1.3.4/go.mod h1:gLVlbM8h/nHIs09ns1qx3q3eaXcGSELgNu1DWXYz1HI=
cloud.google.com/go/gkebackup v1.3.5/go.mod h1:KJ77KkNN7Wm1LdMopOelV6OodM01pMuK2/5Zt1t4Tvc=
+cloud.google.com/go/gkeconnect v0.7.0 h1:gXYKciHS/Lgq0GJ5Kc9SzPA35NGc3yqu6SkjonpEr2Q=
cloud.google.com/go/gkeconnect v0.8.1/go.mod h1:KWiK1g9sDLZqhxB2xEuPV8V9NYzrqTUmQR9shJHpOZw=
cloud.google.com/go/gkeconnect v0.8.4/go.mod h1:84hZz4UMlDCKl8ifVW8layK4WHlMAFeq8vbzjU0yJkw=
cloud.google.com/go/gkeconnect v0.8.5/go.mod h1:LC/rS7+CuJ5fgIbXv8tCD/mdfnlAadTaUufgOkmijuk=
+cloud.google.com/go/gkehub v0.12.0 h1:TqCSPsEBQ6oZSJgEYZ3XT8x2gUadbvfwI32YB0kuHCs=
cloud.google.com/go/gkehub v0.14.1/go.mod h1:VEXKIJZ2avzrbd7u+zeMtW00Y8ddk/4V9511C9CQGTY=
cloud.google.com/go/gkehub v0.14.4/go.mod h1:Xispfu2MqnnFt8rV/2/3o73SK1snL8s9dYJ9G2oQMfc=
cloud.google.com/go/gkehub v0.14.5/go.mod h1:6bzqxM+a+vEH/h8W8ec4OJl4r36laxTs3A/fMNHJ0wA=
+cloud.google.com/go/gkemulticloud v0.5.0 h1:8I84Q4vl02rJRsFiinBxl7WCozfdLlUVBQuSrqr9Wtk=
cloud.google.com/go/gkemulticloud v0.6.1/go.mod h1:kbZ3HKyTsiwqKX7Yw56+wUGwwNZViRnxWK2DVknXWfw=
cloud.google.com/go/gkemulticloud v1.0.0/go.mod h1:kbZ3HKyTsiwqKX7Yw56+wUGwwNZViRnxWK2DVknXWfw=
cloud.google.com/go/gkemulticloud v1.0.3/go.mod h1:7NpJBN94U6DY1xHIbsDqB2+TFZUfjLUKLjUX8NGLor0=
cloud.google.com/go/gkemulticloud v1.1.0/go.mod h1:7NpJBN94U6DY1xHIbsDqB2+TFZUfjLUKLjUX8NGLor0=
cloud.google.com/go/gkemulticloud v1.1.1/go.mod h1:C+a4vcHlWeEIf45IB5FFR5XGjTeYhF83+AYIpTy4i2Q=
+cloud.google.com/go/grafeas v0.2.0 h1:CYjC+xzdPvbV65gi6Dr4YowKcmLo045pm18L0DhdELM=
+cloud.google.com/go/gsuiteaddons v1.5.0 h1:1mvhXqJzV0Vg5Fa95QwckljODJJfDFXV4pn+iL50zzA=
cloud.google.com/go/gsuiteaddons v1.6.1/go.mod h1:CodrdOqRZcLp5WOwejHWYBjZvfY0kOphkAKpF/3qdZY=
cloud.google.com/go/gsuiteaddons v1.6.4/go.mod h1:rxtstw7Fx22uLOXBpsvb9DUbC+fiXs7rF4U29KHM/pE=
cloud.google.com/go/gsuiteaddons v1.6.5/go.mod h1:Lo4P2IvO8uZ9W+RaC6s1JVxo42vgy+TX5a6hfBZ0ubs=
-cloud.google.com/go/iam v0.13.0/go.mod h1:ljOg+rcNfzZ5d6f1nAUJ8ZIxOaZUVoS14bKCtaLZ/D0=
+cloud.google.com/go/iam v0.13.0 h1:+CmB+K0J/33d0zSQ9SlFWUeCCEn5XJA0ZMZ3pHE9u8k=
cloud.google.com/go/iam v1.1.1/go.mod h1:A5avdyVL2tCppe4unb0951eI9jreack+RJ0/d+KUZOU=
cloud.google.com/go/iam v1.1.2/go.mod h1:A5avdyVL2tCppe4unb0951eI9jreack+RJ0/d+KUZOU=
cloud.google.com/go/iam v1.1.5/go.mod h1:rB6P/Ic3mykPbFio+vo7403drjlgvoWfYpJhMXEbzv8=
cloud.google.com/go/iam v1.1.6/go.mod h1:O0zxdPeGBoFdWW3HWmBxJsk0pfvNM/p/qa82rWOGTwI=
+cloud.google.com/go/iap v1.7.1 h1:PxVHFuMxmSZyfntKXHXhd8bo82WJ+LcATenq7HLdVnU=
cloud.google.com/go/iap v1.8.1/go.mod h1:sJCbeqg3mvWLqjZNsI6dfAtbbV1DL2Rl7e1mTyXYREQ=
cloud.google.com/go/iap v1.9.0/go.mod h1:01OFxd1R+NFrg78S+hoPV5PxEzv22HXaNqUUlmNHFuY=
cloud.google.com/go/iap v1.9.3/go.mod h1:DTdutSZBqkkOm2HEOTBzhZxh2mwwxshfD/h3yofAiCw=
cloud.google.com/go/iap v1.9.4/go.mod h1:vO4mSq0xNf/Pu6E5paORLASBwEmphXEjgCFg7aeNu1w=
+cloud.google.com/go/ids v1.3.0 h1:fodnCDtOXuMmS8LTC2y3h8t24U8F3eKWfhi+3LY6Qf0=
cloud.google.com/go/ids v1.4.1/go.mod h1:np41ed8YMU8zOgv53MMMoCntLTn2lF+SUzlM+O3u/jw=
cloud.google.com/go/ids v1.4.4/go.mod h1:z+WUc2eEl6S/1aZWzwtVNWoSZslgzPxAboS0lZX0HjI=
cloud.google.com/go/ids v1.4.5/go.mod h1:p0ZnyzjMWxww6d2DvMGnFwCsSxDJM666Iir1bK1UuBo=
+cloud.google.com/go/iot v1.6.0 h1:39W5BFSarRNZfVG0eXI5LYux+OVQT8GkgpHCnrZL2vM=
cloud.google.com/go/iot v1.7.1/go.mod h1:46Mgw7ev1k9KqK1ao0ayW9h0lI+3hxeanz+L1zmbbbk=
cloud.google.com/go/iot v1.7.4/go.mod h1:3TWqDVvsddYBG++nHSZmluoCAVGr1hAcabbWZNKEZLk=
cloud.google.com/go/iot v1.7.5/go.mod h1:nq3/sqTz3HGaWJi1xNiX7F41ThOzpud67vwk0YsSsqs=
+cloud.google.com/go/kms v1.10.1 h1:7hm1bRqGCA1GBRQUrp831TwJ9TWhP+tvLuP497CQS2g=
cloud.google.com/go/kms v1.12.1/go.mod h1:c9J991h5DTl+kg7gi3MYomh12YEENGrf48ee/N/2CDM=
cloud.google.com/go/kms v1.15.2/go.mod h1:3hopT4+7ooWRCjc2DxgnpESFxhIraaI2IpAVUEhbT/w=
cloud.google.com/go/kms v1.15.5/go.mod h1:cU2H5jnp6G2TDpUGZyqTCoy1n16fbubHZjmVXSMtwDI=
cloud.google.com/go/kms v1.15.7/go.mod h1:ub54lbsa6tDkUwnu4W7Yt1aAIFLnspgh0kPGToDukeI=
+cloud.google.com/go/language v1.9.0 h1:7Ulo2mDk9huBoBi8zCE3ONOoBrL6UXfAI71CLQ9GEIM=
cloud.google.com/go/language v1.10.1/go.mod h1:CPp94nsdVNiQEt1CNjF5WkTcisLiHPyIbMhvR8H2AW0=
cloud.google.com/go/language v1.11.0/go.mod h1:uDx+pFDdAKTY8ehpWbiXyQdz8tDSYLJbQcXsCkjYyvQ=
cloud.google.com/go/language v1.12.2/go.mod h1:9idWapzr/JKXBBQ4lWqVX/hcadxB194ry20m/bTrhWc=
cloud.google.com/go/language v1.12.3/go.mod h1:evFX9wECX6mksEva8RbRnr/4wi/vKGYnAJrTRXU8+f8=
+cloud.google.com/go/lifesciences v0.8.0 h1:uWrMjWTsGjLZpCTWEAzYvyXj+7fhiZST45u9AgasasI=
cloud.google.com/go/lifesciences v0.9.1/go.mod h1:hACAOd1fFbCGLr/+weUKRAJas82Y4vrL3O5326N//Wc=
cloud.google.com/go/lifesciences v0.9.4/go.mod h1:bhm64duKhMi7s9jR9WYJYvjAFJwRqNj+Nia7hF0Z7JA=
cloud.google.com/go/lifesciences v0.9.5/go.mod h1:OdBm0n7C0Osh5yZB7j9BXyrMnTRGBJIZonUMxo5CzPw=
-cloud.google.com/go/logging v1.7.0/go.mod h1:3xjP2CjkM3ZkO73aj4ASA5wRPGGCRrPIAeNqVNkzY8M=
+cloud.google.com/go/logging v1.7.0 h1:CJYxlNNNNAMkHp9em/YEXcfJg+rPDg7YfwoRpMU+t5I=
cloud.google.com/go/logging v1.8.1/go.mod h1:TJjR+SimHwuC8MZ9cjByQulAMgni+RkXeI3wwctHJEI=
cloud.google.com/go/logging v1.9.0/go.mod h1:1Io0vnZv4onoUnsVUQY3HZ3Igb1nBchky0A0y7BBBhE=
+cloud.google.com/go/longrunning v0.4.1 h1:v+yFJOfKC3yZdY6ZUI933pIYdhyhV8S3NpWrXWmg7jM=
cloud.google.com/go/longrunning v0.5.0/go.mod h1:0JNuqRShmscVAhIACGtskSAWtqtOoPkwP0YF1oVEchc=
cloud.google.com/go/longrunning v0.5.1/go.mod h1:spvimkwdz6SPWKEt/XBij79E9fiTkHSQl/fRUUQJYJc=
cloud.google.com/go/longrunning v0.5.2/go.mod h1:nqo6DQbNV2pXhGDbDMoN2bWz68MjZUzqv2YttZiveCs=
cloud.google.com/go/longrunning v0.5.4/go.mod h1:zqNVncI0BOP8ST6XQD1+VcvuShMmq7+xFSzOL++V0dI=
cloud.google.com/go/longrunning v0.5.5/go.mod h1:WV2LAxD8/rg5Z1cNW6FJ/ZpX4E4VnDnoTk0yawPBB7s=
+cloud.google.com/go/managedidentities v1.5.0 h1:ZRQ4k21/jAhrHBVKl/AY7SjgzeJwG1iZa+mJ82P+VNg=
cloud.google.com/go/managedidentities v1.6.1/go.mod h1:h/irGhTN2SkZ64F43tfGPMbHnypMbu4RB3yl8YcuEak=
cloud.google.com/go/managedidentities v1.6.4/go.mod h1:WgyaECfHmF00t/1Uk8Oun3CQ2PGUtjc3e9Alh79wyiM=
cloud.google.com/go/managedidentities v1.6.5/go.mod h1:fkFI2PwwyRQbjLxlm5bQ8SjtObFMW3ChBGNqaMcgZjI=
-cloud.google.com/go/maps v0.7.0/go.mod h1:3GnvVl3cqeSvgMcpRlQidXsPYuDGQ8naBis7MVzpXsY=
+cloud.google.com/go/maps v0.7.0 h1:mv9YaczD4oZBZkM5XJl6fXQ984IkJNHPwkc8MUsdkBo=
cloud.google.com/go/maps v1.4.0/go.mod h1:6mWTUv+WhnOwAgjVsSW2QPPECmW+s3PcRyOa9vgG/5s=
cloud.google.com/go/maps v1.6.1/go.mod h1:4+buOHhYXFBp58Zj/K+Lc1rCmJssxxF4pJ5CJnhdz18=
cloud.google.com/go/maps v1.6.3/go.mod h1:VGAn809ADswi1ASofL5lveOHPnE6Rk/SFTTBx1yuOLw=
cloud.google.com/go/maps v1.6.4/go.mod h1:rhjqRy8NWmDJ53saCfsXQ0LKwBHfi6OSh5wkq6BaMhI=
+cloud.google.com/go/mediatranslation v0.7.0 h1:anPxH+/WWt8Yc3EdoEJhPMBRF7EhIdz426A+tuoA0OU=
cloud.google.com/go/mediatranslation v0.8.1/go.mod h1:L/7hBdEYbYHQJhX2sldtTO5SZZ1C1vkapubj0T2aGig=
cloud.google.com/go/mediatranslation v0.8.4/go.mod h1:9WstgtNVAdN53m6TQa5GjIjLqKQPXe74hwSCxUP6nj4=
cloud.google.com/go/mediatranslation v0.8.5/go.mod h1:y7kTHYIPCIfgyLbKncgqouXJtLsU+26hZhHEEy80fSs=
+cloud.google.com/go/memcache v1.9.0 h1:8/VEmWCpnETCrBwS3z4MhT+tIdKgR1Z4Tr2tvYH32rg=
cloud.google.com/go/memcache v1.10.1/go.mod h1:47YRQIarv4I3QS5+hoETgKO40InqzLP6kpNLvyXuyaA=
cloud.google.com/go/memcache v1.10.4/go.mod h1:v/d8PuC8d1gD6Yn5+I3INzLR01IDn0N4Ym56RgikSI0=
cloud.google.com/go/memcache v1.10.5/go.mod h1:/FcblbNd0FdMsx4natdj+2GWzTq+cjZvMa1I+9QsuMA=
+cloud.google.com/go/metastore v1.10.0 h1:QCFhZVe2289KDBQ7WxaHV2rAmPrmRAdLC6gbjUd3HPo=
cloud.google.com/go/metastore v1.11.1/go.mod h1:uZuSo80U3Wd4zi6C22ZZliOUJ3XeM/MlYi/z5OAOWRA=
cloud.google.com/go/metastore v1.12.0/go.mod h1:uZuSo80U3Wd4zi6C22ZZliOUJ3XeM/MlYi/z5OAOWRA=
cloud.google.com/go/metastore v1.13.3/go.mod h1:K+wdjXdtkdk7AQg4+sXS8bRrQa9gcOr+foOMF2tqINE=
cloud.google.com/go/metastore v1.13.4/go.mod h1:FMv9bvPInEfX9Ac1cVcRXp8EBBQnBcqH6gz3KvJ9BAE=
+cloud.google.com/go/monitoring v1.13.0 h1:2qsrgXGVoRXpP7otZ14eE1I568zAa92sJSDPyOJvwjM=
cloud.google.com/go/monitoring v1.15.1/go.mod h1:lADlSAlFdbqQuwwpaImhsJXu1QSdd3ojypXrFSMr2rM=
cloud.google.com/go/monitoring v1.16.0/go.mod h1:Ptp15HgAyM1fNICAojDMoNc/wUmn67mLHQfyqbw+poY=
cloud.google.com/go/monitoring v1.16.3/go.mod h1:KwSsX5+8PnXv5NJnICZzW2R8pWTis8ypC4zmdRD63Tw=
cloud.google.com/go/monitoring v1.17.0/go.mod h1:KwSsX5+8PnXv5NJnICZzW2R8pWTis8ypC4zmdRD63Tw=
cloud.google.com/go/monitoring v1.18.0/go.mod h1:c92vVBCeq/OB4Ioyo+NbN2U7tlg5ZH41PZcdvfc+Lcg=
+cloud.google.com/go/networkconnectivity v1.11.0 h1:ZD6b4Pk1jEtp/cx9nx0ZYcL3BKqDa+KixNDZ6Bjs1B8=
cloud.google.com/go/networkconnectivity v1.12.1/go.mod h1:PelxSWYM7Sh9/guf8CFhi6vIqf19Ir/sbfZRUwXh92E=
cloud.google.com/go/networkconnectivity v1.13.0/go.mod h1:SAnGPes88pl7QRLUen2HmcBSE9AowVAcdug8c0RSBFk=
cloud.google.com/go/networkconnectivity v1.14.3/go.mod h1:4aoeFdrJpYEXNvrnfyD5kIzs8YtHg945Og4koAjHQek=
cloud.google.com/go/networkconnectivity v1.14.4/go.mod h1:PU12q++/IMnDJAB+3r+tJtuCXCfwfN+C6Niyj6ji1Po=
+cloud.google.com/go/networkmanagement v1.6.0 h1:8KWEUNGcpSX9WwZXq7FtciuNGPdPdPN/ruDm769yAEM=
cloud.google.com/go/networkmanagement v1.8.0/go.mod h1:Ho/BUGmtyEqrttTgWEe7m+8vDdK74ibQc+Be0q7Fof0=
cloud.google.com/go/networkmanagement v1.9.0/go.mod h1:UTUaEU9YwbCAhhz3jEOHr+2/K/MrBk2XxOLS89LQzFw=
cloud.google.com/go/networkmanagement v1.9.3/go.mod h1:y7WMO1bRLaP5h3Obm4tey+NquUvB93Co1oh4wpL+XcU=
cloud.google.com/go/networkmanagement v1.9.4/go.mod h1:daWJAl0KTFytFL7ar33I6R/oNBH8eEOX/rBNHrC/8TA=
+cloud.google.com/go/networksecurity v0.8.0 h1:sOc42Ig1K2LiKlzG71GUVloeSJ0J3mffEBYmvu+P0eo=
cloud.google.com/go/networksecurity v0.9.1/go.mod h1:MCMdxOKQ30wsBI1eI659f9kEp4wuuAueoC9AJKSPWZQ=
cloud.google.com/go/networksecurity v0.9.4/go.mod h1:E9CeMZ2zDsNBkr8axKSYm8XyTqNhiCHf1JO/Vb8mD1w=
cloud.google.com/go/networksecurity v0.9.5/go.mod h1:KNkjH/RsylSGyyZ8wXpue8xpCEK+bTtvof8SBfIhMG8=
+cloud.google.com/go/notebooks v1.8.0 h1:Kg2K3K7CbSXYJHZ1aGQpf1xi5x2GUvQWf2sFVuiZh8M=
cloud.google.com/go/notebooks v1.9.1/go.mod h1:zqG9/gk05JrzgBt4ghLzEepPHNwE5jgPcHZRKhlC1A8=
cloud.google.com/go/notebooks v1.10.0/go.mod h1:SOPYMZnttHxqot0SGSFSkRrwE29eqnKPBJFqgWmiK2k=
cloud.google.com/go/notebooks v1.11.2/go.mod h1:z0tlHI/lREXC8BS2mIsUeR3agM1AkgLiS+Isov3SS70=
cloud.google.com/go/notebooks v1.11.3/go.mod h1:0wQyI2dQC3AZyQqWnRsp+yA+kY4gC7ZIVP4Qg3AQcgo=
+cloud.google.com/go/optimization v1.3.1 h1:dj8O4VOJRB4CUwZXdmwNViH1OtI0WtWL867/lnYH248=
cloud.google.com/go/optimization v1.4.1/go.mod h1:j64vZQP7h9bO49m2rVaTVoNM0vEBEN5eKPUPbZyXOrk=
cloud.google.com/go/optimization v1.5.0/go.mod h1:evo1OvTxeBRBu6ydPlrIRizKY/LJKo/drDMMRKqGEUU=
cloud.google.com/go/optimization v1.6.2/go.mod h1:mWNZ7B9/EyMCcwNl1frUGEuY6CPijSkz88Fz2vwKPOY=
cloud.google.com/go/optimization v1.6.3/go.mod h1:8ve3svp3W6NFcAEFr4SfJxrldzhUl4VMUJmhrqVKtYA=
+cloud.google.com/go/orchestration v1.6.0 h1:Vw+CEXo8M/FZ1rb4EjcLv0gJqqw89b7+g+C/EmniTb8=
cloud.google.com/go/orchestration v1.8.1/go.mod h1:4sluRF3wgbYVRqz7zJ1/EUNc90TTprliq9477fGobD8=
cloud.google.com/go/orchestration v1.8.4/go.mod h1:d0lywZSVYtIoSZXb0iFjv9SaL13PGyVOKDxqGxEf/qI=
cloud.google.com/go/orchestration v1.8.5/go.mod h1:C1J7HesE96Ba8/hZ71ISTV2UAat0bwN+pi85ky38Yq8=
+cloud.google.com/go/orgpolicy v1.10.0 h1:XDriMWug7sd0kYT1QKofRpRHzjad0bK8Q8uA9q+XrU4=
cloud.google.com/go/orgpolicy v1.11.1/go.mod h1:8+E3jQcpZJQliP+zaFfayC2Pg5bmhuLK755wKhIIUCE=
cloud.google.com/go/orgpolicy v1.11.4/go.mod h1:0+aNV/nrfoTQ4Mytv+Aw+stBDBjNf4d8fYRA9herfJI=
cloud.google.com/go/orgpolicy v1.12.0/go.mod h1:0+aNV/nrfoTQ4Mytv+Aw+stBDBjNf4d8fYRA9herfJI=
cloud.google.com/go/orgpolicy v1.12.1/go.mod h1:aibX78RDl5pcK3jA8ysDQCFkVxLj3aOQqrbBaUL2V5I=
+cloud.google.com/go/osconfig v1.11.0 h1:PkSQx4OHit5xz2bNyr11KGcaFccL5oqglFPdTboyqwQ=
cloud.google.com/go/osconfig v1.12.1/go.mod h1:4CjBxND0gswz2gfYRCUoUzCm9zCABp91EeTtWXyz0tE=
cloud.google.com/go/osconfig v1.12.4/go.mod h1:B1qEwJ/jzqSRslvdOCI8Kdnp0gSng0xW4LOnIebQomA=
cloud.google.com/go/osconfig v1.12.5/go.mod h1:D9QFdxzfjgw3h/+ZaAb5NypM8bhOMqBzgmbhzWViiW8=
+cloud.google.com/go/oslogin v1.9.0 h1:whP7vhpmc+ufZa90eVpkfbgzJRK/Xomjz+XCD4aGwWw=
cloud.google.com/go/oslogin v1.10.1/go.mod h1:x692z7yAue5nE7CsSnoG0aaMbNoRJRXO4sn73R+ZqAs=
cloud.google.com/go/oslogin v1.12.2/go.mod h1:CQ3V8Jvw4Qo4WRhNPF0o+HAM4DiLuE27Ul9CX9g2QdY=
cloud.google.com/go/oslogin v1.13.0/go.mod h1:xPJqLwpTZ90LSE5IL1/svko+6c5avZLluiyylMb/sRA=
cloud.google.com/go/oslogin v1.13.1/go.mod h1:vS8Sr/jR7QvPWpCjNqy6LYZr5Zs1e8ZGW/KPn9gmhws=
+cloud.google.com/go/phishingprotection v0.7.0 h1:l6tDkT7qAEV49MNEJkEJTB6vOO/onbSOcNtAT09HPuA=
cloud.google.com/go/phishingprotection v0.8.1/go.mod h1:AxonW7GovcA8qdEk13NfHq9hNx5KPtfxXNeUxTDxB6I=
cloud.google.com/go/phishingprotection v0.8.4/go.mod h1:6b3kNPAc2AQ6jZfFHioZKg9MQNybDg4ixFd4RPZZ2nE=
cloud.google.com/go/phishingprotection v0.8.5/go.mod h1:g1smd68F7mF1hgQPuYn3z8HDbNre8L6Z0b7XMYFmX7I=
+cloud.google.com/go/policytroubleshooter v1.6.0 h1:yKAGC4p9O61ttZUswaq9GAn1SZnEzTd0vUYXD7ZBT7Y=
cloud.google.com/go/policytroubleshooter v1.7.1/go.mod h1:0NaT5v3Ag1M7U5r0GfDCpUFkWd9YqpubBWsQlhanRv0=
cloud.google.com/go/policytroubleshooter v1.9.0/go.mod h1:+E2Lga7TycpeSTj2FsH4oXxTnrbHJGRlKhVZBLGgU64=
cloud.google.com/go/policytroubleshooter v1.10.2/go.mod h1:m4uF3f6LseVEnMV6nknlN2vYGRb+75ylQwJdnOXfnv0=
cloud.google.com/go/policytroubleshooter v1.10.3/go.mod h1:+ZqG3agHT7WPb4EBIRqUv4OyIwRTZvsVDHZ8GlZaoxk=
+cloud.google.com/go/privatecatalog v0.8.0 h1:EPEJ1DpEGXLDnmc7mnCAqFmkwUJbIsaLAiLHVOkkwtc=
cloud.google.com/go/privatecatalog v0.9.1/go.mod h1:0XlDXW2unJXdf9zFz968Hp35gl/bhF4twwpXZAW50JA=
cloud.google.com/go/privatecatalog v0.9.4/go.mod h1:SOjm93f+5hp/U3PqMZAHTtBtluqLygrDrVO8X8tYtG0=
cloud.google.com/go/privatecatalog v0.9.5/go.mod h1:fVWeBOVe7uj2n3kWRGlUQqR/pOd450J9yZoOECcQqJk=
+cloud.google.com/go/pubsub v1.30.0 h1:vCge8m7aUKBJYOgrZp7EsNDf6QMd2CAlXZqWTn3yq6s=
cloud.google.com/go/pubsub v1.32.0/go.mod h1:f+w71I33OMyxf9VpMVcZbnG5KSUkCOUHYpFd5U1GdRc=
cloud.google.com/go/pubsub v1.33.0/go.mod h1:f+w71I33OMyxf9VpMVcZbnG5KSUkCOUHYpFd5U1GdRc=
cloud.google.com/go/pubsub v1.34.0/go.mod h1:alj4l4rBg+N3YTFDDC+/YyFTs6JAjam2QfYsddcAW4c=
cloud.google.com/go/pubsub v1.36.1/go.mod h1:iYjCa9EzWOoBiTdd4ps7QoMtMln5NwaZQpK1hbRfBDE=
+cloud.google.com/go/pubsublite v1.7.0 h1:cb9fsrtpINtETHiJ3ECeaVzrfIVhcGjhhJEjybHXHao=
cloud.google.com/go/pubsublite v1.8.1/go.mod h1:fOLdU4f5xldK4RGJrBMm+J7zMWNj/k4PxwEZXy39QS0=
+cloud.google.com/go/recaptchaenterprise v1.3.1 h1:u6EznTGzIdsyOsvm+Xkw0aSuKFXQlyjGE9a4exk6iNQ=
+cloud.google.com/go/recaptchaenterprise/v2 v2.7.0 h1:6iOCujSNJ0YS7oNymI64hXsjGq60T4FK1zdLugxbzvU=
cloud.google.com/go/recaptchaenterprise/v2 v2.7.2/go.mod h1:kR0KjsJS7Jt1YSyWFkseQ756D45kaYNTlDPPaRAvDBU=
cloud.google.com/go/recaptchaenterprise/v2 v2.8.3/go.mod h1:Dak54rw6lC2gBY8FBznpOCAR58wKf+R+ZSJRoeJok4w=
cloud.google.com/go/recaptchaenterprise/v2 v2.9.0/go.mod h1:Dak54rw6lC2gBY8FBznpOCAR58wKf+R+ZSJRoeJok4w=
cloud.google.com/go/recaptchaenterprise/v2 v2.9.2/go.mod h1:trwwGkfhCmp05Ll5MSJPXY7yvnO0p4v3orGANAFHAuU=
+cloud.google.com/go/recommendationengine v0.7.0 h1:VibRFCwWXrFebEWKHfZAt2kta6pS7Tlimsnms0fjv7k=
cloud.google.com/go/recommendationengine v0.8.1/go.mod h1:MrZihWwtFYWDzE6Hz5nKcNz3gLizXVIDI/o3G1DLcrE=
cloud.google.com/go/recommendationengine v0.8.4/go.mod h1:GEteCf1PATl5v5ZsQ60sTClUE0phbWmo3rQ1Js8louU=
cloud.google.com/go/recommendationengine v0.8.5/go.mod h1:A38rIXHGFvoPvmy6pZLozr0g59NRNREz4cx7F58HAsQ=
+cloud.google.com/go/recommender v1.9.0 h1:ZnFRY5R6zOVk2IDS1Jbv5Bw+DExCI5rFumsTnMXiu/A=
cloud.google.com/go/recommender v1.10.1/go.mod h1:XFvrE4Suqn5Cq0Lf+mCP6oBHD/yRMA8XxP5sb7Q7gpA=
cloud.google.com/go/recommender v1.11.0/go.mod h1:kPiRQhPyTJ9kyXPCG6u/dlPLbYfFlkwHNRwdzPVAoII=
cloud.google.com/go/recommender v1.11.3/go.mod h1:+FJosKKJSId1MBFeJ/TTyoGQZiEelQQIZMKYYD8ruK4=
cloud.google.com/go/recommender v1.12.0/go.mod h1:+FJosKKJSId1MBFeJ/TTyoGQZiEelQQIZMKYYD8ruK4=
cloud.google.com/go/recommender v1.12.1/go.mod h1:gf95SInWNND5aPas3yjwl0I572dtudMhMIG4ni8nr+0=
+cloud.google.com/go/redis v1.11.0 h1:JoAd3SkeDt3rLFAAxEvw6wV4t+8y4ZzfZcZmddqphQ8=
cloud.google.com/go/redis v1.13.1/go.mod h1:VP7DGLpE91M6bcsDdMuyCm2hIpB6Vp2hI090Mfd1tcg=
cloud.google.com/go/redis v1.14.1/go.mod h1:MbmBxN8bEnQI4doZPC1BzADU4HGocHBk2de3SbgOkqs=
cloud.google.com/go/redis v1.14.2/go.mod h1:g0Lu7RRRz46ENdFKQ2EcQZBAJ2PtJHJLuiiRuEXwyQw=
+cloud.google.com/go/resourcemanager v1.7.0 h1:NRM0p+RJkaQF9Ee9JMnUV9BQ2QBIOq/v8M+Pbv/wmCs=
cloud.google.com/go/resourcemanager v1.9.1/go.mod h1:dVCuosgrh1tINZ/RwBufr8lULmWGOkPS8gL5gqyjdT8=
cloud.google.com/go/resourcemanager v1.9.4/go.mod h1:N1dhP9RFvo3lUfwtfLWVxfUWq8+KUQ+XLlHLH3BoFJ0=
cloud.google.com/go/resourcemanager v1.9.5/go.mod h1:hep6KjelHA+ToEjOfO3garMKi/CLYwTqeAw7YiEI9x8=
+cloud.google.com/go/resourcesettings v1.5.0 h1:8Dua37kQt27CCWHm4h/Q1XqCF6ByD7Ouu49xg95qJzI=
cloud.google.com/go/resourcesettings v1.6.1/go.mod h1:M7mk9PIZrC5Fgsu1kZJci6mpgN8o0IUzVx3eJU3y4Jw=
cloud.google.com/go/resourcesettings v1.6.4/go.mod h1:pYTTkWdv2lmQcjsthbZLNBP4QW140cs7wqA3DuqErVI=
cloud.google.com/go/resourcesettings v1.6.5/go.mod h1:WBOIWZraXZOGAgoR4ukNj0o0HiSMO62H9RpFi9WjP9I=
+cloud.google.com/go/retail v1.12.0 h1:1Dda2OpFNzIb4qWgFZjYlpP7sxX3aLeypKG6A3H4Yys=
cloud.google.com/go/retail v1.14.1/go.mod h1:y3Wv3Vr2k54dLNIrCzenyKG8g8dhvhncT2NcNjb/6gE=
cloud.google.com/go/retail v1.14.4/go.mod h1:l/N7cMtY78yRnJqp5JW8emy7MB1nz8E4t2yfOmklYfg=
cloud.google.com/go/retail v1.16.0/go.mod h1:LW7tllVveZo4ReWt68VnldZFWJRzsh9np+01J9dYWzE=
-cloud.google.com/go/run v0.9.0/go.mod h1:Wwu+/vvg8Y+JUApMwEDfVfhetv30hCG4ZwDR/IXl2Qg=
+cloud.google.com/go/run v0.9.0 h1:ydJQo+k+MShYnBfhaRHSZYeD/SQKZzZLAROyfpeD9zw=
cloud.google.com/go/run v1.2.0/go.mod h1:36V1IlDzQ0XxbQjUx6IYbw8H3TJnWvhii963WW3B/bo=
cloud.google.com/go/run v1.3.3/go.mod h1:WSM5pGyJ7cfYyYbONVQBN4buz42zFqwG67Q3ch07iK4=
cloud.google.com/go/run v1.3.4/go.mod h1:FGieuZvQ3tj1e9GnzXqrMABSuir38AJg5xhiYq+SF3o=
+cloud.google.com/go/scheduler v1.9.0 h1:NpQAHtx3sulByTLe2dMwWmah8PWgeoieFPpJpArwFV0=
cloud.google.com/go/scheduler v1.10.1/go.mod h1:R63Ldltd47Bs4gnhQkmNDse5w8gBRrhObZ54PxgR2Oo=
cloud.google.com/go/scheduler v1.10.4/go.mod h1:MTuXcrJC9tqOHhixdbHDFSIuh7xZF2IysiINDuiq6NI=
cloud.google.com/go/scheduler v1.10.5/go.mod h1:MTuXcrJC9tqOHhixdbHDFSIuh7xZF2IysiINDuiq6NI=
cloud.google.com/go/scheduler v1.10.6/go.mod h1:pe2pNCtJ+R01E06XCDOJs1XvAMbv28ZsQEbqknxGOuE=
+cloud.google.com/go/secretmanager v1.10.0 h1:pu03bha7ukxF8otyPKTFdDz+rr9sE3YauS5PliDXK60=
cloud.google.com/go/secretmanager v1.11.1/go.mod h1:znq9JlXgTNdBeQk9TBW/FnR/W4uChEKGeqQWAJ8SXFw=
cloud.google.com/go/secretmanager v1.11.4/go.mod h1:wreJlbS9Zdq21lMzWmJ0XhWW2ZxgPeahsqeV/vZoJ3w=
cloud.google.com/go/secretmanager v1.11.5/go.mod h1:eAGv+DaCHkeVyQi0BeXgAHOU0RdrMeZIASKc+S7VqH4=
+cloud.google.com/go/security v1.13.0 h1:PYvDxopRQBfYAXKAuDpFCKBvDOWPWzp9k/H5nB3ud3o=
cloud.google.com/go/security v1.15.1/go.mod h1:MvTnnbsWnehoizHi09zoiZob0iCHVcL4AUBj76h9fXA=
cloud.google.com/go/security v1.15.4/go.mod h1:oN7C2uIZKhxCLiAAijKUCuHLZbIt/ghYEo8MqwD/Ty4=
cloud.google.com/go/security v1.15.5/go.mod h1:KS6X2eG3ynWjqcIX976fuToN5juVkF6Ra6c7MPnldtc=
+cloud.google.com/go/securitycenter v1.19.0 h1:AF3c2s3awNTMoBtMX3oCUoOMmGlYxGOeuXSYHNBkf14=
cloud.google.com/go/securitycenter v1.23.0/go.mod h1:8pwQ4n+Y9WCWM278R8W3nF65QtY172h4S8aXyI9/hsQ=
cloud.google.com/go/securitycenter v1.24.2/go.mod h1:l1XejOngggzqwr4Fa2Cn+iWZGf+aBLTXtB/vXjy5vXM=
cloud.google.com/go/securitycenter v1.24.3/go.mod h1:l1XejOngggzqwr4Fa2Cn+iWZGf+aBLTXtB/vXjy5vXM=
cloud.google.com/go/securitycenter v1.24.4/go.mod h1:PSccin+o1EMYKcFQzz9HMMnZ2r9+7jbc+LvPjXhpwcU=
+cloud.google.com/go/servicecontrol v1.11.1 h1:d0uV7Qegtfaa7Z2ClDzr9HJmnbJW7jn0WhZ7wOX6hLE=
+cloud.google.com/go/servicedirectory v1.9.0 h1:SJwk0XX2e26o25ObYUORXx6torSFiYgsGkWSkZgkoSU=
cloud.google.com/go/servicedirectory v1.10.1/go.mod h1:Xv0YVH8s4pVOwfM/1eMTl0XJ6bzIOSLDt8f8eLaGOxQ=
cloud.google.com/go/servicedirectory v1.11.0/go.mod h1:Xv0YVH8s4pVOwfM/1eMTl0XJ6bzIOSLDt8f8eLaGOxQ=
cloud.google.com/go/servicedirectory v1.11.3/go.mod h1:LV+cHkomRLr67YoQy3Xq2tUXBGOs5z5bPofdq7qtiAw=
cloud.google.com/go/servicedirectory v1.11.4/go.mod h1:Bz2T9t+/Ehg6x+Y7Ycq5xiShYLD96NfEsWNHyitj1qM=
+cloud.google.com/go/servicemanagement v1.8.0 h1:fopAQI/IAzlxnVeiKn/8WiV6zKndjFkvi+gzu+NjywY=
+cloud.google.com/go/serviceusage v1.6.0 h1:rXyq+0+RSIm3HFypctp7WoXxIA563rn206CfMWdqXX4=
+cloud.google.com/go/shell v1.6.0 h1:wT0Uw7ib7+AgZST9eCDygwTJn4+bHMDtZo5fh7kGWDU=
cloud.google.com/go/shell v1.7.1/go.mod h1:u1RaM+huXFaTojTbW4g9P5emOrrmLE69KrxqQahKn4g=
cloud.google.com/go/shell v1.7.4/go.mod h1:yLeXB8eKLxw0dpEmXQ/FjriYrBijNsONpwnWsdPqlKM=
cloud.google.com/go/shell v1.7.5/go.mod h1:hL2++7F47/IfpfTO53KYf1EC+F56k3ThfNEXd4zcuiE=
+cloud.google.com/go/spanner v1.45.0 h1:7VdjZ8zj4sHbDw55atp5dfY6kn1j9sam9DRNpPQhqR4=
cloud.google.com/go/spanner v1.47.0/go.mod h1:IXsJwVW2j4UKs0eYDqodab6HgGuA1bViSqW4uH9lfUI=
cloud.google.com/go/spanner v1.49.0/go.mod h1:eGj9mQGK8+hkgSVbHNQ06pQ4oS+cyc4tXXd6Dif1KoM=
cloud.google.com/go/spanner v1.51.0/go.mod h1:c5KNo5LQ1X5tJwma9rSQZsXNBDNvj4/n8BVc3LNahq0=
cloud.google.com/go/spanner v1.55.0/go.mod h1:HXEznMUVhC+PC+HDyo9YFG2Ajj5BQDkcbqB9Z2Ffxi0=
cloud.google.com/go/spanner v1.56.0/go.mod h1:DndqtUKQAt3VLuV2Le+9Y3WTnq5cNKrnLb/Piqcj+h0=
+cloud.google.com/go/spanner v1.57.0/go.mod h1:aXQ5QDdhPRIqVhYmnkAdwPYvj/DRN0FguclhEWw+jOo=
+cloud.google.com/go/speech v1.15.0 h1:JEVoWGNnTF128kNty7T4aG4eqv2z86yiMJPT9Zjp+iw=
cloud.google.com/go/speech v1.17.1/go.mod h1:8rVNzU43tQvxDaGvqOhpDqgkJTFowBpDvCJ14kGlJYo=
cloud.google.com/go/speech v1.19.0/go.mod h1:8rVNzU43tQvxDaGvqOhpDqgkJTFowBpDvCJ14kGlJYo=
cloud.google.com/go/speech v1.20.1/go.mod h1:wwolycgONvfz2EDU8rKuHRW3+wc9ILPsAWoikBEWavY=
cloud.google.com/go/speech v1.21.0/go.mod h1:wwolycgONvfz2EDU8rKuHRW3+wc9ILPsAWoikBEWavY=
cloud.google.com/go/speech v1.21.1/go.mod h1:E5GHZXYQlkqWQwY5xRSLHw2ci5NMQNG52FfMU1aZrIA=
-cloud.google.com/go/storage v1.14.0/go.mod h1:GrKmX003DSIwi9o29oFT7YDnHYwZoctc3fOKtUw0Xmo=
+cloud.google.com/go/storage v1.29.0 h1:6weCgzRvMg7lzuUurI4697AqIRPU1SvzHhynwpW31jI=
cloud.google.com/go/storage v1.30.1/go.mod h1:NfxhC0UJE1aXSx7CIIbCf7y9HKT7BiccwkR7+P7gN8E=
cloud.google.com/go/storage v1.36.0/go.mod h1:M6M/3V/D3KpzMTJyPOR/HU6n2Si5QdaXYEsng2xgOs8=
+cloud.google.com/go/storagetransfer v1.8.0 h1:5T+PM+3ECU3EY2y9Brv0Sf3oka8pKmsCfpQ07+91G9o=
cloud.google.com/go/storagetransfer v1.10.0/go.mod h1:DM4sTlSmGiNczmV6iZyceIh2dbs+7z2Ayg6YAiQlYfA=
cloud.google.com/go/storagetransfer v1.10.3/go.mod h1:Up8LY2p6X68SZ+WToswpQbQHnJpOty/ACcMafuey8gc=
cloud.google.com/go/storagetransfer v1.10.4/go.mod h1:vef30rZKu5HSEf/x1tK3WfWrL0XVoUQN/EPDRGPzjZs=
+cloud.google.com/go/talent v1.5.0 h1:nI9sVZPjMKiO2q3Uu0KhTDVov3Xrlpt63fghP9XjyEM=
cloud.google.com/go/talent v1.6.2/go.mod h1:CbGvmKCG61mkdjcqTcLOkb2ZN1SrQI8MDyma2l7VD24=
cloud.google.com/go/talent v1.6.5/go.mod h1:Mf5cma696HmE+P2BWJ/ZwYqeJXEeU0UqjHFXVLadEDI=
cloud.google.com/go/talent v1.6.6/go.mod h1:y/WQDKrhVz12WagoarpAIyKKMeKGKHWPoReZ0g8tseQ=
+cloud.google.com/go/texttospeech v1.6.0 h1:H4g1ULStsbVtalbZGktyzXzw6jP26RjVGYx9RaYjBzc=
cloud.google.com/go/texttospeech v1.7.1/go.mod h1:m7QfG5IXxeneGqTapXNxv2ItxP/FS0hCZBwXYqucgSk=
cloud.google.com/go/texttospeech v1.7.4/go.mod h1:vgv0002WvR4liGuSd5BJbWy4nDn5Ozco0uJymY5+U74=
cloud.google.com/go/texttospeech v1.7.5/go.mod h1:tzpCuNWPwrNJnEa4Pu5taALuZL4QRRLcb+K9pbhXT6M=
+cloud.google.com/go/tpu v1.5.0 h1:/34T6CbSi+kTv5E19Q9zbU/ix8IviInZpzwz3rsFE+A=
cloud.google.com/go/tpu v1.6.1/go.mod h1:sOdcHVIgDEEOKuqUoi6Fq53MKHJAtOwtz0GuKsWSH3E=
cloud.google.com/go/tpu v1.6.4/go.mod h1:NAm9q3Rq2wIlGnOhpYICNI7+bpBebMJbh0yyp3aNw1Y=
cloud.google.com/go/tpu v1.6.5/go.mod h1:P9DFOEBIBhuEcZhXi+wPoVy/cji+0ICFi4TtTkMHSSs=
+cloud.google.com/go/trace v1.9.0 h1:olxC0QHC59zgJVALtgqfD9tGk0lfeCP5/AGXL3Px/no=
cloud.google.com/go/trace v1.10.1/go.mod h1:gbtL94KE5AJLH3y+WVpfWILmqgc6dXcqgNXdOPAQTYk=
cloud.google.com/go/trace v1.10.4/go.mod h1:Nso99EDIK8Mj5/zmB+iGr9dosS/bzWCJ8wGmE6TXNWY=
cloud.google.com/go/trace v1.10.5/go.mod h1:9hjCV1nGBCtXbAE4YK7OqJ8pmPYSxPA0I67JwRd5s3M=
+cloud.google.com/go/translate v1.7.0 h1:GvLP4oQ4uPdChBmBaUSa/SaZxCdyWELtlAaKzpHsXdA=
cloud.google.com/go/translate v1.8.1/go.mod h1:d1ZH5aaOA0CNhWeXeC8ujd4tdCFw8XoNWRljklu5RHs=
cloud.google.com/go/translate v1.9.0/go.mod h1:d1ZH5aaOA0CNhWeXeC8ujd4tdCFw8XoNWRljklu5RHs=
cloud.google.com/go/translate v1.9.3/go.mod h1:Kbq9RggWsbqZ9W5YpM94Q1Xv4dshw/gr/SHfsl5yCZ0=
cloud.google.com/go/translate v1.10.0/go.mod h1:Kbq9RggWsbqZ9W5YpM94Q1Xv4dshw/gr/SHfsl5yCZ0=
cloud.google.com/go/translate v1.10.1/go.mod h1:adGZcQNom/3ogU65N9UXHOnnSvjPwA/jKQUMnsYXOyk=
+cloud.google.com/go/video v1.15.0 h1:upIbnGI0ZgACm58HPjAeBMleW3sl5cT84AbYQ8PWOgM=
cloud.google.com/go/video v1.17.1/go.mod h1:9qmqPqw/Ib2tLqaeHgtakU+l5TcJxCJbhFXM7UJjVzU=
cloud.google.com/go/video v1.20.0/go.mod h1:U3G3FTnsvAGqglq9LxgqzOiBc/Nt8zis8S+850N2DUM=
cloud.google.com/go/video v1.20.3/go.mod h1:TnH/mNZKVHeNtpamsSPygSR0iHtvrR/cW1/GDjN5+GU=
cloud.google.com/go/video v1.20.4/go.mod h1:LyUVjyW+Bwj7dh3UJnUGZfyqjEto9DnrvTe1f/+QrW0=
+cloud.google.com/go/videointelligence v1.10.0 h1:Uh5BdoET8XXqXX2uXIahGb+wTKbLkGH7s4GXR58RrG8=
cloud.google.com/go/videointelligence v1.11.1/go.mod h1:76xn/8InyQHarjTWsBR058SmlPCwQjgcvoW0aZykOvo=
cloud.google.com/go/videointelligence v1.11.4/go.mod h1:kPBMAYsTPFiQxMLmmjpcZUMklJp3nC9+ipJJtprccD8=
cloud.google.com/go/videointelligence v1.11.5/go.mod h1:/PkeQjpRponmOerPeJxNPuxvi12HlW7Em0lJO14FC3I=
+cloud.google.com/go/vision v1.2.0 h1:/CsSTkbmO9HC8iQpxbK8ATms3OQaX3YQUeTMGCxlaK4=
+cloud.google.com/go/vision/v2 v2.7.0 h1:8C8RXUJoflCI4yVdqhTy9tRyygSHmp60aP363z23HKg=
cloud.google.com/go/vision/v2 v2.7.2/go.mod h1:jKa8oSYBWhYiXarHPvP4USxYANYUEdEsQrloLjrSwJU=
cloud.google.com/go/vision/v2 v2.7.5/go.mod h1:GcviprJLFfK9OLf0z8Gm6lQb6ZFUulvpZws+mm6yPLM=
cloud.google.com/go/vision/v2 v2.8.0/go.mod h1:ocqDiA2j97pvgogdyhoxiQp2ZkDCyr0HWpicywGGRhU=
+cloud.google.com/go/vmmigration v1.6.0 h1:Azs5WKtfOC8pxvkyrDvt7J0/4DYBch0cVbuFfCCFt5k=
cloud.google.com/go/vmmigration v1.7.1/go.mod h1:WD+5z7a/IpZ5bKK//YmT9E047AD+rjycCAvyMxGJbro=
cloud.google.com/go/vmmigration v1.7.4/go.mod h1:yBXCmiLaB99hEl/G9ZooNx2GyzgsjKnw5fWcINRgD70=
cloud.google.com/go/vmmigration v1.7.5/go.mod h1:pkvO6huVnVWzkFioxSghZxIGcsstDvYiVCxQ9ZH3eYI=
+cloud.google.com/go/vmwareengine v0.3.0 h1:b0NBu7S294l0gmtrT0nOJneMYgZapr5x9tVWvgDoVEM=
cloud.google.com/go/vmwareengine v0.4.1/go.mod h1:Px64x+BvjPZwWuc4HdmVhoygcXqEkGHXoa7uyfTgSI0=
cloud.google.com/go/vmwareengine v1.0.0/go.mod h1:Px64x+BvjPZwWuc4HdmVhoygcXqEkGHXoa7uyfTgSI0=
cloud.google.com/go/vmwareengine v1.0.3/go.mod h1:QSpdZ1stlbfKtyt6Iu19M6XRxjmXO+vb5a/R6Fvy2y4=
cloud.google.com/go/vmwareengine v1.1.1/go.mod h1:nMpdsIVkUrSaX8UvmnBhzVzG7PPvNYc5BszcvIVudYs=
+cloud.google.com/go/vpcaccess v1.6.0 h1:FOe6CuiQD3BhHJWt7E8QlbBcaIzVRddupwJlp7eqmn4=
cloud.google.com/go/vpcaccess v1.7.1/go.mod h1:FogoD46/ZU+JUBX9D606X21EnxiszYi2tArQwLY4SXs=
cloud.google.com/go/vpcaccess v1.7.4/go.mod h1:lA0KTvhtEOb/VOdnH/gwPuOzGgM+CWsmGu6bb4IoMKk=
cloud.google.com/go/vpcaccess v1.7.5/go.mod h1:slc5ZRvvjP78c2dnL7m4l4R9GwL3wDLcpIWz6P/ziig=
+cloud.google.com/go/webrisk v1.8.0 h1:IY+L2+UwxcVm2zayMAtBhZleecdIFLiC+QJMzgb0kT0=
cloud.google.com/go/webrisk v1.9.1/go.mod h1:4GCmXKcOa2BZcZPn6DCEvE7HypmEJcJkr4mtM+sqYPc=
cloud.google.com/go/webrisk v1.9.4/go.mod h1:w7m4Ib4C+OseSr2GL66m0zMBywdrVNTDKsdEsfMl7X0=
cloud.google.com/go/webrisk v1.9.5/go.mod h1:aako0Fzep1Q714cPEM5E+mtYX8/jsfegAuS8aivxy3U=
+cloud.google.com/go/websecurityscanner v1.5.0 h1:AHC1xmaNMOZtNqxI9Rmm87IJEyPaRkOxeI0gpAacXGk=
cloud.google.com/go/websecurityscanner v1.6.1/go.mod h1:Njgaw3rttgRHXzwCB8kgCYqv5/rGpFCsBOvPbYgszpg=
cloud.google.com/go/websecurityscanner v1.6.4/go.mod h1:mUiyMQ+dGpPPRkHgknIZeCzSHJ45+fY4F52nZFDHm2o=
cloud.google.com/go/websecurityscanner v1.6.5/go.mod h1:QR+DWaxAz2pWooylsBF854/Ijvuoa3FCyS1zBa1rAVQ=
+cloud.google.com/go/workflows v1.10.0 h1:FfGp9w0cYnaKZJhUOMqCOJCYT/WlvYBfTQhFWV3sRKI=
cloud.google.com/go/workflows v1.11.1/go.mod h1:Z+t10G1wF7h8LgdY/EmRcQY8ptBD/nvofaL6FqlET6g=
cloud.google.com/go/workflows v1.12.0/go.mod h1:PYhSk2b6DhZ508tj8HXKaBh+OFe+xdl0dHF/tJdzPQM=
cloud.google.com/go/workflows v1.12.3/go.mod h1:fmOUeeqEwPzIU81foMjTRQIdwQHADi/vEr1cx9R1m5g=
cloud.google.com/go/workflows v1.12.4/go.mod h1:yQ7HUqOkdJK4duVtMeBCAOPiN1ZF1E9pAMX51vpwB/w=
+dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9 h1:VpgP7xuJadIUuKccphEpTJnWhS2jkQyMt6Y7pJCD7fY=
+gioui.org v0.0.0-20210308172011-57750fc8a0a6 h1:K72hopUosKG3ntOPNG4OzzbuhxGuVf06fa2la1/H/Ho=
+git.sr.ht/~sbinet/gg v0.3.1 h1:LNhjNn8DerC8f9DHLz6lS0YYul/b602DUxDgGkd/Aik=
+github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802 h1:1BDTz0u9nC3//pOCMdNH+CiXJVYJh5UQNCOBG7jbELc=
+github.com/JohnCGriffin/overflow v0.0.0-20211019200055-46fa312c352c h1:RGWPOewvKIROun94nF7v2cua9qP+thov/7M50KEoeSU=
github.com/NYTimes/gziphandler v0.0.0-20170623195520-56545f4a5d46/go.mod h1:3wb06e3pkSAbeQ52E9H9iFoQsEEwGN64994WTCIhntQ=
+github.com/NYTimes/gziphandler v1.1.1 h1:ZUDjpQae29j0ryrS0u/B8HZfJBtBQHjqw2rQ2cqUQ3I=
github.com/NYTimes/gziphandler v1.1.1/go.mod h1:n/CVRwUEOgIxrgPvAQhUUr9oeUtvrhMomdKFjzJNB0c=
+github.com/OneOfOne/xxhash v1.2.2 h1:KMrpdQIwFcEqXDklaen+P1axHaj9BSKzvpUUfnHldSE=
+github.com/ajstarks/deck v0.0.0-20200831202436-30c9fc6549a9 h1:7kQgkwGRoLzC9K0oyXdJo7nve/bynv/KwUsxbiTlzAM=
+github.com/ajstarks/deck/generate v0.0.0-20210309230005-c3f852c02e19 h1:iXUgAaqDcIUGbRoy2TdeofRG/j1zpGRSEmNK05T+bi8=
+github.com/ajstarks/svgo v0.0.0-20211024235047-1546f124cd8b h1:slYM766cy2nI3BwyRiyQj/Ud48djTMtMebDqepE95rw=
+github.com/alecthomas/kingpin/v2 v2.4.0 h1:f48lwail6p8zpO1bC4TxtqACaGqHYA22qkHjHpqDjYY=
github.com/alecthomas/kingpin/v2 v2.4.0/go.mod h1:0gyi0zQnjuFk8xrkNKamJoyUo382HRL7ATRpFZCw6tE=
+github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751 h1:JYp7IbQjafoB+tBA3gMyHYHrpOtNuDiK/uB5uXxq5wM=
+github.com/alecthomas/units v0.0.0-20211218093645-b94a6e3cc137 h1:s6gZFSlWYmbqAuRjVTiNNhvNRfY2Wxp9nhfyel4rklc=
github.com/alecthomas/units v0.0.0-20211218093645-b94a6e3cc137/go.mod h1:OMCwj8VM1Kc9e19TLln2VL61YJF0x1XFtfdL4JdbSyE=
-github.com/andybalholm/brotli v1.0.4/go.mod h1:fO7iG3H7G2nSZ7m0zPUDn85XEX2GTukHGRSepvi9Eig=
-github.com/apache/thrift v0.16.0/go.mod h1:PHK3hniurgQaNMZYaCLEqXKsYK8upmhPbmdP2FXSqgU=
+github.com/andybalholm/brotli v1.0.4 h1:V7DdXeJtZscaqfNuAdSRuRFzuiKlHSC/Zh3zl9qY3JY=
+github.com/antihax/optional v1.0.0 h1:xK2lYat7ZLaVVcIuj82J8kIro4V6kDe0AUDFboUCwcg=
+github.com/antlr/antlr4/runtime/Go/antlr/v4 v4.0.0-20230305170008-8188dc5388df h1:7RFfzj4SSt6nnvCPbCqijJi1nWCd+TqAT3bYCStRC18=
+github.com/antlr/antlr4/runtime/Go/antlr/v4 v4.0.0-20230305170008-8188dc5388df/go.mod h1:pSwJ0fSY5KhvocuWSx4fz3BA8OrA1bQn+K1Eli3BRwM=
+github.com/apache/arrow/go/v10 v10.0.1 h1:n9dERvixoC/1JjDmBcs9FPaEryoANa2sCgVFo6ez9cI=
+github.com/apache/arrow/go/v11 v11.0.0 h1:hqauxvFQxww+0mEU/2XHG6LT7eZternCZq+A5Yly2uM=
+github.com/apache/thrift v0.16.0 h1:qEy6UW60iVOlUy+b9ZR0d5WzUWYGOo4HfopoyBaNmoY=
+github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5 h1:0CwZNZbxp69SHPdPJAN/hZIm0C4OItdklCFmMRWYpio=
github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5/go.mod h1:wHh0iHkYZB8zMSxRWpUBQtwG5a7fFgvEO+odwuTv2gs=
github.com/asaskevich/govalidator v0.0.0-20190424111038-f61b66f89f4a/go.mod h1:lB+ZfQJz7igIIfQNfa7Ml4HSf2uFQQRzpGGRXenZAgY=
+github.com/asaskevich/govalidator v0.0.0-20230301143203-a9d515a09cc2 h1:DklsrG3dyBCFEj5IhUbnKptjxatkF07cF2ak3yi77so=
github.com/asaskevich/govalidator v0.0.0-20230301143203-a9d515a09cc2/go.mod h1:WaHUgvxTVq04UNunO+XhnAqY/wQc+bxr74GqbsZ/Jqw=
github.com/blang/semver v3.5.1+incompatible h1:cQNTCjp13qL8KC3Nbxr/y2Bqb63oX6wdnnjpJbkM4JQ=
+github.com/boombuler/barcode v1.0.1 h1:NDBbPmhS+EqABEs5Kg3n/5ZNjy73Pz7SIV+KCeqyXcs=
+github.com/bytedance/sonic v1.9.1 h1:6iJ6NqdoxCDr6mbY8h18oSO+cShGSMRGCEo7F2h0x8s=
+github.com/bytedance/sonic v1.9.1/go.mod h1:i736AoUSYt75HyZLoJW9ERYxcy6eaN6h4BZXU064P/U=
+github.com/cenkalti/backoff/v4 v4.2.1 h1:y4OZtCnogmCPw98Zjyt5a6+QwPLGkiQsYW5oUqylYbM=
+github.com/cenkalti/backoff/v4 v4.2.1/go.mod h1:Y3VNntkOUPxTVeUxJ/G5vcM//AlwfmyYozVcomhLiZE=
+github.com/census-instrumentation/opencensus-proto v0.4.1 h1:iKLQ0xPNFxR/2hzXZMrBo8f1j86j5WHzznCCQxV/b8g=
github.com/census-instrumentation/opencensus-proto v0.4.1/go.mod h1:4T9NM4+4Vw91VeyqjLS6ao50K5bOcLKN6Q42XnYaRYw=
github.com/cespare/xxhash v1.1.0 h1:a6HrQnmkObjyL+Gs60czilIUGqrzKutQD6XZog3p+ko=
+github.com/checkpoint-restore/go-criu/v5 v5.3.0 h1:wpFFOoomK3389ue2lAb0Boag6XPht5QYpipxmSNL4d8=
github.com/checkpoint-restore/go-criu/v5 v5.3.0/go.mod h1:E/eQpaFtUKGOOSEBZgmKAcn+zUUwWxqcaKZlF54wK8E=
+github.com/chenzhuoyu/base64x v0.0.0-20221115062448-fe3a3abad311 h1:qSGYFH7+jGhDF8vLC+iwCD4WpbV1EBDSzWkJODFLams=
+github.com/chenzhuoyu/base64x v0.0.0-20221115062448-fe3a3abad311/go.mod h1:b583jCggY9gE99b6G5LEC39OIiVsWj+R97kbl5odCEk=
+github.com/chromedp/cdproto v0.0.0-20230802225258-3cf4e6d46a89 h1:aPflPkRFkVwbW6dmcVqfgwp1i+UWGFH6VgR1Jim5Ygc=
github.com/chromedp/cdproto v0.0.0-20230802225258-3cf4e6d46a89/go.mod h1:GKljq0VrfU4D5yc+2qA6OVr8pmO/MBbPEWqWQ/oqGEs=
+github.com/chromedp/chromedp v0.9.2 h1:dKtNz4kApb06KuSXoTQIyUC2TrA0fhGDwNZf3bcgfKw=
github.com/chromedp/chromedp v0.9.2/go.mod h1:LkSXJKONWTCHAfQasKFUZI+mxqS4tZqhmtGzzhLsnLs=
+github.com/chromedp/sysutil v1.0.0 h1:+ZxhTpfpZlmchB58ih/LBHX52ky7w2VhQVKQMucy3Ic=
github.com/chromedp/sysutil v1.0.0/go.mod h1:kgWmDdq8fTzXYcKIBqIYvRRTnYb9aNS9moAV0xufSww=
+github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWRnGsAI=
+github.com/chzyer/logex v1.2.1 h1:XHDu3E6q+gdHgsdTPH6ImJMIp436vR6MPtH8gP05QzM=
github.com/chzyer/logex v1.2.1/go.mod h1:JLbx6lG2kDbNRFnfkgvh4eRJRPX1QCoOIWomwysCBrQ=
+github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI=
+github.com/chzyer/readline v1.5.1 h1:upd/6fQk4src78LMRzh5vItIt361/o4uq553V8B5sGI=
github.com/chzyer/readline v1.5.1/go.mod h1:Eh+b79XXUwfKfcPLepksvw2tcLE/Ct21YObkaSkeBlk=
+github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU=
+github.com/chzyer/test v1.0.0 h1:p3BQDXSxOhOG0P9z6/hGnII4LGiEPOYBhs8asl/fC04=
github.com/chzyer/test v1.0.0/go.mod h1:2JlltgoNkt4TW/z9V/IzDdFaMTM2JPIi26O1pF38GC8=
+github.com/cilium/ebpf v0.7.0 h1:1k/q3ATgxSXRdrmPfH8d7YK0GfqVsEKZAX9dQZvs56k=
github.com/cilium/ebpf v0.7.0/go.mod h1:/oI2+1shJiTGAMgl6/RgJr36Eo1jzrRcAWbcXO2usCA=
-github.com/cncf/udpa/go v0.0.0-20200629203442-efcf912fb354/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk=
-github.com/cncf/udpa/go v0.0.0-20210930031921-04548b0d99d4/go.mod h1:6pvJx4me5XPnfI9Z40ddWsdw2W/uZgQLFXToKeRcDiI=
+github.com/client9/misspell v0.3.4 h1:ta993UF76GwbvJcIo3Y68y/M3WxlpEHPWIGDkJYwzJI=
+github.com/cncf/udpa/go v0.0.0-20220112060539-c52dc94e7fbe h1:QQ3GSy+MqSHxm/d8nCtnAiZdYFd45cYZPs8vOOIYKfk=
github.com/cncf/udpa/go v0.0.0-20220112060539-c52dc94e7fbe/go.mod h1:6pvJx4me5XPnfI9Z40ddWsdw2W/uZgQLFXToKeRcDiI=
-github.com/cncf/xds/go v0.0.0-20210805033703-aa0b78936158/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs=
-github.com/cncf/xds/go v0.0.0-20210922020428-25de7278fc84/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs=
-github.com/cncf/xds/go v0.0.0-20211011173535-cb28da3451f1/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs=
github.com/cncf/xds/go v0.0.0-20230607035331-e9ce68804cb4/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs=
github.com/cncf/xds/go v0.0.0-20231109132714-523115ebc101/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs=
+github.com/cncf/xds/go v0.0.0-20231128003011-0fa0005c9caa h1:jQCWAUqqlij9Pgj2i/PB79y4KOPYVyFYdROxgaCwdTQ=
github.com/cncf/xds/go v0.0.0-20231128003011-0fa0005c9caa/go.mod h1:x/1Gn8zydmfq8dk6e9PdstVsDgu9RuyIIJqAaF//0IM=
+github.com/cncf/xds/go v0.0.0-20240318125728-8a4994d93e50/go.mod h1:5e1+Vvlzido69INQaVO6d87Qn543Xr6nooe9Kz7oBFM=
+github.com/cncf/xds/go v0.0.0-20240423153145-555b57ec207b/go.mod h1:W+zGtBO5Y1IgJhy4+A9GOqVhqLpfZi+vwmdNXUehLA8=
+github.com/containerd/console v1.0.3 h1:lIr7SlA5PxZyMV30bDW0MGbiOPXwc63yRuCP0ARubLw=
github.com/containerd/console v1.0.3/go.mod h1:7LqA/THxQ86k76b8c/EMSiaJ3h1eZkMkXar0TQ1gf3U=
+github.com/coreos/go-oidc v2.2.1+incompatible h1:mh48q/BqXqgjVHpy2ZY7WnWAbenxRjsz9N1i1YxjHAk=
github.com/coreos/go-oidc v2.2.1+incompatible/go.mod h1:CgnwVTmzoESiwO9qyAFEMiHoZ1nMCKZlZ9V6mm3/LKc=
+github.com/coreos/go-semver v0.3.1 h1:yi21YpKnrx1gt5R+la8n5WgS0kCrsPp33dmEyHReZr4=
+github.com/coreos/go-semver v0.3.1/go.mod h1:irMmmIw/7yzSRPWryHsK7EYSg09caPQL03VsM8rvUec=
github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e h1:Wf6HqHfScWJN9/ZjdUKyjop4mf3Qdd+1TvvltAvM3m8=
+github.com/cpuguy83/go-md2man/v2 v2.0.3 h1:qMCsGGgs+MAzDFyp9LpAe1Lqy/fY/qCovCm0qnXZOBM=
+github.com/docker/go-units v0.4.0 h1:3uh0PgVws3nIA0Q+MwDC8yjEPf9zjRfZZWXZYDct3Tw=
github.com/docker/go-units v0.4.0/go.mod h1:fgPhTUdO+D/Jk86RDLlptpiXQzgHJF7gydDDbaIK4Dk=
+github.com/docopt/docopt-go v0.0.0-20180111231733-ee0de3bc6815 h1:bWDMxwH3px2JBh6AyO7hdCn/PkvCZXii8TGj7sbtEbQ=
+github.com/dustin/go-humanize v1.0.1 h1:GzkhY7T5VNhEkwH0PVJgjz+fX1rhBrR7pRT3mDkpeCY=
github.com/dustin/go-humanize v1.0.1/go.mod h1:Mu1zIs6XwVuF/gI1OepvI0qD18qycQx+mFykh5fBlto=
github.com/emicklei/go-restful v2.9.5+incompatible h1:spTtZBk5DYEvbxMVutUuTyh1Ao2r4iyvLdACqsl/Ljk=
github.com/emicklei/go-restful/v3 v3.8.0/go.mod h1:6n3XBCmQQb25CM2LCACGz8ukIrRry+4bhvbpWn3mrbc=
github.com/emicklei/go-restful/v3 v3.9.0/go.mod h1:6n3XBCmQQb25CM2LCACGz8ukIrRry+4bhvbpWn3mrbc=
-github.com/envoyproxy/go-control-plane v0.9.7/go.mod h1:cwu0lG7PUMfa9snN8LXBig5ynNVH9qI8YYLbd1fK2po=
-github.com/envoyproxy/go-control-plane v0.9.10-0.20210907150352-cf90f659a021/go.mod h1:AFq3mo9L8Lqqiid3OhADV3RfLJnjiw63cSpi+fDTRC0=
+github.com/emicklei/go-restful/v3 v3.11.0/go.mod h1:6n3XBCmQQb25CM2LCACGz8ukIrRry+4bhvbpWn3mrbc=
github.com/envoyproxy/go-control-plane v0.11.1/go.mod h1:uhMcXKCQMEJHiAb0w+YGefQLaTEw+YhGluxZkrTmD0g=
+github.com/envoyproxy/go-control-plane v0.12.0 h1:4X+VP1GHd1Mhj6IB5mMeGbLCleqxjletLK6K0rbxyZI=
github.com/envoyproxy/go-control-plane v0.12.0/go.mod h1:ZBTaoJ23lqITozF0M6G4/IragXCQKCnYbmlmtHvwRG0=
github.com/envoyproxy/protoc-gen-validate v1.0.2/go.mod h1:GpiZQP3dDbg4JouG/NNS7QWXpgx6x8QiMKdmN72jogE=
+github.com/envoyproxy/protoc-gen-validate v1.0.4 h1:gVPz/FMfvh57HdSJQyvBtF00j8JU4zdyUgIUNhlgg0A=
github.com/envoyproxy/protoc-gen-validate v1.0.4/go.mod h1:qys6tmnRsYrQqIhm2bvKZH4Blx/1gTIZ2UKVY1M+Yew=
+github.com/evanphx/json-patch v4.12.0+incompatible/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk=
+github.com/felixge/httpsnoop v1.0.3 h1:s/nj+GCswXYzN5v2DpNMuMQYe+0DDwt5WVCU6CWBdXk=
+github.com/felixge/httpsnoop v1.0.3/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U=
github.com/felixge/httpsnoop v1.0.4/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U=
+github.com/fogleman/gg v1.3.0 h1:/7zJX8F6AaYQc57WQCyN9cAIz+4bCJGO9B+dyW29am8=
+github.com/fxamacker/cbor/v2 v2.6.0 h1:sU6J2usfADwWlYDAFhZBQ6TnLFBHxgesMrQfQgk1tWA=
+github.com/fxamacker/cbor/v2 v2.6.0/go.mod h1:pxXPTn3joSm21Gbwsv0w9OSA2y1HFR9qXEeXQVeNoDQ=
+github.com/gabriel-vasile/mimetype v1.4.2 h1:w5qFW6JKBz9Y393Y4q372O9A7cUSequkh1Q7OhCmWKU=
+github.com/gabriel-vasile/mimetype v1.4.2/go.mod h1:zApsH/mKG4w07erKIaJPFiX0Tsq9BFQgN3qGY5GnNgA=
+github.com/getsentry/sentry-go v0.21.0 h1:c9l5F1nPF30JIppulk4veau90PK6Smu3abgVtVQWon4=
+github.com/getsentry/sentry-go v0.21.0/go.mod h1:lc76E2QywIyW8WuBnwl8Lc4bkmQH4+w1gwTf25trprY=
+github.com/gin-contrib/sse v0.1.0 h1:Y/yl/+YNO8GZSjAhjMsSuLt29uWRFHdHYUb5lYOV9qE=
+github.com/gin-contrib/sse v0.1.0/go.mod h1:RHrZQHXnP2xjPF+u1gW/2HnVO7nvIa9PG3Gm+fLHvGI=
+github.com/gin-gonic/gin v1.9.1 h1:4idEAncQnU5cB7BeOkPtxjfCSye0AAm1R0RVIqJ+Jmg=
+github.com/gin-gonic/gin v1.9.1/go.mod h1:hPrL7YrpYKXt5YId3A/Tnip5kqbEAP+KLuI3SUcPTeU=
+github.com/go-fonts/dejavu v0.1.0 h1:JSajPXURYqpr+Cu8U9bt8K+XcACIHWqWrvWCKyeFmVQ=
+github.com/go-fonts/latin-modern v0.2.0 h1:5/Tv1Ek/QCr20C6ZOz15vw3g7GELYL98KWr8Hgo+3vk=
+github.com/go-fonts/liberation v0.2.0 h1:jAkAWJP4S+OsrPLZM4/eC9iW7CtHy+HBXrEwZXWo5VM=
+github.com/go-fonts/stix v0.1.0 h1:UlZlgrvvmT/58o573ot7NFw0vZasZ5I6bcIft/oMdgg=
+github.com/go-gl/glfw v0.0.0-20190409004039-e6da0acd62b1 h1:QbL/5oDUmRBzO9/Z7Seo6zf912W/a6Sr4Eu0G/3Jho0=
+github.com/go-gl/glfw/v3.3/glfw v0.0.0-20200222043503-6f7a984d4dc4 h1:WtGNWLvXpe6ZudgnXrq0barxBImvnnJoMEhXAzcbM0I=
+github.com/go-kit/kit v0.9.0 h1:wDJmvq38kDhkVxi50ni9ykkdUr1PKgqKOoi01fa0Mdk=
+github.com/go-kit/log v0.2.1 h1:MRVx0/zhvdseW+Gza6N9rVzU/IVzaeE1SFI4raAhmBU=
github.com/go-kit/log v0.2.1/go.mod h1:NwTd00d/i8cPZ3xOwwiv2PO5MOcx78fFErGNcVmBjv0=
+github.com/go-latex/latex v0.0.0-20210823091927-c0d11ff05a81 h1:6zl3BbBhdnMkpSj2YY30qV3gDcVBGtFgVsV3+/i+mKQ=
+github.com/go-logfmt/logfmt v0.5.1 h1:otpy5pqBCBZ1ng9RQ0dPu4PN7ba75Y/aA+UpowDyNVA=
github.com/go-logfmt/logfmt v0.5.1/go.mod h1:WYhtIu8zTZfxdn5+rREduYbwxfcBr/Vr6KEVveWlfTs=
+github.com/go-logr/logr v0.2.0/go.mod h1:z6/tIYblkpsD+a4lm/fGIIU9mZ+XfAiaFtq7xTgseGU=
github.com/go-logr/logr v1.2.0/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A=
github.com/go-logr/logr v1.2.2/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A=
github.com/go-logr/logr v1.2.3/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A=
github.com/go-logr/logr v1.2.4/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A=
+github.com/go-logr/logr v1.4.1/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY=
+github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag=
github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE=
+github.com/go-openapi/jsonpointer v0.19.6/go.mod h1:osyAmYz/mB/C3I+WsTTSgw1ONzaLJoLCyoi6/zppojs=
github.com/go-openapi/jsonreference v0.20.1/go.mod h1:Bl1zwGIM8/wsvqjsOQLJ/SH+En5Ap4rVB5KVcIDZG2k=
+github.com/go-openapi/jsonreference v0.20.2/go.mod h1:Bl1zwGIM8/wsvqjsOQLJ/SH+En5Ap4rVB5KVcIDZG2k=
+github.com/go-openapi/swag v0.22.3/go.mod h1:UzaqsxGiab7freDnrUUra0MwWfN/q7tE4j+VcZ0yl14=
github.com/go-openapi/swag v0.22.5/go.mod h1:Gl91UqO+btAM0plGGxHqJcQZ1ZTy6jbmridBTsDy8A0=
github.com/go-openapi/swag v0.22.6/go.mod h1:Gl91UqO+btAM0plGGxHqJcQZ1ZTy6jbmridBTsDy8A0=
+github.com/go-pdf/fpdf v0.6.0 h1:MlgtGIfsdMEEQJr2le6b/HNr1ZlQwxyWr77r2aj2U/8=
+github.com/go-playground/locales v0.14.1 h1:EWaQ/wswjilfKLTECiXz7Rh+3BjFhfDFKv/oXslEjJA=
+github.com/go-playground/locales v0.14.1/go.mod h1:hxrqLVvrK65+Rwrd5Fc6F2O76J/NuW9t0sjnWqG1slY=
+github.com/go-playground/universal-translator v0.18.1 h1:Bcnm0ZwsGyWbCzImXv+pAJnYK9S473LQFuzCbDbfSFY=
+github.com/go-playground/universal-translator v0.18.1/go.mod h1:xekY+UJKNuX9WP91TpwSH2VMlDf28Uj24BCp08ZFTUY=
+github.com/go-playground/validator/v10 v10.14.0 h1:vgvQWe3XCz3gIeFDm/HnTIbj6UGmg/+t63MyGU2n5js=
+github.com/go-playground/validator/v10 v10.14.0/go.mod h1:9iXMNT7sEkjXb0I+enO7QXmzG6QCsPWY4zveKFVRSyU=
+github.com/go-stack/stack v1.8.0 h1:5SgMzNM5HxrEjV0ww2lTmX6E2Izsfxas4+YHWRs3Lsk=
+github.com/go-task/slim-sprig v0.0.0-20230315185526-52ccab3ef572/go.mod h1:9Pwr4B2jHnOSGXyyzV8ROjYa2ojvAY6HCGYYfMoC3Ls=
+github.com/gobwas/httphead v0.1.0 h1:exrUm0f4YX0L7EBwZHuCF4GDp8aJfVeBrlLQrs6NqWU=
github.com/gobwas/httphead v0.1.0/go.mod h1:O/RXo79gxV8G+RqlR/otEwx4Q36zl9rqC5u12GKvMCM=
+github.com/gobwas/pool v0.2.1 h1:xfeeEhW7pwmX8nuLVlqbzVc7udMDrwetjEv+TZIz1og=
github.com/gobwas/pool v0.2.1/go.mod h1:q8bcK0KcYlCgd9e7WYLm9LpyS+YeLd8JVDW6WezmKEw=
+github.com/gobwas/ws v1.2.1 h1:F2aeBZrm2NDsc7vbovKrWSogd4wvfAxg0FQ89/iqOTk=
github.com/gobwas/ws v1.2.1/go.mod h1:hRKAFb8wOxFROYNsT1bqfWnhX+b5MFeJM9r2ZSwg/KY=
-github.com/goccy/go-json v0.9.11/go.mod h1:6MelG93GURQebXPDq3khkgXZkazVtN9CRI+MGFi0w8I=
+github.com/goccy/go-json v0.10.2 h1:CrxCmQqYDkv1z7lO7Wbh2HN93uovUHgrECaO5ZrCXAU=
github.com/goccy/go-json v0.10.2/go.mod h1:6MelG93GURQebXPDq3khkgXZkazVtN9CRI+MGFi0w8I=
+github.com/golang-jwt/jwt/v4 v4.5.0 h1:7cYmW1XlMY7h7ii7UhUyChSgS5wUJEnm9uZVTGqOWzg=
github.com/golang-jwt/jwt/v4 v4.5.0/go.mod h1:m21LjoU+eqJr34lmDMbreY2eSTRJ1cv77w39/MY0Ch0=
-github.com/golang/glog v1.1.0/go.mod h1:pfYeQZ3JWZoXTV5sFc986z3HTpwQs9At6P4ImfuP3NQ=
+github.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0 h1:DACJavvAHhabrF08vX0COfcOBJRhZ8lUbR+ZWIs0Y5g=
github.com/golang/glog v1.1.2/go.mod h1:zR+okUeTbrL6EL3xHUDxZuEtGv04p5shwip1+mL/rLQ=
+github.com/golang/glog v1.2.0 h1:uCdmnmatrKCgMBlM4rMuJZWOkPDqdbZPnrMXDY4gI68=
github.com/golang/glog v1.2.0/go.mod h1:6AhwSGph0fcJtXVM/PEHPqZlFeoLxhs7/t5UDAwmO+w=
-github.com/golang/snappy v0.0.3/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q=
-github.com/golang/snappy v0.0.4/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q=
-github.com/google/flatbuffers v2.0.8+incompatible/go.mod h1:1AeVuKshWv4vARoZatz6mlQ0JxURH0Kv5+zNeJKJCa8=
-github.com/google/go-cmp v0.5.3/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
+github.com/golang/glog v1.2.1/go.mod h1:6AhwSGph0fcJtXVM/PEHPqZlFeoLxhs7/t5UDAwmO+w=
+github.com/golang/mock v1.6.0 h1:ErTB+efbowRARo13NNdxyJji2egdxLGQhRaY+DUumQc=
+github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
+github.com/golang/snappy v0.0.4 h1:yAGX7huGHXlcLOEtBnF4w7FQwA26wojNCwOYAEhLjQM=
+github.com/google/btree v1.0.1/go.mod h1:xXMiIv4Fb/0kKde4SpL7qlzvu5cMJDRkFDxJfI9uaxA=
+github.com/google/cel-go v0.17.7/go.mod h1:HXZKzB0LXqer5lHHgfWAnlYwJaQBDKMjxjulNQzhwhY=
+github.com/google/cel-go v0.17.8 h1:j9m730pMZt1Fc4oKhCLUHfjj6527LuhYcYw0Rl8gqto=
+github.com/google/cel-go v0.17.8/go.mod h1:HXZKzB0LXqer5lHHgfWAnlYwJaQBDKMjxjulNQzhwhY=
+github.com/google/flatbuffers v2.0.8+incompatible h1:ivUb1cGomAB101ZM1T0nOiWz9pSrTMoa9+EiY7igmkM=
github.com/google/go-pkcs11 v0.2.1-0.20230907215043-c6f79328ddf9/go.mod h1:6eQoGcuNJpa7jnd5pMGdkSaQpNDYvPlXWMcjXXThLlY=
-github.com/google/martian/v3 v3.1.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0=
-github.com/google/martian/v3 v3.3.2/go.mod h1:oBOf6HBosgwRXnUGWUB05QECsc6uvmMiJ3+6W4l/CUk=
-github.com/google/pprof v0.0.0-20201023163331-3e6fc7fc9c4c/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE=
-github.com/google/pprof v0.0.0-20201203190320-1bf35d6f28c2/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE=
-github.com/google/pprof v0.0.0-20201218002935-b9804c9f04c2/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE=
+github.com/google/gofuzz v1.1.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg=
+github.com/google/martian v2.1.0+incompatible h1:/CP5g8u/VJHijgedC/Legn3BAbAaWPgecwXBIDzw5no=
+github.com/google/martian/v3 v3.3.2 h1:IqNFLAmvJOgVlpdEBiQbDc2EwKW77amAycfTuWKdfvw=
github.com/google/pprof v0.0.0-20210407192527-94a9f03dee38/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE=
-github.com/google/s2a-go v0.1.4/go.mod h1:Ej+mSEMGRnqRzjc7VtF+jdBwYG5fuJfiZ8ELkjEwM0A=
+github.com/google/pprof v0.0.0-20210720184732-4bb14d4b1be1/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE=
+github.com/google/renameio v0.1.0 h1:GOZbcHa3HfsPKPlmyPyN2KEohoMXOhdMbHrvbpl2QaA=
+github.com/google/s2a-go v0.1.4 h1:1kZ/sQM3srePvKs3tXAvQzo66XfcReoqFpIpIccE7Oc=
github.com/google/s2a-go v0.1.7/go.mod h1:50CgR4k1jNlWBu4UfS4AcfhVe1r6pdZPygJ3R8F0Qdw=
github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
+github.com/google/uuid v1.3.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
github.com/google/uuid v1.5.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
-github.com/googleapis/enterprise-certificate-proxy v0.2.3/go.mod h1:AwSRAtLfXpU5Nm3pW+v7rGDHp09LsPtGY9MduiEsR9k=
+github.com/googleapis/enterprise-certificate-proxy v0.2.3 h1:yk9/cqRKtT9wXZSsRH9aurXEpJX+U6FLtpYTdC3R06k=
github.com/googleapis/enterprise-certificate-proxy v0.2.4/go.mod h1:AwSRAtLfXpU5Nm3pW+v7rGDHp09LsPtGY9MduiEsR9k=
github.com/googleapis/enterprise-certificate-proxy v0.3.2/go.mod h1:VLSiSSBs/ksPL8kq3OBOQ6WRI2QnaFynd1DCjZ62+V0=
-github.com/googleapis/gax-go/v2 v2.10.0/go.mod h1:4UOEnMCrxsSqQ940WnTiD6qJ63le2ev3xfyagutxiPw=
-github.com/googleapis/gax-go/v2 v2.11.0/go.mod h1:DxmR61SGKkGLa2xigwuZIQpkCI2S5iydzRfb3peWZJI=
+github.com/googleapis/gax-go/v2 v2.11.0 h1:9V9PWXEsWnPpQhu/PeQIkS4eGzMlTLGgt80cUUI8Ki4=
github.com/googleapis/gax-go/v2 v2.12.0/go.mod h1:y+aIqrI5eb1YGMVJfuV3185Ts/D7qKpsEkdD5+I6QGU=
-github.com/googleapis/google-cloud-go-testing v0.0.0-20200911160855-bcd43fbb19e8/go.mod h1:dvDLG8qkwmyD9a/MJJN3XJcT3xFxOKAvTZGvuZmac9g=
+github.com/googleapis/go-type-adapters v1.0.0 h1:9XdMn+d/G57qq1s8dNc5IesGCXHf6V2HZ2JwRxfA2tA=
+github.com/googleapis/google-cloud-go-testing v0.0.0-20200911160855-bcd43fbb19e8 h1:tlyzajkF3030q6M8SvmJSemC9DTHL/xaMa18b65+JM4=
+github.com/gorilla/websocket v1.4.2/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE=
+github.com/gorilla/websocket v1.5.0 h1:PPwGk2jz7EePpoHN/+ClbZu8SPxiqlu12wZP/3sWmnc=
+github.com/gorilla/websocket v1.5.0/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE=
+github.com/gregjones/httpcache v0.0.0-20180305231024-9cad4c3443a7/go.mod h1:FecbI9+v66THATjSRHfNgh1IVFe/9kFxbXtjV0ctIMA=
+github.com/grpc-ecosystem/go-grpc-middleware v1.3.0 h1:+9834+KizmvFV7pXQGSXQTsaWhq2GjuNUt0aUU0YBYw=
+github.com/grpc-ecosystem/go-grpc-middleware v1.3.0/go.mod h1:z0ButlSOZa5vEBq9m2m2hlwIgKw+rp3sdCBRoJY+30Y=
+github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0 h1:Ovs26xHkKqVztRpIrF/92BcuyuQ/YW4NSIpoGtfXNho=
+github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0/go.mod h1:8NvIoxWQoOIhqOTXgfV/d3M/q6VIi02HzZEHgUlZvzk=
+github.com/grpc-ecosystem/grpc-gateway v1.16.0 h1:gmcG1KaJ57LophUzW0Hy8NmPhnMZb4M0+kPpLofRdBo=
+github.com/grpc-ecosystem/grpc-gateway v1.16.0/go.mod h1:BDjrQk3hbvj6Nolgz8mAMFbcEtjT1g+wF4CSlocrBnw=
+github.com/grpc-ecosystem/grpc-gateway/v2 v2.16.0 h1:YBftPWNWd4WwGqtY2yeZL2ef8rHAxPBD8KFhJpmcqms=
+github.com/grpc-ecosystem/grpc-gateway/v2 v2.16.0/go.mod h1:YN5jB8ie0yfIUg6VvR9Kz84aCaG7AsGZnLjhHbUqwPg=
+github.com/hashicorp/golang-lru v0.5.1 h1:0hERBMJE1eitiLkihrMvRVBYAkpHzc/J3QdDN+dAcgU=
+github.com/hpcloud/tail v1.0.0 h1:nfCOvKYfkgYP8hkirhJocXT2+zOD8yUNjXaWfTlyFKI=
+github.com/iancoleman/strcase v0.2.0 h1:05I4QRnGpI0m37iZQRuskXh+w77mr6Z41lwQzuHLwW0=
github.com/iancoleman/strcase v0.3.0/go.mod h1:iwCmte+B7n89clKwxIoIXy/HfoL7AsD47ZCWhYzw7ho=
github.com/ianlancetaylor/demangle v0.0.0-20200824232613-28f6c0f3b639/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc=
github.com/ianlancetaylor/demangle v0.0.0-20230524184225-eabc099b10ab/go.mod h1:gx7rwoVhcfuVKG5uya9Hs3Sxj7EIvldVofAWIUtGouw=
+github.com/ianlancetaylor/demangle v0.0.0-20240312041847-bd984b5ce465 h1:KwWnWVWCNtNq/ewIX7HIKnELmEx2nDP42yskD/pi7QE=
+github.com/ianlancetaylor/demangle v0.0.0-20240312041847-bd984b5ce465/go.mod h1:gx7rwoVhcfuVKG5uya9Hs3Sxj7EIvldVofAWIUtGouw=
+github.com/imdario/mergo v0.3.6/go.mod h1:2EnlNZ0deacrJVfApfmtdGgDfMuh/nq6Ok1EcJh5FfA=
github.com/imdario/mergo v0.3.13 h1:lFzP57bqS/wsqKssCGmtLAb8A0wKjLGrve2q3PPVcBk=
+github.com/jessevdk/go-flags v1.4.0 h1:4IU2WS7AumrZ/40jfhf4QVDMsQwqA7VEHozFRrGARJA=
github.com/jessevdk/go-flags v1.4.0/go.mod h1:4FA24M0QyGHXBuZZK/XkWh8h0e1EYbRYJSGM75WSRxI=
-github.com/klauspost/asmfmt v1.3.2/go.mod h1:AG8TuvYojzulgDAMCnYn50l/5QV3Bs/tp6j0HLHbNSE=
-github.com/klauspost/compress v1.15.9/go.mod h1:PhcZ0MbTNciWF3rruxRgKxI5NkcHHrHUDtV4Yw2GlzU=
+github.com/jonboulle/clockwork v0.2.2 h1:UOGuzwb1PwsrDAObMuhUnj0p5ULPj8V/xJ7Kx9qUBdQ=
+github.com/jonboulle/clockwork v0.2.2/go.mod h1:Pkfl5aHPm1nk2H9h0bjmnJD/BcgbGXUBGnn1kMkgxc8=
+github.com/jpillora/backoff v1.0.0 h1:uvFg412JmmHBHw7iwprIxkPMI+sGQ4kzOWsMeHnm2EA=
+github.com/jpillora/backoff v1.0.0/go.mod h1:J/6gKK9jxlEcS3zixgDgUAsiuZ7yrSoa/FX5e0EB2j4=
+github.com/jstemmer/go-junit-report v0.9.1 h1:6QPYqodiu3GuPL+7mfx+NwDdp2eTkp9IfEUpgAwUN0o=
+github.com/julienschmidt/httprouter v1.3.0 h1:U0609e9tgbseu3rBINet9P48AI/D3oJs4dN7jwJOQ1U=
+github.com/julienschmidt/httprouter v1.3.0/go.mod h1:JR6WtHb+2LUe8TCKY3cZOxFyyO8IZAc4RVcycCCAKdM=
+github.com/jung-kurt/gofpdf v1.0.3-0.20190309125859-24315acbbda5 h1:PJr+ZMXIecYc1Ey2zucXdR73SMBtgjPgwa31099IMv0=
+github.com/kballard/go-shellquote v0.0.0-20180428030007-95032a82bc51 h1:Z9n2FFNUXsshfwJMBgNA0RU6/i7WVaAegv3PtuIHPMs=
+github.com/kisielk/errcheck v1.5.0 h1:e8esj/e4R+SAOwFwN+n3zr0nYeCyeweozKfO23MvHzY=
+github.com/kisielk/gotool v1.0.0 h1:AV2c/EiW3KqPNT9ZKl07ehoAGi4C5/01Cfbblndcapg=
+github.com/klauspost/asmfmt v1.3.2 h1:4Ri7ox3EwapiOjCki+hw14RyKk201CN4rzyCJRFLpK4=
+github.com/klauspost/compress v1.15.9 h1:wKRjX6JRtDdrE9qwa4b/Cip7ACOshUI4smpCQanqjSY=
github.com/klauspost/compress v1.16.7/go.mod h1:ntbaceVETuRiXiv4DpjP66DpAtAGkEQskQzEyD//IeE=
-github.com/klauspost/cpuid/v2 v2.0.9/go.mod h1:FInQzS24/EEf25PyTYn52gqo7WaD8xa0213Md/qVLRg=
+github.com/klauspost/cpuid/v2 v2.2.4 h1:acbojRNwl3o09bUq+yDCtZFc1aiwaAAxtcn8YkZXnvk=
+github.com/klauspost/cpuid/v2 v2.2.4/go.mod h1:RVVoqg1df56z8g3pUjL/3lE5UfnlrJX8tyFgg4nqhuY=
github.com/klauspost/cpuid/v2 v2.2.5/go.mod h1:Lcz8mBdAVJIBVzewtcLocK12l3Y+JytZYpaMropDUws=
-github.com/kr/fs v0.1.0/go.mod h1:FFnZGqtBN9Gxj7eW1uZ42v5BccTP0vu6NEaFoC2HwRg=
+github.com/konsorten/go-windows-terminal-sequences v1.0.3 h1:CE8S1cTafDpPvMhIxNJKvHsGVBgn1xWYf1NbHQhywc8=
+github.com/kr/fs v0.1.0 h1:Jskdu9ieNAYnjxsi0LbQp1ulIKZV1LAFgK1tWhpZgl8=
+github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515 h1:T+h1c/A9Gawja4Y9mFVWj2vyii2bbUNDw3kt9VxK2EY=
+github.com/kr/pty v1.1.1 h1:VkoXIwSboBpnk99O/KFauAEILuNHv5DVFKZMBN/gUgw=
+github.com/labstack/echo/v4 v4.10.2 h1:n1jAhnq/elIFTHr1EYpiYtyKgx4RW9ccVgkqByZaN2M=
+github.com/labstack/echo/v4 v4.10.2/go.mod h1:OEyqf2//K1DFdE57vw2DRgWY0M7s65IVQO2FzvI4J5k=
+github.com/labstack/gommon v0.4.0 h1:y7cvthEAEbU0yHOf4axH8ZG2NH8knB9iNSoTO8dyIk8=
+github.com/labstack/gommon v0.4.0/go.mod h1:uW6kP17uPlLJsD3ijUYn3/M5bAxtlZhMI6m3MFxTMTM=
+github.com/ledongthuc/pdf v0.0.0-20220302134840-0c2507a12d80 h1:6Yzfa6GP0rIo/kULo2bwGEkFvCePZ3qHDDTC3/J9Swo=
github.com/ledongthuc/pdf v0.0.0-20220302134840-0c2507a12d80/go.mod h1:imJHygn/1yfhB7XSJJKlFZKl/J+dCPAknuiaGOshXAs=
+github.com/leodido/go-urn v1.2.4 h1:XlAE/cm/ms7TE/VMVoduSpNBoyc2dOxHs5MZSwAN63Q=
+github.com/leodido/go-urn v1.2.4/go.mod h1:7ZrI8mTSeBSHl/UaRyKQW1qZeMgak41ANeCNaVckg+4=
+github.com/lyft/protoc-gen-star v0.6.1 h1:erE0rdztuaDq3bpGifD95wfoPrSZc95nGA6tbiNYh6M=
+github.com/lyft/protoc-gen-star/v2 v2.0.1 h1:keaAo8hRuAT0O3DfJ/wM3rufbAjGeJ1lAtWZHDjKGB0=
github.com/lyft/protoc-gen-star/v2 v2.0.3/go.mod h1:amey7yeodaJhXSbf/TlLvWiqQfLOSpEk//mLlc+axEk=
-github.com/mattn/go-isatty v0.0.19/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y=
-github.com/matttproud/golang_protobuf_extensions/v2 v2.0.0/go.mod h1:QUyp042oQthUoa9bqDv0ER0wrtXnBruoNd7aNjkbP+k=
-github.com/minio/asm2plan9s v0.0.0-20200509001527-cdd76441f9d8/go.mod h1:mC1jAcsrzbxHt8iiaC+zU4b1ylILSosueou12R++wfY=
-github.com/minio/c2goasm v0.0.0-20190812172519-36a3d3bbc4f3/go.mod h1:RagcQ7I8IeTMnF8JTXieKnO4Z6JCsikNEzj0DwauVzE=
+github.com/mattn/go-sqlite3 v1.14.14 h1:qZgc/Rwetq+MtyE18WhzjokPD93dNqLGNT3QJuLvBGw=
+github.com/matttproud/golang_protobuf_extensions v1.0.4 h1:mmDVorXM7PCGKw94cs5zkfA9PSy5pEvNWRP0ET0TIVo=
+github.com/matttproud/golang_protobuf_extensions v1.0.4/go.mod h1:BSXmuO+STAnVfrANrmjBb36TMTDstsz7MSK+HVaYKv4=
+github.com/matttproud/golang_protobuf_extensions/v2 v2.0.0 h1:jWpvCLoY8Z/e3VKvlsiIGKtc+UG6U5vzxaoagmhXfyg=
+github.com/minio/asm2plan9s v0.0.0-20200509001527-cdd76441f9d8 h1:AMFGa4R4MiIpspGNG7Z948v4n35fFGB3RR3G/ry4FWs=
+github.com/minio/c2goasm v0.0.0-20190812172519-36a3d3bbc4f3 h1:+n/aFZefKZp7spd8DFdX7uMikMLXX4oubIzJF4kv/wI=
+github.com/moby/spdystream v0.2.0 h1:cjW1zVyyoiM0T7b6UoySUFqzXMoqRckQtXwGPiBhOM8=
+github.com/moby/spdystream v0.2.0/go.mod h1:f7i0iNDQJ059oMTcWxx8MA/zKFIuD/lY+0GqbN2Wy8c=
+github.com/mrunalp/fileutils v0.5.1 h1:F+S7ZlNKnrwHfSwdlgNSkKo67ReVf8o9fel6C3dkm/Q=
+github.com/mrunalp/fileutils v0.5.1/go.mod h1:M1WthSahJixYnrXQl/DFQuteStB1weuxD2QJNHXfbSQ=
github.com/munnerz/goautoneg v0.0.0-20120707110453-a547fc61f48d/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ=
+github.com/mwitkow/go-conntrack v0.0.0-20190716064945-2f068394615f h1:KUppIJq7/+SVif2QVs3tOP0zanoHgBEVAwHxUSIzRqU=
+github.com/mwitkow/go-conntrack v0.0.0-20190716064945-2f068394615f/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U=
+github.com/mxk/go-flowrate v0.0.0-20140419014527-cca7078d478f h1:y5//uYreIhSUg3J1GEMiLbxo1LJaP8RfCpH6pymGZus=
+github.com/mxk/go-flowrate v0.0.0-20140419014527-cca7078d478f/go.mod h1:ZdcZmHo+o7JKHSa8/e818NopupXU1YMK5fe1lsApnBw=
+github.com/ncabatoff/fakescraper v0.0.0-20201102132415-4b37ba603d65 h1:Og+dVkxEQNvRGU2vUKeOwYT2UJ+pEaDMWB6tIQnIh6A=
+github.com/ncabatoff/fakescraper v0.0.0-20201102132415-4b37ba603d65/go.mod h1:Tx6UMSMyIsjLG/VU/F6xA1+0XI+/f9o1dGJnf1l+bPg=
+github.com/onsi/ginkgo/v2 v/go.mod h1:rlwLi9PilAFJ8jCg9UE1QP6VBpd6/xj3SRC0d6TU0To=
github.com/onsi/ginkgo/v2 v2.1.4/go.mod h1:um6tUpWM/cxCK3/FK8BXqEiUMUwRgSM4JXG47RKZmLU=
+github.com/onsi/ginkgo/v2 v2.15.0/go.mod h1:HlxMHtYF57y6Dpf+mc5529KKmSq9h2FpCF+/ZkwUxKM=
+github.com/onsi/ginkgo/v2 v2.17.2/go.mod h1:nP2DPOQoNsQmsVyv5rDA8JkXQoCs6goXIvr/PRJ1eCc=
+github.com/onsi/ginkgo/v2 v2.19.0/go.mod h1:rlwLi9PilAFJ8jCg9UE1QP6VBpd6/xj3SRC0d6TU0To=
github.com/onsi/gomega v1.19.0/go.mod h1:LY+I3pBVzYsTBU1AnDwOSxaYi9WoWiqgwooUqq9yPro=
+github.com/onsi/gomega v1.31.0/go.mod h1:DW9aCi7U6Yi40wNVAvT6kzFnEVEI5n3DloYBiKiT6zk=
+github.com/onsi/gomega v1.33.0/go.mod h1:+925n5YtiFsLzzafLUHzVMBpvvRAzrydIBiSIxjX3wY=
+github.com/onsi/gomega v1.33.1/go.mod h1:U4R44UsT+9eLIaYRB2a5qajjtQYn0hauxvRm16AVYg0=
+github.com/opencontainers/selinux v1.10.0 h1:rAiKF8hTcgLI3w0DHm6i0ylVVcOrlgR1kK99DRLDhyU=
github.com/opencontainers/selinux v1.10.0/go.mod h1:2i0OySw99QjzBBQByd1Gr9gSjvuho1lHsJxIJ3gGbJI=
+github.com/orisano/pixelmatch v0.0.0-20220722002657-fb0b55479cde h1:x0TT0RDC7UhAVbbWWBzr41ElhJx5tXPWkIHA2HWPRuw=
github.com/orisano/pixelmatch v0.0.0-20220722002657-fb0b55479cde/go.mod h1:nZgzbfBr3hhjoZnS66nKrHmduYNpc34ny7RK4z5/HM0=
-github.com/pierrec/lz4/v4 v4.1.15/go.mod h1:gZWDp/Ze/IJXGXf23ltt2EXimqmTUXEy0GFuRQyBid4=
-github.com/pkg/sftp v1.13.1/go.mod h1:3HaPG6Dq1ILlpPZRO0HVMrsydcdLt6HRDccSgb87qRg=
+github.com/pelletier/go-toml/v2 v2.0.8 h1:0ctb6s9mE31h0/lhu+J6OPmVeDxJn+kYnJc2jZR9tGQ=
+github.com/pelletier/go-toml/v2 v2.0.8/go.mod h1:vuYfssBdrU2XDZ9bYydBu6t+6a6PYNcZljzZR9VXg+4=
+github.com/phpdave11/gofpdf v1.4.2 h1:KPKiIbfwbvC/wOncwhrpRdXVj2CZTCFlw4wnoyjtHfQ=
+github.com/phpdave11/gofpdi v1.0.13 h1:o61duiW8M9sMlkVXWlvP92sZJtGKENvW3VExs6dZukQ=
+github.com/pierrec/lz4/v4 v4.1.15 h1:MO0/ucJhngq7299dKLwIMtgTfbkoSPF6AoMYDd8Q4q0=
+github.com/pkg/diff v0.0.0-20210226163009-20ebb0f2a09e h1:aoZm08cpOy4WuID//EZDgcC4zIxODThtZNPirFr42+A=
+github.com/pkg/diff v0.0.0-20210226163009-20ebb0f2a09e/go.mod h1:pJLUxLENpZxwdsKMEsNbx1VGcRFpLqf3715MtcvvzbA=
+github.com/pkg/sftp v1.13.1 h1:I2qBYMChEhIjOgazfJmV3/mZM256btk6wkCDRmW7JYs=
+github.com/pquerna/cachecontrol v0.1.0 h1:yJMy84ti9h/+OEWa752kBTKv4XC30OtVVHYv/8cTqKc=
github.com/pquerna/cachecontrol v0.1.0/go.mod h1:NrUG3Z7Rdu85UNR3vm7SOsl1nFIeSiQnrHV5K9mBcUI=
-github.com/prometheus/client_model v0.5.0/go.mod h1:dTiFglRmd66nLR9Pv9f0mZi7B7fk5Pm3gvsjB5tr+kI=
-github.com/prometheus/common v0.45.0/go.mod h1:YJmSTw9BoKxJplESWWxlbyttQR4uaEcGyv9MZjVOJsY=
+github.com/prometheus/exporter-toolkit v0.11.0 h1:yNTsuZ0aNCNFQ3aFTD2uhPOvr4iD7fdBvKPAEGkNf+g=
+github.com/prometheus/exporter-toolkit v0.11.0/go.mod h1:BVnENhnNecpwoTLiABx7mrPB/OLRIgN74qlQbV+FK1Q=
+github.com/remyoudompheng/bigfft v0.0.0-20200410134404-eec4a21b6bb0 h1:OdAsTTz6OkFY5QxjkYwrChwuRruF69c169dPK26NUlk=
+github.com/rogpeppe/fastuuid v1.2.0 h1:Ppwyp6VYCF1nvBTXL3trRso7mXMlRrw9ooo375wvi2s=
github.com/rogpeppe/go-internal v1.9.0/go.mod h1:WtVeX8xhTBvf0smdhujwtBcq4Qrzq/fJaraNFVN+nFs=
+github.com/rogpeppe/go-internal v1.10.0/go.mod h1:UQnix2H7Ngw/k4C5ijL5+65zddjncjaFoBhdsK/akog=
+github.com/russross/blackfriday/v2 v2.1.0 h1:JIOH55/0cWyOuilr9/qlrm0BSXldqnqwMsf35Ld67mk=
+github.com/ruudk/golang-pdf417 v0.0.0-20201230142125-a7e3863a1245 h1:K1Xf3bKttbF+koVGaX5xngRIZ5bVjbmPnaxE/dR08uY=
+github.com/seccomp/libseccomp-golang v0.9.2-0.20220502022130-f33da4d89646 h1:RpforrEYXWkmGwJHIGnLZ3tTWStkjVVstwzNGqxX2Ds=
github.com/seccomp/libseccomp-golang v0.9.2-0.20220502022130-f33da4d89646/go.mod h1:JA8cRccbGaA1s33RQf7Y1+q9gHmZX1yB/z9WDN1C6fg=
+github.com/shurcooL/sanitized_anchor_name v1.0.0 h1:PdmoCO6wvbs+7yrJyMORt4/BmY5IYyJwS/kOiWx8mHo=
+github.com/shurcooL/sanitized_anchor_name v1.0.0/go.mod h1:1NzhyTcUVG4SuEtjjoZeVRXNmyL/1OwPU0+IJeTBvfc=
+github.com/soheilhy/cmux v0.1.5 h1:jjzc5WVemNEDTLwv9tlmemhC73tI08BNOIGwBOo10Js=
+github.com/soheilhy/cmux v0.1.5/go.mod h1:T7TcVDs9LWfQgPlPsdngu6I6QIoyIFZDDC6sNE1GqG0=
+github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72 h1:qLC7fQah7D6K1B0ujays3HV9gkFtllcxhzImRR7ArPQ=
+github.com/spf13/afero v1.9.2 h1:j49Hj62F0n+DaZ1dDCvhABaPNSGNkt32oRFxI33IEMw=
github.com/spf13/afero v1.10.0/go.mod h1:UBogFpq8E9Hx+xc5CNTTEpTnuHVmXDwZcZcE1eb/UhQ=
+github.com/stoewer/go-strcase v1.2.0 h1:Z2iHWqGXH00XYgqDmNgQbIBxf3wrNq0F3feEy0ainaU=
+github.com/stoewer/go-strcase v1.2.0/go.mod h1:IBiWB2sKIp3wVVQ3Y035++gc+knqhUQag1KpM8ahLw8=
+github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw=
+github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo=
+github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
+github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
+github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU=
+github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4=
+github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo=
+github.com/syndtr/gocapability v0.0.0-20200815063812-42c35b437635 h1:kdXcSzyDtseVEc4yCz2qF8ZrQvIDBJLl4S1c3GCXmoI=
github.com/syndtr/gocapability v0.0.0-20200815063812-42c35b437635/go.mod h1:hkRG7XYTFWNJGYcbNJQlaLq0fg1yr4J4t/NcTQtrfww=
+github.com/tmc/grpc-websocket-proxy v0.0.0-20220101234140-673ab2c3ae75 h1:6fotK7otjonDflCTK0BCfls4SPy3NcCVb5dqqmbRknE=
github.com/tmc/grpc-websocket-proxy v0.0.0-20220101234140-673ab2c3ae75/go.mod h1:KO6IkyS8Y3j8OdNO85qEYBsRPuteD+YciPomcXdrMnk=
+github.com/twitchyliquid64/golang-asm v0.15.1 h1:SU5vSMR7hnwNxj24w34ZyCi/FmDZTkS4MhqMhdFk5YI=
+github.com/twitchyliquid64/golang-asm v0.15.1/go.mod h1:a1lVb/DtPvCB8fslRZhAngC2+aY1QWCk3Cedj/Gdt08=
+github.com/ugorji/go/codec v1.2.11 h1:BMaWp1Bb6fHwEtbplGBGJ498wD+LKlNSl25MjdZY4dU=
+github.com/ugorji/go/codec v1.2.11/go.mod h1:UNopzCgEMSXjBc6AOMqYvWC1ktqTAfzJZUZgYf6w6lg=
+github.com/urfave/cli v1.22.1 h1:+mkCCcOFKPnCmVYVcURKps1Xe+3zP90gSYGNfRkjoIY=
github.com/urfave/cli v1.22.1/go.mod h1:Gos4lmkARVdJ6EkW0WaNv/tZAAMe9V7XWyB60NtXRu0=
+github.com/valyala/bytebufferpool v1.0.0 h1:GqA5TC/0021Y/b9FG4Oi9Mr3q7XYx6KllzawFIhcdPw=
+github.com/valyala/bytebufferpool v1.0.0/go.mod h1:6bBcMArwyJ5K/AmCkWv1jt77kVWyCJ6HpOuEn7z0Csc=
+github.com/valyala/fasttemplate v1.2.2 h1:lxLXG0uE3Qnshl9QyaK6XJxMXlQZELvChBOCmQD0Loo=
+github.com/valyala/fasttemplate v1.2.2/go.mod h1:KHLXt3tVN2HBp8eijSv/kGJopbvo7S+qRAEEKiv+SiQ=
+github.com/vishvananda/netlink v1.1.0 h1:1iyaYNBLmP6L0220aDnYQpo1QEV4t4hJ+xEEhhJH8j0=
github.com/vishvananda/netlink v1.1.0/go.mod h1:cTgwzPIzzgDAYoQrMm0EdrjRUBkTqKYppBueQtXaqoE=
+github.com/vishvananda/netns v0.0.0-20191106174202-0a2b9b5464df h1:OviZH7qLw/7ZovXvuNyL3XQl8UFofeikI1NW1Gypu7k=
github.com/vishvananda/netns v0.0.0-20191106174202-0a2b9b5464df/go.mod h1:JP3t17pCcGlemwknint6hfoeCVQrEMVwxRLRjXpq+BU=
+github.com/x448/float16 v0.8.4 h1:qLwI1I70+NjRFUR3zs1JPUCgaCXSh3SW62uAKT1mSBM=
+github.com/x448/float16 v0.8.4/go.mod h1:14CWIYCyZA/cWjXOioeEpHeN/83MdbZDRQHoFcYsOfg=
+github.com/xhit/go-str2duration v1.2.0 h1:BcV5u025cITWxEQKGWr1URRzrcXtu7uk8+luz3Yuhwc=
+github.com/xhit/go-str2duration/v2 v2.1.0 h1:lxklc02Drh6ynqX+DdPyp5pCKLUQpRT8bp8Ydu2Bstc=
github.com/xhit/go-str2duration/v2 v2.1.0/go.mod h1:ohY8p+0f07DiV6Em5LKB0s2YpLtXVyJfNt1+BlmyAsU=
-github.com/zeebo/xxh3 v1.0.2/go.mod h1:5NWz9Sef7zIDm2JHfFlcQvNekmcEl9ekUZQQKCYaDcA=
-go.opencensus.io v0.22.5/go.mod h1:5pWMHQbX5EPX2/62yrJeAkowc+lfs/XD7Uxpq3pI6kk=
-go.opencensus.io v0.24.0/go.mod h1:vNK8G9p7aAivkbmorf4v+7Hgx+Zs0yY+0fOtgBfjQKo=
+github.com/xiang90/probing v0.0.0-20190116061207-43a291ad63a2 h1:eY9dn8+vbi4tKz5Qo6v2eYzo7kUS51QINcR5jNpbZS8=
+github.com/xiang90/probing v0.0.0-20190116061207-43a291ad63a2/go.mod h1:UETIi67q53MR2AWcXfiuqkDkRtnGDLqkBTpCHuJHxtU=
+github.com/yuin/goldmark v1.4.13 h1:fVcFKWvrslecOb/tg+Cc05dkeYx540o0FuFt3nUVDoE=
+github.com/zeebo/assert v1.3.0 h1:g7C04CbJuIDKNPFHmsk4hwZDO5O+kntRxzaUoNXj+IQ=
+github.com/zeebo/xxh3 v1.0.2 h1:xZmwmqxHZA8AI603jOQ0tMqmBr9lPeFwGg6d+xy9DC0=
+go.etcd.io/bbolt v1.3.8 h1:xs88BrvEv273UsB79e0hcVrlUWmS0a8upikMFhSyAtA=
+go.etcd.io/bbolt v1.3.8/go.mod h1:N9Mkw9X8x5fupy0IKsmuqVtoGDyxsaDlbk4Rd05IAQw=
+go.etcd.io/etcd/api/v3 v3.5.10 h1:szRajuUUbLyppkhs9K6BRtjY37l66XQQmw7oZRANE4k=
+go.etcd.io/etcd/api/v3 v3.5.10/go.mod h1:TidfmT4Uycad3NM/o25fG3J07odo4GBB9hoxaodFCtI=
+go.etcd.io/etcd/client/pkg/v3 v3.5.10 h1:kfYIdQftBnbAq8pUWFXfpuuxFSKzlmM5cSn76JByiT0=
+go.etcd.io/etcd/client/pkg/v3 v3.5.10/go.mod h1:DYivfIviIuQ8+/lCq4vcxuseg2P2XbHygkKwFo9fc8U=
+go.etcd.io/etcd/client/v2 v2.305.10 h1:MrmRktzv/XF8CvtQt+P6wLUlURaNpSDJHFZhe//2QE4=
+go.etcd.io/etcd/client/v2 v2.305.10/go.mod h1:m3CKZi69HzilhVqtPDcjhSGp+kA1OmbNn0qamH80xjA=
+go.etcd.io/etcd/client/v3 v3.5.10 h1:W9TXNZ+oB3MCd/8UjxHTWK5J9Nquw9fQBLJd5ne5/Ao=
+go.etcd.io/etcd/client/v3 v3.5.10/go.mod h1:RVeBnDz2PUEZqTpgqwAtUd8nAPf5kjyFyND7P1VkOKc=
+go.etcd.io/etcd/pkg/v3 v3.5.10 h1:WPR8K0e9kWl1gAhB5A7gEa5ZBTNkT9NdNWrR8Qpo1CM=
+go.etcd.io/etcd/pkg/v3 v3.5.10/go.mod h1:TKTuCKKcF1zxmfKWDkfz5qqYaE3JncKKZPFf8c1nFUs=
+go.etcd.io/etcd/raft/v3 v3.5.10 h1:cgNAYe7xrsrn/5kXMSaH8kM/Ky8mAdMqGOxyYwpP0LA=
+go.etcd.io/etcd/raft/v3 v3.5.10/go.mod h1:odD6kr8XQXTy9oQnyMPBOr0TVe+gT0neQhElQ6jbGRc=
+go.etcd.io/etcd/server/v3 v3.5.10 h1:4NOGyOwD5sUZ22PiWYKmfxqoeh72z6EhYjNosKGLmZg=
+go.etcd.io/etcd/server/v3 v3.5.10/go.mod h1:gBplPHfs6YI0L+RpGkTQO7buDbHv5HJGG/Bst0/zIPo=
+go.opencensus.io v0.24.0 h1:y73uSU6J157QMP2kn2r30vwW1A2W2WFwSCGnAVxeaD0=
+go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.42.0 h1:ZOLJc06r4CB42laIXg/7udr0pbZyuAihN10A/XuiQRY=
+go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.42.0/go.mod h1:5z+/ZWJQKXa9YT34fQNx5K8Hd1EoIhvtUygUQPqEOgQ=
go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.46.1/go.mod h1:4UoMYEZOC0yN/sPGH76KPkkU7zgiEWYWL9vwmbnTJPE=
go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.47.0/go.mod h1:r9vWsPS/3AQItv3OSlEJ/E4mbrhUbbw18meOjArPtKQ=
+go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.44.0 h1:KfYpVmrjI7JuToy5k8XV3nkapjWx48k4E4JOtVstzQI=
+go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.44.0/go.mod h1:SeQhzAEccGVZVEy7aH87Nh0km+utSpo1pTv6eMMop48=
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.46.1/go.mod h1:sEGXWArGqc3tVa+ekntsN65DmVbVeW+7lTKTjZF3/Fo=
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.47.0/go.mod h1:SK2UL73Zy1quvRPonmOmRDiWk1KBV3LyIeeIxcEApWw=
+go.opentelemetry.io/otel v1.19.0 h1:MuS/TNf4/j4IXsZuJegVzI1cwut7Qc00344rgH7p8bs=
+go.opentelemetry.io/otel v1.19.0/go.mod h1:i0QyjOq3UPoTzff0PJB2N66fb4S0+rSbSB15/oyH9fY=
go.opentelemetry.io/otel v1.21.0/go.mod h1:QZzNPQPm1zLX4gZK4cMi+71eaorMSGT3A4znnUvNNEo=
go.opentelemetry.io/otel v1.22.0/go.mod h1:eoV4iAi3Ea8LkAEI9+GFT44O6T/D0GWAVFyZVCC6pMI=
+go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.19.0 h1:Mne5On7VWdx7omSrSSZvM4Kw7cS7NQkOOmLcgscI51U=
+go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.19.0/go.mod h1:IPtUMKL4O3tH5y+iXVyAXqpAwMuzC1IrxVS81rummfE=
+go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.19.0 h1:3d+S281UTjM+AbF31XSOYn1qXn3BgIdWl8HNEpx08Jk=
+go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.19.0/go.mod h1:0+KuTDyKL4gjKCF75pHOX4wuzYDUZYfAQdSu43o+Z2I=
+go.opentelemetry.io/otel/metric v1.19.0 h1:aTzpGtV0ar9wlV4Sna9sdJyII5jTVJEvKETPiOKwvpE=
+go.opentelemetry.io/otel/metric v1.19.0/go.mod h1:L5rUsV9kM1IxCj1MmSdS+JQAcVm319EUrDVLrt7jqt8=
go.opentelemetry.io/otel/metric v1.21.0/go.mod h1:o1p3CA8nNHW8j5yuQLdc1eeqEaPfzug24uvsyIEJRWM=
go.opentelemetry.io/otel/metric v1.22.0/go.mod h1:evJGjVpZv0mQ5QBRJoBF64yMuOf4xCWdXjK8pzFvliY=
+go.opentelemetry.io/otel/sdk v1.19.0 h1:6USY6zH+L8uMH8L3t1enZPR3WFEmSTADlqldyHtJi3o=
+go.opentelemetry.io/otel/sdk v1.19.0/go.mod h1:NedEbbS4w3C6zElbLdPJKOpJQOrGUJ+GfzpjUvI0v1A=
go.opentelemetry.io/otel/sdk v1.21.0/go.mod h1:Nna6Yv7PWTdgJHVRD9hIYywQBRx7pbox6nwBnZIxl/E=
+go.opentelemetry.io/otel/trace v1.19.0 h1:DFVQmlVbfVeOuBRrwdtaehRrWiL1JoVs9CPIQ1Dzxpg=
+go.opentelemetry.io/otel/trace v1.19.0/go.mod h1:mfaSyvGyEJEI0nyV2I4qhNQnbBOUUmYZpYojqMnX2vo=
go.opentelemetry.io/otel/trace v1.21.0/go.mod h1:LGbsEB0f9LGjN+OZaQQ26sohbOmiMR+BaslueVtS/qQ=
go.opentelemetry.io/otel/trace v1.22.0/go.mod h1:RbbHXVqKES9QhzZq/fE5UnOSILqRt40a21sPw2He1xo=
+go.opentelemetry.io/proto/otlp v1.0.0 h1:T0TX0tmXU8a3CbNXzEKGeU5mIVOdf0oykP+u2lIVU/I=
+go.opentelemetry.io/proto/otlp v1.0.0/go.mod h1:Sy6pihPLfYHkr3NkUbEhGHFhINUSI/v80hjKIs5JXpM=
+go.uber.org/atomic v1.10.0 h1:9qC72Qh0+3MqyJbAn8YU5xVq1frD8bn3JtD2oXtafVQ=
+go.uber.org/atomic v1.10.0/go.mod h1:LUxbIzbOniOlMKjJjyPfpl4v+PKK2cNJn91OQbhoJI0=
go.uber.org/goleak v1.2.0/go.mod h1:XJYK+MuIchqpmGmUSAzotztawfKvYLUIgg7guXrwVUo=
go.uber.org/multierr v1.10.0/go.mod h1:20+QtiLqy0Nd6FdQB9TLXag12DsQkrbs3htMFfDN80Y=
-golang.org/x/crypto v0.0.0-20210421170649-83a5a9bb288b/go.mod h1:T9bdIzuCu7OtxOm1hfPfRQxPLYneinmdGuTeoZ9dtd4=
-golang.org/x/crypto v0.0.0-20220314234659-1baeb1ce4c0b/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4=
+golang.org/dl v0.0.0-20190829154251-82a15e2f2ead h1:jeP6FgaSLNTMP+Yri3qjlACywQLye+huGLmNGhBzm6k=
+golang.org/x/arch v0.3.0 h1:02VY4/ZcO/gBOH6PUaoiptASxtXU10jazRCP865E97k=
+golang.org/x/arch v0.3.0/go.mod h1:5om86z9Hs0C8fWVUuoMHwpExlXzs5Tkyp9hOrfG7pp8=
golang.org/x/crypto v0.0.0-20220722155217-630584e8d5aa/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4=
-golang.org/x/crypto v0.9.0/go.mod h1:yrmDGqONDYtNj3tH8X9dzUun2m2lzPa9ngI6/RUPGR0=
golang.org/x/crypto v0.12.0/go.mod h1:NF0Gs7EO5K4qLn+Ylc+fih8BSTeIjAP05siRnAh98yw=
-golang.org/x/crypto v0.13.0/go.mod h1:y6Z2r+Rw4iayiXXAIxJIDAJ1zMW4yaTpebo8fPOliYc=
-golang.org/x/crypto v0.14.0/go.mod h1:MVFd36DqK4CsrnJYDkBA3VC4m2GkXAM0PvzMCn4JQf4=
-golang.org/x/crypto v0.18.0/go.mod h1:R0j02AL6hcrfOiy9T4ZYp/rcWeMxM3L6QYxlOuEG1mg=
-golang.org/x/crypto v0.19.0/go.mod h1:Iy9bg/ha4yyC70EfRS8jz+B6ybOBKMaSxLj6P6oBDfU=
-golang.org/x/lint v0.0.0-20201208152925-83fdc39ff7b5/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY=
-golang.org/x/mod v0.4.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
-golang.org/x/mod v0.4.1/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
-golang.org/x/mod v0.7.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs=
-golang.org/x/mod v0.8.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs=
+golang.org/x/crypto v0.23.0/go.mod h1:CKFgDieR+mRhux2Lsu27y0fO304Db0wZe70UKqHu0v8=
+golang.org/x/crypto v0.24.0/go.mod h1:Z1PMYSOR5nyMcyAVAIQSKCDwalqy85Aqn1x3Ws4L5DM=
+golang.org/x/image v0.0.0-20220302094943-723b81ca9867 h1:TcHcE0vrmgzNH1v3ppjcMGbhG5+9fMuvOmUYwNEF4q4=
+golang.org/x/lint v0.0.0-20210508222113-6edffad5e616 h1:VLliZ0d+/avPrXXH+OakdXhpJuEoBZuwh1m2j7U6Iug=
+golang.org/x/mobile v0.0.0-20190719004257-d2bd2a29d028 h1:4+4C/Iv2U4fMZBiMCc98MG1In4gJY5YRhtpDNeDeHWs=
golang.org/x/mod v0.9.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs=
golang.org/x/mod v0.12.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs=
-golang.org/x/net v0.0.0-20201031054903-ff519b6c9102/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU=
-golang.org/x/net v0.0.0-20201110031124-69a78807bb2b/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU=
-golang.org/x/net v0.0.0-20201209123823-ac852fbbde11/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg=
-golang.org/x/net v0.0.0-20201224014010-6772e930b67b/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg=
-golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
-golang.org/x/net v0.7.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs=
-golang.org/x/net v0.10.0/go.mod h1:0qNGK6F8kojg2nk9dLZ2mShWaEBan6FAoqfSigmmuDg=
+golang.org/x/mod v0.14.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c=
+golang.org/x/net v0.0.0-20190603091049-60506f45cf65/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks=
golang.org/x/net v0.14.0/go.mod h1:PpSgVXXLK0OxS0F31C1/tv6XNguvCrnXIDrFMspZIUI=
golang.org/x/net v0.16.0/go.mod h1:NxSsAGuq816PNPmqtQdLE42eU2Fs7NoRIZrHJAlaCOE=
-golang.org/x/net v0.17.0/go.mod h1:NxSsAGuq816PNPmqtQdLE42eU2Fs7NoRIZrHJAlaCOE=
golang.org/x/net v0.18.0/go.mod h1:/czyP5RqHAH4odGYxBJ1qz0+CE5WZ+2j1YgoEo8F2jQ=
-golang.org/x/net v0.20.0/go.mod h1:z8BVo6PvndSri0LbOE3hAn0apkU+1YvI6E70E9jsnvY=
-golang.org/x/oauth2 v0.0.0-20200902213428-5d25da1a8d43/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A=
-golang.org/x/oauth2 v0.0.0-20201109201403-9fd604954f58/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A=
-golang.org/x/oauth2 v0.0.0-20201208152858-08078c50e5b5/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A=
-golang.org/x/oauth2 v0.0.0-20210218202405-ba52d332ba99/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A=
-golang.org/x/oauth2 v0.8.0/go.mod h1:yr7u4HXZRm1R1kBWqr/xKNqewf0plRYoB7sla+BCIXE=
+golang.org/x/net v0.21.0/go.mod h1:bIjVDfnllIU7BJ2DNgfnXvpSvtn8VRwhlsaeUTyUS44=
+golang.org/x/net v0.23.0/go.mod h1:JKghWKKOSdJwpW2GEx0Ja7fmaKnMsbu+MWVZTokSYmg=
+golang.org/x/net v0.24.0/go.mod h1:2Q7sJY5mzlzWjKtYUEXSlBWCdyaioyXzRB2RtU8KVE8=
+golang.org/x/oauth2 v0.10.0/go.mod h1:kTpgurOux7LqtuxjuyZa4Gj2gdezIt/jQtGnNFfypQI=
golang.org/x/oauth2 v0.11.0/go.mod h1:LdF7O/8bLR/qWK9DrpXmbHLTouvRHK0SgJl0GmDBchk=
-golang.org/x/oauth2 v0.12.0/go.mod h1:A74bZ3aGXgCY0qaIC9Ahg6Lglin4AMAco8cIv9baba4=
golang.org/x/oauth2 v0.13.0/go.mod h1:/JMhi4ZRXAf4HG9LiNmxvk+45+96RUlVThiH8FzNBn0=
golang.org/x/oauth2 v0.14.0/go.mod h1:lAtNWgaWfL4cm7j2OV8TxGi9Qb7ECORx8DktCY74OwM=
golang.org/x/oauth2 v0.15.0/go.mod h1:q48ptWNTY5XWf+JNten23lcvHpLJ0ZSxF5ttTHKVCAM=
-golang.org/x/oauth2 v0.16.0/go.mod h1:hqZ+0LWXsiVoZpeld6jVt06P3adbS2Uu911W1SsJv2o=
-golang.org/x/sync v0.2.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
-golang.org/x/sync v0.3.0/go.mod h1:FU7BRWz2tNW+3quACPkgCx/L+uEAv1htQ0V83Z9Rj+Y=
+golang.org/x/oauth2 v0.17.0/go.mod h1:OzPDGQiuQMguemayvdylqddI7qcD9lnSDb+1FiwQ5HA=
golang.org/x/sync v0.4.0/go.mod h1:FU7BRWz2tNW+3quACPkgCx/L+uEAv1htQ0V83Z9Rj+Y=
-golang.org/x/sync v0.5.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk=
-golang.org/x/sys v0.0.0-20200905004654-be1d3432aa8f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20201201145000-ef89a241ccb3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20210104204734-6f8348627aad/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20210119212857-b64e53b001e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20210225134936-a50acf3fe073/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20210423185535-09eb48e85fd7/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20191204072324-ce4227a45e2e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20220310020820-b874c991c1a5/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
-golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
-golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
-golang.org/x/sys v0.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
-golang.org/x/sys v0.11.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
-golang.org/x/sys v0.12.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
-golang.org/x/sys v0.13.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.14.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
-golang.org/x/sys v0.16.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
+golang.org/x/sys v0.19.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
+golang.org/x/sys v0.20.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
golang.org/x/telemetry v0.0.0-20240208230135-b75ee8823808/go.mod h1:KG1lNk5ZFNssSZLrpVb4sMXKMpGwGXOxSG3rnu2gZQQ=
-golang.org/x/term v0.16.0/go.mod h1:yn7UURbUtPyrVJPGPq404EukNFxcm/foM+bV/bfcDsY=
-golang.org/x/text v0.3.4/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
-golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8=
-golang.org/x/text v0.9.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8=
+golang.org/x/telemetry v0.0.0-20240228155512-f48c80bd79b2 h1:IRJeR9r1pYWsHKTRe/IInb7lYvbBVIqOgsX/u0mbOWY=
+golang.org/x/telemetry v0.0.0-20240228155512-f48c80bd79b2/go.mod h1:TeRTkGYfJXctD9OcfyVLyj2J3IxLnKwHJR8f4D8a3YE=
+golang.org/x/term v0.18.0/go.mod h1:ILwASektA3OnRv7amZ1xhE/KTR+u50pbXfZ03+6Nx58=
+golang.org/x/term v0.21.0/go.mod h1:ooXLefLobQVslOqselCNF4SxFAaoS6KujMbsGzSDmX0=
+golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk=
golang.org/x/text v0.12.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE=
-golang.org/x/text v0.13.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE=
-golang.org/x/tools v0.0.0-20200904185747-39188db58858/go.mod h1:Cj7w3i3Rnn0Xh82ur9kSqwfTHTeVxaDqrfMjpcNT6bE=
-golang.org/x/tools v0.0.0-20201110124207-079ba7bd75cd/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA=
-golang.org/x/tools v0.0.0-20201201161351-ac6f37ff4c2a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA=
-golang.org/x/tools v0.0.0-20201208233053-a543418bbed2/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA=
-golang.org/x/tools v0.0.0-20210105154028-b0ab187a4818/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA=
-golang.org/x/tools v0.0.0-20210108195828-e2f9c7f1fc8e/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA=
-golang.org/x/tools v0.1.0/go.mod h1:xkSsbof2nBLbhDlRMhhhyNLN/zl3eTqcnHD5viDpcZ0=
+golang.org/x/time v0.3.0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
golang.org/x/tools v0.4.0/go.mod h1:UE5sM2OK9E/d67R0ANs2xJizIymRP5gJU295PvKXxjQ=
-golang.org/x/tools v0.6.0/go.mod h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU=
golang.org/x/tools v0.12.0/go.mod h1:Sc0INKfu04TlqNoRA1hgpFZbhYXHPr4V5DzpSBTPqQM=
golang.org/x/tools v0.13.0/go.mod h1:HvlwmtVNQAhOuCjW7xxvovg8wbNq7LwfXh/k7wXUl58=
+golang.org/x/tools v0.16.1/go.mod h1:kYVVN6I1mBNoB1OX+noeBjbRk4IUEPa7JJ+TJMEooJ0=
+golang.org/x/tools v0.18.0/go.mod h1:GL7B4CwcLLeo59yx/9UWWuNOW1n3VZ4f5axWfML7Lcg=
+golang.org/x/tools v0.20.0/go.mod h1:WvitBU7JJf6A4jOdg4S1tviW9bhUxkgeCui/0JHctQg=
+golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2 h1:H2TDz8ibqkAF6YGhCdN3jS9O0/s90v0rJh3X/OLHEUk=
golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2/go.mod h1:K8+ghG5WaK9qNqU5K3HdILfMLy1f3aNYFI/wnl100a8=
golang.org/x/xerrors v0.0.0-20231012003039-104605ab7028/go.mod h1:NDW/Ps6MPRej6fsCIbMTohpP40sJ/P/vI1MoTEGwX90=
-google.golang.org/api v0.35.0/go.mod h1:/XrVsuzM0rZmrsbjJutiuftIzeuTQcEeaYcSk/mQ1dg=
-google.golang.org/api v0.36.0/go.mod h1:+z5ficQTmoYpPn8LCUNVpK5I7hwkpjbcgqA7I34qYtE=
-google.golang.org/api v0.40.0/go.mod h1:fYKFpnQN0DsDSKRVRcQSDQNtqWPfM9i+zNPxepjRCQ8=
-google.golang.org/api v0.126.0/go.mod h1:mBwVAtz+87bEN6CbA1GtZPDOqY2R5ONPqJeIlvyo4Aw=
+gonum.org/v1/gonum v0.11.0 h1:f1IJhK4Km5tBJmaiJXtk/PkL4cdVX6J+tGiM187uT5E=
+gonum.org/v1/netlib v0.0.0-20190313105609-8cb42192e0e0 h1:OE9mWmgKkjJyEmDAAtGMPjXu+YNeGvK9VTSHY6+Qihc=
+gonum.org/v1/plot v0.10.1 h1:dnifSs43YJuNMDzB7v8wV64O4ABBHReuAVAoBxqBqS4=
+google.golang.org/api v0.126.0 h1:q4GJq+cAdMAC7XP7njvQ4tvohGLiSlytuL4BQxbIZ+o=
google.golang.org/api v0.128.0/go.mod h1:Y611qgqaE92On/7g65MQgxYul3c0rEB894kniWLY750=
google.golang.org/api v0.149.0/go.mod h1:Mwn1B7JTXrzXtnvmzQE2BD6bYZQ8DShKZDZbeN9I7qI=
google.golang.org/api v0.155.0/go.mod h1:GI5qK5f40kCpHfPn6+YzGAByIKWv8ujFnmoWm7Igduk=
google.golang.org/api v0.162.0/go.mod h1:6SulDkfoBIg4NFmCuZ39XeeAgSHCPecfSUuDyYlAHs0=
-google.golang.org/genproto v0.0.0-20200904004341-0bd0a958aa1d/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
-google.golang.org/genproto v0.0.0-20201109203340-2640f1f9cdfb/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
-google.golang.org/genproto v0.0.0-20201201144952-b05cb90ed32e/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
-google.golang.org/genproto v0.0.0-20201210142538-e3217bee35cc/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
-google.golang.org/genproto v0.0.0-20201214200347-8c77b98c765d/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
-google.golang.org/genproto v0.0.0-20210108203827-ffc7fda8c3d7/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
-google.golang.org/genproto v0.0.0-20210226172003-ab064af71705/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
-google.golang.org/genproto v0.0.0-20230530153820-e85fd2cbaebc/go.mod h1:xZnkP7mREFX5MORlOPEzLMr+90PPZQ2QWzrVTWfAq64=
+google.golang.org/appengine v1.6.7/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc=
google.golang.org/genproto v0.0.0-20230822172742-b8732ec3820d/go.mod h1:yZTlhN0tQnXo3h00fuXNCxJdLdIdnVFVBaRJ5LWBbw4=
google.golang.org/genproto v0.0.0-20230920204549-e6e6cdab5c13/go.mod h1:CCviP9RmpZ1mxVr8MUjCnSiY09IbAXZxhLE6EhHIdPU=
google.golang.org/genproto v0.0.0-20231002182017-d307bd883b97 h1:SeZZZx0cP0fqUyA+oRzP9k7cSwJlvDFiROO72uwD6i0=
@@ -684,7 +1005,8 @@ google.golang.org/genproto v0.0.0-20240123012728-ef4313101c80/go.mod h1:cc8bqMqt
google.golang.org/genproto v0.0.0-20240125205218-1f4bbc51befe/go.mod h1:cc8bqMqtv9gMOr0zHg2Vzff5ULhhL2IXP4sbcn32Dro=
google.golang.org/genproto v0.0.0-20240213162025-012b6fc9bca9 h1:9+tzLLstTlPTRyJTh+ah5wIMsBW5c4tQwGTN3thOW9Y=
google.golang.org/genproto v0.0.0-20240213162025-012b6fc9bca9/go.mod h1:mqHbVIp48Muh7Ywss/AD6I5kNVKZMmAa/QEW58Gxp2s=
-google.golang.org/genproto/googleapis/api v0.0.0-20230530153820-e85fd2cbaebc/go.mod h1:vHYtlOoi6TsQ3Uk2yxR7NI5z8uoV+3pZtR4jmHIkRig=
+google.golang.org/genproto v0.0.0-20240227224415-6ceb2ff114de h1:F6qOa9AZTYJXOUEr4jDysRDLrm4PHePlge4v4TGAlxY=
+google.golang.org/genproto v0.0.0-20240227224415-6ceb2ff114de/go.mod h1:VUhTRKeHn9wwcdrk73nvdC9gF178Tzhmt/qyaFcPLSo=
google.golang.org/genproto/googleapis/api v0.0.0-20230822172742-b8732ec3820d/go.mod h1:KjSP20unUpOx5kyQUFa7k4OJg0qeJ7DEZflGDu2p6Bk=
google.golang.org/genproto/googleapis/api v0.0.0-20230920204549-e6e6cdab5c13/go.mod h1:RdyHbowztCGQySiCvQPgWQWgWhGnouTdCflKoDBt32U=
google.golang.org/genproto/googleapis/api v0.0.0-20231002182017-d307bd883b97/go.mod h1:iargEX0SFPm3xcfMI0d1domjg0ZF4Aa0p2awqyxhvF0=
@@ -696,10 +1018,14 @@ google.golang.org/genproto/googleapis/api v0.0.0-20240102182953-50ed04b92917/go.
google.golang.org/genproto/googleapis/api v0.0.0-20240116215550-a9fa1716bcac/go.mod h1:B5xPO//w8qmBDjGReYLpR6UJPnkldGkCSMoH/2vxJeg=
google.golang.org/genproto/googleapis/api v0.0.0-20240123012728-ef4313101c80/go.mod h1:4jWUdICTdgc3Ibxmr8nAJiiLHwQBY0UI0XZcEMaFKaA=
google.golang.org/genproto/googleapis/api v0.0.0-20240205150955-31a09d347014/go.mod h1:rbHMSEDyoYX62nRVLOCc4Qt1HbsdytAYoVwgjiOhF3I=
-google.golang.org/genproto/googleapis/bytestream v0.0.0-20230530153820-e85fd2cbaebc/go.mod h1:ylj+BE99M198VPbBh6A8d9n3w8fChvyLK3wwBOjXBFA=
+google.golang.org/genproto/googleapis/api v0.0.0-20240213162025-012b6fc9bca9/go.mod h1:PVreiBMirk8ypES6aw9d4p6iiBNSIfZEBqr3UGoAi2E=
+google.golang.org/genproto/googleapis/api v0.0.0-20240227224415-6ceb2ff114de h1:jFNzHPIeuzhdRwVhbZdiym9q0ory/xY3sA+v2wPg8I0=
+google.golang.org/genproto/googleapis/api v0.0.0-20240227224415-6ceb2ff114de/go.mod h1:5iCWqnniDlqZHrd3neWVTOwvh/v6s3232omMecelax8=
+google.golang.org/genproto/googleapis/api v0.0.0-20240318140521-94a12d6c2237/go.mod h1:Z5Iiy3jtmioajWHDGFk7CeugTyHtPvMHA4UTmUkyalE=
+google.golang.org/genproto/googleapis/api v0.0.0-20240528184218-531527333157/go.mod h1:99sLkeliLXfdj2J75X3Ho+rrVCaJze0uwN7zDDkjPVU=
+google.golang.org/genproto/googleapis/bytestream v0.0.0-20230530153820-e85fd2cbaebc h1:g3hIDl0jRNd9PPTs2uBzYuaD5mQuwOkZY0vSc0LR32o=
google.golang.org/genproto/googleapis/bytestream v0.0.0-20231030173426-d783a09b4405/go.mod h1:GRUCuLdzVqZte8+Dl/D4N25yLzcGqqWaYkeVOwulFqw=
google.golang.org/genproto/googleapis/bytestream v0.0.0-20231212172506-995d672761c0/go.mod h1:guYXGPwC6jwxgWKW5Y405fKWOFNwlvUlUnzyp9i0uqo=
-google.golang.org/genproto/googleapis/rpc v0.0.0-20230530153820-e85fd2cbaebc/go.mod h1:66JfowdXAEgad5O9NnYcsNPLCPZJD++2L9X0PCMODrA=
google.golang.org/genproto/googleapis/rpc v0.0.0-20230920204549-e6e6cdab5c13/go.mod h1:KSqppvjFjtoCI+KGd4PELB0qLNxdJHRGqRI09mB6pQA=
google.golang.org/genproto/googleapis/rpc v0.0.0-20231002182017-d307bd883b97/go.mod h1:v7nGkzlmW8P3n/bKmWBn2WpBjpOEx8Q6gMueudAmKfY=
google.golang.org/genproto/googleapis/rpc v0.0.0-20231016165738-49dd2c1f3d0b/go.mod h1:swOH3j0KzcDDgGUWr+SNpyTen5YrXjS3eyPzFYKc6lc=
@@ -710,25 +1036,58 @@ google.golang.org/genproto/googleapis/rpc v0.0.0-20240116215550-a9fa1716bcac/go.
google.golang.org/genproto/googleapis/rpc v0.0.0-20240123012728-ef4313101c80/go.mod h1:PAREbraiVEVGVdTZsVWjSbbTtSyGbAgIIvni8a8CD5s=
google.golang.org/genproto/googleapis/rpc v0.0.0-20240125205218-1f4bbc51befe/go.mod h1:PAREbraiVEVGVdTZsVWjSbbTtSyGbAgIIvni8a8CD5s=
google.golang.org/genproto/googleapis/rpc v0.0.0-20240205150955-31a09d347014/go.mod h1:SaPjaZGWb0lPqs6Ittu0spdfrOArqji4ZdeP5IC/9N4=
-google.golang.org/grpc v1.31.1/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak=
-google.golang.org/grpc v1.33.2/go.mod h1:JMHMWHQWaTccqQQlmk3MJZS+GWXOdAesneDmEnv2fbc=
-google.golang.org/grpc v1.34.0/go.mod h1:WotjhfgOW/POjDeRt8vscBtXq+2VjORFy659qA51WJ8=
-google.golang.org/grpc v1.35.0/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU=
-google.golang.org/grpc v1.45.0/go.mod h1:lN7owxKUQEqMfSyQikvvk5tf/6zMPsrK+ONuO11+0rQ=
-google.golang.org/grpc v1.55.0/go.mod h1:iYEXKGkEBhg1PjZQvoYEVPTDkHo1/bjTnfwTeGONTY8=
+google.golang.org/genproto/googleapis/rpc v0.0.0-20240213162025-012b6fc9bca9/go.mod h1:YUWgXUFRPfoYK1IHMuxH5K6nPEXSCzIMljnQ59lLRCk=
google.golang.org/grpc v1.56.1/go.mod h1:I9bI3vqKfayGqPUAwGdOSu7kt6oIJLixfffKrpXqQ9s=
google.golang.org/grpc v1.57.0/go.mod h1:Sd+9RMTACXwmub0zcNY2c4arhtrbBYD1AUHI/dt16Mo=
google.golang.org/grpc v1.59.0/go.mod h1:aUPDwccQo6OTjy7Hct4AfBPD1GptF4fyUjIkQ9YtF98=
google.golang.org/grpc v1.60.1/go.mod h1:OlCHIeLYqSSsLi6i49B5QGdzaMZK9+M7LXN2FKz4eGM=
google.golang.org/grpc v1.61.0/go.mod h1:VUbo7IFqmF1QtCAstipjG0GIoq49KvMe9+h1jFLBNJs=
-google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.1.0/go.mod h1:6Kw0yEErY5E/yWrBtf03jp27GLLJujG4z/JK95pnjjw=
-google.golang.org/protobuf v1.27.1/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc=
-google.golang.org/protobuf v1.28.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I=
-google.golang.org/protobuf v1.30.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I=
+google.golang.org/grpc v1.61.1/go.mod h1:VUbo7IFqmF1QtCAstipjG0GIoq49KvMe9+h1jFLBNJs=
+google.golang.org/grpc v1.62.1/go.mod h1:IWTG0VlJLCh1SkC58F7np9ka9mx/WNkjl4PGJaiq+QE=
+google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.1.0 h1:M1YKkFIboKNieVO5DLUEVzQfGwJD30Nv2jfUgzb5UcE=
+gopkg.in/alecthomas/kingpin.v2 v2.2.6 h1:jMFz6MfLP0/4fUyZle81rXUoxOBFi19VUFKVDOQfozc=
+gopkg.in/errgo.v2 v2.1.0 h1:0vLT13EuvQ0hNvakwLuFZ/jYrLp5F3kcWHXdRggjCE8=
gopkg.in/evanphx/json-patch.v5 v5.6.0 h1:BMT6KIwBD9CaU91PJCZIe46bDmBWa9ynTQgJIOpfQBk=
gopkg.in/evanphx/json-patch.v5 v5.6.0/go.mod h1:/kvTRh1TVm5wuM6OkHxqXtE/1nUZZpihg29RtuIyfvk=
+gopkg.in/fsnotify.v1 v1.4.7 h1:xOHLXZwVvI9hhs+cLKq5+I5onOuwQLhQwiu63xxlHs4=
+gopkg.in/natefinch/lumberjack.v2 v2.2.1 h1:bBRl1b0OH9s/DuPhuXpNl+VtCaJXFZ5/uEFST95x9zc=
+gopkg.in/natefinch/lumberjack.v2 v2.2.1/go.mod h1:YD8tP3GAjkrDg1eZH7EGmyESg/lsYskCTPBJVb9jqSc=
+gopkg.in/square/go-jose.v2 v2.6.0 h1:NGk74WTnPKBNUhNzQX7PYcTLUjoq7mzKk2OKbvwk2iI=
gopkg.in/square/go-jose.v2 v2.6.0/go.mod h1:M9dMgbHiYLoDGQrXy7OpJDJWiKiU//h+vD76mk0e1AI=
+honnef.co/go/tools v0.1.3 h1:qTakTkI6ni6LFD5sBwwsdSO+AQqbSIxOauHTTQKZ/7o=
+k8s.io/gengo v0.0.0-20230829151522-9cce18d56c01 h1:pWEwq4Asjm4vjW7vcsmijwBhOr1/shsbSYiWXmNGlks=
k8s.io/gengo v0.0.0-20230829151522-9cce18d56c01/go.mod h1:FiNAH4ZV3gBg2Kwh89tzAEV2be7d5xI0vBa/VySYy3E=
+k8s.io/gengo/v2 v2.0.0-20240228010128-51d4e06bde70/go.mod h1:VH3AT8AaQOqiGjMF9p0/IM1Dj+82ZwjfxUP1IxaHE+8=
+k8s.io/klog/v2 v2.2.0/go.mod h1:Od+F08eJP+W3HUb4pSrPpgp9DGU4GzlpG/TmITuYh/Y=
k8s.io/klog/v2 v2.80.1/go.mod h1:y1WjHnz7Dj687irZUWR/WLkLc5N1YHtjLdmgWjndZn0=
+k8s.io/kms v0.29.3/go.mod h1:TBGbJKpRUMk59neTMDMddjIDL+D4HuFUbpuiuzmOPg0=
+k8s.io/kms v0.30.0 h1:ZlnD/ei5lpvUlPw6eLfVvH7d8i9qZ6HwUQgydNVks8g=
+k8s.io/kms v0.30.0/go.mod h1:GrMurD0qk3G4yNgGcsCEmepqf9KyyIrTXYR2lyUOJC4=
+k8s.io/kms v0.30.1/go.mod h1:GrMurD0qk3G4yNgGcsCEmepqf9KyyIrTXYR2lyUOJC4=
+k8s.io/kube-openapi v0.0.0-20240228011516-70dd3763d340/go.mod h1:yD4MZYeKMBwQKVht279WycxKyM84kkAx2DPrTXaeb98=
k8s.io/utils v0.0.0-20210802155522-efc7438f0176/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA=
+k8s.io/utils v0.0.0-20230726121419-3b25d923346b/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0=
+lukechampine.com/uint128 v1.2.0 h1:mBi/5l91vocEN8otkC5bDLhi2KdCticRiwbdB0O+rjI=
+modernc.org/cc/v3 v3.36.3 h1:uISP3F66UlixxWEcKuIWERa4TwrZENHSL8tWxZz8bHg=
+modernc.org/ccgo/v3 v3.16.9 h1:AXquSwg7GuMk11pIdw7fmO1Y/ybgazVkMhsZWCV0mHM=
+modernc.org/ccorpus v1.11.6 h1:J16RXiiqiCgua6+ZvQot4yUuUy8zxgqbqEEUuGPlISk=
+modernc.org/httpfs v1.0.6 h1:AAgIpFZRXuYnkjftxTAZwMIiwEqAfk8aVB2/oA6nAeM=
+modernc.org/libc v1.17.1 h1:Q8/Cpi36V/QBfuQaFVeisEBs3WqoGAJprZzmf7TfEYI=
+modernc.org/mathutil v1.5.0 h1:rV0Ko/6SfM+8G+yKiyI830l3Wuz1zRutdslNoQ0kfiQ=
+modernc.org/memory v1.2.1 h1:dkRh86wgmq/bJu2cAS2oqBCz/KsMZU7TUM4CibQ7eBs=
+modernc.org/opt v0.1.3 h1:3XOZf2yznlhC+ibLltsDGzABUGVx8J6pnFMS3E4dcq4=
+modernc.org/sqlite v1.18.1 h1:ko32eKt3jf7eqIkCgPAeHMBXw3riNSLhl2f3loEF7o8=
+modernc.org/strutil v1.1.3 h1:fNMm+oJklMGYfU9Ylcywl0CO5O6nTfaowNsh2wpPjzY=
+modernc.org/tcl v1.13.1 h1:npxzTwFTZYM8ghWicVIX1cRWzj7Nd8i6AqqX2p+IYao=
+modernc.org/token v1.0.0 h1:a0jaWiNMDhDUtqOj09wvjWWAqd3q7WpBulmL9H2egsk=
+modernc.org/z v1.5.1 h1:RTNHdsrOpeoSeOF4FbzTo8gBYByaJ5xT7NgZ9ZqRiJM=
+rsc.io/binaryregexp v0.2.0 h1:HfqmD5MEmC0zvwBuF187nq9mdnXjXsSivRiXN7SmRkE=
+rsc.io/pdf v0.1.1 h1:k1MczvYDUvJBe93bYd7wrZLLUEcLZAuF824/I4e5Xr4=
+rsc.io/quote/v3 v3.1.0 h1:9JKUTTIUgS6kzR9mK1YuGKv6Nl+DijDNIc0ghT58FaY=
+rsc.io/sampler v1.3.0 h1:7uVkIFmeBqHfdjD+gZwtXXI+RODJ2Wc4O7MPEh/QiW4=
+sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.28.0/go.mod h1:VHVDI/KrK4fjnV61bE2g3sA7tiETLn8sooImelsCx3Y=
+sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.29.0 h1:/U5vjBbQn3RChhv7P11uhYvCSm5G2GaIi5AIGBS6r4c=
+sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.29.0/go.mod h1:z7+wmGM2dfIiLRfrC6jb5kV2Mq/sK1ZP303cxzkV5Y4=
sigs.k8s.io/structured-merge-diff/v4 v4.2.3/go.mod h1:qjx8mGObPmV2aSZepjQjbmb2ihdVs8cGKBraizNC69E=
+sigs.k8s.io/yaml v1.2.0/go.mod h1:yfXDCHCao9+ENCvLSE62v9VSji2MKu5jeNfTrofGhJc=
+sigs.k8s.io/yaml v1.3.0/go.mod h1:GeOyir5tyXNByN85N/dRIT9es5UQNerPYEKK56eTBm8=
diff --git a/hack/verify-chart-lint.sh b/hack/update-annotation-doc.sh
similarity index 70%
rename from hack/verify-chart-lint.sh
rename to hack/update-annotation-doc.sh
index 1c661ae2b..c4feb41ce 100755
--- a/hack/verify-chart-lint.sh
+++ b/hack/update-annotation-doc.sh
@@ -1,6 +1,6 @@
#!/bin/bash
-# Copyright 2020 The Kubernetes Authors.
+# Copyright 2024 The Kubernetes Authors.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
@@ -16,7 +16,8 @@
set -o errexit
set -o nounset
-set -o pipefail
-KUBE_ROOT="$( cd "$(dirname "$0")../" >/dev/null 2>&1 ; pwd -P )"
-ct lint --charts ${KUBE_ROOT}/charts/ingress-nginx --validate-maintainers=false
+SCRIPT_ROOT=$(dirname "${BASH_SOURCE}")/..
+ANNOTATIONFILE="${SCRIPT_ROOT}/docs/user-guide/nginx-configuration/annotations-risk.md"
+
+go run "${SCRIPT_ROOT}"/cmd/annotations/main.go -output "${ANNOTATIONFILE}"
\ No newline at end of file
diff --git a/hack/verify-annotation-docs.sh b/hack/verify-annotation-docs.sh
new file mode 100755
index 000000000..54034539b
--- /dev/null
+++ b/hack/verify-annotation-docs.sh
@@ -0,0 +1,46 @@
+#!/bin/bash
+
+# Copyright 2024 The Kubernetes Authors.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+set -o errexit
+set -o nounset
+set -o pipefail
+
+SCRIPT_ROOT=$(dirname "${BASH_SOURCE}")/..
+
+ANNOTATIONFILE="${SCRIPT_ROOT}/docs/user-guide/nginx-configuration/annotations-risk.md"
+TMP_DIFFROOT="${SCRIPT_ROOT}/_tmp"
+TMP_FILE="${TMP_DIFFROOT}/annotations-risk.md"
+
+cleanup() {
+ rm -rf "${TMP_DIFFROOT}"
+}
+trap "cleanup" EXIT SIGINT
+
+cleanup
+
+mkdir -p "${TMP_DIFFROOT}"
+
+go run cmd/annotations/main.go -output "${TMP_FILE}"
+echo "diffing ${ANNOTATIONFILE} against freshly generated annotation doc"
+ret=0
+diff -Naupr --no-dereference "${ANNOTATIONFILE}" "${TMP_FILE}" || ret=1
+
+if [[ $ret -eq 0 ]]; then
+ echo "${ANNOTATIONFILE} up to date."
+else
+ echo "${ANNOTATIONFILE} is out of date. Please run hack/update-annotation-doc.sh"
+ exit 1
+fi
diff --git a/images/OWNERS b/images/OWNERS
deleted file mode 100644
index 00f162ebd..000000000
--- a/images/OWNERS
+++ /dev/null
@@ -1,9 +0,0 @@
-# See the OWNERS docs: https://github.com/kubernetes/community/blob/master/contributors/guide/owners.md
-
-approvers:
-- ingress-nginx-admins
-- ingress-nginx-maintainers
-
-reviewers:
-- ingress-nginx-admins
-- ingress-nginx-maintainers
diff --git a/images/cfssl/TAG b/images/cfssl/TAG
index 7df503e63..0ec25f750 100644
--- a/images/cfssl/TAG
+++ b/images/cfssl/TAG
@@ -1 +1 @@
-v0.0.4
+v1.0.0
diff --git a/images/cfssl/cloudbuild.yaml b/images/cfssl/cloudbuild.yaml
index 32d91ca83..6b5b0fc1b 100644
--- a/images/cfssl/cloudbuild.yaml
+++ b/images/cfssl/cloudbuild.yaml
@@ -1,17 +1,11 @@
-timeout: 600s
options:
+ # Ignore Prow provided substitutions.
substitution_option: ALLOW_LOOSE
steps:
- - name: gcr.io/k8s-staging-test-infra/gcb-docker-gcloud:v20211118-2f2d816b90
- entrypoint: bash
+ - name: gcr.io/k8s-staging-test-infra/gcb-docker-gcloud:v20240523-a15ad90fc9
env:
- - DOCKER_CLI_EXPERIMENTAL=enabled
- REGISTRY=gcr.io/k8s-staging-ingress-nginx
- # default cloudbuild has HOME=/builder/home and docker buildx is in /root/.docker/cli-plugins/docker-buildx
- # set the home to /root explicitly to if using docker buildx
- - HOME=/root
+ entrypoint: bash
args:
- - -c
- - |
- gcloud auth configure-docker \
- && cd images && make NAME=cfssl push
+ - -c
+ - gcloud auth configure-docker && cd images && make NAME=cfssl push
diff --git a/images/cfssl/rootfs/Dockerfile b/images/cfssl/rootfs/Dockerfile
index 2afc43c7a..c23f66d49 100644
--- a/images/cfssl/rootfs/Dockerfile
+++ b/images/cfssl/rootfs/Dockerfile
@@ -12,7 +12,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.
-FROM alpine:3.19.1
+FROM alpine:3.20.0
RUN echo "@testing http://nl.alpinelinux.org/alpine/edge/testing" >> /etc/apk/repositories
RUN apk update \
diff --git a/images/custom-error-pages/README.md b/images/custom-error-pages/README.md
deleted file mode 100644
index cd6df3e0a..000000000
--- a/images/custom-error-pages/README.md
+++ /dev/null
@@ -1,3 +0,0 @@
-# custom-error-pages
-
-Example of Custom error pages for the Ingress-Nginx Controller
diff --git a/images/custom-error-pages/TAG b/images/custom-error-pages/TAG
index 8ce995b80..b18d46540 100644
--- a/images/custom-error-pages/TAG
+++ b/images/custom-error-pages/TAG
@@ -1 +1 @@
-v0.0.3
\ No newline at end of file
+v1.0.1
diff --git a/images/custom-error-pages/cloudbuild.yaml b/images/custom-error-pages/cloudbuild.yaml
index bb74da6b8..772a7697f 100644
--- a/images/custom-error-pages/cloudbuild.yaml
+++ b/images/custom-error-pages/cloudbuild.yaml
@@ -1,17 +1,12 @@
-timeout: 1800s
options:
+ # Ignore Prow provided substitutions.
substitution_option: ALLOW_LOOSE
steps:
- - name: gcr.io/k8s-staging-test-infra/gcb-docker-gcloud:v20211118-2f2d816b90
- entrypoint: bash
+ - name: gcr.io/k8s-staging-test-infra/gcb-docker-gcloud:v20240523-a15ad90fc9
env:
- - DOCKER_CLI_EXPERIMENTAL=enabled
- REGISTRY=gcr.io/k8s-staging-ingress-nginx
- # default cloudbuild has HOME=/builder/home and docker buildx is in /root/.docker/cli-plugins/docker-buildx
- # set the home to /root explicitly to if using docker buildx
- - HOME=/root
+ entrypoint: bash
args:
- - -c
- - |
- gcloud auth configure-docker \
- && cd images/ && make NAME=custom-error-pages push
+ - -c
+ - gcloud auth configure-docker && cd images && make NAME=custom-error-pages push
+timeout: 3600s
diff --git a/images/custom-error-pages/rootfs/Dockerfile b/images/custom-error-pages/rootfs/Dockerfile
index 1529e63f7..345f92ba3 100755
--- a/images/custom-error-pages/rootfs/Dockerfile
+++ b/images/custom-error-pages/rootfs/Dockerfile
@@ -14,7 +14,7 @@
ARG GOLANG_VERSION
-FROM golang:${GOLANG_VERSION}-alpine3.18 as builder
+FROM golang:${GOLANG_VERSION}-alpine3.20 as builder
RUN apk update \
&& apk upgrade && apk add git
@@ -37,4 +37,4 @@ COPY --from=builder /go/src/k8s.io/ingress-nginx/images/custom-error-pages/www /
COPY --from=builder /go/src/k8s.io/ingress-nginx/images/custom-error-pages/etc /etc
USER nonroot:nonroot
-CMD ["/nginx-errors"]
\ No newline at end of file
+CMD ["/nginx-errors"]
diff --git a/images/custom-error-pages/rootfs/go.mod b/images/custom-error-pages/rootfs/go.mod
index eebc562a5..264ebf427 100644
--- a/images/custom-error-pages/rootfs/go.mod
+++ b/images/custom-error-pages/rootfs/go.mod
@@ -1,6 +1,6 @@
module k8s.io/ingress-nginx/custom-error-pages
-go 1.21
+go 1.22.6
require github.com/prometheus/client_golang v1.11.1
diff --git a/images/e2e-test-echo/TAG b/images/e2e-test-echo/TAG
index 8ce995b80..0ec25f750 100644
--- a/images/e2e-test-echo/TAG
+++ b/images/e2e-test-echo/TAG
@@ -1 +1 @@
-v0.0.3
\ No newline at end of file
+v1.0.0
diff --git a/images/e2e-test-echo/cloudbuild.yaml b/images/e2e-test-echo/cloudbuild.yaml
new file mode 100644
index 000000000..dc6e1dcf0
--- /dev/null
+++ b/images/e2e-test-echo/cloudbuild.yaml
@@ -0,0 +1,11 @@
+options:
+ # Ignore Prow provided substitutions.
+ substitution_option: ALLOW_LOOSE
+steps:
+ - name: gcr.io/k8s-staging-test-infra/gcb-docker-gcloud:v20240523-a15ad90fc9
+ env:
+ - REGISTRY=gcr.io/k8s-staging-ingress-nginx
+ entrypoint: bash
+ args:
+ - -c
+ - gcloud auth configure-docker && cd images && make NAME=e2e-test-echo push
diff --git a/images/ext-auth-example-authsvc/TAG b/images/ext-auth-example-authsvc/TAG
index 8ce995b80..0ec25f750 100644
--- a/images/ext-auth-example-authsvc/TAG
+++ b/images/ext-auth-example-authsvc/TAG
@@ -1 +1 @@
-v0.0.3
\ No newline at end of file
+v1.0.0
diff --git a/images/ext-auth-example-authsvc/cloudbuild.yaml b/images/ext-auth-example-authsvc/cloudbuild.yaml
deleted file mode 100644
index 506e20111..000000000
--- a/images/ext-auth-example-authsvc/cloudbuild.yaml
+++ /dev/null
@@ -1,19 +0,0 @@
-timeout: 1200s
-options:
- substitution_option: ALLOW_LOOSE
- # job builds a multi-arch docker image for amd64,arm,arm64 and s390x.
- machineType: E2_HIGHCPU_8
-steps:
- - name: gcr.io/k8s-staging-test-infra/gcb-docker-gcloud:v20211118-2f2d816b90
- entrypoint: bash
- env:
- - DOCKER_CLI_EXPERIMENTAL=enabled
- - REGISTRY=gcr.io/k8s-staging-ingress-nginx
- # default cloudbuild has HOME=/builder/home and docker buildx is in /root/.docker/cli-plugins/docker-buildx
- # set the home to /root explicitly to if using docker buildx
- - HOME=/root
- args:
- - -c
- - |
- gcloud auth configure-docker \
- && cd images/ && make NAME=ext-auth-example-authsvc push
\ No newline at end of file
diff --git a/images/ext-auth-example-authsvc/rootfs/Dockerfile b/images/ext-auth-example-authsvc/rootfs/Dockerfile
index ec611fa54..5942ac5b9 100644
--- a/images/ext-auth-example-authsvc/rootfs/Dockerfile
+++ b/images/ext-auth-example-authsvc/rootfs/Dockerfile
@@ -1,6 +1,6 @@
ARG GOLANG_VERSION
-FROM golang:${GOLANG_VERSION}-alpine3.18 as builder
+FROM golang:${GOLANG_VERSION}-alpine3.20 as builder
RUN mkdir /authsvc
WORKDIR /authsvc
COPY . ./
@@ -9,4 +9,4 @@ RUN CGO_ENABLED=0 GOOS=linux go build -o authsvc authsvc.go
FROM gcr.io/distroless/base-debian11
COPY --from=builder /authsvc/authsvc /
EXPOSE 8080
-ENTRYPOINT ["/authsvc"]
\ No newline at end of file
+ENTRYPOINT ["/authsvc"]
diff --git a/images/ext-auth-example-authsvc/rootfs/go.mod b/images/ext-auth-example-authsvc/rootfs/go.mod
index 8c3abdcf2..a3396b358 100644
--- a/images/ext-auth-example-authsvc/rootfs/go.mod
+++ b/images/ext-auth-example-authsvc/rootfs/go.mod
@@ -1,6 +1,6 @@
module example.com/authsvc
-go 1.21
+go 1.22.6
require k8s.io/apimachinery v0.23.1
diff --git a/images/fastcgi-helloserver/TAG b/images/fastcgi-helloserver/TAG
index 8ce995b80..b18d46540 100644
--- a/images/fastcgi-helloserver/TAG
+++ b/images/fastcgi-helloserver/TAG
@@ -1 +1 @@
-v0.0.3
\ No newline at end of file
+v1.0.1
diff --git a/images/fastcgi-helloserver/cloudbuild.yaml b/images/fastcgi-helloserver/cloudbuild.yaml
index e3ab3b375..5fb3e3318 100644
--- a/images/fastcgi-helloserver/cloudbuild.yaml
+++ b/images/fastcgi-helloserver/cloudbuild.yaml
@@ -1,17 +1,12 @@
-timeout: 1800s
options:
+ # Ignore Prow provided substitutions.
substitution_option: ALLOW_LOOSE
steps:
- - name: gcr.io/k8s-staging-test-infra/gcb-docker-gcloud:v20211118-2f2d816b90
- entrypoint: bash
+ - name: gcr.io/k8s-staging-test-infra/gcb-docker-gcloud:v20240523-a15ad90fc9
env:
- - DOCKER_CLI_EXPERIMENTAL=enabled
- REGISTRY=gcr.io/k8s-staging-ingress-nginx
- # default cloudbuild has HOME=/builder/home and docker buildx is in /root/.docker/cli-plugins/docker-buildx
- # set the home to /root explicitly to if using docker buildx
- - HOME=/root
+ entrypoint: bash
args:
- - -c
- - |
- gcloud auth configure-docker \
- && cd images/ && make NAME=fastcgi-helloserver push
\ No newline at end of file
+ - -c
+ - gcloud auth configure-docker && cd images && make NAME=fastcgi-helloserver push
+timeout: 3600s
diff --git a/images/fastcgi-helloserver/rootfs/Dockerfile b/images/fastcgi-helloserver/rootfs/Dockerfile
index eec93c844..2b91887c9 100755
--- a/images/fastcgi-helloserver/rootfs/Dockerfile
+++ b/images/fastcgi-helloserver/rootfs/Dockerfile
@@ -13,7 +13,7 @@
# limitations under the License.
ARG GOLANG_VERSION
-FROM golang:${GOLANG_VERSION}-alpine3.18 as builder
+FROM golang:${GOLANG_VERSION}-alpine3.20 as builder
WORKDIR /go/src/k8s.io/ingress-nginx/images/fastcgi
@@ -30,4 +30,4 @@ FROM gcr.io/distroless/static:nonroot
COPY --from=builder /go/src/k8s.io/ingress-nginx/images/fastcgi/fastcgi-helloserver /
USER nonroot:nonroot
-CMD ["/fastcgi-helloserver"]
\ No newline at end of file
+CMD ["/fastcgi-helloserver"]
diff --git a/images/go-grpc-greeter-server/TAG b/images/go-grpc-greeter-server/TAG
index 8ce995b80..0ec25f750 100644
--- a/images/go-grpc-greeter-server/TAG
+++ b/images/go-grpc-greeter-server/TAG
@@ -1 +1 @@
-v0.0.3
\ No newline at end of file
+v1.0.0
diff --git a/images/go-grpc-greeter-server/cloudbuild.yaml b/images/go-grpc-greeter-server/cloudbuild.yaml
deleted file mode 100644
index b690ffbec..000000000
--- a/images/go-grpc-greeter-server/cloudbuild.yaml
+++ /dev/null
@@ -1,19 +0,0 @@
-timeout: 1200s
-options:
- substitution_option: ALLOW_LOOSE
- # job builds a multi-arch docker image for amd64,arm,arm64 and s390x.
- machineType: E2_HIGHCPU_8
-steps:
- - name: gcr.io/k8s-staging-test-infra/gcb-docker-gcloud:v20211118-2f2d816b90
- entrypoint: bash
- env:
- - DOCKER_CLI_EXPERIMENTAL=enabled
- - REGISTRY=gcr.io/k8s-staging-ingress-nginx
- # default cloudbuild has HOME=/builder/home and docker buildx is in /root/.docker/cli-plugins/docker-buildx
- # set the home to /root explicitly to if using docker buildx
- - HOME=/root
- args:
- - -c
- - |
- gcloud auth configure-docker \
- && cd images/ && make NAME=go-grpc-greeter-server push
\ No newline at end of file
diff --git a/images/go-grpc-greeter-server/rootfs/Dockerfile b/images/go-grpc-greeter-server/rootfs/Dockerfile
index 79693eaeb..f07b1d667 100644
--- a/images/go-grpc-greeter-server/rootfs/Dockerfile
+++ b/images/go-grpc-greeter-server/rootfs/Dockerfile
@@ -1,6 +1,6 @@
ARG GOLANG_VERSION
-FROM golang:${GOLANG_VERSION}-alpine3.18 as build
+FROM golang:${GOLANG_VERSION}-alpine3.20 as build
WORKDIR /go/src/greeter-server
@@ -15,4 +15,4 @@ COPY --from=build /greeter-server /
EXPOSE 50051
-CMD ["/greeter-server"]
\ No newline at end of file
+CMD ["/greeter-server"]
diff --git a/images/httpbun/TAG b/images/httpbun/TAG
index 8ce995b80..b18d46540 100644
--- a/images/httpbun/TAG
+++ b/images/httpbun/TAG
@@ -1 +1 @@
-v0.0.3
\ No newline at end of file
+v1.0.1
diff --git a/images/httpbun/cloudbuild.yaml b/images/httpbun/cloudbuild.yaml
index c532a3908..3d2662531 100644
--- a/images/httpbun/cloudbuild.yaml
+++ b/images/httpbun/cloudbuild.yaml
@@ -1,19 +1,12 @@
-timeout: 1200s
options:
+ # Ignore Prow provided substitutions.
substitution_option: ALLOW_LOOSE
- # job builds a multi-arch docker image for amd64,arm,arm64 and s390x.
- machineType: E2_HIGHCPU_8
steps:
- - name: gcr.io/k8s-staging-test-infra/gcb-docker-gcloud:v20211118-2f2d816b90
- entrypoint: bash
+ - name: gcr.io/k8s-staging-test-infra/gcb-docker-gcloud:v20240523-a15ad90fc9
env:
- - DOCKER_CLI_EXPERIMENTAL=enabled
- REGISTRY=gcr.io/k8s-staging-ingress-nginx
- # default cloudbuild has HOME=/builder/home and docker buildx is in /root/.docker/cli-plugins/docker-buildx
- # set the home to /root explicitly to if using docker buildx
- - HOME=/root
+ entrypoint: bash
args:
- - -c
- - |
- gcloud auth configure-docker \
- && cd images/ && make NAME=httpbun push
\ No newline at end of file
+ - -c
+ - gcloud auth configure-docker && cd images && make NAME=httpbun push
+timeout: 3600s
diff --git a/images/kube-webhook-certgen/OWNERS b/images/kube-webhook-certgen/OWNERS
index ad47b2e6d..b4424221c 100644
--- a/images/kube-webhook-certgen/OWNERS
+++ b/images/kube-webhook-certgen/OWNERS
@@ -1,10 +1,4 @@
-# See the OWNERS docs: https://github.com/kubernetes/community/blob/master/contributors/guide/owners.md
-
-approvers:
-- ingress-nginx-admins
-- ingress-nginx-maintainers
+# See the OWNERS docs: https://www.kubernetes.dev/docs/guide/owners
reviewers:
-- ingress-nginx-admins
-- ingress-nginx-maintainers
- ingress-nginx-kube-webhook-certgen-reviewers
diff --git a/images/kube-webhook-certgen/TAG b/images/kube-webhook-certgen/TAG
index 0d0c52f84..92f76b423 100644
--- a/images/kube-webhook-certgen/TAG
+++ b/images/kube-webhook-certgen/TAG
@@ -1 +1 @@
-v1.4.0
+v1.4.3
diff --git a/images/kube-webhook-certgen/cloudbuild.yaml b/images/kube-webhook-certgen/cloudbuild.yaml
index 690f13126..8bf139423 100644
--- a/images/kube-webhook-certgen/cloudbuild.yaml
+++ b/images/kube-webhook-certgen/cloudbuild.yaml
@@ -1,32 +1,12 @@
-
-# Copyright 2021 The Kubernetes Authors. All rights reserved.
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-timeout: 10800s
options:
+ # Ignore Prow provided substitutions.
substitution_option: ALLOW_LOOSE
steps:
- - name: gcr.io/k8s-staging-test-infra/gcb-docker-gcloud:v20211118-2f2d816b90
- entrypoint: bash
+ - name: gcr.io/k8s-staging-test-infra/gcb-docker-gcloud:v20240523-a15ad90fc9
env:
- - DOCKER_CLI_EXPERIMENTAL=enabled
- REGISTRY=gcr.io/k8s-staging-ingress-nginx
- # default cloudbuild has HOME=/builder/home and docker buildx is in /root/.docker/cli-plugins/docker-buildx
- # set the home to /root explicitly to if using docker buildx
- - HOME=/root
+ entrypoint: bash
args:
- - -c
- - |
- gcloud auth configure-docker \
- && cd images/ && make NAME=kube-webhook-certgen push
+ - -c
+ - gcloud auth configure-docker && cd images && make NAME=kube-webhook-certgen push
+timeout: 1800s
diff --git a/images/kube-webhook-certgen/rootfs/go.mod b/images/kube-webhook-certgen/rootfs/go.mod
index de1d86bdd..52746ebd9 100644
--- a/images/kube-webhook-certgen/rootfs/go.mod
+++ b/images/kube-webhook-certgen/rootfs/go.mod
@@ -1,30 +1,29 @@
module github.com/jet/kube-webhook-certgen
-go 1.21
+go 1.22.6
require (
github.com/onrik/logrus v0.11.0
github.com/sirupsen/logrus v1.9.3
github.com/spf13/cobra v1.8.0
- k8s.io/api v0.29.2
- k8s.io/apimachinery v0.29.2
- k8s.io/client-go v0.29.2
- k8s.io/kube-aggregator v0.29.2
+ k8s.io/api v0.29.3
+ k8s.io/apimachinery v0.29.3
+ k8s.io/client-go v0.29.3
+ k8s.io/kube-aggregator v0.29.3
)
require (
github.com/davecgh/go-spew v1.1.1 // indirect
github.com/emicklei/go-restful/v3 v3.11.3 // indirect
github.com/evanphx/json-patch v5.9.0+incompatible // indirect
- github.com/go-logr/logr v1.4.1 // indirect
+ github.com/go-logr/logr v1.4.2 // indirect
github.com/go-openapi/jsonpointer v0.20.2 // indirect
github.com/go-openapi/jsonreference v0.20.4 // indirect
github.com/go-openapi/swag v0.22.9 // indirect
github.com/gogo/protobuf v1.3.2 // indirect
- github.com/golang/protobuf v1.5.3 // indirect
+ github.com/golang/protobuf v1.5.4 // indirect
github.com/google/gnostic-models v0.6.8 // indirect
github.com/google/gofuzz v1.2.0 // indirect
- github.com/google/pprof v0.0.0-20240225044709-fd706174c886 // indirect
github.com/google/uuid v1.6.0 // indirect
github.com/imdario/mergo v0.3.16 // indirect
github.com/inconshreveable/mousetrap v1.1.0 // indirect
@@ -34,19 +33,19 @@ require (
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect
github.com/modern-go/reflect2 v1.0.2 // indirect
github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect
- github.com/onsi/ginkgo/v2 v2.15.0 // indirect
- github.com/onsi/gomega v1.30.0 // indirect
+ github.com/onsi/ginkgo/v2 v2.20.0 // indirect
+ github.com/onsi/gomega v1.34.1 // indirect
github.com/pkg/errors v0.9.1 // indirect
github.com/spf13/pflag v1.0.5 // indirect
- golang.org/x/net v0.21.0 // indirect
- golang.org/x/oauth2 v0.17.0 // indirect
- golang.org/x/sys v0.17.0 // indirect
- golang.org/x/term v0.17.0 // indirect
- golang.org/x/text v0.14.0 // indirect
+ github.com/stretchr/testify v1.9.0 // indirect
+ golang.org/x/net v0.28.0 // indirect
+ golang.org/x/oauth2 v0.18.0 // indirect
+ golang.org/x/sys v0.23.0 // indirect
+ golang.org/x/term v0.23.0 // indirect
+ golang.org/x/text v0.17.0 // indirect
golang.org/x/time v0.5.0 // indirect
- golang.org/x/tools v0.18.0 // indirect
google.golang.org/appengine v1.6.8 // indirect
- google.golang.org/protobuf v1.33.0 // indirect
+ google.golang.org/protobuf v1.34.1 // indirect
gopkg.in/inf.v0 v0.9.1 // indirect
gopkg.in/yaml.v2 v2.4.0 // indirect
gopkg.in/yaml.v3 v3.0.1 // indirect
diff --git a/images/kube-webhook-certgen/rootfs/go.sum b/images/kube-webhook-certgen/rootfs/go.sum
index 5f88f3da3..8ce13c672 100644
--- a/images/kube-webhook-certgen/rootfs/go.sum
+++ b/images/kube-webhook-certgen/rootfs/go.sum
@@ -6,8 +6,8 @@ github.com/emicklei/go-restful/v3 v3.11.3 h1:yagOQz/38xJmcNeZJtrUcKjkHRltIaIFXKW
github.com/emicklei/go-restful/v3 v3.11.3/go.mod h1:6n3XBCmQQb25CM2LCACGz8ukIrRry+4bhvbpWn3mrbc=
github.com/evanphx/json-patch v5.9.0+incompatible h1:fBXyNpNMuTTDdquAq/uisOr2lShz4oaXpDTX2bLe7ls=
github.com/evanphx/json-patch v5.9.0+incompatible/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk=
-github.com/go-logr/logr v1.4.1 h1:pKouT5E8xu9zeFC39JXRDukb6JFQPXM5p5I91188VAQ=
-github.com/go-logr/logr v1.4.1/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY=
+github.com/go-logr/logr v1.4.2 h1:6pFjapn8bFcIbiKo3XT4j/BhANplGihG6tvd+8rYgrY=
+github.com/go-logr/logr v1.4.2/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY=
github.com/go-openapi/jsonpointer v0.20.2 h1:mQc3nmndL8ZBzStEo3JYF8wzmeWffDH4VbXz58sAx6Q=
github.com/go-openapi/jsonpointer v0.20.2/go.mod h1:bHen+N0u1KEO3YlmqOjTT9Adn1RfD91Ar825/PuiRVs=
github.com/go-openapi/jsonreference v0.20.4 h1:bKlDxQxQJgwpUSgOENiMPzCTBVuc7vTdXSSgNeAhojU=
@@ -15,13 +15,14 @@ github.com/go-openapi/jsonreference v0.20.4/go.mod h1:5pZJyJP2MnYCpoeoMAql78cCHa
github.com/go-openapi/swag v0.22.9 h1:XX2DssF+mQKM2DHsbgZK74y/zj4mo9I99+89xUmuZCE=
github.com/go-openapi/swag v0.22.9/go.mod h1:3/OXnFfnMAwBD099SwYRk7GD3xOrr1iL7d/XNLXVVwE=
github.com/go-task/slim-sprig v0.0.0-20230315185526-52ccab3ef572 h1:tfuBGBXKqDEevZMzYi5KSi8KkcZtzBcTgAUUtapy0OI=
-github.com/go-task/slim-sprig v0.0.0-20230315185526-52ccab3ef572/go.mod h1:9Pwr4B2jHnOSGXyyzV8ROjYa2ojvAY6HCGYYfMoC3Ls=
+github.com/go-task/slim-sprig/v3 v3.0.0 h1:sUs3vkvUymDpBKi3qH1YSqBQk9+9D/8M2mN1vB6EwHI=
+github.com/go-task/slim-sprig/v3 v3.0.0/go.mod h1:W848ghGpv3Qj3dhTPRyJypKRiqCdHZiAzKg9hl15HA8=
github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q=
github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q=
github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk=
github.com/golang/protobuf v1.5.2/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY=
-github.com/golang/protobuf v1.5.3 h1:KhyjKVUg7Usr/dYsdSqoFveMYd5ko72D+zANwlG1mmg=
-github.com/golang/protobuf v1.5.3/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY=
+github.com/golang/protobuf v1.5.4 h1:i7eJL8qZTpSEXOPTxNKhASYpMn+8e5Q6AdndVa1dWek=
+github.com/golang/protobuf v1.5.4/go.mod h1:lnTiLA8Wa4RWRcIUkrtSVa5nRhsEGBg48fD6rSs7xps=
github.com/google/gnostic-models v0.6.8 h1:yo/ABAfM5IMRsS1VnXjTBvUb61tFIHozhlYvRgGre9I=
github.com/google/gnostic-models v0.6.8/go.mod h1:5n7qKqH0f5wFt+aWF8CW6pZLLNOfYuF5OpfBSENuI8U=
github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
@@ -31,8 +32,8 @@ github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeN
github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg=
github.com/google/gofuzz v1.2.0 h1:xRy4A+RhZaiKjJ1bPfwQ8sedCA+YS2YcCHW6ec7JMi0=
github.com/google/gofuzz v1.2.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg=
-github.com/google/pprof v0.0.0-20240225044709-fd706174c886 h1:JSJUTZTQT1Gzb2ROdAKOY3HwzBYcclS2GgumhMfHqjw=
-github.com/google/pprof v0.0.0-20240225044709-fd706174c886/go.mod h1:czg5+yv1E0ZGTi6S6vVK1mke0fV+FaUhNGcd6VRS9Ik=
+github.com/google/pprof v0.0.0-20240727154555-813a5fbdbec8 h1:FKHo8hFI3A+7w0aUQuYXQ+6EN5stWmeY/AZqtM8xk9k=
+github.com/google/pprof v0.0.0-20240727154555-813a5fbdbec8/go.mod h1:K1liHPHnj73Fdn/EKuT8nrFqBihUSKXoLYU0BuatOYo=
github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0=
github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
github.com/imdario/mergo v0.3.16 h1:wwQJbIsHYGMUyLSPrEq1CT16AhnhNJQ51+4fdHUnCl4=
@@ -60,10 +61,10 @@ github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 h1:C3w9PqII01/Oq
github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ=
github.com/onrik/logrus v0.11.0 h1:pu+BCaWL36t0yQaj/2UHK2erf88dwssAKOT51mxPUVs=
github.com/onrik/logrus v0.11.0/go.mod h1:fO2vlZwIdti6PidD3gV5YKt9Lq5ptpnP293RAe1ITwk=
-github.com/onsi/ginkgo/v2 v2.15.0 h1:79HwNRBAZHOEwrczrgSOPy+eFTTlIGELKy5as+ClttY=
-github.com/onsi/ginkgo/v2 v2.15.0/go.mod h1:HlxMHtYF57y6Dpf+mc5529KKmSq9h2FpCF+/ZkwUxKM=
-github.com/onsi/gomega v1.30.0 h1:hvMK7xYz4D3HapigLTeGdId/NcfQx1VHMJc60ew99+8=
-github.com/onsi/gomega v1.30.0/go.mod h1:9sxs+SwGrKI0+PWe4Fxa9tFQQBG5xSsSbMXOI8PPpoQ=
+github.com/onsi/ginkgo/v2 v2.20.0 h1:PE84V2mHqoT1sglvHc8ZdQtPcwmvvt29WLEEO3xmdZw=
+github.com/onsi/ginkgo/v2 v2.20.0/go.mod h1:lG9ey2Z29hR41WMVthyJBGUBcBhGOtoPF2VFMvBXFCI=
+github.com/onsi/gomega v1.34.1 h1:EUMJIKUjM8sKjYbtxQI9A4z2o+rruxnzNvpknOXie6k=
+github.com/onsi/gomega v1.34.1/go.mod h1:kU1QgUvBDLXBJq618Xvm2LUX6rSAfRaFRTcdOeDLwwY=
github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4=
github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
@@ -80,8 +81,8 @@ github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI=
github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
-github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk=
-github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo=
+github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsTg=
+github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY=
github.com/tidwall/gjson v1.14.4 h1:uo0p8EbA09J7RQaflQ1aBRffTR7xedD2bcIVSYxLnkM=
github.com/tidwall/gjson v1.14.4/go.mod h1:/wbyibRr2FHMks5tjHJ5F8dMZh3AcwJEMf5vlfC0lxk=
github.com/tidwall/match v1.1.1 h1:+Ho715JplO36QYgwN9PGYNhgZvoUSc9X2c80KVTi+GA=
@@ -95,6 +96,8 @@ golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACk
golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc=
+golang.org/x/exp v0.0.0-20240719175910-8a7402abbf56 h1:2dVuKD2vS7b0QIHQbpyTISPd0LeHDbnYEryqj5Q1ug8=
+golang.org/x/exp v0.0.0-20240719175910-8a7402abbf56/go.mod h1:M4RDyNAINzryxdtnbRXRL/OHtkFuWGRjvuhBJpk2IlY=
golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4=
@@ -104,10 +107,10 @@ golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLL
golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU=
golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg=
golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c=
-golang.org/x/net v0.21.0 h1:AQyQV4dYCvJ7vGmJyKki9+PBdyvhkSd8EIx/qb0AYv4=
-golang.org/x/net v0.21.0/go.mod h1:bIjVDfnllIU7BJ2DNgfnXvpSvtn8VRwhlsaeUTyUS44=
-golang.org/x/oauth2 v0.17.0 h1:6m3ZPmLEFdVxKKWnKq4VqZ60gutO35zm+zrAHVmHyDQ=
-golang.org/x/oauth2 v0.17.0/go.mod h1:OzPDGQiuQMguemayvdylqddI7qcD9lnSDb+1FiwQ5HA=
+golang.org/x/net v0.28.0 h1:a9JDOJc5GMUJ0+UDqmLT86WiEy7iWyIhz8gz8E4e5hE=
+golang.org/x/net v0.28.0/go.mod h1:yqtgsTWOOnlGLG9GFRrK3++bGOUEkNBoHZc8MEDWPNg=
+golang.org/x/oauth2 v0.18.0 h1:09qnuIAgzdx1XplqJvW6CQqMCtGZykZWcXzPMPUusvI=
+golang.org/x/oauth2 v0.18.0/go.mod h1:Wf7knwG0MPoWIMMBgFlEaSUDaKskp0dCfrlJRJXbBi8=
golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
@@ -120,18 +123,18 @@ golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBc
golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
-golang.org/x/sys v0.17.0 h1:25cE3gD+tdBA7lp7QfhuV+rJiE9YXTcS3VG1SqssI/Y=
-golang.org/x/sys v0.17.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
+golang.org/x/sys v0.23.0 h1:YfKFowiIMvtgl1UERQoTPPToxltDeZfbj4H7dVUCwmM=
+golang.org/x/sys v0.23.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
-golang.org/x/term v0.17.0 h1:mkTF7LCd6WGJNL3K1Ad7kwxNfYAW6a8a8QqtMblp/4U=
-golang.org/x/term v0.17.0/go.mod h1:lLRBjIVuehSbZlaOtGMbcMncT+aqLLLmKrsjNrUguwk=
+golang.org/x/term v0.23.0 h1:F6D4vR+EHoL9/sWAWgAR1H2DcHr4PareCbAaCo1RpuU=
+golang.org/x/term v0.23.0/go.mod h1:DgV24QBUrK6jhZXl+20l6UWznPlwAHm1Q1mGHtydmSk=
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ=
golang.org/x/text v0.3.8/go.mod h1:E6s5w1FMmriuDzIBO73fBruAKo1PCIq6d2Q6DHfQ8WQ=
-golang.org/x/text v0.14.0 h1:ScX5w1eTa3QqT8oi6+ziP7dTV1S2+ALU0bI+0zXKWiQ=
-golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU=
+golang.org/x/text v0.17.0 h1:XtiM5bkSOt+ewxlOE/aE/AKEHibwj/6gvWMl9Rsh0Qc=
+golang.org/x/text v0.17.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY=
golang.org/x/time v0.5.0 h1:o7cqy6amK/52YcAKIPlM3a+Fpj35zvRj2TP+e1xFSfk=
golang.org/x/time v0.5.0/go.mod h1:3BpzKBy/shNhVucY/MWOyx10tF3SFh9QdLuxbVysPQM=
golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
@@ -139,8 +142,8 @@ golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtn
golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE=
golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA=
golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc=
-golang.org/x/tools v0.18.0 h1:k8NLag8AGHnn+PHbl7g43CtqZAwG60vZkLqgyZgIHgQ=
-golang.org/x/tools v0.18.0/go.mod h1:GL7B4CwcLLeo59yx/9UWWuNOW1n3VZ4f5axWfML7Lcg=
+golang.org/x/tools v0.24.0 h1:J1shsA93PJUEVaUSaay7UXAyE8aimq3GW0pjlolpa24=
+golang.org/x/tools v0.24.0/go.mod h1:YhNqVBIfWHdzvTLs0d8LCuMhkKUgSUKldakyV7W/WDQ=
golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
@@ -149,8 +152,8 @@ google.golang.org/appengine v1.6.8 h1:IhEN5q69dyKagZPYMSdIjS2HqprW324FRQZJcGqPAs
google.golang.org/appengine v1.6.8/go.mod h1:1jJ3jBArFh5pcgW8gCtRJnepW8FzD1V44FJffLiz/Ds=
google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw=
google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc=
-google.golang.org/protobuf v1.33.0 h1:uNO2rsAINq/JlFpSdYEKIZ0uKD/R9cpdv0T+yoGwGmI=
-google.golang.org/protobuf v1.33.0/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos=
+google.golang.org/protobuf v1.34.1 h1:9ddQBjfCyZPOHPUiPxpYESBLc+T8P3E+Vo4IbKZgFWg=
+google.golang.org/protobuf v1.34.1/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk=
gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q=
@@ -162,16 +165,16 @@ gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ=
gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
-k8s.io/api v0.29.2 h1:hBC7B9+MU+ptchxEqTNW2DkUosJpp1P+Wn6YncZ474A=
-k8s.io/api v0.29.2/go.mod h1:sdIaaKuU7P44aoyyLlikSLayT6Vb7bvJNCX105xZXY0=
-k8s.io/apimachinery v0.29.2 h1:EWGpfJ856oj11C52NRCHuU7rFDwxev48z+6DSlGNsV8=
-k8s.io/apimachinery v0.29.2/go.mod h1:6HVkd1FwxIagpYrHSwJlQqZI3G9LfYWRPAkUvLnXTKU=
-k8s.io/client-go v0.29.2 h1:FEg85el1TeZp+/vYJM7hkDlSTFZ+c5nnK44DJ4FyoRg=
-k8s.io/client-go v0.29.2/go.mod h1:knlvFZE58VpqbQpJNbCbctTVXcd35mMyAAwBdpt4jrA=
+k8s.io/api v0.29.3 h1:2ORfZ7+bGC3YJqGpV0KSDDEVf8hdGQ6A03/50vj8pmw=
+k8s.io/api v0.29.3/go.mod h1:y2yg2NTyHUUkIoTC+phinTnEa3KFM6RZ3szxt014a80=
+k8s.io/apimachinery v0.29.3 h1:2tbx+5L7RNvqJjn7RIuIKu9XTsIZ9Z5wX2G22XAa5EU=
+k8s.io/apimachinery v0.29.3/go.mod h1:hx/S4V2PNW4OMg3WizRrHutyB5la0iCUbZym+W0EQIU=
+k8s.io/client-go v0.29.3 h1:R/zaZbEAxqComZ9FHeQwOh3Y1ZUs7FaHKZdQtIc2WZg=
+k8s.io/client-go v0.29.3/go.mod h1:tkDisCvgPfiRpxGnOORfkljmS+UrW+WtXAy2fTvXJB0=
k8s.io/klog/v2 v2.120.1 h1:QXU6cPEOIslTGvZaXvFWiP9VKyeet3sawzTOvdXb4Vw=
k8s.io/klog/v2 v2.120.1/go.mod h1:3Jpz1GvMt720eyJH1ckRHK1EDfpxISzJ7I9OYgaDtPE=
-k8s.io/kube-aggregator v0.29.2 h1:z9qJn5wlGmGaX6EfM7OEhr6fq6SBjDKR6tPRZ/qgxeY=
-k8s.io/kube-aggregator v0.29.2/go.mod h1:QEuwzmMJJsg0eg1Gv+u4cWcYeJG2+8vN8/nTXBzopUo=
+k8s.io/kube-aggregator v0.29.3 h1:5KvTyFN8sQq2imq8tMAHWEKoE64Zg9WSMaGX78KV6ps=
+k8s.io/kube-aggregator v0.29.3/go.mod h1:xGJqV/SJJ1fbwTGfQLAZfwgqX1EMoaqfotDTkDrqqSk=
k8s.io/kube-openapi v0.0.0-20240224005224-582cce78233b h1:1dzw/KqgSPod72SUp2tuTOmK33TlY2fHlrVU2M9VrOM=
k8s.io/kube-openapi v0.0.0-20240224005224-582cce78233b/go.mod h1:Pa1PvrP7ACSkuX6I7KYomY6cmMA0Tx86waBhDUgoKPw=
k8s.io/utils v0.0.0-20240102154912-e7106e64919e h1:eQ/4ljkx21sObifjzXwlPKpdGLrCfRziVtos3ofG/sQ=
diff --git a/images/nginx-1.25/README.md b/images/nginx-1.25/README.md
index 8d5f44a62..35cccc100 100644
--- a/images/nginx-1.25/README.md
+++ b/images/nginx-1.25/README.md
@@ -1,3 +1,47 @@
NGINX 1.25 base image
-**Don't use in production!!!**
\ No newline at end of file
+### HTTP/3 Support
+
+**HTTP/3 support is experimental and under development**
+
+[HTTP/3](https://datatracker.ietf.org/doc/html/rfc9114)\
+[QUIC](https://datatracker.ietf.org/doc/html/rfc9000)
+
+[According to the documentation, NGINX 1.25.0 or higher supports HTTP/3:](https://nginx.org/en/docs/quic.html)
+
+> Support for QUIC and HTTP/3 protocols is available since 1.25.0.
+
+But this requires adding a new flag during the build:
+
+> When configuring nginx, it is possible to enable QUIC and HTTP/3 using the --with-http_v3_module configuration parameter.
+
+[We have added this flag](https://github.com/kubernetes/ingress-nginx/pull/11470), but it is not enough to use HTTP/3 in ingress-nginx, this is the first step.
+
+The next steps will be:
+
+1. **Waiting for OpenSSL 3.4.**\
+ The main problem is, that we still use OpenSSL (3.x) and it does not support the important mechanism of TLS 1.3 - [early_data](https://datatracker.ietf.org/doc/html/rfc8446#section-2.3):
+
+ > Otherwise, the OpenSSL compatibility layer will be used that does not support early data.
+
+ [And although another part of the documentation says that the directive is supported with OpenSSL:](https://nginx.org/en/docs/http/ngx_http_ssl_module.html#ssl_early_data)
+
+ > The directive is supported when using OpenSSL 1.1.1 or higher.
+
+ But this is incomplete support, because OpenSSL does not support this feature, and [it has only client side support:](https://github.com/openssl/openssl)
+
+ > ... the QUIC (currently client side only) version 1 protocol
+
+ [And also there are some issues even with client side](https://github.com/openssl/openssl/discussions/23339)
+
+ Due to this, we currently have incomplete HTTP/3 support, without important security and performance features.\
+ But the good news is that [OpenSSL plans to add server-side support in 3.4](https://github.com/openssl/web/blob/master/roadmap.md):
+
+ > Server-side QUIC support
+
+ [Overview of SSL libraries(HAProxy Documentation)](https://github.com/haproxy/wiki/wiki/SSL-Libraries-Support-Status#tldr)
+
+2. **Adding [parameters](https://nginx.org/en/docs/http/ngx_http_v3_module.html) to the configmap to configure HTTP/3 and quic(enableHTTP3, enableHTTP/0.9, maxCurrentStream, and so on).**
+3. **Adding options to the nginx config template(`listen 443 quic` to server blocks and `add_header Alt-Svc 'h3=":8443"; ma=86400';` to location blocks).**
+4. **Opening the https port for UDP in the container(because QUIC uses UDP).**
+5. **Adding tests.**
diff --git a/images/nginx-1.25/TAG b/images/nginx-1.25/TAG
index 837042c77..f25246219 100644
--- a/images/nginx-1.25/TAG
+++ b/images/nginx-1.25/TAG
@@ -1 +1 @@
-v0.0.5
\ No newline at end of file
+v0.0.12
diff --git a/images/nginx-1.25/cloudbuild.yaml b/images/nginx-1.25/cloudbuild.yaml
index c94539165..d8bb1f2a9 100644
--- a/images/nginx-1.25/cloudbuild.yaml
+++ b/images/nginx-1.25/cloudbuild.yaml
@@ -1,17 +1,14 @@
-timeout: 10800s
options:
- substitution_option: ALLOW_LOOSE
- # job builds a multi-arch docker image for amd64,arm,arm64
+ # Increase machine type for multi-arch builds.
machineType: E2_HIGHCPU_32
+ # Ignore Prow provided substitutions.
+ substitution_option: ALLOW_LOOSE
steps:
- - name: 'gcr.io/k8s-staging-test-infra/gcb-docker-gcloud:v20211118-2f2d816b90'
- entrypoint: bash
+ - name: gcr.io/k8s-staging-test-infra/gcb-docker-gcloud:v20240523-a15ad90fc9
env:
- - DOCKER_CLI_EXPERIMENTAL=enabled
- REGISTRY=gcr.io/k8s-staging-ingress-nginx
- - HOME=/root
+ entrypoint: bash
args:
- - -c
- - |
- gcloud auth configure-docker \
- && cd images/nginx-1.25 && make push
\ No newline at end of file
+ - -c
+ - gcloud auth configure-docker && cd images/nginx-1.25 && make push
+timeout: 7200s
diff --git a/images/nginx-1.25/rootfs/Dockerfile b/images/nginx-1.25/rootfs/Dockerfile
index 8327d99f2..13dcec33d 100644
--- a/images/nginx-1.25/rootfs/Dockerfile
+++ b/images/nginx-1.25/rootfs/Dockerfile
@@ -11,7 +11,7 @@
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
-FROM alpine:3.19.1 as builder
+FROM alpine:3.20.0 as builder
COPY . /
@@ -21,7 +21,7 @@ RUN apk update \
&& /build.sh
# Use a multi-stage build
-FROM alpine:3.19.1
+FROM alpine:3.20.0
ENV PATH=$PATH:/usr/local/luajit/bin:/usr/local/nginx/sbin:/usr/local/nginx/bin
diff --git a/images/nginx-1.25/rootfs/build.sh b/images/nginx-1.25/rootfs/build.sh
index 3fe610945..f60a260f9 100755
--- a/images/nginx-1.25/rootfs/build.sh
+++ b/images/nginx-1.25/rootfs/build.sh
@@ -18,7 +18,7 @@ set -o errexit
set -o nounset
set -o pipefail
-export NGINX_VERSION=1.25.3
+export NGINX_VERSION=1.25.5
# Check for recent changes: https://github.com/vision5/ngx_devel_kit/compare/v0.3.3...master
export NDK_VERSION=v0.3.3
@@ -41,43 +41,43 @@ export MODSECURITY_VERSION=v1.0.3
# Check for recent changes: https://github.com/SpiderLabs/ModSecurity/compare/v3.0.8...v3/master
export MODSECURITY_LIB_VERSION=v3.0.12
-# Check for recent changes: https://github.com/coreruleset/coreruleset/compare/v3.3.2...v3.3/master
-export OWASP_MODSECURITY_CRS_VERSION=v3.3.5
+# Check for recent changes: https://github.com/coreruleset/coreruleset/compare/v3.3.5...v4.0/main
+export OWASP_MODSECURITY_CRS_VERSION=v4.4.0
-# Check for recent changes: https://github.com/openresty/lua-nginx-module/compare/v0.10.25...master
+# Check for recent changes: https://github.com/openresty/lua-nginx-module/compare/v0.10.26``...master
export LUA_NGX_VERSION=v0.10.26
-# Check for recent changes: https://github.com/openresty/stream-lua-nginx-module/compare/v0.0.13...master
-export LUA_STREAM_NGX_VERSION=v0.0.14
+# Check for recent changes: https://github.com/openresty/stream-lua-nginx-module/compare/bea8a0c0de94cede71554f53818ac0267d675d63...master
+export LUA_STREAM_NGX_VERSION=bea8a0c0de94cede71554f53818ac0267d675d63
# Check for recent changes: https://github.com/openresty/lua-upstream-nginx-module/compare/8aa93ead98ba2060d4efd594ae33a35d153589bf...master
export LUA_UPSTREAM_VERSION=542be0893543a4e42d89f6dd85372972f5ff2a36
-# Check for recent changes: https://github.com/openresty/lua-cjson/compare/2.1.0.11...openresty:master
+# Check for recent changes: https://github.com/openresty/lua-cjson/compare/2.1.0.13...openresty:master
export LUA_CJSON_VERSION=2.1.0.13
-# Check for recent changes: https://github.com/leev/ngx_http_geoip2_module/compare/3.4...master
+# Check for recent changes: https://github.com/leev/ngx_http_geoip2_module/compare/a607a41a8115fecfc05b5c283c81532a3d605425...master
export GEOIP2_VERSION=a607a41a8115fecfc05b5c283c81532a3d605425
-# Check for recent changes: https://github.com/openresty/luajit2/compare/v2.1-20230410...v2.1-agentzh
-export LUAJIT_VERSION=v2.1-20231117
+# Check for recent changes: https://github.com/openresty/luajit2/compare/v2.1-20240314...v2.1-agentzh
+export LUAJIT_VERSION=v2.1-20240314
-# Check for recent changes: https://github.com/openresty/lua-resty-balancer/compare/v0.04...master
+# Check for recent changes: https://github.com/openresty/lua-resty-balancer/compare/1cd4363c0a239afe4765ec607dcfbbb4e5900eea...master
export LUA_RESTY_BALANCER=1cd4363c0a239afe4765ec607dcfbbb4e5900eea
-# Check for recent changes: https://github.com/openresty/lua-resty-lrucache/compare/v0.13...master
+# Check for recent changes: https://github.com/openresty/lua-resty-lrucache/compare/99e7578465b40f36f596d099b82eab404f2b42ed...master
export LUA_RESTY_CACHE=99e7578465b40f36f596d099b82eab404f2b42ed
# Check for recent changes: https://github.com/openresty/lua-resty-core/compare/v0.1.27...master
export LUA_RESTY_CORE=v0.1.28
-# Check for recent changes: https://github.com/cloudflare/lua-resty-cookie/compare/v0.1.0...master
+# Check for recent changes: https://github.com/cloudflare/lua-resty-cookie/compare/f418d77082eaef48331302e84330488fdc810ef4...master
export LUA_RESTY_COOKIE_VERSION=f418d77082eaef48331302e84330488fdc810ef4
-# Check for recent changes: https://github.com/openresty/lua-resty-dns/compare/v0.22...master
+# Check for recent changes: https://github.com/openresty/lua-resty-dns/compare/8bb53516e2933e61c317db740a9b7c2048847c2f...master
export LUA_RESTY_DNS=8bb53516e2933e61c317db740a9b7c2048847c2f
-# Check for recent changes: https://github.com/ledgetech/lua-resty-http/compare/v0.16.1...master
+# Check for recent changes: https://github.com/ledgetech/lua-resty-http/compare/v0.17.1...master
export LUA_RESTY_HTTP=v0.17.1
# Check for recent changes: https://github.com/openresty/lua-resty-lock/compare/v0.09...master
@@ -101,8 +101,8 @@ export LUA_RESTY_IPMATCHER_VERSION=3e93c53eb8c9884efe939ef070486a0e507cc5be
# Check for recent changes: https://github.com/ElvinEfendi/lua-resty-global-throttle/compare/v0.2.0...main
export LUA_RESTY_GLOBAL_THROTTLE_VERSION=v0.2.0
-# Check for recent changes: https://github.com/microsoft/mimalloc/compare/v1.7.6...master
-export MIMALOC_VERSION=v2.1.2
+# Check for recent changes: https://github.com/microsoft/mimalloc/compare/v2.1.7...master
+export MIMALOC_VERSION=v2.1.7
# Check on https://github.com/open-telemetry/opentelemetry-cpp
export OPENTELEMETRY_CPP_VERSION="v1.11.0"
@@ -181,7 +181,7 @@ apk add \
c-ares-dev \
re2-dev \
grpc-dev \
- protobuf-dev
+ protobuf-dev
# apk add -X http://dl-cdn.alpinelinux.org/alpine/edge/testing opentelemetry-cpp-dev
@@ -388,17 +388,13 @@ mv rules/REQUEST-900-EXCLUSION-RULES-BEFORE-CRS.conf.example rules/REQUEST-900-E
mv rules/RESPONSE-999-EXCLUSION-RULES-AFTER-CRS.conf.example rules/RESPONSE-999-EXCLUSION-RULES-AFTER-CRS.conf
cd ..
-# OWASP CRS v3 rules
+# OWASP CRS v4 rules
echo "
Include /etc/nginx/owasp-modsecurity-crs/crs-setup.conf
Include /etc/nginx/owasp-modsecurity-crs/rules/REQUEST-900-EXCLUSION-RULES-BEFORE-CRS.conf
Include /etc/nginx/owasp-modsecurity-crs/rules/REQUEST-901-INITIALIZATION.conf
-Include /etc/nginx/owasp-modsecurity-crs/rules/REQUEST-903.9001-DRUPAL-EXCLUSION-RULES.conf
-Include /etc/nginx/owasp-modsecurity-crs/rules/REQUEST-903.9002-WORDPRESS-EXCLUSION-RULES.conf
Include /etc/nginx/owasp-modsecurity-crs/rules/REQUEST-905-COMMON-EXCEPTIONS.conf
-Include /etc/nginx/owasp-modsecurity-crs/rules/REQUEST-910-IP-REPUTATION.conf
Include /etc/nginx/owasp-modsecurity-crs/rules/REQUEST-911-METHOD-ENFORCEMENT.conf
-Include /etc/nginx/owasp-modsecurity-crs/rules/REQUEST-912-DOS-PROTECTION.conf
Include /etc/nginx/owasp-modsecurity-crs/rules/REQUEST-913-SCANNER-DETECTION.conf
Include /etc/nginx/owasp-modsecurity-crs/rules/REQUEST-920-PROTOCOL-ENFORCEMENT.conf
Include /etc/nginx/owasp-modsecurity-crs/rules/REQUEST-921-PROTOCOL-ATTACK.conf
@@ -407,7 +403,7 @@ Include /etc/nginx/owasp-modsecurity-crs/rules/REQUEST-930-APPLICATION-ATTACK-LF
Include /etc/nginx/owasp-modsecurity-crs/rules/REQUEST-931-APPLICATION-ATTACK-RFI.conf
Include /etc/nginx/owasp-modsecurity-crs/rules/REQUEST-932-APPLICATION-ATTACK-RCE.conf
Include /etc/nginx/owasp-modsecurity-crs/rules/REQUEST-933-APPLICATION-ATTACK-PHP.conf
-Include /etc/nginx/owasp-modsecurity-crs/rules/REQUEST-934-APPLICATION-ATTACK-NODEJS.conf
+Include /etc/nginx/owasp-modsecurity-crs/rules/REQUEST-934-APPLICATION-ATTACK-GENERIC.conf
Include /etc/nginx/owasp-modsecurity-crs/rules/REQUEST-941-APPLICATION-ATTACK-XSS.conf
Include /etc/nginx/owasp-modsecurity-crs/rules/REQUEST-942-APPLICATION-ATTACK-SQLI.conf
Include /etc/nginx/owasp-modsecurity-crs/rules/REQUEST-943-APPLICATION-ATTACK-SESSION-FIXATION.conf
@@ -418,6 +414,7 @@ Include /etc/nginx/owasp-modsecurity-crs/rules/RESPONSE-951-DATA-LEAKAGES-SQL.co
Include /etc/nginx/owasp-modsecurity-crs/rules/RESPONSE-952-DATA-LEAKAGES-JAVA.conf
Include /etc/nginx/owasp-modsecurity-crs/rules/RESPONSE-953-DATA-LEAKAGES-PHP.conf
Include /etc/nginx/owasp-modsecurity-crs/rules/RESPONSE-954-DATA-LEAKAGES-IIS.conf
+Include /etc/nginx/owasp-modsecurity-crs/rules/RESPONSE-955-WEB-SHELLS.conf
Include /etc/nginx/owasp-modsecurity-crs/rules/RESPONSE-959-BLOCKING-EVALUATION.conf
Include /etc/nginx/owasp-modsecurity-crs/rules/RESPONSE-980-CORRELATION.conf
Include /etc/nginx/owasp-modsecurity-crs/rules/RESPONSE-999-EXCLUSION-RULES-AFTER-CRS.conf
@@ -447,6 +444,7 @@ WITH_FLAGS="--with-debug \
--with-http_gzip_static_module \
--with-http_sub_module \
--with-http_v2_module \
+ --with-http_v3_module \
--with-stream \
--with-stream_ssl_module \
--with-stream_realip_module \
@@ -624,7 +622,7 @@ for dir in "${writeDirs[@]}"; do
done
rm -rf /etc/nginx/owasp-modsecurity-crs/.git
-rm -rf /etc/nginx/owasp-modsecurity-crs/util/regression-tests
+rm -rf /etc/nginx/owasp-modsecurity-crs/tests
# remove .a files
find /usr/local -name "*.a" -print | xargs /bin/rm
diff --git a/images/nginx-1.25/rootfs/patches/drop-alias-root.patch b/images/nginx-1.25/rootfs/patches/00_drop-alias-root.patch
similarity index 100%
rename from images/nginx-1.25/rootfs/patches/drop-alias-root.patch
rename to images/nginx-1.25/rootfs/patches/00_drop-alias-root.patch
diff --git a/images/nginx-1.25/rootfs/patches/01_nginx-1.25.3-win32_max_err_str.patch b/images/nginx-1.25/rootfs/patches/01_nginx-1.25.3-win32_max_err_str.patch
new file mode 100644
index 000000000..8c3ba2791
--- /dev/null
+++ b/images/nginx-1.25/rootfs/patches/01_nginx-1.25.3-win32_max_err_str.patch
@@ -0,0 +1,15 @@
+diff --git a/src/os/win32/ngx_event_log.c b/src/os/win32/ngx_event_log.c
+index e11ed1e8..dce8eddd 100644
+--- a/src/os/win32/ngx_event_log.c
++++ b/src/os/win32/ngx_event_log.c
+@@ -8,7 +8,9 @@
+ #include
+
+
+-#define NGX_MAX_ERROR_STR 2048
++#ifndef NGX_MAX_ERROR_STR
++#define NGX_MAX_ERROR_STR 4096
++#endif
+
+
+ void ngx_cdecl
diff --git a/images/nginx-1.25/rootfs/patches/02_nginx-1.25.3-stream_balancer_export.patch b/images/nginx-1.25/rootfs/patches/02_nginx-1.25.3-stream_balancer_export.patch
new file mode 100644
index 000000000..f56bc5257
--- /dev/null
+++ b/images/nginx-1.25/rootfs/patches/02_nginx-1.25.3-stream_balancer_export.patch
@@ -0,0 +1,53 @@
+diff --git a/src/stream/ngx_stream_upstream_round_robin.c b/src/stream/ngx_stream_upstream_round_robin.c
+index 526de3a..b531ce1 100644
+--- a/src/stream/ngx_stream_upstream_round_robin.c
++++ b/src/stream/ngx_stream_upstream_round_robin.c
+@@ -21,10 +21,6 @@ static void ngx_stream_upstream_notify_round_robin_peer(
+
+ #if (NGX_STREAM_SSL)
+
+-static ngx_int_t ngx_stream_upstream_set_round_robin_peer_session(
+- ngx_peer_connection_t *pc, void *data);
+-static void ngx_stream_upstream_save_round_robin_peer_session(
+- ngx_peer_connection_t *pc, void *data);
+ static ngx_int_t ngx_stream_upstream_empty_set_session(
+ ngx_peer_connection_t *pc, void *data);
+ static void ngx_stream_upstream_empty_save_session(ngx_peer_connection_t *pc,
+@@ -690,7 +686,7 @@ ngx_stream_upstream_notify_round_robin_peer(ngx_peer_connection_t *pc,
+
+ #if (NGX_STREAM_SSL)
+
+-static ngx_int_t
++ngx_int_t
+ ngx_stream_upstream_set_round_robin_peer_session(ngx_peer_connection_t *pc,
+ void *data)
+ {
+@@ -756,7 +752,7 @@ ngx_stream_upstream_set_round_robin_peer_session(ngx_peer_connection_t *pc,
+ }
+
+
+-static void
++void
+ ngx_stream_upstream_save_round_robin_peer_session(ngx_peer_connection_t *pc,
+ void *data)
+ {
+diff --git a/src/stream/ngx_stream_upstream_round_robin.h b/src/stream/ngx_stream_upstream_round_robin.h
+index 35d9fce..75f3e31 100644
+--- a/src/stream/ngx_stream_upstream_round_robin.h
++++ b/src/stream/ngx_stream_upstream_round_robin.h
+@@ -142,5 +142,15 @@ ngx_int_t ngx_stream_upstream_get_round_robin_peer(ngx_peer_connection_t *pc,
+ void ngx_stream_upstream_free_round_robin_peer(ngx_peer_connection_t *pc,
+ void *data, ngx_uint_t state);
+
++#if (NGX_STREAM_SSL)
++ngx_int_t ngx_stream_upstream_set_round_robin_peer_session(
++ ngx_peer_connection_t *pc, void *data);
++void ngx_stream_upstream_save_round_robin_peer_session(
++ ngx_peer_connection_t *pc, void *data);
++#endif
++
++
++#define HAVE_NGX_STREAM_BALANCER_EXPORT_PATCH 1
++
+
+ #endif /* _NGX_STREAM_UPSTREAM_ROUND_ROBIN_H_INCLUDED_ */
diff --git a/images/nginx-1.25/rootfs/patches/03_nginx-1.25.3-stream_proxy_get_next_upstream_tries.patch b/images/nginx-1.25/rootfs/patches/03_nginx-1.25.3-stream_proxy_get_next_upstream_tries.patch
new file mode 100644
index 000000000..cb881f070
--- /dev/null
+++ b/images/nginx-1.25/rootfs/patches/03_nginx-1.25.3-stream_proxy_get_next_upstream_tries.patch
@@ -0,0 +1,31 @@
+diff --git a/src/stream/ngx_stream.h b/src/stream/ngx_stream.h
+index 09d2459..de92724 100644
+--- a/src/stream/ngx_stream.h
++++ b/src/stream/ngx_stream.h
+@@ -303,4 +303,7 @@ typedef ngx_int_t (*ngx_stream_filter_pt)(ngx_stream_session_t *s,
+ extern ngx_stream_filter_pt ngx_stream_top_filter;
+
+
++#define HAS_NGX_STREAM_PROXY_GET_NEXT_UPSTREAM_TRIES_PATCH 1
++
++
+ #endif /* _NGX_STREAM_H_INCLUDED_ */
+diff --git a/src/stream/ngx_stream_proxy_module.c b/src/stream/ngx_stream_proxy_module.c
+index 0afde1c..3254ce1 100644
+--- a/src/stream/ngx_stream_proxy_module.c
++++ b/src/stream/ngx_stream_proxy_module.c
+@@ -2156,3 +2156,14 @@ ngx_stream_proxy_bind(ngx_conf_t *cf, ngx_command_t *cmd, void *conf)
+
+ return NGX_CONF_OK;
+ }
++
++
++ngx_uint_t
++ngx_stream_proxy_get_next_upstream_tries(ngx_stream_session_t *s)
++{
++ ngx_stream_proxy_srv_conf_t *pscf;
++
++ pscf = ngx_stream_get_module_srv_conf(s, ngx_stream_proxy_module);
++
++ return pscf->next_upstream_tries;
++}
diff --git a/images/nginx-1.25/rootfs/patches/04_nginx-1.25.3-stream_proxy_timeout_fields.patch b/images/nginx-1.25/rootfs/patches/04_nginx-1.25.3-stream_proxy_timeout_fields.patch
new file mode 100644
index 000000000..39c59e206
--- /dev/null
+++ b/images/nginx-1.25/rootfs/patches/04_nginx-1.25.3-stream_proxy_timeout_fields.patch
@@ -0,0 +1,178 @@
+diff -u -r -p -Naur nginx-1.25.3/src/stream/ngx_stream.h nginx-1.25.3-patched/src/stream/ngx_stream.h
+--- nginx-1.25.3/src/stream/ngx_stream.h 2021-11-04 21:27:55.288708527 +0800
++++ nginx-1.25.3-patched/src/stream/ngx_stream.h 2021-11-04 21:28:50.768035209 +0800
+@@ -254,6 +254,15 @@ typedef struct {
+ } ngx_stream_module_t;
+
+
++typedef struct {
++ ngx_msec_t connect_timeout;
++ ngx_msec_t timeout;
++} ngx_stream_proxy_ctx_t;
++
++
++#define NGX_STREAM_HAVE_PROXY_TIMEOUT_FIELDS_PATCH 1
++
++
+ #define NGX_STREAM_MODULE 0x4d525453 /* "STRM" */
+
+ #define NGX_STREAM_MAIN_CONF 0x02000000
+@@ -307,6 +316,7 @@ void ngx_stream_finalize_session(ngx_str
+ extern ngx_module_t ngx_stream_module;
+ extern ngx_uint_t ngx_stream_max_module;
+ extern ngx_module_t ngx_stream_core_module;
++extern ngx_module_t ngx_stream_proxy_module;
+
+
+ typedef ngx_int_t (*ngx_stream_filter_pt)(ngx_stream_session_t *s,
+diff -u -r -p -Naur nginx-1.25.3/src/stream/ngx_stream_proxy_module.c nginx-1.25.3-patched/src/stream/ngx_stream_proxy_module.c
+--- nginx-1.25.3/src/stream/ngx_stream_proxy_module.c 2021-11-04 21:27:55.289708533 +0800
++++ nginx-1.25.3-patched/src/stream/ngx_stream_proxy_module.c 2021-11-04 21:37:03.578936990 +0800
+@@ -400,6 +400,7 @@ ngx_stream_proxy_handler(ngx_stream_sess
+ ngx_stream_proxy_srv_conf_t *pscf;
+ ngx_stream_upstream_srv_conf_t *uscf, **uscfp;
+ ngx_stream_upstream_main_conf_t *umcf;
++ ngx_stream_proxy_ctx_t *pctx;
+
+ c = s->connection;
+
+@@ -408,6 +409,17 @@ ngx_stream_proxy_handler(ngx_stream_sess
+ ngx_log_debug0(NGX_LOG_DEBUG_STREAM, c->log, 0,
+ "proxy connection handler");
+
++ pctx = ngx_palloc(c->pool, sizeof(ngx_stream_proxy_ctx_t));
++ if (pctx == NULL) {
++ ngx_stream_proxy_finalize(s, NGX_STREAM_INTERNAL_SERVER_ERROR);
++ return;
++ }
++
++ pctx->connect_timeout = pscf->connect_timeout;
++ pctx->timeout = pscf->timeout;
++
++ ngx_stream_set_ctx(s, pctx, ngx_stream_proxy_module);
++
+ u = ngx_pcalloc(c->pool, sizeof(ngx_stream_upstream_t));
+ if (u == NULL) {
+ ngx_stream_proxy_finalize(s, NGX_STREAM_INTERNAL_SERVER_ERROR);
+@@ -699,6 +711,7 @@ ngx_stream_proxy_connect(ngx_stream_sess
+ ngx_connection_t *c, *pc;
+ ngx_stream_upstream_t *u;
+ ngx_stream_proxy_srv_conf_t *pscf;
++ ngx_stream_proxy_ctx_t *ctx;
+
+ c = s->connection;
+
+@@ -706,6 +719,8 @@ ngx_stream_proxy_connect(ngx_stream_sess
+
+ pscf = ngx_stream_get_module_srv_conf(s, ngx_stream_proxy_module);
+
++ ctx = ngx_stream_get_module_ctx(s, ngx_stream_proxy_module);
++
+ u = s->upstream;
+
+ u->connected = 0;
+@@ -774,7 +789,7 @@ ngx_stream_proxy_connect(ngx_stream_sess
+ pc->read->handler = ngx_stream_proxy_connect_handler;
+ pc->write->handler = ngx_stream_proxy_connect_handler;
+
+- ngx_add_timer(pc->write, pscf->connect_timeout);
++ ngx_add_timer(pc->write, ctx->connect_timeout);
+ }
+
+
+@@ -957,12 +957,14 @@ ngx_stream_proxy_init_upstream(ngx_stream_session_t *s)
+ static ngx_int_t
+ ngx_stream_proxy_send_proxy_protocol(ngx_stream_session_t *s)
+ {
+- u_char *p;
+- ssize_t n, size;
+- ngx_connection_t *c, *pc;
+- ngx_stream_upstream_t *u;
+- ngx_stream_proxy_srv_conf_t *pscf;
+- u_char buf[NGX_PROXY_PROTOCOL_V1_MAX_HEADER];
++ u_char *p;
++ u_char buf[NGX_PROXY_PROTOCOL_V1_MAX_HEADER];
++ ssize_t n, size;
++ ngx_connection_t *c, *pc;
++ ngx_stream_upstream_t *u;
++ ngx_stream_proxy_ctx_t *ctx;
++
++ ctx = ngx_stream_get_module_ctx(s, ngx_stream_proxy_module);
+
+ c = s->connection;
+
+@@ -976,9 +993,7 @@ ngx_stream_proxy_send_proxy_protocol(ngx
+ return NGX_ERROR;
+ }
+
+- pscf = ngx_stream_get_module_srv_conf(s, ngx_stream_proxy_module);
+-
+- ngx_add_timer(pc->write, pscf->timeout);
++ ngx_add_timer(pc->write, ctx->timeout);
+
+ pc->write->handler = ngx_stream_proxy_connect_handler;
+
+@@ -1053,6 +1068,9 @@ ngx_stream_proxy_ssl_init_connection(ngx
+ ngx_connection_t *pc;
+ ngx_stream_upstream_t *u;
+ ngx_stream_proxy_srv_conf_t *pscf;
++ ngx_stream_proxy_ctx_t *ctx;
++
++ ctx = ngx_stream_get_module_ctx(s, ngx_stream_proxy_module);
+
+ u = s->upstream;
+
+@@ -1099,7 +1117,7 @@ ngx_stream_proxy_ssl_init_connection(ngx
+ if (rc == NGX_AGAIN) {
+
+ if (!pc->write->timer_set) {
+- ngx_add_timer(pc->write, pscf->connect_timeout);
++ ngx_add_timer(pc->write, ctx->connect_timeout);
+ }
+
+ pc->ssl->handler = ngx_stream_proxy_ssl_handshake;
+@@ -1408,6 +1426,7 @@ ngx_stream_proxy_process_connection(ngx_
+ ngx_stream_session_t *s;
+ ngx_stream_upstream_t *u;
+ ngx_stream_proxy_srv_conf_t *pscf;
++ ngx_stream_proxy_ctx_t *ctx;
+
+ c = ev->data;
+ s = c->data;
+@@ -1419,6 +1438,8 @@ ngx_stream_proxy_process_connection(ngx_
+ return;
+ }
+
++ ctx = ngx_stream_get_module_ctx(s, ngx_stream_proxy_module);
++
+ c = s->connection;
+ pc = u->peer.connection;
+
+@@ -1438,7 +1459,7 @@ ngx_stream_proxy_process_connection(ngx_
+ }
+
+ if (u->connected && !c->read->delayed && !pc->read->delayed) {
+- ngx_add_timer(c->write, pscf->timeout);
++ ngx_add_timer(c->write, ctx->timeout);
+ }
+
+ return;
+@@ -1600,6 +1621,9 @@ ngx_stream_proxy_process(ngx_stream_sess
+ ngx_log_handler_pt handler;
+ ngx_stream_upstream_t *u;
+ ngx_stream_proxy_srv_conf_t *pscf;
++ ngx_stream_proxy_ctx_t *ctx;
++
++ ctx = ngx_stream_get_module_ctx(s, ngx_stream_proxy_module);
+
+ u = s->upstream;
+
+@@ -1807,7 +1831,7 @@ ngx_stream_proxy_process(ngx_stream_sess
+ }
+
+ if (!c->read->delayed && !pc->read->delayed) {
+- ngx_add_timer(c->write, pscf->timeout);
++ ngx_add_timer(c->write, ctx->timeout);
+
+ } else if (c->write->timer_set) {
+ ngx_del_timer(c->write);
diff --git a/images/nginx-1.25/rootfs/patches/05_nginx-1.25.3-stream_ssl_preread_no_skip.patch b/images/nginx-1.25/rootfs/patches/05_nginx-1.25.3-stream_ssl_preread_no_skip.patch
new file mode 100644
index 000000000..e45e9f69a
--- /dev/null
+++ b/images/nginx-1.25/rootfs/patches/05_nginx-1.25.3-stream_ssl_preread_no_skip.patch
@@ -0,0 +1,13 @@
+diff --git a/src/stream/ngx_stream_ssl_preread_module.c b/src/stream/ngx_stream_ssl_preread_module.c
+index e3d11fd9..3717b5fe 100644
+--- a/src/stream/ngx_stream_ssl_preread_module.c
++++ b/src/stream/ngx_stream_ssl_preread_module.c
+@@ -159,7 +159,7 @@ ngx_stream_ssl_preread_handler(ngx_stream_session_t *s)
+
+ rc = ngx_stream_ssl_preread_parse_record(ctx, p, p + len);
+ if (rc != NGX_AGAIN) {
+- return rc;
++ return rc == NGX_OK ? NGX_DECLINED : rc;
+ }
+
+ p += len;
diff --git a/images/nginx-1.25/rootfs/patches/06_nginx-1.25.3-resolver_conf_parsing.patch b/images/nginx-1.25/rootfs/patches/06_nginx-1.25.3-resolver_conf_parsing.patch
new file mode 100644
index 000000000..8638cdf2a
--- /dev/null
+++ b/images/nginx-1.25/rootfs/patches/06_nginx-1.25.3-resolver_conf_parsing.patch
@@ -0,0 +1,263 @@
+diff --git a/src/core/ngx_resolver.c b/src/core/ngx_resolver.c
+index cd55520c..dade1846 100644
+--- a/src/core/ngx_resolver.c
++++ b/src/core/ngx_resolver.c
+@@ -9,12 +9,26 @@
+ #include
+ #include
+
++#if !(NGX_WIN32)
++#include
++#endif
++
+
+ #define NGX_RESOLVER_UDP_SIZE 4096
+
+ #define NGX_RESOLVER_TCP_RSIZE (2 + 65535)
+ #define NGX_RESOLVER_TCP_WSIZE 8192
+
++#if !(NGX_WIN32)
++/*
++ * note that 2KB should be more than enough for majority of the
++ * resolv.conf files out there. it also acts as a safety guard to prevent
++ * abuse.
++ */
++#define NGX_RESOLVER_FILE_BUF_SIZE 2048
++#define NGX_RESOLVER_FILE_NAME "/etc/resolv.conf"
++#endif
++
+
+ typedef struct {
+ u_char ident_hi;
+@@ -131,6 +145,191 @@ static ngx_resolver_node_t *ngx_resolver_lookup_addr6(ngx_resolver_t *r,
+ #endif
+
+
++#if !(NGX_WIN32)
++static ngx_int_t
++ngx_resolver_read_resolv_conf(ngx_conf_t *cf, ngx_resolver_t *r, u_char *path,
++ size_t path_len)
++{
++ ngx_url_t u;
++ ngx_resolver_connection_t *rec;
++ ngx_fd_t fd;
++ ngx_file_t file;
++ u_char buf[NGX_RESOLVER_FILE_BUF_SIZE];
++ u_char ipv6_buf[NGX_INET6_ADDRSTRLEN];
++ ngx_uint_t address = 0, j, total = 0;
++ ssize_t n, i;
++ enum {
++ sw_nameserver,
++ sw_spaces,
++ sw_address,
++ sw_skip
++ } state;
++
++ file.name.data = path;
++ file.name.len = path_len;
++
++ if (ngx_conf_full_name(cf->cycle, &file.name, 1) != NGX_OK) {
++ return NGX_ERROR;
++ }
++
++ fd = ngx_open_file(file.name.data, NGX_FILE_RDONLY,
++ NGX_FILE_OPEN, 0);
++
++ if (fd == NGX_INVALID_FILE) {
++ ngx_conf_log_error(NGX_LOG_EMERG, cf, ngx_errno,
++ ngx_open_file_n " \"%s\" failed", file.name.data);
++
++ return NGX_ERROR;
++ }
++
++ ngx_memzero(&file, sizeof(ngx_file_t));
++
++ file.fd = fd;
++ file.log = cf->log;
++
++ state = sw_nameserver;
++
++ n = ngx_read_file(&file, buf, NGX_RESOLVER_FILE_BUF_SIZE, 0);
++
++ if (n == NGX_ERROR) {
++ ngx_conf_log_error(NGX_LOG_ALERT, cf, ngx_errno,
++ ngx_read_file_n " \"%s\" failed", file.name.data);
++ }
++
++ if (ngx_close_file(file.fd) == NGX_FILE_ERROR) {
++ ngx_conf_log_error(NGX_LOG_ALERT, cf, ngx_errno,
++ ngx_close_file_n " \"%s\" failed", file.name.data);
++ }
++
++ if (n == NGX_ERROR) {
++ return NGX_ERROR;
++ }
++
++ if (n == 0) {
++ return NGX_OK;
++ }
++
++ for (i = 0; i < n && total < MAXNS; /* void */) {
++ if (buf[i] == '#' || buf[i] == ';') {
++ state = sw_skip;
++ }
++
++ switch (state) {
++
++ case sw_nameserver:
++
++ if ((size_t) n - i >= sizeof("nameserver") - 1
++ && ngx_memcmp(buf + i, "nameserver",
++ sizeof("nameserver") - 1) == 0)
++ {
++ state = sw_spaces;
++ i += sizeof("nameserver") - 1;
++
++ continue;
++ }
++
++ break;
++
++ case sw_spaces:
++ if (buf[i] != '\t' && buf[i] != ' ') {
++ address = i;
++ state = sw_address;
++ }
++
++ break;
++
++ case sw_address:
++
++ if (buf[i] == CR || buf[i] == LF || i == n - 1) {
++ ngx_memzero(&u, sizeof(ngx_url_t));
++
++ u.url.data = buf + address;
++
++ if (i == n - 1 && buf[i] != CR && buf[i] != LF) {
++ u.url.len = n - address;
++
++ } else {
++ u.url.len = i - address;
++ }
++
++ u.default_port = 53;
++
++ /* IPv6? */
++ if (ngx_strlchr(u.url.data, u.url.data + u.url.len,
++ ':') != NULL)
++ {
++ if (u.url.len + 2 > sizeof(ipv6_buf)) {
++ ngx_conf_log_error(NGX_LOG_EMERG, cf, 0,
++ "IPv6 resolver address is too long:"
++ " \"%V\"", &u.url);
++
++ return NGX_ERROR;
++ }
++
++ ipv6_buf[0] = '[';
++ ngx_memcpy(ipv6_buf + 1, u.url.data, u.url.len);
++ ipv6_buf[u.url.len + 1] = ']';
++
++ u.url.data = ipv6_buf;
++ u.url.len = u.url.len + 2;
++ }
++
++ if (ngx_parse_url(cf->pool, &u) != NGX_OK) {
++ if (u.err) {
++ ngx_conf_log_error(NGX_LOG_EMERG, cf, 0,
++ "%s in resolver \"%V\"",
++ u.err, &u.url);
++ }
++
++ return NGX_ERROR;
++ }
++
++ rec = ngx_array_push_n(&r->connections, u.naddrs);
++ if (rec == NULL) {
++ return NGX_ERROR;
++ }
++
++ ngx_memzero(rec, u.naddrs * sizeof(ngx_resolver_connection_t));
++
++ for (j = 0; j < u.naddrs; j++) {
++ rec[j].sockaddr = u.addrs[j].sockaddr;
++ rec[j].socklen = u.addrs[j].socklen;
++ rec[j].server = u.addrs[j].name;
++ rec[j].resolver = r;
++ }
++
++ total++;
++
++#if (NGX_DEBUG)
++ /*
++ * logs with level below NGX_LOG_NOTICE will not be printed
++ * in this early phase
++ */
++ ngx_conf_log_error(NGX_LOG_NOTICE, cf, 0,
++ "parsed a resolver: \"%V\"", &u.url);
++#endif
++
++ state = sw_nameserver;
++ }
++
++ break;
++
++ case sw_skip:
++ if (buf[i] == CR || buf[i] == LF) {
++ state = sw_nameserver;
++ }
++
++ break;
++ }
++
++ i++;
++ }
++
++ return NGX_OK;
++}
++#endif
++
++
+ ngx_resolver_t *
+ ngx_resolver_create(ngx_conf_t *cf, ngx_str_t *names, ngx_uint_t n)
+ {
+@@ -246,6 +445,39 @@ ngx_resolver_create(ngx_conf_t *cf, ngx_str_t *names, ngx_uint_t n)
+ }
+ #endif
+
++#if !(NGX_WIN32)
++ if (ngx_strncmp(names[i].data, "local=", 6) == 0) {
++
++ if (ngx_strcmp(&names[i].data[6], "on") == 0) {
++ if (ngx_resolver_read_resolv_conf(cf, r,
++ (u_char *)
++ NGX_RESOLVER_FILE_NAME,
++ sizeof(NGX_RESOLVER_FILE_NAME)
++ - 1)
++ != NGX_OK)
++ {
++ ngx_conf_log_error(NGX_LOG_EMERG, cf, 0,
++ "unable to parse local resolver");
++ return NULL;
++ }
++
++ } else if (ngx_strcmp(&names[i].data[6], "off") != 0) {
++ if (ngx_resolver_read_resolv_conf(cf, r,
++ &names[i].data[6],
++ names[i].len - 6)
++ != NGX_OK)
++ {
++ ngx_conf_log_error(NGX_LOG_EMERG, cf, 0,
++ "unable to parse local resolver");
++ return NULL;
++ }
++
++ }
++
++ continue;
++ }
++#endif
++
+ ngx_memzero(&u, sizeof(ngx_url_t));
+
+ u.url = names[i];
diff --git a/images/nginx-1.25/rootfs/patches/07_nginx-1.25.3-daemon_destroy_pool.patch b/images/nginx-1.25/rootfs/patches/07_nginx-1.25.3-daemon_destroy_pool.patch
new file mode 100644
index 000000000..5690b88f0
--- /dev/null
+++ b/images/nginx-1.25/rootfs/patches/07_nginx-1.25.3-daemon_destroy_pool.patch
@@ -0,0 +1,12 @@
+diff --git a/src/os/unix/ngx_daemon.c b/src/os/unix/ngx_daemon.c
+index ab672110..f259af31 100644
+--- a/src/os/unix/ngx_daemon.c
++++ b/src/os/unix/ngx_daemon.c
+@@ -23,6 +23,8 @@ ngx_daemon(ngx_log_t *log)
+ break;
+
+ default:
++ /* just to make it ASAN or Valgrind clean */
++ ngx_destroy_pool(ngx_cycle->pool);
+ exit(0);
+ }
diff --git a/images/nginx-1.25/rootfs/patches/08_nginx-1.25.3-init_cycle_pool_release.patch b/images/nginx-1.25/rootfs/patches/08_nginx-1.25.3-init_cycle_pool_release.patch
new file mode 100644
index 000000000..bd2e9a7d9
--- /dev/null
+++ b/images/nginx-1.25/rootfs/patches/08_nginx-1.25.3-init_cycle_pool_release.patch
@@ -0,0 +1,59 @@
+diff -rup nginx-1.25.3/src/core/nginx.c nginx-1.25.3-patched/src/core/nginx.c
+--- nginx-1.25.3/src/core/nginx.c 2017-12-17 00:00:38.136470108 -0800
++++ nginx-1.25.3-patched/src/core/nginx.c 2017-12-16 23:59:51.680958322 -0800
+@@ -186,6 +186,7 @@ static u_char *ngx_prefix;
+ static u_char *ngx_conf_file;
+ static u_char *ngx_conf_params;
+ static char *ngx_signal;
++ngx_pool_t *saved_init_cycle_pool = NULL;
+
+
+ static char **ngx_os_environ;
+@@ -253,6 +254,8 @@ main(int argc, char *const *argv)
+ return 1;
+ }
+
++ saved_init_cycle_pool = init_cycle.pool;
++
+ if (ngx_save_argv(&init_cycle, argc, argv) != NGX_OK) {
+ return 1;
+ }
+diff -rup nginx-1.25.3/src/core/ngx_core.h nginx-1.25.3-patched/src/core/ngx_core.h
+--- nginx-1.25.3/src/core/ngx_core.h 2017-10-10 08:22:51.000000000 -0700
++++ nginx-1.25.3-patched/src/core/ngx_core.h 2017-12-16 23:59:51.679958370 -0800
+@@ -108,4 +108,6 @@ void ngx_cpuinfo(void);
+ #define NGX_DISABLE_SYMLINKS_NOTOWNER 2
+ #endif
+
++extern ngx_pool_t *saved_init_cycle_pool;
++
+ #endif /* _NGX_CORE_H_INCLUDED_ */
+diff -rup nginx-1.25.3/src/core/ngx_cycle.c nginx-1.25.3-patched/src/core/ngx_cycle.c
+--- nginx-1.25.3/src/core/ngx_cycle.c 2017-10-10 08:22:51.000000000 -0700
++++ nginx-1.25.3-patched/src/core/ngx_cycle.c 2017-12-16 23:59:51.678958419 -0800
+@@ -748,6 +748,10 @@ old_shm_zone_done:
+
+ if (ngx_process == NGX_PROCESS_MASTER || ngx_is_init_cycle(old_cycle)) {
+
++ if (ngx_is_init_cycle(old_cycle)) {
++ saved_init_cycle_pool = NULL;
++ }
++
+ ngx_destroy_pool(old_cycle->pool);
+ cycle->old_cycle = NULL;
+
+diff -rup nginx-1.25.3/src/os/unix/ngx_process_cycle.c nginx-1.25.3-patched/src/os/unix/ngx_process_cycle.c
+--- nginx-1.25.3/src/os/unix/ngx_process_cycle.c 2017-12-17 00:00:38.142469762 -0800
++++ nginx-1.25.3-patched/src/os/unix/ngx_process_cycle.c 2017-12-16 23:59:51.691957791 -0800
+@@ -687,6 +692,11 @@ ngx_master_process_exit(ngx_cycle_t *cyc
+ ngx_exit_cycle.files_n = ngx_cycle->files_n;
+ ngx_cycle = &ngx_exit_cycle;
+
++ if (saved_init_cycle_pool != NULL && saved_init_cycle_pool != cycle->pool) {
++ ngx_destroy_pool(saved_init_cycle_pool);
++ saved_init_cycle_pool = NULL;
++ }
++
+ ngx_destroy_pool(cycle->pool);
+
+ exit(0);
diff --git a/images/nginx-1.25/rootfs/patches/09_nginx-1.25.3-balancer_status_code.patch b/images/nginx-1.25/rootfs/patches/09_nginx-1.25.3-balancer_status_code.patch
new file mode 100644
index 000000000..c4d87e2fb
--- /dev/null
+++ b/images/nginx-1.25/rootfs/patches/09_nginx-1.25.3-balancer_status_code.patch
@@ -0,0 +1,72 @@
+diff --git a/src/http/ngx_http_upstream.c b/src/http/ngx_http_upstream.c
+index f8d5707d..6efe0047 100644
+--- a/src/http/ngx_http_upstream.c
++++ b/src/http/ngx_http_upstream.c
+@@ -1515,6 +1515,11 @@ ngx_http_upstream_connect(ngx_http_request_t *r, ngx_http_upstream_t *u)
+ return;
+ }
+
++ if (rc >= NGX_HTTP_SPECIAL_RESPONSE) {
++ ngx_http_upstream_finalize_request(r, u, rc);
++ return;
++ }
++
+ u->state->peer = u->peer.name;
+
+ if (rc == NGX_BUSY) {
+diff --git a/src/http/ngx_http_upstream.h b/src/http/ngx_http_upstream.h
+index 3e714e5b..dfbb25e0 100644
+--- a/src/http/ngx_http_upstream.h
++++ b/src/http/ngx_http_upstream.h
+@@ -427,4 +427,9 @@ extern ngx_conf_bitmask_t ngx_http_upstream_cache_method_mask[];
+ extern ngx_conf_bitmask_t ngx_http_upstream_ignore_headers_masks[];
+
+
++#ifndef HAVE_BALANCER_STATUS_CODE_PATCH
++#define HAVE_BALANCER_STATUS_CODE_PATCH
++#endif
++
++
+ #endif /* _NGX_HTTP_UPSTREAM_H_INCLUDED_ */
+diff --git a/src/stream/ngx_stream.h b/src/stream/ngx_stream.h
+index 09d24593..d8b4b584 100644
+--- a/src/stream/ngx_stream.h
++++ b/src/stream/ngx_stream.h
+@@ -27,6 +27,7 @@ typedef struct ngx_stream_session_s ngx_stream_session_t;
+
+
+ #define NGX_STREAM_OK 200
++#define NGX_STREAM_SPECIAL_RESPONSE 300
+ #define NGX_STREAM_BAD_REQUEST 400
+ #define NGX_STREAM_FORBIDDEN 403
+ #define NGX_STREAM_INTERNAL_SERVER_ERROR 500
+diff --git a/src/stream/ngx_stream_proxy_module.c b/src/stream/ngx_stream_proxy_module.c
+index 818d7329..329dcdc6 100644
+--- a/src/stream/ngx_stream_proxy_module.c
++++ b/src/stream/ngx_stream_proxy_module.c
+@@ -691,6 +691,11 @@ ngx_stream_proxy_connect(ngx_stream_session_t *s)
+ return;
+ }
+
++ if (rc >= NGX_STREAM_SPECIAL_RESPONSE) {
++ ngx_stream_proxy_finalize(s, rc);
++ return;
++ }
++
+ u->state->peer = u->peer.name;
+
+ if (rc == NGX_BUSY) {
+diff --git a/src/stream/ngx_stream_upstream.h b/src/stream/ngx_stream_upstream.h
+index 73947f46..21bc0ad7 100644
+--- a/src/stream/ngx_stream_upstream.h
++++ b/src/stream/ngx_stream_upstream.h
+@@ -151,4 +151,9 @@ ngx_stream_upstream_srv_conf_t *ngx_stream_upstream_add(ngx_conf_t *cf,
+ extern ngx_module_t ngx_stream_upstream_module;
+
+
++#ifndef HAVE_BALANCER_STATUS_CODE_PATCH
++#define HAVE_BALANCER_STATUS_CODE_PATCH
++#endif
++
++
+ #endif /* _NGX_STREAM_UPSTREAM_H_INCLUDED_ */
diff --git a/images/nginx-1.25/rootfs/patches/10_nginx-1.25.3-delayed_posted_events.patch b/images/nginx-1.25/rootfs/patches/10_nginx-1.25.3-delayed_posted_events.patch
new file mode 100644
index 000000000..687584324
--- /dev/null
+++ b/images/nginx-1.25/rootfs/patches/10_nginx-1.25.3-delayed_posted_events.patch
@@ -0,0 +1,98 @@
+diff --git a/src/event/ngx_event.c b/src/event/ngx_event.c
+index 57af8132..4853945f 100644
+--- a/src/event/ngx_event.c
++++ b/src/event/ngx_event.c
+@@ -196,6 +196,9 @@ ngx_process_events_and_timers(ngx_cycle_t *cycle)
+ ngx_uint_t flags;
+ ngx_msec_t timer, delta;
+
++ ngx_queue_t *q;
++ ngx_event_t *ev;
++
+ if (ngx_timer_resolution) {
+ timer = NGX_TIMER_INFINITE;
+ flags = 0;
+@@ -215,6 +218,13 @@ ngx_process_events_and_timers(ngx_cycle_t *cycle)
+ #endif
+ }
+
++ if (!ngx_queue_empty(&ngx_posted_delayed_events)) {
++ ngx_log_debug0(NGX_LOG_DEBUG_EVENT, cycle->log, 0,
++ "posted delayed event queue not empty"
++ " making poll timeout 0");
++ timer = 0;
++ }
++
+ if (ngx_use_accept_mutex) {
+ if (ngx_accept_disabled > 0) {
+ ngx_accept_disabled--;
+@@ -257,6 +267,35 @@ ngx_process_events_and_timers(ngx_cycle_t *cycle)
+ }
+
+ ngx_event_process_posted(cycle, &ngx_posted_events);
++
++ while (!ngx_queue_empty(&ngx_posted_delayed_events)) {
++ q = ngx_queue_head(&ngx_posted_delayed_events);
++
++ ev = ngx_queue_data(q, ngx_event_t, queue);
++ if (ev->delayed) {
++ /* start of newly inserted nodes */
++ for (/* void */;
++ q != ngx_queue_sentinel(&ngx_posted_delayed_events);
++ q = ngx_queue_next(q))
++ {
++ ev = ngx_queue_data(q, ngx_event_t, queue);
++ ev->delayed = 0;
++
++ ngx_log_debug1(NGX_LOG_DEBUG_EVENT, cycle->log, 0,
++ "skipping delayed posted event %p,"
++ " till next iteration", ev);
++ }
++
++ break;
++ }
++
++ ngx_log_debug1(NGX_LOG_DEBUG_EVENT, cycle->log, 0,
++ "delayed posted event %p", ev);
++
++ ngx_delete_posted_event(ev);
++
++ ev->handler(ev);
++ }
+ }
+
+
+@@ -600,6 +639,7 @@ ngx_event_process_init(ngx_cycle_t *cycle)
+
+ ngx_queue_init(&ngx_posted_accept_events);
+ ngx_queue_init(&ngx_posted_events);
++ ngx_queue_init(&ngx_posted_delayed_events);
+
+ if (ngx_event_timer_init(cycle->log) == NGX_ERROR) {
+ return NGX_ERROR;
+diff --git a/src/event/ngx_event_posted.c b/src/event/ngx_event_posted.c
+index d851f3d1..b6cea009 100644
+--- a/src/event/ngx_event_posted.c
++++ b/src/event/ngx_event_posted.c
+@@ -12,6 +12,7 @@
+
+ ngx_queue_t ngx_posted_accept_events;
+ ngx_queue_t ngx_posted_events;
++ngx_queue_t ngx_posted_delayed_events;
+
+
+ void
+diff --git a/src/event/ngx_event_posted.h b/src/event/ngx_event_posted.h
+index 145d30fe..6c388553 100644
+--- a/src/event/ngx_event_posted.h
++++ b/src/event/ngx_event_posted.h
+@@ -43,6 +43,9 @@ void ngx_event_process_posted(ngx_cycle_t *cycle, ngx_queue_t *posted);
+
+ extern ngx_queue_t ngx_posted_accept_events;
+ extern ngx_queue_t ngx_posted_events;
++extern ngx_queue_t ngx_posted_delayed_events;
++
++#define HAVE_POSTED_DELAYED_EVENTS_PATCH
+
+
+ #endif /* _NGX_EVENT_POSTED_H_INCLUDED_ */
diff --git a/images/nginx-1.25/rootfs/patches/11_nginx-1.25.3-privileged_agent_process.patch b/images/nginx-1.25/rootfs/patches/11_nginx-1.25.3-privileged_agent_process.patch
new file mode 100644
index 000000000..164004eba
--- /dev/null
+++ b/images/nginx-1.25/rootfs/patches/11_nginx-1.25.3-privileged_agent_process.patch
@@ -0,0 +1,203 @@
+diff --git a/src/core/nginx.c b/src/core/nginx.c
+index 60f8fe7..4bd244b 100644
+--- a/src/core/nginx.c
++++ b/src/core/nginx.c
+@@ -981,6 +981,7 @@ ngx_core_module_create_conf(ngx_cycle_t *cycle)
+
+ ccf->daemon = NGX_CONF_UNSET;
+ ccf->master = NGX_CONF_UNSET;
++ ccf->privileged_agent = NGX_CONF_UNSET;
+ ccf->timer_resolution = NGX_CONF_UNSET_MSEC;
+
+ ccf->worker_processes = NGX_CONF_UNSET;
+@@ -1009,6 +1010,7 @@ ngx_core_module_init_conf(ngx_cycle_t *cycle, void *conf)
+
+ ngx_conf_init_value(ccf->daemon, 1);
+ ngx_conf_init_value(ccf->master, 1);
++ ngx_conf_init_value(ccf->privileged_agent, 0);
+ ngx_conf_init_msec_value(ccf->timer_resolution, 0);
+
+ ngx_conf_init_value(ccf->worker_processes, 1);
+diff --git a/src/core/ngx_cycle.h b/src/core/ngx_cycle.h
+index c51b7ff..3261f90 100644
+--- a/src/core/ngx_cycle.h
++++ b/src/core/ngx_cycle.h
+@@ -22,6 +22,9 @@
+ #define NGX_DEBUG_POINTS_ABORT 2
+
+
++#define HAVE_PRIVILEGED_PROCESS_PATCH 1
++
++
+ typedef struct ngx_shm_zone_s ngx_shm_zone_t;
+
+ typedef ngx_int_t (*ngx_shm_zone_init_pt) (ngx_shm_zone_t *zone, void *data);
+@@ -81,6 +84,7 @@ struct ngx_cycle_s {
+ typedef struct {
+ ngx_flag_t daemon;
+ ngx_flag_t master;
++ ngx_flag_t privileged_agent;
+
+ ngx_msec_t timer_resolution;
+
+diff --git a/src/os/unix/ngx_process_cycle.c b/src/os/unix/ngx_process_cycle.c
+index 7cee1c5..c4f70d6 100644
+--- a/src/os/unix/ngx_process_cycle.c
++++ b/src/os/unix/ngx_process_cycle.c
+@@ -15,6 +15,8 @@ static void ngx_start_worker_processes(ngx_cycle_t *cycle, ngx_int_t n,
+ ngx_int_t type);
+ static void ngx_start_cache_manager_processes(ngx_cycle_t *cycle,
+ ngx_uint_t respawn);
++static void ngx_start_privileged_agent_processes(ngx_cycle_t *cycle,
++ ngx_uint_t respawn);
+ static void ngx_pass_open_channel(ngx_cycle_t *cycle);
+ static void ngx_signal_worker_processes(ngx_cycle_t *cycle, int signo);
+ static ngx_uint_t ngx_reap_children(ngx_cycle_t *cycle);
+@@ -24,6 +26,7 @@ static void ngx_worker_process_init(ngx_cycle_t *cycle, ngx_int_t worker);
+ static void ngx_worker_process_exit(ngx_cycle_t *cycle);
+ static void ngx_channel_handler(ngx_event_t *ev);
+ static void ngx_cache_manager_process_cycle(ngx_cycle_t *cycle, void *data);
++static void ngx_privileged_agent_process_cycle(ngx_cycle_t *cycle, void *data);
+ static void ngx_cache_manager_process_handler(ngx_event_t *ev);
+ static void ngx_cache_loader_process_handler(ngx_event_t *ev);
+
+@@ -51,6 +54,8 @@ sig_atomic_t ngx_noaccept;
+ ngx_uint_t ngx_noaccepting;
+ ngx_uint_t ngx_restart;
+
++ngx_uint_t ngx_is_privileged_agent;
++
+
+ static u_char master_process[] = "master process";
+
+@@ -130,6 +135,7 @@ ngx_master_process_cycle(ngx_cycle_t *cycle)
+ ngx_start_worker_processes(cycle, ccf->worker_processes,
+ NGX_PROCESS_RESPAWN);
+ ngx_start_cache_manager_processes(cycle, 0);
++ ngx_start_privileged_agent_processes(cycle, 0);
+
+ ngx_new_binary = 0;
+ delay = 0;
+@@ -215,6 +221,7 @@ ngx_master_process_cycle(ngx_cycle_t *cycle)
+ ngx_start_worker_processes(cycle, ccf->worker_processes,
+ NGX_PROCESS_RESPAWN);
+ ngx_start_cache_manager_processes(cycle, 0);
++ ngx_start_privileged_agent_processes(cycle, 0);
+ ngx_noaccepting = 0;
+
+ continue;
+@@ -234,6 +241,7 @@ ngx_master_process_cycle(ngx_cycle_t *cycle)
+ ngx_start_worker_processes(cycle, ccf->worker_processes,
+ NGX_PROCESS_JUST_RESPAWN);
+ ngx_start_cache_manager_processes(cycle, 1);
++ ngx_start_privileged_agent_processes(cycle, 1);
+
+ /* allow new processes to start */
+ ngx_msleep(100);
+@@ -248,6 +256,7 @@ ngx_master_process_cycle(ngx_cycle_t *cycle)
+ ngx_start_worker_processes(cycle, ccf->worker_processes,
+ NGX_PROCESS_RESPAWN);
+ ngx_start_cache_manager_processes(cycle, 0);
++ ngx_start_privileged_agent_processes(cycle, 0);
+ live = 1;
+ }
+
+@@ -393,6 +431,26 @@ ngx_start_cache_manager_processes(ngx_cycle_t *cycle, ngx_uint_t respawn)
+
+
+ static void
++ngx_start_privileged_agent_processes(ngx_cycle_t *cycle, ngx_uint_t respawn)
++{
++ ngx_core_conf_t *ccf;
++
++ ccf = (ngx_core_conf_t *) ngx_get_conf(cycle->conf_ctx,
++ ngx_core_module);
++
++ if (!ccf->privileged_agent) {
++ return;
++ }
++
++ ngx_spawn_process(cycle, ngx_privileged_agent_process_cycle,
++ "privileged agent process", "privileged agent process",
++ respawn ? NGX_PROCESS_JUST_RESPAWN : NGX_PROCESS_RESPAWN);
++
++ ngx_pass_open_channel(cycle);
++}
++
++
++static void
+ ngx_pass_open_channel(ngx_cycle_t *cycle)
+ {
+ ngx_int_t i;
+@@ -794,7 +860,10 @@ ngx_worker_process_init(ngx_cycle_t *cycle, ngx_int_t worker)
+ }
+ }
+
+- if (geteuid() == 0) {
++ /*
++ * privileged agent process has the same permission as master process
++ */
++ if (!ngx_is_privileged_agent && geteuid() == 0) {
+ if (setgid(ccf->group) == -1) {
+ ngx_log_error(NGX_LOG_EMERG, cycle->log, ngx_errno,
+ "setgid(%d) failed", ccf->group);
+@@ -1149,6 +1216,47 @@ ngx_cache_manager_process_cycle(ngx_cycle_t *cycle, void *data)
+
+
+ static void
++ngx_privileged_agent_process_cycle(ngx_cycle_t *cycle, void *data)
++{
++ char *name = data;
++
++ /*
++ * Set correct process type since closing listening Unix domain socket
++ * in a master process also removes the Unix domain socket file.
++ */
++ ngx_process = NGX_PROCESS_HELPER;
++ ngx_is_privileged_agent = 1;
++
++ ngx_close_listening_sockets(cycle);
++
++ /* Set a moderate number of connections for a helper process. */
++ cycle->connection_n = 512;
++
++ ngx_worker_process_init(cycle, -1);
++
++ ngx_use_accept_mutex = 0;
++
++ ngx_setproctitle(name);
++
++ for ( ;; ) {
++
++ if (ngx_terminate || ngx_quit) {
++ ngx_log_error(NGX_LOG_NOTICE, cycle->log, 0, "exiting");
++ ngx_worker_process_exit(cycle);
++ }
++
++ if (ngx_reopen) {
++ ngx_reopen = 0;
++ ngx_log_error(NGX_LOG_NOTICE, cycle->log, 0, "reopening logs");
++ ngx_reopen_files(cycle, -1);
++ }
++
++ ngx_process_events_and_timers(cycle);
++ }
++}
++
++
++static void
+ ngx_cache_manager_process_handler(ngx_event_t *ev)
+ {
+ time_t next, n;
+diff --git a/src/os/unix/ngx_process_cycle.h b/src/os/unix/ngx_process_cycle.h
+index 69495d5..5149396 100644
+--- a/src/os/unix/ngx_process_cycle.h
++++ b/src/os/unix/ngx_process_cycle.h
+@@ -45,6 +45,7 @@ extern ngx_pid_t ngx_new_binary;
+ extern ngx_uint_t ngx_inherited;
+ extern ngx_uint_t ngx_daemonized;
+ extern ngx_uint_t ngx_exiting;
++extern ngx_uint_t ngx_is_privileged_agent;
+
+ extern sig_atomic_t ngx_reap;
+ extern sig_atomic_t ngx_sigio;
diff --git a/images/nginx-1.25/rootfs/patches/12_nginx-1.25.3-privileged_agent_process_connections.patch b/images/nginx-1.25/rootfs/patches/12_nginx-1.25.3-privileged_agent_process_connections.patch
new file mode 100644
index 000000000..5c38929cf
--- /dev/null
+++ b/images/nginx-1.25/rootfs/patches/12_nginx-1.25.3-privileged_agent_process_connections.patch
@@ -0,0 +1,73 @@
+diff --git a/src/core/nginx.c b/src/core/nginx.c
+index 269ff84..48329bd 100644
+--- a/src/core/nginx.c
++++ b/src/core/nginx.c
+@@ -1062,6 +1062,7 @@ ngx_core_module_create_conf(ngx_cycle_t *cycle)
+ ccf->daemon = NGX_CONF_UNSET;
+ ccf->master = NGX_CONF_UNSET;
+ ccf->privileged_agent = NGX_CONF_UNSET;
++ ccf->privileged_agent_connections = NGX_CONF_UNSET_UINT;
+ ccf->timer_resolution = NGX_CONF_UNSET_MSEC;
+ ccf->shutdown_timeout = NGX_CONF_UNSET_MSEC;
+
+@@ -1092,6 +1093,7 @@ ngx_core_module_init_conf(ngx_cycle_t *cycle, void *conf)
+ ngx_conf_init_value(ccf->daemon, 1);
+ ngx_conf_init_value(ccf->master, 1);
+ ngx_conf_init_value(ccf->privileged_agent, 0);
++ ngx_conf_init_uint_value(ccf->privileged_agent_connections, 512);
+ ngx_conf_init_msec_value(ccf->timer_resolution, 0);
+ ngx_conf_init_msec_value(ccf->shutdown_timeout, 0);
+
+diff --git a/src/core/ngx_cycle.h b/src/core/ngx_cycle.h
+index 6a9583e..4469390 100644
+--- a/src/core/ngx_cycle.h
++++ b/src/core/ngx_cycle.h
+@@ -93,6 +93,7 @@ typedef struct {
+ ngx_flag_t daemon;
+ ngx_flag_t master;
+ ngx_flag_t privileged_agent;
++ ngx_uint_t privileged_agent_connections;
+
+ ngx_msec_t timer_resolution;
+ ngx_msec_t shutdown_timeout;
+diff --git a/src/os/unix/ngx_process_cycle.c b/src/os/unix/ngx_process_cycle.c
+index df25f9d..bd259c1 100644
+--- a/src/os/unix/ngx_process_cycle.c
++++ b/src/os/unix/ngx_process_cycle.c
+@@ -1179,6 +1179,7 @@ static void
+ ngx_privileged_agent_process_cycle(ngx_cycle_t *cycle, void *data)
+ {
+ char *name = data;
++ ngx_core_conf_t *ccf = (ngx_core_conf_t *) ngx_get_conf(cycle->conf_ctx, ngx_core_module);
+
+ /*
+ * Set correct process type since closing listening Unix domain socket
+@@ -1190,7 +1191,7 @@ ngx_privileged_agent_process_cycle(ngx_cycle_t *cycle, void *data)
+ ngx_close_listening_sockets(cycle);
+
+ /* Set a moderate number of connections for a helper process. */
+- cycle->connection_n = 512;
++ cycle->connection_n = ccf->privileged_agent_connections;
+
+ ngx_worker_process_init(cycle, -1);
+
+diff --git a/src/os/unix/ngx_process_cycle.c b/src/os/unix/ngx_process_cycle.c
+index df25f9d..bd259c1 100644
+--- a/src/os/unix/ngx_process_cycle.c
++++ b/src/os/unix/ngx_process_cycle.c
+@@ -442,6 +442,15 @@
+ return;
+ }
+
++ /* 0 is an illegal value and may result in a core dump later */
++ if (ccf->privileged_agent_connections == 0) {
++ ngx_log_error(NGX_LOG_ALERT, cycle->log, 0,
++ "%ui worker_connection is not enough, "
++ "privileged agent process cannot be spawned",
++ ccf->privileged_agent_connections);
++ return;
++ }
++
+ ngx_spawn_process(cycle, ngx_privileged_agent_process_cycle,
+ "privileged agent process", "privileged agent process",
+ respawn ? NGX_PROCESS_JUST_RESPAWN : NGX_PROCESS_RESPAWN);
diff --git a/images/nginx-1.25/rootfs/patches/13_nginx-1.25.3-privileged_agent_process_thread_pool.patch b/images/nginx-1.25/rootfs/patches/13_nginx-1.25.3-privileged_agent_process_thread_pool.patch
new file mode 100644
index 000000000..829f21460
--- /dev/null
+++ b/images/nginx-1.25/rootfs/patches/13_nginx-1.25.3-privileged_agent_process_thread_pool.patch
@@ -0,0 +1,12 @@
+--- a/src/core/ngx_thread_pool.c
++++ b/src/core/ngx_thread_pool.c
+@@ -587,7 +587,8 @@
+ ngx_thread_pool_conf_t *tcf;
+
+ if (ngx_process != NGX_PROCESS_WORKER
+- && ngx_process != NGX_PROCESS_SINGLE)
++ && ngx_process != NGX_PROCESS_SINGLE
++ && !ngx_is_privileged_agent)
+ {
+ return NGX_OK;
+ }
diff --git a/images/nginx-1.25/rootfs/patches/14_nginx-1.25.3-single_process_graceful_exit.patch b/images/nginx-1.25/rootfs/patches/14_nginx-1.25.3-single_process_graceful_exit.patch
new file mode 100644
index 000000000..2754fc2fe
--- /dev/null
+++ b/images/nginx-1.25/rootfs/patches/14_nginx-1.25.3-single_process_graceful_exit.patch
@@ -0,0 +1,75 @@
+diff --git a/src/os/unix/ngx_process.c b/src/os/unix/ngx_process.c
+index 15680237..12a8c687 100644
+--- a/src/os/unix/ngx_process.c
++++ b/src/os/unix/ngx_process.c
+@@ -362,8 +362,15 @@ ngx_signal_handler(int signo, siginfo_t *siginfo, void *ucontext)
+ break;
+
+ case ngx_signal_value(NGX_RECONFIGURE_SIGNAL):
+- ngx_reconfigure = 1;
+- action = ", reconfiguring";
++ if (ngx_process == NGX_PROCESS_SINGLE) {
++ ngx_terminate = 1;
++ action = ", exiting";
++
++ } else {
++ ngx_reconfigure = 1;
++ action = ", reconfiguring";
++ }
++
+ break;
+
+ case ngx_signal_value(NGX_REOPEN_SIGNAL):
+diff --git a/src/os/unix/ngx_process_cycle.c b/src/os/unix/ngx_process_cycle.c
+index 5817a2c2..f3d58e97 100644
+--- a/src/os/unix/ngx_process_cycle.c
++++ b/src/os/unix/ngx_process_cycle.c
+@@ -305,11 +305,26 @@ ngx_single_process_cycle(ngx_cycle_t *cycle)
+ }
+
+ for ( ;; ) {
++ if (ngx_exiting) {
++ if (ngx_event_no_timers_left() == NGX_OK) {
++ ngx_log_error(NGX_LOG_NOTICE, cycle->log, 0, "exiting");
++
++ for (i = 0; cycle->modules[i]; i++) {
++ if (cycle->modules[i]->exit_process) {
++ cycle->modules[i]->exit_process(cycle);
++ }
++ }
++
++ ngx_master_process_exit(cycle);
++ }
++ }
++
+ ngx_log_debug0(NGX_LOG_DEBUG_EVENT, cycle->log, 0, "worker cycle");
+
+ ngx_process_events_and_timers(cycle);
+
+- if (ngx_terminate || ngx_quit) {
++ if (ngx_terminate) {
++ ngx_log_error(NGX_LOG_NOTICE, cycle->log, 0, "exiting");
+
+ for (i = 0; cycle->modules[i]; i++) {
+ if (cycle->modules[i]->exit_process) {
+@@ -320,6 +335,20 @@ ngx_single_process_cycle(ngx_cycle_t *cycle)
+ ngx_master_process_exit(cycle);
+ }
+
++ if (ngx_quit) {
++ ngx_quit = 0;
++ ngx_log_error(NGX_LOG_NOTICE, cycle->log, 0,
++ "gracefully shutting down");
++ ngx_setproctitle("process is shutting down");
++
++ if (!ngx_exiting) {
++ ngx_exiting = 1;
++ ngx_set_shutdown_timer(cycle);
++ ngx_close_listening_sockets(cycle);
++ ngx_close_idle_connections(cycle);
++ }
++ }
++
+ if (ngx_reconfigure) {
+ ngx_reconfigure = 0;
+ ngx_log_error(NGX_LOG_NOTICE, cycle->log, 0, "reconfiguring");
diff --git a/images/nginx-1.25/rootfs/patches/15_nginx-1.25.3-intercept_error_log.patch b/images/nginx-1.25/rootfs/patches/15_nginx-1.25.3-intercept_error_log.patch
new file mode 100644
index 000000000..5de769517
--- /dev/null
+++ b/images/nginx-1.25/rootfs/patches/15_nginx-1.25.3-intercept_error_log.patch
@@ -0,0 +1,60 @@
+diff --git a/src/core/ngx_cycle.h b/src/core/ngx_cycle.h
+index c51b7ff..4c335b9 100644
+--- a/src/core/ngx_cycle.h
++++ b/src/core/ngx_cycle.h
+@@ -22,9 +22,14 @@
+ #define NGX_DEBUG_POINTS_ABORT 2
+
+
++#define HAVE_INTERCEPT_ERROR_LOG_PATCH
++
++
+ typedef struct ngx_shm_zone_s ngx_shm_zone_t;
+
+ typedef ngx_int_t (*ngx_shm_zone_init_pt) (ngx_shm_zone_t *zone, void *data);
++typedef ngx_int_t (*ngx_log_intercept_pt) (ngx_log_t *log, ngx_uint_t level,
++ u_char *buf, size_t len);
+
+ struct ngx_shm_zone_s {
+ void *data;
+@@ -75,6 +80,10 @@ struct ngx_cycle_s {
+ ngx_str_t prefix;
+ ngx_str_t lock_file;
+ ngx_str_t hostname;
++
++ ngx_log_intercept_pt intercept_error_log_handler;
++ void *intercept_error_log_data;
++ unsigned entered_logger; /* :1 */
+ };
+
+
+diff --git a/src/core/ngx_log.c b/src/core/ngx_log.c
+index 8e9408d..ed9b11b 100644
+--- a/src/core/ngx_log.c
++++ b/src/core/ngx_log.c
+@@ -112,6 +112,8 @@ ngx_log_error_core(ngx_uint_t level, ngx_log_t *log, ngx_err_t err,
+ ngx_uint_t wrote_stderr, debug_connection;
+ u_char errstr[NGX_MAX_ERROR_STR];
+
++ ngx_log_intercept_pt log_intercept = NULL;
++
+ last = errstr + NGX_MAX_ERROR_STR;
+
+ p = ngx_cpymem(errstr, ngx_cached_err_log_time.data,
+@@ -153,6 +155,16 @@ ngx_log_error_core(ngx_uint_t level, ngx_log_t *log, ngx_err_t err,
+ p = last - NGX_LINEFEED_SIZE;
+ }
+
++ if (ngx_cycle) {
++ log_intercept = ngx_cycle->intercept_error_log_handler;
++ }
++
++ if (log_intercept && !ngx_cycle->entered_logger) {
++ ngx_cycle->entered_logger = 1;
++ log_intercept(log, level, errstr, p - errstr);
++ ngx_cycle->entered_logger = 0;
++ }
++
+ ngx_linefeed(p);
+
+ wrote_stderr = 0;
diff --git a/images/nginx-1.25/rootfs/patches/16_nginx-1.25.3-upstream_pipelining.patch b/images/nginx-1.25/rootfs/patches/16_nginx-1.25.3-upstream_pipelining.patch
new file mode 100644
index 000000000..aed80365a
--- /dev/null
+++ b/images/nginx-1.25/rootfs/patches/16_nginx-1.25.3-upstream_pipelining.patch
@@ -0,0 +1,23 @@
+commit f9907b72a76a21ac5413187b83177a919475c75f
+Author: Yichun Zhang (agentzh)
+Date: Wed Feb 10 16:05:08 2016 -0800
+
+ bugfix: upstream: keep sending request data after the first write attempt.
+
+ See
+ http://mailman.nginx.org/pipermail/nginx-devel/2012-March/002040.html
+ for more details on the issue.
+
+diff --git a/src/http/ngx_http_upstream.c b/src/http/ngx_http_upstream.c
+index 69019417..92b7c97f 100644
+--- a/src/http/ngx_http_upstream.c
++++ b/src/http/ngx_http_upstream.c
+@@ -2239,7 +2239,7 @@ ngx_http_upstream_send_request_handler(ngx_http_request_t *r,
+
+ #endif
+
+- if (u->header_sent && !u->conf->preserve_output) {
++ if (u->request_body_sent && !u->conf->preserve_output) {
+ u->write_event_handler = ngx_http_upstream_dummy_handler;
+
+ (void) ngx_handle_write_event(c->write, 0);
diff --git a/images/nginx-1.25/rootfs/patches/17_nginx-1.25.3-no_error_pages.patch b/images/nginx-1.25/rootfs/patches/17_nginx-1.25.3-no_error_pages.patch
new file mode 100644
index 000000000..aceb2e988
--- /dev/null
+++ b/images/nginx-1.25/rootfs/patches/17_nginx-1.25.3-no_error_pages.patch
@@ -0,0 +1,91 @@
+diff -upr nginx-1.25.3/src/http/ngx_http_core_module.c nginx-1.25.3-patched/src/http/ngx_http_core_module.c
+--- nginx-1.25.3/src/http/ngx_http_core_module.c 2017-08-31 18:14:41.000000000 -0700
++++ nginx-1.25.3-patched/src/http/ngx_http_core_module.c 2017-08-31 18:21:31.638098196 -0700
+@@ -64,6 +64,8 @@ static char *ngx_http_core_directio(ngx_conf_t *cf, ngx_command_t *cmd,
+ void *conf);
+ static char *ngx_http_core_error_page(ngx_conf_t *cf, ngx_command_t *cmd,
+ void *conf);
++static char *ngx_http_core_no_error_pages(ngx_conf_t *cf, ngx_command_t *cmd,
++ void *conf);
+ static char *ngx_http_core_open_file_cache(ngx_conf_t *cf, ngx_command_t *cmd,
+ void *conf);
+ static char *ngx_http_core_error_log(ngx_conf_t *cf, ngx_command_t *cmd,
+@@ -671,6 +673,14 @@ static ngx_command_t ngx_http_core_commands[] = {
+ 0,
+ NULL },
+
++ { ngx_string("no_error_pages"),
++ NGX_HTTP_MAIN_CONF|NGX_HTTP_SRV_CONF|NGX_HTTP_LOC_CONF|NGX_HTTP_LIF_CONF
++ |NGX_CONF_NOARGS,
++ ngx_http_core_no_error_pages,
++ NGX_HTTP_LOC_CONF_OFFSET,
++ 0,
++ NULL },
++
+ { ngx_string("post_action"),
+ NGX_HTTP_MAIN_CONF|NGX_HTTP_SRV_CONF|NGX_HTTP_LOC_CONF|NGX_HTTP_LIF_CONF
+ |NGX_CONF_TAKE1,
+@@ -3564,7 +3574,6 @@ ngx_http_core_create_loc_conf(ngx_conf_t *cf)
+ * clcf->types = NULL;
+ * clcf->default_type = { 0, NULL };
+ * clcf->error_log = NULL;
+- * clcf->error_pages = NULL;
+ * clcf->client_body_path = NULL;
+ * clcf->regex = NULL;
+ * clcf->exact_match = 0;
+@@ -3574,6 +3583,7 @@ ngx_http_core_create_loc_conf(ngx_conf_t *cf)
+ * clcf->keepalive_disable = 0;
+ */
+
++ clcf->error_pages = NGX_CONF_UNSET_PTR;
+ clcf->client_max_body_size = NGX_CONF_UNSET;
+ clcf->client_body_buffer_size = NGX_CONF_UNSET_SIZE;
+ clcf->client_body_timeout = NGX_CONF_UNSET_MSEC;
+@@ -3776,9 +3786,7 @@ ngx_http_core_merge_loc_conf(ngx_conf_t *cf, void *parent, void *child)
+ }
+ }
+
+- if (conf->error_pages == NULL && prev->error_pages) {
+- conf->error_pages = prev->error_pages;
+- }
++ ngx_conf_merge_ptr_value(conf->error_pages, prev->error_pages, NULL);
+
+ ngx_conf_merge_str_value(conf->default_type,
+ prev->default_type, "text/plain");
+@@ -4815,6 +4823,10 @@ ngx_http_core_error_page(ngx_conf_t *cf, ngx_command_t *cmd, void *conf)
+ ngx_http_compile_complex_value_t ccv;
+
+ if (clcf->error_pages == NULL) {
++ return "conflicts with \"no_error_pages\"";
++ }
++
++ if (clcf->error_pages == NGX_CONF_UNSET_PTR) {
+ clcf->error_pages = ngx_array_create(cf->pool, 4,
+ sizeof(ngx_http_err_page_t));
+ if (clcf->error_pages == NULL) {
+@@ -4920,6 +4932,25 @@ ngx_http_core_error_page(ngx_conf_t *cf, ngx_command_t *cmd, void *conf)
+ }
+
+
++static char *
++ngx_http_core_no_error_pages(ngx_conf_t *cf, ngx_command_t *cmd, void *conf)
++{
++ ngx_http_core_loc_conf_t *clcf = conf;
++
++ if (clcf->error_pages == NULL) {
++ return "is duplicate";
++ }
++
++ if (clcf->error_pages != NGX_CONF_UNSET_PTR) {
++ return "conflicts with \"error_page\"";
++ }
++
++ clcf->error_pages = NULL;
++
++ return NGX_CONF_OK;
++}
++
++
+ static char *
+ ngx_http_core_open_file_cache(ngx_conf_t *cf, ngx_command_t *cmd, void *conf)
+ {
diff --git a/images/nginx-1.25/rootfs/patches/18_nginx-1.25.3-no_Werror.patch b/images/nginx-1.25/rootfs/patches/18_nginx-1.25.3-no_Werror.patch
new file mode 100644
index 000000000..f7176faff
--- /dev/null
+++ b/images/nginx-1.25/rootfs/patches/18_nginx-1.25.3-no_Werror.patch
@@ -0,0 +1,36 @@
+diff -urp nginx-1.25.3/auto/cc/clang nginx-1.25.3-patched/auto/cc/clang
+--- nginx-1.25.3/auto/cc/clang 2014-03-04 03:39:24.000000000 -0800
++++ nginx-1.25.3-patched/auto/cc/clang 2014-03-13 20:54:26.241413360 -0700
+@@ -89,7 +89,7 @@ CFLAGS="$CFLAGS -Wconditional-uninitiali
+ CFLAGS="$CFLAGS -Wno-unused-parameter"
+
+ # stop on warning
+-CFLAGS="$CFLAGS -Werror"
++#CFLAGS="$CFLAGS -Werror"
+
+ # debug
+ CFLAGS="$CFLAGS -g"
+diff -urp nginx-1.25.3/auto/cc/gcc nginx-1.25.3-patched/auto/cc/gcc
+--- nginx-1.25.3/auto/cc/gcc 2014-03-04 03:39:24.000000000 -0800
++++ nginx-1.25.3-patched/auto/cc/gcc 2014-03-13 20:54:13.301355329 -0700
+@@ -168,7 +168,7 @@ esac
+
+
+ # stop on warning
+-CFLAGS="$CFLAGS -Werror"
++#CFLAGS="$CFLAGS -Werror"
+
+ # debug
+ CFLAGS="$CFLAGS -g"
+diff -urp nginx-1.25.3/auto/cc/icc nginx-1.25.3-patched/auto/cc/icc
+--- nginx-1.25.3/auto/cc/icc 2014-03-04 03:39:24.000000000 -0800
++++ nginx-1.25.3-patched/auto/cc/icc 2014-03-13 20:54:13.301355329 -0700
+@@ -115,7 +115,7 @@ case "$NGX_ICC_VER" in
+ esac
+
+ # stop on warning
+-CFLAGS="$CFLAGS -Werror"
++#CFLAGS="$CFLAGS -Werror"
+
+ # debug
+ CFLAGS="$CFLAGS -g"
diff --git a/images/nginx-1.25/rootfs/patches/19_nginx-1.25.3-log_escape_non_ascii.patch b/images/nginx-1.25/rootfs/patches/19_nginx-1.25.3-log_escape_non_ascii.patch
new file mode 100644
index 000000000..bea6e52ee
--- /dev/null
+++ b/images/nginx-1.25/rootfs/patches/19_nginx-1.25.3-log_escape_non_ascii.patch
@@ -0,0 +1,117 @@
+diff --git a/src/http/modules/ngx_http_log_module.c b/src/http/modules/ngx_http_log_module.c
+index 917ed55f..b769dfd3 100644
+--- a/src/http/modules/ngx_http_log_module.c
++++ b/src/http/modules/ngx_http_log_module.c
+@@ -79,6 +79,8 @@ typedef struct {
+ time_t open_file_cache_valid;
+ ngx_uint_t open_file_cache_min_uses;
+
++ ngx_flag_t escape_non_ascii;
++
+ ngx_uint_t off; /* unsigned off:1 */
+ } ngx_http_log_loc_conf_t;
+
+@@ -131,7 +133,8 @@ static size_t ngx_http_log_variable_getlen(ngx_http_request_t *r,
+ uintptr_t data);
+ static u_char *ngx_http_log_variable(ngx_http_request_t *r, u_char *buf,
+ ngx_http_log_op_t *op);
+-static uintptr_t ngx_http_log_escape(u_char *dst, u_char *src, size_t size);
++static uintptr_t ngx_http_log_escape(ngx_http_log_loc_conf_t *lcf, u_char *dst,
++ u_char *src, size_t size);
+ static size_t ngx_http_log_json_variable_getlen(ngx_http_request_t *r,
+ uintptr_t data);
+ static u_char *ngx_http_log_json_variable(ngx_http_request_t *r, u_char *buf,
+@@ -177,6 +180,13 @@ static ngx_command_t ngx_http_log_commands[] = {
+ 0,
+ NULL },
+
++ { ngx_string("log_escape_non_ascii"),
++ NGX_HTTP_MAIN_CONF|NGX_HTTP_SRV_CONF|NGX_HTTP_LOC_CONF|NGX_CONF_FLAG,
++ ngx_conf_set_flag_slot,
++ NGX_HTTP_LOC_CONF_OFFSET,
++ offsetof(ngx_http_log_loc_conf_t, escape_non_ascii),
++ NULL },
++
+ ngx_null_command
+ };
+
+@@ -935,6 +945,7 @@ static size_t
+ ngx_http_log_variable_getlen(ngx_http_request_t *r, uintptr_t data)
+ {
+ uintptr_t len;
++ ngx_http_log_loc_conf_t *lcf;
+ ngx_http_variable_value_t *value;
+
+ value = ngx_http_get_indexed_variable(r, data);
+@@ -943,7 +954,9 @@ ngx_http_log_variable_getlen(ngx_http_request_t *r, uintptr_t data)
+ return 1;
+ }
+
+- len = ngx_http_log_escape(NULL, value->data, value->len);
++ lcf = ngx_http_get_module_loc_conf(r, ngx_http_log_module);
++
++ len = ngx_http_log_escape(lcf, NULL, value->data, value->len);
+
+ value->escape = len ? 1 : 0;
+
+@@ -954,6 +967,7 @@ ngx_http_log_variable_getlen(ngx_http_request_t *r, uintptr_t data)
+ static u_char *
+ ngx_http_log_variable(ngx_http_request_t *r, u_char *buf, ngx_http_log_op_t *op)
+ {
++ ngx_http_log_loc_conf_t *lcf;
+ ngx_http_variable_value_t *value;
+
+ value = ngx_http_get_indexed_variable(r, op->data);
+@@ -967,16 +981,18 @@ ngx_http_log_variable(ngx_http_request_t *r, u_char *buf, ngx_http_log_op_t *op)
+ return ngx_cpymem(buf, value->data, value->len);
+
+ } else {
+- return (u_char *) ngx_http_log_escape(buf, value->data, value->len);
++ lcf = ngx_http_get_module_loc_conf(r, ngx_http_log_module);
++ return (u_char *) ngx_http_log_escape(lcf, buf, value->data, value->len);
+ }
+ }
+
+
+ static uintptr_t
+-ngx_http_log_escape(u_char *dst, u_char *src, size_t size)
++ngx_http_log_escape(ngx_http_log_loc_conf_t *lcf, u_char *dst, u_char *src,
++ size_t size)
+ {
+- ngx_uint_t n;
+- static u_char hex[] = "0123456789ABCDEF";
++ ngx_uint_t n;
++ static u_char hex[] = "0123456789ABCDEF";
+
+ static uint32_t escape[] = {
+ 0xffffffff, /* 1111 1111 1111 1111 1111 1111 1111 1111 */
+@@ -996,6 +1012,12 @@ ngx_http_log_escape(u_char *dst, u_char *src, size_t size)
+ 0xffffffff, /* 1111 1111 1111 1111 1111 1111 1111 1111 */
+ };
+
++ if (lcf->escape_non_ascii) {
++ ngx_memset(&escape[4], 0xff, sizeof(uint32_t) * 4);
++
++ } else {
++ ngx_memzero(&escape[4], sizeof(uint32_t) * 4);
++ }
+
+ if (dst == NULL) {
+
+@@ -1120,6 +1142,7 @@ ngx_http_log_create_loc_conf(ngx_conf_t *cf)
+ }
+
+ conf->open_file_cache = NGX_CONF_UNSET_PTR;
++ conf->escape_non_ascii = NGX_CONF_UNSET;
+
+ return conf;
+ }
+@@ -1135,6 +1158,8 @@ ngx_http_log_merge_loc_conf(ngx_conf_t *cf, void *parent, void *child)
+ ngx_http_log_fmt_t *fmt;
+ ngx_http_log_main_conf_t *lmcf;
+
++ ngx_conf_merge_value(conf->escape_non_ascii, prev->escape_non_ascii, 1);
++
+ if (conf->open_file_cache == NGX_CONF_UNSET_PTR) {
+
+ conf->open_file_cache = prev->open_file_cache;
diff --git a/images/nginx-1.25/rootfs/patches/20_nginx-1.25.3-proxy_host_port_vars.patch b/images/nginx-1.25/rootfs/patches/20_nginx-1.25.3-proxy_host_port_vars.patch
new file mode 100644
index 000000000..82a344324
--- /dev/null
+++ b/images/nginx-1.25/rootfs/patches/20_nginx-1.25.3-proxy_host_port_vars.patch
@@ -0,0 +1,19 @@
+--- nginx-1.25.3/src/http/modules/ngx_http_proxy_module.c 2017-07-16 14:02:51.000000000 +0800
++++ nginx-1.25.3-patched/src/http/modules/ngx_http_proxy_module.c 2017-07-16 14:02:51.000000000 +0800
+@@ -793,13 +793,13 @@ static ngx_keyval_t ngx_http_proxy_cach
+ static ngx_http_variable_t ngx_http_proxy_vars[] = {
+
+ { ngx_string("proxy_host"), NULL, ngx_http_proxy_host_variable, 0,
+- NGX_HTTP_VAR_CHANGEABLE|NGX_HTTP_VAR_NOCACHEABLE|NGX_HTTP_VAR_NOHASH, 0 },
++ NGX_HTTP_VAR_CHANGEABLE|NGX_HTTP_VAR_NOCACHEABLE, 0 },
+
+ { ngx_string("proxy_port"), NULL, ngx_http_proxy_port_variable, 0,
+- NGX_HTTP_VAR_CHANGEABLE|NGX_HTTP_VAR_NOCACHEABLE|NGX_HTTP_VAR_NOHASH, 0 },
++ NGX_HTTP_VAR_CHANGEABLE|NGX_HTTP_VAR_NOCACHEABLE, 0 },
+
+ { ngx_string("proxy_add_x_forwarded_for"), NULL,
+- ngx_http_proxy_add_x_forwarded_for_variable, 0, NGX_HTTP_VAR_NOHASH, 0 },
++ ngx_http_proxy_add_x_forwarded_for_variable, 0, 0, 0 },
+
+ #if 0
+ { ngx_string("proxy_add_via"), NULL, NULL, 0, NGX_HTTP_VAR_NOHASH, 0 },
diff --git a/images/nginx-1.25/rootfs/patches/21_nginx-1.25.3-cache_manager_exit.patch b/images/nginx-1.25/rootfs/patches/21_nginx-1.25.3-cache_manager_exit.patch
new file mode 100644
index 000000000..91ee63a26
--- /dev/null
+++ b/images/nginx-1.25/rootfs/patches/21_nginx-1.25.3-cache_manager_exit.patch
@@ -0,0 +1,19 @@
+# HG changeset patch
+# User Yichun Zhang
+# Date 1383598130 28800
+# Node ID f64218e1ac963337d84092536f588b8e0d99bbaa
+# Parent dea321e5c0216efccbb23e84bbce7cf3e28f130c
+Cache: gracefully exit the cache manager process.
+
+diff -r dea321e5c021 -r f64218e1ac96 src/os/unix/ngx_process_cycle.c
+--- a/src/os/unix/ngx_process_cycle.c Thu Oct 31 18:23:49 2013 +0400
++++ b/src/os/unix/ngx_process_cycle.c Mon Nov 04 12:48:50 2013 -0800
+@@ -1134,7 +1134,7 @@
+
+ if (ngx_terminate || ngx_quit) {
+ ngx_log_error(NGX_LOG_NOTICE, cycle->log, 0, "exiting");
+- exit(0);
++ ngx_worker_process_exit(cycle);
+ }
+
+ if (ngx_reopen) {
diff --git a/images/nginx-1.25/rootfs/patches/22_nginx-1.25.3-larger_max_error_str.patch b/images/nginx-1.25/rootfs/patches/22_nginx-1.25.3-larger_max_error_str.patch
new file mode 100644
index 000000000..e5cd07e67
--- /dev/null
+++ b/images/nginx-1.25/rootfs/patches/22_nginx-1.25.3-larger_max_error_str.patch
@@ -0,0 +1,13 @@
+--- nginx-1.25.3/src/core/ngx_log.h 2013-10-08 05:07:14.000000000 -0700
++++ nginx-1.25.3-patched/src/core/ngx_log.h 2013-12-05 20:35:35.996236720 -0800
+@@ -64,7 +64,9 @@ struct ngx_log_s {
+ };
+
+
+-#define NGX_MAX_ERROR_STR 2048
++#ifndef NGX_MAX_ERROR_STR
++#define NGX_MAX_ERROR_STR 4096
++#endif
+
+
+ /*********************************/
diff --git a/images/nginx-1.25/rootfs/patches/23_nginx-1.25.3-pcre_conf_opt.patch b/images/nginx-1.25/rootfs/patches/23_nginx-1.25.3-pcre_conf_opt.patch
new file mode 100644
index 000000000..eb17e0642
--- /dev/null
+++ b/images/nginx-1.25/rootfs/patches/23_nginx-1.25.3-pcre_conf_opt.patch
@@ -0,0 +1,26 @@
+# HG changeset patch
+# User Yichun Zhang
+# Date 1386694955 28800
+# Node ID 9ba6b149669f1f02eeb4cdc0ebd364a949b5c469
+# Parent 30e806b8636af5fd3f03ec17df24801f390f7511
+Configure: added new option --with-pcre-conf-opt=OPTIONS.
+
+diff -r 30e806b8636a -r 9ba6b149669f auto/options
+--- a/auto/options Mon Dec 09 10:16:44 2013 +0400
++++ b/auto/options Tue Dec 10 09:02:35 2013 -0800
+@@ -286,6 +286,7 @@
+ --with-pcre) USE_PCRE=YES ;;
+ --with-pcre=*) PCRE="$value" ;;
+ --with-pcre-opt=*) PCRE_OPT="$value" ;;
++ --with-pcre-conf-opt=*) PCRE_CONF_OPT="$value" ;;
+ --with-pcre-jit) PCRE_JIT=YES ;;
+
+ --with-openssl=*) OPENSSL="$value" ;;
+@@ -441,6 +442,7 @@
+ --with-pcre force PCRE library usage
+ --with-pcre=DIR set path to PCRE library sources
+ --with-pcre-opt=OPTIONS set additional build options for PCRE
++ --with-pcre-conf-opt=OPTIONS set additional configure options for PCRE
+ --with-pcre-jit build PCRE with JIT compilation support
+
+ --with-md5=DIR set path to md5 library sources
diff --git a/images/nginx-1.25/rootfs/patches/24_nginx-1.25.3-always_enable_cc_feature_tests.patch b/images/nginx-1.25/rootfs/patches/24_nginx-1.25.3-always_enable_cc_feature_tests.patch
new file mode 100644
index 000000000..b381d9b07
--- /dev/null
+++ b/images/nginx-1.25/rootfs/patches/24_nginx-1.25.3-always_enable_cc_feature_tests.patch
@@ -0,0 +1,11 @@
+--- nginx-1.25.3/auto/cc/conf 2015-10-30 22:47:50.000000000 +0800
++++ nginx-1.25.3-patched/auto/cc/conf 2015-11-02 12:23:05.385156987 +0800
+@@ -144,7 +144,7 @@ fi
+ CFLAGS="$CFLAGS $NGX_CC_OPT"
+ NGX_TEST_LD_OPT="$NGX_LD_OPT"
+
+-if [ "$NGX_PLATFORM" != win32 ]; then
++if [ 1 ]; then
+
+ if test -n "$NGX_LD_OPT"; then
+ ngx_feature=--with-ld-opt=\"$NGX_LD_OPT\"
diff --git a/images/nginx-1.25/rootfs/patches/25_nginx-1.25.3-ssl_cert_cb_yield.patch b/images/nginx-1.25/rootfs/patches/25_nginx-1.25.3-ssl_cert_cb_yield.patch
new file mode 100644
index 000000000..89773c05e
--- /dev/null
+++ b/images/nginx-1.25/rootfs/patches/25_nginx-1.25.3-ssl_cert_cb_yield.patch
@@ -0,0 +1,64 @@
+# HG changeset patch
+# User Yichun Zhang
+# Date 1451762084 28800
+# Sat Jan 02 11:14:44 2016 -0800
+# Node ID 449f0461859c16e95bdb18e8be6b94401545d3dd
+# Parent 78b4e10b4367b31367aad3c83c9c3acdd42397c4
+SSL: handled SSL_CTX_set_cert_cb() callback yielding.
+
+OpenSSL 1.0.2+ introduces SSL_CTX_set_cert_cb() to allow custom
+callbacks to serve the SSL certificiates and private keys dynamically
+and lazily. The callbacks may yield for nonblocking I/O or sleeping.
+Here we added support for such usage in NGINX 3rd-party modules
+(like ngx_lua) in NGINX's event handlers for downstream SSL
+connections.
+
+diff -r 78b4e10b4367 -r 449f0461859c src/event/ngx_event_openssl.c
+--- a/src/event/ngx_event_openssl.c Thu Dec 17 16:39:15 2015 +0300
++++ b/src/event/ngx_event_openssl.c Sat Jan 02 11:14:44 2016 -0800
+@@ -1445,6 +1445,23 @@ ngx_ssl_handshake(ngx_connection_t *c)
+ return NGX_AGAIN;
+ }
+
++#if OPENSSL_VERSION_NUMBER >= 0x10002000L
++ if (sslerr == SSL_ERROR_WANT_X509_LOOKUP) {
++ c->read->handler = ngx_ssl_handshake_handler;
++ c->write->handler = ngx_ssl_handshake_handler;
++
++ if (ngx_handle_read_event(c->read, 0) != NGX_OK) {
++ return NGX_ERROR;
++ }
++
++ if (ngx_handle_write_event(c->write, 0) != NGX_OK) {
++ return NGX_ERROR;
++ }
++
++ return NGX_AGAIN;
++ }
++#endif
++
+ err = (sslerr == SSL_ERROR_SYSCALL) ? ngx_errno : 0;
+
+ c->ssl->no_wait_shutdown = 1;
+@@ -1558,6 +1575,21 @@ ngx_ssl_try_early_data(ngx_connection_t *c)
+ return NGX_AGAIN;
+ }
+
++ if (sslerr == SSL_ERROR_WANT_X509_LOOKUP) {
++ c->read->handler = ngx_ssl_handshake_handler;
++ c->write->handler = ngx_ssl_handshake_handler;
++
++ if (ngx_handle_read_event(c->read, 0) != NGX_OK) {
++ return NGX_ERROR;
++ }
++
++ if (ngx_handle_write_event(c->write, 0) != NGX_OK) {
++ return NGX_ERROR;
++ }
++
++ return NGX_AGAIN;
++ }
++
+ err = (sslerr == SSL_ERROR_SYSCALL) ? ngx_errno : 0;
+
+ c->ssl->no_wait_shutdown = 1;
diff --git a/images/nginx-1.25/rootfs/patches/26_nginx-1.25.3-ssl_sess_cb_yield.patch b/images/nginx-1.25/rootfs/patches/26_nginx-1.25.3-ssl_sess_cb_yield.patch
new file mode 100644
index 000000000..ac5fe65eb
--- /dev/null
+++ b/images/nginx-1.25/rootfs/patches/26_nginx-1.25.3-ssl_sess_cb_yield.patch
@@ -0,0 +1,41 @@
+diff --git a/src/event/ngx_event_openssl.c b/src/event/ngx_event_openssl.c
+--- a/src/event/ngx_event_openssl.c
++++ b/src/event/ngx_event_openssl.c
+@@ -1446,7 +1446,12 @@ ngx_ssl_handshake(ngx_connection_t *c)
+ }
+
+ #if OPENSSL_VERSION_NUMBER >= 0x10002000L
+- if (sslerr == SSL_ERROR_WANT_X509_LOOKUP) {
++ if (sslerr == SSL_ERROR_WANT_X509_LOOKUP
++# ifdef SSL_ERROR_PENDING_SESSION
++ || sslerr == SSL_ERROR_PENDING_SESSION
++# endif
++ )
++ {
+ c->read->handler = ngx_ssl_handshake_handler;
+ c->write->handler = ngx_ssl_handshake_handler;
+
+@@ -1575,6 +1580,23 @@ ngx_ssl_try_early_data(ngx_connection_t *c)
+ return NGX_AGAIN;
+ }
+
++#ifdef SSL_ERROR_PENDING_SESSION
++ if (sslerr == SSL_ERROR_PENDING_SESSION) {
++ c->read->handler = ngx_ssl_handshake_handler;
++ c->write->handler = ngx_ssl_handshake_handler;
++
++ if (ngx_handle_read_event(c->read, 0) != NGX_OK) {
++ return NGX_ERROR;
++ }
++
++ if (ngx_handle_write_event(c->write, 0) != NGX_OK) {
++ return NGX_ERROR;
++ }
++
++ return NGX_AGAIN;
++ }
++#endif
++
+ err = (sslerr == SSL_ERROR_SYSCALL) ? ngx_errno : 0;
+
+ c->ssl->no_wait_shutdown = 1;
diff --git a/images/nginx-1.25/rootfs/patches/27_nginx-1.25.3-ssl_client_hello_cb_yield.patch b/images/nginx-1.25/rootfs/patches/27_nginx-1.25.3-ssl_client_hello_cb_yield.patch
new file mode 100644
index 000000000..0e97be992
--- /dev/null
+++ b/images/nginx-1.25/rootfs/patches/27_nginx-1.25.3-ssl_client_hello_cb_yield.patch
@@ -0,0 +1,38 @@
+diff --git a/src/event/ngx_event_openssl.c b/src/event/ngx_event_openssl.c
+index 8ba30e58..2b2db95c 100644
+--- a/src/event/ngx_event_openssl.c
++++ b/src/event/ngx_event_openssl.c
+@@ -1712,6 +1712,9 @@ ngx_ssl_handshake(ngx_connection_t *c)
+ if (sslerr == SSL_ERROR_WANT_X509_LOOKUP
+ # ifdef SSL_ERROR_PENDING_SESSION
+ || sslerr == SSL_ERROR_PENDING_SESSION
++# endif
++# ifdef SSL_ERROR_WANT_CLIENT_HELLO_CB
++ || sslerr == SSL_ERROR_WANT_CLIENT_HELLO_CB
+ # endif
+ )
+ {
+@@ -1889,6 +1892,23 @@ ngx_ssl_try_early_data(ngx_connection_t *c)
+ }
+ #endif
+
++#ifdef SSL_ERROR_WANT_CLIENT_HELLO_CB
++ if (sslerr == SSL_ERROR_WANT_CLIENT_HELLO_CB) {
++ c->read->handler = ngx_ssl_handshake_handler;
++ c->write->handler = ngx_ssl_handshake_handler;
++
++ if (ngx_handle_read_event(c->read, 0) != NGX_OK) {
++ return NGX_ERROR;
++ }
++
++ if (ngx_handle_write_event(c->write, 0) != NGX_OK) {
++ return NGX_ERROR;
++ }
++
++ return NGX_AGAIN;
++ }
++#endif
++
+ err = (sslerr == SSL_ERROR_SYSCALL) ? ngx_errno : 0;
+
+ c->ssl->no_wait_shutdown = 1;
diff --git a/images/nginx-1.25/rootfs/patches/28_nginx-1.25.3-upstream_timeout_fields.patch b/images/nginx-1.25/rootfs/patches/28_nginx-1.25.3-upstream_timeout_fields.patch
new file mode 100644
index 000000000..2314ddf80
--- /dev/null
+++ b/images/nginx-1.25/rootfs/patches/28_nginx-1.25.3-upstream_timeout_fields.patch
@@ -0,0 +1,112 @@
+diff --git a/src/http/ngx_http_upstream.c b/src/http/ngx_http_upstream.c
+index 69019417..2265d8f7 100644
+--- a/src/http/ngx_http_upstream.c
++++ b/src/http/ngx_http_upstream.c
+@@ -509,12 +509,19 @@ void
+ ngx_http_upstream_init(ngx_http_request_t *r)
+ {
+ ngx_connection_t *c;
++ ngx_http_upstream_t *u;
+
+ c = r->connection;
+
+ ngx_log_debug1(NGX_LOG_DEBUG_HTTP, c->log, 0,
+ "http init upstream, client timer: %d", c->read->timer_set);
+
++ u = r->upstream;
++
++ u->connect_timeout = u->conf->connect_timeout;
++ u->send_timeout = u->conf->send_timeout;
++ u->read_timeout = u->conf->read_timeout;
++
+ #if (NGX_HTTP_V2)
+ if (r->stream) {
+ ngx_http_upstream_init_request(r);
+@@ -1626,7 +1633,7 @@ ngx_http_upstream_connect(ngx_http_request_t *r, ngx_http_upstream_t *u)
+ u->request_body_blocked = 0;
+
+ if (rc == NGX_AGAIN) {
+- ngx_add_timer(c->write, u->conf->connect_timeout);
++ ngx_add_timer(c->write, u->connect_timeout);
+ return;
+ }
+
+@@ -1704,7 +1711,7 @@ ngx_http_upstream_ssl_init_connection(ngx_http_request_t *r,
+ if (rc == NGX_AGAIN) {
+
+ if (!c->write->timer_set) {
+- ngx_add_timer(c->write, u->conf->connect_timeout);
++ ngx_add_timer(c->write, u->connect_timeout);
+ }
+
+ c->ssl->handler = ngx_http_upstream_ssl_handshake_handler;
+@@ -2022,7 +2029,7 @@ ngx_http_upstream_send_request(ngx_http_request_t *r, ngx_http_upstream_t *u,
+
+ if (rc == NGX_AGAIN) {
+ if (!c->write->ready || u->request_body_blocked) {
+- ngx_add_timer(c->write, u->conf->send_timeout);
++ ngx_add_timer(c->write, u->send_timeout);
+
+ } else if (c->write->timer_set) {
+ ngx_del_timer(c->write);
+@@ -2084,7 +2091,7 @@ ngx_http_upstream_send_request(ngx_http_request_t *r, ngx_http_upstream_t *u,
+ return;
+ }
+
+- ngx_add_timer(c->read, u->conf->read_timeout);
++ ngx_add_timer(c->read, u->read_timeout);
+
+ if (c->read->ready) {
+ ngx_http_upstream_process_header(r, u);
+@@ -3213,7 +3220,7 @@ ngx_http_upstream_send_response(ngx_http_request_t *r, ngx_http_upstream_t *u)
+ p->cyclic_temp_file = 0;
+ }
+
+- p->read_timeout = u->conf->read_timeout;
++ p->read_timeout = u->read_timeout;
+ p->send_timeout = clcf->send_timeout;
+ p->send_lowat = clcf->send_lowat;
+
+@@ -3458,7 +3465,7 @@ ngx_http_upstream_process_upgraded(ngx_http_request_t *r,
+ }
+
+ if (upstream->write->active && !upstream->write->ready) {
+- ngx_add_timer(upstream->write, u->conf->send_timeout);
++ ngx_add_timer(upstream->write, u->send_timeout);
+
+ } else if (upstream->write->timer_set) {
+ ngx_del_timer(upstream->write);
+@@ -3470,7 +3477,7 @@ ngx_http_upstream_process_upgraded(ngx_http_request_t *r,
+ }
+
+ if (upstream->read->active && !upstream->read->ready) {
+- ngx_add_timer(upstream->read, u->conf->read_timeout);
++ ngx_add_timer(upstream->read, u->read_timeout);
+
+ } else if (upstream->read->timer_set) {
+ ngx_del_timer(upstream->read);
+@@ -3664,7 +3671,7 @@ ngx_http_upstream_process_non_buffered_request(ngx_http_request_t *r,
+ }
+
+ if (upstream->read->active && !upstream->read->ready) {
+- ngx_add_timer(upstream->read, u->conf->read_timeout);
++ ngx_add_timer(upstream->read, u->read_timeout);
+
+ } else if (upstream->read->timer_set) {
+ ngx_del_timer(upstream->read);
+diff --git a/src/http/ngx_http_upstream.h b/src/http/ngx_http_upstream.h
+index c2f4dc0b..b9eef118 100644
+--- a/src/http/ngx_http_upstream.h
++++ b/src/http/ngx_http_upstream.h
+@@ -333,6 +333,11 @@ struct ngx_http_upstream_s {
+ ngx_array_t *caches;
+ #endif
+
++#define HAVE_NGX_UPSTREAM_TIMEOUT_FIELDS 1
++ ngx_msec_t connect_timeout;
++ ngx_msec_t send_timeout;
++ ngx_msec_t read_timeout;
++
+ ngx_http_upstream_headers_in_t headers_in;
+
+ ngx_http_upstream_resolved_t *resolved;
diff --git a/images/nginx-1.25/rootfs/patches/29_nginx-1.25.3-safe_resolver_ipv6_option.patch b/images/nginx-1.25/rootfs/patches/29_nginx-1.25.3-safe_resolver_ipv6_option.patch
new file mode 100644
index 000000000..6c54c6c4c
--- /dev/null
+++ b/images/nginx-1.25/rootfs/patches/29_nginx-1.25.3-safe_resolver_ipv6_option.patch
@@ -0,0 +1,60 @@
+# HG changeset patch
+# User Thibault Charbonnier
+# Date 1481847421 28800
+# Thu Dec 15 16:17:01 2016 -0800
+# Node ID 8bf038fe006fd8ae253d6b41fc6cf109a8912d3e
+# Parent a3dc657f4e9530623683e6b85bd7492662e4dc47
+Resolver: ignore ipv6=off resolver option when no ipv6 support
+
+Makes the resolver directive more robust: we only error out when ipv6
+resolution is desired but not supported (ipv6=on).
+
+use case 1: some configurations are sometimes re-used between builds with and
+without ipv6 support. This patch avoids the need to remove the "ipv6=off" flag.
+
+use case 2: currently, some tools rely on the --with-ipv6 configure option from
+"nginx -V" to determine if ipv6 resolution should be disabled in some cases.
+With this option disappearing in Nginx 1.11.5, this patch would allow such tools
+to assume "ipv6=off" to be safe regardless of ipv6 support in the current
+build.
+
+diff --git a/src/core/ngx_resolver.c b/src/core/ngx_resolver.c
+index dade1846..5a3f0aa4 100644
+--- a/src/core/ngx_resolver.c
++++ b/src/core/ngx_resolver.c
+@@ -425,7 +425,6 @@ ngx_resolver_create(ngx_conf_t *cf, ngx_str_t *names, ngx_uint_t n)
+ continue;
+ }
+
+-#if (NGX_HAVE_INET6)
+ if (ngx_strncmp(names[i].data, "ipv4=", 5) == 0) {
+
+ if (ngx_strcmp(&names[i].data[5], "on") == 0) {
+@@ -446,10 +445,19 @@ ngx_resolver_create(ngx_conf_t *cf, ngx_str_t *names, ngx_uint_t n)
+ if (ngx_strncmp(names[i].data, "ipv6=", 5) == 0) {
+
+ if (ngx_strcmp(&names[i].data[5], "on") == 0) {
++#if (NGX_HAVE_INET6)
+ r->ipv6 = 1;
++#else
++ ngx_conf_log_error(NGX_LOG_EMERG, cf, 0,
++ "no ipv6 support but \"%V\" in resolver",
++ &names[i]);
++ return NULL;
++#endif
+
+ } else if (ngx_strcmp(&names[i].data[5], "off") == 0) {
++#if (NGX_HAVE_INET6)
+ r->ipv6 = 0;
++#endif
+
+ } else {
+ ngx_conf_log_error(NGX_LOG_EMERG, cf, 0,
+@@ -459,7 +467,6 @@ ngx_resolver_create(ngx_conf_t *cf, ngx_str_t *names, ngx_uint_t n)
+
+ continue;
+ }
+-#endif
+
+ #if !(NGX_WIN32)
+ if (ngx_strncmp(names[i].data, "local=", 6) == 0) {
diff --git a/images/nginx-1.25/rootfs/patches/30_nginx-1.25.3-socket_cloexec.patch b/images/nginx-1.25/rootfs/patches/30_nginx-1.25.3-socket_cloexec.patch
new file mode 100644
index 000000000..8ffe4c167
--- /dev/null
+++ b/images/nginx-1.25/rootfs/patches/30_nginx-1.25.3-socket_cloexec.patch
@@ -0,0 +1,185 @@
+diff --git a/auto/unix b/auto/unix
+index 10835f6c..b5b33bb3 100644
+--- a/auto/unix
++++ b/auto/unix
+@@ -990,3 +990,27 @@ ngx_feature_test='struct addrinfo *res;
+ if (getaddrinfo("localhost", NULL, NULL, &res) != 0) return 1;
+ freeaddrinfo(res)'
+ . auto/feature
++
++ngx_feature="SOCK_CLOEXEC support"
++ngx_feature_name="NGX_HAVE_SOCKET_CLOEXEC"
++ngx_feature_run=no
++ngx_feature_incs="#include
++ #include "
++ngx_feature_path=
++ngx_feature_libs=
++ngx_feature_test="int fd;
++ fd = socket(AF_INET, SOCK_STREAM | SOCK_CLOEXEC, 0);"
++. auto/feature
++
++ngx_feature="FD_CLOEXEC support"
++ngx_feature_name="NGX_HAVE_FD_CLOEXEC"
++ngx_feature_run=no
++ngx_feature_incs="#include
++ #include
++ #include "
++ngx_feature_path=
++ngx_feature_libs=
++ngx_feature_test="int fd;
++ fd = socket(AF_INET, SOCK_STREAM, 0);
++ fcntl(fd, F_SETFD, FD_CLOEXEC);"
++. auto/feature
+diff --git a/src/core/ngx_resolver.c b/src/core/ngx_resolver.c
+index cd55520c..438e0806 100644
+--- a/src/core/ngx_resolver.c
++++ b/src/core/ngx_resolver.c
+@@ -4466,8 +4466,14 @@ ngx_tcp_connect(ngx_resolver_connection_t *rec)
+ ngx_event_t *rev, *wev;
+ ngx_connection_t *c;
+
++#if (NGX_HAVE_SOCKET_CLOEXEC)
++ s = ngx_socket(rec->sockaddr->sa_family, SOCK_STREAM | SOCK_CLOEXEC, 0);
++
++#else
+ s = ngx_socket(rec->sockaddr->sa_family, SOCK_STREAM, 0);
+
++#endif
++
+ ngx_log_debug1(NGX_LOG_DEBUG_EVENT, &rec->log, 0, "TCP socket %d", s);
+
+ if (s == (ngx_socket_t) -1) {
+@@ -4494,6 +4500,15 @@ ngx_tcp_connect(ngx_resolver_connection_t *rec)
+ goto failed;
+ }
+
++#if (NGX_HAVE_FD_CLOEXEC)
++ if (ngx_cloexec(s) == -1) {
++ ngx_log_error(NGX_LOG_ALERT, &rec->log, ngx_socket_errno,
++ ngx_cloexec_n " failed");
++
++ goto failed;
++ }
++#endif
++
+ rev = c->read;
+ wev = c->write;
+
+diff --git a/src/event/ngx_event.h b/src/event/ngx_event.h
+index 19fec68..8c2f01a 100644
+--- a/src/event/ngx_event.h
++++ b/src/event/ngx_event.h
+@@ -73,6 +73,9 @@ struct ngx_event_s {
+ /* to test on worker exit */
+ unsigned channel:1;
+ unsigned resolver:1;
++#if (HAVE_SOCKET_CLOEXEC_PATCH)
++ unsigned skip_socket_leak_check:1;
++#endif
+
+ unsigned cancelable:1;
+
+diff --git a/src/event/ngx_event_accept.c b/src/event/ngx_event_accept.c
+index 77563709..5827b9d0 100644
+--- a/src/event/ngx_event_accept.c
++++ b/src/event/ngx_event_accept.c
+@@ -62,7 +62,9 @@ ngx_event_accept(ngx_event_t *ev)
+
+ #if (NGX_HAVE_ACCEPT4)
+ if (use_accept4) {
+- s = accept4(lc->fd, &sa.sockaddr, &socklen, SOCK_NONBLOCK);
++ s = accept4(lc->fd, &sa.sockaddr, &socklen,
++ SOCK_NONBLOCK | SOCK_CLOEXEC);
++
+ } else {
+ s = accept(lc->fd, &sa.sockaddr, &socklen);
+ }
+@@ -202,6 +204,16 @@ ngx_event_accept(ngx_event_t *ev)
+ ngx_close_accepted_connection(c);
+ return;
+ }
++
++#if (NGX_HAVE_FD_CLOEXEC)
++ if (ngx_cloexec(s) == -1) {
++ ngx_log_error(NGX_LOG_ALERT, ev->log, ngx_socket_errno,
++ ngx_cloexec_n " failed");
++ ngx_close_accepted_connection(c);
++ return;
++ }
++#endif
++
+ }
+ }
+
+diff --git a/src/event/ngx_event_connect.c b/src/event/ngx_event_connect.c
+index c5bb8068..cf33b1d2 100644
+--- a/src/event/ngx_event_connect.c
++++ b/src/event/ngx_event_connect.c
+@@ -38,8 +38,15 @@ ngx_event_connect_peer(ngx_peer_connection_t *pc)
+
+ type = (pc->type ? pc->type : SOCK_STREAM);
+
++#if (NGX_HAVE_SOCKET_CLOEXEC)
++ s = ngx_socket(pc->sockaddr->sa_family, type | SOCK_CLOEXEC, 0);
++
++#else
+ s = ngx_socket(pc->sockaddr->sa_family, type, 0);
+
++#endif
++
++
+ ngx_log_debug2(NGX_LOG_DEBUG_EVENT, pc->log, 0, "%s socket %d",
+ (type == SOCK_STREAM) ? "stream" : "dgram", s);
+
+@@ -80,6 +87,15 @@ ngx_event_connect_peer(ngx_peer_connection_t *pc)
+ goto failed;
+ }
+
++#if (NGX_HAVE_FD_CLOEXEC)
++ if (ngx_cloexec(s) == -1) {
++ ngx_log_error(NGX_LOG_ALERT, pc->log, ngx_socket_errno,
++ ngx_cloexec_n " failed");
++
++ goto failed;
++ }
++#endif
++
+ if (pc->local) {
+
+ #if (NGX_HAVE_TRANSPARENT_PROXY)
+diff --git a/src/os/unix/ngx_process_cycle.c b/src/os/unix/ngx_process_cycle.c
+index c4376a5..48e8fa8 100644
+--- a/src/os/unix/ngx_process_cycle.c
++++ b/src/os/unix/ngx_process_cycle.c
+@@ -960,6 +1029,9 @@ ngx_worker_process_exit(ngx_cycle_t *cycle)
+ for (i = 0; i < cycle->connection_n; i++) {
+ if (c[i].fd != -1
+ && c[i].read
++#if (HAVE_SOCKET_CLOEXEC_PATCH)
++ && !c[i].read->skip_socket_leak_check
++#endif
+ && !c[i].read->accept
+ && !c[i].read->channel
+ && !c[i].read->resolver)
+diff --git a/src/os/unix/ngx_socket.h b/src/os/unix/ngx_socket.h
+index fcc51533..d1eebf47 100644
+--- a/src/os/unix/ngx_socket.h
++++ b/src/os/unix/ngx_socket.h
+@@ -38,6 +38,17 @@ int ngx_blocking(ngx_socket_t s);
+
+ #endif
+
++#if (NGX_HAVE_FD_CLOEXEC)
++
++#define ngx_cloexec(s) fcntl(s, F_SETFD, FD_CLOEXEC)
++#define ngx_cloexec_n "fcntl(FD_CLOEXEC)"
++
++/* at least FD_CLOEXEC is required to ensure connection fd is closed
++ * after execve */
++#define HAVE_SOCKET_CLOEXEC_PATCH 1
++
++#endif
++
+ int ngx_tcp_nopush(ngx_socket_t s);
+ int ngx_tcp_push(ngx_socket_t s);
+
diff --git a/images/nginx-1.25/rootfs/patches/31_nginx-1.25.3-reuseport_close_unused_fds.patch b/images/nginx-1.25/rootfs/patches/31_nginx-1.25.3-reuseport_close_unused_fds.patch
new file mode 100644
index 000000000..ff4a36fd2
--- /dev/null
+++ b/images/nginx-1.25/rootfs/patches/31_nginx-1.25.3-reuseport_close_unused_fds.patch
@@ -0,0 +1,38 @@
+diff --git a/src/core/ngx_connection.c b/src/core/ngx_connection.c
+--- a/src/core/ngx_connection.c
++++ b/src/core/ngx_connection.c
+@@ -1118,6 +1118,12 @@ ngx_close_listening_sockets(ngx_cycle_t *cycle)
+ ls = cycle->listening.elts;
+ for (i = 0; i < cycle->listening.nelts; i++) {
+
++#if (NGX_HAVE_REUSEPORT)
++ if (ls[i].fd == (ngx_socket_t) -1) {
++ continue;
++ }
++#endif
++
+ c = ls[i].connection;
+
+ if (c) {
+diff --git a/src/event/ngx_event.c b/src/event/ngx_event.c
+--- a/src/event/ngx_event.c
++++ b/src/event/ngx_event.c
+@@ -775,6 +775,18 @@ ngx_event_process_init(ngx_cycle_t *cycle)
+
+ #if (NGX_HAVE_REUSEPORT)
+ if (ls[i].reuseport && ls[i].worker != ngx_worker) {
++ ngx_log_debug2(NGX_LOG_DEBUG_CORE, cycle->log, 0,
++ "closing unused fd:%d listening on %V",
++ ls[i].fd, &ls[i].addr_text);
++
++ if (ngx_close_socket(ls[i].fd) == -1) {
++ ngx_log_error(NGX_LOG_EMERG, cycle->log, ngx_socket_errno,
++ ngx_close_socket_n " %V failed",
++ &ls[i].addr_text);
++ }
++
++ ls[i].fd = (ngx_socket_t) -1;
++
+ continue;
+ }
+ #endif
diff --git a/images/nginx/TAG b/images/nginx/TAG
index bbdeab622..0ec25f750 100644
--- a/images/nginx/TAG
+++ b/images/nginx/TAG
@@ -1 +1 @@
-0.0.5
+v1.0.0
diff --git a/images/nginx/cloudbuild.yaml b/images/nginx/cloudbuild.yaml
index 71051f26d..a5ec1abd8 100644
--- a/images/nginx/cloudbuild.yaml
+++ b/images/nginx/cloudbuild.yaml
@@ -1,17 +1,14 @@
-timeout: 10800s
options:
- substitution_option: ALLOW_LOOSE
- # job builds a multi-arch docker image for amd64,arm,arm64 and s390x.
+ # Increase machine type for multi-arch builds.
machineType: E2_HIGHCPU_32
+ # Ignore Prow provided substitutions.
+ substitution_option: ALLOW_LOOSE
steps:
- - name: 'gcr.io/k8s-staging-test-infra/gcb-docker-gcloud:v20211118-2f2d816b90'
- entrypoint: bash
+ - name: gcr.io/k8s-staging-test-infra/gcb-docker-gcloud:v20240523-a15ad90fc9
env:
- - DOCKER_CLI_EXPERIMENTAL=enabled
- REGISTRY=gcr.io/k8s-staging-ingress-nginx
- - HOME=/root
+ entrypoint: bash
args:
- - -c
- - |
- gcloud auth configure-docker \
- && cd images/nginx && make push
+ - -c
+ - gcloud auth configure-docker && cd images/nginx && make push
+timeout: 7200s
diff --git a/images/nginx/rc.yaml b/images/nginx/rc.yaml
deleted file mode 100644
index bcf2b0274..000000000
--- a/images/nginx/rc.yaml
+++ /dev/null
@@ -1,44 +0,0 @@
-apiVersion: v1
-kind: Service
-metadata:
- name: nginx
- labels:
- app.kubernetes.io/name: ingress-nginx
- app.kubernetes.io/part-of: ingress-nginx
-spec:
- type: NodePort
- ports:
- - port: 80
- protocol: TCP
- name: http
- - port: 443
- protocol: TCP
- name: https
- selector:
- app.kubernetes.io/name: ingress-nginx
- app.kubernetes.io/part-of: ingress-nginx
----
-apiVersion: v1
-kind: ReplicationController
-metadata:
- name: nginx
- labels:
- app.kubernetes.io/name: ingress-nginx
- app.kubernetes.io/part-of: ingress-nginx
-spec:
- replicas: 1
- selector:
- app.kubernetes.io/name: ingress-nginx
- app.kubernetes.io/part-of: ingress-nginx
- template:
- metadata:
- labels:
- app.kubernetes.io/name: ingress-nginx
- app.kubernetes.io/part-of: ingress-nginx
- spec:
- containers:
- - name: nginx
- image: registry.k8s.io/ingress-nginx/nginx:c5766dc011965f22fac2f4437e86d0fd9960a50c@sha256:94ff9b435a5f3f4570bbdaed4a3a523f63a54ce2ad6b132b5640bae2af5d9d90
- ports:
- - containerPort: 80
- - containerPort: 443
diff --git a/images/nginx/rootfs/Dockerfile b/images/nginx/rootfs/Dockerfile
index 3dd841c6c..f3d61017e 100644
--- a/images/nginx/rootfs/Dockerfile
+++ b/images/nginx/rootfs/Dockerfile
@@ -11,7 +11,7 @@
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
-FROM alpine:3.19.1 as builder
+FROM alpine:3.20.0 as builder
COPY . /
@@ -21,7 +21,7 @@ RUN apk update \
&& /build.sh
# Use a multi-stage build
-FROM alpine:3.19.1
+FROM alpine:3.20.0
ENV PATH=$PATH:/usr/local/luajit/bin:/usr/local/nginx/sbin:/usr/local/nginx/bin
diff --git a/images/nginx/rootfs/build.sh b/images/nginx/rootfs/build.sh
index d6e7c4a58..2f5f3c66f 100755
--- a/images/nginx/rootfs/build.sh
+++ b/images/nginx/rootfs/build.sh
@@ -465,10 +465,8 @@ make install
# Get Brotli source and deps
cd "$BUILD_PATH"
-git clone --depth=100 https://github.com/google/ngx_brotli.git
+git clone --depth=1 https://github.com/google/ngx_brotli.git
cd ngx_brotli
-# https://github.com/google/ngx_brotli/issues/156
-git reset --hard 63ca02abdcf79c9e788d2eedcc388d2335902e52
git submodule init
git submodule update
@@ -737,7 +735,7 @@ for dir in "${writeDirs[@]}"; do
done
rm -rf /etc/nginx/owasp-modsecurity-crs/.git
-rm -rf /etc/nginx/owasp-modsecurity-crs/util/regression-tests
+rm -rf /etc/nginx/owasp-modsecurity-crs/tests
# remove .a files
find /usr/local -name "*.a" -print | xargs /bin/rm
diff --git a/images/opentelemetry/README.md b/images/opentelemetry/README.md
deleted file mode 100644
index f5c3d90de..000000000
--- a/images/opentelemetry/README.md
+++ /dev/null
@@ -1,5 +0,0 @@
-# OpenTelemetry library builder
-
-**How to use this image:**
-This image only contains the necessary files in /usr/local and /etc/nginx/opentelemetry to
-be copied to Ingress Controller deployment when OpenTelemetry is enabled
diff --git a/images/opentelemetry/TAG b/images/opentelemetry/TAG
index a3dce6cd3..0ec25f750 100644
--- a/images/opentelemetry/TAG
+++ b/images/opentelemetry/TAG
@@ -1 +1 @@
-v0.0.2
+v1.0.0
diff --git a/images/opentelemetry/cloudbuild.yaml b/images/opentelemetry/cloudbuild.yaml
index bc48a93f4..df86d37e7 100644
--- a/images/opentelemetry/cloudbuild.yaml
+++ b/images/opentelemetry/cloudbuild.yaml
@@ -1,20 +1,14 @@
-timeout: 10800s
options:
+ # Increase machine type for multi-arch builds.
+ machineType: E2_HIGHCPU_8
+ # Ignore Prow provided substitutions.
substitution_option: ALLOW_LOOSE
- # job builds a multi-arch docker image for amd64,arm,arm64 and s390x.
- machineType: E2_HIGHCPU_32
steps:
- - name: gcr.io/k8s-staging-test-infra/gcb-docker-gcloud:v20211118-2f2d816b90
- entrypoint: bash
+ - name: gcr.io/k8s-staging-test-infra/gcb-docker-gcloud:v20240523-a15ad90fc9
env:
- - DOCKER_CLI_EXPERIMENTAL=enabled
- REGISTRY=gcr.io/k8s-staging-ingress-nginx
- # default cloudbuild has HOME=/builder/home and docker buildx is in /root/.docker/cli-plugins/docker-buildx
- # set the home to /root explicitly to if using docker buildx
- - HOME=/root
+ entrypoint: bash
args:
- - -c
- - |
- gcloud auth configure-docker \
- && cd images/opentelemetry && make NGINX_VERSION=1.25.3 push \
- && make NGINX_VERSION=1.21.6 push
+ - -c
+ - gcloud auth configure-docker && cd images/opentelemetry && make NGINX_VERSION=1.21.6 push && make NGINX_VERSION=1.25.3 push
+timeout: 1800s
diff --git a/images/opentelemetry/rootfs/Dockerfile b/images/opentelemetry/rootfs/Dockerfile
index bb88ec760..f67948b86 100644
--- a/images/opentelemetry/rootfs/Dockerfile
+++ b/images/opentelemetry/rootfs/Dockerfile
@@ -13,7 +13,7 @@
# limitations under the License.
-FROM alpine:3.19.1 as base
+FROM alpine:3.20.0 AS base
RUN mkdir -p /opt/third_party/install
COPY . /opt/third_party/
@@ -24,14 +24,14 @@ RUN apk update \
&& apk add -U bash \
&& bash /opt/third_party/build.sh -p
-ENV NINJA_STATUS "[%p/%f/%t] "
+ENV NINJA_STATUS="[%p/%f/%t] "
# install otel_ngx_module.so
-FROM base as nginx
+FROM base AS nginx
ARG NGINX_VERSION=1.25.3
RUN bash /opt/third_party/build.sh -n ${NGINX_VERSION}
-FROM golang:1.21.6-bullseye as build-init
+FROM golang:1.22.6-bullseye AS build-init
WORKDIR /go/src/app
COPY . .
@@ -39,7 +39,7 @@ COPY . .
RUN go mod download
RUN CGO_ENABLED=0 go build -o /go/bin/init_module
-FROM gcr.io/distroless/static-debian11 as final
+FROM gcr.io/distroless/static-debian11 AS final
COPY --from=build-init /go/bin/init_module /
COPY --from=nginx /etc/nginx/modules /etc/nginx/modules
diff --git a/images/opentelemetry/rootfs/build.sh b/images/opentelemetry/rootfs/build.sh
index d46ab9fe5..649595a75 100755
--- a/images/opentelemetry/rootfs/build.sh
+++ b/images/opentelemetry/rootfs/build.sh
@@ -52,7 +52,10 @@ Help()
prepare()
{
- echo "http://dl-cdn.alpinelinux.org/alpine/edge/testing" >> /etc/apk/repositories
+ echo "https://dl-cdn.alpinelinux.org/alpine/edge/main" >> /etc/apk/repositories
+ echo "https://dl-cdn.alpinelinux.org/alpine/edge/community" >> /etc/apk/repositories
+ echo "https://dl-cdn.alpinelinux.org/alpine/edge/testing" >> /etc/apk/repositories
+
apk add \
linux-headers \
cmake \
diff --git a/images/opentelemetry/rootfs/go.mod b/images/opentelemetry/rootfs/go.mod
index 9c183ef06..115ef686a 100644
--- a/images/opentelemetry/rootfs/go.mod
+++ b/images/opentelemetry/rootfs/go.mod
@@ -1,3 +1,3 @@
module init-otel
-go 1.21
+go 1.22.6
diff --git a/images/test-runner/Makefile b/images/test-runner/Makefile
index 627475d22..3d60a5313 100644
--- a/images/test-runner/Makefile
+++ b/images/test-runner/Makefile
@@ -49,8 +49,8 @@ image:
--push \
--build-arg BASE_IMAGE=${NGINX_BASE_IMAGE} \
--build-arg GOLANG_VERSION=${GO_VERSION} \
- --build-arg ETCD_VERSION=3.4.3-0 \
- --build-arg K8S_RELEASE=v1.26.0 \
+ --build-arg ETCD_VERSION=3.5.13-0 \
+ --build-arg K8S_RELEASE=v1.29.2 \
--build-arg RESTY_CLI_VERSION=0.27 \
--build-arg RESTY_CLI_SHA=e5f4f3128af49ba5c4d039d0554e5ae91bbe05866f60eccfa96d3653274bff90 \
--build-arg LUAROCKS_VERSION=3.8.0 \
@@ -58,8 +58,8 @@ image:
--build-arg CHART_TESTING_VERSION=3.8.0 \
--build-arg YAML_LINT_VERSION=1.33.0 \
--build-arg YAMALE_VERSION=4.0.4 \
- --build-arg HELM_VERSION=3.11.2 \
- --build-arg GINKGO_VERSION=2.15.0 \
+ --build-arg HELM_VERSION=3.14.4 \
+ --build-arg GINKGO_VERSION=2.20.0 \
--build-arg GOLINT_VERSION=latest \
-t ${IMAGE}:${TAG} rootfs
@@ -70,8 +70,8 @@ build: ensure-buildx
--pull \
--build-arg BASE_IMAGE=${NGINX_BASE_IMAGE} \
--build-arg GOLANG_VERSION=${GO_VERSION} \
- --build-arg ETCD_VERSION=3.4.3-0 \
- --build-arg K8S_RELEASE=v1.26.0 \
+ --build-arg ETCD_VERSION=3.5.13-0 \
+ --build-arg K8S_RELEASE=v1.29.2 \
--build-arg RESTY_CLI_VERSION=0.27 \
--build-arg RESTY_CLI_SHA=e5f4f3128af49ba5c4d039d0554e5ae91bbe05866f60eccfa96d3653274bff90 \
--build-arg LUAROCKS_VERSION=3.8.0 \
@@ -79,8 +79,8 @@ build: ensure-buildx
--build-arg CHART_TESTING_VERSION=3.8.0 \
--build-arg YAML_LINT_VERSION=1.33.0 \
--build-arg YAMALE_VERSION=4.0.4 \
- --build-arg HELM_VERSION=3.11.2 \
- --build-arg GINKGO_VERSION=2.15.0 \
+ --build-arg HELM_VERSION=3.14.4 \
+ --build-arg GINKGO_VERSION=2.20.0 \
--build-arg GOLINT_VERSION=latest \
-t ${IMAGE}:${TAG} rootfs
diff --git a/images/test-runner/TAG b/images/test-runner/TAG
index 95e94cdd3..384942600 100644
--- a/images/test-runner/TAG
+++ b/images/test-runner/TAG
@@ -1 +1 @@
-v0.0.1
\ No newline at end of file
+v0.0.9
diff --git a/images/test-runner/cloudbuild.yaml b/images/test-runner/cloudbuild.yaml
index b17de9b31..6efe5eeaf 100644
--- a/images/test-runner/cloudbuild.yaml
+++ b/images/test-runner/cloudbuild.yaml
@@ -1,17 +1,12 @@
-timeout: 3600s
options:
+ # Ignore Prow provided substitutions.
substitution_option: ALLOW_LOOSE
steps:
- - name: gcr.io/k8s-staging-test-infra/gcb-docker-gcloud:v20211118-2f2d816b90
- entrypoint: bash
+ - name: gcr.io/k8s-staging-test-infra/gcb-docker-gcloud:v20240523-a15ad90fc9
env:
- - DOCKER_CLI_EXPERIMENTAL=enabled
- REGISTRY=gcr.io/k8s-staging-ingress-nginx
- # default cloudbuild has HOME=/builder/home and docker buildx is in /root/.docker/cli-plugins/docker-buildx
- # set the home to /root explicitly to if using docker buildx
- - HOME=/root
+ entrypoint: bash
args:
- - -c
- - |
- gcloud auth configure-docker \
- && cd images/test-runner && make push
+ - -c
+ - gcloud auth configure-docker && cd images/test-runner && make push
+timeout: 1800s
diff --git a/images/test-runner/rootfs/Dockerfile b/images/test-runner/rootfs/Dockerfile
index 7128bcf70..fd664f2e5 100644
--- a/images/test-runner/rootfs/Dockerfile
+++ b/images/test-runner/rootfs/Dockerfile
@@ -15,7 +15,7 @@ ARG BASE_IMAGE
ARG GOLANG_VERSION
ARG ETCD_VERSION
-FROM golang:${GOLANG_VERSION}-alpine3.18 as GO
+FROM golang:${GOLANG_VERSION}-alpine3.20 as GO
FROM registry.k8s.io/etcd:${ETCD_VERSION} as etcd
FROM ${BASE_IMAGE}
@@ -66,7 +66,8 @@ RUN apk update && apk upgrade && apk add --no-cache \
openssl \
cfssl@testing \
tzdata \
- libc6-compat
+ libc6-compat \
+ sqlite-dev
RUN go install -v github.com/onsi/ginkgo/v2/ginkgo@v${GINKGO_VERSION} \
&& go install golang.org/x/lint/golint@${GOLINT_VERSION}
diff --git a/ingress-nginx.yaml b/ingress-nginx.yaml
deleted file mode 100644
index be66255e0..000000000
--- a/ingress-nginx.yaml
+++ /dev/null
@@ -1,68 +0,0 @@
-CURRENT_VERSION: "v1.5.1"
-GOLANG_VERSION: "1.19.2"
-GIT_TAG: "controller-v1.5.1"
-NGINX_BASE_IMAGE: "registry.k8s.io/ingress-nginx/nginx:0b5e0685112e4537ee20a0bdbba451e9f6158aa3@sha256:3f5e28bb248d5170e77b77fc2a1a385724aeff41a0b34b5afad7dd9cf93de000"
-NGINX_VERSION: "1.21.6"
-VERSION_TABLE:
- - "v1.5.1":
- - Alpine: "3.16.2"
- - Kubernetes: ["1.25","1.24","1.23"]
- - NGINX: "1.21.6"
- - CONTROLLER_IMAGE: "registry.k8s.io/ingress-nginx/controller:v1.5.1@sha256:4ba73c697770664c1e00e9f968de14e08f606ff961c76e5d7033a4a9c593c629"
- - CHROOT_CONTROLLER_IMAGE: "registry.k8s.io/ingress-nginx/controller-chroot:v1.5.1@sha256:c1c091b88a6c936a83bd7b098662760a87868d12452529bad0d178fb36147345"
- - "v1.4.0":
- - Alpine: "3.16.2"
- - Kubernetes: [ "1.24","1.23", "1.22", "1.21", "1.20" ]
- - NGINX: "1.19.10"
- - "v1.3.1":
- - Alpine: "3.16.2"
- - Kubernetes: [ "1.24","1.23", "1.22", "1.21", "1.20" ]
- - NGINX: "1.19.10"
- - "v1.3.0":
- - Alpine: "3.16.2"
- - Kubernetes: [ "1.24","1.23", "1.22", "1.21", "1.20" ]
- - NGINX: "1.19.10"
- - "v1.2.1":
- - Alpine: "3.16.2"
- - Kubernetes: [ "1.24","1.23", "1.22", "1.21", "1.20" ]
- - NGINX: "1.19.10"
- - "v1.1.3":
- - Alpine: "3.16.2"
- - Kubernetes: [ "1.24","1.23", "1.22", "1.21", "1.20" ]
- - NGINX: "1.19.10"
- - "v1.1.2":
- - Alpine: "3.16.2"
- - Kubernetes: [ "1.24","1.23", "1.22", "1.21", "1.20" ]
- - NGINX: "1.19.10"
- - "v1.1.1":
- - Alpine: "3.16.2"
- - Kubernetes: [ "1.24","1.23", "1.22", "1.21", "1.20" ]
- - NGINX: "1.19.10"
- - "v1.1.0":
- - Alpine: "3.16.2"
- - Kubernetes: [ "1.24","1.23", "1.22", "1.21", "1.20" ]
- - NGINX: "1.19.10"
- - "v1.0.5":
- - Alpine: "3.16.2"
- - Kubernetes: [ "1.24","1.23", "1.22", "1.21", "1.20" ]
- - NGINX: "1.19.10"
- - "v1.0.4":
- - Alpine: "3.16.2"
- - Kubernetes: [ "1.24","1.23", "1.22", "1.21", "1.20" ]
- - NGINX: "1.19.10"
- - "v1.0.3":
- - Alpine: "3.16.2"
- - Kubernetes: [ "1.24","1.23", "1.22", "1.21", "1.20" ]
- - NGINX: "1.19.10"
- - "v1.0.2":
- - Alpine: "3.16.2"
- - Kubernetes: [ "1.24","1.23", "1.22", "1.21", "1.20" ]
- - NGINX: "1.19.10"
- - "v1.0.1":
- - Alpine: "3.16.2"
- - Kubernetes: [ "1.24","1.23", "1.22", "1.21", "1.20" ]
- - NGINX: "1.19.10"
- - "v1.0.0":
- - Alpine: "3.16.2"
- - Kubernetes: [ "1.24","1.23", "1.22", "1.21", "1.20" ]
- - NGINX: "1.19.10"
diff --git a/internal/ingress/annotations/annotations.go b/internal/ingress/annotations/annotations.go
index 302f0b4b1..4c073246c 100644
--- a/internal/ingress/annotations/annotations.go
+++ b/internal/ingress/annotations/annotations.go
@@ -19,18 +19,10 @@ package annotations
import (
"dario.cat/mergo"
- "k8s.io/ingress-nginx/internal/ingress/annotations/canary"
- "k8s.io/ingress-nginx/internal/ingress/annotations/disableproxyintercepterrors"
- "k8s.io/ingress-nginx/internal/ingress/annotations/modsecurity"
- "k8s.io/ingress-nginx/internal/ingress/annotations/opentelemetry"
- "k8s.io/ingress-nginx/internal/ingress/annotations/proxyssl"
- "k8s.io/ingress-nginx/internal/ingress/annotations/sslcipher"
- "k8s.io/ingress-nginx/internal/ingress/annotations/streamsnippet"
- "k8s.io/klog/v2"
-
apiv1 "k8s.io/api/core/v1"
networking "k8s.io/api/networking/v1"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
+ "k8s.io/klog/v2"
"k8s.io/ingress-nginx/internal/ingress/annotations/alias"
"k8s.io/ingress-nginx/internal/ingress/annotations/auth"
@@ -38,11 +30,14 @@ import (
"k8s.io/ingress-nginx/internal/ingress/annotations/authreqglobal"
"k8s.io/ingress-nginx/internal/ingress/annotations/authtls"
"k8s.io/ingress-nginx/internal/ingress/annotations/backendprotocol"
+ "k8s.io/ingress-nginx/internal/ingress/annotations/canary"
"k8s.io/ingress-nginx/internal/ingress/annotations/clientbodybuffersize"
"k8s.io/ingress-nginx/internal/ingress/annotations/connection"
"k8s.io/ingress-nginx/internal/ingress/annotations/cors"
+ "k8s.io/ingress-nginx/internal/ingress/annotations/customheaders"
"k8s.io/ingress-nginx/internal/ingress/annotations/customhttperrors"
"k8s.io/ingress-nginx/internal/ingress/annotations/defaultbackend"
+ "k8s.io/ingress-nginx/internal/ingress/annotations/disableproxyintercepterrors"
"k8s.io/ingress-nginx/internal/ingress/annotations/fastcgi"
"k8s.io/ingress-nginx/internal/ingress/annotations/globalratelimit"
"k8s.io/ingress-nginx/internal/ingress/annotations/http2pushpreload"
@@ -51,9 +46,12 @@ import (
"k8s.io/ingress-nginx/internal/ingress/annotations/loadbalancing"
"k8s.io/ingress-nginx/internal/ingress/annotations/log"
"k8s.io/ingress-nginx/internal/ingress/annotations/mirror"
+ "k8s.io/ingress-nginx/internal/ingress/annotations/modsecurity"
+ "k8s.io/ingress-nginx/internal/ingress/annotations/opentelemetry"
"k8s.io/ingress-nginx/internal/ingress/annotations/parser"
"k8s.io/ingress-nginx/internal/ingress/annotations/portinredirect"
"k8s.io/ingress-nginx/internal/ingress/annotations/proxy"
+ "k8s.io/ingress-nginx/internal/ingress/annotations/proxyssl"
"k8s.io/ingress-nginx/internal/ingress/annotations/ratelimit"
"k8s.io/ingress-nginx/internal/ingress/annotations/redirect"
"k8s.io/ingress-nginx/internal/ingress/annotations/rewrite"
@@ -62,7 +60,9 @@ import (
"k8s.io/ingress-nginx/internal/ingress/annotations/serviceupstream"
"k8s.io/ingress-nginx/internal/ingress/annotations/sessionaffinity"
"k8s.io/ingress-nginx/internal/ingress/annotations/snippet"
+ "k8s.io/ingress-nginx/internal/ingress/annotations/sslcipher"
"k8s.io/ingress-nginx/internal/ingress/annotations/sslpassthrough"
+ "k8s.io/ingress-nginx/internal/ingress/annotations/streamsnippet"
"k8s.io/ingress-nginx/internal/ingress/annotations/upstreamhashby"
"k8s.io/ingress-nginx/internal/ingress/annotations/upstreamvhost"
"k8s.io/ingress-nginx/internal/ingress/annotations/xforwardedprefix"
@@ -82,6 +82,7 @@ type Ingress struct {
Canary canary.Config
CertificateAuth authtls.Config
ClientBodyBufferSize string
+ CustomHeaders customheaders.Config
ConfigurationSnippet string
Connection connection.Config
CorsConfig cors.Config
@@ -124,51 +125,56 @@ type Extractor struct {
annotations map[string]parser.IngressAnnotation
}
+func NewAnnotationFactory(cfg resolver.Resolver) map[string]parser.IngressAnnotation {
+ return map[string]parser.IngressAnnotation{
+ "Aliases": alias.NewParser(cfg),
+ "BasicDigestAuth": auth.NewParser(auth.AuthDirectory, cfg),
+ "Canary": canary.NewParser(cfg),
+ "CertificateAuth": authtls.NewParser(cfg),
+ "ClientBodyBufferSize": clientbodybuffersize.NewParser(cfg),
+ "CustomHeaders": customheaders.NewParser(cfg),
+ "ConfigurationSnippet": snippet.NewParser(cfg),
+ "Connection": connection.NewParser(cfg),
+ "CorsConfig": cors.NewParser(cfg),
+ "CustomHTTPErrors": customhttperrors.NewParser(cfg),
+ "DisableProxyInterceptErrors": disableproxyintercepterrors.NewParser(cfg),
+ "DefaultBackend": defaultbackend.NewParser(cfg),
+ "FastCGI": fastcgi.NewParser(cfg),
+ "ExternalAuth": authreq.NewParser(cfg),
+ "EnableGlobalAuth": authreqglobal.NewParser(cfg),
+ "HTTP2PushPreload": http2pushpreload.NewParser(cfg),
+ "Opentelemetry": opentelemetry.NewParser(cfg),
+ "Proxy": proxy.NewParser(cfg),
+ "ProxySSL": proxyssl.NewParser(cfg),
+ "RateLimit": ratelimit.NewParser(cfg),
+ "GlobalRateLimit": globalratelimit.NewParser(cfg),
+ "Redirect": redirect.NewParser(cfg),
+ "Rewrite": rewrite.NewParser(cfg),
+ "Satisfy": satisfy.NewParser(cfg),
+ "ServerSnippet": serversnippet.NewParser(cfg),
+ "ServiceUpstream": serviceupstream.NewParser(cfg),
+ "SessionAffinity": sessionaffinity.NewParser(cfg),
+ "SSLPassthrough": sslpassthrough.NewParser(cfg),
+ "UsePortInRedirects": portinredirect.NewParser(cfg),
+ "UpstreamHashBy": upstreamhashby.NewParser(cfg),
+ "LoadBalancing": loadbalancing.NewParser(cfg),
+ "UpstreamVhost": upstreamvhost.NewParser(cfg),
+ "Allowlist": ipallowlist.NewParser(cfg),
+ "Denylist": ipdenylist.NewParser(cfg),
+ "XForwardedPrefix": xforwardedprefix.NewParser(cfg),
+ "SSLCipher": sslcipher.NewParser(cfg),
+ "Logs": log.NewParser(cfg),
+ "BackendProtocol": backendprotocol.NewParser(cfg),
+ "ModSecurity": modsecurity.NewParser(cfg),
+ "Mirror": mirror.NewParser(cfg),
+ "StreamSnippet": streamsnippet.NewParser(cfg),
+ }
+}
+
// NewAnnotationExtractor creates a new annotations extractor
func NewAnnotationExtractor(cfg resolver.Resolver) Extractor {
return Extractor{
- map[string]parser.IngressAnnotation{
- "Aliases": alias.NewParser(cfg),
- "BasicDigestAuth": auth.NewParser(auth.AuthDirectory, cfg),
- "Canary": canary.NewParser(cfg),
- "CertificateAuth": authtls.NewParser(cfg),
- "ClientBodyBufferSize": clientbodybuffersize.NewParser(cfg),
- "ConfigurationSnippet": snippet.NewParser(cfg),
- "Connection": connection.NewParser(cfg),
- "CorsConfig": cors.NewParser(cfg),
- "CustomHTTPErrors": customhttperrors.NewParser(cfg),
- "DisableProxyInterceptErrors": disableproxyintercepterrors.NewParser(cfg),
- "DefaultBackend": defaultbackend.NewParser(cfg),
- "FastCGI": fastcgi.NewParser(cfg),
- "ExternalAuth": authreq.NewParser(cfg),
- "EnableGlobalAuth": authreqglobal.NewParser(cfg),
- "HTTP2PushPreload": http2pushpreload.NewParser(cfg),
- "Opentelemetry": opentelemetry.NewParser(cfg),
- "Proxy": proxy.NewParser(cfg),
- "ProxySSL": proxyssl.NewParser(cfg),
- "RateLimit": ratelimit.NewParser(cfg),
- "GlobalRateLimit": globalratelimit.NewParser(cfg),
- "Redirect": redirect.NewParser(cfg),
- "Rewrite": rewrite.NewParser(cfg),
- "Satisfy": satisfy.NewParser(cfg),
- "ServerSnippet": serversnippet.NewParser(cfg),
- "ServiceUpstream": serviceupstream.NewParser(cfg),
- "SessionAffinity": sessionaffinity.NewParser(cfg),
- "SSLPassthrough": sslpassthrough.NewParser(cfg),
- "UsePortInRedirects": portinredirect.NewParser(cfg),
- "UpstreamHashBy": upstreamhashby.NewParser(cfg),
- "LoadBalancing": loadbalancing.NewParser(cfg),
- "UpstreamVhost": upstreamvhost.NewParser(cfg),
- "Allowlist": ipallowlist.NewParser(cfg),
- "Denylist": ipdenylist.NewParser(cfg),
- "XForwardedPrefix": xforwardedprefix.NewParser(cfg),
- "SSLCipher": sslcipher.NewParser(cfg),
- "Logs": log.NewParser(cfg),
- "BackendProtocol": backendprotocol.NewParser(cfg),
- "ModSecurity": modsecurity.NewParser(cfg),
- "Mirror": mirror.NewParser(cfg),
- "StreamSnippet": streamsnippet.NewParser(cfg),
- },
+ NewAnnotationFactory(cfg),
}
}
diff --git a/internal/ingress/annotations/annotations_test.go b/internal/ingress/annotations/annotations_test.go
index 0f4f8f7d7..5df3cdc0e 100644
--- a/internal/ingress/annotations/annotations_test.go
+++ b/internal/ingress/annotations/annotations_test.go
@@ -43,16 +43,20 @@ var (
annotationAffinityCookieName = parser.GetAnnotationWithPrefix("session-cookie-name")
annotationUpstreamHashBy = parser.GetAnnotationWithPrefix("upstream-hash-by")
annotationCustomHTTPErrors = parser.GetAnnotationWithPrefix("custom-http-errors")
+ annotationCustomHeaders = parser.GetAnnotationWithPrefix("custom-headers")
)
type mockCfg struct {
resolver.Mock
- MockSecrets map[string]*apiv1.Secret
- MockServices map[string]*apiv1.Service
+ MockSecrets map[string]*apiv1.Secret
+ MockServices map[string]*apiv1.Service
+ MockConfigMaps map[string]*apiv1.ConfigMap
}
func (m mockCfg) GetDefaultBackend() defaults.Backend {
- return defaults.Backend{}
+ return defaults.Backend{
+ AllowedResponseHeaders: []string{"Content-Type"},
+ }
}
func (m mockCfg) GetSecret(name string) (*apiv1.Secret, error) {
@@ -63,6 +67,10 @@ func (m mockCfg) GetService(name string) (*apiv1.Service, error) {
return m.MockServices[name], nil
}
+func (m mockCfg) GetConfigMap(name string) (*apiv1.ConfigMap, error) {
+ return m.MockConfigMaps[name], nil
+}
+
func (m mockCfg) GetAuthCertificate(name string) (*resolver.AuthSSLCert, error) {
secret, err := m.GetSecret(name)
if err != nil {
@@ -317,3 +325,44 @@ func TestCustomHTTPErrors(t *testing.T) {
}
}
}
+
+func TestCustomResponseHeaders(t *testing.T) {
+ mockObj := mockCfg{}
+ mockObj.MockConfigMaps = map[string]*apiv1.ConfigMap{}
+ mockObj.MockConfigMaps["custom-headers"] = &apiv1.ConfigMap{Data: map[string]string{"Content-Type": "application/json"}}
+ mockObj.MockConfigMaps["empty-custom-headers"] = &apiv1.ConfigMap{Data: map[string]string{}}
+
+ ec := NewAnnotationExtractor(mockObj)
+ ing := buildIngress()
+ fooAnns := []struct {
+ annotations map[string]string
+ headers map[string]string
+ }{
+ {map[string]string{annotationCustomHeaders: "custom-headers"}, map[string]string{"Content-Type": "application/json"}},
+ {map[string]string{annotationCustomHeaders: "empty-custom-headers"}, map[string]string{}},
+ {nil, map[string]string{}},
+ }
+
+ for _, foo := range fooAnns {
+ ing.SetAnnotations(foo.annotations)
+ rann, err := ec.Extract(ing)
+ if err != nil {
+ t.Errorf("error should be null: %v", err)
+ }
+ r := rann.CustomHeaders.Headers
+
+ // Check that expected headers were created
+ for i := range foo.headers {
+ if r[i] != foo.headers[i] {
+ t.Errorf("Returned %v but expected %v", r, foo.headers)
+ }
+ }
+
+ // Check that no unexpected headers were created
+ for i := range r {
+ if r[i] != foo.headers[i] {
+ t.Errorf("Returned %v but expected %v", r, foo.headers)
+ }
+ }
+ }
+}
diff --git a/internal/ingress/annotations/authtls/main.go b/internal/ingress/annotations/authtls/main.go
index e288d82c9..1c6bad485 100644
--- a/internal/ingress/annotations/authtls/main.go
+++ b/internal/ingress/annotations/authtls/main.go
@@ -41,7 +41,7 @@ const (
)
var (
- authVerifyClientRegex = regexp.MustCompile(`on|off|optional|optional_no_ca`)
+ authVerifyClientRegex = regexp.MustCompile(`^(on|off|optional|optional_no_ca)$`)
redirectRegex = regexp.MustCompile(`^((https?://)?[A-Za-z0-9\-.]*(:\d+)?/[A-Za-z0-9\-.]*)?$`)
)
@@ -122,6 +122,9 @@ func (assl1 *Config) Equal(assl2 *Config) bool {
if assl1.PassCertToUpstream != assl2.PassCertToUpstream {
return false
}
+ if assl1.MatchCN != assl2.MatchCN {
+ return false
+ }
return true
}
diff --git a/internal/ingress/annotations/authtls/main_test.go b/internal/ingress/annotations/authtls/main_test.go
index 0dd442e4f..37342e513 100644
--- a/internal/ingress/annotations/authtls/main_test.go
+++ b/internal/ingress/annotations/authtls/main_test.go
@@ -333,6 +333,15 @@ func TestEquals(t *testing.T) {
}
cfg2.PassCertToUpstream = true
+ // Different MatchCN
+ cfg1.MatchCN = "CN=(hello-app|goodbye)"
+ cfg2.MatchCN = "CN=(hello-app)"
+ result = cfg1.Equal(cfg2)
+ if result != false {
+ t.Errorf("Expected false")
+ }
+ cfg2.MatchCN = "CN=(hello-app|goodbye)"
+
// Equal Configs
result = cfg1.Equal(cfg2)
if result != true {
diff --git a/internal/ingress/annotations/customheaders/main.go b/internal/ingress/annotations/customheaders/main.go
new file mode 100644
index 000000000..774e9c3d3
--- /dev/null
+++ b/internal/ingress/annotations/customheaders/main.go
@@ -0,0 +1,124 @@
+/*
+Copyright 2023 The Kubernetes Authors.
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+*/
+
+package customheaders
+
+import (
+ "fmt"
+ "regexp"
+
+ "k8s.io/klog/v2"
+
+ networking "k8s.io/api/networking/v1"
+
+ "golang.org/x/exp/slices"
+ "k8s.io/ingress-nginx/internal/ingress/annotations/parser"
+ ing_errors "k8s.io/ingress-nginx/internal/ingress/errors"
+ "k8s.io/ingress-nginx/internal/ingress/resolver"
+)
+
+// Config returns the custom response headers for an Ingress rule
+type Config struct {
+ Headers map[string]string `json:"headers,omitempty"`
+}
+
+var (
+ headerRegexp = regexp.MustCompile(`^[a-zA-Z\d\-_]+$`)
+ valueRegexp = regexp.MustCompile(`^[a-zA-Z\d_ :;.,\\/"'?!(){}\[\]@<>=\-+*#$&\x60|~^%]+$`)
+)
+
+// ValidHeader checks is the provided string satisfies the header's name regex
+func ValidHeader(header string) bool {
+ return headerRegexp.MatchString(header)
+}
+
+// ValidValue checks is the provided string satisfies the value regex
+func ValidValue(header string) bool {
+ return valueRegexp.MatchString(header)
+}
+
+const (
+ customHeadersConfigMapAnnotation = "custom-headers"
+)
+
+var customHeadersAnnotation = parser.Annotation{
+ Group: "backend",
+ Annotations: parser.AnnotationFields{
+ customHeadersConfigMapAnnotation: {
+ Validator: parser.ValidateRegex(parser.BasicCharsRegex, true),
+ Scope: parser.AnnotationScopeLocation,
+ Risk: parser.AnnotationRiskMedium,
+ Documentation: `This annotation sets the name of a ConfigMap that specifies headers to pass to the client.
+ Only ConfigMaps on the same namespace are allowed`,
+ },
+ },
+}
+
+type customHeaders struct {
+ r resolver.Resolver
+ annotationConfig parser.Annotation
+}
+
+// NewParser creates a new custom response headers annotation parser
+func NewParser(r resolver.Resolver) parser.IngressAnnotation {
+ return customHeaders{r: r, annotationConfig: customHeadersAnnotation}
+}
+
+func (a customHeaders) GetDocumentation() parser.AnnotationFields {
+ return a.annotationConfig.Annotations
+}
+
+// Parse parses the annotations contained in the ingress to use
+// custom response headers
+func (a customHeaders) Parse(ing *networking.Ingress) (interface{}, error) {
+ clientHeadersConfigMapName, err := parser.GetStringAnnotation(customHeadersConfigMapAnnotation, ing, a.annotationConfig.Annotations)
+ if err != nil {
+ klog.V(3).InfoS("client-headers annotation is undefined and will not be set")
+ }
+
+ var headers map[string]string
+ defBackend := a.r.GetDefaultBackend()
+
+ if clientHeadersConfigMapName != "" {
+ clientHeadersMapContents, err := a.r.GetConfigMap(clientHeadersConfigMapName)
+ if err != nil {
+ return nil, ing_errors.NewLocationDenied(fmt.Sprintf("unable to find configMap %q", clientHeadersConfigMapName))
+ }
+
+ for header, value := range clientHeadersMapContents.Data {
+ if !ValidHeader(header) {
+ return nil, ing_errors.NewLocationDenied("invalid header name in configmap")
+ }
+ if !ValidValue(value) {
+ return nil, ing_errors.NewLocationDenied("invalid header value in configmap")
+ }
+ if !slices.Contains(defBackend.AllowedResponseHeaders, header) {
+ return nil, ing_errors.NewLocationDenied(fmt.Sprintf("header %s is not allowed, defined allowed headers inside global-allowed-response-headers %v", header, defBackend.AllowedResponseHeaders))
+ }
+ }
+
+ headers = clientHeadersMapContents.Data
+ }
+
+ return &Config{
+ Headers: headers,
+ }, nil
+}
+
+func (a customHeaders) Validate(anns map[string]string) error {
+ maxrisk := parser.StringRiskToRisk(a.r.GetSecurityConfiguration().AnnotationsRiskLevel)
+ return parser.CheckAnnotationRisk(anns, maxrisk, customHeadersAnnotation.Annotations)
+}
diff --git a/internal/ingress/annotations/customheaders/main_test.go b/internal/ingress/annotations/customheaders/main_test.go
new file mode 100644
index 000000000..81c0b795a
--- /dev/null
+++ b/internal/ingress/annotations/customheaders/main_test.go
@@ -0,0 +1,113 @@
+/*
+Copyright 2023 The Kubernetes Authors.
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+*/
+
+package customheaders
+
+import (
+ "reflect"
+ "testing"
+
+ api "k8s.io/api/core/v1"
+ networking "k8s.io/api/networking/v1"
+ meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
+ "k8s.io/ingress-nginx/internal/ingress/annotations/parser"
+ "k8s.io/ingress-nginx/internal/ingress/defaults"
+ "k8s.io/ingress-nginx/internal/ingress/resolver"
+)
+
+func buildIngress() *networking.Ingress {
+ return &networking.Ingress{
+ ObjectMeta: meta_v1.ObjectMeta{
+ Name: "foo",
+ Namespace: api.NamespaceDefault,
+ },
+ Spec: networking.IngressSpec{
+ DefaultBackend: &networking.IngressBackend{
+ Service: &networking.IngressServiceBackend{
+ Name: "default-backend",
+ Port: networking.ServiceBackendPort{
+ Number: 80,
+ },
+ },
+ },
+ },
+ }
+}
+
+type mockBackend struct {
+ resolver.Mock
+}
+
+// GetDefaultBackend returns the backend that must be used as default
+func (m mockBackend) GetDefaultBackend() defaults.Backend {
+ return defaults.Backend{
+ AllowedResponseHeaders: []string{"Content-Type", "Access-Control-Max-Age"},
+ }
+}
+
+func TestCustomHeadersParseInvalidAnnotations(t *testing.T) {
+ ing := buildIngress()
+ configMapResolver := mockBackend{}
+ configMapResolver.ConfigMaps = map[string]*api.ConfigMap{}
+
+ _, err := NewParser(configMapResolver).Parse(ing)
+ if err != nil {
+ t.Errorf("expected error parsing ingress with custom-response-headers")
+ }
+
+ data := map[string]string{}
+ data[parser.GetAnnotationWithPrefix("custom-headers")] = "custom-headers-configmap"
+ ing.SetAnnotations(data)
+ i, err := NewParser(&resolver.Mock{}).Parse(ing)
+ if err == nil {
+ t.Errorf("expected error parsing ingress with custom-response-headers")
+ }
+ if i != nil {
+ t.Errorf("expected %v but got %v", nil, i)
+ }
+}
+
+func TestCustomHeadersParseAnnotations(t *testing.T) {
+ ing := buildIngress()
+
+ data := map[string]string{}
+ data[parser.GetAnnotationWithPrefix("custom-headers")] = "custom-headers-configmap"
+ ing.SetAnnotations(data)
+
+ configMapResolver := mockBackend{}
+ configMapResolver.ConfigMaps = map[string]*api.ConfigMap{}
+
+ configMapResolver.ConfigMaps["custom-headers-configmap"] = &api.ConfigMap{Data: map[string]string{"Content-Type": "application/json", "Access-Control-Max-Age": "600"}}
+
+ i, err := NewParser(configMapResolver).Parse(ing)
+ if err != nil {
+ t.Errorf("unexpected error parsing ingress with custom-response-headers: %s", err)
+ }
+ val, ok := i.(*Config)
+ if !ok {
+ t.Errorf("expected a *Config type")
+ }
+
+ expectedResponseHeaders := map[string]string{}
+ expectedResponseHeaders["Content-Type"] = "application/json"
+ expectedResponseHeaders["Access-Control-Max-Age"] = "600"
+
+ c := &Config{expectedResponseHeaders}
+
+ if !reflect.DeepEqual(c, val) {
+ t.Errorf("expected %v but got %v", c, val)
+ }
+}
diff --git a/internal/ingress/annotations/parser/main.go b/internal/ingress/annotations/parser/main.go
index 554ad9dde..3137afbfd 100644
--- a/internal/ingress/annotations/parser/main.go
+++ b/internal/ingress/annotations/parser/main.go
@@ -210,6 +210,21 @@ func StringRiskToRisk(risk string) AnnotationRisk {
}
}
+func (a AnnotationRisk) ToString() string {
+ switch a {
+ case AnnotationRiskCritical:
+ return "Critical"
+ case AnnotationRiskHigh:
+ return "High"
+ case AnnotationRiskMedium:
+ return "Medium"
+ case AnnotationRiskLow:
+ return "Low"
+ default:
+ return "Unknown"
+ }
+}
+
func normalizeString(input string) string {
trimmedContent := []string{}
for _, line := range strings.Split(input, "\n") {
diff --git a/internal/ingress/annotations/parser/validators.go b/internal/ingress/annotations/parser/validators.go
index 64a9d133d..ffb4d9ba9 100644
--- a/internal/ingress/annotations/parser/validators.go
+++ b/internal/ingress/annotations/parser/validators.go
@@ -190,7 +190,7 @@ func ValidateServiceName(value string) error {
return nil
}
-// checkAnnotations will check each annotation for:
+// checkAnnotation will check each annotation for:
// 1 - Does it contain the internal validation and docs config?
// 2 - Does the ingress contains annotations? (validate null pointers)
// 3 - Does it contains a validator? Should it contain a validator (not containing is a bug!)
diff --git a/internal/ingress/annotations/proxyssl/main.go b/internal/ingress/annotations/proxyssl/main.go
index 0e854cd21..c40bc85e0 100644
--- a/internal/ingress/annotations/proxyssl/main.go
+++ b/internal/ingress/annotations/proxyssl/main.go
@@ -32,7 +32,7 @@ import (
const (
defaultProxySSLCiphers = "DEFAULT"
- defaultProxySSLProtocols = "TLSv1 TLSv1.1 TLSv1.2"
+ defaultProxySSLProtocols = "TLSv1.2"
defaultProxySSLVerify = "off"
defaultProxySSLVerifyDepth = 1
defaultProxySSLServerName = "off"
@@ -40,7 +40,7 @@ const (
var (
proxySSLOnOffRegex = regexp.MustCompile(`^(on|off)$`)
- proxySSLProtocolRegex = regexp.MustCompile(`^(SSLv2|SSLv3|TLSv1|TLSv1\.1|TLSv1\.2|TLSv1\.3| )*$`)
+ proxySSLProtocolRegex = regexp.MustCompile(`^(TLSv1\.2|TLSv1\.3| )*$`)
proxySSLCiphersRegex = regexp.MustCompile(`^[A-Za-z0-9\+:\_\-!]*$`)
)
diff --git a/internal/ingress/annotations/proxyssl/main_test.go b/internal/ingress/annotations/proxyssl/main_test.go
index a20c6813d..cfa31f1d1 100644
--- a/internal/ingress/annotations/proxyssl/main_test.go
+++ b/internal/ingress/annotations/proxyssl/main_test.go
@@ -32,7 +32,7 @@ const (
proxySslCiphers = "HIGH:-SHA"
off = "off"
sslServerName = "w00t"
- defaultProtocol = "SSLv2 TLSv1 TLSv1.2 TLSv1.3"
+ defaultProtocol = "TLSv1.2 TLSv1.3"
)
func buildIngress() *networking.Ingress {
@@ -103,7 +103,7 @@ func TestAnnotations(t *testing.T) {
data[parser.GetAnnotationWithPrefix(proxySSLSecretAnnotation)] = defaultDemoSecret
data[parser.GetAnnotationWithPrefix("proxy-ssl-ciphers")] = proxySslCiphers
data[parser.GetAnnotationWithPrefix("proxy-ssl-name")] = "$host"
- data[parser.GetAnnotationWithPrefix("proxy-ssl-protocols")] = "TLSv1.3 SSLv2 TLSv1 TLSv1.2"
+ data[parser.GetAnnotationWithPrefix("proxy-ssl-protocols")] = "TLSv1.3 TLSv1.2"
data[parser.GetAnnotationWithPrefix("proxy-ssl-server-name")] = "on"
data[parser.GetAnnotationWithPrefix("proxy-ssl-session-reuse")] = off
data[parser.GetAnnotationWithPrefix("proxy-ssl-verify")] = "on"
diff --git a/internal/ingress/annotations/redirect/redirect.go b/internal/ingress/annotations/redirect/redirect.go
index b58e35171..e774b2fe8 100644
--- a/internal/ingress/annotations/redirect/redirect.go
+++ b/internal/ingress/annotations/redirect/redirect.go
@@ -51,7 +51,7 @@ var redirectAnnotations = parser.Annotation{
Validator: parser.ValidateBool,
Scope: parser.AnnotationScopeLocation,
Risk: parser.AnnotationRiskLow, // Low, as it allows just a set of options
- Documentation: `In some scenarios is required to redirect from www.domain.com to domain.com or vice versa. To enable this feature use this annotation.`,
+ Documentation: `In some scenarios, it is required to redirect from www.domain.com to domain.com or vice versa, which way the redirect is performed depends on the configured host value in the Ingress object.`,
},
temporalRedirectAnnotation: {
Validator: parser.ValidateRegex(parser.URLIsValidRegex, false),
diff --git a/internal/ingress/annotations/sslcipher/main.go b/internal/ingress/annotations/sslcipher/main.go
index 7a282d0a0..3cfd903bd 100644
--- a/internal/ingress/annotations/sslcipher/main.go
+++ b/internal/ingress/annotations/sslcipher/main.go
@@ -43,7 +43,7 @@ var sslCipherAnnotations = parser.Annotation{
Scope: parser.AnnotationScopeIngress,
Risk: parser.AnnotationRiskLow,
Documentation: `The following annotation will set the ssl_prefer_server_ciphers directive at the server level.
- This configuration specifies that server ciphers should be preferred over client ciphers when using the SSLv3 and TLS protocols.`,
+ This configuration specifies that server ciphers should be preferred over client ciphers when using the TLS protocols.`,
},
sslCipherAnnotation: {
Validator: parser.ValidateRegex(regexValidSSLCipher, true),
diff --git a/internal/ingress/controller/config/config.go b/internal/ingress/controller/config/config.go
index 12bbb662a..337cb9e86 100644
--- a/internal/ingress/controller/config/config.go
+++ b/internal/ingress/controller/config/config.go
@@ -20,9 +20,8 @@ import (
"strconv"
"time"
- "k8s.io/klog/v2"
-
apiv1 "k8s.io/api/core/v1"
+ "k8s.io/klog/v2"
"k8s.io/ingress-nginx/internal/ingress/defaults"
"k8s.io/ingress-nginx/pkg/apis/ingress"
@@ -319,11 +318,6 @@ type Configuration struct {
NginxStatusIpv4Whitelist []string `json:"nginx-status-ipv4-whitelist,omitempty"`
NginxStatusIpv6Whitelist []string `json:"nginx-status-ipv6-whitelist,omitempty"`
- // Plugins configures plugins to use placed in the directory /etc/nginx/lua/plugins.
- // Every plugin has to have main.lua in the root. Every plugin has to bundle all of its dependencies.
- // The execution order follows the definition.
- Plugins []string `json:"plugins,omitempty"`
-
// If UseProxyProtocol is enabled ProxyRealIPCIDR defines the default the IP/network address
// of your external load balancer
ProxyRealIPCIDR []string `json:"proxy-real-ip-cidr,omitempty"`
@@ -478,6 +472,13 @@ type Configuration struct {
// http://nginx.org/en/docs/ngx_core_module.html#worker_processes
WorkerProcesses string `json:"worker-processes,omitempty"`
+ // Defines whether multiple concurrent reloads of worker processes should occur.
+ // Set this to false to prevent more than n x 2 workers to exist at any time, to avoid potential OOM situations and high CPU load
+ // With this setting on false, configuration changes in the queue will be re-queued with an exponential backoff, until the number of worker process is the expected value.
+ // By default new worker processes are spawned every time there's a change that cannot be applied dynamically with no upper limit to the number of running workers
+ // http://nginx.org/en/docs/ngx_core_module.html#worker_processes
+ WorkerSerialReloads bool `json:"enable-serial-reloads,omitempty"`
+
// Defines a timeout for a graceful shutdown of worker processes
// http://nginx.org/en/docs/ngx_core_module.html#worker_shutdown_timeout
WorkerShutdownTimeout string `json:"worker-shutdown-timeout,omitempty"`
@@ -738,9 +739,9 @@ type Configuration struct {
// simultaneous connections.
GlobalRateLimitMemcachedPoolSize int `json:"global-rate-limit-memcached-pool-size"`
- // GlobalRateLimitStatucCode determines the HTTP status code to return
+ // GlobalRateLimitStatusCode determines the HTTP status code to return
// when limit is exceeding during global rate limiting.
- GlobalRateLimitStatucCode int `json:"global-rate-limit-status-code"`
+ GlobalRateLimitStatusCode int `json:"global-rate-limit-status-code"`
// DebugConnections Enables debugging log for selected client connections
// http://nginx.org/en/docs/ngx_core_module.html#debug_connection
@@ -752,6 +753,11 @@ type Configuration struct {
// alphanumeric chars, "-", "_", "/".In case of additional characters,
// like used on Rewrite configurations the user should use pathType as ImplementationSpecific
StrictValidatePathType bool `json:"strict-validate-path-type"`
+
+ // GRPCBufferSizeKb Sets the size of the buffer used for reading the response received
+ // from the gRPC server. The response is passed to the client synchronously,
+ // as soon as it is received.
+ GRPCBufferSizeKb int `json:"grpc-buffer-size-kb"`
}
// NewDefault returns the default nginx configuration
@@ -847,6 +853,7 @@ func NewDefault() Configuration {
UseGeoIP2: false,
GeoIP2AutoReloadMinutes: 0,
WorkerProcesses: strconv.Itoa(runtime.NumCPU()),
+ WorkerSerialReloads: false,
WorkerShutdownTimeout: "240s",
VariablesHashBucketSize: 256,
VariablesHashMaxSize: 2048,
@@ -884,6 +891,7 @@ func NewDefault() Configuration {
ProxyHTTPVersion: "1.1",
ProxyMaxTempFileSize: "1024m",
ServiceUpstream: false,
+ AllowedResponseHeaders: []string{},
},
UpstreamKeepaliveConnections: 320,
UpstreamKeepaliveTime: "1h",
@@ -914,9 +922,10 @@ func NewDefault() Configuration {
GlobalRateLimitMemcachedConnectTimeout: 50,
GlobalRateLimitMemcachedMaxIdleTimeout: 10000,
GlobalRateLimitMemcachedPoolSize: 50,
- GlobalRateLimitStatucCode: 429,
+ GlobalRateLimitStatusCode: 429,
DebugConnections: []string{},
StrictValidatePathType: false, // TODO: This will be true in future releases
+ GRPCBufferSizeKb: 0,
}
if klog.V(5).Enabled() {
diff --git a/internal/ingress/controller/controller.go b/internal/ingress/controller/controller.go
index 495fead15..9250ded08 100644
--- a/internal/ingress/controller/controller.go
+++ b/internal/ingress/controller/controller.go
@@ -91,6 +91,7 @@ type Configuration struct {
UpdateStatus bool
UseNodeInternalIP bool
ElectionID string
+ ElectionTTL time.Duration
UpdateStatusOnShutdown bool
HealthCheckHost string
@@ -252,9 +253,8 @@ func (n *NGINXController) syncIngress(interface{}) error {
}
ri := utilingress.GetRemovedIngresses(n.runningConfig, pcfg)
- re := utilingress.GetRemovedHosts(n.runningConfig, pcfg)
rc := utilingress.GetRemovedCertificateSerialNumbers(n.runningConfig, pcfg)
- n.metricCollector.RemoveMetrics(ri, re, rc)
+ n.metricCollector.RemoveMetrics(ri, rc)
n.runningConfig = pcfg
@@ -1504,6 +1504,7 @@ func (n *NGINXController) createServers(data []*ingress.Ingress,
func locationApplyAnnotations(loc *ingress.Location, anns *annotations.Ingress) {
loc.BasicDigestAuth = anns.BasicDigestAuth
loc.ClientBodyBufferSize = anns.ClientBodyBufferSize
+ loc.CustomHeaders = anns.CustomHeaders
loc.ConfigurationSnippet = anns.ConfigurationSnippet
loc.CorsConfig = anns.CorsConfig
loc.ExternalAuth = anns.ExternalAuth
@@ -1593,7 +1594,11 @@ func mergeAlternativeBackends(ing *ingress.Ingress, upstreams map[string]*ingres
altEqualsPri := false
for _, loc := range servers[defServerName].Locations {
- priUps := upstreams[loc.Backend]
+ priUps, ok := upstreams[loc.Backend]
+ if !ok {
+ klog.Warningf("cannot find primary backend %s for location %s%s", loc.Backend, servers[defServerName].Hostname, loc.Path)
+ continue
+ }
altEqualsPri = altUps.Name == priUps.Name
if altEqualsPri {
klog.Warningf("alternative upstream %s in Ingress %s/%s is primary upstream in Other Ingress for location %s%s!",
@@ -1652,7 +1657,11 @@ func mergeAlternativeBackends(ing *ingress.Ingress, upstreams map[string]*ingres
// find matching paths
for _, loc := range server.Locations {
- priUps := upstreams[loc.Backend]
+ priUps, ok := upstreams[loc.Backend]
+ if !ok {
+ klog.Warningf("cannot find primary backend %s for location %s%s", loc.Backend, server.Hostname, loc.Path)
+ continue
+ }
altEqualsPri = altUps.Name == priUps.Name
if altEqualsPri {
klog.Warningf("alternative upstream %s in Ingress %s/%s is primary upstream in Other Ingress for location %s%s!",
diff --git a/internal/ingress/controller/controller_test.go b/internal/ingress/controller/controller_test.go
index e257dd1f1..9d3fea470 100644
--- a/internal/ingress/controller/controller_test.go
+++ b/internal/ingress/controller/controller_test.go
@@ -1292,6 +1292,74 @@ func TestMergeAlternativeBackends(t *testing.T) {
},
},
},
+ "alternative backend does not merge for missing upstream": {
+ &ingress.Ingress{
+ Ingress: networking.Ingress{
+ ObjectMeta: metav1.ObjectMeta{
+ Namespace: "example",
+ },
+ Spec: networking.IngressSpec{
+ Rules: []networking.IngressRule{
+ {
+ Host: "example.com",
+ IngressRuleValue: networking.IngressRuleValue{
+ HTTP: &networking.HTTPIngressRuleValue{
+ Paths: []networking.HTTPIngressPath{
+ {
+ Path: "/",
+ PathType: &pathTypePrefix,
+ Backend: networking.IngressBackend{
+ Service: &networking.IngressServiceBackend{
+ Name: "http-svc-canary",
+ Port: networking.ServiceBackendPort{
+ Number: 80,
+ },
+ },
+ },
+ },
+ },
+ },
+ },
+ },
+ },
+ },
+ },
+ },
+ map[string]*ingress.Backend{
+ "example-http-svc-canary-80": {
+ Name: "example-http-svc-canary-80",
+ NoServer: true,
+ TrafficShapingPolicy: ingress.TrafficShapingPolicy{
+ Weight: 20,
+ },
+ },
+ },
+ map[string]*ingress.Server{
+ "example.com": {
+ Hostname: "example.com",
+ Locations: []*ingress.Location{
+ {
+ Path: "/",
+ PathType: &pathTypePrefix,
+ Backend: "example-http-svc-80",
+ },
+ },
+ },
+ },
+ map[string]*ingress.Backend{},
+ map[string]*ingress.Server{
+ "example.com": {
+ Hostname: "example.com",
+ Locations: []*ingress.Location{
+ {
+ Path: "/",
+ PathType: &pathTypePrefix,
+ Backend: "example-http-svc-80",
+ },
+ },
+ },
+ },
+ },
}
for title, tc := range testCases {
diff --git a/internal/ingress/controller/nginx.go b/internal/ingress/controller/nginx.go
index 1d385e506..f74b3245e 100644
--- a/internal/ingress/controller/nginx.go
+++ b/internal/ingress/controller/nginx.go
@@ -35,6 +35,7 @@ import (
"syscall"
"text/template"
"time"
+ "unicode"
proxyproto "github.com/armon/go-proxyproto"
"github.com/eapache/channels"
@@ -87,9 +88,10 @@ func NewNGINXController(config *Configuration, mc metric.Collector) *NGINXContro
n := &NGINXController{
isIPV6Enabled: ing_net.IsIPv6Enabled(),
- resolver: h,
- cfg: config,
- syncRateLimiter: flowcontrol.NewTokenBucketRateLimiter(config.SyncRateLimit, 1),
+ resolver: h,
+ cfg: config,
+ syncRateLimiter: flowcontrol.NewTokenBucketRateLimiter(config.SyncRateLimit, 1),
+ workersReloading: false,
recorder: eventBroadcaster.NewRecorder(scheme.Scheme, apiv1.EventSource{
Component: "nginx-ingress-controller",
@@ -202,8 +204,11 @@ func NewNGINXController(config *Configuration, mc metric.Collector) *NGINXContro
}
for _, f := range filesToWatch {
+ // This redeclaration is necessary for the closure to get the correct value for the iteration in go versions <1.22
+ // See https://go.dev/blog/loopvar-preview
+ f := f
_, err = file.NewFileWatcher(f, func() {
- klog.InfoS("File changed detected. Reloading NGINX", "path", f)
+ klog.InfoS("File change detected. Reloading NGINX", "path", f)
n.syncQueue.EnqueueTask(task.GetDummyObject("file-change"))
})
if err != nil {
@@ -226,6 +231,8 @@ type NGINXController struct {
syncRateLimiter flowcontrol.RateLimiter
+ workersReloading bool
+
// stopLock is used to enforce that only a single call to Stop send at
// a given time. We allow stopping through an HTTP endpoint and
// allowing concurrent stoppers leads to stack traces.
@@ -274,8 +281,9 @@ func (n *NGINXController) Start() {
if !n.cfg.DisableLeaderElection {
electionID := n.cfg.ElectionID
setupLeaderElection(&leaderElectionConfig{
- Client: n.cfg.Client,
- ElectionID: electionID,
+ Client: n.cfg.Client,
+ ElectionID: electionID,
+ ElectionTTL: n.cfg.ElectionTTL,
OnStartedLeading: func(stopCh chan struct{}) {
if n.syncStatus != nil {
go n.syncStatus.Run(stopCh)
@@ -672,6 +680,11 @@ func (n *NGINXController) OnUpdate(ingressCfg ingress.Configuration) error {
cfg := n.store.GetBackendConfiguration()
cfg.Resolver = n.resolver
+ workerSerialReloads := cfg.WorkerSerialReloads
+ if workerSerialReloads && n.workersReloading {
+ return errors.New("worker reload already in progress, requeuing reload")
+ }
+
content, err := n.generateTemplate(cfg, ingressCfg)
if err != nil {
return err
@@ -734,9 +747,41 @@ func (n *NGINXController) OnUpdate(ingressCfg ingress.Configuration) error {
return fmt.Errorf("%v\n%v", err, string(o))
}
+ // Reload status checking runs in a separate goroutine to avoid blocking the sync queue
+ if workerSerialReloads {
+ go n.awaitWorkersReload()
+ }
+
return nil
}
+// awaitWorkersReload checks if the number of workers has returned to the expected count
+func (n *NGINXController) awaitWorkersReload() {
+ n.workersReloading = true
+ defer func() { n.workersReloading = false }()
+
+ expectedWorkers := n.store.GetBackendConfiguration().WorkerProcesses
+ var numWorkers string
+ klog.V(3).Infof("waiting for worker count to be equal to %s", expectedWorkers)
+ for numWorkers != expectedWorkers {
+ time.Sleep(time.Second)
+ o, err := exec.Command("/bin/sh", "-c", "pgrep worker | wc -l").Output()
+ if err != nil {
+ klog.ErrorS(err, numWorkers)
+ return
+ }
+ // cleanup any non-printable chars from shell output
+ numWorkers = strings.Map(func(r rune) rune {
+ if unicode.IsPrint(r) {
+ return r
+ }
+ return -1
+ }, string(o))
+
+ klog.V(3).Infof("Currently running nginx worker processes: %s, expected %s", numWorkers, expectedWorkers)
+ }
+}
+
// nginxHashBucketSize computes the correct NGINX hash_bucket_size for a hash
// with the given longest key.
func nginxHashBucketSize(longestString int) int {
diff --git a/internal/ingress/controller/status.go b/internal/ingress/controller/status.go
index 6bab7c2ad..5a169e1c3 100644
--- a/internal/ingress/controller/status.go
+++ b/internal/ingress/controller/status.go
@@ -36,7 +36,8 @@ import (
type leaderElectionConfig struct {
Client clientset.Interface
- ElectionID string
+ ElectionID string
+ ElectionTTL time.Duration
OnStartedLeading func(chan struct{})
OnStoppedLeading func()
@@ -107,13 +108,11 @@ func setupLeaderElection(config *leaderElectionConfig) {
LockConfig: resourceLockConfig,
}
- ttl := 30 * time.Second
-
elector, err = leaderelection.NewLeaderElector(leaderelection.LeaderElectionConfig{
Lock: lock,
- LeaseDuration: ttl,
- RenewDeadline: ttl / 2,
- RetryPeriod: ttl / 4,
+ LeaseDuration: config.ElectionTTL,
+ RenewDeadline: config.ElectionTTL / 2,
+ RetryPeriod: config.ElectionTTL / 4,
Callbacks: callbacks,
})
diff --git a/internal/ingress/controller/template/configmap.go b/internal/ingress/controller/template/configmap.go
index 9dc019bcc..2f7b0a09c 100644
--- a/internal/ingress/controller/template/configmap.go
+++ b/internal/ingress/controller/template/configmap.go
@@ -31,6 +31,7 @@ import (
"k8s.io/apimachinery/pkg/util/sets"
"k8s.io/ingress-nginx/internal/ingress/annotations/authreq"
+ "k8s.io/ingress-nginx/internal/ingress/annotations/customheaders"
"k8s.io/ingress-nginx/internal/ingress/annotations/parser"
"k8s.io/ingress-nginx/internal/ingress/controller/config"
ing_net "k8s.io/ingress-nginx/internal/net"
@@ -54,6 +55,7 @@ const (
nginxStatusIpv6Whitelist = "nginx-status-ipv6-whitelist"
proxyHeaderTimeout = "proxy-protocol-header-timeout"
workerProcesses = "worker-processes"
+ globalAllowedResponseHeaders = "global-allowed-response-headers"
globalAuthURL = "global-auth-url"
globalAuthMethod = "global-auth-method"
globalAuthSignin = "global-auth-signin"
@@ -65,8 +67,8 @@ const (
globalAuthCacheDuration = "global-auth-cache-duration"
globalAuthAlwaysSetCookie = "global-auth-always-set-cookie"
luaSharedDictsKey = "lua-shared-dicts"
- plugins = "plugins"
debugConnections = "debug-connections"
+ workerSerialReloads = "enable-serial-reloads"
)
var (
@@ -115,6 +117,7 @@ func ReadConfig(src map[string]string) config.Configuration {
blockUserAgentList := make([]string, 0)
blockRefererList := make([]string, 0)
responseHeaders := make([]string, 0)
+ allowedResponseHeaders := make([]string, 0)
luaSharedDicts := make(map[string]int)
debugConnectionsList := make([]string, 0)
@@ -248,6 +251,22 @@ func ReadConfig(src map[string]string) config.Configuration {
}
}
+ // Verify that the configured global external authorization response headers are valid. if not, set the default value
+ if val, ok := conf[globalAllowedResponseHeaders]; ok {
+ delete(conf, globalAllowedResponseHeaders)
+
+ if val != "" {
+ harr := splitAndTrimSpace(val, ",")
+ for _, header := range harr {
+ if !customheaders.ValidHeader(header) {
+ klog.Warningf("Global allowed response headers denied - %s.", header)
+ } else {
+ allowedResponseHeaders = append(allowedResponseHeaders, header)
+ }
+ }
+ }
+ }
+
// Verify that the configured global external authorization method is a valid HTTP method. if not, set the default value
if val, ok := conf[globalAuthMethod]; ok {
delete(conf, globalAuthMethod)
@@ -385,9 +404,15 @@ func ReadConfig(src map[string]string) config.Configuration {
delete(conf, workerProcesses)
}
- if val, ok := conf[plugins]; ok {
- to.Plugins = splitAndTrimSpace(val, ",")
- delete(conf, plugins)
+ if val, ok := conf[workerSerialReloads]; ok {
+ boolVal, err := strconv.ParseBool(val)
+ if err != nil {
+ to.WorkerSerialReloads = false
+ klog.Warningf("failed to parse enable-serial-reloads setting, valid values are true or false, found %s", val)
+ } else {
+ to.WorkerSerialReloads = boolVal
+ }
+ delete(conf, workerSerialReloads)
}
if val, ok := conf[debugConnections]; ok {
@@ -422,6 +447,7 @@ func ReadConfig(src map[string]string) config.Configuration {
to.ProxyStreamResponses = streamResponses
to.DisableIpv6DNS = !ing_net.IsIPv6Enabled()
to.LuaSharedDicts = luaSharedDicts
+ to.Backend.AllowedResponseHeaders = allowedResponseHeaders
decoderConfig := &mapstructure.DecoderConfig{
Metadata: nil,
diff --git a/internal/ingress/controller/template/template.go b/internal/ingress/controller/template/template.go
index 7cd6a0604..8628f8090 100644
--- a/internal/ingress/controller/template/template.go
+++ b/internal/ingress/controller/template/template.go
@@ -136,6 +136,13 @@ func cleanConf(in, out *bytes.Buffer) error {
case ' ', '\t':
needOutput = lineStarted
case '\r':
+ rest := in.Bytes()
+ if len(rest) > 0 {
+ if rest[0] != '\n' {
+ c = ' '
+ needOutput = lineStarted
+ }
+ }
case '\n':
needOutput = !(!lineStarted && emptyLineWritten)
nextLineStarted = false
@@ -150,6 +157,13 @@ func cleanConf(in, out *bytes.Buffer) error {
case stateComment:
switch c {
case '\r':
+ rest := in.Bytes()
+ if len(rest) > 0 {
+ if rest[0] != '\n' {
+ c = ' '
+ needOutput = lineStarted
+ }
+ }
case '\n':
needOutput = true
nextLineStarted = false
@@ -413,7 +427,7 @@ func configForLua(input interface{}) string {
all.Cfg.GlobalRateLimitMemcachedConnectTimeout,
all.Cfg.GlobalRateLimitMemcachedMaxIdleTimeout,
all.Cfg.GlobalRateLimitMemcachedPoolSize,
- all.Cfg.GlobalRateLimitStatucCode,
+ all.Cfg.GlobalRateLimitStatusCode,
)
}
diff --git a/internal/ingress/defaults/main.go b/internal/ingress/defaults/main.go
index 2bb58c858..cfad388ef 100644
--- a/internal/ingress/defaults/main.go
+++ b/internal/ingress/defaults/main.go
@@ -176,6 +176,9 @@ type Backend struct {
// By default, the NGINX ingress controller uses a list of all endpoints (Pod IP/port) in the NGINX upstream configuration.
// It disables that behavior and instead uses a single upstream in NGINX, the service's Cluster IP and port.
ServiceUpstream bool `json:"service-upstream"`
+
+ // AllowedResponseHeaders allows to define allow response headers for custom header annotation
+ AllowedResponseHeaders []string `json:"global-allowed-response-headers"`
}
type SecurityConfiguration struct {
diff --git a/internal/ingress/errors/errors.go b/internal/ingress/errors/errors.go
index d70218334..62be8b77f 100644
--- a/internal/ingress/errors/errors.go
+++ b/internal/ingress/errors/errors.go
@@ -137,7 +137,7 @@ func IsValidationError(e error) bool {
return ok
}
-// NewValidationError returns a new LocationDenied error
+// NewRiskyAnnotations returns a new LocationDenied error
func NewRiskyAnnotations(name string) error {
return RiskyAnnotationError{
Reason: fmt.Errorf("annotation group %s contains risky annotation based on ingress configuration", name),
diff --git a/internal/ingress/metric/collectors/controller.go b/internal/ingress/metric/collectors/controller.go
index e1d6789bb..4ee84bc56 100644
--- a/internal/ingress/metric/collectors/controller.go
+++ b/internal/ingress/metric/collectors/controller.go
@@ -30,7 +30,7 @@ import (
var (
operation = []string{"controller_namespace", "controller_class", "controller_pod"}
ingressOperation = []string{"controller_namespace", "controller_class", "controller_pod", "namespace", "ingress"}
- sslLabelHost = []string{"namespace", "class", "host", "secret_name"}
+ sslLabelHost = []string{"namespace", "class", "host", "secret_name", "identifier"}
sslInfoLabels = []string{"namespace", "class", "host", "secret_name", "identifier", "issuer_organization", "issuer_common_name", "serial_number", "public_key_algorithm"}
orphanityLabels = []string{"controller_namespace", "controller_class", "controller_pod", "namespace", "ingress", "type"}
)
@@ -305,6 +305,7 @@ func (cm *Controller) SetSSLExpireTime(servers []*ingress.Server) {
}
labels["host"] = s.Hostname
labels["secret_name"] = s.SSLCert.Name
+ labels["identifier"] = s.SSLCert.Identifier()
cm.sslExpireTime.With(labels).Set(float64(s.SSLCert.ExpireTime.Unix()))
}
@@ -337,9 +338,9 @@ func (cm *Controller) SetSSLInfo(servers []*ingress.Server) {
}
}
-// RemoveMetrics removes metrics for hostnames not available anymore
-func (cm *Controller) RemoveMetrics(hosts, certificates []string, registry prometheus.Gatherer) {
- cm.removeSSLExpireMetrics(true, hosts, registry)
+// RemoveMetrics removes metrics for certificates not available anymore by identifier
+func (cm *Controller) RemoveMetrics(certificates []string, registry prometheus.Gatherer) {
+ cm.removeSSLExpireMetrics(true, certificates, registry)
cm.removeCertificatesMetrics(true, certificates, registry)
}
@@ -390,14 +391,14 @@ func (cm *Controller) removeCertificatesMetrics(onlyDefinedHosts bool, certifica
}
}
-func (cm *Controller) removeSSLExpireMetrics(onlyDefinedHosts bool, hosts []string, registry prometheus.Gatherer) {
+func (cm *Controller) removeSSLExpireMetrics(onlyDefinedCerts bool, certificates []string, registry prometheus.Gatherer) {
mfs, err := registry.Gather()
if err != nil {
klog.ErrorS(err, "Error gathering metrics")
return
}
- toRemove := sets.NewString(hosts...)
+ toRemove := sets.NewString(certificates...)
for _, mf := range mfs {
metricName := mf.GetName()
@@ -414,19 +415,24 @@ func (cm *Controller) removeSSLExpireMetrics(onlyDefinedHosts bool, hosts []stri
// remove labels that are constant
deleteConstants(labels)
+ identifier, ok := labels["identifier"]
+ if !ok {
+ continue
+ }
+
host, ok := labels["host"]
if !ok {
continue
}
- if onlyDefinedHosts && !toRemove.Has(host) {
+ if onlyDefinedCerts && !toRemove.Has(identifier) {
continue
}
- klog.V(2).InfoS("Removing prometheus metric", "gauge", metricName, "host", host)
+ klog.V(2).InfoS("Removing prometheus metric", "gauge", metricName, "host", host, "identifier", identifier)
removed := cm.sslExpireTime.Delete(labels)
if !removed {
- klog.V(2).InfoS("metric removed", "metric", metricName, "host", host, "labels", labels)
+ klog.V(2).InfoS("metric removed", "metric", metricName, "host", host, "identifier", identifier, "labels", labels)
}
}
}
diff --git a/internal/ingress/metric/collectors/controller_test.go b/internal/ingress/metric/collectors/controller_test.go
index 53a0fd31a..7c7ea8a67 100644
--- a/internal/ingress/metric/collectors/controller_test.go
+++ b/internal/ingress/metric/collectors/controller_test.go
@@ -88,6 +88,15 @@ func TestControllerCounters(t *testing.T) {
Hostname: "demo",
SSLCert: &ingress.SSLCert{
ExpireTime: t1,
+ Certificate: &x509.Certificate{
+ PublicKeyAlgorithm: x509.ECDSA,
+ Issuer: pkix.Name{
+ CommonName: "certificate issuer",
+ SerialNumber: "abcd1234",
+ Organization: []string{"issuer org"},
+ },
+ SerialNumber: big.NewInt(100),
+ },
},
},
{
@@ -102,7 +111,7 @@ func TestControllerCounters(t *testing.T) {
want: `
# HELP nginx_ingress_controller_ssl_expire_time_seconds Number of seconds since 1970 to the SSL Certificate expire.\n An example to check if this certificate will expire in 10 days is: "nginx_ingress_controller_ssl_expire_time_seconds < (time() + (10 * 24 * 3600))"
# TYPE nginx_ingress_controller_ssl_expire_time_seconds gauge
- nginx_ingress_controller_ssl_expire_time_seconds{class="nginx",host="demo",namespace="default",secret_name=""} 1.351807721e+09
+ nginx_ingress_controller_ssl_expire_time_seconds{class="nginx",host="demo",identifier="abcd1234-100",namespace="default",secret_name=""} 1.351807721e+09
`,
metrics: []string{"nginx_ingress_controller_ssl_expire_time_seconds"},
},
@@ -262,7 +271,7 @@ func TestRemoveMetrics(t *testing.T) {
cm.SetSSLExpireTime(servers)
cm.SetSSLInfo(servers)
- cm.RemoveMetrics([]string{"demo"}, []string{"abcd1234-100"}, reg)
+ cm.RemoveMetrics([]string{"abcd1234-100"}, reg)
if err := GatherAndCompare(cm, "", []string{"nginx_ingress_controller_ssl_expire_time_seconds"}, reg); err != nil {
t.Errorf("unexpected collecting result:\n%s", err)
diff --git a/internal/ingress/metric/collectors/process.go b/internal/ingress/metric/collectors/process.go
index 3803a47ae..85e8066b5 100644
--- a/internal/ingress/metric/collectors/process.go
+++ b/internal/ingress/metric/collectors/process.go
@@ -112,7 +112,7 @@ func NewNGINXProcess(pod, namespace, ingressClass string) (NGINXProcessCollector
p := &namedProcess{
scrapeChan: make(chan scrapeRequest),
- Grouper: proc.NewGrouper(nm, true, false, false, false),
+ Grouper: proc.NewGrouper(nm, true, false, false, 0, false, false),
fs: fs,
}
diff --git a/internal/ingress/metric/collectors/socket.go b/internal/ingress/metric/collectors/socket.go
index 248f23f63..863bbb62e 100644
--- a/internal/ingress/metric/collectors/socket.go
+++ b/internal/ingress/metric/collectors/socket.go
@@ -64,11 +64,10 @@ type metricMapping map[string]prometheus.Collector
type SocketCollector struct {
prometheus.Collector
- upstreamLatency *prometheus.SummaryVec // TODO: DEPRECATED, remove
- connectTime *prometheus.HistogramVec
- headerTime *prometheus.HistogramVec
- requestTime *prometheus.HistogramVec
- responseTime *prometheus.HistogramVec
+ connectTime *prometheus.HistogramVec
+ headerTime *prometheus.HistogramVec
+ requestTime *prometheus.HistogramVec
+ responseTime *prometheus.HistogramVec
requestLength *prometheus.HistogramVec
responseLength *prometheus.HistogramVec
@@ -98,10 +97,6 @@ var requestTags = []string{
"canary",
}
-// DefObjectives was removed in https://github.com/prometheus/client_golang/pull/262
-// updating the library to latest version changed the output of the metrics
-var defObjectives = map[float64]float64{0.5: 0.05, 0.9: 0.01, 0.99: 0.001}
-
// NewSocketCollector creates a new SocketCollector instance using
// the ingress watch namespace and class used by the controller
func NewSocketCollector(pod, namespace, class string, metricsPerHost, reportStatusClasses bool, buckets HistogramBuckets, excludeMetrics []string) (*SocketCollector, error) {
@@ -248,19 +243,6 @@ func NewSocketCollector(pod, namespace, class string, metricsPerHost, reportStat
em,
mm,
),
-
- upstreamLatency: summaryMetric(
- &prometheus.SummaryOpts{
- Name: "ingress_upstream_latency_seconds",
- Help: "DEPRECATED Upstream service latency per Ingress",
- Namespace: PrometheusNamespace,
- ConstLabels: constLabels,
- Objectives: defObjectives,
- },
- []string{"ingress", "namespace", "service", "canary"},
- em,
- mm,
- ),
}
sc.metricMapping = mm
@@ -275,18 +257,6 @@ func containsMetric(excludeMetrics map[string]struct{}, name string) bool {
return false
}
-func summaryMetric(opts *prometheus.SummaryOpts, requestTags []string, excludeMetrics map[string]struct{}, metricMapping metricMapping) *prometheus.SummaryVec {
- if containsMetric(excludeMetrics, opts.Name) {
- return nil
- }
- m := prometheus.NewSummaryVec(
- *opts,
- requestTags,
- )
- metricMapping[prometheus.BuildFQName(PrometheusNamespace, "", opts.Name)] = m
- return m
-}
-
func counterMetric(opts *prometheus.CounterOpts, requestTags []string, excludeMetrics map[string]struct{}, metricMapping metricMapping) *prometheus.CounterVec {
if containsMetric(excludeMetrics, opts.Name) {
return nil
@@ -358,13 +328,6 @@ func (sc *SocketCollector) handleMessage(msg []byte) {
collectorLabels["host"] = stats.Host
}
- latencyLabels := prometheus.Labels{
- "namespace": stats.Namespace,
- "ingress": stats.Ingress,
- "service": stats.Service,
- "canary": stats.Canary,
- }
-
if sc.requests != nil {
requestsMetric, err := sc.requests.GetMetricWith(collectorLabels)
if err != nil {
@@ -383,15 +346,6 @@ func (sc *SocketCollector) handleMessage(msg []byte) {
connectTimeMetric.Observe(stats.Latency)
}
}
-
- if sc.upstreamLatency != nil {
- latencyMetric, err := sc.upstreamLatency.GetMetricWith(latencyLabels)
- if err != nil {
- klog.ErrorS(err, "Error fetching latency metric")
- } else {
- latencyMetric.Observe(stats.Latency)
- }
- }
}
if stats.HeaderTime != -1 && sc.headerTime != nil {
diff --git a/internal/ingress/metric/dummy.go b/internal/ingress/metric/dummy.go
index a619ccbd8..7b1485280 100644
--- a/internal/ingress/metric/dummy.go
+++ b/internal/ingress/metric/dummy.go
@@ -54,7 +54,7 @@ func (dc DummyCollector) IncCheckCount(string, string) {}
func (dc DummyCollector) IncCheckErrorCount(string, string) {}
// RemoveMetrics dummy implementation
-func (dc DummyCollector) RemoveMetrics(_, _, _ []string) {}
+func (dc DummyCollector) RemoveMetrics(_, _ []string) {}
// Start dummy implementation
func (dc DummyCollector) Start(_ string) {}
diff --git a/internal/ingress/metric/main.go b/internal/ingress/metric/main.go
index aa35a5c51..93c31622c 100644
--- a/internal/ingress/metric/main.go
+++ b/internal/ingress/metric/main.go
@@ -46,7 +46,7 @@ type Collector interface {
IncOrphanIngress(string, string, string)
DecOrphanIngress(string, string, string)
- RemoveMetrics(ingresses, endpoints, certificates []string)
+ RemoveMetrics(ingresses, certificates []string)
SetSSLExpireTime([]*ingress.Server)
SetSSLInfo(servers []*ingress.Server)
@@ -131,9 +131,9 @@ func (c *collector) IncReloadErrorCount() {
c.ingressController.IncReloadErrorCount()
}
-func (c *collector) RemoveMetrics(ingresses, hosts, certificates []string) {
+func (c *collector) RemoveMetrics(ingresses, certificates []string) {
c.socket.RemoveMetrics(ingresses, c.registry)
- c.ingressController.RemoveMetrics(hosts, certificates, c.registry)
+ c.ingressController.RemoveMetrics(certificates, c.registry)
}
func (c *collector) Start(admissionStatus string) {
diff --git a/internal/ingress/status/status.go b/internal/ingress/status/status.go
index 81fb9044a..ef01cdd24 100644
--- a/internal/ingress/status/status.go
+++ b/internal/ingress/status/status.go
@@ -393,7 +393,7 @@ func statusAddressFromService(service string, kubeClient clientset.Interface) ([
return nil, fmt.Errorf("unable to extract IP address/es from service %v", service)
}
-// stringInSlice returns true if s is in list
+// stringInIngresses returns true if s is in list
func stringInIngresses(s string, list []v1.IngressLoadBalancerIngress) bool {
for _, v := range list {
if v.IP == s || v.Hostname == s {
diff --git a/magefiles/go.mod b/magefiles/go.mod
index bdc592cdd..8e146d70e 100644
--- a/magefiles/go.mod
+++ b/magefiles/go.mod
@@ -1,6 +1,6 @@
module k8s.io/ingress-nginx/magefiles
-go 1.21
+go 1.22.6
require (
github.com/blang/semver/v4 v4.0.0
@@ -8,7 +8,7 @@ require (
github.com/helm/helm v2.17.0+incompatible
github.com/magefile/mage v1.15.0
github.com/vmware-labs/yaml-jsonpath v0.3.2
- golang.org/x/oauth2 v0.17.0
+ golang.org/x/oauth2 v0.18.0
gopkg.in/yaml.v3 v3.0.1
)
@@ -20,18 +20,19 @@ require (
github.com/fsnotify/fsnotify v1.7.0 // indirect
github.com/ghodss/yaml v1.0.0 // indirect
github.com/gobwas/glob v0.2.3 // indirect
- github.com/golang/protobuf v1.5.3 // indirect
+ github.com/golang/protobuf v1.5.4 // indirect
github.com/google/go-querystring v1.1.0 // indirect
github.com/kr/text v0.2.0 // indirect
github.com/onsi/ginkgo v1.16.5 // indirect
github.com/onsi/gomega v1.30.0 // indirect
github.com/rogpeppe/go-internal v1.11.0 // indirect
github.com/sergi/go-diff v1.3.1 // indirect
- golang.org/x/crypto v0.20.0 // indirect
+ github.com/stretchr/testify v1.9.0 // indirect
+ golang.org/x/crypto v0.21.0 // indirect
google.golang.org/appengine v1.6.8 // indirect
google.golang.org/protobuf v1.33.0 // indirect
gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c // indirect
gopkg.in/yaml.v2 v2.4.0 // indirect
- k8s.io/apimachinery v0.29.2 // indirect
+ k8s.io/apimachinery v0.29.3 // indirect
k8s.io/helm v2.17.0+incompatible // indirect
)
diff --git a/magefiles/go.sum b/magefiles/go.sum
index 8130f1178..16bc8460f 100644
--- a/magefiles/go.sum
+++ b/magefiles/go.sum
@@ -30,8 +30,8 @@ github.com/golang/protobuf v1.4.0/go.mod h1:jodUvKwWbYaEsadDk5Fwe5c77LiNKVO9IDvq
github.com/golang/protobuf v1.4.2/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI=
github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk=
github.com/golang/protobuf v1.5.2/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY=
-github.com/golang/protobuf v1.5.3 h1:KhyjKVUg7Usr/dYsdSqoFveMYd5ko72D+zANwlG1mmg=
-github.com/golang/protobuf v1.5.3/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY=
+github.com/golang/protobuf v1.5.4 h1:i7eJL8qZTpSEXOPTxNKhASYpMn+8e5Q6AdndVa1dWek=
+github.com/golang/protobuf v1.5.4/go.mod h1:lnTiLA8Wa4RWRcIUkrtSVa5nRhsEGBg48fD6rSs7xps=
github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU=
github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU=
github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
@@ -79,8 +79,8 @@ github.com/sergi/go-diff v1.3.1/go.mod h1:aMJSSKb2lpPvRNec0+w3fl7LP9IOFzdc9Pa4NF
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4=
github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5cxcmMvtA=
-github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk=
-github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo=
+github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsTg=
+github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY=
github.com/vmware-labs/yaml-jsonpath v0.3.2 h1:/5QKeCBGdsInyDCyVNLbXyilb61MXGi9NP674f9Hobk=
github.com/vmware-labs/yaml-jsonpath v0.3.2/go.mod h1:U6whw1z03QyqgWdgXxvVnQ90zN1BWz5V+51Ewf8k+rQ=
github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
@@ -89,8 +89,8 @@ golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACk
golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc=
-golang.org/x/crypto v0.20.0 h1:jmAMJJZXr5KiCw05dfYK9QnqaqKLYXijU23lsEdcQqg=
-golang.org/x/crypto v0.20.0/go.mod h1:Xwo95rrVNIoSMx9wa1JroENMToLWn3RNVrTBpLHgZPQ=
+golang.org/x/crypto v0.21.0 h1:X31++rzVUdKhX5sWmSOFZxx8UW/ldWx55cbf08iNAMA=
+golang.org/x/crypto v0.21.0/go.mod h1:0BP7YvVV9gBbVKyeTG0Gyn+gZm94bibOW5BjDEYAOMs=
golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4=
golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
@@ -100,10 +100,10 @@ golang.org/x/net v0.0.0-20200520004742-59133d7f0dd7/go.mod h1:qpuaurCH72eLCgpAm/
golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU=
golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg=
golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c=
-golang.org/x/net v0.21.0 h1:AQyQV4dYCvJ7vGmJyKki9+PBdyvhkSd8EIx/qb0AYv4=
-golang.org/x/net v0.21.0/go.mod h1:bIjVDfnllIU7BJ2DNgfnXvpSvtn8VRwhlsaeUTyUS44=
-golang.org/x/oauth2 v0.17.0 h1:6m3ZPmLEFdVxKKWnKq4VqZ60gutO35zm+zrAHVmHyDQ=
-golang.org/x/oauth2 v0.17.0/go.mod h1:OzPDGQiuQMguemayvdylqddI7qcD9lnSDb+1FiwQ5HA=
+golang.org/x/net v0.22.0 h1:9sGLhx7iRIHEiX0oAJ3MRZMUCElJgy7Br1nO+AMN3Tc=
+golang.org/x/net v0.22.0/go.mod h1:JKghWKKOSdJwpW2GEx0Ja7fmaKnMsbu+MWVZTokSYmg=
+golang.org/x/oauth2 v0.18.0 h1:09qnuIAgzdx1XplqJvW6CQqMCtGZykZWcXzPMPUusvI=
+golang.org/x/oauth2 v0.18.0/go.mod h1:Wf7knwG0MPoWIMMBgFlEaSUDaKskp0dCfrlJRJXbBi8=
golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
@@ -121,8 +121,8 @@ golang.org/x/sys v0.0.0-20210112080510-489259a85091/go.mod h1:h1NjWce9XRLGQEsW7w
golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
-golang.org/x/sys v0.17.0 h1:25cE3gD+tdBA7lp7QfhuV+rJiE9YXTcS3VG1SqssI/Y=
-golang.org/x/sys v0.17.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
+golang.org/x/sys v0.18.0 h1:DBdB3niSjOA/O0blCZBqDefyWNYveAYMNF1Wum0DYQ4=
+golang.org/x/sys v0.18.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
@@ -168,7 +168,7 @@ gopkg.in/yaml.v3 v3.0.0-20191026110619-0b21df46bc1d/go.mod h1:K4uyk7z7BCEPqu6E+C
gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
-k8s.io/apimachinery v0.29.2 h1:EWGpfJ856oj11C52NRCHuU7rFDwxev48z+6DSlGNsV8=
-k8s.io/apimachinery v0.29.2/go.mod h1:6HVkd1FwxIagpYrHSwJlQqZI3G9LfYWRPAkUvLnXTKU=
+k8s.io/apimachinery v0.29.3 h1:2tbx+5L7RNvqJjn7RIuIKu9XTsIZ9Z5wX2G22XAa5EU=
+k8s.io/apimachinery v0.29.3/go.mod h1:hx/S4V2PNW4OMg3WizRrHutyB5la0iCUbZym+W0EQIU=
k8s.io/helm v2.17.0+incompatible h1:Bpn6o1wKLYqKM3+Osh8e+1/K2g/GsQJ4F4yNF2+deao=
k8s.io/helm v2.17.0+incompatible/go.mod h1:LZzlS4LQBHfciFOurYBFkCMTaZ0D1l+p0teMg7TSULI=
diff --git a/magefiles/steps/helm.go b/magefiles/steps/helm.go
index b53283f78..245f5e1c0 100644
--- a/magefiles/steps/helm.go
+++ b/magefiles/steps/helm.go
@@ -18,9 +18,7 @@ package steps
import (
"bytes"
- "fmt"
"os"
- "strings"
semver "github.com/blang/semver/v4"
"github.com/helm/helm/pkg/chartutil"
@@ -104,18 +102,21 @@ func updateVersion(version string) {
utils.CheckIfError(err, "HELM Saving new Chart")
}
-func updateChartReleaseNotes(releasesNotes []string) {
- utils.Info("HELM Updating the Chart Release notes")
+func updateChartReleaseNotes(releaseNotes []string) {
+ utils.Info("HELM Updating chart release notes")
chart, err := chartutil.LoadChartfile(HelmChartPath)
- utils.CheckIfError(err, "HELM Could not Load Chart to update release notes %s", HelmChartPath)
- for i := range releasesNotes {
- releasesNotes[i] = fmt.Sprintf("- %q", releasesNotes[i])
- }
- releaseNoteString := strings.Join(releasesNotes, "\n")
- utils.Info("HELM Release note string %s", releaseNoteString)
- chart.Annotations["artifacthub.io/changes"] = releaseNoteString
+ utils.CheckIfError(err, "HELM Failed to load chart manifest: %s", HelmChartPath)
+
+ releaseNotesBytes, err := yaml.Marshal(releaseNotes)
+ utils.CheckIfError(err, "HELM Failed to marshal release notes")
+
+ releaseNotesString := string(releaseNotesBytes)
+ utils.Info("HELM Chart release notes:\n%s", releaseNotesString)
+ chart.Annotations["artifacthub.io/changes"] = releaseNotesString
+
+ utils.Info("HELM Saving chart release notes")
err = chartutil.SaveChartfile(HelmChartPath, chart)
- utils.CheckIfError(err, "HELM Saving updated release notes for Chart")
+ utils.CheckIfError(err, "HELM Failed to save chart manifest: %s", HelmChartPath)
}
// UpdateChartValue Updates the Helm ChartValue
diff --git a/magefiles/steps/release.go b/magefiles/steps/release.go
index 4cb8b40bd..b6d46336a 100644
--- a/magefiles/steps/release.go
+++ b/magefiles/steps/release.go
@@ -74,7 +74,7 @@ func (Release) NewReleaseFromOld(version, oldversion string) {
func (Release) E2EDocs() {
e2edocs, err := utils.GenerateE2EDocs()
utils.CheckIfError(err, "error on template")
- err = os.WriteFile("docs/e2e-tests.md", []byte(e2edocs), 644)
+ err = os.WriteFile("docs/e2e-tests.md", []byte(e2edocs), 0644)
utils.CheckIfError(err, "Could not write new e2e test file ")
}
@@ -158,7 +158,7 @@ func updateIndexMD(old, new string) error {
utils.CheckIfError(err, "Could not read INDEX_DOCS file %s", INDEX_DOCS)
datString := string(data)
datString = strings.Replace(datString, old, new, -1)
- err = os.WriteFile(INDEX_DOCS, []byte(datString), 644)
+ err = os.WriteFile(INDEX_DOCS, []byte(datString), 0644)
if err != nil {
utils.ErrorF("Could not write new %s %s", INDEX_DOCS, err)
return err
@@ -255,7 +255,7 @@ func makeReleaseNotes(newVersion, oldVersion string) (*utils.ReleaseNote, error)
// the newControllerVersion should match the latest tag
if newControllerVersion != allControllerTags[0] {
- return nil, errors.New(fmt.Sprintf("Generating release new version %s didnt match the current latest tag %s", newControllerVersion, allControllerTags[0]))
+ return nil, fmt.Errorf("generating release new version %s didnt match the current latest tag %s", newControllerVersion, allControllerTags[0])
}
// previous version
newReleaseNotes.PreviousControllerVersion = allControllerTags[1]
@@ -272,8 +272,8 @@ func makeReleaseNotes(newVersion, oldVersion string) (*utils.ReleaseNote, error)
var allUpdates []string
var depUpdates []string
var helmUpdates []string
- prRegex := regexp.MustCompile("\\(#\\d+\\)")
- depBot := regexp.MustCompile("^(\\w){1,10} Bump ")
+ prRegex := regexp.MustCompile(`\(#\d+\)`)
+ depBot := regexp.MustCompile(`^(\w){1,10} Bump `)
helmRegex := regexp.MustCompile("helm|chart")
for i, s := range commits {
// matches on PR
@@ -322,13 +322,13 @@ func makeReleaseNotes(newVersion, oldVersion string) (*utils.ReleaseNote, error)
controllerDigest := utils.FindImageDigest(data, "controller", newVersion)
if len(controllerDigest) == 0 {
utils.ErrorF("Controller Digest could not be found")
- return nil, errors.New("Controller digest could not be found")
+ return nil, errors.New("controller digest could not be found")
}
controllerChrootDigest := utils.FindImageDigest(data, "controller-chroot", newVersion)
if len(controllerChrootDigest) == 0 {
utils.ErrorF("Controller Chroot Digest could not be found")
- return nil, errors.New("Controller Chroot digest could not be found")
+ return nil, errors.New("controller chroot digest could not be found")
}
utils.Debug("Latest Controller Digest %v", controllerDigest)
diff --git a/mkdocs.yml b/mkdocs.yml
index cbc2988ce..4b010c5ff 100644
--- a/mkdocs.yml
+++ b/mkdocs.yml
@@ -83,6 +83,7 @@ nav:
- Introduction: "user-guide/nginx-configuration/index.md"
- Basic usage: "user-guide/basic-usage.md"
- Annotations: "user-guide/nginx-configuration/annotations.md"
+ - Annotations Risks: "user-guide/nginx-configuration/annotations-risk.md"
- ConfigMap: "user-guide/nginx-configuration/configmap.md"
- Custom NGINX template: "user-guide/nginx-configuration/custom-template.md"
- Log format: "user-guide/nginx-configuration/log-format.md"
diff --git a/pkg/apis/ingress/types.go b/pkg/apis/ingress/types.go
index 2ad17ec3d..36067732e 100644
--- a/pkg/apis/ingress/types.go
+++ b/pkg/apis/ingress/types.go
@@ -27,6 +27,7 @@ import (
"k8s.io/ingress-nginx/internal/ingress/annotations/authtls"
"k8s.io/ingress-nginx/internal/ingress/annotations/connection"
"k8s.io/ingress-nginx/internal/ingress/annotations/cors"
+ "k8s.io/ingress-nginx/internal/ingress/annotations/customheaders"
"k8s.io/ingress-nginx/internal/ingress/annotations/fastcgi"
"k8s.io/ingress-nginx/internal/ingress/annotations/globalratelimit"
"k8s.io/ingress-nginx/internal/ingress/annotations/ipallowlist"
@@ -210,7 +211,7 @@ type Server struct {
// SSLCiphers returns list of ciphers to be enabled
SSLCiphers string `json:"sslCiphers,omitempty"`
// SSLPreferServerCiphers indicates that server ciphers should be preferred
- // over client ciphers when using the SSLv3 and TLS protocols.
+ // over client ciphers when using the TLS protocols.
SSLPreferServerCiphers string `json:"sslPreferServerCiphers,omitempty"`
// AuthTLSError contains the reason why the access to a server should be denied
AuthTLSError string `json:"authTLSError,omitempty"`
@@ -263,7 +264,8 @@ type Location struct {
BasicDigestAuth auth.Config `json:"basicDigestAuth,omitempty"`
// Denied returns an error when this location cannot not be allowed
// Requesting a denied location should return HTTP code 403.
- Denied *string `json:"denied,omitempty"`
+ Denied *string `json:"denied,omitempty"`
+ CustomHeaders customheaders.Config `json:"customHeaders,omitempty"`
// CorsConfig returns the Cors Configuration for the ingress rule
// +optional
CorsConfig cors.Config `json:"corsConfig,omitempty"`
diff --git a/pkg/flags/flags.go b/pkg/flags/flags.go
index d7157fa79..5891f636b 100644
--- a/pkg/flags/flags.go
+++ b/pkg/flags/flags.go
@@ -132,6 +132,9 @@ Requires setting the publish-service parameter to a valid Service reference.`)
electionID = flags.String("election-id", "ingress-controller-leader",
`Election id to use for Ingress status updates.`)
+ electionTTL = flags.Duration("election-ttl", 30*time.Second,
+ `Duration a leader election is valid before it's getting re-elected`)
+
updateStatusOnShutdown = flags.Bool("update-status-on-shutdown", true,
`Update the load-balancer status of Ingress objects when the controller shuts down.
Requires the update-status parameter.`)
@@ -314,6 +317,10 @@ https://blog.maxmind.com/2019/12/18/significant-changes-to-accessing-and-using-g
}
}
+ if *electionTTL <= 0 {
+ *electionTTL = 30 * time.Second
+ }
+
histogramBuckets := &collectors.HistogramBuckets{
TimeBuckets: *timeBuckets,
LengthBuckets: *lengthBuckets,
@@ -327,6 +334,7 @@ https://blog.maxmind.com/2019/12/18/significant-changes-to-accessing-and-using-g
KubeConfigFile: *kubeConfigFile,
UpdateStatus: *updateStatus,
ElectionID: *electionID,
+ ElectionTTL: *electionTTL,
EnableProfiling: *profiling,
EnableMetrics: *enableMetrics,
MetricsPerHost: *metricsPerHost,
diff --git a/pkg/flags/flags_test.go b/pkg/flags/flags_test.go
index 54b35dbca..e51d5fa6c 100644
--- a/pkg/flags/flags_test.go
+++ b/pkg/flags/flags_test.go
@@ -19,6 +19,7 @@ package flags
import (
"os"
"testing"
+ "time"
)
func TestNoMandatoryFlag(t *testing.T) {
@@ -143,3 +144,71 @@ func TestIfLeaderElectionDisabledFlagIsFalse(t *testing.T) {
t.Fatalf("Expected --disable-leader-election and conf.DisableLeaderElection as false, but found: %v", conf.DisableLeaderElection)
}
}
+
+func TestLeaderElectionTTLDefaultValue(t *testing.T) {
+ ResetForTesting(func() { t.Fatal("Parsing failed") })
+
+ oldArgs := os.Args
+ defer func() { os.Args = oldArgs }()
+ os.Args = []string{"cmd", "--http-port", "80", "--https-port", "443"}
+
+ _, conf, err := ParseFlags()
+ if err != nil {
+ t.Fatalf("Unexpected error parsing default flags: %v", err)
+ }
+
+ if conf.ElectionTTL != 30*time.Second {
+ t.Fatalf("Expected --election-ttl and conf.ElectionTTL as 30s, but found: %v", conf.ElectionTTL)
+ }
+}
+
+func TestLeaderElectionTTLParseValueInSeconds(t *testing.T) {
+ ResetForTesting(func() { t.Fatal("Parsing failed") })
+
+ oldArgs := os.Args
+ defer func() { os.Args = oldArgs }()
+ os.Args = []string{"cmd", "--http-port", "80", "--https-port", "443", "--election-ttl", "10s"}
+
+ _, conf, err := ParseFlags()
+ if err != nil {
+ t.Fatalf("Unexpected error parsing default flags: %v", err)
+ }
+
+ if conf.ElectionTTL != 10*time.Second {
+ t.Fatalf("Expected --election-ttl and conf.ElectionTTL as 10s, but found: %v", conf.ElectionTTL)
+ }
+}
+
+func TestLeaderElectionTTLParseValueInMinutes(t *testing.T) {
+ ResetForTesting(func() { t.Fatal("Parsing failed") })
+
+ oldArgs := os.Args
+ defer func() { os.Args = oldArgs }()
+ os.Args = []string{"cmd", "--http-port", "80", "--https-port", "443", "--election-ttl", "10m"}
+
+ _, conf, err := ParseFlags()
+ if err != nil {
+ t.Fatalf("Unexpected error parsing default flags: %v", err)
+ }
+
+ if conf.ElectionTTL != 10*time.Minute {
+ t.Fatalf("Expected --election-ttl and conf.ElectionTTL as 10m, but found: %v", conf.ElectionTTL)
+ }
+}
+
+func TestLeaderElectionTTLParseValueInHours(t *testing.T) {
+ ResetForTesting(func() { t.Fatal("Parsing failed") })
+
+ oldArgs := os.Args
+ defer func() { os.Args = oldArgs }()
+ os.Args = []string{"cmd", "--http-port", "80", "--https-port", "443", "--election-ttl", "1h"}
+
+ _, conf, err := ParseFlags()
+ if err != nil {
+ t.Fatalf("Unexpected error parsing default flags: %v", err)
+ }
+
+ if conf.ElectionTTL != 1*time.Hour {
+ t.Fatalf("Expected --election-ttl and conf.ElectionTTL as 1h, but found: %v", conf.ElectionTTL)
+ }
+}
diff --git a/pkg/util/runtime/cpu_linux.go b/pkg/util/runtime/cpu_linux.go
index cfc49d924..7db609053 100644
--- a/pkg/util/runtime/cpu_linux.go
+++ b/pkg/util/runtime/cpu_linux.go
@@ -36,15 +36,42 @@ import (
//
// https://www.kernel.org/doc/Documentation/scheduler/sched-bwc.txt
func NumCPU() int {
+ return NumCPUWithCustomPath("")
+}
+
+func NumCPUWithCustomPath(path string) int {
cpus := runtime.NumCPU()
- cgroupPath, err := libcontainercgroups.FindCgroupMountpoint("", "cpu")
- if err != nil {
- return cpus
+ cgroupVersionCheckPath := path
+
+ if cgroupVersionCheckPath == "" {
+ cgroupVersionCheckPath = "/sys/fs/cgroup/"
}
- cpuQuota := readCgroupFileToInt64(cgroupPath, "cpu.cfs_quota_us")
- cpuPeriod := readCgroupFileToInt64(cgroupPath, "cpu.cfs_period_us")
+ cgroupVersion := GetCgroupVersion(cgroupVersionCheckPath)
+ cpuQuota := int64(-1)
+ cpuPeriod := int64(-1)
+
+ if cgroupVersion == 1 {
+ cgroupPath := ""
+ if path == "" {
+ cgroupPathRd, err := libcontainercgroups.FindCgroupMountpoint("", "cpu")
+ if err != nil {
+ return cpus
+ }
+ cgroupPath = cgroupPathRd
+ } else {
+ cgroupPath = path
+ }
+ cpuQuota = readCgroupFileToInt64(cgroupPath, "cpu.cfs_quota_us")
+ cpuPeriod = readCgroupFileToInt64(cgroupPath, "cpu.cfs_period_us")
+ } else if cgroupVersion == 2 {
+ cgroupPath := "/sys/fs/cgroup/"
+ if path != "" {
+ cgroupPath = path
+ }
+ cpuQuota, cpuPeriod = readCgroup2FileToInt64Tuple(cgroupPath, "cpu.max")
+ }
if cpuQuota == -1 || cpuPeriod == -1 {
return cpus
@@ -53,16 +80,66 @@ func NumCPU() int {
return int(math.Ceil(float64(cpuQuota) / float64(cpuPeriod)))
}
-func readCgroupFileToInt64(cgroupPath, cgroupFile string) int64 {
- contents, err := os.ReadFile(filepath.Join(cgroupPath, cgroupFile))
- if err != nil {
- return -1
+func GetCgroupVersion(cgroupPath string) int64 {
+ // /sys/fs/cgroup/cgroup.controllers will not exist with cgroupsv1
+ if _, err := os.Stat(filepath.Join(cgroupPath, "cgroup.controllers")); err == nil {
+ return 2
}
- strValue := strings.TrimSpace(string(contents))
+ return 1
+}
+
+func readCgroup2StringToInt64Tuple(cgroupString string) (quota, period int64) {
+ // file contents looks like: $MAX $PERIOD
+ // $MAX can have value "max" indicating no limit
+ // it is possible for $PERIOD to be unset
+
+ values := strings.Fields(cgroupString)
+
+ if values[0] == "max" {
+ return -1, -1
+ }
+
+ cpuQuota, err := strconv.ParseInt(values[0], 10, 64)
+ if err != nil {
+ return -1, -1
+ }
+
+ if len(values) == 1 {
+ return cpuQuota, 100000
+ }
+
+ cpuPeriod, err := strconv.ParseInt(values[1], 10, 64)
+ if err != nil {
+ return -1, -1
+ }
+
+ return cpuQuota, cpuPeriod
+}
+
+func readCgroup2FileToInt64Tuple(cgroupPath, cgroupFile string) (quota, period int64) {
+ contents, err := os.ReadFile(filepath.Join(cgroupPath, cgroupFile))
+ if err != nil {
+ return -1, -1
+ }
+
+ return readCgroup2StringToInt64Tuple(string(contents))
+}
+
+func readCgroupStringToInt64(contents string) int64 {
+ strValue := strings.TrimSpace(contents)
if value, err := strconv.ParseInt(strValue, 10, 64); err == nil {
return value
}
return -1
}
+
+func readCgroupFileToInt64(cgroupPath, cgroupFile string) int64 {
+ contents, err := os.ReadFile(filepath.Join(cgroupPath, cgroupFile))
+ if err != nil {
+ return -1
+ }
+
+ return readCgroupStringToInt64(string(contents))
+}
diff --git a/rootfs/Dockerfile-chroot b/rootfs/Dockerfile-chroot
index 98f078261..c06db2252 100644
--- a/rootfs/Dockerfile-chroot
+++ b/rootfs/Dockerfile-chroot
@@ -23,7 +23,7 @@ RUN apk update \
&& apk upgrade \
&& /chroot.sh
-FROM alpine:3.19.1
+FROM alpine:3.20.0
ARG TARGETARCH
ARG VERSION
diff --git a/rootfs/etc/nginx/lua/OWNERS b/rootfs/etc/nginx/lua/OWNERS
index 79814fdba..efb131316 100644
--- a/rootfs/etc/nginx/lua/OWNERS
+++ b/rootfs/etc/nginx/lua/OWNERS
@@ -1,4 +1,4 @@
-# See the OWNERS docs: https://github.com/kubernetes/community/blob/master/contributors/guide/owners.md
+# See the OWNERS docs: https://www.kubernetes.dev/docs/guide/owners
labels:
-- area/lua
\ No newline at end of file
+- area/lua
diff --git a/rootfs/etc/nginx/lua/plugins.lua b/rootfs/etc/nginx/lua/plugins.lua
deleted file mode 100644
index 55e208a32..000000000
--- a/rootfs/etc/nginx/lua/plugins.lua
+++ /dev/null
@@ -1,61 +0,0 @@
-local require = require
-local ngx = ngx
-local ipairs = ipairs
-local string_format = string.format
-local ngx_log = ngx.log
-local INFO = ngx.INFO
-local ERR = ngx.ERR
-local pcall = pcall
-
-local _M = {}
-local MAX_NUMBER_OF_PLUGINS = 20
-local plugins = {}
-
-local function load_plugin(name)
- local path = string_format("plugins.%s.main", name)
-
- local ok, plugin = pcall(require, path)
- if not ok then
- ngx_log(ERR, string_format("error loading plugin \"%s\": %s", path, plugin))
- return
- end
- local index = #plugins
- if (plugin.name == nil or plugin.name == '') then
- plugin.name = name
- end
- plugins[index + 1] = plugin
-end
-
-function _M.init(names)
- local count = 0
- for _, name in ipairs(names) do
- if count >= MAX_NUMBER_OF_PLUGINS then
- ngx_log(ERR, "the total number of plugins exceed the maximum number: ", MAX_NUMBER_OF_PLUGINS)
- break
- end
- load_plugin(name)
- count = count + 1 -- ignore loading failure, just count the total
- end
-end
-
-function _M.run()
- local phase = ngx.get_phase()
-
- for _, plugin in ipairs(plugins) do
- if plugin[phase] then
- ngx_log(INFO, string_format("running plugin \"%s\" in phase \"%s\"", plugin.name, phase))
-
- -- TODO: consider sandboxing this, should we?
- -- probably yes, at least prohibit plugin from accessing env vars etc
- -- but since the plugins are going to be installed by ingress-nginx
- -- operator they can be assumed to be safe also
- local ok, err = pcall(plugin[phase])
- if not ok then
- ngx_log(ERR, string_format("error while running plugin \"%s\" in phase \"%s\": %s",
- plugin.name, phase, err))
- end
- end
- end
-end
-
-return _M
diff --git a/rootfs/etc/nginx/lua/plugins/README.md b/rootfs/etc/nginx/lua/plugins/README.md
deleted file mode 100644
index 64f4912f0..000000000
--- a/rootfs/etc/nginx/lua/plugins/README.md
+++ /dev/null
@@ -1,36 +0,0 @@
-# Custom Lua plugins
-
-ingress-nginx uses [https://github.com/openresty/lua-nginx-module](https://github.com/openresty/lua-nginx-module) to run custom Lua code
-within Nginx workers. It is recommended to familiarize yourself with that ecosystem before deploying your custom Lua based ingress-nginx plugin.
-
-### Writing a plugin
-
-Every ingress-nginx Lua plugin is expected to have `main.lua` file and all of its dependencies.
-`main.lua` is the entry point of the plugin. The plugin manager uses convention over configuration
-strategy and automatically runs functions defined in `main.lua` in the corresponding Nginx phase based on their name.
-
-Nginx has different [request processing phases](https://nginx.org/en/docs/dev/development_guide.html#http_phases).
-By defining functions with the following names, you can run your custom Lua code in the corresponding Nginx phase:
-
- - `init_worker`: useful for initializing some data per Nginx worker process
- - `rewrite`: useful for modifying request, changing headers, redirection, dropping request, doing authentication etc
- - `header_filter`: this is called when backend response header is received, it is useful for modifying response headers
- - `body_filter`: this is called when response body is received, it is useful for logging response body
- - `log`: this is called when request processing is completed and a response is delivered to the client
-
-Check this [`hello_world`](https://github.com/kubernetes/ingress-nginx/tree/main/rootfs/etc/nginx/lua/plugins/hello_world) plugin as a simple example or refer to [OpenID Connect integration](https://github.com/ElvinEfendi/ingress-nginx-openidc/tree/master/rootfs/etc/nginx/lua/plugins/openidc) for more advanced usage.
-
-Do not forget to write tests for your plugin.
-
-### Installing a plugin
-
-There are two options:
-
- - mount your plugin into `/etc/nginx/lua/plugins/` in the ingress-nginx pod
- - build your own ingress-nginx image like it is done in the [example](https://github.com/ElvinEfendi/ingress-nginx-openidc/tree/master/rootfs/etc/nginx/lua/plugins/openidc) and install your plugin during image build
-
-Mounting is the quickest option.
-
-### Enabling plugins
-
-Once your plugin is ready you need to use [`plugins` configuration setting](https://kubernetes.github.io/ingress-nginx/user-guide/nginx-configuration/configmap/#plugins) to activate it. Let's say you want to activate `hello_world` and `open_idc` plugins, then you set `plugins` setting to `"hello_world, open_idc"`. _Note_ that the plugins will be executed in the given order.
diff --git a/rootfs/etc/nginx/lua/plugins/hello_world/main.lua b/rootfs/etc/nginx/lua/plugins/hello_world/main.lua
deleted file mode 100644
index 03316c3ee..000000000
--- a/rootfs/etc/nginx/lua/plugins/hello_world/main.lua
+++ /dev/null
@@ -1,13 +0,0 @@
-local ngx = ngx
-
-local _M = {}
-
-function _M.rewrite()
- local ua = ngx.var.http_user_agent
-
- if ua == "hello" then
- ngx.req.set_header("x-hello-world", "1")
- end
-end
-
-return _M
diff --git a/rootfs/etc/nginx/lua/plugins/hello_world/test/main_test.lua b/rootfs/etc/nginx/lua/plugins/hello_world/test/main_test.lua
deleted file mode 100644
index 5eda52259..000000000
--- a/rootfs/etc/nginx/lua/plugins/hello_world/test/main_test.lua
+++ /dev/null
@@ -1,24 +0,0 @@
-
-local main = require("plugins.hello_world.main")
-
--- The unit tests are run within a timer phase in a headless Nginx process.
--- Since `set_header` and `ngx.var.http_` API are disabled in this phase we have to stub it
--- to avoid `API disabled in the current context` error.
-
-describe("main", function()
- describe("rewrite", function()
- it("sets x-hello-world header to 1 when user agent is hello", function()
- ngx.var = { http_user_agent = "hello" }
- stub(ngx.req, "set_header")
- main.rewrite()
- assert.stub(ngx.req.set_header).was_called_with("x-hello-world", "1")
- end)
-
- it("does not set x-hello-world header to 1 when user agent is not hello", function()
- ngx.var = { http_user_agent = "not-hello" }
- stub(ngx.req, "set_header")
- main.rewrite()
- assert.stub(ngx.req.set_header).was_not_called_with("x-hello-world", "1")
- end)
- end)
-end)
diff --git a/rootfs/etc/nginx/lua/test/plugins_test.lua b/rootfs/etc/nginx/lua/test/plugins_test.lua
deleted file mode 100644
index d7f789d0f..000000000
--- a/rootfs/etc/nginx/lua/test/plugins_test.lua
+++ /dev/null
@@ -1,23 +0,0 @@
-describe("plugins", function()
- describe("#run", function()
- it("runs the plugins in the given order", function()
- ngx.get_phase = function() return "rewrite" end
- local plugins = require("plugins")
- local called_plugins = {}
- local plugins_to_mock = {"plugins.pluginfirst.main", "plugins.pluginsecond.main", "plugins.pluginthird.main"}
- for i=1, 3, 1
- do
- package.loaded[plugins_to_mock[i]] = {
- rewrite = function()
- called_plugins[#called_plugins + 1] = plugins_to_mock[i]
- end
- }
- end
- assert.has_no.errors(function()
- plugins.init({"pluginfirst", "pluginsecond", "pluginthird"})
- end)
- assert.has_no.errors(plugins.run)
- assert.are.same(plugins_to_mock, called_plugins)
- end)
- end)
-end)
\ No newline at end of file
diff --git a/rootfs/etc/nginx/template/nginx.tmpl b/rootfs/etc/nginx/template/nginx.tmpl
index d5172ff3f..1c630bb4d 100644
--- a/rootfs/etc/nginx/template/nginx.tmpl
+++ b/rootfs/etc/nginx/template/nginx.tmpl
@@ -113,15 +113,6 @@ http {
certificate = res
certificate.is_ocsp_stapling_enabled = {{ $cfg.EnableOCSP }}
end
-
- ok, res = pcall(require, "plugins")
- if not ok then
- error("require failed: " .. tostring(res))
- else
- plugins = res
- end
- -- load all plugins that'll be used here
- plugins.init({ {{ range $idx, $plugin := $cfg.Plugins }}{{ if $idx }},{{ end }}{{ $plugin | quote }}{{ end }} })
}
init_worker_by_lua_block {
@@ -130,8 +121,6 @@ http {
{{ if $all.EnableMetrics }}
monitor.init_worker({{ $all.MonitorMaxBatchSize }})
{{ end }}
-
- plugins.run()
}
{{/* Enable the real_ip module only if we use either X-Forwarded headers or Proxy Protocol. */}}
@@ -202,7 +191,7 @@ http {
geoip2 /etc/ingress-controller/geoip/GeoLite2-City.mmdb {
{{ if (gt $cfg.GeoIP2AutoReloadMinutes 0) }}
auto_reload {{ $cfg.GeoIP2AutoReloadMinutes }}m;
- {{ end }}
+ {{ end }}
$geoip2_city_country_code source=$remote_addr country iso_code;
$geoip2_city_country_name source=$remote_addr country names en;
$geoip2_city_country_geoname_id source=$remote_addr country geoname_id;
@@ -228,7 +217,7 @@ http {
geoip2 /etc/ingress-controller/geoip/GeoIP2-City.mmdb {
{{ if (gt $cfg.GeoIP2AutoReloadMinutes 0) }}
auto_reload {{ $cfg.GeoIP2AutoReloadMinutes }}m;
- {{ end }}
+ {{ end }}
$geoip2_city_country_code source=$remote_addr country iso_code;
$geoip2_city_country_name source=$remote_addr country names en;
$geoip2_city_country_geoname_id source=$remote_addr country geoname_id;
@@ -254,7 +243,7 @@ http {
geoip2 /etc/ingress-controller/geoip/GeoLite2-ASN.mmdb {
{{ if (gt $cfg.GeoIP2AutoReloadMinutes 0) }}
auto_reload {{ $cfg.GeoIP2AutoReloadMinutes }}m;
- {{ end }}
+ {{ end }}
$geoip2_asn source=$remote_addr autonomous_system_number;
$geoip2_org source=$remote_addr autonomous_system_organization;
}
@@ -264,7 +253,7 @@ http {
geoip2 /etc/ingress-controller/geoip/GeoIP2-ASN.mmdb {
{{ if (gt $cfg.GeoIP2AutoReloadMinutes 0) }}
auto_reload {{ $cfg.GeoIP2AutoReloadMinutes }}m;
- {{ end }}
+ {{ end }}
$geoip2_asn source=$remote_addr autonomous_system_number;
$geoip2_org source=$remote_addr autonomous_system_organization;
}
@@ -274,7 +263,7 @@ http {
geoip2 /etc/ingress-controller/geoip/GeoIP2-ISP.mmdb {
{{ if (gt $cfg.GeoIP2AutoReloadMinutes 0) }}
auto_reload {{ $cfg.GeoIP2AutoReloadMinutes }}m;
- {{ end }}
+ {{ end }}
$geoip2_isp source=$remote_addr isp;
$geoip2_isp_org source=$remote_addr organization;
$geoip2_asn source=$remote_addr default=0 autonomous_system_number;
@@ -291,7 +280,7 @@ http {
geoip2 /etc/ingress-controller/geoip/GeoIP2-Anonymous-IP.mmdb {
{{ if (gt $cfg.GeoIP2AutoReloadMinutes 0) }}
auto_reload {{ $cfg.GeoIP2AutoReloadMinutes }}m;
- {{ end }}
+ {{ end }}
$geoip2_is_anon source=$remote_addr is_anonymous;
$geoip2_is_anonymous source=$remote_addr default=0 is_anonymous;
$geoip2_is_anonymous_vpn source=$remote_addr default=0 is_anonymous_vpn;
@@ -331,6 +320,10 @@ http {
client_body_buffer_size {{ $cfg.ClientBodyBufferSize }};
client_body_timeout {{ $cfg.ClientBodyTimeout }}s;
+ {{ if gt $cfg.GRPCBufferSizeKb 0 }}
+ grpc_buffer_size {{ $cfg.GRPCBufferSizeKb }}k;
+ {{ end }}
+
{{ if and (ne $cfg.HTTP2MaxHeaderSize "") (ne $cfg.HTTP2MaxFieldSize "") }}
http2_max_field_size {{ $cfg.HTTP2MaxFieldSize }};
http2_max_header_size {{ $cfg.HTTP2MaxHeaderSize }};
@@ -1261,7 +1254,6 @@ stream {
rewrite_by_lua_block {
lua_ingress.rewrite({{ locationConfigForLua $location $all }})
balancer.rewrite()
- plugins.run()
}
# be careful with `access_by_lua_block` and `satisfy any` directives as satisfy any
@@ -1272,11 +1264,6 @@ stream {
header_filter_by_lua_block {
lua_ingress.header()
- plugins.run()
- }
-
- body_filter_by_lua_block {
- plugins.run()
}
log_by_lua_block {
@@ -1284,8 +1271,6 @@ stream {
{{ if $all.EnableMetrics }}
monitor.call()
{{ end }}
-
- plugins.run()
}
{{ if not $location.Logs.Access }}
@@ -1477,6 +1462,13 @@ stream {
proxy_next_upstream_timeout {{ $location.Proxy.NextUpstreamTimeout }};
proxy_next_upstream_tries {{ $location.Proxy.NextUpstreamTries }};
+ {{ if or (eq $location.BackendProtocol "GRPC") (eq $location.BackendProtocol "GRPCS") }}
+ # Grpc settings
+ grpc_connect_timeout {{ $location.Proxy.ConnectTimeout }}s;
+ grpc_send_timeout {{ $location.Proxy.SendTimeout }}s;
+ grpc_read_timeout {{ $location.Proxy.ReadTimeout }}s;
+ {{ end }}
+
{{/* Add any additional configuration defined */}}
{{ $location.ConfigurationSnippet }}
@@ -1485,6 +1477,13 @@ stream {
{{ $all.Cfg.LocationSnippet }}
{{ end }}
+ {{ if $location.CustomHeaders }}
+ # Custom Response Headers
+ {{ range $k, $v := $location.CustomHeaders.Headers }}
+ more_set_headers {{ printf "%s: %s" $k $v | escapeLiteralDollar | quote }};
+ {{ end }}
+ {{ end }}
+
{{/* if we are sending the request to a custom default backend, we add the required headers */}}
{{ if (hasPrefix $location.Backend "custom-default-backend-") }}
proxy_set_header X-Code 503;
diff --git a/rootfs/nginx-chroot-wrapper.sh b/rootfs/nginx-chroot-wrapper.sh
index f7318142f..0c8bdf3b7 100755
--- a/rootfs/nginx-chroot-wrapper.sh
+++ b/rootfs/nginx-chroot-wrapper.sh
@@ -15,4 +15,4 @@
# limitations under the License.
cat /etc/resolv.conf > /chroot/etc/resolv.conf
-unshare -S 101 -R /chroot nginx "$@"
+unshare -S 101 -R /chroot nginx "$@"
diff --git a/test/data/cleanConf.expected.conf b/test/data/cleanConf.expected.conf
index 7c4a16824..9c0513b37 100644
--- a/test/data/cleanConf.expected.conf
+++ b/test/data/cleanConf.expected.conf
@@ -67,8 +67,6 @@ http {
balancer.init_worker()
monitor.init_worker(10000)
-
- plugins.run()
}
map $request_uri $loggable {
@@ -120,7 +118,6 @@ http {
use_port_in_redirects = false,
})
balancer.rewrite()
- plugins.run()
}
# be careful with `access_by_lua_block` and `satisfy any` directives as satisfy any
@@ -130,7 +127,6 @@ http {
header_filter_by_lua_block {
lua_ingress.header()
- plugins.run()
}
}
diff --git a/test/data/cleanConf.src.conf b/test/data/cleanConf.src.conf
index 89954cf0d..6da578106 100644
--- a/test/data/cleanConf.src.conf
+++ b/test/data/cleanConf.src.conf
@@ -86,11 +86,8 @@ lua_shared_dict ocsp_response_cache 5M;
init_worker_by_lua_block {
lua_ingress.init_worker()
balancer.init_worker()
-
- monitor.init_worker(10000)
-
- plugins.run()
+ monitor.init_worker(10000)
}
@@ -164,7 +161,6 @@ lua_shared_dict ocsp_response_cache 5M;
use_port_in_redirects = false,
})
balancer.rewrite()
- plugins.run()
}
# be careful with `access_by_lua_block` and `satisfy any` directives as satisfy any
@@ -174,7 +170,6 @@ lua_shared_dict ocsp_response_cache 5M;
header_filter_by_lua_block {
lua_ingress.header()
- plugins.run()
}
diff --git a/test/data/config.json b/test/data/config.json
index d64cfe0d2..df8a9fd3d 100644
--- a/test/data/config.json
+++ b/test/data/config.json
@@ -1,60275 +1,63353 @@
{
- "backlogSize": 32768,
- "isIPV6Enabled": true,
- "cfg": {
- "disable-ipv6": false,
- "bind-address-ipv4": ["1.1.1.1", "2.2.2.2"],
- "bind-address-ipv6": ["[2001:db8:a0b:12f0::1]", "[3731:54:65fe:2::a7]", "[33:33:33::33::33]"],
- "backend": {
- "custom-http-errors": [404],
- "proxy-buffers-number": "4",
- "proxy-buffer-size": "4k",
- "proxy-connect-timeout": 5,
- "proxy-read-timeout": 60,
- "proxy-send-timeout": 60,
- "skip-access-log-urls": ["~*health-check", "~*info"],
- "ssl-redirect": true,
- "upstream-fail-timeout": 0,
- "upstream-max-fails": 0,
- "upstream-hash-by": "$request_uri",
- "whitelist-source-range": null
- },
- "bodySize": "1m",
- "enableSpdy": false,
- "errorLogLevel": "notice",
- "gzipTypes": "application/atom+xml application/javascript application/x-javascript application/json application/rss+xml application/vnd.ms-fontobject application/x-font-ttf application/x-web-app-manifest+json application/xhtml+xml application/xml font/opentype image/svg+xml image/x-icon text/css text/javascript text/plain text/x-component",
- "hsts": true,
- "hstsIncludeSubdomains": true,
- "hstsMaxAge": "31536000",
- "keepAlive": 75,
- "mapHashBucketSize": 64,
- "maxWorkerConnections": 16384,
- "nginxStatusIpv4Whitelist": "127.0.0.1",
- "nginxStatusIpv6Whitelist": "::1",
- "proxyRealIpCidr": "0.0.0.0/0",
- "retryNonIdempotent": false,
- "serverNameHashBucketSize": 64,
- "serverNameHashMaxSize": 16384,
- "sslBufferSize": "4k",
- "sslCiphers": "ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:AES:CAMELLIA:DES-CBC3-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!aECDH:!EDH-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA",
- "sslProtocols": "TLSv1 TLSv1.1 TLSv1.2",
- "sslSessionCache": true,
- "sslSessionCacheSize": "10m",
- "sslSessionTickets": true,
- "sslSessionTimeout": "10m",
- "useGzip": true,
- "useHttp2": true,
- "proxyStreamTimeout": "600s",
- "workerProcesses": 1,
- "limitConnZoneVariable": "$remote_addr"
- },
- "customErrors": true,
- "defResolver": "",
- "healthzURI": "/healthz",
- "passthroughBackends": [{
- "namespace": "default-kubernetes-443",
- "hostname": "foo-898.bar.com"
- }, {
- "namespace": "default-echoheaders-x-80",
- "hostname": "foo-997.bar.com"
- }, {
- "namespace": "default-kubernetes-443",
- "hostname": "kubernetes.foo-bar.com"
- }],
- "servers": [{
- "hostname": "_",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/testpath",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": true
- },
- "denylist": {
- "cidr": ["1.1.1.1"]
- },
- "whitelist": {
- "cidr": ["1.1.1.1"]
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }, {
- "path": "/",
- "isDefBackend": true,
- "backend": "upstream-default-backend",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": ["1.1.1.1"]
- },
- "whitelist": {
- "cidr": ["1.1.1.1"]
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "bar.baz.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/foo",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }, {
- "path": "/bar",
- "isDefBackend": false,
- "backend": "default-echoheaders-y-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }, {
- "path": "/",
- "isDefBackend": true,
- "backend": "upstream-default-backend",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": null
- },
- "whitelist": {
- "cidr": null
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "default-backend.sample.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": true,
- "backend": "default-echoheaders-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": null
- },
- "whitelist": {
- "cidr": null
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "external-auth-01.sample.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "https://httpbun.com/basic-auth/user/passwd",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": true
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-1.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-10.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-100.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-1000.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-101.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-102.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-103.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-104.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-105.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-106.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-107.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-108.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-109.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-11.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-110.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-111.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-112.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-113.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-114.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-115.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-116.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-117.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-118.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-119.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-12.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-120.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-121.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-122.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-123.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-124.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-125.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-126.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-127.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-128.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-129.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-13.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-130.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-131.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-132.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-133.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-134.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-135.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-136.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-137.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-138.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-139.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-14.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-140.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-141.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-142.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-143.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-144.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-145.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-146.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-147.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-148.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-149.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-15.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-150.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-151.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-152.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-153.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-154.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-155.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-156.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-157.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-158.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-159.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-16.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-160.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-161.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-162.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-163.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-164.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-165.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-166.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-167.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-168.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-169.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-17.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-170.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-171.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-172.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-173.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-174.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-175.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-176.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-177.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-178.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-179.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-18.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-180.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-181.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-182.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-183.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-184.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-185.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-186.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-187.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-188.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-189.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-19.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-190.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-191.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-192.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-193.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-194.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-195.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-196.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-197.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-198.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-199.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-2.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-20.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-200.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-201.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-202.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-203.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-204.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-205.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-206.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-207.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-208.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-209.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-21.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-210.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-211.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-212.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-213.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-214.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-215.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-216.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-217.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-218.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-219.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-22.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-220.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-221.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-222.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-223.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-224.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-225.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-226.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-227.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-228.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-229.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-23.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-230.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-231.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-232.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-233.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-234.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-235.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-236.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-237.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-238.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-239.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-24.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-240.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-241.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-242.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-243.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-244.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-245.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-246.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-247.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-248.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-249.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-25.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-250.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-251.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-252.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-253.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-254.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-255.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-256.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-257.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-258.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-259.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-26.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-260.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-261.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-262.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-263.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-264.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-265.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-266.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-267.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-268.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-269.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-27.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-270.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-271.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-272.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-273.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-274.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-275.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-276.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-277.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-278.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-279.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-28.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-280.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-281.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-282.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-283.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-284.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-285.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-286.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-287.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-288.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-289.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-29.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-290.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-291.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-292.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-293.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-294.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-295.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-296.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-297.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-298.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-299.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-3.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-30.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-300.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-301.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-302.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-303.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-304.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-305.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-306.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-307.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-308.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-309.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-31.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-310.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-311.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-312.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-313.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-314.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-315.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-316.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-317.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-318.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-319.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-32.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-320.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-321.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-322.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-323.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-324.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-325.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-326.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-327.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-328.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-329.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-33.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-330.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-331.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-332.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-333.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-334.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-335.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-336.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-337.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-338.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-339.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-34.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-340.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-341.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-342.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-343.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-344.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-345.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-346.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-347.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-348.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-349.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-35.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-350.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-351.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-352.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-353.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-354.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-355.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-356.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-357.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-358.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-359.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-36.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-360.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-361.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-362.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-363.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-364.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-365.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-366.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-367.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-368.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-369.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-37.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-370.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-371.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-372.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-373.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-374.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-375.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-376.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-377.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-378.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-379.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-38.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-380.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-381.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-382.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-383.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-384.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-385.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-386.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-387.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-388.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-389.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-39.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-390.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-391.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-392.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-393.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-394.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-395.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-396.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-397.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-398.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-399.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-4.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-40.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-400.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-401.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-402.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-403.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-404.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-405.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-406.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-407.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-408.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-409.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-41.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-410.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-411.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-412.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-413.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-414.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-415.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-416.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-417.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-418.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-419.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-42.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-420.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-421.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-422.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-423.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-424.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-425.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-426.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-427.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-428.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-429.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-43.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-430.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-431.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-432.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-433.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-434.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-435.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-436.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-437.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-438.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-439.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-44.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-440.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-441.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-442.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-443.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-444.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-445.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-446.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-447.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-448.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-449.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-45.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-450.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-451.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-452.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-453.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-454.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-455.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-456.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-457.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-458.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-459.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-46.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-460.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-461.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-462.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-463.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-464.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-465.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-466.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-467.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-468.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-469.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-47.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-470.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-471.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-472.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-473.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-474.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-475.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-476.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-477.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-478.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-479.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-48.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-480.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-481.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-482.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-483.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-484.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-485.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-486.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-487.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-488.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-489.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-49.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-490.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-491.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-492.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-493.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-494.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-495.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-496.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-497.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-498.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-499.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-5.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-50.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-500.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-501.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-502.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-503.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-504.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-505.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-506.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-507.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-508.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-509.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-51.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-510.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-511.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-512.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-513.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-514.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-515.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-516.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-517.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-518.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-519.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-52.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-520.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-521.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-522.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-523.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-524.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-525.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-526.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-527.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-528.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-529.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-53.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-530.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-531.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-532.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-533.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-534.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-535.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-536.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-537.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-538.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-539.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-54.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-540.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-541.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-542.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-543.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-544.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-545.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-546.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-547.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-548.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-549.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-55.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-550.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-551.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-552.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-553.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-554.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-555.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-556.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-557.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-558.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-559.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-56.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-560.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-561.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-562.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-563.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-564.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-565.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-566.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-567.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-568.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-569.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-57.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-570.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-571.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-572.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-573.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-574.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-575.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-576.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-577.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-578.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-579.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-58.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-580.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-581.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-582.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-583.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-584.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-585.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-586.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-587.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-588.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-589.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-59.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-590.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-591.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-592.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-593.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-594.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-595.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-596.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-597.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-598.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-599.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-6.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-60.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-600.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-601.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-602.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-603.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-604.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-605.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-606.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-607.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-608.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-609.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-61.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-610.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-611.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-612.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-613.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-614.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-615.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-616.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-617.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-618.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-619.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-62.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-620.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-621.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-622.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-623.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-624.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-625.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-626.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-627.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-628.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-629.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-63.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-630.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-631.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-632.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-633.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-634.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-635.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-636.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-637.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-638.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-639.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-64.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-640.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-641.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-642.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-643.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-644.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-645.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-646.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-647.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-648.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-649.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-65.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-650.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-651.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-652.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-653.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-654.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-655.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-656.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-657.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-658.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-659.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-66.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-660.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-661.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-662.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-663.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-664.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-665.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-666.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-667.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-668.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-669.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-67.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-670.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-671.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-672.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-673.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-674.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-675.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-676.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-677.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-678.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-679.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-68.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-680.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-681.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-682.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-683.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-684.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-685.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-686.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-687.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-688.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-689.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-69.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-690.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-691.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-692.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-693.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-694.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-695.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-696.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-697.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-698.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-699.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-7.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-70.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-700.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-701.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-702.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-703.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-704.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-705.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-706.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-707.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-708.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-709.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-71.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-710.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-711.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-712.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-713.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-714.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-715.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-716.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-717.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-718.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-719.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-72.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-720.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-721.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-722.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-723.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-724.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-725.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-726.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-727.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-728.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-729.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-73.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-730.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-731.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-732.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-733.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-734.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-735.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-736.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-737.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-738.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-739.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-74.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-740.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-741.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-742.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-743.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-744.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-745.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-746.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-747.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-748.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-749.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-75.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-750.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-751.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-752.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-753.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-754.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-755.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-756.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-757.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-758.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-759.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-76.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-760.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-761.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-762.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-763.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-764.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-765.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-766.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-767.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-768.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-769.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-77.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-770.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-771.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-772.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-773.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-774.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-775.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-776.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-777.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-778.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-779.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-78.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-780.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-781.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-782.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-783.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-784.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-785.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-786.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-787.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-788.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-789.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-79.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-790.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-791.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-792.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-793.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-794.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-795.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-796.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-797.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-798.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-799.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-8.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-80.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-800.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-801.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-802.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-803.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-804.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-805.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-806.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-807.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-808.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-809.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-81.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-810.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-811.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-812.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-813.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-814.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-815.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-816.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-817.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-818.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-819.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-82.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-820.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-821.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-822.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-823.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-824.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-825.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-826.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-827.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-828.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-829.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-83.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-830.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-831.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-832.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-833.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-834.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-835.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-836.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-837.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-838.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-839.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-84.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-840.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-841.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-842.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-843.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-844.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-845.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-846.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-847.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-848.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-849.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-85.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-850.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-851.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-852.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-853.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-854.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-855.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-856.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-857.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-858.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-859.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-86.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-860.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-861.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-862.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-863.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-864.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-865.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-866.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-867.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-868.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-869.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-87.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-870.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-871.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-872.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-873.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-874.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-875.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-876.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-877.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-878.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-879.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-88.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-880.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-881.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-882.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-883.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-884.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-885.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-886.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-887.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-888.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-889.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-89.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-890.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-891.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-892.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-893.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-894.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-895.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-896.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-897.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-898.bar.com",
- "sslPassthrough": true,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-kubernetes-443",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": true
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-899.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-9.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-90.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-900.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-901.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-902.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-903.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-904.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-905.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-906.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-907.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-908.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-909.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-91.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-910.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-911.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-912.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-913.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-914.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-915.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-916.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-917.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-918.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-919.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-92.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-920.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-921.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-922.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-923.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-924.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-925.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-926.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-927.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-928.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-929.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-93.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-930.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-931.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-932.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-933.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-934.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-935.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-936.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-937.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-938.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-939.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-94.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-940.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-941.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-942.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-943.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-944.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-945.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-946.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-947.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-948.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-949.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-95.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-950.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-951.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-952.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-953.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-954.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-955.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-956.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-957.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-958.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-959.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-96.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-960.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-961.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-962.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-963.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-964.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-965.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-966.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-967.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-968.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-969.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-97.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-970.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-971.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-972.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-973.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-974.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-975.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-976.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-977.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-978.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-979.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-98.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-980.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-981.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-982.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-983.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-984.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-985.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-986.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-987.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-988.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-989.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-99.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-990.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-991.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-992.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": true
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "default/aledbf-ca-secret",
- "certFilename": "/ingress-controller/ssl/default-aledbf-ca-secret.pem",
- "keyFilename": "",
- "caFilename": "/ingress-controller/ssl/ca-default-aledbf-ca-secret.pem",
- "pemSha": "69d055bd017208111377c971ba5ee0987fecee65"
- }
- }]
- }, {
- "hostname": "foo-993.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-994.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-995.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-996.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-997.bar.com",
- "sslPassthrough": true,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": true
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo-998.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "https://httpbun.com/basic-auth/user/passwd",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": true
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/foo",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }, {
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo2.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-xtp-echo-port",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": true
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foo3.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-xtp-echo-port",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "foos.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": true
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "jenkins.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/jenkins",
- "isDefBackend": false,
- "backend": "default-jenkins-8080",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "default_jenkins_conn",
- "limit": 2,
- "burst": 10,
- "sharedSize": 5
- },
- "rps": {
- "name": "default_jenkins_rps",
- "limit": 0,
- "burst": 10,
- "sharedSize": 5
- }
- },
- "redirect": {
- "target": "/",
- "addBaseUrl": true,
- "sslRedirect": true
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }, {
- "path": "/",
- "isDefBackend": true,
- "backend": "upstream-default-backend",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": null
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "kubernetes.foo-bar.com",
- "sslPassthrough": true,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-kubernetes-443",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": true
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "no-root.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/api",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }, {
- "path": "/",
- "isDefBackend": true,
- "backend": "upstream-default-backend",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": null
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "rewrite.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/something",
- "isDefBackend": false,
- "backend": "default-echoheaders-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "/",
- "addBaseUrl": false,
- "sslRedirect": true
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }, {
- "path": "/",
- "isDefBackend": true,
- "backend": "upstream-default-backend",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": null
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "whitelist.bar.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": true
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }, {
- "hostname": "with-root.com",
- "sslPassthrough": false,
- "sslCertificate": "",
- "sslPemChecksum": "",
- "locations": [{
- "path": "/",
- "isDefBackend": false,
- "backend": "default-echoheaders-x-80",
- "basicDigestAuth": {
- "type": "",
- "realm": "",
- "file": "",
- "secured": false
- },
- "externalAuth": {
- "url": "",
- "method": "",
- "sendBody": false
- },
- "rateLimit": {
- "connections": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- },
- "rps": {
- "name": "",
- "limit": 0,
- "burst": 0,
- "sharedSize": 0
- }
- },
- "redirect": {
- "target": "",
- "addBaseUrl": false,
- "sslRedirect": false
- },
- "denylist": {
- "cidr": []
- },
- "whitelist": {
- "cidr": []
- },
- "proxy": {
- "connectTimeout": 5,
- "sendTimeout": 60,
- "readTimeout": 60,
- "bufferSize": "4k"
- },
- "certificateAuth": {
- "secret": "",
- "certFilename": "",
- "keyFilename": "",
- "caFilename": "",
- "pemSha": ""
- }
- }]
- }],
- "sslDHParam": "",
- "tcpBackends": [],
- "udpBackends": [],
- "backends": [{
- "name": "default-echoheaders-80",
- "secure": false,
- "endpoints": [{
- "address": "10.2.3.2",
- "port": "8080",
- "maxFails": 0,
- "failTimeout": 0
- }, {
- "address": "10.2.3.5",
- "port": "8080",
- "maxFails": 0,
- "failTimeout": 0
- }]
- }, {
- "name": "default-echoheaders-x-80",
- "secure": false,
- "endpoints": [{
- "address": "10.2.3.4",
- "port": "8080",
- "maxFails": 0,
- "failTimeout": 0
- }]
- }, {
- "name": "default-echoheaders-xtp-echo-port",
- "secure": false,
- "endpoints": [{
- "address": "127.0.0.1",
- "port": "8181",
- "maxFails": 0,
- "failTimeout": 0
- }]
- }, {
- "name": "default-echoheaders-y-80",
- "secure": false,
- "endpoints": [{
- "address": "10.2.3.4",
- "port": "8080",
- "maxFails": 0,
- "failTimeout": 0
- }]
- }, {
- "name": "default-jenkins-8080",
- "secure": false,
- "endpoints": [{
- "address": "127.0.0.1",
- "port": "8181",
- "maxFails": 0,
- "failTimeout": 0
- }]
- }, {
- "name": "default-kubernetes-443",
- "secure": false,
- "endpoints": [{
- "address": "172.17.4.99",
- "port": "443",
- "maxFails": 0,
- "failTimeout": 0
- }]
- }, {
- "name": "upstream-default-backend",
- "secure": false,
- "endpoints": [{
- "address": "10.2.3.11",
- "port": "8080",
- "maxFails": 0,
- "failTimeout": 0
- }]
- }]
+ "backlogSize": 32768,
+ "isIPV6Enabled": true,
+ "cfg": {
+ "disable-ipv6": false,
+ "bind-address-ipv4": ["1.1.1.1", "2.2.2.2"],
+ "bind-address-ipv6": [
+ "[2001:db8:a0b:12f0::1]",
+ "[3731:54:65fe:2::a7]",
+ "[33:33:33::33::33]"
+ ],
+ "backend": {
+ "custom-http-errors": [404],
+ "proxy-buffers-number": "4",
+ "proxy-buffer-size": "4k",
+ "proxy-connect-timeout": 5,
+ "proxy-read-timeout": 60,
+ "proxy-send-timeout": 60,
+ "skip-access-log-urls": ["~*health-check", "~*info"],
+ "ssl-redirect": true,
+ "upstream-fail-timeout": 0,
+ "upstream-max-fails": 0,
+ "upstream-hash-by": "$request_uri",
+ "whitelist-source-range": null
+ },
+ "bodySize": "1m",
+ "enableSpdy": false,
+ "errorLogLevel": "notice",
+ "gzipTypes": "application/atom+xml application/javascript application/x-javascript application/json application/rss+xml application/vnd.ms-fontobject application/x-font-ttf application/x-web-app-manifest+json application/xhtml+xml application/xml font/opentype image/svg+xml image/x-icon text/css text/javascript text/plain text/x-component",
+ "hsts": true,
+ "hstsIncludeSubdomains": true,
+ "hstsMaxAge": "31536000",
+ "keepAlive": 75,
+ "mapHashBucketSize": 64,
+ "maxWorkerConnections": 16384,
+ "nginxStatusIpv4Whitelist": "127.0.0.1",
+ "nginxStatusIpv6Whitelist": "::1",
+ "proxyRealIpCidr": "0.0.0.0/0",
+ "retryNonIdempotent": false,
+ "serverNameHashBucketSize": 64,
+ "serverNameHashMaxSize": 16384,
+ "sslBufferSize": "4k",
+ "sslCiphers": "ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:AES:CAMELLIA:DES-CBC3-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!aECDH:!EDH-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA",
+ "sslProtocols": "TLSv1.2",
+ "sslSessionCache": true,
+ "sslSessionCacheSize": "10m",
+ "sslSessionTickets": true,
+ "sslSessionTimeout": "10m",
+ "useGzip": true,
+ "useHttp2": true,
+ "proxyStreamTimeout": "600s",
+ "workerProcesses": 1,
+ "limitConnZoneVariable": "$remote_addr"
+ },
+ "customErrors": true,
+ "defResolver": "",
+ "healthzURI": "/healthz",
+ "passthroughBackends": [
+ {
+ "namespace": "default-kubernetes-443",
+ "hostname": "foo-898.bar.com"
+ },
+ {
+ "namespace": "default-echoheaders-x-80",
+ "hostname": "foo-997.bar.com"
+ },
+ {
+ "namespace": "default-kubernetes-443",
+ "hostname": "kubernetes.foo-bar.com"
+ }
+ ],
+ "servers": [
+ {
+ "hostname": "_",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/testpath",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": true
+ },
+ "denylist": {
+ "cidr": ["1.1.1.1"]
+ },
+ "whitelist": {
+ "cidr": ["1.1.1.1"]
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ },
+ {
+ "path": "/",
+ "isDefBackend": true,
+ "backend": "upstream-default-backend",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": ["1.1.1.1"]
+ },
+ "whitelist": {
+ "cidr": ["1.1.1.1"]
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "bar.baz.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/foo",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ },
+ {
+ "path": "/bar",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-y-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ },
+ {
+ "path": "/",
+ "isDefBackend": true,
+ "backend": "upstream-default-backend",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": null
+ },
+ "whitelist": {
+ "cidr": null
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "default-backend.sample.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": true,
+ "backend": "default-echoheaders-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": null
+ },
+ "whitelist": {
+ "cidr": null
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "external-auth-01.sample.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "https://httpbun.com/basic-auth/user/passwd",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": true
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-1.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-10.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-100.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-1000.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-101.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-102.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-103.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-104.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-105.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-106.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-107.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-108.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-109.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-11.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-110.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-111.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-112.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-113.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-114.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-115.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-116.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-117.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-118.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-119.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-12.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-120.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-121.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-122.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-123.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-124.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-125.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-126.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-127.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-128.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-129.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-13.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-130.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-131.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-132.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-133.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-134.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-135.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-136.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-137.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-138.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-139.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-14.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-140.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-141.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-142.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-143.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-144.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-145.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-146.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-147.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-148.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-149.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-15.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-150.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-151.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-152.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-153.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-154.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-155.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-156.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-157.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-158.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-159.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-16.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-160.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-161.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-162.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-163.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-164.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-165.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-166.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-167.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-168.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-169.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-17.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-170.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-171.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-172.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-173.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-174.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-175.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-176.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-177.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-178.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-179.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-18.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-180.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-181.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-182.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-183.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-184.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-185.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-186.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-187.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-188.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-189.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-19.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-190.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-191.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-192.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-193.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-194.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-195.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-196.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-197.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-198.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-199.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-2.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-20.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-200.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-201.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-202.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-203.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-204.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-205.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-206.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-207.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-208.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-209.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-21.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-210.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-211.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-212.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-213.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-214.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-215.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-216.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-217.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-218.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-219.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-22.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-220.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-221.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-222.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-223.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-224.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-225.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-226.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-227.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-228.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-229.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-23.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-230.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-231.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-232.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-233.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-234.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-235.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-236.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-237.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-238.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-239.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-24.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-240.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-241.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-242.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-243.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-244.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-245.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-246.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-247.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-248.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-249.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-25.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-250.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-251.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-252.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-253.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-254.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-255.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-256.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-257.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-258.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-259.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-26.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-260.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-261.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-262.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-263.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-264.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-265.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-266.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-267.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-268.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-269.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-27.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-270.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-271.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-272.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-273.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-274.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-275.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-276.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-277.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-278.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-279.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-28.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-280.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-281.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-282.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-283.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-284.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-285.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-286.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-287.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-288.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-289.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-29.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-290.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-291.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-292.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-293.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-294.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-295.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-296.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-297.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-298.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-299.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-3.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-30.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-300.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-301.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-302.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-303.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-304.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-305.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-306.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-307.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-308.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-309.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-31.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-310.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-311.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-312.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-313.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-314.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-315.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-316.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-317.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-318.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-319.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-32.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-320.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-321.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-322.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-323.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-324.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-325.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-326.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-327.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-328.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-329.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-33.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-330.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-331.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-332.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-333.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-334.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-335.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-336.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-337.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-338.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-339.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-34.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-340.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-341.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-342.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-343.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-344.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-345.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-346.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-347.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-348.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-349.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-35.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-350.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-351.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-352.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-353.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-354.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-355.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-356.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-357.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-358.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-359.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-36.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-360.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-361.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-362.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-363.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-364.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-365.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-366.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-367.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-368.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-369.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-37.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-370.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-371.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-372.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-373.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-374.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-375.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-376.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-377.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-378.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-379.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-38.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-380.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-381.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-382.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-383.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-384.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-385.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-386.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-387.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-388.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-389.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-39.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-390.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-391.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-392.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-393.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-394.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-395.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-396.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-397.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-398.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-399.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-4.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-40.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-400.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-401.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-402.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-403.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-404.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-405.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-406.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-407.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-408.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-409.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-41.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-410.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-411.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-412.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-413.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-414.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-415.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-416.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-417.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-418.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-419.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-42.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-420.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-421.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-422.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-423.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-424.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-425.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-426.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-427.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-428.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-429.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-43.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-430.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-431.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-432.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-433.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-434.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-435.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-436.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-437.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-438.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-439.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-44.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-440.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-441.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-442.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-443.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-444.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-445.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-446.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-447.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-448.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-449.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-45.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-450.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-451.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-452.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-453.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-454.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-455.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-456.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-457.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-458.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-459.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-46.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-460.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-461.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-462.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-463.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-464.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-465.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-466.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-467.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-468.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-469.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-47.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-470.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-471.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-472.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-473.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-474.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-475.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-476.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-477.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-478.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-479.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-48.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-480.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-481.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-482.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-483.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-484.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-485.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-486.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-487.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-488.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-489.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-49.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-490.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-491.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-492.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-493.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-494.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-495.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-496.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-497.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-498.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-499.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-5.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-50.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-500.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-501.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-502.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-503.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-504.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-505.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-506.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-507.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-508.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-509.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-51.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-510.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-511.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-512.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-513.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-514.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-515.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-516.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-517.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-518.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-519.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-52.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-520.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-521.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-522.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-523.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-524.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-525.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-526.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-527.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-528.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-529.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-53.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-530.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-531.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-532.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-533.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-534.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-535.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-536.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-537.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-538.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-539.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-54.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-540.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-541.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-542.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-543.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-544.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-545.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-546.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-547.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-548.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-549.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-55.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-550.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-551.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-552.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-553.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-554.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-555.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-556.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-557.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-558.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-559.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-56.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-560.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-561.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-562.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-563.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-564.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-565.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-566.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-567.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-568.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-569.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-57.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-570.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-571.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-572.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-573.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-574.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-575.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-576.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-577.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-578.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-579.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-58.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-580.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-581.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-582.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-583.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-584.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-585.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-586.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-587.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-588.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-589.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-59.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-590.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-591.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-592.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-593.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-594.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-595.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-596.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-597.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-598.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-599.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-6.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-60.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-600.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-601.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-602.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-603.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-604.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-605.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-606.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-607.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-608.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-609.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-61.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-610.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-611.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-612.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-613.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-614.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-615.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-616.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-617.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-618.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-619.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-62.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-620.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-621.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-622.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-623.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-624.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-625.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-626.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-627.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-628.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-629.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-63.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-630.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-631.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-632.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-633.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-634.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-635.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-636.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-637.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-638.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-639.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-64.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-640.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-641.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-642.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-643.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-644.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-645.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-646.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-647.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-648.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-649.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-65.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-650.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-651.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-652.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-653.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-654.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-655.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-656.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-657.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-658.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-659.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-66.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-660.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-661.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-662.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-663.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-664.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-665.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-666.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-667.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-668.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-669.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-67.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-670.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-671.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-672.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-673.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-674.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-675.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-676.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-677.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-678.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-679.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-68.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-680.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-681.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-682.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-683.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-684.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-685.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-686.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-687.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-688.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-689.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-69.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-690.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-691.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-692.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-693.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-694.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-695.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-696.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-697.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-698.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-699.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-7.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-70.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-700.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-701.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-702.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-703.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-704.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-705.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-706.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-707.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-708.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-709.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-71.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-710.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-711.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-712.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-713.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-714.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-715.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-716.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-717.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-718.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-719.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-72.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-720.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-721.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-722.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-723.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-724.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-725.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-726.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-727.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-728.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-729.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-73.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-730.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-731.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-732.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-733.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-734.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-735.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-736.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-737.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-738.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-739.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-74.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-740.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-741.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-742.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-743.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-744.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-745.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-746.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-747.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-748.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-749.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-75.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-750.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-751.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-752.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-753.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-754.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-755.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-756.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-757.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-758.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-759.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-76.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-760.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-761.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-762.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-763.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-764.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-765.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-766.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-767.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-768.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-769.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-77.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-770.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-771.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-772.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-773.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-774.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-775.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-776.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-777.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-778.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-779.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-78.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-780.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-781.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-782.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-783.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-784.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-785.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-786.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-787.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-788.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-789.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-79.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-790.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-791.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-792.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-793.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-794.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-795.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-796.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-797.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-798.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-799.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-8.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-80.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-800.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-801.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-802.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-803.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-804.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-805.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-806.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-807.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-808.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-809.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-81.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-810.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-811.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-812.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-813.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-814.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-815.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-816.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-817.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-818.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-819.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-82.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-820.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-821.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-822.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-823.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-824.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-825.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-826.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-827.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-828.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-829.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-83.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-830.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-831.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-832.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-833.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-834.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-835.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-836.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-837.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-838.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-839.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-84.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-840.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-841.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-842.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-843.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-844.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-845.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-846.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-847.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-848.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-849.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-85.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-850.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-851.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-852.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-853.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-854.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-855.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-856.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-857.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-858.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-859.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-86.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-860.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-861.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-862.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-863.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-864.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-865.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-866.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-867.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-868.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-869.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-87.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-870.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-871.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-872.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-873.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-874.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-875.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-876.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-877.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-878.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-879.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-88.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-880.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-881.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-882.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-883.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-884.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-885.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-886.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-887.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-888.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-889.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-89.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-890.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-891.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-892.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-893.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-894.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-895.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-896.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-897.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-898.bar.com",
+ "sslPassthrough": true,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-kubernetes-443",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": true
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-899.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-9.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-90.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-900.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-901.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-902.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-903.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-904.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-905.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-906.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-907.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-908.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-909.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-91.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-910.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-911.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-912.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-913.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-914.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-915.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-916.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-917.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-918.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-919.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-92.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-920.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-921.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-922.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-923.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-924.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-925.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-926.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-927.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-928.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-929.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-93.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-930.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-931.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-932.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-933.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-934.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-935.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-936.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-937.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-938.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-939.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-94.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-940.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-941.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-942.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-943.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-944.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-945.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-946.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-947.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-948.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-949.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-95.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-950.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-951.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-952.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-953.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-954.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-955.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-956.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-957.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-958.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-959.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-96.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-960.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-961.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-962.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-963.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-964.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-965.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-966.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-967.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-968.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-969.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-97.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-970.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-971.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-972.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-973.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-974.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-975.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-976.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-977.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-978.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-979.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-98.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-980.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-981.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-982.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-983.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-984.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-985.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-986.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-987.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-988.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-989.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-99.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-990.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-991.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-992.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": true
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "default/aledbf-ca-secret",
+ "certFilename": "/ingress-controller/ssl/default-aledbf-ca-secret.pem",
+ "keyFilename": "",
+ "caFilename": "/ingress-controller/ssl/ca-default-aledbf-ca-secret.pem",
+ "pemSha": "69d055bd017208111377c971ba5ee0987fecee65"
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-993.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-994.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-995.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-996.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-997.bar.com",
+ "sslPassthrough": true,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": true
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo-998.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "https://httpbun.com/basic-auth/user/passwd",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": true
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/foo",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ },
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo2.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-xtp-echo-port",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": true
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foo3.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-xtp-echo-port",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "foos.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": true
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "jenkins.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/jenkins",
+ "isDefBackend": false,
+ "backend": "default-jenkins-8080",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "default_jenkins_conn",
+ "limit": 2,
+ "burst": 10,
+ "sharedSize": 5
+ },
+ "rps": {
+ "name": "default_jenkins_rps",
+ "limit": 0,
+ "burst": 10,
+ "sharedSize": 5
+ }
+ },
+ "redirect": {
+ "target": "/",
+ "addBaseUrl": true,
+ "sslRedirect": true
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ },
+ {
+ "path": "/",
+ "isDefBackend": true,
+ "backend": "upstream-default-backend",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": null
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "kubernetes.foo-bar.com",
+ "sslPassthrough": true,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-kubernetes-443",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": true
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "no-root.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/api",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ },
+ {
+ "path": "/",
+ "isDefBackend": true,
+ "backend": "upstream-default-backend",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": null
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "rewrite.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/something",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "/",
+ "addBaseUrl": false,
+ "sslRedirect": true
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ },
+ {
+ "path": "/",
+ "isDefBackend": true,
+ "backend": "upstream-default-backend",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": null
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "whitelist.bar.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": true
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ },
+ {
+ "hostname": "with-root.com",
+ "sslPassthrough": false,
+ "sslCertificate": "",
+ "sslPemChecksum": "",
+ "locations": [
+ {
+ "path": "/",
+ "isDefBackend": false,
+ "backend": "default-echoheaders-x-80",
+ "basicDigestAuth": {
+ "type": "",
+ "realm": "",
+ "file": "",
+ "secured": false
+ },
+ "externalAuth": {
+ "url": "",
+ "method": "",
+ "sendBody": false
+ },
+ "rateLimit": {
+ "connections": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ },
+ "rps": {
+ "name": "",
+ "limit": 0,
+ "burst": 0,
+ "sharedSize": 0
+ }
+ },
+ "redirect": {
+ "target": "",
+ "addBaseUrl": false,
+ "sslRedirect": false
+ },
+ "denylist": {
+ "cidr": []
+ },
+ "whitelist": {
+ "cidr": []
+ },
+ "proxy": {
+ "connectTimeout": 5,
+ "sendTimeout": 60,
+ "readTimeout": 60,
+ "bufferSize": "4k"
+ },
+ "certificateAuth": {
+ "secret": "",
+ "certFilename": "",
+ "keyFilename": "",
+ "caFilename": "",
+ "pemSha": ""
+ }
+ }
+ ]
+ }
+ ],
+ "sslDHParam": "",
+ "tcpBackends": [],
+ "udpBackends": [],
+ "backends": [
+ {
+ "name": "default-echoheaders-80",
+ "secure": false,
+ "endpoints": [
+ {
+ "address": "10.2.3.2",
+ "port": "8080",
+ "maxFails": 0,
+ "failTimeout": 0
+ },
+ {
+ "address": "10.2.3.5",
+ "port": "8080",
+ "maxFails": 0,
+ "failTimeout": 0
+ }
+ ]
+ },
+ {
+ "name": "default-echoheaders-x-80",
+ "secure": false,
+ "endpoints": [
+ {
+ "address": "10.2.3.4",
+ "port": "8080",
+ "maxFails": 0,
+ "failTimeout": 0
+ }
+ ]
+ },
+ {
+ "name": "default-echoheaders-xtp-echo-port",
+ "secure": false,
+ "endpoints": [
+ {
+ "address": "127.0.0.1",
+ "port": "8181",
+ "maxFails": 0,
+ "failTimeout": 0
+ }
+ ]
+ },
+ {
+ "name": "default-echoheaders-y-80",
+ "secure": false,
+ "endpoints": [
+ {
+ "address": "10.2.3.4",
+ "port": "8080",
+ "maxFails": 0,
+ "failTimeout": 0
+ }
+ ]
+ },
+ {
+ "name": "default-jenkins-8080",
+ "secure": false,
+ "endpoints": [
+ {
+ "address": "127.0.0.1",
+ "port": "8181",
+ "maxFails": 0,
+ "failTimeout": 0
+ }
+ ]
+ },
+ {
+ "name": "default-kubernetes-443",
+ "secure": false,
+ "endpoints": [
+ {
+ "address": "172.17.4.99",
+ "port": "443",
+ "maxFails": 0,
+ "failTimeout": 0
+ }
+ ]
+ },
+ {
+ "name": "upstream-default-backend",
+ "secure": false,
+ "endpoints": [
+ {
+ "address": "10.2.3.11",
+ "port": "8080",
+ "maxFails": 0,
+ "failTimeout": 0
+ }
+ ]
+ }
+ ]
}
diff --git a/test/e2e-image/Dockerfile b/test/e2e-image/Dockerfile
index 6c1fbefc6..7bd7c9c1c 100644
--- a/test/e2e-image/Dockerfile
+++ b/test/e2e-image/Dockerfile
@@ -1,7 +1,7 @@
ARG E2E_BASE_IMAGE
FROM ${E2E_BASE_IMAGE} AS BASE
-FROM alpine:3.19.1
+FROM alpine:3.20.0
RUN apk update \
&& apk upgrade && apk add -U --no-cache \
@@ -9,7 +9,8 @@ RUN apk update \
bash \
tzdata \
libc6-compat \
- openssl
+ openssl \
+ sqlite-dev
COPY --from=BASE /go/bin/ginkgo /usr/local/bin/
COPY --from=BASE /usr/local/bin/helm /usr/local/bin/
diff --git a/test/e2e-image/Makefile b/test/e2e-image/Makefile
index 9f43c4691..74f3cc437 100644
--- a/test/e2e-image/Makefile
+++ b/test/e2e-image/Makefile
@@ -1,6 +1,6 @@
DIR:=$(shell dirname $(realpath $(firstword $(MAKEFILE_LIST))))
-E2E_BASE_IMAGE ?= "registry.k8s.io/ingress-nginx/e2e-test-runner:v20240126-760bf8eb@sha256:5e676bf2e5d5d035adfc6e093abee040af08327011e72fef640fa20da73cea2e"
+E2E_BASE_IMAGE ?= "registry.k8s.io/ingress-nginx/e2e-test-runner:v20240812-3f0129aa@sha256:95c2aaf2a66e8cbbf7a7453046f3b024383c273a0988efab841cd96116afd1a9"
image:
echo "..entered Makefile in /test/e2e-image"
diff --git a/test/e2e/HTTPBUN_IMAGE b/test/e2e/HTTPBUN_IMAGE
index 7e83b49fe..7deb1e1cb 100644
--- a/test/e2e/HTTPBUN_IMAGE
+++ b/test/e2e/HTTPBUN_IMAGE
@@ -1 +1 @@
-registry.k8s.io/ingress-nginx/e2e-test-httpbun:v20231011-8b53cabe0
+registry.k8s.io/ingress-nginx/httpbun:v1.0.1@sha256:264371edd5b19ddc2da9333bb4d87c0ce3c0cf37c73c4adeb8bc641b872bc9da
diff --git a/test/e2e/annotations/authtls.go b/test/e2e/annotations/authtls.go
index c7a05c053..3315065f1 100644
--- a/test/e2e/annotations/authtls.go
+++ b/test/e2e/annotations/authtls.go
@@ -322,6 +322,49 @@ var _ = framework.DescribeAnnotation("auth-tls-*", func() {
Status(http.StatusOK)
})
+ ginkgo.It("should reload the nginx config when auth-tls-match-cn is updated", func() {
+ host := authTLSFooHost
+ nameSpace := f.Namespace
+
+ clientConfig, err := framework.CreateIngressMASecret(
+ f.KubeClientSet,
+ host,
+ host,
+ nameSpace)
+ assert.Nil(ginkgo.GinkgoT(), err)
+
+ // First add an annotation that forbids our connection
+ annotations := map[string]string{
+ "nginx.ingress.kubernetes.io/auth-tls-secret": nameSpace + "/" + host,
+ "nginx.ingress.kubernetes.io/auth-tls-verify-client": "on",
+ "nginx.ingress.kubernetes.io/auth-tls-match-cn": "CN=notvalid",
+ }
+
+ ingress := f.EnsureIngress(framework.NewSingleIngressWithTLS(host, "/", host, []string{host}, nameSpace, framework.EchoService, 80, annotations))
+
+ assertSslClientCertificateConfig(f, host, "on", "1")
+
+ f.HTTPTestClientWithTLSConfig(clientConfig).
+ GET("/").
+ WithURL(f.GetURL(framework.HTTPS)).
+ WithHeader("Host", host).
+ Expect().
+ Status(http.StatusForbidden)
+
+ // Update the annotation to something that allows the connection
+ ingress.Annotations["nginx.ingress.kubernetes.io/auth-tls-match-cn"] = "CN=authtls"
+ f.UpdateIngress(ingress)
+
+ assertSslClientCertificateConfig(f, host, "on", "1")
+
+ f.HTTPTestClientWithTLSConfig(clientConfig).
+ GET("/").
+ WithURL(f.GetURL(framework.HTTPS)).
+ WithHeader("Host", host).
+ Expect().
+ Status(http.StatusOK)
+ })
+
ginkgo.It("should return 200 using auth-tls-match-cn where atleast one of the regex options matches CN from client", func() {
host := authTLSFooHost
nameSpace := f.Namespace
diff --git a/test/e2e/annotations/customheaders.go b/test/e2e/annotations/customheaders.go
new file mode 100644
index 000000000..274ce8278
--- /dev/null
+++ b/test/e2e/annotations/customheaders.go
@@ -0,0 +1,110 @@
+/*
+Copyright 2023 The Kubernetes Authors.
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+*/
+
+package annotations
+
+import (
+ "fmt"
+ "net/http"
+ "strings"
+
+ "github.com/onsi/ginkgo/v2"
+
+ "k8s.io/ingress-nginx/test/e2e/framework"
+)
+
+const (
+ customHeaderHost = "custom-headers"
+)
+
+var _ = framework.DescribeAnnotation("custom-headers-*", func() {
+ f := framework.NewDefaultFramework("custom-headers")
+
+ ginkgo.BeforeEach(func() {
+ f.NewEchoDeployment()
+ })
+
+ ginkgo.It("should return status code 200 when no custom-headers is configured", func() {
+ ing := framework.NewSingleIngress(customHeaderHost, "/", customHeaderHost, f.Namespace, framework.EchoService, 80, nil)
+ f.EnsureIngress(ing)
+
+ f.WaitForNginxServer(customHeaderHost,
+ func(server string) bool {
+ return strings.Contains(server, "server_name custom-headers")
+ })
+
+ f.HTTPTestClient().
+ GET("/").
+ WithHeader("Host", customHeaderHost).
+ Expect().
+ Status(http.StatusOK).
+ Body().Contains(fmt.Sprintf("host=%v", customHeaderHost))
+ })
+
+ ginkgo.It("should return status code 503 when custom-headers is configured with an invalid secret", func() {
+ annotations := map[string]string{
+ "nginx.ingress.kubernetes.io/custom-headers": f.Namespace + "/custom-headers",
+ }
+
+ ing := framework.NewSingleIngress(customHeaderHost, "/", customHeaderHost, f.Namespace, framework.EchoService, 80, annotations)
+ f.EnsureIngress(ing)
+
+ f.WaitForNginxServer(customHeaderHost,
+ func(server string) bool {
+ return strings.Contains(server, "server_name custom-headers")
+ })
+
+ f.HTTPTestClient().
+ GET("/").
+ WithHeader("Host", customHeaderHost).
+ Expect().
+ Status(http.StatusServiceUnavailable).
+ Body().Contains("503 Service Temporarily Unavailable")
+ })
+
+ ginkgo.It(`should set "more_set_headers 'My-Custom-Header' '42';" when custom-headers are set`, func() {
+ annotations := map[string]string{
+ "nginx.ingress.kubernetes.io/custom-headers": f.Namespace + "/custom-headers",
+ }
+
+ f.CreateConfigMap("custom-headers", map[string]string{
+ "My-Custom-Header": "42",
+ "My-Custom-Header-Dollar": "$remote_addr",
+ })
+ f.UpdateNginxConfigMapData("global-allowed-response-headers", "My-Custom-Header,My-Custom-Header-Dollar")
+
+ ing := framework.NewSingleIngress(customHeaderHost, "/", customHeaderHost, f.Namespace, framework.EchoService, 80, annotations)
+ f.EnsureIngress(ing)
+
+ f.WaitForNginxServer(customHeaderHost,
+ func(server string) bool {
+ return strings.Contains(server, `more_set_headers "My-Custom-Header: 42";`)
+ })
+
+ f.HTTPTestClient().
+ GET("/").
+ WithHeader("Host", customHeaderHost).
+ Expect().
+ Status(http.StatusOK).
+ Header("My-Custom-Header").Contains("42")
+ f.HTTPTestClient().
+ GET("/").
+ WithHeader("Host", customHeaderHost).
+ Expect().
+ Status(http.StatusOK).
+ Header("My-Custom-Header-Dollar").Contains("$remote_addr")
+ })
+})
diff --git a/test/e2e/annotations/grpc.go b/test/e2e/annotations/grpc.go
index b3be82c2a..530d16729 100644
--- a/test/e2e/annotations/grpc.go
+++ b/test/e2e/annotations/grpc.go
@@ -22,11 +22,13 @@ import (
"fmt"
"strings"
+ delaypb "github.com/Anddd7/pb/grpcbin"
pb "github.com/moul/pb/grpcbin/go-grpc"
"github.com/onsi/ginkgo/v2"
"github.com/stretchr/testify/assert"
"google.golang.org/grpc"
"google.golang.org/grpc/credentials"
+ "google.golang.org/grpc/credentials/insecure"
"google.golang.org/grpc/metadata"
corev1 "k8s.io/api/core/v1"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
@@ -35,7 +37,10 @@ import (
"k8s.io/ingress-nginx/test/e2e/framework"
)
-const echoHost = "echo"
+const (
+ echoHost = "echo"
+ host = "grpc"
+)
var _ = framework.DescribeAnnotation("backend-protocol - GRPC", func() {
f := framework.NewDefaultFramework("grpc", framework.WithHTTPBunEnabled())
@@ -43,8 +48,6 @@ var _ = framework.DescribeAnnotation("backend-protocol - GRPC", func() {
ginkgo.It("should use grpc_pass in the configuration file", func() {
f.NewGRPCFortuneTellerDeployment()
- host := "grpc"
-
annotations := map[string]string{
"nginx.ingress.kubernetes.io/backend-protocol": "GRPC",
}
@@ -104,7 +107,7 @@ var _ = framework.DescribeAnnotation("backend-protocol - GRPC", func() {
})
//nolint:goconst //string interpolation
- conn, err := grpc.Dial(f.GetNginxIP()+":443",
+ conn, err := grpc.NewClient(f.GetNginxIP()+":443",
grpc.WithTransportCredentials(
credentials.NewTLS(&tls.Config{
ServerName: echoHost,
@@ -165,7 +168,7 @@ var _ = framework.DescribeAnnotation("backend-protocol - GRPC", func() {
return strings.Contains(server, "grpc_pass grpc://upstream_balancer;")
})
- conn, err := grpc.Dial(f.GetNginxIP()+":443",
+ conn, err := grpc.NewClient(f.GetNginxIP()+":443",
grpc.WithTransportCredentials(
credentials.NewTLS(&tls.Config{
ServerName: echoHost,
@@ -239,7 +242,7 @@ var _ = framework.DescribeAnnotation("backend-protocol - GRPC", func() {
return strings.Contains(server, "grpc_pass grpcs://upstream_balancer;")
})
- conn, err := grpc.Dial(f.GetNginxIP()+":443",
+ conn, err := grpc.NewClient(f.GetNginxIP()+":443",
grpc.WithTransportCredentials(
credentials.NewTLS(&tls.Config{
ServerName: echoHost,
@@ -259,4 +262,89 @@ var _ = framework.DescribeAnnotation("backend-protocol - GRPC", func() {
metadata := res.GetMetadata()
assert.Equal(ginkgo.GinkgoT(), metadata["content-type"].Values[0], "application/grpc")
})
+
+ ginkgo.It("should return OK when request not exceed timeout", func() {
+ f.NewGRPCBinDelayDeployment()
+
+ proxyTimeout := "10"
+ ingressName := "grpcbin-delay"
+
+ annotations := make(map[string]string)
+ annotations["nginx.ingress.kubernetes.io/backend-protocol"] = "GRPC"
+ annotations["nginx.ingress.kubernetes.io/proxy-connect-timeout"] = proxyTimeout
+ annotations["nginx.ingress.kubernetes.io/proxy-send-timeout"] = proxyTimeout
+ annotations["nginx.ingress.kubernetes.io/proxy-read-timeout"] = proxyTimeout
+
+ ing := framework.NewSingleIngress(host, "/", host, f.Namespace, ingressName, 50051, annotations)
+
+ f.EnsureIngress(ing)
+
+ f.WaitForNginxServer(host,
+ func(server string) bool {
+ return strings.Contains(server, fmt.Sprintf("grpc_connect_timeout %ss;", proxyTimeout)) &&
+ strings.Contains(server, fmt.Sprintf("grpc_send_timeout %ss;", proxyTimeout)) &&
+ strings.Contains(server, fmt.Sprintf("grpc_read_timeout %ss;", proxyTimeout))
+ })
+
+ conn, err := grpc.NewClient(
+ f.GetNginxIP()+":80",
+ grpc.WithTransportCredentials(insecure.NewCredentials()),
+ grpc.WithAuthority(host),
+ )
+ assert.Nil(ginkgo.GinkgoT(), err, "error creating a connection")
+ defer conn.Close()
+
+ client := delaypb.NewGrpcbinServiceClient(conn)
+
+ res, err := client.Unary(context.Background(), &delaypb.UnaryRequest{
+ Data: "hello",
+ })
+ assert.Nil(ginkgo.GinkgoT(), err)
+
+ metadata := res.GetResponseAttributes().RequestHeaders
+ assert.Equal(ginkgo.GinkgoT(), metadata["content-type"], "application/grpc")
+ assert.Equal(ginkgo.GinkgoT(), metadata[":authority"], host)
+ })
+
+ ginkgo.It("should return Error when request exceed timeout", func() {
+ f.NewGRPCBinDelayDeployment()
+
+ proxyTimeout := "10"
+ ingressName := "grpcbin-delay"
+
+ annotations := make(map[string]string)
+ annotations["nginx.ingress.kubernetes.io/backend-protocol"] = "GRPC"
+ annotations["nginx.ingress.kubernetes.io/proxy-connect-timeout"] = proxyTimeout
+ annotations["nginx.ingress.kubernetes.io/proxy-send-timeout"] = proxyTimeout
+ annotations["nginx.ingress.kubernetes.io/proxy-read-timeout"] = proxyTimeout
+
+ ing := framework.NewSingleIngress(host, "/", host, f.Namespace, ingressName, 50051, annotations)
+
+ f.EnsureIngress(ing)
+
+ f.WaitForNginxServer(host,
+ func(server string) bool {
+ return strings.Contains(server, fmt.Sprintf("grpc_connect_timeout %ss;", proxyTimeout)) &&
+ strings.Contains(server, fmt.Sprintf("grpc_send_timeout %ss;", proxyTimeout)) &&
+ strings.Contains(server, fmt.Sprintf("grpc_read_timeout %ss;", proxyTimeout))
+ })
+
+ conn, err := grpc.NewClient(
+ f.GetNginxIP()+":80",
+ grpc.WithTransportCredentials(insecure.NewCredentials()),
+ grpc.WithAuthority(host),
+ )
+ assert.Nil(ginkgo.GinkgoT(), err, "error creating a connection")
+ defer conn.Close()
+
+ client := delaypb.NewGrpcbinServiceClient(conn)
+
+ _, err = client.Unary(context.Background(), &delaypb.UnaryRequest{
+ Data: "hello",
+ RequestAttributes: &delaypb.RequestAttributes{
+ Delay: 15,
+ },
+ })
+ assert.Error(ginkgo.GinkgoT(), err)
+ })
})
diff --git a/test/e2e/annotations/proxyssl.go b/test/e2e/annotations/proxyssl.go
index 989d681c1..898cbed48 100644
--- a/test/e2e/annotations/proxyssl.go
+++ b/test/e2e/annotations/proxyssl.go
@@ -47,7 +47,7 @@ var _ = framework.DescribeAnnotation("proxy-ssl-*", func() {
ing := framework.NewSingleIngressWithTLS(host, "/", host, []string{host}, f.Namespace, framework.EchoService, 80, annotations)
f.EnsureIngress(ing)
- assertProxySSL(f, host, "", "DEFAULT", "TLSv1 TLSv1.1 TLSv1.2", "off", 1, "")
+ assertProxySSL(f, host, "", "DEFAULT", "TLSv1.2", "off", 1, "")
f.HTTPTestClient().
GET("/").
@@ -77,7 +77,7 @@ var _ = framework.DescribeAnnotation("proxy-ssl-*", func() {
ing := framework.NewSingleIngressWithTLS(host, "/", host, []string{host}, f.Namespace, framework.EchoService, 80, annotations)
f.EnsureIngress(ing)
- assertProxySSL(f, host, "", "DEFAULT", "TLSv1 TLSv1.1 TLSv1.2", "on", 2, "on")
+ assertProxySSL(f, host, "", "DEFAULT", "TLSv1.2", "on", 2, "on")
f.HTTPTestClient().
GET("/").
@@ -105,7 +105,7 @@ var _ = framework.DescribeAnnotation("proxy-ssl-*", func() {
ing := framework.NewSingleIngressWithTLS(host, "/", host, []string{host}, f.Namespace, framework.EchoService, 80, annotations)
f.EnsureIngress(ing)
- assertProxySSL(f, host, "", "HIGH:!AES", "TLSv1 TLSv1.1 TLSv1.2", "off", 1, "")
+ assertProxySSL(f, host, "", "HIGH:!AES", "TLSv1.2", "off", 1, "")
f.HTTPTestClient().
GET("/").
@@ -171,7 +171,7 @@ var _ = framework.DescribeAnnotation("proxy-ssl-*", func() {
wlValue := "true"
f.UpdateNginxConfigMapData(wlKey, wlValue)
- assertProxySSL(f, host, secretName, "DEFAULT", "TLSv1 TLSv1.1 TLSv1.2", "on", 1, "on")
+ assertProxySSL(f, host, secretName, "DEFAULT", "TLSv1.2", "on", 1, "on")
f.WaitForNginxCustomConfiguration("## start server proxyssl.com", "location ", func(server string) bool {
return (!strings.Contains(server, "proxy_ssl_trusted_certificate") &&
diff --git a/test/e2e/cgroups/cgroups.go b/test/e2e/cgroups/cgroups.go
new file mode 100644
index 000000000..eab194324
--- /dev/null
+++ b/test/e2e/cgroups/cgroups.go
@@ -0,0 +1,115 @@
+/*
+Copyright 2020 The Kubernetes Authors.
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+*/
+
+package cgroups
+
+import (
+ "log"
+ "os"
+ "path/filepath"
+
+ "github.com/onsi/ginkgo/v2"
+ "github.com/stretchr/testify/assert"
+
+ "k8s.io/ingress-nginx/test/e2e/framework"
+
+ "k8s.io/ingress-nginx/pkg/util/runtime"
+)
+
+var _ = framework.IngressNginxDescribeSerial("[CGroups] cgroups", func() {
+ f := framework.NewDefaultFramework("cgroups")
+
+ ginkgo.BeforeEach(func() {
+ f.NewEchoDeployment()
+ f.NewSlowEchoDeployment()
+ })
+
+ ginkgo.It("detects cgroups version v1", func() {
+ cgroupPath := "/testing/sys/fs/cgroup/"
+ if err := os.MkdirAll(cgroupPath, os.ModePerm); err != nil {
+ log.Fatal(err)
+ }
+
+ quotaFile, err := os.Create(filepath.Join(cgroupPath, "cpu.cfs_quota_us"))
+ if err != nil {
+ log.Fatal(err)
+ }
+
+ periodFile, err := os.Create(filepath.Join(cgroupPath, "cpu.cfs_period_us"))
+ if err != nil {
+ log.Fatal(err)
+ }
+
+ _, err = quotaFile.WriteString("4")
+ if err != nil {
+ log.Fatal(err)
+ }
+
+ err = quotaFile.Sync()
+ if err != nil {
+ log.Fatal(err)
+ }
+
+ _, err = periodFile.WriteString("2")
+ if err != nil {
+ log.Fatal(err)
+ }
+
+ err = periodFile.Sync()
+ if err != nil {
+ log.Fatal(err)
+ }
+
+ assert.Equal(ginkgo.GinkgoT(), runtime.GetCgroupVersion(cgroupPath), int64(1))
+ assert.Equal(ginkgo.GinkgoT(), runtime.NumCPUWithCustomPath(cgroupPath), 2)
+
+ os.Remove(filepath.Join(cgroupPath, "cpu.cfs_quota_us"))
+ os.Remove(filepath.Join(cgroupPath, "cpu.cfs_period_us"))
+ })
+
+ ginkgo.It("detect cgroups version v2", func() {
+ cgroupPath := "/testing/sys/fs/cgroup/"
+ if err := os.MkdirAll(cgroupPath, os.ModePerm); err != nil {
+ log.Fatal(err)
+ }
+
+ _, err := os.Create(filepath.Join(cgroupPath, "cgroup.controllers"))
+ if err != nil {
+ log.Fatal(err)
+ }
+
+ file, err := os.Create(filepath.Join(cgroupPath, "cpu.max"))
+ if err != nil {
+ log.Fatal(err)
+ }
+
+ _, err = file.WriteString("4 2")
+ if err != nil {
+ log.Fatal(err)
+ }
+
+ err = file.Sync()
+ if err != nil {
+ log.Fatal(err)
+ }
+
+ assert.Equal(ginkgo.GinkgoT(), runtime.GetCgroupVersion(cgroupPath), int64(2))
+ assert.Equal(ginkgo.GinkgoT(), runtime.NumCPUWithCustomPath(cgroupPath), 2)
+
+ os.Remove(filepath.Join(cgroupPath, "cpu.max"))
+ os.Remove(filepath.Join(cgroupPath, "cgroup.controllers"))
+ })
+})
diff --git a/test/e2e/e2e.go b/test/e2e/e2e.go
index 9abfe7c2c..9bf005164 100644
--- a/test/e2e/e2e.go
+++ b/test/e2e/e2e.go
@@ -32,6 +32,7 @@ import (
_ "k8s.io/ingress-nginx/test/e2e/admission"
_ "k8s.io/ingress-nginx/test/e2e/annotations"
_ "k8s.io/ingress-nginx/test/e2e/annotations/modsecurity"
+ _ "k8s.io/ingress-nginx/test/e2e/cgroups"
_ "k8s.io/ingress-nginx/test/e2e/dbg"
_ "k8s.io/ingress-nginx/test/e2e/defaultbackend"
_ "k8s.io/ingress-nginx/test/e2e/disableleaderelection"
diff --git a/test/e2e/framework/fastcgi_helloserver.go b/test/e2e/framework/fastcgi_helloserver.go
index 73f9ef340..60482c067 100644
--- a/test/e2e/framework/fastcgi_helloserver.go
+++ b/test/e2e/framework/fastcgi_helloserver.go
@@ -59,7 +59,7 @@ func (f *Framework) NewNewFastCGIHelloServerDeploymentWithReplicas(replicas int3
Containers: []corev1.Container{
{
Name: "fastcgi-helloserver",
- Image: "registry.k8s.io/ingress-nginx/e2e-test-fastcgi-helloserver@sha256:0e08c836cc58f1ea862578de99b13bc4264fe071e816f96dc1d79857bfba7473",
+ Image: "registry.k8s.io/ingress-nginx/fastcgi-helloserver:v1.0.1@sha256:bfcce5866d106450f41af15af868886c953c3661373f34aa6d99bcc6f44c6ba6",
Env: []corev1.EnvVar{},
Ports: []corev1.ContainerPort{
{
diff --git a/test/e2e/framework/grpc_delay.go b/test/e2e/framework/grpc_delay.go
new file mode 100644
index 000000000..58d10b2e9
--- /dev/null
+++ b/test/e2e/framework/grpc_delay.go
@@ -0,0 +1,109 @@
+/*
+Copyright 2024 The Kubernetes Authors.
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+*/
+
+package framework
+
+import (
+ "github.com/onsi/ginkgo/v2"
+ "github.com/stretchr/testify/assert"
+ appsv1 "k8s.io/api/apps/v1"
+ corev1 "k8s.io/api/core/v1"
+ metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
+ "k8s.io/apimachinery/pkg/fields"
+ "k8s.io/apimachinery/pkg/util/intstr"
+)
+
+// NewGRPCBinDelayDeployment creates a new single replica
+// deployment of the grpcbin image in a particular namespace
+func (f *Framework) NewGRPCBinDelayDeployment() {
+ f.NewNewGRPCBinDelayDeploymentWithReplicas(1)
+}
+
+// NewNewGRPCBinDelayDeploymentWithReplicas creates a new deployment of the
+// grpcbin image in a particular namespace. Number of replicas is configurable
+func (f *Framework) NewNewGRPCBinDelayDeploymentWithReplicas(replicas int32) {
+ name := "grpcbin-delay"
+
+ deployment := &appsv1.Deployment{
+ ObjectMeta: metav1.ObjectMeta{
+ Name: name,
+ Namespace: f.Namespace,
+ },
+ Spec: appsv1.DeploymentSpec{
+ Replicas: NewInt32(replicas),
+ Selector: &metav1.LabelSelector{
+ MatchLabels: map[string]string{
+ "app": name,
+ },
+ },
+ Template: corev1.PodTemplateSpec{
+ ObjectMeta: metav1.ObjectMeta{
+ Labels: map[string]string{
+ "app": name,
+ },
+ },
+ Spec: corev1.PodSpec{
+ TerminationGracePeriodSeconds: NewInt64(0),
+ Containers: []corev1.Container{
+ {
+ Name: name,
+ Image: "ghcr.io/anddd7/grpcbin:v1.0.6",
+ Env: []corev1.EnvVar{},
+ Ports: []corev1.ContainerPort{
+ {
+ Name: "grpc",
+ ContainerPort: 50051,
+ },
+ },
+ },
+ },
+ },
+ },
+ },
+ }
+
+ d := f.EnsureDeployment(deployment)
+
+ err := waitForPodsReady(f.KubeClientSet, DefaultTimeout, int(replicas), f.Namespace, &metav1.ListOptions{
+ LabelSelector: fields.SelectorFromSet(fields.Set(d.Spec.Template.ObjectMeta.Labels)).String(),
+ })
+ assert.Nil(ginkgo.GinkgoT(), err, "failed to wait for to become ready")
+
+ service := &corev1.Service{
+ ObjectMeta: metav1.ObjectMeta{
+ Name: name,
+ Namespace: f.Namespace,
+ },
+ Spec: corev1.ServiceSpec{
+ Ports: []corev1.ServicePort{
+ {
+ Name: "grpc",
+ Port: 50051,
+ TargetPort: intstr.FromInt(50051),
+ Protocol: "TCP",
+ },
+ },
+ Selector: map[string]string{
+ "app": name,
+ },
+ },
+ }
+
+ f.EnsureService(service)
+
+ err = WaitForEndpoints(f.KubeClientSet, DefaultTimeout, name, f.Namespace, int(replicas))
+ assert.Nil(ginkgo.GinkgoT(), err, "waiting for endpoints to become ready")
+}
diff --git a/test/e2e/ingress/pathtype_prefix.go b/test/e2e/ingress/pathtype_prefix.go
index fa664ce27..ce11ca8bf 100644
--- a/test/e2e/ingress/pathtype_prefix.go
+++ b/test/e2e/ingress/pathtype_prefix.go
@@ -68,4 +68,138 @@ var _ = framework.IngressNginxDescribe("[Ingress] [PathType] prefix checks", fun
Expect().
Status(http.StatusOK)
})
+
+ ginkgo.It("should test prefix path using simple regex pattern for /id/{int}", func() {
+ host := "echo.com.br"
+
+ annotations := map[string]string{
+ "nginx.ingress.kubernetes.io/use-regex": `true`,
+ }
+
+ ing := framework.NewSingleIngress(host, "/id/[0-9]+", host, f.Namespace, framework.EchoService, 80, annotations)
+ f.EnsureIngress(ing)
+
+ f.HTTPTestClient().
+ GET("/id/1").
+ WithHeader("Host", host).
+ Expect().
+ Status(http.StatusOK)
+
+ f.HTTPTestClient().
+ GET("/id/12").
+ WithHeader("Host", host).
+ Expect().
+ Status(http.StatusOK)
+
+ f.HTTPTestClient().
+ GET("/id/123").
+ WithHeader("Host", host).
+ Expect().
+ Status(http.StatusOK)
+
+ f.HTTPTestClient().
+ GET("/id/aaa").
+ WithHeader("Host", host).
+ Expect().
+ Status(http.StatusNotFound)
+
+ f.HTTPTestClient().
+ GET("/id/123a").
+ WithHeader("Host", host).
+ Expect().
+ Status(http.StatusOK)
+ })
+
+ ginkgo.It("should test prefix path using regex pattern for /id/{int} ignoring non-digits characters at end of string", func() {
+ host := "echo.regex.br"
+
+ annotations := map[string]string{
+ "nginx.ingress.kubernetes.io/use-regex": `true`,
+ }
+
+ ing := framework.NewSingleIngress(host, "/id/[0-9]+$", host, f.Namespace, framework.EchoService, 80, annotations)
+ f.EnsureIngress(ing)
+
+ f.HTTPTestClient().
+ GET("/id/1").
+ WithHeader("Host", host).
+ Expect().
+ Status(http.StatusOK)
+
+ f.HTTPTestClient().
+ GET("/id/aaa").
+ WithHeader("Host", host).
+ Expect().
+ Status(http.StatusNotFound)
+
+ f.HTTPTestClient().
+ GET("/id/123a").
+ WithHeader("Host", host).
+ Expect().
+ Status(http.StatusNotFound)
+ })
+
+ ginkgo.It("should test prefix path using fixed path size regex pattern /id/{int}{3}", func() {
+ host := "echo.regex.size.br"
+
+ annotations := map[string]string{
+ "nginx.ingress.kubernetes.io/use-regex": `true`,
+ }
+
+ ing := framework.NewSingleIngress(host, "/id/[0-9]{3}$", host, f.Namespace, framework.EchoService, 80, annotations)
+ f.EnsureIngress(ing)
+
+ f.HTTPTestClient().
+ GET("/id/99").
+ WithHeader("Host", host).
+ Expect().
+ Status(http.StatusNotFound)
+
+ f.HTTPTestClient().
+ GET("/id/123").
+ WithHeader("Host", host).
+ Expect().
+ Status(http.StatusOK)
+
+ f.HTTPTestClient().
+ GET("/id/9999").
+ WithHeader("Host", host).
+ Expect().
+ Status(http.StatusNotFound)
+
+ f.HTTPTestClient().
+ GET("/id/123a").
+ WithHeader("Host", host).
+ Expect().
+ Status(http.StatusNotFound)
+ })
+
+ ginkgo.It("should correctly route multi-segment path patterns", func() {
+ host := "echo.multi.segment.br"
+
+ annotations := map[string]string{
+ "nginx.ingress.kubernetes.io/use-regex": `true`,
+ }
+
+ ing := framework.NewSingleIngress(host, "/id/[0-9]+/post/[a-zA-Z]+$", host, f.Namespace, framework.EchoService, 80, annotations)
+ f.EnsureIngress(ing)
+
+ f.HTTPTestClient().
+ GET("/id/123/post/abc").
+ WithHeader("Host", host).
+ Expect().
+ Status(http.StatusOK)
+
+ f.HTTPTestClient().
+ GET("/id/123/post/abc123").
+ WithHeader("Host", host).
+ Expect().
+ Status(http.StatusNotFound)
+
+ f.HTTPTestClient().
+ GET("/id/abc/post/abc").
+ WithHeader("Host", host).
+ Expect().
+ Status(http.StatusNotFound)
+ })
})
diff --git a/test/e2e/run-chart-test.sh b/test/e2e/run-chart-test.sh
index 05f199cb2..7d388c215 100755
--- a/test/e2e/run-chart-test.sh
+++ b/test/e2e/run-chart-test.sh
@@ -62,7 +62,7 @@ export KUBECONFIG="${KUBECONFIG:-$HOME/.kube/kind-config-$KIND_CLUSTER_NAME}"
if [ "${SKIP_CLUSTER_CREATION:-false}" = "false" ]; then
echo "[dev-env] creating Kubernetes cluster with kind"
- export K8S_VERSION=${K8S_VERSION:-v1.26.3@sha256:61b92f38dff6ccc29969e7aa154d34e38b89443af1a2c14e6cfbd2df6419c66f}
+ export K8S_VERSION=${K8S_VERSION:-v1.29.2@sha256:51a1434a5397193442f0be2a297b488b6c919ce8a3931be0ce822606ea5ca245}
kind create cluster \
--verbosity=${KIND_LOG_LEVEL} \
@@ -78,7 +78,7 @@ fi
if [ "${SKIP_IMAGE_CREATION:-false}" = "false" ]; then
if ! command -v ginkgo &> /dev/null; then
- go install github.com/onsi/ginkgo/v2/ginkgo@v2.15.0
+ go install github.com/onsi/ginkgo/v2/ginkgo@v2.20.0
fi
echo "[dev-env] building image"
make -C ${DIR}/../../ clean-image build image
@@ -109,7 +109,7 @@ docker run --rm --interactive --network host \
--volume $KUBECONFIG:/root/.kube/config \
--volume "${DIR}/../../":/workdir \
--workdir /workdir \
- registry.k8s.io/ingress-nginx/e2e-test-runner:v20240126-760bf8eb@sha256:5e676bf2e5d5d035adfc6e093abee040af08327011e72fef640fa20da73cea2e \
+ registry.k8s.io/ingress-nginx/e2e-test-runner:v20240812-3f0129aa@sha256:95c2aaf2a66e8cbbf7a7453046f3b024383c273a0988efab841cd96116afd1a9 \
ct install \
--charts charts/ingress-nginx \
--helm-extra-args "--timeout 60s"
diff --git a/test/e2e/run-kind-e2e.sh b/test/e2e/run-kind-e2e.sh
index 5e4afb57d..ab2cb2dd7 100755
--- a/test/e2e/run-kind-e2e.sh
+++ b/test/e2e/run-kind-e2e.sh
@@ -64,7 +64,7 @@ echo "Running e2e with nginx base image ${NGINX_BASE_IMAGE}"
if [ "${SKIP_CLUSTER_CREATION}" = "false" ]; then
echo "[dev-env] creating Kubernetes cluster with kind"
- export K8S_VERSION=${K8S_VERSION:-v1.26.3@sha256:61b92f38dff6ccc29969e7aa154d34e38b89443af1a2c14e6cfbd2df6419c66f}
+ export K8S_VERSION=${K8S_VERSION:-v1.29.2@sha256:51a1434a5397193442f0be2a297b488b6c919ce8a3931be0ce822606ea5ca245}
# delete the cluster if it exists
if kind get clusters | grep "${KIND_CLUSTER_NAME}"; then
@@ -96,7 +96,7 @@ fi
if [ "${SKIP_E2E_IMAGE_CREATION}" = "false" ]; then
if ! command -v ginkgo &> /dev/null; then
- go install github.com/onsi/ginkgo/v2/ginkgo@v2.15.0
+ go install github.com/onsi/ginkgo/v2/ginkgo@v2.20.0
fi
echo "[dev-env] .. done building controller images"
diff --git a/test/e2e/settings/grpc.go b/test/e2e/settings/grpc.go
new file mode 100644
index 000000000..ae3175034
--- /dev/null
+++ b/test/e2e/settings/grpc.go
@@ -0,0 +1,110 @@
+/*
+Copyright 2024 The Kubernetes Authors.
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+*/
+
+package settings
+
+import (
+ "context"
+ "crypto/tls"
+ "fmt"
+ "strings"
+
+ pb "github.com/moul/pb/grpcbin/go-grpc"
+ "github.com/onsi/ginkgo/v2"
+ "github.com/stretchr/testify/assert"
+ "google.golang.org/grpc"
+ "google.golang.org/grpc/credentials"
+ corev1 "k8s.io/api/core/v1"
+ metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
+ "k8s.io/apimachinery/pkg/util/intstr"
+
+ "k8s.io/ingress-nginx/test/e2e/framework"
+)
+
+const echoHost = "echo"
+
+var _ = framework.DescribeSetting("GRPC", func() {
+ f := framework.NewDefaultFramework("grpc-buffersize", framework.WithHTTPBunEnabled())
+
+ ginkgo.It("should set the correct GRPC Buffer Size", func() {
+ f.SetNginxConfigMapData(map[string]string{
+ "grpc-buffer-size-kb": "8",
+ })
+
+ f.WaitForNginxConfiguration(
+ func(cfg string) bool {
+ return strings.Contains(cfg, "grpc_buffer_size 8k")
+ })
+
+ f.NewGRPCBinDeployment()
+
+ host := echoHost
+
+ svc := &corev1.Service{
+ ObjectMeta: metav1.ObjectMeta{
+ Name: "grpcbin-test",
+ Namespace: f.Namespace,
+ },
+ Spec: corev1.ServiceSpec{
+ ExternalName: fmt.Sprintf("grpcbin.%v.svc.cluster.local", f.Namespace),
+ Type: corev1.ServiceTypeExternalName,
+ Ports: []corev1.ServicePort{
+ {
+ Name: host,
+ Port: 9000,
+ TargetPort: intstr.FromInt(9000),
+ Protocol: "TCP",
+ },
+ },
+ },
+ }
+ f.EnsureService(svc)
+
+ annotations := map[string]string{
+ "nginx.ingress.kubernetes.io/backend-protocol": "GRPC",
+ }
+
+ ing := framework.NewSingleIngressWithTLS(host, "/", host, []string{host}, f.Namespace, "grpcbin-test", 9000, annotations)
+
+ f.EnsureIngress(ing)
+
+ f.WaitForNginxServer(host,
+ func(server string) bool {
+ return strings.Contains(server, "grpc_pass grpc://upstream_balancer;")
+ })
+
+ conn, err := grpc.NewClient(f.GetNginxIP()+":443",
+ grpc.WithTransportCredentials(
+ credentials.NewTLS(&tls.Config{
+ ServerName: echoHost,
+ InsecureSkipVerify: true, //nolint:gosec // Ignore certificate validation in testing
+ }),
+ ),
+ )
+ assert.Nil(ginkgo.GinkgoT(), err, "error creating a connection")
+ defer conn.Close()
+
+ client := pb.NewGRPCBinClient(conn)
+ ctx := context.Background()
+
+ res, err := client.HeadersUnary(ctx, &pb.EmptyMessage{})
+ assert.Nil(ginkgo.GinkgoT(), err)
+
+ metadata := res.GetMetadata()
+ assert.Equal(ginkgo.GinkgoT(), metadata["content-type"].Values[0], "application/grpc")
+ assert.Equal(ginkgo.GinkgoT(), metadata[":authority"].Values[0], host)
+ })
+})
diff --git a/test/e2e/settings/ocsp/ocsp.go b/test/e2e/settings/ocsp/ocsp.go
index f6f106b06..ef3bfb58a 100644
--- a/test/e2e/settings/ocsp/ocsp.go
+++ b/test/e2e/settings/ocsp/ocsp.go
@@ -47,12 +47,15 @@ var _ = framework.DescribeSetting("OCSP", func() {
})
ginkgo.It("should enable OCSP and contain stapling information in the connection", func() {
- ginkgo.Skip("Skipped due to a bug with cfssl and Alpine")
host := "www.example.com"
f.UpdateNginxConfigMapData("enable-ocsp", "true")
err := prepareCertificates(f.Namespace)
+ if err != nil {
+ ginkgo.By(fmt.Sprintf("Prepare Certs error %v", err.Error()))
+ }
+
assert.Nil(ginkgo.GinkgoT(), err)
ing := framework.NewSingleIngressWithTLS(host, "/", host, []string{host}, f.Namespace, framework.EchoService, 80, nil)
@@ -292,7 +295,7 @@ func ocspserveDeployment(namespace string) (*appsv1.Deployment, *corev1.Service)
Containers: []corev1.Container{
{
Name: name,
- Image: "registry.k8s.io/ingress-nginx/e2e-test-cfssl@sha256:48869cf72b0ceb1d8c82029f85961e423daf3ff8a04f4a455150000f90a90606",
+ Image: "registry.k8s.io/ingress-nginx/cfssl:v1.0.0@sha256:fffd36e2f1c8fd485ec6fd24c6d55f0817b54352274293d2a247b8a0d924c5b0",
Command: []string{
"/bin/bash",
"-c",
diff --git a/test/e2e/settings/plugins.go b/test/e2e/settings/plugins.go
deleted file mode 100644
index 659acd42c..000000000
--- a/test/e2e/settings/plugins.go
+++ /dev/null
@@ -1,55 +0,0 @@
-/*
-Copyright 2020 The Kubernetes Authors.
-
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-*/
-
-package settings
-
-import (
- "fmt"
- "net/http"
- "strings"
-
- "github.com/onsi/ginkgo/v2"
- "k8s.io/ingress-nginx/test/e2e/framework"
-)
-
-var _ = framework.IngressNginxDescribe("plugins", func() {
- f := framework.NewDefaultFramework("plugins")
-
- ginkgo.BeforeEach(func() {
- f.NewEchoDeployment()
- })
-
- ginkgo.It("should exist a x-hello-world header", func() {
- f.UpdateNginxConfigMapData("plugins", "hello_world, invalid")
-
- host := "example.com"
- f.EnsureIngress(framework.NewSingleIngress(host, "/", host, f.Namespace, framework.EchoService, 80, nil))
-
- f.WaitForNginxConfiguration(
- func(server string) bool {
- return strings.Contains(server, fmt.Sprintf("server_name %v", host)) &&
- strings.Contains(server, `plugins.init({ "hello_world","invalid" })`)
- })
-
- f.HTTPTestClient().
- GET("/").
- WithHeader("Host", host).
- WithHeader("User-Agent", "hello").
- Expect().
- Status(http.StatusOK).
- Body().Contains("x-hello-world=1")
- })
-})
diff --git a/test/test-lua.sh b/test/test-lua.sh
index fc60023f8..1aff5f30c 100755
--- a/test/test-lua.sh
+++ b/test/test-lua.sh
@@ -41,7 +41,7 @@ SHDICT_ARGS=(
)
if [ $# -eq 0 ]; then
- resty "${SHDICT_ARGS[@]}" ./rootfs/etc/nginx/lua/test/ ./rootfs/etc/nginx/lua/plugins/**/test ${BUSTED_ARGS}
+ resty "${SHDICT_ARGS[@]}" ./rootfs/etc/nginx/lua/test/ ${BUSTED_ARGS}
else
resty "${SHDICT_ARGS[@]}" $@ ${BUSTED_ARGS}
fi