From 71f78d49f0a496c31d4c19f095469f3f23900f8a Mon Sep 17 00:00:00 2001
From: Ricardo Katz
Date: Wed, 28 Feb 2024 18:13:08 -0300
Subject: [PATCH 001/265] Start the release of v1.10.0 (#11038)
---
TAG | 1 +
1 file changed, 1 insertion(+)
create mode 100644 TAG
diff --git a/TAG b/TAG
new file mode 100644
index 000000000..bf7b70e00
--- /dev/null
+++ b/TAG
@@ -0,0 +1 @@
+v1.10.0
From 8d3d4a33bf940d781e0dc96a590a866a0d990bf8 Mon Sep 17 00:00:00 2001
From: Marco Ebert
Date: Mon, 11 Mar 2024 22:30:46 +0100
Subject: [PATCH 002/265] Chores: Pick patches from main. (#11103)
* Release version v1.10.0
* set deploy url to v1-10-0 in docs
* quotes around numbers fort ports definitions
* Bump dorny/paths-filter from 3.0.1 to 3.0.2
Bumps [dorny/paths-filter](https://github.com/dorny/paths-filter) from 3.0.1 to 3.0.2.
- [Release notes](https://github.com/dorny/paths-filter/releases)
- [Changelog](https://github.com/dorny/paths-filter/blob/master/CHANGELOG.md)
- [Commits](https://github.com/dorny/paths-filter/compare/ebc4d7e9ebcb0b1eb21480bb8f43113e996ac77a...de90cc6fb38fc0963ad72b210f1f284cd68cea36)
---
updated-dependencies:
- dependency-name: dorny/paths-filter
dependency-type: direct:production
update-type: version-update:semver-patch
...
* Bump aquasecurity/trivy-action from 0.17.0 to 0.18.0
Bumps [aquasecurity/trivy-action](https://github.com/aquasecurity/trivy-action) from 0.17.0 to 0.18.0.
- [Release notes](https://github.com/aquasecurity/trivy-action/releases)
- [Commits](https://github.com/aquasecurity/trivy-action/compare/84384bd6e777ef152729993b8145ea352e9dd3ef...062f2592684a31eb3aa050cc61e7ca1451cecd3d)
---
updated-dependencies:
- dependency-name: aquasecurity/trivy-action
dependency-type: direct:production
update-type: version-update:semver-minor
...
* Bump github/codeql-action from 3.24.5 to 3.24.6
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3.24.5 to 3.24.6.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/github/codeql-action/compare/47b3d888fe66b639e431abf22ebca059152f1eea...8a470fddafa5cbb6266ee11b37ef4d8aae19c571)
---
updated-dependencies:
- dependency-name: github/codeql-action
dependency-type: direct:production
update-type: version-update:semver-patch
...
* Bump github.com/prometheus/common from 0.48.0 to 0.49.0
Bumps [github.com/prometheus/common](https://github.com/prometheus/common) from 0.48.0 to 0.49.0.
- [Release notes](https://github.com/prometheus/common/releases)
- [Commits](https://github.com/prometheus/common/compare/v0.48.0...v0.49.0)
---
updated-dependencies:
- dependency-name: github.com/prometheus/common
dependency-type: direct:production
update-type: version-update:semver-minor
...
* Bump docker/setup-buildx-action from 3.0.0 to 3.1.0
Bumps [docker/setup-buildx-action](https://github.com/docker/setup-buildx-action) from 3.0.0 to 3.1.0.
- [Release notes](https://github.com/docker/setup-buildx-action/releases)
- [Commits](https://github.com/docker/setup-buildx-action/compare/f95db51fddba0c2d1ec667646a06c2ce06100226...0d103c3126aa41d772a8362f6aa67afac040f80c)
---
updated-dependencies:
- dependency-name: docker/setup-buildx-action
dependency-type: direct:production
update-type: version-update:semver-minor
...
* Bump github.com/stretchr/testify from 1.8.4 to 1.9.0
Bumps [github.com/stretchr/testify](https://github.com/stretchr/testify) from 1.8.4 to 1.9.0.
- [Release notes](https://github.com/stretchr/testify/releases)
- [Commits](https://github.com/stretchr/testify/compare/v1.8.4...v1.9.0)
---
updated-dependencies:
- dependency-name: github.com/stretchr/testify
dependency-type: direct:production
update-type: version-update:semver-minor
...
* Bump actions/download-artifact from 4.1.2 to 4.1.4
Bumps [actions/download-artifact](https://github.com/actions/download-artifact) from 4.1.2 to 4.1.4.
- [Release notes](https://github.com/actions/download-artifact/releases)
- [Commits](https://github.com/actions/download-artifact/compare/eaceaf801fd36c7dee90939fad912460b18a1ffe...c850b930e6ba138125429b7e5c93fc707a7f8427)
---
updated-dependencies:
- dependency-name: actions/download-artifact
dependency-type: direct:production
update-type: version-update:semver-patch
...
* Update README.md
remove older version, left latest for release train.
* docs: update the 404 link to FAQ
* bump golang
* golangci-lint update, ci cleanup, group dependabot updates
* bump golangci-lint to v1.56.x
* cleanup empty lines
* group dependabot updates
* run on job changes as well
* remove deprecated checks
* fix lints and format
* Bump github.com/prometheus/common from 0.49.0 to 0.50.0
Bumps [github.com/prometheus/common](https://github.com/prometheus/common) from 0.49.0 to 0.50.0.
- [Release notes](https://github.com/prometheus/common/releases)
- [Commits](https://github.com/prometheus/common/compare/v0.49.0...v0.50.0)
---
updated-dependencies:
- dependency-name: github.com/prometheus/common
dependency-type: direct:production
update-type: version-update:semver-minor
...
* Bump the all group with 1 update
Bumps the all group with 1 update: [google.golang.org/grpc](https://github.com/grpc/grpc-go).
Updates `google.golang.org/grpc` from 1.62.0 to 1.62.1
- [Release notes](https://github.com/grpc/grpc-go/releases)
- [Commits](https://github.com/grpc/grpc-go/compare/v1.62.0...v1.62.1)
---
updated-dependencies:
- dependency-name: google.golang.org/grpc
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: all
...
* Bump the all group with 1 update
Bumps the all group with 1 update: [actions/add-to-project](https://github.com/actions/add-to-project).
Updates `actions/add-to-project` from 0.5.0 to 0.6.0
- [Release notes](https://github.com/actions/add-to-project/releases)
- [Commits](https://github.com/actions/add-to-project/compare/31b3f3ccdc584546fc445612dec3f38ff5edb41c...0609a2702eefb44781da00f8e04901d6e5cd2b92)
---
updated-dependencies:
- dependency-name: actions/add-to-project
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: all
...
* Bump github.com/onsi/ginkgo/v2 from 2.15.0 to 2.16.0
Bumps [github.com/onsi/ginkgo/v2](https://github.com/onsi/ginkgo) from 2.15.0 to 2.16.0.
- [Release notes](https://github.com/onsi/ginkgo/releases)
- [Changelog](https://github.com/onsi/ginkgo/blob/master/CHANGELOG.md)
- [Commits](https://github.com/onsi/ginkgo/compare/v2.15.0...v2.16.0)
---
updated-dependencies:
- dependency-name: github.com/onsi/ginkgo/v2
dependency-type: direct:production
update-type: version-update:semver-minor
...
---------
Co-authored-by: Ricardo Katz
Co-authored-by: longwuyuan
Co-authored-by: Bartosz Fenski
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: James Strong
Co-authored-by: Grinish
Co-authored-by: Carlos Tadeu Panato Junior
---
.github/actions/mkdocs/Dockerfile | 2 +-
.github/dependabot.yml | 14 ++++
.github/workflows/ci.yaml | 18 ++---
.github/workflows/docs.yaml | 2 +-
.github/workflows/golangci-lint.yml | 11 ++-
.github/workflows/helm.yaml | 2 +-
.github/workflows/images.yaml | 9 +--
.github/workflows/plugin.yaml | 2 +-
.github/workflows/project.yml | 2 +-
.github/workflows/scorecards.yml | 2 +-
.github/workflows/vulnerability-scans.yaml | 4 +-
.github/workflows/zz-tmpl-images.yaml | 2 +-
.github/workflows/zz-tmpl-k8s-e2e.yaml | 2 +-
.golangci.yml | 2 -
GOLANG_VERSION | 2 +-
README.md | 14 ++--
changelog/controller-1.10.0.md | 68 +++++++++++++++++++
charts/ingress-nginx/Chart.yaml | 7 +-
charts/ingress-nginx/README.md | 6 +-
.../changelog/helm-chart-4.10.0.md | 9 +++
charts/ingress-nginx/values.yaml | 8 +--
cmd/dbg/main.go | 12 ++--
cmd/nginx/main.go | 5 +-
cmd/plugin/commands/backends/backends.go | 2 +-
cmd/plugin/commands/certs/certs.go | 2 +-
cmd/plugin/commands/conf/conf.go | 2 +-
cmd/plugin/commands/exec/exec.go | 2 +-
cmd/plugin/commands/general/general.go | 2 +-
cmd/plugin/commands/info/info.go | 2 +-
cmd/plugin/commands/ingresses/ingresses.go | 10 +--
cmd/plugin/commands/lint/main.go | 4 +-
cmd/plugin/commands/logs/logs.go | 2 +-
cmd/plugin/commands/ssh/ssh.go | 2 +-
deploy/static/provider/aws/deploy.yaml | 49 ++++++-------
.../aws/nlb-with-tls-termination/deploy.yaml | 49 ++++++-------
deploy/static/provider/baremetal/deploy.yaml | 49 ++++++-------
deploy/static/provider/cloud/deploy.yaml | 49 ++++++-------
deploy/static/provider/do/deploy.yaml | 49 ++++++-------
deploy/static/provider/exoscale/deploy.yaml | 49 ++++++-------
deploy/static/provider/kind/deploy.yaml | 49 ++++++-------
deploy/static/provider/oracle/deploy.yaml | 49 ++++++-------
deploy/static/provider/scw/deploy.yaml | 49 ++++++-------
docs/deploy/index.md | 20 +++---
docs/e2e-tests.md | 35 +++-------
docs/examples/rewrite/README.md | 2 +-
go.mod | 22 +++---
go.sum | 49 ++++++-------
images/opentelemetry/rootfs/init_module.go | 1 -
internal/ingress/annotations/authreq/main.go | 4 +-
internal/ingress/annotations/canary/main.go | 4 +-
.../annotations/parser/validators_test.go | 2 +-
internal/ingress/controller/checker_test.go | 2 +-
.../ingress/controller/controller_test.go | 20 +++---
internal/ingress/controller/location.go | 2 +-
internal/ingress/controller/nginx.go | 1 -
internal/ingress/controller/nginx_test.go | 2 +-
internal/ingress/controller/status.go | 2 +-
internal/ingress/controller/store/store.go | 2 +-
.../ingress/controller/template/template.go | 8 +--
.../metric/collectors/admission_test.go | 2 +-
.../metric/collectors/controller_test.go | 2 +-
internal/ingress/metric/collectors/socket.go | 2 +-
.../ingress/metric/collectors/socket_test.go | 3 +-
.../ingress/metric/collectors/testutils.go | 2 +-
internal/net/ssl/ssl.go | 1 -
internal/net/ssl/ssl_test.go | 2 +-
internal/nginx/maxmind.go | 2 +-
magefiles/steps/release.go | 1 -
magefiles/utils/e2edocs.go | 22 +++---
test/e2e/framework/exec.go | 2 +-
test/e2e/framework/framework.go | 6 +-
test/e2e/framework/httpexpect/request.go | 2 +-
test/e2e/tcpudp/tcp.go | 2 +-
73 files changed, 484 insertions(+), 421 deletions(-)
create mode 100644 changelog/controller-1.10.0.md
create mode 100644 charts/ingress-nginx/changelog/helm-chart-4.10.0.md
diff --git a/.github/actions/mkdocs/Dockerfile b/.github/actions/mkdocs/Dockerfile
index 378128978..f00584d32 100644
--- a/.github/actions/mkdocs/Dockerfile
+++ b/.github/actions/mkdocs/Dockerfile
@@ -1,4 +1,4 @@
-FROM squidfunk/mkdocs-material:9.4.5
+FROM squidfunk/mkdocs-material:9.4.5
COPY action.sh /action.sh
diff --git a/.github/dependabot.yml b/.github/dependabot.yml
index 5ad21ca95..69d1ba161 100644
--- a/.github/dependabot.yml
+++ b/.github/dependabot.yml
@@ -9,6 +9,10 @@ updates:
- "area/dependency"
- "release-note-none"
- "ok-to-test"
+ groups:
+ all:
+ update-types:
+ - "patch"
- package-ecosystem: "github-actions"
directory: "/"
schedule:
@@ -17,6 +21,11 @@ updates:
- "area/dependency"
- "release-note-none"
- "ok-to-test"
+ groups:
+ all:
+ update-types:
+ - "minor"
+ - "patch"
- package-ecosystem: "docker"
directory: "/images"
schedule:
@@ -25,3 +34,8 @@ updates:
- "area/dependency"
- "release-note-none"
- "ok-to-test"
+ groups:
+ actions:
+ update-types:
+ - "minor"
+ - "patch"
diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml
index 32915f4c2..266565578 100644
--- a/.github/workflows/ci.yaml
+++ b/.github/workflows/ci.yaml
@@ -49,7 +49,7 @@ jobs:
- name: Checkout
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
- - uses: dorny/paths-filter@ebc4d7e9ebcb0b1eb21480bb8f43113e996ac77a # v3.0.1
+ - uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
id: filter
with:
token: ${{ secrets.GITHUB_TOKEN }}
@@ -78,10 +78,10 @@ jobs:
steps:
- name: Checkout
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
-
+
- name: Get go version
run: echo "GOLANG_VERSION=$(cat GOLANG_VERSION)" >> $GITHUB_ENV
-
+
- name: Set up Go
id: go
uses: actions/setup-go@0c52d547c9bc32b1aa3301fd7a9cb496313a4491 # v5.0.0
@@ -100,13 +100,13 @@ jobs:
golangversion: ${{ steps.golangversion.outputs.version }}
if: |
(needs.changes.outputs.go == 'true') || (needs.changes.outputs.charts == 'true') || (needs.changes.outputs.baseimage == 'true')
-
+
env:
PLATFORMS: linux/amd64
steps:
- name: Checkout
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
-
+
- name: Get go version
id: golangversion
run: |
@@ -124,7 +124,7 @@ jobs:
- name: Set up Docker Buildx
id: buildx
- uses: docker/setup-buildx-action@f95db51fddba0c2d1ec667646a06c2ce06100226 # v3.0.0
+ uses: docker/setup-buildx-action@0d103c3126aa41d772a8362f6aa67afac040f80c # v3.1.0
with:
version: latest
@@ -136,14 +136,14 @@ jobs:
curl -LO https://dl.k8s.io/release/v1.27.3/bin/linux/amd64/kubectl
chmod +x ./kubectl
sudo mv ./kubectl /usr/local/bin/kubectl
-
+
- name: Build NGINX Base image
if: |
needs.changes.outputs.baseimage == 'true'
run: |
export TAG=$(cat images/nginx-1.25/TAG)
cd images/nginx-1.25/rootfs && docker buildx build --platform=${{ env.PLATFORMS }} --load -t registry.k8s.io/ingress-nginx/nginx-1.25:${TAG} .
-
+
- name: Build images
env:
TAG: 1.0.0-dev
@@ -200,7 +200,7 @@ jobs:
helm unittest charts/ingress-nginx -d
- name: cache
- uses: actions/download-artifact@eaceaf801fd36c7dee90939fad912460b18a1ffe # v4.1.2
+ uses: actions/download-artifact@c850b930e6ba138125429b7e5c93fc707a7f8427 # v4.1.4
with:
name: docker.tar.gz
diff --git a/.github/workflows/docs.yaml b/.github/workflows/docs.yaml
index 695ed2124..d37c1f3bf 100644
--- a/.github/workflows/docs.yaml
+++ b/.github/workflows/docs.yaml
@@ -25,7 +25,7 @@ jobs:
- name: Checkout
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
- - uses: dorny/paths-filter@ebc4d7e9ebcb0b1eb21480bb8f43113e996ac77a # v3.0.1
+ - uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
id: filter
with:
token: ${{ secrets.GITHUB_TOKEN }}
diff --git a/.github/workflows/golangci-lint.yml b/.github/workflows/golangci-lint.yml
index f6929e73c..b5ad3c93c 100644
--- a/.github/workflows/golangci-lint.yml
+++ b/.github/workflows/golangci-lint.yml
@@ -2,10 +2,9 @@ name: golangci-lint
on:
pull_request:
- branches:
- - "*"
paths:
- '**/*.go'
+ - '.github/workflows/golangci-lint.yml'
permissions:
contents: read
@@ -17,18 +16,18 @@ jobs:
steps:
- name: Checkout
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
-
+
- name: Get go version
run: echo "GOLANG_VERSION=$(cat GOLANG_VERSION)" >> $GITHUB_ENV
-
+
- name: Set up Go
id: go
uses: actions/setup-go@0c52d547c9bc32b1aa3301fd7a9cb496313a4491 # v5.0.0
with:
go-version: ${{ env.GOLANG_VERSION }}
check-latest: true
-
+
- name: golangci-lint
uses: golangci/golangci-lint-action@3cfe3a4abbb849e10058ce4af15d205b6da42804 # v4.0.0
with:
- version: v1.55.2
+ version: v1.56
diff --git a/.github/workflows/helm.yaml b/.github/workflows/helm.yaml
index 09d70fb7a..1a7eb4334 100644
--- a/.github/workflows/helm.yaml
+++ b/.github/workflows/helm.yaml
@@ -37,7 +37,7 @@ jobs:
run: |
./build/run-in-docker.sh ./hack/verify-chart-lint.sh
- - uses: dorny/paths-filter@ebc4d7e9ebcb0b1eb21480bb8f43113e996ac77a # v3.0.1
+ - uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
id: filter
with:
token: ${{ secrets.GITHUB_TOKEN }}
diff --git a/.github/workflows/images.yaml b/.github/workflows/images.yaml
index d125586e4..5effdee82 100644
--- a/.github/workflows/images.yaml
+++ b/.github/workflows/images.yaml
@@ -42,7 +42,7 @@ jobs:
steps:
- name: Checkout
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
- - uses: dorny/paths-filter@ebc4d7e9ebcb0b1eb21480bb8f43113e996ac77a # v3.0.1
+ - uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
id: filter
with:
token: ${{ secrets.GITHUB_TOKEN }}
@@ -69,7 +69,7 @@ jobs:
- 'images/opentelemetry/**'
nginx125:
- 'images/nginx-1.25/TAG'
-
+
#### TODO: Make the below jobs 'less dumb' and use the job name as parameter (the github.job context does not work here)
cfssl:
needs: changes
@@ -89,7 +89,6 @@ jobs:
name: custom-error-pages
secrets: inherit
-
e2e-test-echo:
needs: changes
if: |
@@ -201,7 +200,7 @@ jobs:
uses: docker/setup-qemu-action@68827325e0b33c7199eb31dd4e31fbe9023e06e3 # v3.0.0
- name: Set up Docker Buildx
id: buildx
- uses: docker/setup-buildx-action@f95db51fddba0c2d1ec667646a06c2ce06100226 # v3.0.0
+ uses: docker/setup-buildx-action@0d103c3126aa41d772a8362f6aa67afac040f80c # v3.1.0
with:
version: latest
platforms: ${{ env.PLATFORMS }}
@@ -214,5 +213,3 @@ jobs:
run: |
export TAG=$(cat images/nginx-1.25/TAG)
cd images/nginx-1.25/rootfs && docker buildx build --platform=${{ env.PLATFORMS }} --push -t ingressnginx/nginx-1.25:${TAG} .
-
-
diff --git a/.github/workflows/plugin.yaml b/.github/workflows/plugin.yaml
index fe99b2444..6f4804d6f 100644
--- a/.github/workflows/plugin.yaml
+++ b/.github/workflows/plugin.yaml
@@ -33,7 +33,7 @@ jobs:
args: release --snapshot --clean
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
-
+
- name: Run GoReleaser
if: ${{ startsWith(github.ref, 'refs/tags/') }}
uses: goreleaser/goreleaser-action@7ec5c2b0c6cdda6e8bbb49444bc797dd33d74dd8 # v5.0.0
diff --git a/.github/workflows/project.yml b/.github/workflows/project.yml
index 95537e16c..2d398e24c 100644
--- a/.github/workflows/project.yml
+++ b/.github/workflows/project.yml
@@ -13,7 +13,7 @@ jobs:
repository-projects: write
issues: write
steps:
- - uses: actions/add-to-project@31b3f3ccdc584546fc445612dec3f38ff5edb41c # v0.5.0
+ - uses: actions/add-to-project@0609a2702eefb44781da00f8e04901d6e5cd2b92 # v0.6.0
with:
project-url: https://github.com/orgs/kubernetes/projects/104
github-token: ${{ secrets.PROJECT_WRITER }}
diff --git a/.github/workflows/scorecards.yml b/.github/workflows/scorecards.yml
index 387849a48..79996ca2f 100644
--- a/.github/workflows/scorecards.yml
+++ b/.github/workflows/scorecards.yml
@@ -59,6 +59,6 @@ jobs:
# Upload the results to GitHub's code scanning dashboard.
- name: "Upload to code-scanning"
- uses: github/codeql-action/upload-sarif@47b3d888fe66b639e431abf22ebca059152f1eea # v3.24.5
+ uses: github/codeql-action/upload-sarif@8a470fddafa5cbb6266ee11b37ef4d8aae19c571 # v3.24.6
with:
sarif_file: results.sarif
diff --git a/.github/workflows/vulnerability-scans.yaml b/.github/workflows/vulnerability-scans.yaml
index 99e9fdfc7..5d37ecbf8 100644
--- a/.github/workflows/vulnerability-scans.yaml
+++ b/.github/workflows/vulnerability-scans.yaml
@@ -60,7 +60,7 @@ jobs:
- name: Scan image with AquaSec/Trivy
id: scan
- uses: aquasecurity/trivy-action@84384bd6e777ef152729993b8145ea352e9dd3ef # v0.17.0
+ uses: aquasecurity/trivy-action@062f2592684a31eb3aa050cc61e7ca1451cecd3d # v0.18.0
with:
image-ref: registry.k8s.io/ingress-nginx/controller:${{ matrix.versions }}
format: 'sarif'
@@ -75,7 +75,7 @@ jobs:
# This step checks out a copy of your repository.
- name: Upload SARIF file
- uses: github/codeql-action/upload-sarif@47b3d888fe66b639e431abf22ebca059152f1eea # v3.24.5
+ uses: github/codeql-action/upload-sarif@8a470fddafa5cbb6266ee11b37ef4d8aae19c571 # v3.24.6
with:
token: ${{ github.token }}
# Path to SARIF file relative to the root of the repository
diff --git a/.github/workflows/zz-tmpl-images.yaml b/.github/workflows/zz-tmpl-images.yaml
index fd56e986d..45f5d9184 100644
--- a/.github/workflows/zz-tmpl-images.yaml
+++ b/.github/workflows/zz-tmpl-images.yaml
@@ -32,7 +32,7 @@ jobs:
steps:
- name: Checkout
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
- - uses: dorny/paths-filter@ebc4d7e9ebcb0b1eb21480bb8f43113e996ac77a # v3.0.1
+ - uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
id: filter
with:
token: ${{ secrets.GITHUB_TOKEN }}
diff --git a/.github/workflows/zz-tmpl-k8s-e2e.yaml b/.github/workflows/zz-tmpl-k8s-e2e.yaml
index 20fd1053d..3a8916049 100644
--- a/.github/workflows/zz-tmpl-k8s-e2e.yaml
+++ b/.github/workflows/zz-tmpl-k8s-e2e.yaml
@@ -23,7 +23,7 @@ jobs:
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
- name: cache
- uses: actions/download-artifact@eaceaf801fd36c7dee90939fad912460b18a1ffe # v4.1.2
+ uses: actions/download-artifact@c850b930e6ba138125429b7e5c93fc707a7f8427 # v4.1.4
with:
name: docker.tar.gz
diff --git a/.golangci.yml b/.golangci.yml
index 5da8f0399..0cf49e6af 100644
--- a/.golangci.yml
+++ b/.golangci.yml
@@ -200,9 +200,7 @@ linters-settings:
- stringConcatSimplify
- stringsCompare
- switchTrue
- - timeCmpSimplify
- timeExprSimplify
- - todoCommentWithoutDetail
- tooManyResultsChecker
- typeAssertChain
- typeDefFirst
diff --git a/GOLANG_VERSION b/GOLANG_VERSION
index 80a81c0e7..24b38a959 100644
--- a/GOLANG_VERSION
+++ b/GOLANG_VERSION
@@ -1 +1 @@
-1.22.0
\ No newline at end of file
+1.22.1
\ No newline at end of file
diff --git a/README.md b/README.md
index e955cd359..80725aa82 100644
--- a/README.md
+++ b/README.md
@@ -12,7 +12,7 @@
ingress-nginx is an Ingress controller for Kubernetes using [NGINX](https://www.nginx.org/) as a reverse proxy and load
balancer.
-[Learn more about Ingress on the main Kubernetes documentation site](https://kubernetes.io/docs/concepts/services-networking/ingress/).
+[Learn more about Ingress on the Kubernetes documentation site](https://kubernetes.io/docs/concepts/services-networking/ingress/).
## Get started
@@ -28,7 +28,7 @@ If you encounter issues, review the [troubleshooting docs](docs/troubleshooting.
See [the list of releases](https://github.com/kubernetes/ingress-nginx/releases) for all changes.
For detailed changes for each release, please check the [changelog-$version.md](./changelog) file for the release version.
-For detailed changes on the `ingress-nginx` helm chart, please check the changelog folder for a specific version
+For detailed changes on the `ingress-nginx` helm chart, please check the changelog folder for a specific version.
[CHANGELOG-$current-version.md](./charts/ingress-nginx/changelog) file.
### Supported Versions table
@@ -38,23 +38,19 @@ the versions listed. Ingress-Nginx versions **may** work on older versions, but
| Supported | Ingress-NGINX version | k8s supported version | Alpine Version | Nginx Version | Helm Chart Version |
|:--:|-----------------------|------------------------------|----------------|---------------|------------------------------|
+| 🔄 | **v1.10.0** | 1.29, 1.28, 1.27, 1.26 | 3.19.1 | 1.25.3 | 4.10.0* |
| 🔄 | **v1.9.6** | 1.29, 1.28, 1.27, 1.26, 1.25 | 3.19.0 | 1.21.6 | 4.9.1* |
| 🔄 | **v1.9.5** | 1.28, 1.27, 1.26, 1.25 | 3.18.4 | 1.21.6 | 4.9.0* |
| 🔄 | **v1.9.4** | 1.28, 1.27, 1.26, 1.25 | 3.18.4 | 1.21.6 | 4.8.3 |
| 🔄 | **v1.9.3** | 1.28, 1.27, 1.26, 1.25 | 3.18.4 | 1.21.6 | 4.8.* |
| 🔄 | **v1.9.1** | 1.28, 1.27, 1.26, 1.25 | 3.18.4 | 1.21.6 | 4.8.* |
| 🔄 | **v1.9.0** | 1.28, 1.27, 1.26, 1.25 | 3.18.2 | 1.21.6 | 4.8.* |
-| 🔄 | **v1.8.4** | 1.27, 1.26, 1.25, 1.24 | 3.18.2 | 1.21.6 | 4.7.* |
-| 🔄 | **v1.8.2** | 1.27, 1.26, 1.25, 1.24 | 3.18.2 | 1.21.6 | 4.7.* |
-| 🔄 | **v1.8.1** | 1.27, 1.26, 1.25, 1.24 | 3.18.2 | 1.21.6 | 4.7.* |
-| 🔄 | **v1.8.0** | 1.27, 1.26, 1.25, 1.24 | 3.18.0 | 1.21.6 | 4.7.* |
-| | **v1.7.1** | 1.27, 1.26, 1.25, 1.24 | 3.17.2 | 1.21.6 | 4.6.* |
-| | **v1.7.0** | 1.26, 1.25, 1.24 | 3.17.2 | 1.21.6 | 4.6.* |
+| | v1.8.4 | 1.27, 1.26, 1.25, 1.24 | 3.18.2 | 1.21.6 | 4.7.* |
+| | v1.7.1 | 1.27, 1.26, 1.25, 1.24 | 3.17.2 | 1.21.6 | 4.6.* |
| | v1.6.4 | 1.26, 1.25, 1.24, 1.23 | 3.17.0 | 1.21.6 | 4.5.* |
| | v1.5.1 | 1.25, 1.24, 1.23 | 3.16.2 | 1.21.6 | 4.4.* |
| | v1.4.0 | 1.25, 1.24, 1.23, 1.22 | 3.16.2 | 1.19.10† | 4.3.0 |
| | v1.3.1 | 1.24, 1.23, 1.22, 1.21, 1.20 | 3.16.2 | 1.19.10† | 4.2.5 |
-| | v1.3.0 | 1.24, 1.23, 1.22, 1.21, 1.20 | 3.16.0 | 1.19.10† | 4.2.3 |
See [this article](https://kubernetes.io/blog/2021/07/26/update-with-ingress-nginx/) if you want upgrade to the stable
Ingress API.
diff --git a/changelog/controller-1.10.0.md b/changelog/controller-1.10.0.md
new file mode 100644
index 000000000..e0a6c9a10
--- /dev/null
+++ b/changelog/controller-1.10.0.md
@@ -0,0 +1,68 @@
+# Changelog
+
+This release is the first using NGINX v1.25.0!
+
+## Breaking changes
+* This version does not support chroot image, this will be fixed on a future minor patch release
+* This version dropped Opentracing and zipkin modules, just Opentelemetry is supported
+* This version dropped support for PodSecurityPolicy
+* This version dropped support for GeoIP (legacy). Only GeoIP2 is supported
+
+### controller-v1.10.0
+
+Images:
+
+* registry.k8s.io/ingress-nginx/controller:v1.10.0@sha256:42b3f0e5d0846876b1791cd3afeb5f1cbbe4259d6f35651dcc1b5c980925379c
+
+### All changes:
+
+* Start the release of v1.10.0 (#11038)
+* bump nginx and Go, remove tag file and old CI jobs (#11037)
+* Fix kubewebhook image tag (#11033)
+* add missing backend-protocol annotation option (#9545)
+* Update controller-prometheusrules.yaml (#8902)
+* Stop reporting interrupted tests (#11027)
+* test(gzip): reach ingress (#9541)
+* fix datasource, $exported_namespace variable in grafana nginx dashboard (#9092)
+* Properly support a TLS-wrapped OCSP responder (#10164)
+* Fix print-e2e-suite (#9536)
+* chore(deps): upgrade headers-more module to 0.37 (#10991)
+* Update ingress-path-matching.md (#11008)
+* Update ingress-path-matching.md (#11007)
+* E2E Tests: Explicitly enable metrics. (#10962)
+* Chart: Set `--enable-metrics` depending on `controller.metrics.enabled`. (#10959)
+* Chart: Remove useless `default` from `_params.tpl`. (#10957)
+* Fix golang makefile var name (#10932)
+* Fixing image push (#10931)
+* fix: live-docs script (#10928)
+* docs: Add vouch-proxy OAuth example (#10929)
+* Add OTEL build test and for NGINX v1.25 (#10889)
+* docs: update annotations docs with missing session-cookie section (#10917)
+* Release controller 1.9.6 and helm 4.9.1 (#10919)
+
+### Dependency updates:
+
+* Bump kubewebhook certgen (#11034)
+* Bump go libraries (#11023)
+* Bump modsecurity on nginx 1.25 (#11024)
+* Bump grpc and reintroduce OTEL compilation (#11021)
+* Bump github/codeql-action from 3.24.0 to 3.24.5 (#11017)
+* Bump actions/dependency-review-action from 4.0.0 to 4.1.3 (#11016)
+* Bump dorny/paths-filter from 3.0.0 to 3.0.1 (#10994)
+* Bump github.com/prometheus/client_model from 0.5.0 to 0.6.0 (#10998)
+* Bump actions/upload-artifact from 4.3.0 to 4.3.1 (#10978)
+* Bump actions/download-artifact from 4.1.1 to 4.1.2 (#10981)
+* Bump aquasecurity/trivy-action from 0.16.1 to 0.17.0 (#10979)
+* Bump golangci/golangci-lint-action from 3.7.0 to 4.0.0 (#10980)
+* Bump golang.org/x/crypto from 0.18.0 to 0.19.0 (#10976)
+* Bump github/codeql-action from 3.23.2 to 3.24.0 (#10971)
+* Bump github.com/opencontainers/runc from 1.1.11 to 1.1.12 (#10951)
+* Bump google.golang.org/grpc from 1.60.1 to 1.61.0 (#10938)
+* Bump actions/upload-artifact from 4.2.0 to 4.3.0 (#10937)
+* Bump dorny/test-reporter from 1.7.0 to 1.8.0 (#10936)
+* Bump github/codeql-action from 3.23.1 to 3.23.2 (#10935)
+* Bump dorny/paths-filter from 2.11.1 to 3.0.0 (#10934)
+* Bump alpine to 3.19.1 (#10930)
+* Bump go to v1.21.6 and set a single source of truth (#10926)
+
+**Full Changelog**: https://github.com/kubernetes/ingress-nginx/compare/controller-v1.9.6...controller-v1.10.0
diff --git a/charts/ingress-nginx/Chart.yaml b/charts/ingress-nginx/Chart.yaml
index df4f6fe63..1bd30b31d 100644
--- a/charts/ingress-nginx/Chart.yaml
+++ b/charts/ingress-nginx/Chart.yaml
@@ -1,10 +1,9 @@
annotations:
artifacthub.io/changes: |-
- - "update web hook cert gen to latest release v20231226-1a7112e06"
- - "Update Ingress-Nginx version controller-v1.9.6"
+ - "Update Ingress-Nginx version controller-v1.10.0"
artifacthub.io/prerelease: "false"
apiVersion: v2
-appVersion: 1.9.6
+appVersion: 1.10.0
description: Ingress controller for Kubernetes using NGINX as a reverse proxy and
load balancer
home: https://github.com/kubernetes/ingress-nginx
@@ -20,4 +19,4 @@ maintainers:
name: ingress-nginx
sources:
- https://github.com/kubernetes/ingress-nginx
-version: 4.9.1
+version: 4.10.0
diff --git a/charts/ingress-nginx/README.md b/charts/ingress-nginx/README.md
index 5c98763cf..8f1f3491d 100644
--- a/charts/ingress-nginx/README.md
+++ b/charts/ingress-nginx/README.md
@@ -2,7 +2,7 @@
[ingress-nginx](https://github.com/kubernetes/ingress-nginx) Ingress controller for Kubernetes using NGINX as a reverse proxy and load balancer
- 
+ 
To use, add `ingressClassName: nginx` spec field or the `kubernetes.io/ingress.class: nginx` annotation to your Ingress resources.
@@ -317,7 +317,7 @@ As of version `1.26.0` of this chart, by simply not providing any clusterIP valu
| controller.hostname | object | `{}` | Optionally customize the pod hostname. |
| controller.image.allowPrivilegeEscalation | bool | `false` | |
| controller.image.chroot | bool | `false` | |
-| controller.image.digest | string | `"sha256:1405cc613bd95b2c6edd8b2a152510ae91c7e62aea4698500d23b2145960ab9c"` | |
+| controller.image.digest | string | `"sha256:42b3f0e5d0846876b1791cd3afeb5f1cbbe4259d6f35651dcc1b5c980925379c"` | |
| controller.image.digestChroot | string | `"sha256:7eb46ff733429e0e46892903c7394aff149ac6d284d92b3946f3baf7ff26a096"` | |
| controller.image.image | string | `"ingress-nginx/controller"` | |
| controller.image.pullPolicy | string | `"IfNotPresent"` | |
@@ -326,7 +326,7 @@ As of version `1.26.0` of this chart, by simply not providing any clusterIP valu
| controller.image.runAsNonRoot | bool | `true` | |
| controller.image.runAsUser | int | `101` | |
| controller.image.seccompProfile.type | string | `"RuntimeDefault"` | |
-| controller.image.tag | string | `"v1.9.6"` | |
+| controller.image.tag | string | `"v1.10.0"` | |
| controller.ingressClass | string | `"nginx"` | For backwards compatibility with ingress.class annotation, use ingressClass. Algorithm is as follows, first ingressClassName is considered, if not present, controller looks for ingress.class annotation |
| controller.ingressClassByName | bool | `false` | Process IngressClass per name (additionally as per spec.controller). |
| controller.ingressClassResource.controllerValue | string | `"k8s.io/ingress-nginx"` | Controller-value of the controller that is processing this ingressClass |
diff --git a/charts/ingress-nginx/changelog/helm-chart-4.10.0.md b/charts/ingress-nginx/changelog/helm-chart-4.10.0.md
new file mode 100644
index 000000000..a1f1847ec
--- /dev/null
+++ b/charts/ingress-nginx/changelog/helm-chart-4.10.0.md
@@ -0,0 +1,9 @@
+# Changelog
+
+This file documents all notable changes to [ingress-nginx](https://github.com/kubernetes/ingress-nginx) Helm Chart. The release numbering uses [semantic versioning](http://semver.org).
+
+### 4.10.0
+
+* - "Update Ingress-Nginx version controller-v1.10.0"
+
+**Full Changelog**: https://github.com/kubernetes/ingress-nginx/compare/helm-chart-4.9.1...helm-chart-4.10.0
diff --git a/charts/ingress-nginx/values.yaml b/charts/ingress-nginx/values.yaml
index 487b72f81..553c5e892 100644
--- a/charts/ingress-nginx/values.yaml
+++ b/charts/ingress-nginx/values.yaml
@@ -26,8 +26,8 @@ controller:
## for backwards compatibility consider setting the full image url via the repository value below
## use *either* current default registry/image or repository format or installing chart by providing the values.yaml will fail
## repository:
- tag: "v1.9.6"
- digest: sha256:1405cc613bd95b2c6edd8b2a152510ae91c7e62aea4698500d23b2145960ab9c
+ tag: "v1.10.0"
+ digest: sha256:42b3f0e5d0846876b1791cd3afeb5f1cbbe4259d6f35651dcc1b5c980925379c
digestChroot: sha256:7eb46ff733429e0e46892903c7394aff149ac6d284d92b3946f3baf7ff26a096
pullPolicy: IfNotPresent
runAsNonRoot: true
@@ -1077,13 +1077,13 @@ imagePullSecrets: []
## Ref: https://github.com/kubernetes/ingress-nginx/blob/main/docs/user-guide/exposing-tcp-udp-services.md
##
tcp: {}
-# 8080: "default/example-tcp-svc:9000"
+# "8080": "default/example-tcp-svc:9000"
# -- UDP service key-value pairs
## Ref: https://github.com/kubernetes/ingress-nginx/blob/main/docs/user-guide/exposing-tcp-udp-services.md
##
udp: {}
-# 53: "kube-system/kube-dns:53"
+# "53": "kube-system/kube-dns:53"
# -- Prefix for TCP and UDP ports names in ingress controller service
## Some cloud providers, like Yandex Cloud may have a requirements for a port name regex to support cloud load balancer integration
diff --git a/cmd/dbg/main.go b/cmd/dbg/main.go
index b63bcf5fe..ab68001c9 100644
--- a/cmd/dbg/main.go
+++ b/cmd/dbg/main.go
@@ -47,7 +47,7 @@ func main() {
backendsAllCmd := &cobra.Command{
Use: "all",
Short: "Output the all dynamic backend information as a JSON array",
- Run: func(cmd *cobra.Command, args []string) {
+ Run: func(_ *cobra.Command, _ []string) {
backendsAll()
},
}
@@ -56,7 +56,7 @@ func main() {
backendsListCmd := &cobra.Command{
Use: "list",
Short: "Output a newline-separated list of the backend names",
- Run: func(cmd *cobra.Command, args []string) {
+ Run: func(_ *cobra.Command, _ []string) {
backendsList()
},
}
@@ -66,7 +66,7 @@ func main() {
Use: "get [backend name]",
Short: "Output the backend information only for the backend that has this name",
Args: cobra.ExactArgs(1),
- Run: func(cmd *cobra.Command, args []string) {
+ Run: func(_ *cobra.Command, args []string) {
backendsGet(args[0])
},
}
@@ -81,7 +81,7 @@ func main() {
Use: "get [hostname]",
Short: "Get the dynamically-loaded certificate information for the given hostname",
Args: cobra.ExactArgs(1),
- RunE: func(cmd *cobra.Command, args []string) error {
+ RunE: func(_ *cobra.Command, args []string) error {
certGet(args[0])
return nil
},
@@ -93,7 +93,7 @@ func main() {
generalCmd := &cobra.Command{
Use: "general",
Short: "Output the general dynamic lua state",
- Run: func(cmd *cobra.Command, args []string) {
+ Run: func(_ *cobra.Command, _ []string) {
general()
},
}
@@ -102,7 +102,7 @@ func main() {
confCmd := &cobra.Command{
Use: "conf",
Short: "Dump the contents of /etc/nginx/nginx.conf",
- Run: func(cmd *cobra.Command, args []string) {
+ Run: func(_ *cobra.Command, _ []string) {
readNginxConf()
},
}
diff --git a/cmd/nginx/main.go b/cmd/nginx/main.go
index 1d30091ef..5ab54aa93 100644
--- a/cmd/nginx/main.go
+++ b/cmd/nginx/main.go
@@ -74,7 +74,7 @@ func main() {
handleFatalInitError(err)
}
- if len(conf.DefaultService) > 0 {
+ if conf.DefaultService != "" {
err := checkService(conf.DefaultService, kubeClient)
if err != nil {
klog.Fatal(err)
@@ -83,7 +83,7 @@ func main() {
klog.InfoS("Valid default backend", "service", conf.DefaultService)
}
- if len(conf.PublishService) > 0 {
+ if conf.PublishService != "" {
err := checkService(conf.PublishService, kubeClient)
if err != nil {
klog.Fatal(err)
@@ -235,7 +235,6 @@ func createApiserverClient(apiserverHost, rootCAFile, kubeConfig string) (*kuber
retries++
return false, nil
})
-
// err is returned in case of timeout in the exponential backoff (ErrWaitTimeout)
if err != nil {
return nil, lastErr
diff --git a/cmd/plugin/commands/backends/backends.go b/cmd/plugin/commands/backends/backends.go
index ff44fd9c2..e7bd42147 100644
--- a/cmd/plugin/commands/backends/backends.go
+++ b/cmd/plugin/commands/backends/backends.go
@@ -34,7 +34,7 @@ func CreateCommand(flags *genericclioptions.ConfigFlags) *cobra.Command {
cmd := &cobra.Command{
Use: "backends",
Short: "Inspect the dynamic backend information of an ingress-nginx instance",
- RunE: func(cmd *cobra.Command, args []string) error {
+ RunE: func(cmd *cobra.Command, _ []string) error {
backend, err := cmd.Flags().GetString("backend")
if err != nil {
return err
diff --git a/cmd/plugin/commands/certs/certs.go b/cmd/plugin/commands/certs/certs.go
index ee27cf1b1..4a7fee1cf 100644
--- a/cmd/plugin/commands/certs/certs.go
+++ b/cmd/plugin/commands/certs/certs.go
@@ -35,7 +35,7 @@ func CreateCommand(flags *genericclioptions.ConfigFlags) *cobra.Command {
cmd := &cobra.Command{
Use: "certs",
Short: "Output the certificate data stored in an ingress-nginx pod",
- RunE: func(cmd *cobra.Command, args []string) error {
+ RunE: func(cmd *cobra.Command, _ []string) error {
host, err := cmd.Flags().GetString("host")
if err != nil {
return err
diff --git a/cmd/plugin/commands/conf/conf.go b/cmd/plugin/commands/conf/conf.go
index 090fb40bb..5821b11f1 100644
--- a/cmd/plugin/commands/conf/conf.go
+++ b/cmd/plugin/commands/conf/conf.go
@@ -36,7 +36,7 @@ func CreateCommand(flags *genericclioptions.ConfigFlags) *cobra.Command {
cmd := &cobra.Command{
Use: "conf",
Short: "Inspect the generated nginx.conf",
- RunE: func(cmd *cobra.Command, args []string) error {
+ RunE: func(cmd *cobra.Command, _ []string) error {
host, err := cmd.Flags().GetString("host")
if err != nil {
return err
diff --git a/cmd/plugin/commands/exec/exec.go b/cmd/plugin/commands/exec/exec.go
index 8e853c534..a91bdb594 100644
--- a/cmd/plugin/commands/exec/exec.go
+++ b/cmd/plugin/commands/exec/exec.go
@@ -34,7 +34,7 @@ func CreateCommand(flags *genericclioptions.ConfigFlags) *cobra.Command {
cmd := &cobra.Command{
Use: "exec",
Short: "Execute a command inside an ingress-nginx pod",
- RunE: func(cmd *cobra.Command, args []string) error {
+ RunE: func(_ *cobra.Command, args []string) error {
util.PrintError(exec(flags, *pod, *deployment, *selector, *container, args, opts))
return nil
},
diff --git a/cmd/plugin/commands/general/general.go b/cmd/plugin/commands/general/general.go
index cea403562..d7b3b34f9 100644
--- a/cmd/plugin/commands/general/general.go
+++ b/cmd/plugin/commands/general/general.go
@@ -34,7 +34,7 @@ func CreateCommand(flags *genericclioptions.ConfigFlags) *cobra.Command {
cmd := &cobra.Command{
Use: "general",
Short: "Inspect the other dynamic ingress-nginx information",
- RunE: func(cmd *cobra.Command, args []string) error {
+ RunE: func(_ *cobra.Command, _ []string) error {
util.PrintError(general(flags, *pod, *deployment, *selector, *container))
return nil
},
diff --git a/cmd/plugin/commands/info/info.go b/cmd/plugin/commands/info/info.go
index 246046c3a..e0fd3aaec 100644
--- a/cmd/plugin/commands/info/info.go
+++ b/cmd/plugin/commands/info/info.go
@@ -32,7 +32,7 @@ func CreateCommand(flags *genericclioptions.ConfigFlags) *cobra.Command {
cmd := &cobra.Command{
Use: "info",
Short: "Show information about the ingress-nginx service",
- RunE: func(cmd *cobra.Command, args []string) error {
+ RunE: func(cmd *cobra.Command, _ []string) error {
service, err := cmd.Flags().GetString("service")
if err != nil {
return err
diff --git a/cmd/plugin/commands/ingresses/ingresses.go b/cmd/plugin/commands/ingresses/ingresses.go
index 8a25418db..7cb90a570 100644
--- a/cmd/plugin/commands/ingresses/ingresses.go
+++ b/cmd/plugin/commands/ingresses/ingresses.go
@@ -36,7 +36,7 @@ func CreateCommand(flags *genericclioptions.ConfigFlags) *cobra.Command {
Use: "ingresses",
Aliases: []string{"ingress", "ing"},
Short: "Provide a short summary of all of the ingress definitions",
- RunE: func(cmd *cobra.Command, args []string) error {
+ RunE: func(cmd *cobra.Command, _ []string) error {
host, err := cmd.Flags().GetString("host")
if err != nil {
return err
@@ -139,14 +139,14 @@ func getIngressRows(ingresses *[]networking.Ingress) []ingressRow {
ing := &(*ingresses)[i]
address := ""
for _, lbIng := range ing.Status.LoadBalancer.Ingress {
- if len(lbIng.IP) > 0 {
+ if lbIng.IP != "" {
address = address + lbIng.IP + ","
}
- if len(lbIng.Hostname) > 0 {
+ if lbIng.Hostname != "" {
address = address + lbIng.Hostname + ","
}
}
- if len(address) > 0 {
+ if address != "" {
address = address[:len(address)-1]
}
@@ -166,7 +166,7 @@ func getIngressRows(ingresses *[]networking.Ingress) []ingressRow {
}
// Handle catch-all ingress
- if len(ing.Spec.Rules) == 0 && len(defaultBackendService) > 0 {
+ if len(ing.Spec.Rules) == 0 && defaultBackendService != "" {
row := ingressRow{
Namespace: ing.Namespace,
IngressName: ing.Name,
diff --git a/cmd/plugin/commands/lint/main.go b/cmd/plugin/commands/lint/main.go
index 847fe86c9..69ab984f5 100644
--- a/cmd/plugin/commands/lint/main.go
+++ b/cmd/plugin/commands/lint/main.go
@@ -38,7 +38,7 @@ func CreateCommand(flags *genericclioptions.ConfigFlags) *cobra.Command {
cmd := &cobra.Command{
Use: "lint",
Short: "Inspect kubernetes resources for possible issues",
- RunE: func(cmd *cobra.Command, args []string) error {
+ RunE: func(_ *cobra.Command, _ []string) error {
err := opts.Validate()
if err != nil {
return err
@@ -73,7 +73,7 @@ func createSubcommand(flags *genericclioptions.ConfigFlags, names []string, shor
Use: names[0],
Aliases: names[1:],
Short: short,
- RunE: func(cmd *cobra.Command, args []string) error {
+ RunE: func(_ *cobra.Command, _ []string) error {
err := opts.Validate()
if err != nil {
return err
diff --git a/cmd/plugin/commands/logs/logs.go b/cmd/plugin/commands/logs/logs.go
index 22068d469..d9f6e7bd8 100644
--- a/cmd/plugin/commands/logs/logs.go
+++ b/cmd/plugin/commands/logs/logs.go
@@ -36,7 +36,7 @@ func CreateCommand(flags *genericclioptions.ConfigFlags) *cobra.Command {
cmd := &cobra.Command{
Use: "logs",
Short: "Get the kubernetes logs for an ingress-nginx pod",
- RunE: func(cmd *cobra.Command, args []string) error {
+ RunE: func(_ *cobra.Command, _ []string) error {
util.PrintError(logs(flags, *pod, *deployment, *selector, *container, o))
return nil
},
diff --git a/cmd/plugin/commands/ssh/ssh.go b/cmd/plugin/commands/ssh/ssh.go
index a4762d781..c9631d10b 100644
--- a/cmd/plugin/commands/ssh/ssh.go
+++ b/cmd/plugin/commands/ssh/ssh.go
@@ -32,7 +32,7 @@ func CreateCommand(flags *genericclioptions.ConfigFlags) *cobra.Command {
cmd := &cobra.Command{
Use: "ssh",
Short: "ssh into a running ingress-nginx pod",
- RunE: func(cmd *cobra.Command, args []string) error {
+ RunE: func(_ *cobra.Command, _ []string) error {
util.PrintError(ssh(flags, *pod, *deployment, *selector, *container))
return nil
},
diff --git a/deploy/static/provider/aws/deploy.yaml b/deploy/static/provider/aws/deploy.yaml
index f73e0fce0..0e8356305 100644
--- a/deploy/static/provider/aws/deploy.yaml
+++ b/deploy/static/provider/aws/deploy.yaml
@@ -15,7 +15,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.9.6
+ app.kubernetes.io/version: 1.10.0
name: ingress-nginx
namespace: ingress-nginx
---
@@ -27,7 +27,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.9.6
+ app.kubernetes.io/version: 1.10.0
name: ingress-nginx-admission
namespace: ingress-nginx
---
@@ -39,7 +39,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.9.6
+ app.kubernetes.io/version: 1.10.0
name: ingress-nginx
namespace: ingress-nginx
rules:
@@ -129,7 +129,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.9.6
+ app.kubernetes.io/version: 1.10.0
name: ingress-nginx-admission
namespace: ingress-nginx
rules:
@@ -148,7 +148,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.9.6
+ app.kubernetes.io/version: 1.10.0
name: ingress-nginx
rules:
- apiGroups:
@@ -230,7 +230,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.9.6
+ app.kubernetes.io/version: 1.10.0
name: ingress-nginx-admission
rules:
- apiGroups:
@@ -249,7 +249,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.9.6
+ app.kubernetes.io/version: 1.10.0
name: ingress-nginx
namespace: ingress-nginx
roleRef:
@@ -269,7 +269,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.9.6
+ app.kubernetes.io/version: 1.10.0
name: ingress-nginx-admission
namespace: ingress-nginx
roleRef:
@@ -288,7 +288,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.9.6
+ app.kubernetes.io/version: 1.10.0
name: ingress-nginx
roleRef:
apiGroup: rbac.authorization.k8s.io
@@ -307,7 +307,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.9.6
+ app.kubernetes.io/version: 1.10.0
name: ingress-nginx-admission
roleRef:
apiGroup: rbac.authorization.k8s.io
@@ -328,7 +328,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.9.6
+ app.kubernetes.io/version: 1.10.0
name: ingress-nginx-controller
namespace: ingress-nginx
---
@@ -344,7 +344,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.9.6
+ app.kubernetes.io/version: 1.10.0
name: ingress-nginx-controller
namespace: ingress-nginx
spec:
@@ -377,7 +377,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.9.6
+ app.kubernetes.io/version: 1.10.0
name: ingress-nginx-controller-admission
namespace: ingress-nginx
spec:
@@ -400,7 +400,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.9.6
+ app.kubernetes.io/version: 1.10.0
name: ingress-nginx-controller
namespace: ingress-nginx
spec:
@@ -422,7 +422,7 @@ spec:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.9.6
+ app.kubernetes.io/version: 1.10.0
spec:
containers:
- args:
@@ -435,6 +435,7 @@ spec:
- --validating-webhook=:8443
- --validating-webhook-certificate=/usr/local/certificates/cert
- --validating-webhook-key=/usr/local/certificates/key
+ - --enable-metrics=false
env:
- name: POD_NAME
valueFrom:
@@ -446,7 +447,7 @@ spec:
fieldPath: metadata.namespace
- name: LD_PRELOAD
value: /usr/local/lib/libmimalloc.so
- image: registry.k8s.io/ingress-nginx/controller:v1.9.6@sha256:1405cc613bd95b2c6edd8b2a152510ae91c7e62aea4698500d23b2145960ab9c
+ image: registry.k8s.io/ingress-nginx/controller:v1.10.0@sha256:42b3f0e5d0846876b1791cd3afeb5f1cbbe4259d6f35651dcc1b5c980925379c
imagePullPolicy: IfNotPresent
lifecycle:
preStop:
@@ -522,7 +523,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.9.6
+ app.kubernetes.io/version: 1.10.0
name: ingress-nginx-admission-create
namespace: ingress-nginx
spec:
@@ -533,7 +534,7 @@ spec:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.9.6
+ app.kubernetes.io/version: 1.10.0
name: ingress-nginx-admission-create
spec:
containers:
@@ -547,7 +548,7 @@ spec:
valueFrom:
fieldRef:
fieldPath: metadata.namespace
- image: registry.k8s.io/ingress-nginx/kube-webhook-certgen:v20231226-1a7112e06@sha256:25d6a5f11211cc5c3f9f2bf552b585374af287b4debf693cacbe2da47daa5084
+ image: registry.k8s.io/ingress-nginx/kube-webhook-certgen:v1.4.0@sha256:44d1d0e9f19c63f58b380c5fddaca7cf22c7cee564adeff365225a5df5ef3334
imagePullPolicy: IfNotPresent
name: create
securityContext:
@@ -573,7 +574,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.9.6
+ app.kubernetes.io/version: 1.10.0
name: ingress-nginx-admission-patch
namespace: ingress-nginx
spec:
@@ -584,7 +585,7 @@ spec:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.9.6
+ app.kubernetes.io/version: 1.10.0
name: ingress-nginx-admission-patch
spec:
containers:
@@ -600,7 +601,7 @@ spec:
valueFrom:
fieldRef:
fieldPath: metadata.namespace
- image: registry.k8s.io/ingress-nginx/kube-webhook-certgen:v20231226-1a7112e06@sha256:25d6a5f11211cc5c3f9f2bf552b585374af287b4debf693cacbe2da47daa5084
+ image: registry.k8s.io/ingress-nginx/kube-webhook-certgen:v1.4.0@sha256:44d1d0e9f19c63f58b380c5fddaca7cf22c7cee564adeff365225a5df5ef3334
imagePullPolicy: IfNotPresent
name: patch
securityContext:
@@ -626,7 +627,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.9.6
+ app.kubernetes.io/version: 1.10.0
name: nginx
spec:
controller: k8s.io/ingress-nginx
@@ -639,7 +640,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.9.6
+ app.kubernetes.io/version: 1.10.0
name: ingress-nginx-admission
webhooks:
- admissionReviewVersions:
diff --git a/deploy/static/provider/aws/nlb-with-tls-termination/deploy.yaml b/deploy/static/provider/aws/nlb-with-tls-termination/deploy.yaml
index 7f6019fbb..5c12ba3b9 100644
--- a/deploy/static/provider/aws/nlb-with-tls-termination/deploy.yaml
+++ b/deploy/static/provider/aws/nlb-with-tls-termination/deploy.yaml
@@ -15,7 +15,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.9.6
+ app.kubernetes.io/version: 1.10.0
name: ingress-nginx
namespace: ingress-nginx
---
@@ -27,7 +27,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.9.6
+ app.kubernetes.io/version: 1.10.0
name: ingress-nginx-admission
namespace: ingress-nginx
---
@@ -39,7 +39,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.9.6
+ app.kubernetes.io/version: 1.10.0
name: ingress-nginx
namespace: ingress-nginx
rules:
@@ -129,7 +129,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.9.6
+ app.kubernetes.io/version: 1.10.0
name: ingress-nginx-admission
namespace: ingress-nginx
rules:
@@ -148,7 +148,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.9.6
+ app.kubernetes.io/version: 1.10.0
name: ingress-nginx
rules:
- apiGroups:
@@ -230,7 +230,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.9.6
+ app.kubernetes.io/version: 1.10.0
name: ingress-nginx-admission
rules:
- apiGroups:
@@ -249,7 +249,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.9.6
+ app.kubernetes.io/version: 1.10.0
name: ingress-nginx
namespace: ingress-nginx
roleRef:
@@ -269,7 +269,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.9.6
+ app.kubernetes.io/version: 1.10.0
name: ingress-nginx-admission
namespace: ingress-nginx
roleRef:
@@ -288,7 +288,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.9.6
+ app.kubernetes.io/version: 1.10.0
name: ingress-nginx
roleRef:
apiGroup: rbac.authorization.k8s.io
@@ -307,7 +307,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.9.6
+ app.kubernetes.io/version: 1.10.0
name: ingress-nginx-admission
roleRef:
apiGroup: rbac.authorization.k8s.io
@@ -335,7 +335,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.9.6
+ app.kubernetes.io/version: 1.10.0
name: ingress-nginx-controller
namespace: ingress-nginx
---
@@ -353,7 +353,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.9.6
+ app.kubernetes.io/version: 1.10.0
name: ingress-nginx-controller
namespace: ingress-nginx
spec:
@@ -386,7 +386,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.9.6
+ app.kubernetes.io/version: 1.10.0
name: ingress-nginx-controller-admission
namespace: ingress-nginx
spec:
@@ -409,7 +409,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.9.6
+ app.kubernetes.io/version: 1.10.0
name: ingress-nginx-controller
namespace: ingress-nginx
spec:
@@ -431,7 +431,7 @@ spec:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.9.6
+ app.kubernetes.io/version: 1.10.0
spec:
containers:
- args:
@@ -444,6 +444,7 @@ spec:
- --validating-webhook=:8443
- --validating-webhook-certificate=/usr/local/certificates/cert
- --validating-webhook-key=/usr/local/certificates/key
+ - --enable-metrics=false
env:
- name: POD_NAME
valueFrom:
@@ -455,7 +456,7 @@ spec:
fieldPath: metadata.namespace
- name: LD_PRELOAD
value: /usr/local/lib/libmimalloc.so
- image: registry.k8s.io/ingress-nginx/controller:v1.9.6@sha256:1405cc613bd95b2c6edd8b2a152510ae91c7e62aea4698500d23b2145960ab9c
+ image: registry.k8s.io/ingress-nginx/controller:v1.10.0@sha256:42b3f0e5d0846876b1791cd3afeb5f1cbbe4259d6f35651dcc1b5c980925379c
imagePullPolicy: IfNotPresent
lifecycle:
preStop:
@@ -534,7 +535,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.9.6
+ app.kubernetes.io/version: 1.10.0
name: ingress-nginx-admission-create
namespace: ingress-nginx
spec:
@@ -545,7 +546,7 @@ spec:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.9.6
+ app.kubernetes.io/version: 1.10.0
name: ingress-nginx-admission-create
spec:
containers:
@@ -559,7 +560,7 @@ spec:
valueFrom:
fieldRef:
fieldPath: metadata.namespace
- image: registry.k8s.io/ingress-nginx/kube-webhook-certgen:v20231226-1a7112e06@sha256:25d6a5f11211cc5c3f9f2bf552b585374af287b4debf693cacbe2da47daa5084
+ image: registry.k8s.io/ingress-nginx/kube-webhook-certgen:v1.4.0@sha256:44d1d0e9f19c63f58b380c5fddaca7cf22c7cee564adeff365225a5df5ef3334
imagePullPolicy: IfNotPresent
name: create
securityContext:
@@ -585,7 +586,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.9.6
+ app.kubernetes.io/version: 1.10.0
name: ingress-nginx-admission-patch
namespace: ingress-nginx
spec:
@@ -596,7 +597,7 @@ spec:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.9.6
+ app.kubernetes.io/version: 1.10.0
name: ingress-nginx-admission-patch
spec:
containers:
@@ -612,7 +613,7 @@ spec:
valueFrom:
fieldRef:
fieldPath: metadata.namespace
- image: registry.k8s.io/ingress-nginx/kube-webhook-certgen:v20231226-1a7112e06@sha256:25d6a5f11211cc5c3f9f2bf552b585374af287b4debf693cacbe2da47daa5084
+ image: registry.k8s.io/ingress-nginx/kube-webhook-certgen:v1.4.0@sha256:44d1d0e9f19c63f58b380c5fddaca7cf22c7cee564adeff365225a5df5ef3334
imagePullPolicy: IfNotPresent
name: patch
securityContext:
@@ -638,7 +639,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.9.6
+ app.kubernetes.io/version: 1.10.0
name: nginx
spec:
controller: k8s.io/ingress-nginx
@@ -651,7 +652,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.9.6
+ app.kubernetes.io/version: 1.10.0
name: ingress-nginx-admission
webhooks:
- admissionReviewVersions:
diff --git a/deploy/static/provider/baremetal/deploy.yaml b/deploy/static/provider/baremetal/deploy.yaml
index af484aa73..b513fa97f 100644
--- a/deploy/static/provider/baremetal/deploy.yaml
+++ b/deploy/static/provider/baremetal/deploy.yaml
@@ -15,7 +15,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.9.6
+ app.kubernetes.io/version: 1.10.0
name: ingress-nginx
namespace: ingress-nginx
---
@@ -27,7 +27,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.9.6
+ app.kubernetes.io/version: 1.10.0
name: ingress-nginx-admission
namespace: ingress-nginx
---
@@ -39,7 +39,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.9.6
+ app.kubernetes.io/version: 1.10.0
name: ingress-nginx
namespace: ingress-nginx
rules:
@@ -129,7 +129,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.9.6
+ app.kubernetes.io/version: 1.10.0
name: ingress-nginx-admission
namespace: ingress-nginx
rules:
@@ -148,7 +148,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.9.6
+ app.kubernetes.io/version: 1.10.0
name: ingress-nginx
rules:
- apiGroups:
@@ -230,7 +230,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.9.6
+ app.kubernetes.io/version: 1.10.0
name: ingress-nginx-admission
rules:
- apiGroups:
@@ -249,7 +249,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.9.6
+ app.kubernetes.io/version: 1.10.0
name: ingress-nginx
namespace: ingress-nginx
roleRef:
@@ -269,7 +269,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.9.6
+ app.kubernetes.io/version: 1.10.0
name: ingress-nginx-admission
namespace: ingress-nginx
roleRef:
@@ -288,7 +288,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.9.6
+ app.kubernetes.io/version: 1.10.0
name: ingress-nginx
roleRef:
apiGroup: rbac.authorization.k8s.io
@@ -307,7 +307,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.9.6
+ app.kubernetes.io/version: 1.10.0
name: ingress-nginx-admission
roleRef:
apiGroup: rbac.authorization.k8s.io
@@ -328,7 +328,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.9.6
+ app.kubernetes.io/version: 1.10.0
name: ingress-nginx-controller
namespace: ingress-nginx
---
@@ -340,7 +340,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.9.6
+ app.kubernetes.io/version: 1.10.0
name: ingress-nginx-controller
namespace: ingress-nginx
spec:
@@ -372,7 +372,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.9.6
+ app.kubernetes.io/version: 1.10.0
name: ingress-nginx-controller-admission
namespace: ingress-nginx
spec:
@@ -395,7 +395,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.9.6
+ app.kubernetes.io/version: 1.10.0
name: ingress-nginx-controller
namespace: ingress-nginx
spec:
@@ -417,7 +417,7 @@ spec:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.9.6
+ app.kubernetes.io/version: 1.10.0
spec:
containers:
- args:
@@ -429,6 +429,7 @@ spec:
- --validating-webhook=:8443
- --validating-webhook-certificate=/usr/local/certificates/cert
- --validating-webhook-key=/usr/local/certificates/key
+ - --enable-metrics=false
env:
- name: POD_NAME
valueFrom:
@@ -440,7 +441,7 @@ spec:
fieldPath: metadata.namespace
- name: LD_PRELOAD
value: /usr/local/lib/libmimalloc.so
- image: registry.k8s.io/ingress-nginx/controller:v1.9.6@sha256:1405cc613bd95b2c6edd8b2a152510ae91c7e62aea4698500d23b2145960ab9c
+ image: registry.k8s.io/ingress-nginx/controller:v1.10.0@sha256:42b3f0e5d0846876b1791cd3afeb5f1cbbe4259d6f35651dcc1b5c980925379c
imagePullPolicy: IfNotPresent
lifecycle:
preStop:
@@ -516,7 +517,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.9.6
+ app.kubernetes.io/version: 1.10.0
name: ingress-nginx-admission-create
namespace: ingress-nginx
spec:
@@ -527,7 +528,7 @@ spec:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.9.6
+ app.kubernetes.io/version: 1.10.0
name: ingress-nginx-admission-create
spec:
containers:
@@ -541,7 +542,7 @@ spec:
valueFrom:
fieldRef:
fieldPath: metadata.namespace
- image: registry.k8s.io/ingress-nginx/kube-webhook-certgen:v20231226-1a7112e06@sha256:25d6a5f11211cc5c3f9f2bf552b585374af287b4debf693cacbe2da47daa5084
+ image: registry.k8s.io/ingress-nginx/kube-webhook-certgen:v1.4.0@sha256:44d1d0e9f19c63f58b380c5fddaca7cf22c7cee564adeff365225a5df5ef3334
imagePullPolicy: IfNotPresent
name: create
securityContext:
@@ -567,7 +568,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.9.6
+ app.kubernetes.io/version: 1.10.0
name: ingress-nginx-admission-patch
namespace: ingress-nginx
spec:
@@ -578,7 +579,7 @@ spec:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.9.6
+ app.kubernetes.io/version: 1.10.0
name: ingress-nginx-admission-patch
spec:
containers:
@@ -594,7 +595,7 @@ spec:
valueFrom:
fieldRef:
fieldPath: metadata.namespace
- image: registry.k8s.io/ingress-nginx/kube-webhook-certgen:v20231226-1a7112e06@sha256:25d6a5f11211cc5c3f9f2bf552b585374af287b4debf693cacbe2da47daa5084
+ image: registry.k8s.io/ingress-nginx/kube-webhook-certgen:v1.4.0@sha256:44d1d0e9f19c63f58b380c5fddaca7cf22c7cee564adeff365225a5df5ef3334
imagePullPolicy: IfNotPresent
name: patch
securityContext:
@@ -620,7 +621,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.9.6
+ app.kubernetes.io/version: 1.10.0
name: nginx
spec:
controller: k8s.io/ingress-nginx
@@ -633,7 +634,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.9.6
+ app.kubernetes.io/version: 1.10.0
name: ingress-nginx-admission
webhooks:
- admissionReviewVersions:
diff --git a/deploy/static/provider/cloud/deploy.yaml b/deploy/static/provider/cloud/deploy.yaml
index 8ac9dedaf..147d76d5e 100644
--- a/deploy/static/provider/cloud/deploy.yaml
+++ b/deploy/static/provider/cloud/deploy.yaml
@@ -15,7 +15,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.9.6
+ app.kubernetes.io/version: 1.10.0
name: ingress-nginx
namespace: ingress-nginx
---
@@ -27,7 +27,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.9.6
+ app.kubernetes.io/version: 1.10.0
name: ingress-nginx-admission
namespace: ingress-nginx
---
@@ -39,7 +39,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.9.6
+ app.kubernetes.io/version: 1.10.0
name: ingress-nginx
namespace: ingress-nginx
rules:
@@ -129,7 +129,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.9.6
+ app.kubernetes.io/version: 1.10.0
name: ingress-nginx-admission
namespace: ingress-nginx
rules:
@@ -148,7 +148,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.9.6
+ app.kubernetes.io/version: 1.10.0
name: ingress-nginx
rules:
- apiGroups:
@@ -230,7 +230,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.9.6
+ app.kubernetes.io/version: 1.10.0
name: ingress-nginx-admission
rules:
- apiGroups:
@@ -249,7 +249,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.9.6
+ app.kubernetes.io/version: 1.10.0
name: ingress-nginx
namespace: ingress-nginx
roleRef:
@@ -269,7 +269,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.9.6
+ app.kubernetes.io/version: 1.10.0
name: ingress-nginx-admission
namespace: ingress-nginx
roleRef:
@@ -288,7 +288,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.9.6
+ app.kubernetes.io/version: 1.10.0
name: ingress-nginx
roleRef:
apiGroup: rbac.authorization.k8s.io
@@ -307,7 +307,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.9.6
+ app.kubernetes.io/version: 1.10.0
name: ingress-nginx-admission
roleRef:
apiGroup: rbac.authorization.k8s.io
@@ -328,7 +328,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.9.6
+ app.kubernetes.io/version: 1.10.0
name: ingress-nginx-controller
namespace: ingress-nginx
---
@@ -340,7 +340,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.9.6
+ app.kubernetes.io/version: 1.10.0
name: ingress-nginx-controller
namespace: ingress-nginx
spec:
@@ -373,7 +373,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.9.6
+ app.kubernetes.io/version: 1.10.0
name: ingress-nginx-controller-admission
namespace: ingress-nginx
spec:
@@ -396,7 +396,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.9.6
+ app.kubernetes.io/version: 1.10.0
name: ingress-nginx-controller
namespace: ingress-nginx
spec:
@@ -418,7 +418,7 @@ spec:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.9.6
+ app.kubernetes.io/version: 1.10.0
spec:
containers:
- args:
@@ -431,6 +431,7 @@ spec:
- --validating-webhook=:8443
- --validating-webhook-certificate=/usr/local/certificates/cert
- --validating-webhook-key=/usr/local/certificates/key
+ - --enable-metrics=false
env:
- name: POD_NAME
valueFrom:
@@ -442,7 +443,7 @@ spec:
fieldPath: metadata.namespace
- name: LD_PRELOAD
value: /usr/local/lib/libmimalloc.so
- image: registry.k8s.io/ingress-nginx/controller:v1.9.6@sha256:1405cc613bd95b2c6edd8b2a152510ae91c7e62aea4698500d23b2145960ab9c
+ image: registry.k8s.io/ingress-nginx/controller:v1.10.0@sha256:42b3f0e5d0846876b1791cd3afeb5f1cbbe4259d6f35651dcc1b5c980925379c
imagePullPolicy: IfNotPresent
lifecycle:
preStop:
@@ -518,7 +519,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.9.6
+ app.kubernetes.io/version: 1.10.0
name: ingress-nginx-admission-create
namespace: ingress-nginx
spec:
@@ -529,7 +530,7 @@ spec:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.9.6
+ app.kubernetes.io/version: 1.10.0
name: ingress-nginx-admission-create
spec:
containers:
@@ -543,7 +544,7 @@ spec:
valueFrom:
fieldRef:
fieldPath: metadata.namespace
- image: registry.k8s.io/ingress-nginx/kube-webhook-certgen:v20231226-1a7112e06@sha256:25d6a5f11211cc5c3f9f2bf552b585374af287b4debf693cacbe2da47daa5084
+ image: registry.k8s.io/ingress-nginx/kube-webhook-certgen:v1.4.0@sha256:44d1d0e9f19c63f58b380c5fddaca7cf22c7cee564adeff365225a5df5ef3334
imagePullPolicy: IfNotPresent
name: create
securityContext:
@@ -569,7 +570,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.9.6
+ app.kubernetes.io/version: 1.10.0
name: ingress-nginx-admission-patch
namespace: ingress-nginx
spec:
@@ -580,7 +581,7 @@ spec:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.9.6
+ app.kubernetes.io/version: 1.10.0
name: ingress-nginx-admission-patch
spec:
containers:
@@ -596,7 +597,7 @@ spec:
valueFrom:
fieldRef:
fieldPath: metadata.namespace
- image: registry.k8s.io/ingress-nginx/kube-webhook-certgen:v20231226-1a7112e06@sha256:25d6a5f11211cc5c3f9f2bf552b585374af287b4debf693cacbe2da47daa5084
+ image: registry.k8s.io/ingress-nginx/kube-webhook-certgen:v1.4.0@sha256:44d1d0e9f19c63f58b380c5fddaca7cf22c7cee564adeff365225a5df5ef3334
imagePullPolicy: IfNotPresent
name: patch
securityContext:
@@ -622,7 +623,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.9.6
+ app.kubernetes.io/version: 1.10.0
name: nginx
spec:
controller: k8s.io/ingress-nginx
@@ -635,7 +636,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.9.6
+ app.kubernetes.io/version: 1.10.0
name: ingress-nginx-admission
webhooks:
- admissionReviewVersions:
diff --git a/deploy/static/provider/do/deploy.yaml b/deploy/static/provider/do/deploy.yaml
index 7a49f28d0..801b6d75c 100644
--- a/deploy/static/provider/do/deploy.yaml
+++ b/deploy/static/provider/do/deploy.yaml
@@ -15,7 +15,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.9.6
+ app.kubernetes.io/version: 1.10.0
name: ingress-nginx
namespace: ingress-nginx
---
@@ -27,7 +27,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.9.6
+ app.kubernetes.io/version: 1.10.0
name: ingress-nginx-admission
namespace: ingress-nginx
---
@@ -39,7 +39,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.9.6
+ app.kubernetes.io/version: 1.10.0
name: ingress-nginx
namespace: ingress-nginx
rules:
@@ -129,7 +129,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.9.6
+ app.kubernetes.io/version: 1.10.0
name: ingress-nginx-admission
namespace: ingress-nginx
rules:
@@ -148,7 +148,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.9.6
+ app.kubernetes.io/version: 1.10.0
name: ingress-nginx
rules:
- apiGroups:
@@ -230,7 +230,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.9.6
+ app.kubernetes.io/version: 1.10.0
name: ingress-nginx-admission
rules:
- apiGroups:
@@ -249,7 +249,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.9.6
+ app.kubernetes.io/version: 1.10.0
name: ingress-nginx
namespace: ingress-nginx
roleRef:
@@ -269,7 +269,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.9.6
+ app.kubernetes.io/version: 1.10.0
name: ingress-nginx-admission
namespace: ingress-nginx
roleRef:
@@ -288,7 +288,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.9.6
+ app.kubernetes.io/version: 1.10.0
name: ingress-nginx
roleRef:
apiGroup: rbac.authorization.k8s.io
@@ -307,7 +307,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.9.6
+ app.kubernetes.io/version: 1.10.0
name: ingress-nginx-admission
roleRef:
apiGroup: rbac.authorization.k8s.io
@@ -329,7 +329,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.9.6
+ app.kubernetes.io/version: 1.10.0
name: ingress-nginx-controller
namespace: ingress-nginx
---
@@ -343,7 +343,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.9.6
+ app.kubernetes.io/version: 1.10.0
name: ingress-nginx-controller
namespace: ingress-nginx
spec:
@@ -376,7 +376,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.9.6
+ app.kubernetes.io/version: 1.10.0
name: ingress-nginx-controller-admission
namespace: ingress-nginx
spec:
@@ -399,7 +399,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.9.6
+ app.kubernetes.io/version: 1.10.0
name: ingress-nginx-controller
namespace: ingress-nginx
spec:
@@ -421,7 +421,7 @@ spec:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.9.6
+ app.kubernetes.io/version: 1.10.0
spec:
containers:
- args:
@@ -434,6 +434,7 @@ spec:
- --validating-webhook=:8443
- --validating-webhook-certificate=/usr/local/certificates/cert
- --validating-webhook-key=/usr/local/certificates/key
+ - --enable-metrics=false
env:
- name: POD_NAME
valueFrom:
@@ -445,7 +446,7 @@ spec:
fieldPath: metadata.namespace
- name: LD_PRELOAD
value: /usr/local/lib/libmimalloc.so
- image: registry.k8s.io/ingress-nginx/controller:v1.9.6@sha256:1405cc613bd95b2c6edd8b2a152510ae91c7e62aea4698500d23b2145960ab9c
+ image: registry.k8s.io/ingress-nginx/controller:v1.10.0@sha256:42b3f0e5d0846876b1791cd3afeb5f1cbbe4259d6f35651dcc1b5c980925379c
imagePullPolicy: IfNotPresent
lifecycle:
preStop:
@@ -521,7 +522,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.9.6
+ app.kubernetes.io/version: 1.10.0
name: ingress-nginx-admission-create
namespace: ingress-nginx
spec:
@@ -532,7 +533,7 @@ spec:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.9.6
+ app.kubernetes.io/version: 1.10.0
name: ingress-nginx-admission-create
spec:
containers:
@@ -546,7 +547,7 @@ spec:
valueFrom:
fieldRef:
fieldPath: metadata.namespace
- image: registry.k8s.io/ingress-nginx/kube-webhook-certgen:v20231226-1a7112e06@sha256:25d6a5f11211cc5c3f9f2bf552b585374af287b4debf693cacbe2da47daa5084
+ image: registry.k8s.io/ingress-nginx/kube-webhook-certgen:v1.4.0@sha256:44d1d0e9f19c63f58b380c5fddaca7cf22c7cee564adeff365225a5df5ef3334
imagePullPolicy: IfNotPresent
name: create
securityContext:
@@ -572,7 +573,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.9.6
+ app.kubernetes.io/version: 1.10.0
name: ingress-nginx-admission-patch
namespace: ingress-nginx
spec:
@@ -583,7 +584,7 @@ spec:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.9.6
+ app.kubernetes.io/version: 1.10.0
name: ingress-nginx-admission-patch
spec:
containers:
@@ -599,7 +600,7 @@ spec:
valueFrom:
fieldRef:
fieldPath: metadata.namespace
- image: registry.k8s.io/ingress-nginx/kube-webhook-certgen:v20231226-1a7112e06@sha256:25d6a5f11211cc5c3f9f2bf552b585374af287b4debf693cacbe2da47daa5084
+ image: registry.k8s.io/ingress-nginx/kube-webhook-certgen:v1.4.0@sha256:44d1d0e9f19c63f58b380c5fddaca7cf22c7cee564adeff365225a5df5ef3334
imagePullPolicy: IfNotPresent
name: patch
securityContext:
@@ -625,7 +626,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.9.6
+ app.kubernetes.io/version: 1.10.0
name: nginx
spec:
controller: k8s.io/ingress-nginx
@@ -638,7 +639,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.9.6
+ app.kubernetes.io/version: 1.10.0
name: ingress-nginx-admission
webhooks:
- admissionReviewVersions:
diff --git a/deploy/static/provider/exoscale/deploy.yaml b/deploy/static/provider/exoscale/deploy.yaml
index cf02501a4..79d945a53 100644
--- a/deploy/static/provider/exoscale/deploy.yaml
+++ b/deploy/static/provider/exoscale/deploy.yaml
@@ -15,7 +15,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.9.6
+ app.kubernetes.io/version: 1.10.0
name: ingress-nginx
namespace: ingress-nginx
---
@@ -27,7 +27,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.9.6
+ app.kubernetes.io/version: 1.10.0
name: ingress-nginx-admission
namespace: ingress-nginx
---
@@ -39,7 +39,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.9.6
+ app.kubernetes.io/version: 1.10.0
name: ingress-nginx
namespace: ingress-nginx
rules:
@@ -129,7 +129,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.9.6
+ app.kubernetes.io/version: 1.10.0
name: ingress-nginx-admission
namespace: ingress-nginx
rules:
@@ -148,7 +148,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.9.6
+ app.kubernetes.io/version: 1.10.0
name: ingress-nginx
rules:
- apiGroups:
@@ -230,7 +230,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.9.6
+ app.kubernetes.io/version: 1.10.0
name: ingress-nginx-admission
rules:
- apiGroups:
@@ -249,7 +249,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.9.6
+ app.kubernetes.io/version: 1.10.0
name: ingress-nginx
namespace: ingress-nginx
roleRef:
@@ -269,7 +269,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.9.6
+ app.kubernetes.io/version: 1.10.0
name: ingress-nginx-admission
namespace: ingress-nginx
roleRef:
@@ -288,7 +288,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.9.6
+ app.kubernetes.io/version: 1.10.0
name: ingress-nginx
roleRef:
apiGroup: rbac.authorization.k8s.io
@@ -307,7 +307,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.9.6
+ app.kubernetes.io/version: 1.10.0
name: ingress-nginx-admission
roleRef:
apiGroup: rbac.authorization.k8s.io
@@ -328,7 +328,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.9.6
+ app.kubernetes.io/version: 1.10.0
name: ingress-nginx-controller
namespace: ingress-nginx
---
@@ -349,7 +349,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.9.6
+ app.kubernetes.io/version: 1.10.0
name: ingress-nginx-controller
namespace: ingress-nginx
spec:
@@ -382,7 +382,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.9.6
+ app.kubernetes.io/version: 1.10.0
name: ingress-nginx-controller-admission
namespace: ingress-nginx
spec:
@@ -405,7 +405,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.9.6
+ app.kubernetes.io/version: 1.10.0
name: ingress-nginx-controller
namespace: ingress-nginx
spec:
@@ -423,7 +423,7 @@ spec:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.9.6
+ app.kubernetes.io/version: 1.10.0
spec:
containers:
- args:
@@ -436,6 +436,7 @@ spec:
- --validating-webhook=:8443
- --validating-webhook-certificate=/usr/local/certificates/cert
- --validating-webhook-key=/usr/local/certificates/key
+ - --enable-metrics=false
env:
- name: POD_NAME
valueFrom:
@@ -447,7 +448,7 @@ spec:
fieldPath: metadata.namespace
- name: LD_PRELOAD
value: /usr/local/lib/libmimalloc.so
- image: registry.k8s.io/ingress-nginx/controller:v1.9.6@sha256:1405cc613bd95b2c6edd8b2a152510ae91c7e62aea4698500d23b2145960ab9c
+ image: registry.k8s.io/ingress-nginx/controller:v1.10.0@sha256:42b3f0e5d0846876b1791cd3afeb5f1cbbe4259d6f35651dcc1b5c980925379c
imagePullPolicy: IfNotPresent
lifecycle:
preStop:
@@ -527,7 +528,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.9.6
+ app.kubernetes.io/version: 1.10.0
name: ingress-nginx-admission-create
namespace: ingress-nginx
spec:
@@ -538,7 +539,7 @@ spec:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.9.6
+ app.kubernetes.io/version: 1.10.0
name: ingress-nginx-admission-create
spec:
containers:
@@ -552,7 +553,7 @@ spec:
valueFrom:
fieldRef:
fieldPath: metadata.namespace
- image: registry.k8s.io/ingress-nginx/kube-webhook-certgen:v20231226-1a7112e06@sha256:25d6a5f11211cc5c3f9f2bf552b585374af287b4debf693cacbe2da47daa5084
+ image: registry.k8s.io/ingress-nginx/kube-webhook-certgen:v1.4.0@sha256:44d1d0e9f19c63f58b380c5fddaca7cf22c7cee564adeff365225a5df5ef3334
imagePullPolicy: IfNotPresent
name: create
securityContext:
@@ -578,7 +579,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.9.6
+ app.kubernetes.io/version: 1.10.0
name: ingress-nginx-admission-patch
namespace: ingress-nginx
spec:
@@ -589,7 +590,7 @@ spec:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.9.6
+ app.kubernetes.io/version: 1.10.0
name: ingress-nginx-admission-patch
spec:
containers:
@@ -605,7 +606,7 @@ spec:
valueFrom:
fieldRef:
fieldPath: metadata.namespace
- image: registry.k8s.io/ingress-nginx/kube-webhook-certgen:v20231226-1a7112e06@sha256:25d6a5f11211cc5c3f9f2bf552b585374af287b4debf693cacbe2da47daa5084
+ image: registry.k8s.io/ingress-nginx/kube-webhook-certgen:v1.4.0@sha256:44d1d0e9f19c63f58b380c5fddaca7cf22c7cee564adeff365225a5df5ef3334
imagePullPolicy: IfNotPresent
name: patch
securityContext:
@@ -631,7 +632,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.9.6
+ app.kubernetes.io/version: 1.10.0
name: nginx
spec:
controller: k8s.io/ingress-nginx
@@ -644,7 +645,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.9.6
+ app.kubernetes.io/version: 1.10.0
name: ingress-nginx-admission
webhooks:
- admissionReviewVersions:
diff --git a/deploy/static/provider/kind/deploy.yaml b/deploy/static/provider/kind/deploy.yaml
index d27f83d9d..4963253c1 100644
--- a/deploy/static/provider/kind/deploy.yaml
+++ b/deploy/static/provider/kind/deploy.yaml
@@ -15,7 +15,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.9.6
+ app.kubernetes.io/version: 1.10.0
name: ingress-nginx
namespace: ingress-nginx
---
@@ -27,7 +27,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.9.6
+ app.kubernetes.io/version: 1.10.0
name: ingress-nginx-admission
namespace: ingress-nginx
---
@@ -39,7 +39,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.9.6
+ app.kubernetes.io/version: 1.10.0
name: ingress-nginx
namespace: ingress-nginx
rules:
@@ -129,7 +129,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.9.6
+ app.kubernetes.io/version: 1.10.0
name: ingress-nginx-admission
namespace: ingress-nginx
rules:
@@ -148,7 +148,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.9.6
+ app.kubernetes.io/version: 1.10.0
name: ingress-nginx
rules:
- apiGroups:
@@ -230,7 +230,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.9.6
+ app.kubernetes.io/version: 1.10.0
name: ingress-nginx-admission
rules:
- apiGroups:
@@ -249,7 +249,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.9.6
+ app.kubernetes.io/version: 1.10.0
name: ingress-nginx
namespace: ingress-nginx
roleRef:
@@ -269,7 +269,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.9.6
+ app.kubernetes.io/version: 1.10.0
name: ingress-nginx-admission
namespace: ingress-nginx
roleRef:
@@ -288,7 +288,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.9.6
+ app.kubernetes.io/version: 1.10.0
name: ingress-nginx
roleRef:
apiGroup: rbac.authorization.k8s.io
@@ -307,7 +307,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.9.6
+ app.kubernetes.io/version: 1.10.0
name: ingress-nginx-admission
roleRef:
apiGroup: rbac.authorization.k8s.io
@@ -328,7 +328,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.9.6
+ app.kubernetes.io/version: 1.10.0
name: ingress-nginx-controller
namespace: ingress-nginx
---
@@ -340,7 +340,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.9.6
+ app.kubernetes.io/version: 1.10.0
name: ingress-nginx-controller
namespace: ingress-nginx
spec:
@@ -372,7 +372,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.9.6
+ app.kubernetes.io/version: 1.10.0
name: ingress-nginx-controller-admission
namespace: ingress-nginx
spec:
@@ -395,7 +395,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.9.6
+ app.kubernetes.io/version: 1.10.0
name: ingress-nginx-controller
namespace: ingress-nginx
spec:
@@ -417,7 +417,7 @@ spec:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.9.6
+ app.kubernetes.io/version: 1.10.0
spec:
containers:
- args:
@@ -430,6 +430,7 @@ spec:
- --validating-webhook-certificate=/usr/local/certificates/cert
- --validating-webhook-key=/usr/local/certificates/key
- --watch-ingress-without-class=true
+ - --enable-metrics=false
- --publish-status-address=localhost
env:
- name: POD_NAME
@@ -442,7 +443,7 @@ spec:
fieldPath: metadata.namespace
- name: LD_PRELOAD
value: /usr/local/lib/libmimalloc.so
- image: registry.k8s.io/ingress-nginx/controller:v1.9.6@sha256:1405cc613bd95b2c6edd8b2a152510ae91c7e62aea4698500d23b2145960ab9c
+ image: registry.k8s.io/ingress-nginx/controller:v1.10.0@sha256:42b3f0e5d0846876b1791cd3afeb5f1cbbe4259d6f35651dcc1b5c980925379c
imagePullPolicy: IfNotPresent
lifecycle:
preStop:
@@ -528,7 +529,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.9.6
+ app.kubernetes.io/version: 1.10.0
name: ingress-nginx-admission-create
namespace: ingress-nginx
spec:
@@ -539,7 +540,7 @@ spec:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.9.6
+ app.kubernetes.io/version: 1.10.0
name: ingress-nginx-admission-create
spec:
containers:
@@ -553,7 +554,7 @@ spec:
valueFrom:
fieldRef:
fieldPath: metadata.namespace
- image: registry.k8s.io/ingress-nginx/kube-webhook-certgen:v20231226-1a7112e06@sha256:25d6a5f11211cc5c3f9f2bf552b585374af287b4debf693cacbe2da47daa5084
+ image: registry.k8s.io/ingress-nginx/kube-webhook-certgen:v1.4.0@sha256:44d1d0e9f19c63f58b380c5fddaca7cf22c7cee564adeff365225a5df5ef3334
imagePullPolicy: IfNotPresent
name: create
securityContext:
@@ -579,7 +580,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.9.6
+ app.kubernetes.io/version: 1.10.0
name: ingress-nginx-admission-patch
namespace: ingress-nginx
spec:
@@ -590,7 +591,7 @@ spec:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.9.6
+ app.kubernetes.io/version: 1.10.0
name: ingress-nginx-admission-patch
spec:
containers:
@@ -606,7 +607,7 @@ spec:
valueFrom:
fieldRef:
fieldPath: metadata.namespace
- image: registry.k8s.io/ingress-nginx/kube-webhook-certgen:v20231226-1a7112e06@sha256:25d6a5f11211cc5c3f9f2bf552b585374af287b4debf693cacbe2da47daa5084
+ image: registry.k8s.io/ingress-nginx/kube-webhook-certgen:v1.4.0@sha256:44d1d0e9f19c63f58b380c5fddaca7cf22c7cee564adeff365225a5df5ef3334
imagePullPolicy: IfNotPresent
name: patch
securityContext:
@@ -632,7 +633,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.9.6
+ app.kubernetes.io/version: 1.10.0
name: nginx
spec:
controller: k8s.io/ingress-nginx
@@ -645,7 +646,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.9.6
+ app.kubernetes.io/version: 1.10.0
name: ingress-nginx-admission
webhooks:
- admissionReviewVersions:
diff --git a/deploy/static/provider/oracle/deploy.yaml b/deploy/static/provider/oracle/deploy.yaml
index 8d2200925..080c206a5 100644
--- a/deploy/static/provider/oracle/deploy.yaml
+++ b/deploy/static/provider/oracle/deploy.yaml
@@ -15,7 +15,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.9.6
+ app.kubernetes.io/version: 1.10.0
name: ingress-nginx
namespace: ingress-nginx
---
@@ -27,7 +27,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.9.6
+ app.kubernetes.io/version: 1.10.0
name: ingress-nginx-admission
namespace: ingress-nginx
---
@@ -39,7 +39,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.9.6
+ app.kubernetes.io/version: 1.10.0
name: ingress-nginx
namespace: ingress-nginx
rules:
@@ -129,7 +129,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.9.6
+ app.kubernetes.io/version: 1.10.0
name: ingress-nginx-admission
namespace: ingress-nginx
rules:
@@ -148,7 +148,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.9.6
+ app.kubernetes.io/version: 1.10.0
name: ingress-nginx
rules:
- apiGroups:
@@ -230,7 +230,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.9.6
+ app.kubernetes.io/version: 1.10.0
name: ingress-nginx-admission
rules:
- apiGroups:
@@ -249,7 +249,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.9.6
+ app.kubernetes.io/version: 1.10.0
name: ingress-nginx
namespace: ingress-nginx
roleRef:
@@ -269,7 +269,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.9.6
+ app.kubernetes.io/version: 1.10.0
name: ingress-nginx-admission
namespace: ingress-nginx
roleRef:
@@ -288,7 +288,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.9.6
+ app.kubernetes.io/version: 1.10.0
name: ingress-nginx
roleRef:
apiGroup: rbac.authorization.k8s.io
@@ -307,7 +307,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.9.6
+ app.kubernetes.io/version: 1.10.0
name: ingress-nginx-admission
roleRef:
apiGroup: rbac.authorization.k8s.io
@@ -328,7 +328,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.9.6
+ app.kubernetes.io/version: 1.10.0
name: ingress-nginx-controller
namespace: ingress-nginx
---
@@ -344,7 +344,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.9.6
+ app.kubernetes.io/version: 1.10.0
name: ingress-nginx-controller
namespace: ingress-nginx
spec:
@@ -377,7 +377,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.9.6
+ app.kubernetes.io/version: 1.10.0
name: ingress-nginx-controller-admission
namespace: ingress-nginx
spec:
@@ -400,7 +400,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.9.6
+ app.kubernetes.io/version: 1.10.0
name: ingress-nginx-controller
namespace: ingress-nginx
spec:
@@ -422,7 +422,7 @@ spec:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.9.6
+ app.kubernetes.io/version: 1.10.0
spec:
containers:
- args:
@@ -435,6 +435,7 @@ spec:
- --validating-webhook=:8443
- --validating-webhook-certificate=/usr/local/certificates/cert
- --validating-webhook-key=/usr/local/certificates/key
+ - --enable-metrics=false
env:
- name: POD_NAME
valueFrom:
@@ -446,7 +447,7 @@ spec:
fieldPath: metadata.namespace
- name: LD_PRELOAD
value: /usr/local/lib/libmimalloc.so
- image: registry.k8s.io/ingress-nginx/controller:v1.9.6@sha256:1405cc613bd95b2c6edd8b2a152510ae91c7e62aea4698500d23b2145960ab9c
+ image: registry.k8s.io/ingress-nginx/controller:v1.10.0@sha256:42b3f0e5d0846876b1791cd3afeb5f1cbbe4259d6f35651dcc1b5c980925379c
imagePullPolicy: IfNotPresent
lifecycle:
preStop:
@@ -522,7 +523,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.9.6
+ app.kubernetes.io/version: 1.10.0
name: ingress-nginx-admission-create
namespace: ingress-nginx
spec:
@@ -533,7 +534,7 @@ spec:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.9.6
+ app.kubernetes.io/version: 1.10.0
name: ingress-nginx-admission-create
spec:
containers:
@@ -547,7 +548,7 @@ spec:
valueFrom:
fieldRef:
fieldPath: metadata.namespace
- image: registry.k8s.io/ingress-nginx/kube-webhook-certgen:v20231226-1a7112e06@sha256:25d6a5f11211cc5c3f9f2bf552b585374af287b4debf693cacbe2da47daa5084
+ image: registry.k8s.io/ingress-nginx/kube-webhook-certgen:v1.4.0@sha256:44d1d0e9f19c63f58b380c5fddaca7cf22c7cee564adeff365225a5df5ef3334
imagePullPolicy: IfNotPresent
name: create
securityContext:
@@ -573,7 +574,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.9.6
+ app.kubernetes.io/version: 1.10.0
name: ingress-nginx-admission-patch
namespace: ingress-nginx
spec:
@@ -584,7 +585,7 @@ spec:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.9.6
+ app.kubernetes.io/version: 1.10.0
name: ingress-nginx-admission-patch
spec:
containers:
@@ -600,7 +601,7 @@ spec:
valueFrom:
fieldRef:
fieldPath: metadata.namespace
- image: registry.k8s.io/ingress-nginx/kube-webhook-certgen:v20231226-1a7112e06@sha256:25d6a5f11211cc5c3f9f2bf552b585374af287b4debf693cacbe2da47daa5084
+ image: registry.k8s.io/ingress-nginx/kube-webhook-certgen:v1.4.0@sha256:44d1d0e9f19c63f58b380c5fddaca7cf22c7cee564adeff365225a5df5ef3334
imagePullPolicy: IfNotPresent
name: patch
securityContext:
@@ -626,7 +627,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.9.6
+ app.kubernetes.io/version: 1.10.0
name: nginx
spec:
controller: k8s.io/ingress-nginx
@@ -639,7 +640,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.9.6
+ app.kubernetes.io/version: 1.10.0
name: ingress-nginx-admission
webhooks:
- admissionReviewVersions:
diff --git a/deploy/static/provider/scw/deploy.yaml b/deploy/static/provider/scw/deploy.yaml
index 44d91e1af..d98955d80 100644
--- a/deploy/static/provider/scw/deploy.yaml
+++ b/deploy/static/provider/scw/deploy.yaml
@@ -15,7 +15,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.9.6
+ app.kubernetes.io/version: 1.10.0
name: ingress-nginx
namespace: ingress-nginx
---
@@ -27,7 +27,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.9.6
+ app.kubernetes.io/version: 1.10.0
name: ingress-nginx-admission
namespace: ingress-nginx
---
@@ -39,7 +39,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.9.6
+ app.kubernetes.io/version: 1.10.0
name: ingress-nginx
namespace: ingress-nginx
rules:
@@ -129,7 +129,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.9.6
+ app.kubernetes.io/version: 1.10.0
name: ingress-nginx-admission
namespace: ingress-nginx
rules:
@@ -148,7 +148,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.9.6
+ app.kubernetes.io/version: 1.10.0
name: ingress-nginx
rules:
- apiGroups:
@@ -230,7 +230,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.9.6
+ app.kubernetes.io/version: 1.10.0
name: ingress-nginx-admission
rules:
- apiGroups:
@@ -249,7 +249,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.9.6
+ app.kubernetes.io/version: 1.10.0
name: ingress-nginx
namespace: ingress-nginx
roleRef:
@@ -269,7 +269,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.9.6
+ app.kubernetes.io/version: 1.10.0
name: ingress-nginx-admission
namespace: ingress-nginx
roleRef:
@@ -288,7 +288,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.9.6
+ app.kubernetes.io/version: 1.10.0
name: ingress-nginx
roleRef:
apiGroup: rbac.authorization.k8s.io
@@ -307,7 +307,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.9.6
+ app.kubernetes.io/version: 1.10.0
name: ingress-nginx-admission
roleRef:
apiGroup: rbac.authorization.k8s.io
@@ -329,7 +329,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.9.6
+ app.kubernetes.io/version: 1.10.0
name: ingress-nginx-controller
namespace: ingress-nginx
---
@@ -343,7 +343,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.9.6
+ app.kubernetes.io/version: 1.10.0
name: ingress-nginx-controller
namespace: ingress-nginx
spec:
@@ -376,7 +376,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.9.6
+ app.kubernetes.io/version: 1.10.0
name: ingress-nginx-controller-admission
namespace: ingress-nginx
spec:
@@ -399,7 +399,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.9.6
+ app.kubernetes.io/version: 1.10.0
name: ingress-nginx-controller
namespace: ingress-nginx
spec:
@@ -421,7 +421,7 @@ spec:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.9.6
+ app.kubernetes.io/version: 1.10.0
spec:
containers:
- args:
@@ -434,6 +434,7 @@ spec:
- --validating-webhook=:8443
- --validating-webhook-certificate=/usr/local/certificates/cert
- --validating-webhook-key=/usr/local/certificates/key
+ - --enable-metrics=false
env:
- name: POD_NAME
valueFrom:
@@ -445,7 +446,7 @@ spec:
fieldPath: metadata.namespace
- name: LD_PRELOAD
value: /usr/local/lib/libmimalloc.so
- image: registry.k8s.io/ingress-nginx/controller:v1.9.6@sha256:1405cc613bd95b2c6edd8b2a152510ae91c7e62aea4698500d23b2145960ab9c
+ image: registry.k8s.io/ingress-nginx/controller:v1.10.0@sha256:42b3f0e5d0846876b1791cd3afeb5f1cbbe4259d6f35651dcc1b5c980925379c
imagePullPolicy: IfNotPresent
lifecycle:
preStop:
@@ -521,7 +522,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.9.6
+ app.kubernetes.io/version: 1.10.0
name: ingress-nginx-admission-create
namespace: ingress-nginx
spec:
@@ -532,7 +533,7 @@ spec:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.9.6
+ app.kubernetes.io/version: 1.10.0
name: ingress-nginx-admission-create
spec:
containers:
@@ -546,7 +547,7 @@ spec:
valueFrom:
fieldRef:
fieldPath: metadata.namespace
- image: registry.k8s.io/ingress-nginx/kube-webhook-certgen:v20231226-1a7112e06@sha256:25d6a5f11211cc5c3f9f2bf552b585374af287b4debf693cacbe2da47daa5084
+ image: registry.k8s.io/ingress-nginx/kube-webhook-certgen:v1.4.0@sha256:44d1d0e9f19c63f58b380c5fddaca7cf22c7cee564adeff365225a5df5ef3334
imagePullPolicy: IfNotPresent
name: create
securityContext:
@@ -572,7 +573,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.9.6
+ app.kubernetes.io/version: 1.10.0
name: ingress-nginx-admission-patch
namespace: ingress-nginx
spec:
@@ -583,7 +584,7 @@ spec:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.9.6
+ app.kubernetes.io/version: 1.10.0
name: ingress-nginx-admission-patch
spec:
containers:
@@ -599,7 +600,7 @@ spec:
valueFrom:
fieldRef:
fieldPath: metadata.namespace
- image: registry.k8s.io/ingress-nginx/kube-webhook-certgen:v20231226-1a7112e06@sha256:25d6a5f11211cc5c3f9f2bf552b585374af287b4debf693cacbe2da47daa5084
+ image: registry.k8s.io/ingress-nginx/kube-webhook-certgen:v1.4.0@sha256:44d1d0e9f19c63f58b380c5fddaca7cf22c7cee564adeff365225a5df5ef3334
imagePullPolicy: IfNotPresent
name: patch
securityContext:
@@ -625,7 +626,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.9.6
+ app.kubernetes.io/version: 1.10.0
name: nginx
spec:
controller: k8s.io/ingress-nginx
@@ -638,7 +639,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.9.6
+ app.kubernetes.io/version: 1.10.0
name: ingress-nginx-admission
webhooks:
- admissionReviewVersions:
diff --git a/docs/deploy/index.md b/docs/deploy/index.md
index ae28c2502..4e6b71235 100644
--- a/docs/deploy/index.md
+++ b/docs/deploy/index.md
@@ -68,7 +68,7 @@ helm show values ingress-nginx --repo https://kubernetes.github.io/ingress-nginx
**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.8.2/deploy/static/provider/cloud/deploy.yaml
+kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-v1.10.0/deploy/static/provider/cloud/deploy.yaml
```
!!! info
@@ -249,7 +249,7 @@ In AWS, we use a Network load balancer (NLB) to expose the Ingress-Nginx Control
##### Network Load Balancer (NLB)
```console
-kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-v1.8.2/deploy/static/provider/aws/deploy.yaml
+kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-v1.10.0/deploy/static/provider/aws/deploy.yaml
```
##### TLS termination in AWS Load Balancer (NLB)
@@ -257,10 +257,10 @@ kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/cont
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.8.2/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.10.0/deploy/static/provider/aws/nlb-with-tls-termination/deploy.yaml) template
```console
- wget https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-v1.8.2/deploy/static/provider/aws/nlb-with-tls-termination/deploy.yaml
+ wget https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-v1.10.0/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:
@@ -306,7 +306,7 @@ Then, the ingress controller can be installed like this:
```console
-kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-v1.8.2/deploy/static/provider/cloud/deploy.yaml
+kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-v1.10.0/deploy/static/provider/cloud/deploy.yaml
```
!!! warning
@@ -323,7 +323,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.8.2/deploy/static/provider/cloud/deploy.yaml
+kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-v1.10.0/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,7 +331,7 @@ 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.8.2/deploy/static/provider/do/deploy.yaml
+kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-v1.10.0/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.
@@ -339,7 +339,7 @@ kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/cont
#### Scaleway
```console
-kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-v1.8.2/deploy/static/provider/scw/deploy.yaml
+kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-v1.10.0/deploy/static/provider/scw/deploy.yaml
```
#### Exoscale
@@ -354,7 +354,7 @@ The full list of annotations supported by Exoscale is available in the Exoscale
#### Oracle Cloud Infrastructure
```console
-kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-v1.8.2/deploy/static/provider/cloud/deploy.yaml
+kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-v1.10.0/deploy/static/provider/cloud/deploy.yaml
```
A
@@ -381,7 +381,7 @@ For quick testing, you can use a
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.8.2/deploy/static/provider/baremetal/deploy.yaml
+kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-v1.10.0/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),
diff --git a/docs/e2e-tests.md b/docs/e2e-tests.md
index bbcdadfc6..b836fff6e 100644
--- a/docs/e2e-tests.md
+++ b/docs/e2e-tests.md
@@ -147,6 +147,7 @@ Do not try to edit it manually.
- [should not allow - portless origin with wildcard origin](https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/cors.go#L520)
- [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-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)
@@ -155,6 +156,8 @@ Do not try to edit it manually.
- [disable-access-log set access_log off](https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/disableaccesslog.go#L35)
- [disable-http-access-log set access_log off](https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/disableaccesslog.go#L53)
- [disable-stream-access-log set access_log off](https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/disableaccesslog.go#L71)
+### [disable-proxy-intercept-errors](https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/disableproxyintercepterrors.go#L31)
+- [configures Nginx correctly](https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/disableproxyintercepterrors.go#L39)
### [backend-protocol - FastCGI](https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/fastcgi.go#L30)
- [should use fastcgi_pass in the configuration file](https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/fastcgi.go#L37)
- [should add fastcgi_index in the configuration file](https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/fastcgi.go#L54)
@@ -402,13 +405,13 @@ 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)
-### [gzip](https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/settings/gzip.go#L29)
-- [should be disabled by default](https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/settings/gzip.go#L32)
-- [should be enabled with default settings](https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/settings/gzip.go#L39)
-- [should set gzip_comp_level to 4](https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/settings/gzip.go#L56)
-- [should set gzip_disable to msie6](https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/settings/gzip.go#L67)
-- [should set gzip_min_length to 100](https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/settings/gzip.go#L78)
-- [should set gzip_types to application/javascript](https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/settings/gzip.go#L89)
+### [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)
+- [should set gzip_comp_level to 4](https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/settings/gzip.go#L82)
+- [should set gzip_disable to msie6](https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/settings/gzip.go#L102)
+- [should set gzip_min_length to 100](https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/settings/gzip.go#L132)
+- [should set gzip_types to text/html](https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/settings/gzip.go#L164)
### [hash size](https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/settings/hash-size.go#L27)
- [should set server_names_hash_bucket_size](https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/settings/hash-size.go#L39)
- [should set server_names_hash_max_size](https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/settings/hash-size.go#L47)
@@ -478,26 +481,8 @@ Do not try to edit it manually.
- [should include opentelemetry_trust_incoming_spans on directive when enabled](https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/settings/opentelemetry.go#L76)
- [should not exists opentelemetry_operation_name directive when is empty](https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/settings/opentelemetry.go#L91)
- [should exists opentelemetry_operation_name directive when is configured](https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/settings/opentelemetry.go#L106)
-### [Configure OpenTracing](https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/settings/opentracing.go#L52)
-- [should not exists opentracing directive](https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/settings/opentracing.go#L62)
-- [should exists opentracing directive when is enabled](https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/settings/opentracing.go#L75)
-- [should include opentracing_trust_incoming_span off directive when disabled](https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/settings/opentracing.go#L89)
-- [should not exists opentracing_operation_name directive when is empty](https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/settings/opentracing.go#L104)
-- [should exists opentracing_operation_name directive when is configured](https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/settings/opentracing.go#L119)
-- [should not exists opentracing_location_operation_name directive when is empty](https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/settings/opentracing.go#L134)
-- [should exists opentracing_location_operation_name directive when is configured](https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/settings/opentracing.go#L149)
-- [should enable opentracing using zipkin](https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/settings/opentracing.go#L164)
-- [should enable opentracing using jaeger](https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/settings/opentracing.go#L176)
-- [should enable opentracing using jaeger with sampler host](https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/settings/opentracing.go#L188)
-- [should propagate the w3c header when configured with jaeger](https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/settings/opentracing.go#L201)
-- [should enable opentracing using jaeger with an HTTP endpoint](https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/settings/opentracing.go#L232)
-- [should enable opentracing using datadog](https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/settings/opentracing.go#L245)
### [plugins](https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/settings/plugins.go#L28)
- [should exist a x-hello-world header](https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/settings/plugins.go#L35)
-### [[Security] Pod Security Policies](https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/settings/pod_security_policy.go#L41)
-- [should be running with a Pod Security Policy](https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/settings/pod_security_policy.go#L44)
-### [[Security] Pod Security Policies with volumes](https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/settings/pod_security_policy_volumes.go#L37)
-- [should be running with a Pod Security Policy](https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/settings/pod_security_policy_volumes.go#L40)
### [proxy-connect-timeout](https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/settings/proxy_connect_timeout.go#L29)
- [should set valid proxy timeouts using configmap values](https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/settings/proxy_connect_timeout.go#L37)
- [should not set invalid proxy timeouts using configmap values](https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/settings/proxy_connect_timeout.go#L53)
diff --git a/docs/examples/rewrite/README.md b/docs/examples/rewrite/README.md
index aadcc1e4b..16889e0bc 100644
--- a/docs/examples/rewrite/README.md
+++ b/docs/examples/rewrite/README.md
@@ -31,7 +31,7 @@ Rewriting can be controlled using the following annotations:
[Captured groups](https://www.regular-expressions.info/refcapture.html) are saved in numbered placeholders, chronologically, in the form `$1`, `$2` ... `$n`. These placeholders can be used as parameters in the `rewrite-target` annotation.
!!! note
- Please see the [FAQ](../faq.md#validation-of-path) for Validation Of __`path`__
+ Please see the [FAQ](../../faq.md#validation-of-path) for Validation Of __`path`__
Create an Ingress rule with a rewrite annotation:
diff --git a/go.mod b/go.mod
index 1aed07bba..6e3723b15 100644
--- a/go.mod
+++ b/go.mod
@@ -14,19 +14,19 @@ require (
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.15.0
+ 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.18.0
+ github.com/prometheus/client_golang v1.19.0
github.com/prometheus/client_model v0.6.0
- github.com/prometheus/common v0.48.0
+ github.com/prometheus/common v0.50.0
github.com/spf13/cobra v1.8.0
github.com/spf13/pflag v1.0.5
- github.com/stretchr/testify v1.8.4
+ 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.20.0
- google.golang.org/grpc v1.62.0
+ golang.org/x/crypto v0.21.0
+ google.golang.org/grpc v1.62.1
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
@@ -104,17 +104,17 @@ require (
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.21.0 // indirect
- golang.org/x/oauth2 v0.17.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.17.0 // indirect
- golang.org/x/term v0.17.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
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.32.0 // indirect
+ google.golang.org/protobuf v1.33.0 // 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
diff --git a/go.sum b/go.sum
index 88d1a1a44..5a40ced85 100644
--- a/go.sum
+++ b/go.sum
@@ -247,6 +247,7 @@ github.com/mattn/go-colorable v0.1.13 h1:fFA4WZxdEF4tXPZVKMLwD8oUnCTTo08duU7wxec
github.com/mattn/go-colorable v0.1.13/go.mod h1:7S9/ev0klgBDR4GtXTXX8a3vIGJpMovkB8vQcUbaXHg=
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=
@@ -287,8 +288,8 @@ 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.15.0 h1:79HwNRBAZHOEwrczrgSOPy+eFTTlIGELKy5as+ClttY=
-github.com/onsi/ginkgo/v2 v2.15.0/go.mod h1:HlxMHtYF57y6Dpf+mc5529KKmSq9h2FpCF+/ZkwUxKM=
+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/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=
@@ -310,8 +311,8 @@ github.com/prometheus/client_golang v0.9.1/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXP
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.18.0 h1:HzFfmkOzH5Q8L8G+kSJKUx5dtG87sewO+FoDDqP5Tbk=
-github.com/prometheus/client_golang v1.18.0/go.mod h1:T+GXkCk5wSJyOqMIzVgvvjFDlkOQntgjkJWKrN5txjA=
+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=
@@ -322,8 +323,8 @@ github.com/prometheus/common v0.4.1/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y8
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.48.0 h1:QO8U2CdOzSn1BBsmXJXduaaW+dY/5QLjfB8svtSzKKE=
-github.com/prometheus/common v0.48.0/go.mod h1:0/KsvlIEfPQCQ5I2iNSAWKPZziNCvRs5EC6ILDTlAPc=
+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=
@@ -351,8 +352,8 @@ 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.0 h1:1zr/of2m5FGMsad5YfcqgdqdWrIhu+EBEJRhR1U7z/c=
-github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo=
+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=
@@ -360,8 +361,8 @@ github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81P
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.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/urfave/cli v1.17.1-0.20160602030128-01a33823596e/go.mod h1:70zkFmudgCuE/ngEzBv17Jvp/497gISqfk5gWijbERA=
github.com/xlab/treeprint v1.2.0 h1:HzHnuAF1plUN2zGlAFHbSQP2qJ0ZAD3XF5XD7OesXRQ=
github.com/xlab/treeprint v1.2.0/go.mod h1:gj5Gd3gPdKtR1ikdDK6fnFLdmIS0X30kTTuNd/WEJu0=
@@ -400,8 +401,8 @@ golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8U
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.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/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=
@@ -471,16 +472,16 @@ golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwY
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.21.0 h1:AQyQV4dYCvJ7vGmJyKki9+PBdyvhkSd8EIx/qb0AYv4=
-golang.org/x/net v0.21.0/go.mod h1:bIjVDfnllIU7BJ2DNgfnXvpSvtn8VRwhlsaeUTyUS44=
+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.17.0 h1:6m3ZPmLEFdVxKKWnKq4VqZ60gutO35zm+zrAHVmHyDQ=
-golang.org/x/oauth2 v0.17.0/go.mod h1:OzPDGQiuQMguemayvdylqddI7qcD9lnSDb+1FiwQ5HA=
+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-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
@@ -542,12 +543,12 @@ golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBc
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.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/term v0.17.0 h1:mkTF7LCd6WGJNL3K1Ad7kwxNfYAW6a8a8QqtMblp/4U=
-golang.org/x/term v0.17.0/go.mod h1:lLRBjIVuehSbZlaOtGMbcMncT+aqLLLmKrsjNrUguwk=
+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/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=
@@ -683,8 +684,8 @@ google.golang.org/grpc v1.28.0/go.mod h1:rpkK4SK4GF4Ach/+MFLZUBavHOvF2JJB5uozKKa
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.0 h1:HQKZ/fa1bXkX1oFOvSjmZEUL8wLSaZTjCcLAlmZRtdk=
-google.golang.org/grpc v1.62.0/go.mod h1:IWTG0VlJLCh1SkC58F7np9ka9mx/WNkjl4PGJaiq+QE=
+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/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=
@@ -699,8 +700,8 @@ google.golang.org/protobuf v1.24.0/go.mod h1:r/3tXBNzIEhYS9I1OUVjXDlt8tc493IdKGj
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.32.0 h1:pPC6BG5ex8PDFnkbrGU3EixyhKcQ2aDuBS36lqK/C7I=
-google.golang.org/protobuf v1.32.0/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos=
+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=
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=
diff --git a/images/opentelemetry/rootfs/init_module.go b/images/opentelemetry/rootfs/init_module.go
index bebec728f..5d285052d 100644
--- a/images/opentelemetry/rootfs/init_module.go
+++ b/images/opentelemetry/rootfs/init_module.go
@@ -74,7 +74,6 @@ func run() error {
return nil
})
-
if err != nil {
return fmt.Errorf("failed to copy files: %w", err)
}
diff --git a/internal/ingress/annotations/authreq/main.go b/internal/ingress/annotations/authreq/main.go
index c66b0ed47..ad38c36b1 100644
--- a/internal/ingress/annotations/authreq/main.go
+++ b/internal/ingress/annotations/authreq/main.go
@@ -416,7 +416,7 @@ func (a authReq) Parse(ing *networking.Ingress) (interface{}, error) {
harr := strings.Split(hstr, ",")
for _, header := range harr {
header = strings.TrimSpace(header)
- if len(header) > 0 {
+ if header != "" {
if !ValidHeader(header) {
return nil, ing_errors.NewLocationDenied("invalid headers list")
}
@@ -505,7 +505,7 @@ func ParseStringToCacheDurations(input string) ([]string, error) {
arr := strings.Split(input, ",")
for _, duration := range arr {
duration = strings.TrimSpace(duration)
- if len(duration) > 0 {
+ if duration != "" {
if !ValidCacheDuration(duration) {
authCacheDuration = []string{DefaultCacheDuration}
return authCacheDuration, ing_errors.NewLocationDenied(fmt.Sprintf("invalid cache duration: %s", duration))
diff --git a/internal/ingress/annotations/canary/main.go b/internal/ingress/annotations/canary/main.go
index be5761675..ccfe14261 100644
--- a/internal/ingress/annotations/canary/main.go
+++ b/internal/ingress/annotations/canary/main.go
@@ -177,8 +177,8 @@ func (c canary) Parse(ing *networking.Ingress) (interface{}, error) {
config.Cookie = ""
}
- if !config.Enabled && (config.Weight > 0 || len(config.Header) > 0 || len(config.HeaderValue) > 0 || len(config.Cookie) > 0 ||
- len(config.HeaderPattern) > 0) {
+ if !config.Enabled && (config.Weight > 0 || config.Header != "" || config.HeaderValue != "" || config.Cookie != "" ||
+ config.HeaderPattern != "") {
return nil, errors.NewInvalidAnnotationConfiguration(canaryAnnotation, "configured but not enabled")
}
diff --git a/internal/ingress/annotations/parser/validators_test.go b/internal/ingress/annotations/parser/validators_test.go
index 8523232a2..ed8449452 100644
--- a/internal/ingress/annotations/parser/validators_test.go
+++ b/internal/ingress/annotations/parser/validators_test.go
@@ -104,7 +104,7 @@ func Test_checkAnnotation(t *testing.T) {
},
fields: AnnotationFields{
"otherannotation": AnnotationConfig{
- Validator: func(value string) error { return nil },
+ Validator: func(_ string) error { return nil },
},
},
},
diff --git a/internal/ingress/controller/checker_test.go b/internal/ingress/controller/checker_test.go
index 5fb6b09fd..a8a0b67ad 100644
--- a/internal/ingress/controller/checker_test.go
+++ b/internal/ingress/controller/checker_test.go
@@ -53,7 +53,7 @@ func TestNginxCheck(t *testing.T) {
server := &httptest.Server{
Listener: listener,
Config: &http.Server{
- Handler: http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
+ Handler: http.HandlerFunc(func(w http.ResponseWriter, _ *http.Request) {
w.WriteHeader(http.StatusOK)
fmt.Fprintf(w, "ok")
}),
diff --git a/internal/ingress/controller/controller_test.go b/internal/ingress/controller/controller_test.go
index c07fcfadf..e257dd1f1 100644
--- a/internal/ingress/controller/controller_test.go
+++ b/internal/ingress/controller/controller_test.go
@@ -170,7 +170,7 @@ func (fakeTemplate) Write(conf *ngx_config.TemplateConfig) ([]byte, error) {
func TestCheckIngress(t *testing.T) {
defer func() {
- err := filepath.Walk(os.TempDir(), func(path string, info os.FileInfo, err error) error {
+ err := filepath.Walk(os.TempDir(), func(path string, info os.FileInfo, _ error) error {
if info.IsDir() && os.TempDir() != path {
return filepath.SkipDir
}
@@ -1573,7 +1573,7 @@ func TestGetBackendServers(t *testing.T) {
},
},
},
- Validate: func(ingresses []*ingress.Ingress, upstreams []*ingress.Backend, servers []*ingress.Server) {
+ Validate: func(_ []*ingress.Ingress, _ []*ingress.Backend, servers []*ingress.Server) {
if len(servers) != 1 {
t.Errorf("servers count should be 1, got %d", len(servers))
return
@@ -1640,7 +1640,7 @@ func TestGetBackendServers(t *testing.T) {
},
},
},
- Validate: func(ingresses []*ingress.Ingress, upstreams []*ingress.Backend, servers []*ingress.Server) {
+ Validate: func(_ []*ingress.Ingress, _ []*ingress.Backend, servers []*ingress.Server) {
if len(servers) != 1 {
t.Errorf("servers count should be 1, got %d", len(servers))
return
@@ -1700,7 +1700,7 @@ func TestGetBackendServers(t *testing.T) {
},
},
},
- Validate: func(ingresses []*ingress.Ingress, upstreams []*ingress.Backend, servers []*ingress.Server) {
+ Validate: func(_ []*ingress.Ingress, _ []*ingress.Backend, servers []*ingress.Server) {
if len(servers) != 1 {
t.Errorf("servers count should be 1, got %d", len(servers))
return
@@ -1799,7 +1799,7 @@ func TestGetBackendServers(t *testing.T) {
},
},
},
- Validate: func(ingresses []*ingress.Ingress, upstreams []*ingress.Backend, servers []*ingress.Server) {
+ Validate: func(_ []*ingress.Ingress, _ []*ingress.Backend, servers []*ingress.Server) {
if len(servers) != 2 {
t.Errorf("servers count should be 2, got %d", len(servers))
return
@@ -2059,7 +2059,7 @@ func TestGetBackendServers(t *testing.T) {
},
},
},
- Validate: func(ingresses []*ingress.Ingress, upstreams []*ingress.Backend, servers []*ingress.Server) {
+ Validate: func(_ []*ingress.Ingress, upstreams []*ingress.Backend, servers []*ingress.Server) {
if len(servers) != 2 {
t.Errorf("servers count should be 2, got %d", len(servers))
return
@@ -2190,7 +2190,7 @@ func TestGetBackendServers(t *testing.T) {
},
},
},
- Validate: func(ingresses []*ingress.Ingress, upstreams []*ingress.Backend, servers []*ingress.Server) {
+ Validate: func(ingresses []*ingress.Ingress, _ []*ingress.Backend, servers []*ingress.Server) {
if len(servers) != 2 {
t.Errorf("servers count should be 2, got %d", len(servers))
return
@@ -2298,7 +2298,7 @@ func TestGetBackendServers(t *testing.T) {
},
},
},
- Validate: func(ingresses []*ingress.Ingress, upstreams []*ingress.Backend, servers []*ingress.Server) {
+ Validate: func(ingresses []*ingress.Ingress, _ []*ingress.Backend, servers []*ingress.Server) {
if len(servers) != 2 {
t.Errorf("servers count should be 2, got %d", len(servers))
return
@@ -2367,7 +2367,7 @@ func TestGetBackendServers(t *testing.T) {
},
},
},
- Validate: func(ingresses []*ingress.Ingress, upstreams []*ingress.Backend, servers []*ingress.Server) {
+ Validate: func(_ []*ingress.Ingress, _ []*ingress.Backend, servers []*ingress.Server) {
if len(servers) != 2 {
t.Errorf("servers count should be 1, got %d", len(servers))
return
@@ -2437,7 +2437,7 @@ func TestGetBackendServers(t *testing.T) {
},
},
},
- Validate: func(ingresses []*ingress.Ingress, upstreams []*ingress.Backend, servers []*ingress.Server) {
+ Validate: func(_ []*ingress.Ingress, _ []*ingress.Backend, servers []*ingress.Server) {
if len(servers) != 2 {
t.Errorf("servers count should be 2, got %d", len(servers))
return
diff --git a/internal/ingress/controller/location.go b/internal/ingress/controller/location.go
index 9776f8c87..221c089c2 100644
--- a/internal/ingress/controller/location.go
+++ b/internal/ingress/controller/location.go
@@ -100,7 +100,7 @@ func normalizePrefixPath(path string) string {
}
func needsRewrite(location *ingress.Location) bool {
- if len(location.Rewrite.Target) > 0 && location.Rewrite.Target != location.Path {
+ if location.Rewrite.Target != "" && location.Rewrite.Target != location.Path {
return true
}
diff --git a/internal/ingress/controller/nginx.go b/internal/ingress/controller/nginx.go
index 578d5b4e8..f14f5feae 100644
--- a/internal/ingress/controller/nginx.go
+++ b/internal/ingress/controller/nginx.go
@@ -197,7 +197,6 @@ func NewNGINXController(config *Configuration, mc metric.Collector) *NGINXContro
filesToWatch = append(filesToWatch, path)
return nil
})
-
if err != nil {
klog.Fatalf("Error creating file watchers: %v", err)
}
diff --git a/internal/ingress/controller/nginx_test.go b/internal/ingress/controller/nginx_test.go
index c68b0b188..27180e066 100644
--- a/internal/ingress/controller/nginx_test.go
+++ b/internal/ingress/controller/nginx_test.go
@@ -391,7 +391,7 @@ func TestCleanTempNginxCfg(t *testing.T) {
var files []string
- err = filepath.Walk(os.TempDir(), func(path string, info os.FileInfo, err error) error {
+ err = filepath.Walk(os.TempDir(), func(path string, info os.FileInfo, _ error) error {
if info.IsDir() && os.TempDir() != path {
return filepath.SkipDir
}
diff --git a/internal/ingress/controller/status.go b/internal/ingress/controller/status.go
index e061b2cb7..6bab7c2ad 100644
--- a/internal/ingress/controller/status.go
+++ b/internal/ingress/controller/status.go
@@ -59,7 +59,7 @@ func setupLeaderElection(config *leaderElectionConfig) {
var stopCh chan struct{}
callbacks := leaderelection.LeaderCallbacks{
- OnStartedLeading: func(ctx context.Context) {
+ OnStartedLeading: func(_ context.Context) {
klog.V(2).InfoS("I am the new leader")
stopCh = make(chan struct{})
diff --git a/internal/ingress/controller/store/store.go b/internal/ingress/controller/store/store.go
index 4288785de..284f53209 100644
--- a/internal/ingress/controller/store/store.go
+++ b/internal/ingress/controller/store/store.go
@@ -292,7 +292,7 @@ func New(
// the memory consumption of nginx-ingress-controller explode.
// In order to avoid that we filter out labels OWNER=TILLER.
labelsTweakListOptionsFunc := func(options *metav1.ListOptions) {
- if len(options.LabelSelector) > 0 {
+ if options.LabelSelector != "" {
options.LabelSelector += ",OWNER!=TILLER"
} else {
options.LabelSelector = "OWNER!=TILLER"
diff --git a/internal/ingress/controller/template/template.go b/internal/ingress/controller/template/template.go
index f08eee498..7cd6a0604 100644
--- a/internal/ingress/controller/template/template.go
+++ b/internal/ingress/controller/template/template.go
@@ -497,7 +497,7 @@ func buildResolvers(res, disableIpv6 interface{}) string {
}
func needsRewrite(location *ingress.Location) bool {
- if len(location.Rewrite.Target) > 0 && location.Rewrite.Target != location.Path {
+ if location.Rewrite.Target != "" && location.Rewrite.Target != location.Path {
return true
}
return false
@@ -771,10 +771,10 @@ func buildProxyPass(_ string, b, loc interface{}) string {
return defProxyPass
}
- if len(location.Rewrite.Target) > 0 {
+ if location.Rewrite.Target != "" {
var xForwardedPrefix string
- if len(location.XForwardedPrefix) > 0 {
+ if location.XForwardedPrefix != "" {
xForwardedPrefix = fmt.Sprintf("%s X-Forwarded-Prefix %q;\n", proxySetHeader(location), location.XForwardedPrefix)
}
@@ -1738,7 +1738,7 @@ func buildCorsOriginRegex(corsOrigins []string) string {
originsRegex := "if ($http_origin ~* ("
for i, origin := range corsOrigins {
originTrimmed := strings.TrimSpace(origin)
- if len(originTrimmed) > 0 {
+ if originTrimmed != "" {
builtOrigin := buildOriginRegex(originTrimmed)
originsRegex += builtOrigin
if i != len(corsOrigins)-1 {
diff --git a/internal/ingress/metric/collectors/admission_test.go b/internal/ingress/metric/collectors/admission_test.go
index 68208ad3e..a23384a88 100644
--- a/internal/ingress/metric/collectors/admission_test.go
+++ b/internal/ingress/metric/collectors/admission_test.go
@@ -59,7 +59,7 @@ func TestAdmissionCounters(t *testing.T) {
}{
{
name: "should return 0 as values on a fresh initiated collector",
- test: func(am *AdmissionCollector) {
+ test: func(_ *AdmissionCollector) {
},
want: metadataFirst + `
nginx_ingress_controller_admission_config_size{controller_class="nginx",controller_namespace="default",controller_pod="pod"} 0
diff --git a/internal/ingress/metric/collectors/controller_test.go b/internal/ingress/metric/collectors/controller_test.go
index 15735df42..53a0fd31a 100644
--- a/internal/ingress/metric/collectors/controller_test.go
+++ b/internal/ingress/metric/collectors/controller_test.go
@@ -42,7 +42,7 @@ func TestControllerCounters(t *testing.T) {
}{
{
name: "should return not increment in metrics if no operations are invoked",
- test: func(cm *Controller) {
+ test: func(_ *Controller) {
},
want: metadata + `
nginx_ingress_controller_config_last_reload_successful{controller_class="nginx",controller_namespace="default",controller_pod="pod"} 0
diff --git a/internal/ingress/metric/collectors/socket.go b/internal/ingress/metric/collectors/socket.go
index a70024c57..248f23f63 100644
--- a/internal/ingress/metric/collectors/socket.go
+++ b/internal/ingress/metric/collectors/socket.go
@@ -329,7 +329,7 @@ func (sc *SocketCollector) handleMessage(msg []byte) {
continue
}
- if sc.reportStatusClasses && len(stats.Status) > 0 {
+ if sc.reportStatusClasses && stats.Status != "" {
stats.Status = fmt.Sprintf("%cxx", stats.Status[0])
}
diff --git a/internal/ingress/metric/collectors/socket_test.go b/internal/ingress/metric/collectors/socket_test.go
index 71e9097c9..2113b4725 100644
--- a/internal/ingress/metric/collectors/socket_test.go
+++ b/internal/ingress/metric/collectors/socket_test.go
@@ -30,8 +30,7 @@ import (
func TestNewUDPLogListener(t *testing.T) {
var count uint64
- //nolint:unparam // Unused `message` param is required by the handleMessages function
- fn := func(message []byte) {
+ fn := func(message []byte) { //nolint:unparam,revive // Unused `message` param is required by the handleMessages function
atomic.AddUint64(&count, 1)
}
diff --git a/internal/ingress/metric/collectors/testutils.go b/internal/ingress/metric/collectors/testutils.go
index e59ccfd9c..3fc0fc754 100644
--- a/internal/ingress/metric/collectors/testutils.go
+++ b/internal/ingress/metric/collectors/testutils.go
@@ -109,7 +109,7 @@ func removeUnusedWhitespace(s string) string {
for _, l := range lines {
trimmedLine = strings.TrimSpace(l)
- if len(trimmedLine) > 0 {
+ if trimmedLine != "" {
trimmedLines = append(trimmedLines, trimmedLine)
}
}
diff --git a/internal/net/ssl/ssl.go b/internal/net/ssl/ssl.go
index 26fd706e1..f8bac2377 100644
--- a/internal/net/ssl/ssl.go
+++ b/internal/net/ssl/ssl.go
@@ -400,7 +400,6 @@ func getFakeHostSSLCert(host string) (cert, key []byte) {
var err error
priv, err = rsa.GenerateKey(rand.Reader, 2048)
-
if err != nil {
klog.Fatalf("failed to generate fake private key: %v", err)
}
diff --git a/internal/net/ssl/ssl_test.go b/internal/net/ssl/ssl_test.go
index 9f8c5eeae..47fa07c7c 100644
--- a/internal/net/ssl/ssl_test.go
+++ b/internal/net/ssl/ssl_test.go
@@ -446,7 +446,7 @@ func TestTLSKeyReloader(t *testing.T) {
}
watcher.load()
- s := httptest.NewUnstartedServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {}))
+ s := httptest.NewUnstartedServer(http.HandlerFunc(func(_ http.ResponseWriter, _ *http.Request) {}))
s.Config.TLSConfig = watcher.TLSConfig()
s.Listener = tls.NewListener(s.Listener, s.Config.TLSConfig)
go s.Start()
diff --git a/internal/nginx/maxmind.go b/internal/nginx/maxmind.go
index 1dc2f4d4e..3bd895b5d 100644
--- a/internal/nginx/maxmind.go
+++ b/internal/nginx/maxmind.go
@@ -132,7 +132,7 @@ func DownloadGeoLite2DB(attempts int, period time.Duration) error {
}
func createURL(mirror, licenseKey, dbName string) string {
- if len(mirror) > 0 {
+ if mirror != "" {
return fmt.Sprintf("%s/%s.tar.gz", mirror, dbName)
}
return fmt.Sprintf(maxmindURL, licenseKey, dbName)
diff --git a/magefiles/steps/release.go b/magefiles/steps/release.go
index 1ed09850f..4cb8b40bd 100644
--- a/magefiles/steps/release.go
+++ b/magefiles/steps/release.go
@@ -215,7 +215,6 @@ func (Release) LatestCommitLogs() {
}
func commitsBetweenTags(newversion, oldversion string) []string {
-
var newTag, oldTag string
tags := getAllControllerTags()
newTag, oldTag = tags[0], tags[1]
diff --git a/magefiles/utils/e2edocs.go b/magefiles/utils/e2edocs.go
index 2edc2ca40..2f5626db6 100644
--- a/magefiles/utils/e2edocs.go
+++ b/magefiles/utils/e2edocs.go
@@ -25,22 +25,19 @@ import (
"os"
"path/filepath"
"regexp"
+ "slices"
"strings"
"text/template"
-
- "slices"
)
//go:embed templates/e2edocs.tpl
var tplContent embed.FS
-var (
- skipFiles = []string{
- "test/e2e/framework/framework.go",
- "test/e2e/e2e.go",
- "test/e2e/e2e_test.go",
- }
-)
+var skipFiles = []string{
+ "test/e2e/framework/framework.go",
+ "test/e2e/e2e.go",
+ "test/e2e/e2e_test.go",
+}
const (
testDir = "test/e2e"
@@ -48,9 +45,7 @@ const (
URL = "https://github.com/kubernetes/ingress-nginx/tree/main/"
)
-var (
- betweenquotes = regexp.MustCompile(`("|\')(?P.*)("|\')`)
-)
+var betweenquotes = regexp.MustCompile(`("|\')(?P.*)("|\')`)
type E2ETemplate struct {
URL string
@@ -102,7 +97,7 @@ func (t *E2ETemplate) walkE2eDir(path string, d fs.DirEntry, errAggregated error
fileScanner.Split(bufio.ScanLines)
tests := make([]string, 0)
- var lineN = 0
+ lineN := 0
for fileScanner.Scan() {
lineN = lineN + 1
if !containsGinkgoTest(fileScanner.Text()) {
@@ -136,5 +131,4 @@ func GenerateE2EDocs() (string, error) {
return "", err
}
return tplBuff.String(), nil
-
}
diff --git a/test/e2e/framework/exec.go b/test/e2e/framework/exec.go
index 9e4b55122..580a8f58e 100644
--- a/test/e2e/framework/exec.go
+++ b/test/e2e/framework/exec.go
@@ -102,7 +102,7 @@ func (f *Framework) NamespaceContent() (string, error) {
}
eout := strings.TrimSpace(execErr.String())
- if len(eout) > 0 {
+ if eout != "" {
return "", fmt.Errorf("stderr: %v", eout)
}
diff --git a/test/e2e/framework/framework.go b/test/e2e/framework/framework.go
index 4723117c8..b71d84baa 100644
--- a/test/e2e/framework/framework.go
+++ b/test/e2e/framework/framework.go
@@ -313,7 +313,7 @@ func (f *Framework) matchNginxConditions(name string, matcher func(cfg string) b
return false, nil
}
- if klog.V(10).Enabled() && len(o) > 0 {
+ if klog.V(10).Enabled() && o != "" {
klog.InfoS("NGINX", "configuration", o)
}
@@ -335,7 +335,7 @@ func (f *Framework) matchNginxCustomConditions(from, to string, matcher func(cfg
return false, nil
}
- if klog.V(10).Enabled() && len(o) > 0 {
+ if klog.V(10).Enabled() && o != "" {
klog.InfoS("NGINX", "configuration", o)
}
@@ -501,7 +501,7 @@ func (f *Framework) newHTTPTestClient(config *tls.Config, setIngressURL bool) *h
Transport: &http.Transport{
TLSClientConfig: config,
},
- CheckRedirect: func(req *http.Request, via []*http.Request) error {
+ CheckRedirect: func(_ *http.Request, _ []*http.Request) error {
return http.ErrUseLastResponse
},
}, httpexpect.NewAssertReporter())
diff --git a/test/e2e/framework/httpexpect/request.go b/test/e2e/framework/httpexpect/request.go
index 0ae85dd79..4daba136e 100644
--- a/test/e2e/framework/httpexpect/request.go
+++ b/test/e2e/framework/httpexpect/request.go
@@ -93,7 +93,7 @@ func (h *HTTPRequest) ForceResolve(ip string, port uint16) *HTTPRequest {
return h
}
newTransport := oldTransport.Clone()
- newTransport.DialContext = func(ctx context.Context, network, addr string) (net.Conn, error) {
+ newTransport.DialContext = func(ctx context.Context, network, _ string) (net.Conn, error) {
return dialer.DialContext(ctx, network, resolveAddr)
}
h.client.Transport = newTransport
diff --git a/test/e2e/tcpudp/tcp.go b/test/e2e/tcpudp/tcp.go
index f06d6c9a3..856184d18 100644
--- a/test/e2e/tcpudp/tcp.go
+++ b/test/e2e/tcpudp/tcp.go
@@ -133,7 +133,7 @@ var _ = framework.IngressNginxDescribe("[TCP] tcp-services", func() {
// Execute the test. Use the `external name` service to resolve a domain name.
resolver := net.Resolver{
PreferGo: true,
- Dial: func(ctx context.Context, network, address string) (net.Conn, error) {
+ Dial: func(ctx context.Context, _, _ string) (net.Conn, error) {
d := net.Dialer{}
return d.DialContext(ctx, "tcp", fmt.Sprintf("%v:5353", ip))
},
From cbf6d2a7f168ce6dea287f79d5ec1ce19752edbd Mon Sep 17 00:00:00 2001
From: k8s-infra-cherrypick-robot
<90416843+k8s-infra-cherrypick-robot@users.noreply.github.com>
Date: Mon, 11 Mar 2024 15:37:04 -0700
Subject: [PATCH 003/265] Chart: Deploy `PodDisruptionBudget` with KEDA.
(#11105)
* feat: deploy PDB if Keda is enabled and the minimum amount of replicas is greater than 1
* feat: add the corresponding unit-test to check PDB deployment with Keda
* chore: rename the test of PDB to follow suggested pattern
* chore: update the test-case suite name to the new format
* Update charts/ingress-nginx/templates/controller-poddisruptionbudget.yaml
Co-authored-by: Marco Ebert
* Update charts/ingress-nginx/tests/controller-poddisruptionbudget_test.yaml
Co-authored-by: Marco Ebert
---------
Co-authored-by: ramonboorges@gmail.com
Co-authored-by: Marco Ebert
---
.../controller-poddisruptionbudget.yaml | 8 ++-
.../controller-poddisruptionbudget_test.yaml | 65 +++++++++++++++++++
2 files changed, 72 insertions(+), 1 deletion(-)
create mode 100644 charts/ingress-nginx/tests/controller-poddisruptionbudget_test.yaml
diff --git a/charts/ingress-nginx/templates/controller-poddisruptionbudget.yaml b/charts/ingress-nginx/templates/controller-poddisruptionbudget.yaml
index 8cb7d4b97..fe142a346 100644
--- a/charts/ingress-nginx/templates/controller-poddisruptionbudget.yaml
+++ b/charts/ingress-nginx/templates/controller-poddisruptionbudget.yaml
@@ -1,4 +1,10 @@
-{{- if or (and .Values.controller.autoscaling.enabled (gt (.Values.controller.autoscaling.minReplicas | int) 1)) (and (not .Values.controller.autoscaling.enabled) (gt (.Values.controller.replicaCount | int) 1)) }}
+{{- $replicas := .Values.controller.replicaCount }}
+{{- if .Values.controller.autoscaling.enabled }}
+{{- $replicas = .Values.controller.autoscaling.minReplicas }}
+{{- else if .Values.controller.keda.enabled }}
+{{- $replicas = .Values.controller.keda.minReplicas }}
+{{- end }}
+{{- if gt ($replicas | int) 1 }}
apiVersion: {{ ternary "policy/v1" "policy/v1beta1" (semverCompare ">=1.21.0-0" .Capabilities.KubeVersion.Version) }}
kind: PodDisruptionBudget
metadata:
diff --git a/charts/ingress-nginx/tests/controller-poddisruptionbudget_test.yaml b/charts/ingress-nginx/tests/controller-poddisruptionbudget_test.yaml
new file mode 100644
index 000000000..3055d5351
--- /dev/null
+++ b/charts/ingress-nginx/tests/controller-poddisruptionbudget_test.yaml
@@ -0,0 +1,65 @@
+suite: Controller > PodDisruptionBudget
+templates:
+ - controller-poddisruptionbudget.yaml
+
+tests:
+ - it: should create a PodDisruptionBudget if `controller.replicaCount` is greater than 1
+ set:
+ controller.replicaCount: 2
+ asserts:
+ - hasDocuments:
+ count: 1
+ - isKind:
+ of: PodDisruptionBudget
+ - equal:
+ path: metadata.name
+ value: RELEASE-NAME-ingress-nginx-controller
+
+ - it: should not create a PodDisruptionBudget if `controller.replicaCount` is less than or equal 1
+ set:
+ controller.replicaCount: 1
+ asserts:
+ - hasDocuments:
+ count: 0
+
+ - it: should create a PodDisruptionBudget if `controller.autoscaling.enabled` is true and `controller.autoscaling.minReplicas` is greater than 1
+ set:
+ controller.autoscaling.enabled: true
+ controller.autoscaling.minReplicas: 2
+ asserts:
+ - hasDocuments:
+ count: 1
+ - isKind:
+ of: PodDisruptionBudget
+ - equal:
+ path: metadata.name
+ value: RELEASE-NAME-ingress-nginx-controller
+
+ - it: should not create a PodDisruptionBudget if `controller.autoscaling.enabled` is true and `controller.autoscaling.minReplicas` is less than or equal 1
+ set:
+ controller.autoscaling.enabled: true
+ controller.autoscaling.minReplicas: 1
+ asserts:
+ - hasDocuments:
+ count: 0
+
+ - it: should create a PodDisruptionBudget if `controller.keda.enabled` is true and `controller.keda.minReplicas` is greater than 1
+ set:
+ controller.keda.enabled: true
+ controller.keda.minReplicas: 2
+ asserts:
+ - hasDocuments:
+ count: 1
+ - isKind:
+ of: PodDisruptionBudget
+ - equal:
+ path: metadata.name
+ value: RELEASE-NAME-ingress-nginx-controller
+
+ - it: should not create a PodDisruptionBudget if `controller.keda.enabled` is true and `controller.keda.minReplicas` is less than or equal 1
+ set:
+ controller.keda.enabled: true
+ controller.keda.minReplicas: 1
+ asserts:
+ - hasDocuments:
+ count: 0
From 2e086142651310c1b1aa9c65498e3d70204c3aed Mon Sep 17 00:00:00 2001
From: k8s-infra-cherrypick-robot
<90416843+k8s-infra-cherrypick-robot@users.noreply.github.com>
Date: Tue, 12 Mar 2024 07:56:45 -0700
Subject: [PATCH 004/265] Chart: Add Gacko to maintainers. Again. (#11112)
Co-authored-by: Marco Ebert
---
charts/ingress-nginx/Chart.yaml | 1 +
1 file changed, 1 insertion(+)
diff --git a/charts/ingress-nginx/Chart.yaml b/charts/ingress-nginx/Chart.yaml
index 1bd30b31d..3e977530f 100644
--- a/charts/ingress-nginx/Chart.yaml
+++ b/charts/ingress-nginx/Chart.yaml
@@ -13,6 +13,7 @@ keywords:
- nginx
kubeVersion: '>=1.20.0-0'
maintainers:
+- name: Gacko
- name: rikatz
- name: strongjz
- name: tao12345666333
From 7f8bebeb88268c48313fd47eefeba09e7890e12f Mon Sep 17 00:00:00 2001
From: k8s-infra-cherrypick-robot
<90416843+k8s-infra-cherrypick-robot@users.noreply.github.com>
Date: Tue, 12 Mar 2024 08:01:51 -0700
Subject: [PATCH 005/265] Chart: Improve IngressClass documentation. (#11111)
Co-authored-by: Marco Ebert
---
charts/ingress-nginx/README.md | 11 +++----
.../templates/controller-ingressclass.yaml | 2 --
charts/ingress-nginx/values.yaml | 29 ++++++++++++-------
3 files changed, 25 insertions(+), 17 deletions(-)
diff --git a/charts/ingress-nginx/README.md b/charts/ingress-nginx/README.md
index 8f1f3491d..24906facf 100644
--- a/charts/ingress-nginx/README.md
+++ b/charts/ingress-nginx/README.md
@@ -329,11 +329,12 @@ As of version `1.26.0` of this chart, by simply not providing any clusterIP valu
| controller.image.tag | string | `"v1.10.0"` | |
| controller.ingressClass | string | `"nginx"` | For backwards compatibility with ingress.class annotation, use ingressClass. Algorithm is as follows, first ingressClassName is considered, if not present, controller looks for ingress.class annotation |
| controller.ingressClassByName | bool | `false` | Process IngressClass per name (additionally as per spec.controller). |
-| controller.ingressClassResource.controllerValue | string | `"k8s.io/ingress-nginx"` | Controller-value of the controller that is processing this ingressClass |
-| controller.ingressClassResource.default | bool | `false` | Is this the default ingressClass for the cluster |
-| controller.ingressClassResource.enabled | bool | `true` | Is this ingressClass enabled or not |
-| controller.ingressClassResource.name | string | `"nginx"` | Name of the ingressClass |
-| controller.ingressClassResource.parameters | object | `{}` | Parameters is a link to a custom resource containing additional configuration for the controller. This is optional if the controller does not require extra parameters. |
+| controller.ingressClassResource | object | `{"controllerValue":"k8s.io/ingress-nginx","default":false,"enabled":true,"name":"nginx","parameters":{}}` | This section refers to the creation of the IngressClass resource. IngressClasses are immutable and cannot be changed after creation. We do not support namespaced IngressClasses, yet, so a ClusterRole and a ClusterRoleBinding is required. |
+| controller.ingressClassResource.controllerValue | string | `"k8s.io/ingress-nginx"` | Controller of the IngressClass. An Ingress Controller looks for IngressClasses it should reconcile by this value. This value is also being set as the `--controller-class` argument of this Ingress Controller. Ref: https://kubernetes.io/docs/concepts/services-networking/ingress/#ingress-class |
+| controller.ingressClassResource.default | bool | `false` | If true, Ingresses without `ingressClassName` get assigned to this IngressClass on creation. Ingress creation gets rejected if there are multiple default IngressClasses. Ref: https://kubernetes.io/docs/concepts/services-networking/ingress/#default-ingress-class |
+| controller.ingressClassResource.enabled | bool | `true` | Create the IngressClass or not |
+| controller.ingressClassResource.name | string | `"nginx"` | Name of the IngressClass |
+| controller.ingressClassResource.parameters | object | `{}` | A link to a custom resource containing additional configuration for the controller. This is optional if the controller consuming this IngressClass does not require additional parameters. Ref: https://kubernetes.io/docs/concepts/services-networking/ingress/#ingress-class |
| controller.keda.apiVersion | string | `"keda.sh/v1alpha1"` | |
| controller.keda.behavior | object | `{}` | |
| controller.keda.cooldownPeriod | int | `300` | |
diff --git a/charts/ingress-nginx/templates/controller-ingressclass.yaml b/charts/ingress-nginx/templates/controller-ingressclass.yaml
index 9492784a2..f28c116ee 100644
--- a/charts/ingress-nginx/templates/controller-ingressclass.yaml
+++ b/charts/ingress-nginx/templates/controller-ingressclass.yaml
@@ -1,6 +1,4 @@
{{- if .Values.controller.ingressClassResource.enabled -}}
-# We don't support namespaced ingressClass yet
-# So a ClusterRole and a ClusterRoleBinding is required
apiVersion: networking.k8s.io/v1
kind: IngressClass
metadata:
diff --git a/charts/ingress-nginx/values.yaml b/charts/ingress-nginx/values.yaml
index 553c5e892..e62fbcb80 100644
--- a/charts/ingress-nginx/values.yaml
+++ b/charts/ingress-nginx/values.yaml
@@ -108,21 +108,30 @@ controller:
enabled: false
# -- Election ID to use for status update, by default it uses the controller name combined with a suffix of 'leader'
electionID: ""
- ## This section refers to the creation of the IngressClass resource
- ## IngressClass resources are supported since k8s >= 1.18 and required since k8s >= 1.19
+ # -- This section refers to the creation of the IngressClass resource.
+ # IngressClasses are immutable and cannot be changed after creation.
+ # We do not support namespaced IngressClasses, yet, so a ClusterRole and a ClusterRoleBinding is required.
ingressClassResource:
- # -- Name of the ingressClass
+ # -- Name of the IngressClass
name: nginx
- # -- Is this ingressClass enabled or not
+ # -- Create the IngressClass or not
enabled: true
- # -- Is this the default ingressClass for the cluster
+ # -- If true, Ingresses without `ingressClassName` get assigned to this IngressClass on creation.
+ # Ingress creation gets rejected if there are multiple default IngressClasses.
+ # Ref: https://kubernetes.io/docs/concepts/services-networking/ingress/#default-ingress-class
default: false
- # -- Controller-value of the controller that is processing this ingressClass
- controllerValue: "k8s.io/ingress-nginx"
- # -- Parameters is a link to a custom resource containing additional
- # configuration for the controller. This is optional if the controller
- # does not require extra parameters.
+ # -- Controller of the IngressClass. An Ingress Controller looks for IngressClasses it should reconcile by this value.
+ # This value is also being set as the `--controller-class` argument of this Ingress Controller.
+ # Ref: https://kubernetes.io/docs/concepts/services-networking/ingress/#ingress-class
+ controllerValue: k8s.io/ingress-nginx
+ # -- A link to a custom resource containing additional configuration for the controller.
+ # This is optional if the controller consuming this IngressClass does not require additional parameters.
+ # Ref: https://kubernetes.io/docs/concepts/services-networking/ingress/#ingress-class
parameters: {}
+ # parameters:
+ # apiGroup: k8s.example.com
+ # kind: IngressParameters
+ # name: external-lb
# -- For backwards compatibility with ingress.class annotation, use ingressClass.
# Algorithm is as follows, first ingressClassName is considered, if not present, controller looks for ingress.class annotation
ingressClass: nginx
From f118d670423c7df0c0f6e09486114e67a8174e4b Mon Sep 17 00:00:00 2001
From: k8s-infra-cherrypick-robot
<90416843+k8s-infra-cherrypick-robot@users.noreply.github.com>
Date: Tue, 12 Mar 2024 08:06:30 -0700
Subject: [PATCH 006/265] Chart: Align HPA & KEDA conditions. (#11113)
Co-authored-by: Marco Ebert
---
.../templates/controller-deployment.yaml | 2 +-
.../templates/controller-keda.yaml | 2 +-
.../controller-poddisruptionbudget.yaml | 8 +++++--
.../tests/controller-deployment_test.yaml | 22 +++++++++++++++++++
.../tests/controller-hpa_test.yaml | 18 +++++++++++++--
.../tests/controller-keda_test.yaml | 18 +++++++++++++--
.../controller-poddisruptionbudget_test.yaml | 8 +++++++
7 files changed, 70 insertions(+), 8 deletions(-)
diff --git a/charts/ingress-nginx/templates/controller-deployment.yaml b/charts/ingress-nginx/templates/controller-deployment.yaml
index 5ff45585b..879802779 100644
--- a/charts/ingress-nginx/templates/controller-deployment.yaml
+++ b/charts/ingress-nginx/templates/controller-deployment.yaml
@@ -19,7 +19,7 @@ spec:
matchLabels:
{{- include "ingress-nginx.selectorLabels" . | nindent 6 }}
app.kubernetes.io/component: controller
- {{- if not (or .Values.controller.autoscaling.enabled .Values.controller.keda.enabled) }}
+ {{- if eq .Values.controller.autoscaling.enabled .Values.controller.keda.enabled }}
replicas: {{ .Values.controller.replicaCount }}
{{- end }}
revisionHistoryLimit: {{ .Values.revisionHistoryLimit }}
diff --git a/charts/ingress-nginx/templates/controller-keda.yaml b/charts/ingress-nginx/templates/controller-keda.yaml
index 6ff9c0b22..24d30fa0a 100644
--- a/charts/ingress-nginx/templates/controller-keda.yaml
+++ b/charts/ingress-nginx/templates/controller-keda.yaml
@@ -1,4 +1,4 @@
-{{- if and .Values.controller.keda.enabled (eq .Values.controller.kind "Deployment") -}}
+{{- if and (eq .Values.controller.kind "Deployment") .Values.controller.keda.enabled (not .Values.controller.autoscaling.enabled) -}}
apiVersion: {{ .Values.controller.keda.apiVersion }}
kind: ScaledObject
metadata:
diff --git a/charts/ingress-nginx/templates/controller-poddisruptionbudget.yaml b/charts/ingress-nginx/templates/controller-poddisruptionbudget.yaml
index fe142a346..8e0181f9f 100644
--- a/charts/ingress-nginx/templates/controller-poddisruptionbudget.yaml
+++ b/charts/ingress-nginx/templates/controller-poddisruptionbudget.yaml
@@ -1,7 +1,10 @@
+# PDB is not supported for DaemonSets.
+# https://github.com/kubernetes/kubernetes/issues/108124
+{{- if eq .Values.controller.kind "Deployment" }}
{{- $replicas := .Values.controller.replicaCount }}
-{{- if .Values.controller.autoscaling.enabled }}
+{{- if and .Values.controller.autoscaling.enabled (not .Values.controller.keda.enabled) }}
{{- $replicas = .Values.controller.autoscaling.minReplicas }}
-{{- else if .Values.controller.keda.enabled }}
+{{- else if and .Values.controller.keda.enabled (not .Values.controller.autoscaling.enabled) }}
{{- $replicas = .Values.controller.keda.minReplicas }}
{{- end }}
{{- if gt ($replicas | int) 1 }}
@@ -30,3 +33,4 @@ spec:
maxUnavailable: {{ .Values.controller.maxUnavailable }}
{{- end }}
{{- end }}
+{{- end }}
diff --git a/charts/ingress-nginx/tests/controller-deployment_test.yaml b/charts/ingress-nginx/tests/controller-deployment_test.yaml
index 86d5828c0..3af5ba981 100644
--- a/charts/ingress-nginx/tests/controller-deployment_test.yaml
+++ b/charts/ingress-nginx/tests/controller-deployment_test.yaml
@@ -21,6 +21,28 @@ tests:
path: spec.replicas
value: 3
+ - it: should create a Deployment without replicas if `controller.autoscaling.enabled` is true
+ set:
+ controller.autoscaling.enabled: true
+ asserts:
+ - notExists:
+ path: spec.replicas
+
+ - it: should create a Deployment without replicas if `controller.keda.enabled` is true
+ set:
+ controller.keda.enabled: true
+ asserts:
+ - notExists:
+ path: spec.replicas
+
+ - it: should create a Deployment with replicas if `controller.autoscaling.enabled` is true and `controller.keda.enabled` is true
+ set:
+ controller.autoscaling.enabled: true
+ controller.keda.enabled: true
+ asserts:
+ - exists:
+ path: spec.replicas
+
- it: should create a Deployment with argument `--enable-metrics=false` if `controller.metrics.enabled` is false
set:
controller.metrics.enabled: false
diff --git a/charts/ingress-nginx/tests/controller-hpa_test.yaml b/charts/ingress-nginx/tests/controller-hpa_test.yaml
index 7cd668509..869d3a690 100644
--- a/charts/ingress-nginx/tests/controller-hpa_test.yaml
+++ b/charts/ingress-nginx/tests/controller-hpa_test.yaml
@@ -3,9 +3,8 @@ templates:
- controller-hpa.yaml
tests:
- - it: should create a HPA if `controller.kind` is "Deployment" and `controller.autoscaling.enabled` is true
+ - it: should create an HPA if `controller.autoscaling.enabled` is true
set:
- controller.kind: Deployment
controller.autoscaling.enabled: true
asserts:
- hasDocuments:
@@ -15,3 +14,18 @@ tests:
- equal:
path: metadata.name
value: RELEASE-NAME-ingress-nginx-controller
+
+ - it: should not create an HPA if `controller.autoscaling.enabled` is true and `controller.keda.enabled` is true
+ set:
+ controller.autoscaling.enabled: true
+ controller.keda.enabled: true
+ asserts:
+ - hasDocuments:
+ count: 0
+
+ - it: should not create an HPA if `controller.kind` is "DaemonSet"
+ set:
+ controller.kind: DaemonSet
+ asserts:
+ - hasDocuments:
+ count: 0
diff --git a/charts/ingress-nginx/tests/controller-keda_test.yaml b/charts/ingress-nginx/tests/controller-keda_test.yaml
index e6ca8dbfe..800283483 100644
--- a/charts/ingress-nginx/tests/controller-keda_test.yaml
+++ b/charts/ingress-nginx/tests/controller-keda_test.yaml
@@ -3,9 +3,8 @@ templates:
- controller-keda.yaml
tests:
- - it: should create a ScaledObject if `controller.kind` is "Deployment" and `controller.keda.enabled` is true
+ - it: should create a ScaledObject if `controller.keda.enabled` is true
set:
- controller.kind: Deployment
controller.keda.enabled: true
asserts:
- hasDocuments:
@@ -15,3 +14,18 @@ tests:
- equal:
path: metadata.name
value: RELEASE-NAME-ingress-nginx-controller
+
+ - it: should not create a ScaledObject if `controller.keda.enabled` is true and `controller.autoscaling.enabled` is true
+ set:
+ controller.keda.enabled: true
+ controller.autoscaling.enabled: true
+ asserts:
+ - hasDocuments:
+ count: 0
+
+ - it: should not create a ScaledObject if `controller.kind` is "DaemonSet"
+ set:
+ controller.kind: DaemonSet
+ asserts:
+ - hasDocuments:
+ count: 0
diff --git a/charts/ingress-nginx/tests/controller-poddisruptionbudget_test.yaml b/charts/ingress-nginx/tests/controller-poddisruptionbudget_test.yaml
index 3055d5351..48b4fafcc 100644
--- a/charts/ingress-nginx/tests/controller-poddisruptionbudget_test.yaml
+++ b/charts/ingress-nginx/tests/controller-poddisruptionbudget_test.yaml
@@ -63,3 +63,11 @@ tests:
asserts:
- hasDocuments:
count: 0
+
+ - it: should not create a PodDisruptionBudget if `controller.autoscaling.enabled` is true and `controller.keda.enabled` is true
+ set:
+ controller.autoscaling.enabled: true
+ controller.keda.enabled: true
+ asserts:
+ - hasDocuments:
+ count: 0
From 0f9df16424d99c88431bcce5c23eff7a1b4822b3 Mon Sep 17 00:00:00 2001
From: k8s-infra-cherrypick-robot
<90416843+k8s-infra-cherrypick-robot@users.noreply.github.com>
Date: Tue, 12 Mar 2024 11:08:59 -0700
Subject: [PATCH 007/265] Fix admission controller logging of `admissionTime`
and `testedConfigurationSize` (#11114)
Co-authored-by: Luca Berneking
---
internal/ingress/metric/collectors/admission.go | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/internal/ingress/metric/collectors/admission.go b/internal/ingress/metric/collectors/admission.go
index 7b84325c0..456f56963 100644
--- a/internal/ingress/metric/collectors/admission.go
+++ b/internal/ingress/metric/collectors/admission.go
@@ -151,7 +151,7 @@ func (am *AdmissionCollector) SetAdmissionMetrics(testedIngressLength, testedIng
testedIngressTime,
renderingIngressLength,
renderingIngressTime,
- ByteFormat(int64(testedConfigurationSize)),
admissionTime,
+ ByteFormat(int64(testedConfigurationSize)),
)
}
From 9ef5800e42fac299ecc1f85a78d2bb7ae1b68929 Mon Sep 17 00:00:00 2001
From: k8s-infra-cherrypick-robot
<90416843+k8s-infra-cherrypick-robot@users.noreply.github.com>
Date: Thu, 14 Mar 2024 00:45:49 -0700
Subject: [PATCH 008/265] Bump google.golang.org/protobuf in
/images/kube-webhook-certgen/rootfs (#11122)
Bumps google.golang.org/protobuf from 1.32.0 to 1.33.0.
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
---
images/kube-webhook-certgen/rootfs/go.mod | 2 +-
images/kube-webhook-certgen/rootfs/go.sum | 42 ++++++++++++++++++++++-
2 files changed, 42 insertions(+), 2 deletions(-)
diff --git a/images/kube-webhook-certgen/rootfs/go.mod b/images/kube-webhook-certgen/rootfs/go.mod
index 9cb4bf263..de1d86bdd 100644
--- a/images/kube-webhook-certgen/rootfs/go.mod
+++ b/images/kube-webhook-certgen/rootfs/go.mod
@@ -46,7 +46,7 @@ require (
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.32.0 // indirect
+ google.golang.org/protobuf v1.33.0 // 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 966d69209..5f88f3da3 100644
--- a/images/kube-webhook-certgen/rootfs/go.sum
+++ b/images/kube-webhook-certgen/rootfs/go.sum
@@ -3,16 +3,23 @@ github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSs
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/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/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-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-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/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/google/gnostic-models v0.6.8 h1:yo/ABAfM5IMRsS1VnXjTBvUb61tFIHozhlYvRgGre9I=
@@ -25,8 +32,11 @@ github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/
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/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=
+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=
@@ -51,12 +61,15 @@ github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8m
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/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/rogpeppe/go-internal v1.11.0 h1:cWPaGQEPrBb5/AsnsZesgZZ9yb1OQ+GOISoDNXVBh4M=
+github.com/rogpeppe/go-internal v1.11.0/go.mod h1:ddIwULY96R17DhadqLgMfk9H9tvdUzkipdSkR5nkCZA=
github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM=
github.com/sirupsen/logrus v1.9.3 h1:dueUQJ1C2q9oE3F7wvmSGAaVtTmUizReu6fjN8uqzbQ=
github.com/sirupsen/logrus v1.9.3/go.mod h1:naHLuLoDiP4jHNo9R0sCBMtWGeIprob74mVsIT4qYEQ=
@@ -77,44 +90,67 @@ github.com/tidwall/pretty v1.2.0 h1:RWIZEg2iJ8/g6fDDYzMpobmaoGh5OLl4AXtGUGPcqCs=
github.com/tidwall/pretty v1.2.0/go.mod h1:ITEVvHYasfjBbM0u2Pg8T2nJnzm8xPwvNhhsoaGGjNU=
github.com/yuin/goldmark v1.1.27/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=
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
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/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/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
golang.org/x/net v0.0.0-20190620200207-3b0461eec859/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-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/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=
+golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20190412213103-97732733099d/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-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-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/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/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/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-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
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/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=
google.golang.org/appengine v1.6.8 h1:IhEN5q69dyKagZPYMSdIjS2HqprW324FRQZJcGqPAsM=
+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.32.0 h1:pPC6BG5ex8PDFnkbrGU3EixyhKcQ2aDuBS36lqK/C7I=
+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/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=
@@ -133,12 +169,16 @@ k8s.io/apimachinery v0.29.2/go.mod h1:6HVkd1FwxIagpYrHSwJlQqZI3G9LfYWRPAkUvLnXTK
k8s.io/client-go v0.29.2 h1:FEg85el1TeZp+/vYJM7hkDlSTFZ+c5nnK44DJ4FyoRg=
k8s.io/client-go v0.29.2/go.mod h1:knlvFZE58VpqbQpJNbCbctTVXcd35mMyAAwBdpt4jrA=
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-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=
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/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.4.0 h1:Mk1wCc2gy/F0THH0TAp1QYyJNzRm2KCLy3o5ASXVI5E=
+sigs.k8s.io/yaml v1.4.0/go.mod h1:Ejl7/uTz7PSA4eKMyQCUTnhZYNmLIl+5c2lQPGR2BPY=
From 02ca3e1b41ab10e8dcd8f4998163105654d22a83 Mon Sep 17 00:00:00 2001
From: k8s-infra-cherrypick-robot
<90416843+k8s-infra-cherrypick-robot@users.noreply.github.com>
Date: Thu, 14 Mar 2024 07:52:14 -0700
Subject: [PATCH 009/265] Chart: Render
`controller.ingressClassResource.parameters` natively. (#11126)
Co-authored-by: Marco Ebert
---
charts/ingress-nginx/templates/_helpers.tpl | 10 ---
.../templates/controller-ingressclass.yaml | 8 +-
.../tests/controller-daemonset_test.yaml | 9 +++
.../tests/controller-deployment_test.yaml | 8 ++
.../tests/controller-ingressclass_test.yaml | 77 +++++++++++++++++++
5 files changed, 99 insertions(+), 13 deletions(-)
create mode 100644 charts/ingress-nginx/tests/controller-ingressclass_test.yaml
diff --git a/charts/ingress-nginx/templates/_helpers.tpl b/charts/ingress-nginx/templates/_helpers.tpl
index db1ab2e24..9ac2dc569 100644
--- a/charts/ingress-nginx/templates/_helpers.tpl
+++ b/charts/ingress-nginx/templates/_helpers.tpl
@@ -242,16 +242,6 @@ Check the ingress controller version tag is at most three versions behind the la
{{- end -}}
{{- end -}}
-{{/*
-IngressClass parameters.
-*/}}
-{{- define "ingressClass.parameters" -}}
- {{- if .Values.controller.ingressClassResource.parameters -}}
- parameters:
-{{ toYaml .Values.controller.ingressClassResource.parameters | indent 4}}
- {{ end }}
-{{- end -}}
-
{{/*
Extra modules.
*/}}
diff --git a/charts/ingress-nginx/templates/controller-ingressclass.yaml b/charts/ingress-nginx/templates/controller-ingressclass.yaml
index f28c116ee..e439e0adb 100644
--- a/charts/ingress-nginx/templates/controller-ingressclass.yaml
+++ b/charts/ingress-nginx/templates/controller-ingressclass.yaml
@@ -9,11 +9,13 @@ metadata:
{{- toYaml . | nindent 4 }}
{{- end }}
name: {{ .Values.controller.ingressClassResource.name }}
-{{- if .Values.controller.ingressClassResource.default }}
+ {{- if .Values.controller.ingressClassResource.default }}
annotations:
ingressclass.kubernetes.io/is-default-class: "true"
-{{- end }}
+ {{- end }}
spec:
controller: {{ .Values.controller.ingressClassResource.controllerValue }}
- {{ template "ingressClass.parameters" . }}
+ {{- with .Values.controller.ingressClassResource.parameters }}
+ parameters: {{ toYaml . | nindent 4 }}
+ {{- end }}
{{- end }}
diff --git a/charts/ingress-nginx/tests/controller-daemonset_test.yaml b/charts/ingress-nginx/tests/controller-daemonset_test.yaml
index 1d3172227..316455362 100644
--- a/charts/ingress-nginx/tests/controller-daemonset_test.yaml
+++ b/charts/ingress-nginx/tests/controller-daemonset_test.yaml
@@ -33,6 +33,15 @@ tests:
path: spec.template.spec.containers[0].args
content: --enable-metrics=false
+ - it: should create a DaemonSet with argument `--controller-class=k8s.io/ingress-nginx-internal` if `controller.ingressClassResource.controllerValue` is "k8s.io/ingress-nginx-internal"
+ set:
+ controller.kind: DaemonSet
+ controller.ingressClassResource.controllerValue: k8s.io/ingress-nginx-internal
+ asserts:
+ - contains:
+ path: spec.template.spec.containers[0].args
+ content: --controller-class=k8s.io/ingress-nginx-internal
+
- it: should create a DaemonSet with resource limits if `controller.resources.limits` is set
set:
controller.kind: DaemonSet
diff --git a/charts/ingress-nginx/tests/controller-deployment_test.yaml b/charts/ingress-nginx/tests/controller-deployment_test.yaml
index 3af5ba981..eee99385d 100644
--- a/charts/ingress-nginx/tests/controller-deployment_test.yaml
+++ b/charts/ingress-nginx/tests/controller-deployment_test.yaml
@@ -59,6 +59,14 @@ tests:
path: spec.template.spec.containers[0].args
content: --enable-metrics=false
+ - it: should create a Deployment with argument `--controller-class=k8s.io/ingress-nginx-internal` if `controller.ingressClassResource.controllerValue` is "k8s.io/ingress-nginx-internal"
+ set:
+ controller.ingressClassResource.controllerValue: k8s.io/ingress-nginx-internal
+ asserts:
+ - contains:
+ path: spec.template.spec.containers[0].args
+ content: --controller-class=k8s.io/ingress-nginx-internal
+
- it: should create a Deployment with resource limits if `controller.resources.limits` is set
set:
controller.resources.limits.cpu: 500m
diff --git a/charts/ingress-nginx/tests/controller-ingressclass_test.yaml b/charts/ingress-nginx/tests/controller-ingressclass_test.yaml
new file mode 100644
index 000000000..f766f922e
--- /dev/null
+++ b/charts/ingress-nginx/tests/controller-ingressclass_test.yaml
@@ -0,0 +1,77 @@
+suite: Controller > IngressClass
+templates:
+ - controller-ingressclass.yaml
+
+tests:
+ - it: should create an IngressClass
+ asserts:
+ - hasDocuments:
+ count: 1
+ - isKind:
+ of: IngressClass
+ - equal:
+ path: metadata.name
+ value: nginx
+
+ - it: should create an IngressClass with name "nginx-internal" if `controller.ingressClassResource.name` is "nginx-internal"
+ set:
+ controller.ingressClassResource.name: nginx-internal
+ asserts:
+ - hasDocuments:
+ count: 1
+ - isKind:
+ of: IngressClass
+ - equal:
+ path: metadata.name
+ value: nginx-internal
+
+ - it: "should create an IngressClass with annotation `ingressclass.kubernetes.io/is-default-class: \"true\"` if `controller.ingressClassResource.default` is true"
+ set:
+ controller.ingressClassResource.default: true
+ asserts:
+ - hasDocuments:
+ count: 1
+ - isKind:
+ of: IngressClass
+ - equal:
+ path: metadata.name
+ value: nginx
+ - equal:
+ path: metadata.annotations["ingressclass.kubernetes.io/is-default-class"]
+ value: "true"
+
+ - it: should create an IngressClass with controller "k8s.io/ingress-nginx-internal" if `controller.ingressClassResource.controllerValue` is "k8s.io/ingress-nginx-internal"
+ set:
+ controller.ingressClassResource.controllerValue: k8s.io/ingress-nginx-internal
+ asserts:
+ - hasDocuments:
+ count: 1
+ - isKind:
+ of: IngressClass
+ - equal:
+ path: metadata.name
+ value: nginx
+ - equal:
+ path: spec.controller
+ value: k8s.io/ingress-nginx-internal
+
+ - it: should create an IngressClass with parameters if `controller.ingressClassResource.parameters` is set
+ set:
+ controller.ingressClassResource.parameters:
+ apiGroup: k8s.example.com
+ kind: IngressParameters
+ name: external-lb
+ asserts:
+ - hasDocuments:
+ count: 1
+ - isKind:
+ of: IngressClass
+ - equal:
+ path: metadata.name
+ value: nginx
+ - equal:
+ path: spec.parameters
+ value:
+ apiGroup: k8s.example.com
+ kind: IngressParameters
+ name: external-lb
From c7d42b95d78486f4ac7d535c3d0d5cc811c31543 Mon Sep 17 00:00:00 2001
From: k8s-infra-cherrypick-robot
<90416843+k8s-infra-cherrypick-robot@users.noreply.github.com>
Date: Thu, 14 Mar 2024 07:59:26 -0700
Subject: [PATCH 010/265] Bump google.golang.org/protobuf in
/images/custom-error-pages/rootfs (#11128)
Bumps google.golang.org/protobuf from 1.28.0 to 1.33.0.
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
---
images/custom-error-pages/rootfs/go.mod | 2 +-
images/custom-error-pages/rootfs/go.sum | 4 ++--
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/images/custom-error-pages/rootfs/go.mod b/images/custom-error-pages/rootfs/go.mod
index 37cd1fcbd..eebc562a5 100644
--- a/images/custom-error-pages/rootfs/go.mod
+++ b/images/custom-error-pages/rootfs/go.mod
@@ -13,5 +13,5 @@ require (
github.com/prometheus/common v0.26.0 // indirect
github.com/prometheus/procfs v0.6.0 // indirect
golang.org/x/sys v0.1.0 // indirect
- google.golang.org/protobuf v1.28.0 // indirect
+ google.golang.org/protobuf v1.33.0 // indirect
)
diff --git a/images/custom-error-pages/rootfs/go.sum b/images/custom-error-pages/rootfs/go.sum
index a5f86cade..99c959a36 100644
--- a/images/custom-error-pages/rootfs/go.sum
+++ b/images/custom-error-pages/rootfs/go.sum
@@ -129,8 +129,8 @@ google.golang.org/protobuf v1.20.1-0.20200309200217-e05f789c0967/go.mod h1:A+miE
google.golang.org/protobuf v1.21.0/go.mod h1:47Nbq4nVaFHyn7ilMalzfO3qCViNmqZ2kzikPIcrTAo=
google.golang.org/protobuf v1.23.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU=
google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw=
-google.golang.org/protobuf v1.28.0 h1:w43yiav+6bVFTBQFZX0r7ipe9JQ1QsbMgHwbBziscLw=
-google.golang.org/protobuf v1.28.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I=
+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=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
From 4f530225e5c3b10456cf1fb53c5026817bddaaac Mon Sep 17 00:00:00 2001
From: Marco Ebert
Date: Thu, 14 Mar 2024 17:21:29 +0100
Subject: [PATCH 011/265] Fix typos in OTel doc (#11081) (#11129)
Co-authored-by: Robert Ma
---
docs/user-guide/third-party-addons/opentelemetry.md | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/docs/user-guide/third-party-addons/opentelemetry.md b/docs/user-guide/third-party-addons/opentelemetry.md
index d735fca4f..e681e1c69 100644
--- a/docs/user-guide/third-party-addons/opentelemetry.md
+++ b/docs/user-guide/third-party-addons/opentelemetry.md
@@ -279,10 +279,10 @@ for common annotations and configurations:
### Annotations
-| Legacy | OpenTelemetry |
-|--------------------------------------------------|--------------------------------------------------|
-| `nginx.ingress.kubernetes.io/enable-opentracing` | `nginx.ingress.kubernetes.io/enable-opentelemetry` |
-| `opentracing-trust-incoming-span` | `opentracing-trust-incoming-span` |
+| Legacy | OpenTelemetry |
+|---------------------------------------------------------------|-----------------------------------------------------------------|
+| `nginx.ingress.kubernetes.io/enable-opentracing` | `nginx.ingress.kubernetes.io/enable-opentelemetry` |
+| `nginx.ingress.kubernetes.io/opentracing-trust-incoming-span` | `nginx.ingress.kubernetes.io/opentelemetry-trust-incoming-span` |
### Configs
From dbb267036f3cf222995dfa4080df22d02a97c533 Mon Sep 17 00:00:00 2001
From: k8s-infra-cherrypick-robot
<90416843+k8s-infra-cherrypick-robot@users.noreply.github.com>
Date: Thu, 14 Mar 2024 14:45:06 -0700
Subject: [PATCH 012/265] Bump google.golang.org/protobuf from 1.32.0 to 1.33.0
in /magefiles (#11127)
Bumps google.golang.org/protobuf from 1.32.0 to 1.33.0.
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
---
magefiles/go.mod | 2 +-
magefiles/go.sum | 28 +++++++++++++++++++++++++++-
2 files changed, 28 insertions(+), 2 deletions(-)
diff --git a/magefiles/go.mod b/magefiles/go.mod
index 9dddf9f71..bdc592cdd 100644
--- a/magefiles/go.mod
+++ b/magefiles/go.mod
@@ -29,7 +29,7 @@ require (
github.com/sergi/go-diff v1.3.1 // indirect
golang.org/x/crypto v0.20.0 // indirect
google.golang.org/appengine v1.6.8 // indirect
- google.golang.org/protobuf v1.32.0 // 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
diff --git a/magefiles/go.sum b/magefiles/go.sum
index 9abe8e950..8130f1178 100644
--- a/magefiles/go.sum
+++ b/magefiles/go.sum
@@ -29,6 +29,7 @@ github.com/golang/protobuf v1.4.0-rc.4.0.20200313231945-b860323f09d0/go.mod h1:W
github.com/golang/protobuf v1.4.0/go.mod h1:jodUvKwWbYaEsadDk5Fwe5c77LiNKVO9IDvqG2KuDX0=
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/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU=
@@ -37,6 +38,7 @@ github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/
github.com/google/go-cmp v0.5.2/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.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI=
+github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY=
github.com/google/go-github/v48 v48.2.0 h1:68puzySE6WqUY9KWmpOsDEQfDZsso98rT6pZcz9HqcE=
github.com/google/go-github/v48 v48.2.0/go.mod h1:dDlehKBDo850ZPvCTK0sEqTCVWcrGl2LcDiajkYi89Y=
github.com/google/go-querystring v1.1.0 h1:AnCroh3fv4ZBgVIf1Iwtovgjaw/GiKJo8M8yD/fhyJ8=
@@ -66,12 +68,14 @@ github.com/onsi/gomega v1.7.0/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1Cpa
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/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
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/sergi/go-diff v1.1.0/go.mod h1:STckp+ISIX8hZLjrqAeVduY0gWCT9IjLuqbuNXdaHfM=
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/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=
@@ -80,21 +84,30 @@ github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXl
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=
+github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY=
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
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/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=
golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
golang.org/x/net v0.0.0-20200520004742-59133d7f0dd7/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A=
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/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=
+golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sys v0.0.0-20180909124046-d0be0721c37e/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-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
@@ -103,20 +116,31 @@ golang.org/x/sys v0.0.0-20191005200804-aed5e4c7ecf9/go.mod h1:h1NjWce9XRLGQEsW7w
golang.org/x/sys v0.0.0-20191120155948-bd437916bb0e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/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-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/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=
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/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
golang.org/x/tools v0.0.0-20201224043029-2b0845dc783e/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA=
+golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc=
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=
google.golang.org/appengine v1.6.8 h1:IhEN5q69dyKagZPYMSdIjS2HqprW324FRQZJcGqPAsM=
+google.golang.org/appengine v1.6.8/go.mod h1:1jJ3jBArFh5pcgW8gCtRJnepW8FzD1V44FJffLiz/Ds=
google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8=
google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0=
google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM=
@@ -125,7 +149,8 @@ google.golang.org/protobuf v1.21.0/go.mod h1:47Nbq4nVaFHyn7ilMalzfO3qCViNmqZ2kzi
google.golang.org/protobuf v1.23.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU=
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.32.0 h1:pPC6BG5ex8PDFnkbrGU3EixyhKcQ2aDuBS36lqK/C7I=
+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/check.v1 v0.0.0-20161208181325-20d25e280405/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=
@@ -144,5 +169,6 @@ gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C
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/helm v2.17.0+incompatible h1:Bpn6o1wKLYqKM3+Osh8e+1/K2g/GsQJ4F4yNF2+deao=
k8s.io/helm v2.17.0+incompatible/go.mod h1:LZzlS4LQBHfciFOurYBFkCMTaZ0D1l+p0teMg7TSULI=
From 574ae2e3a66b64321df91712932ec38c5054170e Mon Sep 17 00:00:00 2001
From: k8s-infra-cherrypick-robot
<90416843+k8s-infra-cherrypick-robot@users.noreply.github.com>
Date: Mon, 18 Mar 2024 06:42:46 -0700
Subject: [PATCH 013/265] Bump the all group with 1 update (#11136)
Bumps the all group with 1 update: [k8s.io/component-base](https://github.com/kubernetes/component-base).
Updates `k8s.io/component-base` from 0.29.2 to 0.29.3
- [Commits](https://github.com/kubernetes/component-base/compare/v0.29.2...v0.29.3)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
---
go.mod | 10 +++++-----
go.sum | 20 ++++++++++----------
2 files changed, 15 insertions(+), 15 deletions(-)
diff --git a/go.mod b/go.mod
index 6e3723b15..960df0c20 100644
--- a/go.mod
+++ b/go.mod
@@ -30,14 +30,14 @@ require (
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.2
+ k8s.io/api v0.29.3
k8s.io/apiextensions-apiserver v0.29.2
- k8s.io/apimachinery 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.2
+ k8s.io/client-go v0.29.3
k8s.io/code-generator v0.29.2
- k8s.io/component-base v0.29.2
+ k8s.io/component-base v0.29.3
k8s.io/klog/v2 v2.120.1
pault.ag/go/sniff v0.0.0-20200207005214-cf7e4d167732
sigs.k8s.io/controller-runtime v0.17.2
@@ -67,7 +67,7 @@ require (
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
- github.com/golang/protobuf v1.5.3 // indirect
+ github.com/golang/protobuf v1.5.4 // indirect
github.com/gomarkdown/markdown v0.0.0-20231222211730-1d6d20845b47 // indirect
github.com/google/btree v1.1.2 // indirect
github.com/google/gnostic-models v0.6.8 // indirect
diff --git a/go.sum b/go.sum
index 5a40ced85..0b21a7cc5 100644
--- a/go.sum
+++ b/go.sum
@@ -154,8 +154,8 @@ github.com/golang/protobuf v1.4.2/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw
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.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/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=
@@ -740,22 +740,22 @@ honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWh
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.2 h1:hBC7B9+MU+ptchxEqTNW2DkUosJpp1P+Wn6YncZ474A=
-k8s.io/api v0.29.2/go.mod h1:sdIaaKuU7P44aoyyLlikSLayT6Vb7bvJNCX105xZXY0=
+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.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/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.2 h1:FEg85el1TeZp+/vYJM7hkDlSTFZ+c5nnK44DJ4FyoRg=
-k8s.io/client-go v0.29.2/go.mod h1:knlvFZE58VpqbQpJNbCbctTVXcd35mMyAAwBdpt4jrA=
+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.2 h1:lpiLyuvPA9yV1aQwGLENYyK7n/8t6l3nn3zAtFTJYe8=
-k8s.io/component-base v0.29.2/go.mod h1:BfB3SLrefbZXiBfbM+2H1dlat21Uewg/5qtKOl8degM=
+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=
From 13f8b28251beb6724b993ebb5bbf61a07350d92c Mon Sep 17 00:00:00 2001
From: k8s-infra-cherrypick-robot
<90416843+k8s-infra-cherrypick-robot@users.noreply.github.com>
Date: Tue, 19 Mar 2024 14:53:20 -0700
Subject: [PATCH 014/265] Bump the all group with 4 updates (#11140)
Bumps the all group with 4 updates: [actions/checkout](https://github.com/actions/checkout), [docker/setup-buildx-action](https://github.com/docker/setup-buildx-action), [docker/login-action](https://github.com/docker/login-action) and [github/codeql-action](https://github.com/github/codeql-action).
Updates `actions/checkout` from 4.1.1 to 4.1.2
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/b4ffde65f46336ab88eb53be808477a3936bae11...9bb56186c3b09b4f86b1c65136769dd318469633)
Updates `docker/setup-buildx-action` from 3.1.0 to 3.2.0
- [Release notes](https://github.com/docker/setup-buildx-action/releases)
- [Commits](https://github.com/docker/setup-buildx-action/compare/0d103c3126aa41d772a8362f6aa67afac040f80c...2b51285047da1547ffb1b2203d8be4c0af6b1f20)
Updates `docker/login-action` from 3.0.0 to 3.1.0
- [Release notes](https://github.com/docker/login-action/releases)
- [Commits](https://github.com/docker/login-action/compare/343f7c4344506bcbf9b4de18042ae17996df046d...e92390c5fb421da1463c202d546fed0ec5c39f20)
Updates `github/codeql-action` from 3.24.6 to 3.24.7
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/github/codeql-action/compare/8a470fddafa5cbb6266ee11b37ef4d8aae19c571...3ab4101902695724f9365a384f86c1074d94e18c)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
---
.github/workflows/ci.yaml | 10 +++++-----
.github/workflows/depreview.yaml | 2 +-
.github/workflows/docs.yaml | 4 ++--
.github/workflows/golangci-lint.yml | 2 +-
.github/workflows/helm.yaml | 4 ++--
.github/workflows/images.yaml | 12 ++++++------
.github/workflows/perftest.yaml | 2 +-
.github/workflows/plugin.yaml | 2 +-
.github/workflows/scorecards.yml | 4 ++--
.github/workflows/vulnerability-scans.yaml | 6 +++---
.github/workflows/zz-tmpl-images.yaml | 8 ++++----
.github/workflows/zz-tmpl-k8s-e2e.yaml | 2 +-
12 files changed, 29 insertions(+), 29 deletions(-)
diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml
index 266565578..a033bbfa9 100644
--- a/.github/workflows/ci.yaml
+++ b/.github/workflows/ci.yaml
@@ -47,7 +47,7 @@ jobs:
steps:
- name: Checkout
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
+ uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633 # v4.1.2
- uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
id: filter
@@ -77,7 +77,7 @@ jobs:
(needs.changes.outputs.go == 'true')
steps:
- name: Checkout
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
+ uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633 # v4.1.2
- name: Get go version
run: echo "GOLANG_VERSION=$(cat GOLANG_VERSION)" >> $GITHUB_ENV
@@ -105,7 +105,7 @@ jobs:
PLATFORMS: linux/amd64
steps:
- name: Checkout
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
+ uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633 # v4.1.2
- name: Get go version
id: golangversion
@@ -124,7 +124,7 @@ jobs:
- name: Set up Docker Buildx
id: buildx
- uses: docker/setup-buildx-action@0d103c3126aa41d772a8362f6aa67afac040f80c # v3.1.0
+ uses: docker/setup-buildx-action@2b51285047da1547ffb1b2203d8be4c0af6b1f20 # v3.2.0
with:
version: latest
@@ -183,7 +183,7 @@ jobs:
steps:
- name: Checkout
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
+ uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633 # v4.1.2
- name: Setup Go
uses: actions/setup-go@0c52d547c9bc32b1aa3301fd7a9cb496313a4491 # v5.0.0
diff --git a/.github/workflows/depreview.yaml b/.github/workflows/depreview.yaml
index eadf099b3..6d9f9dc8f 100644
--- a/.github/workflows/depreview.yaml
+++ b/.github/workflows/depreview.yaml
@@ -9,6 +9,6 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: 'Checkout Repository'
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
+ uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633 # v4.1.2
- name: 'Dependency Review'
uses: actions/dependency-review-action@9129d7d40b8c12c1ed0f60400d00c92d437adcce # v4.1.3
diff --git a/.github/workflows/docs.yaml b/.github/workflows/docs.yaml
index d37c1f3bf..d6182ec9c 100644
--- a/.github/workflows/docs.yaml
+++ b/.github/workflows/docs.yaml
@@ -23,7 +23,7 @@ jobs:
steps:
- name: Checkout
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
+ uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633 # v4.1.2
- uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
id: filter
@@ -47,7 +47,7 @@ jobs:
steps:
- name: Checkout master
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
+ uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633 # v4.1.2
- name: Deploy
uses: ./.github/actions/mkdocs
diff --git a/.github/workflows/golangci-lint.yml b/.github/workflows/golangci-lint.yml
index b5ad3c93c..d287061d5 100644
--- a/.github/workflows/golangci-lint.yml
+++ b/.github/workflows/golangci-lint.yml
@@ -15,7 +15,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
+ uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633 # v4.1.2
- name: Get go version
run: echo "GOLANG_VERSION=$(cat GOLANG_VERSION)" >> $GITHUB_ENV
diff --git a/.github/workflows/helm.yaml b/.github/workflows/helm.yaml
index 1a7eb4334..da86a36f0 100644
--- a/.github/workflows/helm.yaml
+++ b/.github/workflows/helm.yaml
@@ -23,7 +23,7 @@ jobs:
steps:
- name: Checkout
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
+ uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633 # v4.1.2
- name: Run Artifact Hub lint
run: |
@@ -61,7 +61,7 @@ jobs:
steps:
- name: Checkout master
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
+ uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633 # v4.1.2
with:
# Fetch entire history. Required for chart-releaser; see https://github.com/helm/chart-releaser-action/issues/13#issuecomment-602063896
fetch-depth: 0
diff --git a/.github/workflows/images.yaml b/.github/workflows/images.yaml
index 5effdee82..e5684ba79 100644
--- a/.github/workflows/images.yaml
+++ b/.github/workflows/images.yaml
@@ -41,7 +41,7 @@ jobs:
steps:
- name: Checkout
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
+ uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633 # v4.1.2
- uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
id: filter
with:
@@ -144,7 +144,7 @@ jobs:
k8s: [v1.25.11, v1.26.6, v1.27.3, v1.28.0, v1.29.0]
steps:
- name: Checkout
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
+ uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633 # v4.1.2
- name: Get go version
run: echo "GOLANG_VERSION=$(cat GOLANG_VERSION)" >> $GITHUB_ENV
@@ -178,7 +178,7 @@ jobs:
nginx: ['1.25.3', '1.21.6']
steps:
- name: Checkout
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
+ uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633 # v4.1.2
- name: image build
run: |
cd images/opentelemetry && make NGINX_VERSION=${{ matrix.nginx }} build
@@ -195,17 +195,17 @@ jobs:
PLATFORMS: linux/amd64,linux/arm,linux/arm64,linux/s390x
steps:
- name: Checkout
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
+ uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633 # v4.1.2
- name: Set up QEMU
uses: docker/setup-qemu-action@68827325e0b33c7199eb31dd4e31fbe9023e06e3 # v3.0.0
- name: Set up Docker Buildx
id: buildx
- uses: docker/setup-buildx-action@0d103c3126aa41d772a8362f6aa67afac040f80c # v3.1.0
+ uses: docker/setup-buildx-action@2b51285047da1547ffb1b2203d8be4c0af6b1f20 # v3.2.0
with:
version: latest
platforms: ${{ env.PLATFORMS }}
- name: Login to GitHub Container Registry
- uses: docker/login-action@343f7c4344506bcbf9b4de18042ae17996df046d # v3.0.0
+ uses: docker/login-action@e92390c5fb421da1463c202d546fed0ec5c39f20 # v3.1.0
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
diff --git a/.github/workflows/perftest.yaml b/.github/workflows/perftest.yaml
index 7f62fedf4..3650e7263 100644
--- a/.github/workflows/perftest.yaml
+++ b/.github/workflows/perftest.yaml
@@ -19,7 +19,7 @@ jobs:
steps:
- name: Checkout
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
+ uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633 # v4.1.2
- name: Install K6
run: |
diff --git a/.github/workflows/plugin.yaml b/.github/workflows/plugin.yaml
index 6f4804d6f..a074eaa5b 100644
--- a/.github/workflows/plugin.yaml
+++ b/.github/workflows/plugin.yaml
@@ -12,7 +12,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
+ uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633 # v4.1.2
with:
fetch-depth: 0
diff --git a/.github/workflows/scorecards.yml b/.github/workflows/scorecards.yml
index 79996ca2f..43c63c733 100644
--- a/.github/workflows/scorecards.yml
+++ b/.github/workflows/scorecards.yml
@@ -27,7 +27,7 @@ jobs:
steps:
- name: "Checkout code"
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
+ uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633 # v4.1.2
with:
persist-credentials: false
@@ -59,6 +59,6 @@ jobs:
# Upload the results to GitHub's code scanning dashboard.
- name: "Upload to code-scanning"
- uses: github/codeql-action/upload-sarif@8a470fddafa5cbb6266ee11b37ef4d8aae19c571 # v3.24.6
+ uses: github/codeql-action/upload-sarif@3ab4101902695724f9365a384f86c1074d94e18c # v3.24.7
with:
sarif_file: results.sarif
diff --git a/.github/workflows/vulnerability-scans.yaml b/.github/workflows/vulnerability-scans.yaml
index 5d37ecbf8..13131d633 100644
--- a/.github/workflows/vulnerability-scans.yaml
+++ b/.github/workflows/vulnerability-scans.yaml
@@ -22,7 +22,7 @@ jobs:
versions: ${{ steps.version.outputs.TAGS }}
steps:
- name: Checkout code
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
+ uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633 # v4.1.2
with:
fetch-depth: 0
@@ -52,7 +52,7 @@ jobs:
versions: ${{ fromJSON(needs.version.outputs.versions) }}
steps:
- name: Checkout code
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
+ uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633 # v4.1.2
- shell: bash
id: test
@@ -75,7 +75,7 @@ jobs:
# This step checks out a copy of your repository.
- name: Upload SARIF file
- uses: github/codeql-action/upload-sarif@8a470fddafa5cbb6266ee11b37ef4d8aae19c571 # v3.24.6
+ uses: github/codeql-action/upload-sarif@3ab4101902695724f9365a384f86c1074d94e18c # v3.24.7
with:
token: ${{ github.token }}
# Path to SARIF file relative to the root of the repository
diff --git a/.github/workflows/zz-tmpl-images.yaml b/.github/workflows/zz-tmpl-images.yaml
index 45f5d9184..e8fa4f472 100644
--- a/.github/workflows/zz-tmpl-images.yaml
+++ b/.github/workflows/zz-tmpl-images.yaml
@@ -31,7 +31,7 @@ jobs:
steps:
- name: Checkout
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
+ uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633 # v4.1.2
- uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
id: filter
with:
@@ -48,7 +48,7 @@ jobs:
steps:
- name: Checkout
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
+ uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633 # v4.1.2
- name: Build
run: |
@@ -67,10 +67,10 @@ jobs:
PLATFORMS: ${{ inputs.platforms-publish }}
steps:
- name: Checkout
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
+ uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633 # v4.1.2
- name: Login to GitHub Container Registry
- uses: docker/login-action@343f7c4344506bcbf9b4de18042ae17996df046d # v3.0.0
+ uses: docker/login-action@e92390c5fb421da1463c202d546fed0ec5c39f20 # v3.1.0
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
diff --git a/.github/workflows/zz-tmpl-k8s-e2e.yaml b/.github/workflows/zz-tmpl-k8s-e2e.yaml
index 3a8916049..ad03bf0a1 100644
--- a/.github/workflows/zz-tmpl-k8s-e2e.yaml
+++ b/.github/workflows/zz-tmpl-k8s-e2e.yaml
@@ -20,7 +20,7 @@ jobs:
steps:
- name: Checkout
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
+ uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633 # v4.1.2
- name: cache
uses: actions/download-artifact@c850b930e6ba138125429b7e5c93fc707a7f8427 # v4.1.4
From 3230e4abbc24ef6ef47e2e8149ff663b5a6db92c Mon Sep 17 00:00:00 2001
From: k8s-infra-cherrypick-robot
<90416843+k8s-infra-cherrypick-robot@users.noreply.github.com>
Date: Sun, 24 Mar 2024 16:42:21 -0700
Subject: [PATCH 015/265] fix geoip2 configuration docs (#11151)
Co-authored-by: dVerhees <30548963+dVerhees@users.noreply.github.com>
---
docs/user-guide/nginx-configuration/configmap.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/docs/user-guide/nginx-configuration/configmap.md b/docs/user-guide/nginx-configuration/configmap.md
index 75971b9a5..5d3ff6c58 100644
--- a/docs/user-guide/nginx-configuration/configmap.md
+++ b/docs/user-guide/nginx-configuration/configmap.md
@@ -730,7 +730,7 @@ _**default:**_ true
Enables the [geoip2 module](https://github.com/leev/ngx_http_geoip2_module) for NGINX.
Since `0.27.0` and due to a [change in the MaxMind databases](https://blog.maxmind.com/2019/12/18/significant-changes-to-accessing-and-using-geolite2-databases) a license is required to have access to the databases.
For this reason, it is required to define a new flag `--maxmind-license-key` in the ingress controller deployment to download the databases needed during the initialization of the ingress controller.
-Alternatively, it is possible to use a volume to mount the files `/etc/nginx/geoip/GeoLite2-City.mmdb` and `/etc/nginx/geoip/GeoLite2-ASN.mmdb`, avoiding the overhead of the download.
+Alternatively, it is possible to use a volume to mount the files `/etc/ingress-controller/geoip/GeoLite2-City.mmdb` and `/etc/ingress-controller/geoip/GeoLite2-ASN.mmdb`, avoiding the overhead of the download.
!!! important
If the feature is enabled but the files are missing, GeoIP2 will not be enabled.
From 8cd7ff8754077bd5fbaf917471dba0f81881f7b5 Mon Sep 17 00:00:00 2001
From: k8s-infra-cherrypick-robot
<90416843+k8s-infra-cherrypick-robot@users.noreply.github.com>
Date: Mon, 25 Mar 2024 06:29:45 -0700
Subject: [PATCH 016/265] Bump github.com/prometheus/common from 0.50.0 to
0.51.1 (#11160)
Bumps [github.com/prometheus/common](https://github.com/prometheus/common) from 0.50.0 to 0.51.1.
- [Release notes](https://github.com/prometheus/common/releases)
- [Commits](https://github.com/prometheus/common/compare/v0.50.0...v0.51.1)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
---
go.mod | 2 +-
go.sum | 4 ++--
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/go.mod b/go.mod
index 960df0c20..a5b488044 100644
--- a/go.mod
+++ b/go.mod
@@ -19,7 +19,7 @@ require (
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/prometheus/common v0.51.1
github.com/spf13/cobra v1.8.0
github.com/spf13/pflag v1.0.5
github.com/stretchr/testify v1.9.0
diff --git a/go.sum b/go.sum
index 0b21a7cc5..d79fb373f 100644
--- a/go.sum
+++ b/go.sum
@@ -323,8 +323,8 @@ github.com/prometheus/common v0.4.1/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y8
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/common v0.51.1 h1:eIjN50Bwglz6a/c3hAgSMcofL3nD+nFQkV6Dd4DsQCw=
+github.com/prometheus/common v0.51.1/go.mod h1:lrWtQx+iDfn2mbH5GUzlH9TSHyfZpHkSiG1W7y3sF2Q=
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=
From aa947f5bd448b1f2c6badc47c0ca707b69b6d670 Mon Sep 17 00:00:00 2001
From: k8s-infra-cherrypick-robot
<90416843+k8s-infra-cherrypick-robot@users.noreply.github.com>
Date: Tue, 26 Mar 2024 04:43:19 -0700
Subject: [PATCH 017/265] Bump the all group with 3 updates (#11166)
Bumps the all group with 3 updates: [actions/dependency-review-action](https://github.com/actions/dependency-review-action), [actions/add-to-project](https://github.com/actions/add-to-project) and [github/codeql-action](https://github.com/github/codeql-action).
Updates `actions/dependency-review-action` from 4.1.3 to 4.2.4
- [Release notes](https://github.com/actions/dependency-review-action/releases)
- [Commits](https://github.com/actions/dependency-review-action/compare/9129d7d40b8c12c1ed0f60400d00c92d437adcce...733dd5d4a5203f238c33806593ec0f5fc5343d8c)
Updates `actions/add-to-project` from 0.6.0 to 0.6.1
- [Release notes](https://github.com/actions/add-to-project/releases)
- [Commits](https://github.com/actions/add-to-project/compare/0609a2702eefb44781da00f8e04901d6e5cd2b92...1b844f0c5ac6446a402e0cb3693f9be5eca188c5)
Updates `github/codeql-action` from 3.24.7 to 3.24.9
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/github/codeql-action/compare/3ab4101902695724f9365a384f86c1074d94e18c...1b1aada464948af03b950897e5eb522f92603cc2)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
---
.github/workflows/depreview.yaml | 2 +-
.github/workflows/project.yml | 2 +-
.github/workflows/scorecards.yml | 2 +-
.github/workflows/vulnerability-scans.yaml | 2 +-
4 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/.github/workflows/depreview.yaml b/.github/workflows/depreview.yaml
index 6d9f9dc8f..f890b4b4d 100644
--- a/.github/workflows/depreview.yaml
+++ b/.github/workflows/depreview.yaml
@@ -11,4 +11,4 @@ jobs:
- name: 'Checkout Repository'
uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633 # v4.1.2
- name: 'Dependency Review'
- uses: actions/dependency-review-action@9129d7d40b8c12c1ed0f60400d00c92d437adcce # v4.1.3
+ uses: actions/dependency-review-action@733dd5d4a5203f238c33806593ec0f5fc5343d8c # v4.2.4
diff --git a/.github/workflows/project.yml b/.github/workflows/project.yml
index 2d398e24c..a87742e63 100644
--- a/.github/workflows/project.yml
+++ b/.github/workflows/project.yml
@@ -13,7 +13,7 @@ jobs:
repository-projects: write
issues: write
steps:
- - uses: actions/add-to-project@0609a2702eefb44781da00f8e04901d6e5cd2b92 # v0.6.0
+ - uses: actions/add-to-project@1b844f0c5ac6446a402e0cb3693f9be5eca188c5 # v0.6.1
with:
project-url: https://github.com/orgs/kubernetes/projects/104
github-token: ${{ secrets.PROJECT_WRITER }}
diff --git a/.github/workflows/scorecards.yml b/.github/workflows/scorecards.yml
index 43c63c733..3018dee65 100644
--- a/.github/workflows/scorecards.yml
+++ b/.github/workflows/scorecards.yml
@@ -59,6 +59,6 @@ jobs:
# Upload the results to GitHub's code scanning dashboard.
- name: "Upload to code-scanning"
- uses: github/codeql-action/upload-sarif@3ab4101902695724f9365a384f86c1074d94e18c # v3.24.7
+ uses: github/codeql-action/upload-sarif@1b1aada464948af03b950897e5eb522f92603cc2 # v3.24.9
with:
sarif_file: results.sarif
diff --git a/.github/workflows/vulnerability-scans.yaml b/.github/workflows/vulnerability-scans.yaml
index 13131d633..8bc0f8e40 100644
--- a/.github/workflows/vulnerability-scans.yaml
+++ b/.github/workflows/vulnerability-scans.yaml
@@ -75,7 +75,7 @@ jobs:
# This step checks out a copy of your repository.
- name: Upload SARIF file
- uses: github/codeql-action/upload-sarif@3ab4101902695724f9365a384f86c1074d94e18c # v3.24.7
+ uses: github/codeql-action/upload-sarif@1b1aada464948af03b950897e5eb522f92603cc2 # v3.24.9
with:
token: ${{ github.token }}
# Path to SARIF file relative to the root of the repository
From 48069d3d12f4de19a6666fb305df55ab59247bbe Mon Sep 17 00:00:00 2001
From: k8s-infra-cherrypick-robot
<90416843+k8s-infra-cherrypick-robot@users.noreply.github.com>
Date: Mon, 1 Apr 2024 04:19:33 -0700
Subject: [PATCH 018/265] fixes brotli build issue (#11187)
Co-authored-by: u5surf
---
images/nginx/rootfs/build.sh | 4 +---
1 file changed, 1 insertion(+), 3 deletions(-)
diff --git a/images/nginx/rootfs/build.sh b/images/nginx/rootfs/build.sh
index d6e7c4a58..98bb346fb 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
From 506a02f7500a62f1f708edf6d2e003198b6f5436 Mon Sep 17 00:00:00 2001
From: k8s-infra-cherrypick-robot
<90416843+k8s-infra-cherrypick-robot@users.noreply.github.com>
Date: Mon, 1 Apr 2024 05:11:33 -0700
Subject: [PATCH 019/265] bump ginkgo to v2.17.1 (#11186)
Signed-off-by: cpanato
Co-authored-by: cpanato
---
build/run-in-docker.sh | 2 +-
go.mod | 10 +++---
go.sum | 20 +++++------
images/kube-webhook-certgen/rootfs/go.mod | 21 +++++------
images/kube-webhook-certgen/rootfs/go.sum | 44 +++++++++++------------
magefiles/go.mod | 9 ++---
magefiles/go.sum | 21 ++++-------
test/e2e/run-chart-test.sh | 2 +-
test/e2e/run-kind-e2e.sh | 2 +-
9 files changed, 63 insertions(+), 68 deletions(-)
diff --git a/build/run-in-docker.sh b/build/run-in-docker.sh
index 367f6138a..62bd7115c 100755
--- a/build/run-in-docker.sh
+++ b/build/run-in-docker.sh
@@ -82,7 +82,7 @@ if [[ "$DOCKER_IN_DOCKER_ENABLED" == "true" ]]; then
echo "..reached DIND check TRUE block, inside run-in-docker.sh"
echo "FLAGS=$FLAGS"
#go env
- go install -mod=mod github.com/onsi/ginkgo/v2/ginkgo@v2.15.0
+ go install -mod=mod github.com/onsi/ginkgo/v2/ginkgo@v2.17.1
find / -type f -name ginkgo 2>/dev/null
which ginkgo
/bin/bash -c "${FLAGS}"
diff --git a/go.mod b/go.mod
index a5b488044..a0bb140a0 100644
--- a/go.mod
+++ b/go.mod
@@ -14,7 +14,7 @@ require (
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/onsi/ginkgo/v2 v2.17.1
github.com/opencontainers/runc v1.1.12
github.com/pmezard/go-difflib v1.0.0
github.com/prometheus/client_golang v1.19.0
@@ -31,12 +31,12 @@ require (
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/apiextensions-apiserver v0.29.3
k8s.io/apimachinery v0.29.3
- k8s.io/apiserver v0.29.2
- k8s.io/cli-runtime v0.29.2
+ k8s.io/apiserver v0.29.3
+ k8s.io/cli-runtime v0.29.3
k8s.io/client-go v0.29.3
- k8s.io/code-generator v0.29.2
+ k8s.io/code-generator v0.29.3
k8s.io/component-base v0.29.3
k8s.io/klog/v2 v2.120.1
pault.ag/go/sniff v0.0.0-20200207005214-cf7e4d167732
diff --git a/go.sum b/go.sum
index d79fb373f..4edd9fe56 100644
--- a/go.sum
+++ b/go.sum
@@ -288,8 +288,8 @@ 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.17.1 h1:V++EzdbhI4ZV4ev0UTIj0PzhzOcReJFyJaLjtSF55M8=
+github.com/onsi/ginkgo/v2 v2.17.1/go.mod h1:llBI3WDLL9Z6taip6f33H76YcWtJv+7R3HigUjbIBOs=
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=
@@ -742,18 +742,18 @@ honnef.co/go/tools v0.0.1-2020.1.3/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9
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/apiextensions-apiserver v0.29.3 h1:9HF+EtZaVpFjStakF4yVufnXGPRppWFEQ87qnO91YeI=
+k8s.io/apiextensions-apiserver v0.29.3/go.mod h1:po0XiY5scnpJfFizNGo6puNU6Fq6D70UJY2Cb2KwAVc=
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/apiserver v0.29.3 h1:xR7ELlJ/BZSr2n4CnD3lfA4gzFivh0wwfNfz9L0WZcE=
+k8s.io/apiserver v0.29.3/go.mod h1:hrvXlwfRulbMbBgmWRQlFru2b/JySDpmzvQwwk4GUOs=
+k8s.io/cli-runtime v0.29.3 h1:r68rephmmytoywkw2MyJ+CxjpasJDQY7AGc3XY2iv1k=
+k8s.io/cli-runtime v0.29.3/go.mod h1:aqVUsk86/RhaGJwDhHXH0jcdqBrgdF3bZWk4Z9D4mkM=
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/code-generator v0.29.3 h1:m7E25/t9R9NvejspO2zBdyu+/Gl0Z5m7dCRc680KS14=
+k8s.io/code-generator v0.29.3/go.mod h1:x47ofBhN4gxYFcxeKA1PYXeaPreAGaDN85Y/lNUsPoM=
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=
diff --git a/images/kube-webhook-certgen/rootfs/go.mod b/images/kube-webhook-certgen/rootfs/go.mod
index de1d86bdd..b1903dcf3 100644
--- a/images/kube-webhook-certgen/rootfs/go.mod
+++ b/images/kube-webhook-certgen/rootfs/go.mod
@@ -6,10 +6,10 @@ 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 (
@@ -21,7 +21,7 @@ require (
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
@@ -34,14 +34,15 @@ 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/ginkgo/v2 v2.17.1 // indirect
github.com/onsi/gomega v1.30.0 // 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
+ github.com/stretchr/testify v1.9.0 // indirect
+ golang.org/x/net v0.22.0 // indirect
+ golang.org/x/oauth2 v0.18.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
golang.org/x/time v0.5.0 // indirect
golang.org/x/tools v0.18.0 // indirect
diff --git a/images/kube-webhook-certgen/rootfs/go.sum b/images/kube-webhook-certgen/rootfs/go.sum
index 5f88f3da3..4ec80305a 100644
--- a/images/kube-webhook-certgen/rootfs/go.sum
+++ b/images/kube-webhook-certgen/rootfs/go.sum
@@ -20,8 +20,8 @@ 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=
@@ -60,8 +60,8 @@ 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/ginkgo/v2 v2.17.1 h1:V++EzdbhI4ZV4ev0UTIj0PzhzOcReJFyJaLjtSF55M8=
+github.com/onsi/ginkgo/v2 v2.17.1/go.mod h1:llBI3WDLL9Z6taip6f33H76YcWtJv+7R3HigUjbIBOs=
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/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4=
@@ -80,8 +80,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=
@@ -104,10 +104,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.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-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,12 +120,12 @@ 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.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.17.0 h1:mkTF7LCd6WGJNL3K1Ad7kwxNfYAW6a8a8QqtMblp/4U=
-golang.org/x/term v0.17.0/go.mod h1:lLRBjIVuehSbZlaOtGMbcMncT+aqLLLmKrsjNrUguwk=
+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.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=
@@ -162,16 +162,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/magefiles/go.mod b/magefiles/go.mod
index bdc592cdd..d41baf17e 100644
--- a/magefiles/go.mod
+++ b/magefiles/go.mod
@@ -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..5f402c490 100644
--- a/magefiles/go.sum
+++ b/magefiles/go.sum
@@ -30,8 +30,7 @@ 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/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 +78,7 @@ 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/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 +87,7 @@ 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/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 +97,8 @@ 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/oauth2 v0.18.0 h1:09qnuIAgzdx1XplqJvW6CQqMCtGZykZWcXzPMPUusvI=
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 +116,7 @@ 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/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 +162,6 @@ 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/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/test/e2e/run-chart-test.sh b/test/e2e/run-chart-test.sh
index 05f199cb2..e38df8690 100755
--- a/test/e2e/run-chart-test.sh
+++ b/test/e2e/run-chart-test.sh
@@ -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.17.1
fi
echo "[dev-env] building image"
make -C ${DIR}/../../ clean-image build image
diff --git a/test/e2e/run-kind-e2e.sh b/test/e2e/run-kind-e2e.sh
index 5e4afb57d..891e5dbae 100755
--- a/test/e2e/run-kind-e2e.sh
+++ b/test/e2e/run-kind-e2e.sh
@@ -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.17.1
fi
echo "[dev-env] .. done building controller images"
From e09f96ef5612b70c292677e09ab9ed170828927a Mon Sep 17 00:00:00 2001
From: k8s-infra-cherrypick-robot
<90416843+k8s-infra-cherrypick-robot@users.noreply.github.com>
Date: Mon, 1 Apr 2024 05:15:34 -0700
Subject: [PATCH 020/265] Proposal: e2e tests for regex patterns (#11185)
* tests(path): proposal: e2e tests for regex patterns
* gofumpt
* gofumpt
---------
Co-authored-by: Matheus Fidelis
---
test/e2e/ingress/pathtype_prefix.go | 134 ++++++++++++++++++++++++++++
1 file changed, 134 insertions(+)
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)
+ })
})
From 97921626f98f6ac17a862778d472ea393e372bc9 Mon Sep 17 00:00:00 2001
From: k8s-infra-cherrypick-robot
<90416843+k8s-infra-cherrypick-robot@users.noreply.github.com>
Date: Mon, 1 Apr 2024 05:33:33 -0700
Subject: [PATCH 021/265] refactor helm ci tests part I (#11188)
* refactor helm ci tests part I
Signed-off-by: cpanato
* update indentation
Signed-off-by: cpanato
* fix path
Signed-off-by: cpanato
* more updates
Signed-off-by: cpanato
* add helm-lint job
Signed-off-by: cpanato
---------
Signed-off-by: cpanato
Co-authored-by: cpanato
---
hack/verify-chart-lint.sh => .ct.yaml | 20 +++++----
.github/workflows/ci.yaml | 65 ++++++++++++++++++---------
charts/ingress-nginx/Chart.yaml | 14 +++---
3 files changed, 64 insertions(+), 35 deletions(-)
rename hack/verify-chart-lint.sh => .ct.yaml (67%)
mode change 100755 => 100644
diff --git a/hack/verify-chart-lint.sh b/.ct.yaml
old mode 100755
new mode 100644
similarity index 67%
rename from hack/verify-chart-lint.sh
rename to .ct.yaml
index 1c661ae2b..229030219
--- a/hack/verify-chart-lint.sh
+++ b/.ct.yaml
@@ -1,6 +1,4 @@
-#!/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.
@@ -13,10 +11,16 @@
# 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
-set -o errexit
-set -o nounset
-set -o pipefail
+validate-maintainers: false
+check-version-increment: false
-KUBE_ROOT="$( cd "$(dirname "$0")../" >/dev/null 2>&1 ; pwd -P )"
-ct lint --charts ${KUBE_ROOT}/charts/ingress-nginx --validate-maintainers=false
+chart-repos:
+ - ingress-nginx=https://kubernetes.github.io/ingress-nginx
+helm-extra-args: --timeout 800s
+
+chart-dirs:
+ - charts
diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml
index a033bbfa9..f19b7158f 100644
--- a/.github/workflows/ci.yaml
+++ b/.github/workflows/ci.yaml
@@ -168,28 +168,30 @@ jobs:
name: docker.tar.gz
path: docker.tar.gz
retention-days: 5
- helm:
- name: Helm chart
+
+ helm-lint:
+ name: Helm chart lint
runs-on: ubuntu-latest
needs:
- changes
- - build
if: |
(needs.changes.outputs.charts == 'true') || (needs.changes.outputs.baseimage == 'true')
- strategy:
- matrix:
- k8s: [v1.26.6, v1.27.3, v1.28.0, v1.29.0]
-
steps:
- name: Checkout
uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633 # v4.1.2
-
- - name: Setup Go
- uses: actions/setup-go@0c52d547c9bc32b1aa3301fd7a9cb496313a4491 # v5.0.0
with:
- go-version: ${{ needs.build.outputs.golangversion }}
- check-latest: true
+ fetch-depth: 0
+
+ - name: Set up Helm
+ uses: azure/setup-helm@5119fcb9089d432beecbf79bb2c7915207344b78 # v3.5
+
+ - uses: actions/setup-python@82c7e631bb3cdc910f68e0081d67478d79c6982d # v5.1.0
+ with:
+ python-version: '3.x'
+
+ - name: Set up chart-testing
+ uses: helm/chart-testing-action@e6669bcd63d7cb57cb4380c33043eebe5d111992 # v2.6.1
- name: Install Helm Unit Test Plugin
run: |
@@ -199,14 +201,8 @@ jobs:
run: |
helm unittest charts/ingress-nginx -d
- - name: cache
- uses: actions/download-artifact@c850b930e6ba138125429b7e5c93fc707a7f8427 # v4.1.4
- with:
- name: docker.tar.gz
-
- - name: Lint
- run: |
- ./build/run-in-docker.sh ./hack/verify-chart-lint.sh
+ - name: Run chart-testing (lint)
+ run: ct lint --config ./.ct.yaml
- name: Run helm-docs
run: |
@@ -227,6 +223,35 @@ jobs:
./ah lint -p charts/ingress-nginx || exit 1
rm -f ./ah ./ah_1.5.0_linux_amd64.tar.gz
+ helm-test:
+ name: Helm chart testing
+ runs-on: ubuntu-latest
+ needs:
+ - changes
+ - build
+ - helm-lint
+ if: |
+ (needs.changes.outputs.charts == 'true') || (needs.changes.outputs.baseimage == 'true')
+
+ strategy:
+ matrix:
+ k8s: [v1.26.6, v1.27.3, v1.28.0, v1.29.0]
+
+ steps:
+ - name: Checkout
+ uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633 # v4.1.2
+
+ - name: Setup Go
+ uses: actions/setup-go@0c52d547c9bc32b1aa3301fd7a9cb496313a4491 # v5.0.0
+ with:
+ go-version: ${{ needs.build.outputs.golangversion }}
+ check-latest: true
+
+ - name: cache
+ uses: actions/download-artifact@c850b930e6ba138125429b7e5c93fc707a7f8427 # v4.1.4
+ with:
+ name: docker.tar.gz
+
- name: fix permissions
run: |
sudo mkdir -p $HOME/.kube
diff --git a/charts/ingress-nginx/Chart.yaml b/charts/ingress-nginx/Chart.yaml
index 3e977530f..7996c29c5 100644
--- a/charts/ingress-nginx/Chart.yaml
+++ b/charts/ingress-nginx/Chart.yaml
@@ -9,15 +9,15 @@ description: Ingress controller for Kubernetes using NGINX as a reverse proxy an
home: https://github.com/kubernetes/ingress-nginx
icon: https://upload.wikimedia.org/wikipedia/commons/thumb/c/c5/Nginx_logo.svg/500px-Nginx_logo.svg.png
keywords:
-- ingress
-- nginx
+ - ingress
+ - nginx
kubeVersion: '>=1.20.0-0'
maintainers:
-- name: Gacko
-- name: rikatz
-- name: strongjz
-- name: tao12345666333
+ - name: Gacko
+ - name: rikatz
+ - name: strongjz
+ - name: tao12345666333
name: ingress-nginx
sources:
-- https://github.com/kubernetes/ingress-nginx
+ - https://github.com/kubernetes/ingress-nginx
version: 4.10.0
From 5926ebe73d374aef4e9094d9185c366ca5133aaf Mon Sep 17 00:00:00 2001
From: k8s-infra-cherrypick-robot
<90416843+k8s-infra-cherrypick-robot@users.noreply.github.com>
Date: Mon, 1 Apr 2024 12:04:58 -0700
Subject: [PATCH 022/265] Bump actions/add-to-project from 0.6.1 to 1.0.0
(#11189)
Bumps [actions/add-to-project](https://github.com/actions/add-to-project) from 0.6.1 to 1.0.0.
- [Release notes](https://github.com/actions/add-to-project/releases)
- [Commits](https://github.com/actions/add-to-project/compare/1b844f0c5ac6446a402e0cb3693f9be5eca188c5...2e5cc851ca7162e9eb510e6da6a5c64022e606a7)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
---
.github/workflows/project.yml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/.github/workflows/project.yml b/.github/workflows/project.yml
index a87742e63..b999e29be 100644
--- a/.github/workflows/project.yml
+++ b/.github/workflows/project.yml
@@ -13,7 +13,7 @@ jobs:
repository-projects: write
issues: write
steps:
- - uses: actions/add-to-project@1b844f0c5ac6446a402e0cb3693f9be5eca188c5 # v0.6.1
+ - uses: actions/add-to-project@2e5cc851ca7162e9eb510e6da6a5c64022e606a7 # v1.0.0
with:
project-url: https://github.com/orgs/kubernetes/projects/104
github-token: ${{ secrets.PROJECT_WRITER }}
From ef2b2668deff76f759465b89dfea9cd6b9dc2b5b Mon Sep 17 00:00:00 2001
From: k8s-infra-cherrypick-robot
<90416843+k8s-infra-cherrypick-robot@users.noreply.github.com>
Date: Mon, 1 Apr 2024 23:33:14 -0700
Subject: [PATCH 023/265] Bump the all group with 2 updates (#11190)
Bumps the all group with 2 updates: [actions/dependency-review-action](https://github.com/actions/dependency-review-action) and [aquasecurity/trivy-action](https://github.com/aquasecurity/trivy-action).
Updates `actions/dependency-review-action` from 4.2.4 to 4.2.5
- [Release notes](https://github.com/actions/dependency-review-action/releases)
- [Commits](https://github.com/actions/dependency-review-action/compare/733dd5d4a5203f238c33806593ec0f5fc5343d8c...5bbc3ba658137598168acb2ab73b21c432dd411b)
Updates `aquasecurity/trivy-action` from 0.18.0 to 0.19.0
- [Release notes](https://github.com/aquasecurity/trivy-action/releases)
- [Commits](https://github.com/aquasecurity/trivy-action/compare/062f2592684a31eb3aa050cc61e7ca1451cecd3d...d710430a6722f083d3b36b8339ff66b32f22ee55)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
---
.github/workflows/depreview.yaml | 2 +-
.github/workflows/vulnerability-scans.yaml | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/.github/workflows/depreview.yaml b/.github/workflows/depreview.yaml
index f890b4b4d..3b553afd4 100644
--- a/.github/workflows/depreview.yaml
+++ b/.github/workflows/depreview.yaml
@@ -11,4 +11,4 @@ jobs:
- name: 'Checkout Repository'
uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633 # v4.1.2
- name: 'Dependency Review'
- uses: actions/dependency-review-action@733dd5d4a5203f238c33806593ec0f5fc5343d8c # v4.2.4
+ uses: actions/dependency-review-action@5bbc3ba658137598168acb2ab73b21c432dd411b # v4.2.5
diff --git a/.github/workflows/vulnerability-scans.yaml b/.github/workflows/vulnerability-scans.yaml
index 8bc0f8e40..2d671d966 100644
--- a/.github/workflows/vulnerability-scans.yaml
+++ b/.github/workflows/vulnerability-scans.yaml
@@ -60,7 +60,7 @@ jobs:
- name: Scan image with AquaSec/Trivy
id: scan
- uses: aquasecurity/trivy-action@062f2592684a31eb3aa050cc61e7ca1451cecd3d # v0.18.0
+ uses: aquasecurity/trivy-action@d710430a6722f083d3b36b8339ff66b32f22ee55 # v0.19.0
with:
image-ref: registry.k8s.io/ingress-nginx/controller:${{ matrix.versions }}
format: 'sarif'
From 30b7d16af28fa3e632fa13d238d395ccc0ff8852 Mon Sep 17 00:00:00 2001
From: k8s-infra-cherrypick-robot
<90416843+k8s-infra-cherrypick-robot@users.noreply.github.com>
Date: Thu, 4 Apr 2024 07:27:48 -0700
Subject: [PATCH 024/265] Fix-semver (#11199)
Co-authored-by: Karol Kieglerski
---
.../ingress-nginx/templates/controller-service-internal.yaml | 4 ++--
.../ingress-nginx/templates/controller-service-webhook.yaml | 2 +-
charts/ingress-nginx/templates/controller-service.yaml | 4 ++--
charts/ingress-nginx/templates/default-backend-service.yaml | 2 +-
4 files changed, 6 insertions(+), 6 deletions(-)
diff --git a/charts/ingress-nginx/templates/controller-service-internal.yaml b/charts/ingress-nginx/templates/controller-service-internal.yaml
index 950eb8f05..6d0b47caf 100644
--- a/charts/ingress-nginx/templates/controller-service-internal.yaml
+++ b/charts/ingress-nginx/templates/controller-service-internal.yaml
@@ -58,7 +58,7 @@ spec:
port: {{ .Values.controller.service.internal.ports.http | default .Values.controller.service.ports.http }}
protocol: TCP
targetPort: {{ .Values.controller.service.internal.targetPorts.http | default .Values.controller.service.targetPorts.http }}
- {{- if and (semverCompare ">=1.20" .Capabilities.KubeVersion.Version) (.Values.controller.service.internal.appProtocol) }}
+ {{- if and (semverCompare ">=1.20.0-0" .Capabilities.KubeVersion.Version) (.Values.controller.service.internal.appProtocol) }}
appProtocol: http
{{- end }}
{{- if (and $setNodePorts (not (empty .Values.controller.service.internal.nodePorts.http))) }}
@@ -70,7 +70,7 @@ spec:
port: {{ .Values.controller.service.internal.ports.https | default .Values.controller.service.ports.https }}
protocol: TCP
targetPort: {{ .Values.controller.service.internal.targetPorts.https | default .Values.controller.service.targetPorts.https }}
- {{- if and (semverCompare ">=1.20" .Capabilities.KubeVersion.Version) (.Values.controller.service.internal.appProtocol) }}
+ {{- if and (semverCompare ">=1.20.0-0" .Capabilities.KubeVersion.Version) (.Values.controller.service.internal.appProtocol) }}
appProtocol: https
{{- end }}
{{- if (and $setNodePorts (not (empty .Values.controller.service.internal.nodePorts.https))) }}
diff --git a/charts/ingress-nginx/templates/controller-service-webhook.yaml b/charts/ingress-nginx/templates/controller-service-webhook.yaml
index 2d02e23aa..6dcf1a10a 100644
--- a/charts/ingress-nginx/templates/controller-service-webhook.yaml
+++ b/charts/ingress-nginx/templates/controller-service-webhook.yaml
@@ -31,7 +31,7 @@ spec:
- name: https-webhook
port: 443
targetPort: webhook
- {{- if semverCompare ">=1.20" .Capabilities.KubeVersion.Version }}
+ {{- if semverCompare ">=1.20.0-0" .Capabilities.KubeVersion.Version }}
appProtocol: https
{{- end }}
selector:
diff --git a/charts/ingress-nginx/templates/controller-service.yaml b/charts/ingress-nginx/templates/controller-service.yaml
index 74f608536..cb78a7035 100644
--- a/charts/ingress-nginx/templates/controller-service.yaml
+++ b/charts/ingress-nginx/templates/controller-service.yaml
@@ -58,7 +58,7 @@ spec:
port: {{ .Values.controller.service.ports.http }}
protocol: TCP
targetPort: {{ .Values.controller.service.targetPorts.http }}
- {{- if and (semverCompare ">=1.20" .Capabilities.KubeVersion.Version) (.Values.controller.service.appProtocol) }}
+ {{- if and (semverCompare ">=1.20.0-0" .Capabilities.KubeVersion.Version) (.Values.controller.service.appProtocol) }}
appProtocol: http
{{- end }}
{{- if (and $setNodePorts (not (empty .Values.controller.service.nodePorts.http))) }}
@@ -70,7 +70,7 @@ spec:
port: {{ .Values.controller.service.ports.https }}
protocol: TCP
targetPort: {{ .Values.controller.service.targetPorts.https }}
- {{- if and (semverCompare ">=1.20" .Capabilities.KubeVersion.Version) (.Values.controller.service.appProtocol) }}
+ {{- if and (semverCompare ">=1.20.0-0" .Capabilities.KubeVersion.Version) (.Values.controller.service.appProtocol) }}
appProtocol: https
{{- end }}
{{- if (and $setNodePorts (not (empty .Values.controller.service.nodePorts.https))) }}
diff --git a/charts/ingress-nginx/templates/default-backend-service.yaml b/charts/ingress-nginx/templates/default-backend-service.yaml
index 2cccd6e9e..65b6b8362 100644
--- a/charts/ingress-nginx/templates/default-backend-service.yaml
+++ b/charts/ingress-nginx/templates/default-backend-service.yaml
@@ -32,7 +32,7 @@ spec:
port: {{ .Values.defaultBackend.service.servicePort }}
protocol: TCP
targetPort: http
- {{- if semverCompare ">=1.20" .Capabilities.KubeVersion.Version }}
+ {{- if semverCompare ">=1.20.0-0" .Capabilities.KubeVersion.Version }}
appProtocol: http
{{- end }}
selector:
From 4c24deeefc58e94e17ffc011e92af6deede21075 Mon Sep 17 00:00:00 2001
From: Marco Ebert
Date: Tue, 26 Mar 2024 11:47:11 +0100
Subject: [PATCH 025/265] Owners: Sort `ingress-nginx-maintainers` &
`ingress-nginx-reviewers`.
---
OWNERS_ALIASES | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/OWNERS_ALIASES b/OWNERS_ALIASES
index 44fc67d2e..3ef02e0a8 100644
--- a/OWNERS_ALIASES
+++ b/OWNERS_ALIASES
@@ -11,17 +11,17 @@ aliases:
- strongjz
ingress-nginx-maintainers:
- - rikatz
- - strongjz
- cpanato
- puerco
+ - rikatz
+ - strongjz
- tao12345666333
ingress-nginx-reviewers:
+ - cpanato
+ - puerco
- rikatz
- strongjz
- - puerco
- - cpanato
- tao12345666333
ingress-nginx-helm-maintainers:
From e380c5f321b1a01f59664739c7f5573dddf22033 Mon Sep 17 00:00:00 2001
From: Marco Ebert
Date: Tue, 26 Mar 2024 12:03:30 +0100
Subject: [PATCH 026/265] Owners: Update URL in aliases.
---
OWNERS | 4 ++--
OWNERS_ALIASES | 2 +-
charts/ingress-nginx/OWNERS | 2 +-
docs/OWNERS | 4 ++--
images/kube-webhook-certgen/OWNERS | 2 +-
rootfs/etc/nginx/lua/OWNERS | 4 ++--
6 files changed, 9 insertions(+), 9 deletions(-)
diff --git a/OWNERS b/OWNERS
index da1da1b2e..f1e022c38 100644
--- a/OWNERS
+++ b/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
approvers:
- ingress-nginx-maintainers
@@ -7,6 +7,6 @@ reviewers:
- ingress-nginx-reviewers
emeritus_approvers:
-- aledbf # 2020-04-02
+- aledbf # 2020-04-02
- bowei # 2022-10-12
- ElvinEfendi # 2023-04-23
diff --git a/OWNERS_ALIASES b/OWNERS_ALIASES
index 3ef02e0a8..4f0e914d7 100644
--- a/OWNERS_ALIASES
+++ b/OWNERS_ALIASES
@@ -1,4 +1,4 @@
-# See the OWNERS docs: https://git.k8s.io/community/docs/devel/owners.md
+# See the OWNERS docs: https://www.kubernetes.dev/docs/guide/owners
aliases:
sig-network-leads:
diff --git a/charts/ingress-nginx/OWNERS b/charts/ingress-nginx/OWNERS
index 6b7e049ca..d588ede68 100644
--- a/charts/ingress-nginx/OWNERS
+++ b/charts/ingress-nginx/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
approvers:
- ingress-nginx-helm-maintainers
diff --git a/docs/OWNERS b/docs/OWNERS
index e8b886e5b..245cb8688 100644
--- a/docs/OWNERS
+++ b/docs/OWNERS
@@ -1,7 +1,7 @@
-# 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
approvers:
- ingress-nginx-docs-maintainers
labels:
-- area/docs
\ No newline at end of file
+- area/docs
diff --git a/images/kube-webhook-certgen/OWNERS b/images/kube-webhook-certgen/OWNERS
index ad47b2e6d..7847edf7b 100644
--- a/images/kube-webhook-certgen/OWNERS
+++ b/images/kube-webhook-certgen/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
approvers:
- ingress-nginx-admins
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
From b44f3d248b685ce80ca2f780f42448ec24ed550e Mon Sep 17 00:00:00 2001
From: Marco Ebert
Date: Tue, 26 Mar 2024 12:04:27 +0100
Subject: [PATCH 027/265] Images: Remove owners as it's identical to global
owners.
---
images/OWNERS | 9 ---------
1 file changed, 9 deletions(-)
delete mode 100644 images/OWNERS
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
From 4ab8ee0512fe637d0a9b3435ee118c5621d8e2e2 Mon Sep 17 00:00:00 2001
From: Marco Ebert
Date: Tue, 26 Mar 2024 12:05:10 +0100
Subject: [PATCH 028/265] Images: Remove global owners from
`kube-webhook-certgen` owners.
---
images/kube-webhook-certgen/OWNERS | 6 ------
1 file changed, 6 deletions(-)
diff --git a/images/kube-webhook-certgen/OWNERS b/images/kube-webhook-certgen/OWNERS
index 7847edf7b..b4424221c 100644
--- a/images/kube-webhook-certgen/OWNERS
+++ b/images/kube-webhook-certgen/OWNERS
@@ -1,10 +1,4 @@
# See the OWNERS docs: https://www.kubernetes.dev/docs/guide/owners
-approvers:
-- ingress-nginx-admins
-- ingress-nginx-maintainers
-
reviewers:
-- ingress-nginx-admins
-- ingress-nginx-maintainers
- ingress-nginx-kube-webhook-certgen-reviewers
From 9835f4a5b109c6ee72199a076dd8e9a03c559589 Mon Sep 17 00:00:00 2001
From: Marco Ebert
Date: Tue, 26 Mar 2024 12:07:23 +0100
Subject: [PATCH 029/265] Owners: Remove members from aliases covered by other
aliases.
ingress-nginx-helm-maintainers:
- cpanato: Covered by ingress-nginx-maintainers
- strongjz: Covered by ingress-nginx-maintainers
ingress-nginx-helm-reviewers:
- cpanato: Covered by ingress-nginx-reviewers
- strongjz: Covered by ingress-nginx-reviewers
ingress-nginx-docs-maintainers:
- tao12345666333: Covered by ingress-nginx-maintainers
---
OWNERS_ALIASES | 5 -----
1 file changed, 5 deletions(-)
diff --git a/OWNERS_ALIASES b/OWNERS_ALIASES
index 4f0e914d7..7e513e11b 100644
--- a/OWNERS_ALIASES
+++ b/OWNERS_ALIASES
@@ -25,20 +25,15 @@ aliases:
- tao12345666333
ingress-nginx-helm-maintainers:
- - cpanato
- Gacko
- - strongjz
- ubergesundheit
ingress-nginx-helm-reviewers:
- - cpanato
- Gacko
- - strongjz
- ubergesundheit
ingress-nginx-docs-maintainers:
- longwuyuan
- - tao12345666333
ingress-nginx-kube-webhook-certgen-reviewers:
- invidian
From 218fae6c2c2549fb3fa591713f2ad104c3a8d2f1 Mon Sep 17 00:00:00 2001
From: Marco Ebert
Date: Tue, 26 Mar 2024 12:11:14 +0100
Subject: [PATCH 030/265] Owners: Promote myself to `ingress-nginx-maintainers`
& `ingress-nginx-reviewers`.
---
OWNERS_ALIASES | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/OWNERS_ALIASES b/OWNERS_ALIASES
index 7e513e11b..fa10804ce 100644
--- a/OWNERS_ALIASES
+++ b/OWNERS_ALIASES
@@ -12,6 +12,7 @@ aliases:
ingress-nginx-maintainers:
- cpanato
+ - Gacko
- puerco
- rikatz
- strongjz
@@ -19,17 +20,16 @@ aliases:
ingress-nginx-reviewers:
- cpanato
+ - Gacko
- puerco
- rikatz
- strongjz
- tao12345666333
ingress-nginx-helm-maintainers:
- - Gacko
- ubergesundheit
ingress-nginx-helm-reviewers:
- - Gacko
- ubergesundheit
ingress-nginx-docs-maintainers:
From fa9e4fb423567e017ec863aa0cf08799034be6fb Mon Sep 17 00:00:00 2001
From: k8s-infra-cherrypick-robot
<90416843+k8s-infra-cherrypick-robot@users.noreply.github.com>
Date: Thu, 4 Apr 2024 08:24:30 -0700
Subject: [PATCH 031/265] chunking related faq update (#11205)
Co-authored-by: longwuyuan
---
docs/faq.md | 44 ++++++++++++++++++++++++++++++++++----------
1 file changed, 34 insertions(+), 10 deletions(-)
diff --git a/docs/faq.md b/docs/faq.md
index 253378c65..a210c221b 100644
--- a/docs/faq.md
+++ b/docs/faq.md
@@ -7,27 +7,51 @@ Please read [Retain Client IPAddress Guide here](./user-guide/retaining-client-i
## 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`__
-- 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
From 436df3e4a27c9036648789e1bebb57b79bc8d652 Mon Sep 17 00:00:00 2001
From: k8s-infra-cherrypick-robot
<90416843+k8s-infra-cherrypick-robot@users.noreply.github.com>
Date: Thu, 4 Apr 2024 08:47:05 -0700
Subject: [PATCH 032/265] bump ginkgo to 2-17-1 in testrunner (#11204)
Co-authored-by: longwuyuan
---
images/test-runner/Makefile | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/images/test-runner/Makefile b/images/test-runner/Makefile
index 627475d22..ac0757ab2 100644
--- a/images/test-runner/Makefile
+++ b/images/test-runner/Makefile
@@ -59,7 +59,7 @@ image:
--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 GINKGO_VERSION=2.17.1 \
--build-arg GOLINT_VERSION=latest \
-t ${IMAGE}:${TAG} rootfs
@@ -80,7 +80,7 @@ build: ensure-buildx
--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 GINKGO_VERSION=2.17.1 \
--build-arg GOLINT_VERSION=latest \
-t ${IMAGE}:${TAG} rootfs
From c99c94c8df6aa7993e1ba50c1c25da49140d7a64 Mon Sep 17 00:00:00 2001
From: k8s-infra-cherrypick-robot
<90416843+k8s-infra-cherrypick-robot@users.noreply.github.com>
Date: Fri, 5 Apr 2024 02:47:27 -0700
Subject: [PATCH 033/265] updated baseimage & deleted a useless file (#11209)
Co-authored-by: longwuyuan
---
NGINX_BASE | 2 +-
ingress-nginx.yaml | 68 ----------------------------------------------
2 files changed, 1 insertion(+), 69 deletions(-)
delete mode 100644 ingress-nginx.yaml
diff --git a/NGINX_BASE b/NGINX_BASE
index 4daa5c4d3..4d2c4917f 100644
--- a/NGINX_BASE
+++ b/NGINX_BASE
@@ -1 +1 @@
-registry.k8s.io/ingress-nginx/nginx-1.25:v0.0.5@sha256:cdafd6c9d36e23414ce41330a482f9136ce82fac46802809681f61cdcd5ad0bb
+registry.k8s.io/ingress-nginx/nginx-1.25:v0.0.6@sha256:b3e027ab191eb9461a9bcf25092eabb1d547cba164992dbd722c1aa2b4a936ee
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"
From 6a1e1fa2c56f19a88abdf8d8c3d4464f09955585 Mon Sep 17 00:00:00 2001
From: k8s-infra-cherrypick-robot
<90416843+k8s-infra-cherrypick-robot@users.noreply.github.com>
Date: Fri, 5 Apr 2024 03:39:57 -0700
Subject: [PATCH 034/265] bumped certgeimage tag (#11213)
Co-authored-by: longwuyuan
---
images/kube-webhook-certgen/TAG | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/images/kube-webhook-certgen/TAG b/images/kube-webhook-certgen/TAG
index 0d0c52f84..66d62a800 100644
--- a/images/kube-webhook-certgen/TAG
+++ b/images/kube-webhook-certgen/TAG
@@ -1 +1 @@
-v1.4.0
+v1.4.1
From ba809fab7e3b165485dd6a4eef7f5ecbc6bb4581 Mon Sep 17 00:00:00 2001
From: k8s-infra-cherrypick-robot
<90416843+k8s-infra-cherrypick-robot@users.noreply.github.com>
Date: Fri, 5 Apr 2024 04:05:27 -0700
Subject: [PATCH 035/265] changed testrunner image sha (#11211)
Co-authored-by: longwuyuan
---
build/run-in-docker.sh | 4 ++--
test/e2e-image/Makefile | 2 +-
test/e2e/run-chart-test.sh | 2 +-
3 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/build/run-in-docker.sh b/build/run-in-docker.sh
index 62bd7115c..5d4e82a09 100755
--- a/build/run-in-docker.sh
+++ b/build/run-in-docker.sh
@@ -44,7 +44,7 @@ function cleanup {
}
trap cleanup EXIT
-E2E_IMAGE=${E2E_IMAGE:-registry.k8s.io/ingress-nginx/e2e-test-runner:v20240126-760bf8eb@sha256:5e676bf2e5d5d035adfc6e093abee040af08327011e72fef640fa20da73cea2e}
+E2E_IMAGE=${E2E_IMAGE:-registry.k8s.io/ingress-nginx/e2e-test-runner:v20240404-436df3e4@sha256:6bcba53b14d396177414e01f20e9111f1c009ac3b476a9b7668bb98d12bd5e85}
if [[ "$RUNTIME" == podman ]]; then
# Podman does not support both tag and digest
@@ -96,4 +96,4 @@ else
fi
${RUNTIME} run $args ${E2E_IMAGE} ${USE_SHELL} -c "${FLAGS}"
-fi
\ No newline at end of file
+fi
diff --git a/test/e2e-image/Makefile b/test/e2e-image/Makefile
index 9f43c4691..daba2b674 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:v20240404-436df3e4@sha256:6bcba53b14d396177414e01f20e9111f1c009ac3b476a9b7668bb98d12bd5e85"
image:
echo "..entered Makefile in /test/e2e-image"
diff --git a/test/e2e/run-chart-test.sh b/test/e2e/run-chart-test.sh
index e38df8690..a453bd1b4 100755
--- a/test/e2e/run-chart-test.sh
+++ b/test/e2e/run-chart-test.sh
@@ -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:v20240404-436df3e4@sha256:6bcba53b14d396177414e01f20e9111f1c009ac3b476a9b7668bb98d12bd5e85 \
ct install \
--charts charts/ingress-nginx \
--helm-extra-args "--timeout 60s"
From 42284d1e732948bcabd52883ab03bda1d5e27ab5 Mon Sep 17 00:00:00 2001
From: k8s-infra-cherrypick-robot
<90416843+k8s-infra-cherrypick-robot@users.noreply.github.com>
Date: Fri, 5 Apr 2024 12:03:24 -0700
Subject: [PATCH 036/265] updated certgen image shatag (#11216)
Co-authored-by: longwuyuan
---
charts/ingress-nginx/README.md | 4 ++--
charts/ingress-nginx/values.yaml | 4 ++--
2 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/charts/ingress-nginx/README.md b/charts/ingress-nginx/README.md
index 24906facf..717a7c0c4 100644
--- a/charts/ingress-nginx/README.md
+++ b/charts/ingress-nginx/README.md
@@ -253,11 +253,11 @@ As of version `1.26.0` of this chart, by simply not providing any clusterIP valu
| controller.admissionWebhooks.namespaceSelector | object | `{}` | |
| controller.admissionWebhooks.objectSelector | object | `{}` | |
| controller.admissionWebhooks.patch.enabled | bool | `true` | |
-| controller.admissionWebhooks.patch.image.digest | string | `"sha256:44d1d0e9f19c63f58b380c5fddaca7cf22c7cee564adeff365225a5df5ef3334"` | |
+| controller.admissionWebhooks.patch.image.digest | string | `"sha256:36d05b4077fb8e3d13663702fa337f124675ba8667cbd949c03a8e8ea6fa4366"` | |
| controller.admissionWebhooks.patch.image.image | string | `"ingress-nginx/kube-webhook-certgen"` | |
| controller.admissionWebhooks.patch.image.pullPolicy | string | `"IfNotPresent"` | |
| controller.admissionWebhooks.patch.image.registry | string | `"registry.k8s.io"` | |
-| controller.admissionWebhooks.patch.image.tag | string | `"v1.4.0"` | |
+| controller.admissionWebhooks.patch.image.tag | string | `"v1.4.1"` | |
| controller.admissionWebhooks.patch.labels | object | `{}` | Labels to be added to patch job resources |
| controller.admissionWebhooks.patch.networkPolicy.enabled | bool | `false` | Enable 'networkPolicy' or not |
| controller.admissionWebhooks.patch.nodeSelector."kubernetes.io/os" | string | `"linux"` | |
diff --git a/charts/ingress-nginx/values.yaml b/charts/ingress-nginx/values.yaml
index e62fbcb80..412daebdd 100644
--- a/charts/ingress-nginx/values.yaml
+++ b/charts/ingress-nginx/values.yaml
@@ -790,8 +790,8 @@ controller:
## for backwards compatibility consider setting the full image url via the repository value below
## use *either* current default registry/image or repository format or installing chart by providing the values.yaml will fail
## repository:
- tag: v1.4.0
- digest: sha256:44d1d0e9f19c63f58b380c5fddaca7cf22c7cee564adeff365225a5df5ef3334
+ tag: v1.4.1
+ digest: sha256:36d05b4077fb8e3d13663702fa337f124675ba8667cbd949c03a8e8ea6fa4366
pullPolicy: IfNotPresent
# -- Provide a priority class name to the webhook patching job
##
From eab36bb8681103e69b074d4e4abd55f5e85d6c9b Mon Sep 17 00:00:00 2001
From: k8s-infra-cherrypick-robot
<90416843+k8s-infra-cherrypick-robot@users.noreply.github.com>
Date: Fri, 5 Apr 2024 13:33:33 -0700
Subject: [PATCH 037/265] sort default backend hpa metrics (#11217)
Co-authored-by: Jozef Halgas
---
.../templates/default-backend-hpa.yaml | 16 ++++++++--------
1 file changed, 8 insertions(+), 8 deletions(-)
diff --git a/charts/ingress-nginx/templates/default-backend-hpa.yaml b/charts/ingress-nginx/templates/default-backend-hpa.yaml
index 699323897..49bcdcfdc 100644
--- a/charts/ingress-nginx/templates/default-backend-hpa.yaml
+++ b/charts/ingress-nginx/templates/default-backend-hpa.yaml
@@ -21,14 +21,6 @@ spec:
minReplicas: {{ .Values.defaultBackend.autoscaling.minReplicas }}
maxReplicas: {{ .Values.defaultBackend.autoscaling.maxReplicas }}
metrics:
- {{- with .Values.defaultBackend.autoscaling.targetCPUUtilizationPercentage }}
- - type: Resource
- resource:
- name: cpu
- target:
- type: Utilization
- averageUtilization: {{ . }}
- {{- end }}
{{- with .Values.defaultBackend.autoscaling.targetMemoryUtilizationPercentage }}
- type: Resource
resource:
@@ -37,4 +29,12 @@ spec:
type: Utilization
averageUtilization: {{ . }}
{{- end }}
+ {{- with .Values.defaultBackend.autoscaling.targetCPUUtilizationPercentage }}
+ - type: Resource
+ resource:
+ name: cpu
+ target:
+ type: Utilization
+ averageUtilization: {{ . }}
+ {{- end }}
{{- end }}
From 84020427b1789cf8646058c7ea63af94fa9e3e48 Mon Sep 17 00:00:00 2001
From: Marco Ebert
Date: Sat, 6 Apr 2024 00:48:15 +0200
Subject: [PATCH 038/265] Chart: Add unit tests for default backend & topology
spread constraints. (#11219)
---
.../tests/controller-daemonset_test.yaml | 41 ++++++++++++++
.../tests/controller-deployment_test.yaml | 40 ++++++++++++++
.../default-backend-deployment_test.yaml | 53 +++++++++++++++++++
3 files changed, 134 insertions(+)
create mode 100644 charts/ingress-nginx/tests/default-backend-deployment_test.yaml
diff --git a/charts/ingress-nginx/tests/controller-daemonset_test.yaml b/charts/ingress-nginx/tests/controller-daemonset_test.yaml
index 316455362..29359fd9e 100644
--- a/charts/ingress-nginx/tests/controller-daemonset_test.yaml
+++ b/charts/ingress-nginx/tests/controller-daemonset_test.yaml
@@ -54,3 +54,44 @@ tests:
- equal:
path: spec.template.spec.containers[0].resources.limits.memory
value: 512Mi
+
+ - it: should create a DaemonSet with topology spread constraints if `controller.topologySpreadConstraints` is set
+ set:
+ controller.kind: DaemonSet
+ controller.topologySpreadConstraints:
+ - labelSelector:
+ matchLabels:
+ app.kubernetes.io/name: '{{ include "ingress-nginx.name" . }}'
+ app.kubernetes.io/instance: '{{ .Release.Name }}'
+ app.kubernetes.io/component: controller
+ topologyKey: topology.kubernetes.io/zone
+ maxSkew: 1
+ whenUnsatisfiable: ScheduleAnyway
+ - labelSelector:
+ matchLabels:
+ app.kubernetes.io/name: '{{ include "ingress-nginx.name" . }}'
+ app.kubernetes.io/instance: '{{ .Release.Name }}'
+ app.kubernetes.io/component: controller
+ topologyKey: kubernetes.io/hostname
+ maxSkew: 1
+ whenUnsatisfiable: ScheduleAnyway
+ asserts:
+ - equal:
+ path: spec.template.spec.topologySpreadConstraints
+ value:
+ - labelSelector:
+ matchLabels:
+ app.kubernetes.io/name: ingress-nginx
+ app.kubernetes.io/instance: RELEASE-NAME
+ app.kubernetes.io/component: controller
+ topologyKey: topology.kubernetes.io/zone
+ maxSkew: 1
+ whenUnsatisfiable: ScheduleAnyway
+ - labelSelector:
+ matchLabels:
+ app.kubernetes.io/name: ingress-nginx
+ app.kubernetes.io/instance: RELEASE-NAME
+ app.kubernetes.io/component: controller
+ topologyKey: kubernetes.io/hostname
+ maxSkew: 1
+ whenUnsatisfiable: ScheduleAnyway
diff --git a/charts/ingress-nginx/tests/controller-deployment_test.yaml b/charts/ingress-nginx/tests/controller-deployment_test.yaml
index eee99385d..d0330db90 100644
--- a/charts/ingress-nginx/tests/controller-deployment_test.yaml
+++ b/charts/ingress-nginx/tests/controller-deployment_test.yaml
@@ -78,3 +78,43 @@ tests:
- equal:
path: spec.template.spec.containers[0].resources.limits.memory
value: 512Mi
+
+ - it: should create a Deployment with topology spread constraints if `controller.topologySpreadConstraints` is set
+ set:
+ controller.topologySpreadConstraints:
+ - labelSelector:
+ matchLabels:
+ app.kubernetes.io/name: '{{ include "ingress-nginx.name" . }}'
+ app.kubernetes.io/instance: '{{ .Release.Name }}'
+ app.kubernetes.io/component: controller
+ topologyKey: topology.kubernetes.io/zone
+ maxSkew: 1
+ whenUnsatisfiable: ScheduleAnyway
+ - labelSelector:
+ matchLabels:
+ app.kubernetes.io/name: '{{ include "ingress-nginx.name" . }}'
+ app.kubernetes.io/instance: '{{ .Release.Name }}'
+ app.kubernetes.io/component: controller
+ topologyKey: kubernetes.io/hostname
+ maxSkew: 1
+ whenUnsatisfiable: ScheduleAnyway
+ asserts:
+ - equal:
+ path: spec.template.spec.topologySpreadConstraints
+ value:
+ - labelSelector:
+ matchLabels:
+ app.kubernetes.io/name: ingress-nginx
+ app.kubernetes.io/instance: RELEASE-NAME
+ app.kubernetes.io/component: controller
+ topologyKey: topology.kubernetes.io/zone
+ maxSkew: 1
+ whenUnsatisfiable: ScheduleAnyway
+ - labelSelector:
+ matchLabels:
+ app.kubernetes.io/name: ingress-nginx
+ app.kubernetes.io/instance: RELEASE-NAME
+ app.kubernetes.io/component: controller
+ topologyKey: kubernetes.io/hostname
+ maxSkew: 1
+ whenUnsatisfiable: ScheduleAnyway
diff --git a/charts/ingress-nginx/tests/default-backend-deployment_test.yaml b/charts/ingress-nginx/tests/default-backend-deployment_test.yaml
new file mode 100644
index 000000000..0593cfb55
--- /dev/null
+++ b/charts/ingress-nginx/tests/default-backend-deployment_test.yaml
@@ -0,0 +1,53 @@
+suite: Default Backend > Deployment
+templates:
+ - default-backend-deployment.yaml
+
+tests:
+ - it: should not create a Deployment if `defaultBackend.enabled` is false
+ set:
+ defaultBackend.enabled: false
+ asserts:
+ - hasDocuments:
+ count: 0
+
+ - it: should create a Deployment if `defaultBackend.enabled` is true
+ set:
+ defaultBackend.enabled: true
+ asserts:
+ - hasDocuments:
+ count: 1
+ - isKind:
+ of: Deployment
+ - equal:
+ path: metadata.name
+ value: RELEASE-NAME-ingress-nginx-defaultbackend
+
+ - it: should create a Deployment with 3 replicas if `defaultBackend.replicaCount` is 3
+ set:
+ defaultBackend.enabled: true
+ defaultBackend.replicaCount: 3
+ asserts:
+ - equal:
+ path: spec.replicas
+ value: 3
+
+ - it: should create a Deployment without replicas if `defaultBackend.autoscaling.enabled` is true
+ set:
+ defaultBackend.enabled: true
+ defaultBackend.autoscaling.enabled: true
+ asserts:
+ - notExists:
+ path: spec.replicas
+
+ - it: should create a Deployment with resource limits if `defaultBackend.resources.limits` is set
+ set:
+ defaultBackend.enabled: true
+ defaultBackend.resources.limits.cpu: 500m
+ defaultBackend.resources.limits.memory: 512Mi
+ asserts:
+ - equal:
+ path: spec.template.spec.containers[0].resources.limits.cpu
+ value: 500m
+ - equal:
+ path: spec.template.spec.containers[0].resources.limits.memory
+ value: 512Mi
From 941a00c0aade8af955d0480d30c8c6e45c3fa150 Mon Sep 17 00:00:00 2001
From: k8s-infra-cherrypick-robot
<90416843+k8s-infra-cherrypick-robot@users.noreply.github.com>
Date: Fri, 5 Apr 2024 18:55:04 -0700
Subject: [PATCH 039/265] update post submit helm ci and clean up (#11221)
Signed-off-by: cpanato
Co-authored-by: cpanato
---
.github/workflows/helm.yaml | 22 ++++++++++++----------
1 file changed, 12 insertions(+), 10 deletions(-)
diff --git a/.github/workflows/helm.yaml b/.github/workflows/helm.yaml
index da86a36f0..3ba506c29 100644
--- a/.github/workflows/helm.yaml
+++ b/.github/workflows/helm.yaml
@@ -11,12 +11,13 @@ permissions:
jobs:
changes:
+ runs-on: ubuntu-latest
+
permissions:
contents: read # for dorny/paths-filter to fetch a list of changed files
- pull-requests: read # for dorny/paths-filter to read pull requests
- runs-on: ubuntu-latest
- if: |
- (github.repository == 'kubernetes/ingress-nginx')
+
+ if: github.repository == 'kubernetes/ingress-nginx'
+
outputs:
docs: ${{ steps.filter.outputs.docs }}
charts: ${{ steps.filter.outputs.charts }}
@@ -33,9 +34,11 @@ jobs:
./ah lint -p charts/ingress-nginx || exit 1
rm -f ./ah ./ah_1.5.0_linux_amd64.tar.gz
- - name: Lint
- run: |
- ./build/run-in-docker.sh ./hack/verify-chart-lint.sh
+ - name: Set up chart-testing
+ uses: helm/chart-testing-action@e6669bcd63d7cb57cb4380c33043eebe5d111992 # v2.6.1
+
+ - name: Run chart-testing (lint)
+ run: ct lint --config ./.ct.yaml
- uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
id: filter
@@ -55,9 +58,8 @@ jobs:
needs:
- changes
- if: |
- (github.repository == 'kubernetes/ingress-nginx') &&
- (needs.changes.outputs.charts == 'true')
+
+ if: ${{ needs.changes.outputs.charts == 'true' }}
steps:
- name: Checkout master
From 1468f203a03fedd46fa5cdb34986ea6f65d8f5cf Mon Sep 17 00:00:00 2001
From: k8s-infra-cherrypick-robot
<90416843+k8s-infra-cherrypick-robot@users.noreply.github.com>
Date: Mon, 8 Apr 2024 03:56:43 -0700
Subject: [PATCH 040/265] Bump the all group with 3 updates (#11230)
Bumps the all group with 3 updates: [docker/setup-buildx-action](https://github.com/docker/setup-buildx-action), [dorny/test-reporter](https://github.com/dorny/test-reporter) and [github/codeql-action](https://github.com/github/codeql-action).
Updates `docker/setup-buildx-action` from 3.2.0 to 3.3.0
- [Release notes](https://github.com/docker/setup-buildx-action/releases)
- [Commits](https://github.com/docker/setup-buildx-action/compare/2b51285047da1547ffb1b2203d8be4c0af6b1f20...d70bba72b1f3fd22344832f00baa16ece964efeb)
Updates `dorny/test-reporter` from 1.8.0 to 1.9.0
- [Release notes](https://github.com/dorny/test-reporter/releases)
- [Changelog](https://github.com/dorny/test-reporter/blob/main/CHANGELOG.md)
- [Commits](https://github.com/dorny/test-reporter/compare/eaa763f6ffc21c7a37837f56cd5f9737f27fc6c8...c40d89d5e987cd80f3a32b3c233556e22bdca958)
Updates `github/codeql-action` from 3.24.9 to 3.24.10
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/github/codeql-action/compare/1b1aada464948af03b950897e5eb522f92603cc2...4355270be187e1b672a7a1c7c7bae5afdc1ab94a)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
---
.github/workflows/ci.yaml | 2 +-
.github/workflows/images.yaml | 2 +-
.github/workflows/junit-reports.yaml | 2 +-
.github/workflows/scorecards.yml | 2 +-
.github/workflows/vulnerability-scans.yaml | 2 +-
5 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml
index f19b7158f..3e7067b8f 100644
--- a/.github/workflows/ci.yaml
+++ b/.github/workflows/ci.yaml
@@ -124,7 +124,7 @@ jobs:
- name: Set up Docker Buildx
id: buildx
- uses: docker/setup-buildx-action@2b51285047da1547ffb1b2203d8be4c0af6b1f20 # v3.2.0
+ uses: docker/setup-buildx-action@d70bba72b1f3fd22344832f00baa16ece964efeb # v3.3.0
with:
version: latest
diff --git a/.github/workflows/images.yaml b/.github/workflows/images.yaml
index e5684ba79..4afc27aa2 100644
--- a/.github/workflows/images.yaml
+++ b/.github/workflows/images.yaml
@@ -200,7 +200,7 @@ jobs:
uses: docker/setup-qemu-action@68827325e0b33c7199eb31dd4e31fbe9023e06e3 # v3.0.0
- name: Set up Docker Buildx
id: buildx
- uses: docker/setup-buildx-action@2b51285047da1547ffb1b2203d8be4c0af6b1f20 # v3.2.0
+ uses: docker/setup-buildx-action@d70bba72b1f3fd22344832f00baa16ece964efeb # v3.3.0
with:
version: latest
platforms: ${{ env.PLATFORMS }}
diff --git a/.github/workflows/junit-reports.yaml b/.github/workflows/junit-reports.yaml
index 3b3318def..0d76abbfb 100644
--- a/.github/workflows/junit-reports.yaml
+++ b/.github/workflows/junit-reports.yaml
@@ -9,7 +9,7 @@ jobs:
report:
runs-on: ubuntu-latest
steps:
- - uses: dorny/test-reporter@eaa763f6ffc21c7a37837f56cd5f9737f27fc6c8 # v1.8.0
+ - uses: dorny/test-reporter@c40d89d5e987cd80f3a32b3c233556e22bdca958 # v1.9.0
with:
artifact: /e2e-test-reports-(.*)/
name: JEST Tests $1 # Name of the check run which will be created
diff --git a/.github/workflows/scorecards.yml b/.github/workflows/scorecards.yml
index 3018dee65..d00db6ba3 100644
--- a/.github/workflows/scorecards.yml
+++ b/.github/workflows/scorecards.yml
@@ -59,6 +59,6 @@ jobs:
# Upload the results to GitHub's code scanning dashboard.
- name: "Upload to code-scanning"
- uses: github/codeql-action/upload-sarif@1b1aada464948af03b950897e5eb522f92603cc2 # v3.24.9
+ uses: github/codeql-action/upload-sarif@4355270be187e1b672a7a1c7c7bae5afdc1ab94a # v3.24.10
with:
sarif_file: results.sarif
diff --git a/.github/workflows/vulnerability-scans.yaml b/.github/workflows/vulnerability-scans.yaml
index 2d671d966..3a34541a5 100644
--- a/.github/workflows/vulnerability-scans.yaml
+++ b/.github/workflows/vulnerability-scans.yaml
@@ -75,7 +75,7 @@ jobs:
# This step checks out a copy of your repository.
- name: Upload SARIF file
- uses: github/codeql-action/upload-sarif@1b1aada464948af03b950897e5eb522f92603cc2 # v3.24.9
+ uses: github/codeql-action/upload-sarif@4355270be187e1b672a7a1c7c7bae5afdc1ab94a # v3.24.10
with:
token: ${{ github.token }}
# Path to SARIF file relative to the root of the repository
From e9b921a6c78b09d5036846d18692cfcb5cc6e642 Mon Sep 17 00:00:00 2001
From: k8s-infra-cherrypick-robot
<90416843+k8s-infra-cherrypick-robot@users.noreply.github.com>
Date: Mon, 8 Apr 2024 05:23:57 -0700
Subject: [PATCH 041/265] Bump github.com/prometheus/client_model in the all
group (#11231)
Bumps the all group with 1 update: [github.com/prometheus/client_model](https://github.com/prometheus/client_model).
Updates `github.com/prometheus/client_model` from 0.6.0 to 0.6.1
- [Release notes](https://github.com/prometheus/client_model/releases)
- [Commits](https://github.com/prometheus/client_model/compare/v0.6.0...v0.6.1)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
---
go.mod | 2 +-
go.sum | 4 ++--
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/go.mod b/go.mod
index a0bb140a0..81c402358 100644
--- a/go.mod
+++ b/go.mod
@@ -18,7 +18,7 @@ require (
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/client_model v0.6.1
github.com/prometheus/common v0.51.1
github.com/spf13/cobra v1.8.0
github.com/spf13/pflag v1.0.5
diff --git a/go.sum b/go.sum
index 4edd9fe56..c7a4596f4 100644
--- a/go.sum
+++ b/go.sum
@@ -317,8 +317,8 @@ github.com/prometheus/client_model v0.0.0-20180712105110-5c3871d89910/go.mod h1:
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/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.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=
From c855617a4f1be1d023475cf4d4f4aef975625e94 Mon Sep 17 00:00:00 2001
From: k8s-infra-cherrypick-robot
<90416843+k8s-infra-cherrypick-robot@users.noreply.github.com>
Date: Mon, 8 Apr 2024 05:26:43 -0700
Subject: [PATCH 042/265] Bump golang.org/x/crypto from 0.21.0 to 0.22.0
(#11232)
Bumps [golang.org/x/crypto](https://github.com/golang/crypto) from 0.21.0 to 0.22.0.
- [Commits](https://github.com/golang/crypto/compare/v0.21.0...v0.22.0)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
---
go.mod | 6 +++---
go.sum | 12 ++++++------
2 files changed, 9 insertions(+), 9 deletions(-)
diff --git a/go.mod b/go.mod
index 81c402358..7b8c3beb5 100644
--- a/go.mod
+++ b/go.mod
@@ -25,7 +25,7 @@ require (
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
+ golang.org/x/crypto v0.22.0
google.golang.org/grpc v1.62.1
google.golang.org/grpc/examples v0.0.0-20240223204917-5ccf176a08ab
gopkg.in/go-playground/pool.v3 v3.1.1
@@ -107,8 +107,8 @@ require (
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/sys v0.19.0 // indirect
+ golang.org/x/term v0.19.0 // indirect
golang.org/x/text v0.14.0 // indirect
golang.org/x/time v0.5.0 // indirect
golang.org/x/tools v0.18.0 // indirect
diff --git a/go.sum b/go.sum
index c7a4596f4..4b635c2ad 100644
--- a/go.sum
+++ b/go.sum
@@ -401,8 +401,8 @@ golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8U
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/crypto v0.22.0 h1:g1v0xeRhjcugydODzvb3mEM9SQ0HGp9s/nh3COQ/C30=
+golang.org/x/crypto v0.22.0/go.mod h1:vr6Su+7cTlO45qkww3VDJlzDn0ctJvRgYbC2NvXHt+M=
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=
@@ -543,12 +543,12 @@ golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBc
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/sys v0.19.0 h1:q5f1RH2jigJ1MoAWp2KTp3gm5zAGFUTarQZ5U386+4o=
+golang.org/x/sys v0.19.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/term v0.19.0 h1:+ThwsDv+tYfnJFhF4L8jITxu1tdTWRTZpdsWgEgjL6Q=
+golang.org/x/term v0.19.0/go.mod h1:2CuTdWZ7KHSQwUzKva0cbMg6q2DMI3Mmxp+gKJbskEk=
golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
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=
From 93d228bdb984c6ce00b7a8536baaab9e243e3514 Mon Sep 17 00:00:00 2001
From: k8s-infra-cherrypick-robot
<90416843+k8s-infra-cherrypick-robot@users.noreply.github.com>
Date: Mon, 8 Apr 2024 06:24:19 -0700
Subject: [PATCH 043/265] Bump github.com/prometheus/common from 0.51.1 to
0.52.2 (#11233)
Bumps [github.com/prometheus/common](https://github.com/prometheus/common) from 0.51.1 to 0.52.2.
- [Release notes](https://github.com/prometheus/common/releases)
- [Commits](https://github.com/prometheus/common/compare/v0.51.1...v0.52.2)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
---
go.mod | 2 +-
go.sum | 4 ++--
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/go.mod b/go.mod
index 7b8c3beb5..22b5fa450 100644
--- a/go.mod
+++ b/go.mod
@@ -19,7 +19,7 @@ require (
github.com/pmezard/go-difflib v1.0.0
github.com/prometheus/client_golang v1.19.0
github.com/prometheus/client_model v0.6.1
- github.com/prometheus/common v0.51.1
+ github.com/prometheus/common v0.52.2
github.com/spf13/cobra v1.8.0
github.com/spf13/pflag v1.0.5
github.com/stretchr/testify v1.9.0
diff --git a/go.sum b/go.sum
index 4b635c2ad..2d7c137b5 100644
--- a/go.sum
+++ b/go.sum
@@ -323,8 +323,8 @@ github.com/prometheus/common v0.4.1/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y8
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.51.1 h1:eIjN50Bwglz6a/c3hAgSMcofL3nD+nFQkV6Dd4DsQCw=
-github.com/prometheus/common v0.51.1/go.mod h1:lrWtQx+iDfn2mbH5GUzlH9TSHyfZpHkSiG1W7y3sF2Q=
+github.com/prometheus/common v0.52.2 h1:LW8Vk7BccEdONfrJBDffQGRtpSzi5CQaRZGtboOO2ck=
+github.com/prometheus/common v0.52.2/go.mod h1:lrWtQx+iDfn2mbH5GUzlH9TSHyfZpHkSiG1W7y3sF2Q=
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=
From 7fc7410368e23c45f79b488ceab46aaf32219f7c Mon Sep 17 00:00:00 2001
From: k8s-infra-cherrypick-robot
<90416843+k8s-infra-cherrypick-robot@users.noreply.github.com>
Date: Mon, 8 Apr 2024 06:26:30 -0700
Subject: [PATCH 044/265] Bump google.golang.org/grpc from 1.62.1 to 1.63.0
(#11234)
Bumps [google.golang.org/grpc](https://github.com/grpc/grpc-go) from 1.62.1 to 1.63.0.
- [Release notes](https://github.com/grpc/grpc-go/releases)
- [Commits](https://github.com/grpc/grpc-go/compare/v1.62.1...v1.63.0)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
---
go.mod | 4 ++--
go.sum | 8 ++++----
2 files changed, 6 insertions(+), 6 deletions(-)
diff --git a/go.mod b/go.mod
index 22b5fa450..2c63151a8 100644
--- a/go.mod
+++ b/go.mod
@@ -26,7 +26,7 @@ require (
github.com/yudai/gojsondiff v1.0.0
github.com/zakjan/cert-chain-resolver v0.0.0-20221221105603-fcedb00c5b30
golang.org/x/crypto v0.22.0
- google.golang.org/grpc v1.62.1
+ google.golang.org/grpc v1.63.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
@@ -113,7 +113,7 @@ require (
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/genproto/googleapis/rpc v0.0.0-20240227224415-6ceb2ff114de // indirect
google.golang.org/protobuf v1.33.0 // indirect
gopkg.in/evanphx/json-patch.v5 v5.9.0 // indirect
gopkg.in/go-playground/assert.v1 v1.2.1 // indirect
diff --git a/go.sum b/go.sum
index 2d7c137b5..77c8836fc 100644
--- a/go.sum
+++ b/go.sum
@@ -670,8 +670,8 @@ google.golang.org/genproto v0.0.0-20200618031413-b414f8b61790/go.mod h1:jDfRM7Fc
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/genproto/googleapis/rpc v0.0.0-20240227224415-6ceb2ff114de h1:cZGRis4/ot9uVm639a+rHCUaG0JJHEsdyzSQTMX+suY=
+google.golang.org/genproto/googleapis/rpc v0.0.0-20240227224415-6ceb2ff114de/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=
@@ -684,8 +684,8 @@ google.golang.org/grpc v1.28.0/go.mod h1:rpkK4SK4GF4Ach/+MFLZUBavHOvF2JJB5uozKKa
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/grpc v1.63.0 h1:WjKe+dnvABXyPJMD7KDNLxtoGk5tgk+YFWN6cBWjZE8=
+google.golang.org/grpc v1.63.0/go.mod h1:WAX/8DgncnokcFUldAxq7GeB5DXHDbMF+lLvDomNkRA=
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=
From d44e727fb35fc9d633e5082d92635e260ea216ce Mon Sep 17 00:00:00 2001
From: k8s-infra-cherrypick-robot
<90416843+k8s-infra-cherrypick-robot@users.noreply.github.com>
Date: Tue, 9 Apr 2024 03:10:58 -0700
Subject: [PATCH 045/265] Bump google.golang.org/grpc from 1.63.0 to 1.63.2
(#11238)
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Signed-off-by: 遐宇
Co-authored-by: 遐宇
---
go.mod | 2 +-
go.sum | 4 ++--
go.work.sum | 5 +++--
3 files changed, 6 insertions(+), 5 deletions(-)
diff --git a/go.mod b/go.mod
index 2c63151a8..780ce5959 100644
--- a/go.mod
+++ b/go.mod
@@ -26,7 +26,7 @@ require (
github.com/yudai/gojsondiff v1.0.0
github.com/zakjan/cert-chain-resolver v0.0.0-20221221105603-fcedb00c5b30
golang.org/x/crypto v0.22.0
- google.golang.org/grpc v1.63.0
+ google.golang.org/grpc v1.63.2
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
diff --git a/go.sum b/go.sum
index 77c8836fc..b7f63c02f 100644
--- a/go.sum
+++ b/go.sum
@@ -684,8 +684,8 @@ google.golang.org/grpc v1.28.0/go.mod h1:rpkK4SK4GF4Ach/+MFLZUBavHOvF2JJB5uozKKa
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.63.0 h1:WjKe+dnvABXyPJMD7KDNLxtoGk5tgk+YFWN6cBWjZE8=
-google.golang.org/grpc v1.63.0/go.mod h1:WAX/8DgncnokcFUldAxq7GeB5DXHDbMF+lLvDomNkRA=
+google.golang.org/grpc v1.63.2 h1:MUeiw1B2maTVZthpU5xvASfTh3LDbxHd6IJ6QQVU+xM=
+google.golang.org/grpc v1.63.2/go.mod h1:WAX/8DgncnokcFUldAxq7GeB5DXHDbMF+lLvDomNkRA=
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=
diff --git a/go.work.sum b/go.work.sum
index af236d3b1..4e1cead39 100644
--- a/go.work.sum
+++ b/go.work.sum
@@ -535,7 +535,6 @@ github.com/klauspost/cpuid/v2 v2.2.5/go.mod h1:Lcz8mBdAVJIBVzewtcLocK12l3Y+JytZY
github.com/kr/fs v0.1.0/go.mod h1:FFnZGqtBN9Gxj7eW1uZ42v5BccTP0vu6NEaFoC2HwRg=
github.com/ledongthuc/pdf v0.0.0-20220302134840-0c2507a12d80/go.mod h1:imJHygn/1yfhB7XSJJKlFZKl/J+dCPAknuiaGOshXAs=
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=
@@ -583,6 +582,7 @@ golang.org/x/crypto v0.13.0/go.mod h1:y6Z2r+Rw4iayiXXAIxJIDAJ1zMW4yaTpebo8fPOliY
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/crypto v0.21.0/go.mod h1:0BP7YvVV9gBbVKyeTG0Gyn+gZm94bibOW5BjDEYAOMs=
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=
@@ -602,6 +602,7 @@ 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/net v0.21.0/go.mod h1:bIjVDfnllIU7BJ2DNgfnXvpSvtn8VRwhlsaeUTyUS44=
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=
@@ -625,7 +626,6 @@ golang.org/x/sys v0.0.0-20210225134936-a50acf3fe073/go.mod h1:h1NjWce9XRLGQEsW7w
golang.org/x/sys v0.0.0-20210423185535-09eb48e85fd7/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=
@@ -684,6 +684,7 @@ 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 v0.0.0-20240227224415-6ceb2ff114de h1:F6qOa9AZTYJXOUEr4jDysRDLrm4PHePlge4v4TGAlxY=
google.golang.org/genproto/googleapis/api v0.0.0-20230530153820-e85fd2cbaebc/go.mod h1:vHYtlOoi6TsQ3Uk2yxR7NI5z8uoV+3pZtR4jmHIkRig=
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=
From a5fe09e80e39120e9f914b02ba390725e86b4f5e Mon Sep 17 00:00:00 2001
From: k8s-infra-cherrypick-robot
<90416843+k8s-infra-cherrypick-robot@users.noreply.github.com>
Date: Tue, 9 Apr 2024 04:20:34 -0700
Subject: [PATCH 046/265] remove _ssl_expire_time_seconds metric by identifier
(#11239)
Signed-off-by: xiayu.lyt
Co-authored-by: xiayu.lyt
---
internal/ingress/controller/controller.go | 3 +--
.../ingress/metric/collectors/controller.go | 24 ++++++++++++-------
.../metric/collectors/controller_test.go | 13 ++++++++--
internal/ingress/metric/dummy.go | 2 +-
internal/ingress/metric/main.go | 6 ++---
5 files changed, 31 insertions(+), 17 deletions(-)
diff --git a/internal/ingress/controller/controller.go b/internal/ingress/controller/controller.go
index cb8d3712c..0588791be 100644
--- a/internal/ingress/controller/controller.go
+++ b/internal/ingress/controller/controller.go
@@ -250,9 +250,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
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/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) {
From 4b3116dc6aecdb5e68e7f510ad37637ca26cc447 Mon Sep 17 00:00:00 2001
From: k8s-infra-cherrypick-robot
<90416843+k8s-infra-cherrypick-robot@users.noreply.github.com>
Date: Tue, 9 Apr 2024 12:40:27 -0700
Subject: [PATCH 047/265] update k8s version to latest kind release (#11241)
Signed-off-by: James Strong
Co-authored-by: James Strong
---
.github/workflows/ci.yaml | 8 ++++----
.github/workflows/images.yaml | 2 +-
2 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml
index 3e7067b8f..bc2dc24ef 100644
--- a/.github/workflows/ci.yaml
+++ b/.github/workflows/ci.yaml
@@ -235,7 +235,7 @@ jobs:
strategy:
matrix:
- k8s: [v1.26.6, v1.27.3, v1.28.0, v1.29.0]
+ k8s: [v1.26.14, v1.27.11, v1.28.7, v1.29.2]
steps:
- name: Checkout
@@ -286,7 +286,7 @@ jobs:
(needs.changes.outputs.go == 'true') || (needs.changes.outputs.baseimage == 'true')
strategy:
matrix:
- k8s: [v1.26.6, v1.27.3, v1.28.0, v1.29.0]
+ k8s: [v1.26.14, v1.27.11, v1.28.7, v1.29.2]
uses: ./.github/workflows/zz-tmpl-k8s-e2e.yaml
with:
k8s-version: ${{ matrix.k8s }}
@@ -300,7 +300,7 @@ jobs:
(needs.changes.outputs.go == 'true') || (needs.changes.outputs.baseimage == 'true')
strategy:
matrix:
- k8s: [v1.26.6, v1.27.3, v1.28.0, v1.29.0]
+ k8s: [v1.26.14, v1.27.11, v1.28.7, v1.29.2]
uses: ./.github/workflows/zz-tmpl-k8s-e2e.yaml
with:
k8s-version: ${{ matrix.k8s }}
@@ -315,7 +315,7 @@ jobs:
(needs.changes.outputs.go == 'true') || (needs.changes.outputs.baseimage == 'true')
strategy:
matrix:
- k8s: [v1.26.6, v1.27.3, v1.28.0, v1.29.0]
+ k8s: [v1.26.14, v1.27.11, v1.28.7, v1.29.2]
uses: ./.github/workflows/zz-tmpl-k8s-e2e.yaml
with:
k8s-version: ${{ matrix.k8s }}
diff --git a/.github/workflows/images.yaml b/.github/workflows/images.yaml
index 4afc27aa2..28bbf6692 100644
--- a/.github/workflows/images.yaml
+++ b/.github/workflows/images.yaml
@@ -141,7 +141,7 @@ jobs:
(needs.changes.outputs.kube-webhook-certgen == 'true')
strategy:
matrix:
- k8s: [v1.25.11, v1.26.6, v1.27.3, v1.28.0, v1.29.0]
+ k8s: [v1.26.14, v1.27.11, v1.28.7, v1.29.2]
steps:
- name: Checkout
uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633 # v4.1.2
From 6879b6644e5eed6078d922b4a1f400798cc6786b Mon Sep 17 00:00:00 2001
From: k8s-infra-cherrypick-robot
<90416843+k8s-infra-cherrypick-robot@users.noreply.github.com>
Date: Wed, 10 Apr 2024 08:17:48 -0700
Subject: [PATCH 048/265] force nginx rebuild (#11245)
* force nginx rebuild
Signed-off-by: James Strong
* update test image and go version
Signed-off-by: James Strong
---------
Signed-off-by: James Strong
Co-authored-by: James Strong
---
GOLANG_VERSION | 2 +-
images/nginx-1.25/TAG | 2 +-
images/test-runner/TAG | 2 +-
3 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/GOLANG_VERSION b/GOLANG_VERSION
index 24b38a959..8864ad297 100644
--- a/GOLANG_VERSION
+++ b/GOLANG_VERSION
@@ -1 +1 @@
-1.22.1
\ No newline at end of file
+1.22.2
\ No newline at end of file
diff --git a/images/nginx-1.25/TAG b/images/nginx-1.25/TAG
index 837042c77..254a9f20d 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.6
\ No newline at end of file
diff --git a/images/test-runner/TAG b/images/test-runner/TAG
index 95e94cdd3..90ab6e946 100644
--- a/images/test-runner/TAG
+++ b/images/test-runner/TAG
@@ -1 +1 @@
-v0.0.1
\ No newline at end of file
+v0.0.2
\ No newline at end of file
From 4fb5aac1dd3669daa3a14d9de3e3cdb371b4c518 Mon Sep 17 00:00:00 2001
From: James Strong
Date: Wed, 10 Apr 2024 13:58:23 -0400
Subject: [PATCH 049/265] start 1.10.1 build (#11246)
Signed-off-by: James Strong
---
TAG | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/TAG b/TAG
index bf7b70e00..29833cbcf 100644
--- a/TAG
+++ b/TAG
@@ -1 +1 @@
-v1.10.0
+v1.10.1
From d00ff4e50eebe16cbe53ecc7e9a5a52a4a1aa2b7 Mon Sep 17 00:00:00 2001
From: k8s-infra-cherrypick-robot
<90416843+k8s-infra-cherrypick-robot@users.noreply.github.com>
Date: Mon, 15 Apr 2024 08:07:09 -0700
Subject: [PATCH 050/265] Bump actions/add-to-project from 1.0.0 to 1.0.1 in
the all group (#11264)
Bumps the all group with 1 update: [actions/add-to-project](https://github.com/actions/add-to-project).
Updates `actions/add-to-project` from 1.0.0 to 1.0.1
- [Release notes](https://github.com/actions/add-to-project/releases)
- [Commits](https://github.com/actions/add-to-project/compare/2e5cc851ca7162e9eb510e6da6a5c64022e606a7...9bfe908f2eaa7ba10340b31e314148fcfe6a2458)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
---
.github/workflows/project.yml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/.github/workflows/project.yml b/.github/workflows/project.yml
index b999e29be..59ad98a71 100644
--- a/.github/workflows/project.yml
+++ b/.github/workflows/project.yml
@@ -13,7 +13,7 @@ jobs:
repository-projects: write
issues: write
steps:
- - uses: actions/add-to-project@2e5cc851ca7162e9eb510e6da6a5c64022e606a7 # v1.0.0
+ - uses: actions/add-to-project@9bfe908f2eaa7ba10340b31e314148fcfe6a2458 # v1.0.1
with:
project-url: https://github.com/orgs/kubernetes/projects/104
github-token: ${{ secrets.PROJECT_WRITER }}
From f14c3f3adac1e38e2a890ada98b34f9f5c0a6bd5 Mon Sep 17 00:00:00 2001
From: k8s-infra-cherrypick-robot
<90416843+k8s-infra-cherrypick-robot@users.noreply.github.com>
Date: Mon, 15 Apr 2024 08:09:51 -0700
Subject: [PATCH 051/265] Bump azure/setup-helm from 3.5 to 4 (#11265)
Bumps [azure/setup-helm](https://github.com/azure/setup-helm) from 3.5 to 4.
- [Release notes](https://github.com/azure/setup-helm/releases)
- [Changelog](https://github.com/Azure/setup-helm/blob/main/CHANGELOG.md)
- [Commits](https://github.com/azure/setup-helm/compare/5119fcb9089d432beecbf79bb2c7915207344b78...b7246b12e77f7134dc2d460a3d5bad15bbe29390)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
---
.github/workflows/ci.yaml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml
index bc2dc24ef..e7f2da325 100644
--- a/.github/workflows/ci.yaml
+++ b/.github/workflows/ci.yaml
@@ -184,7 +184,7 @@ jobs:
fetch-depth: 0
- name: Set up Helm
- uses: azure/setup-helm@5119fcb9089d432beecbf79bb2c7915207344b78 # v3.5
+ uses: azure/setup-helm@b7246b12e77f7134dc2d460a3d5bad15bbe29390 # v4.1.0
- uses: actions/setup-python@82c7e631bb3cdc910f68e0081d67478d79c6982d # v5.1.0
with:
From f8f6c5dcf6337291c92fe04bd8cccf2102a3e328 Mon Sep 17 00:00:00 2001
From: k8s-infra-cherrypick-robot
<90416843+k8s-infra-cherrypick-robot@users.noreply.github.com>
Date: Mon, 15 Apr 2024 13:21:47 -0700
Subject: [PATCH 052/265] Bump the all group with 2 updates (#11266)
Bumps the all group with 2 updates: [github.com/prometheus/common](https://github.com/prometheus/common) and [sigs.k8s.io/controller-runtime](https://github.com/kubernetes-sigs/controller-runtime).
Updates `github.com/prometheus/common` from 0.52.2 to 0.52.3
- [Release notes](https://github.com/prometheus/common/releases)
- [Commits](https://github.com/prometheus/common/compare/v0.52.2...v0.52.3)
Updates `sigs.k8s.io/controller-runtime` from 0.17.2 to 0.17.3
- [Release notes](https://github.com/kubernetes-sigs/controller-runtime/releases)
- [Changelog](https://github.com/kubernetes-sigs/controller-runtime/blob/main/RELEASE.md)
- [Commits](https://github.com/kubernetes-sigs/controller-runtime/compare/v0.17.2...v0.17.3)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
---
go.mod | 4 ++--
go.sum | 8 ++++----
2 files changed, 6 insertions(+), 6 deletions(-)
diff --git a/go.mod b/go.mod
index 780ce5959..ef99dd5d1 100644
--- a/go.mod
+++ b/go.mod
@@ -19,7 +19,7 @@ require (
github.com/pmezard/go-difflib v1.0.0
github.com/prometheus/client_golang v1.19.0
github.com/prometheus/client_model v0.6.1
- github.com/prometheus/common v0.52.2
+ github.com/prometheus/common v0.52.3
github.com/spf13/cobra v1.8.0
github.com/spf13/pflag v1.0.5
github.com/stretchr/testify v1.9.0
@@ -40,7 +40,7 @@ require (
k8s.io/component-base v0.29.3
k8s.io/klog/v2 v2.120.1
pault.ag/go/sniff v0.0.0-20200207005214-cf7e4d167732
- sigs.k8s.io/controller-runtime v0.17.2
+ sigs.k8s.io/controller-runtime v0.17.3
sigs.k8s.io/mdtoc v1.1.0
)
diff --git a/go.sum b/go.sum
index b7f63c02f..999739793 100644
--- a/go.sum
+++ b/go.sum
@@ -323,8 +323,8 @@ github.com/prometheus/common v0.4.1/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y8
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.52.2 h1:LW8Vk7BccEdONfrJBDffQGRtpSzi5CQaRZGtboOO2ck=
-github.com/prometheus/common v0.52.2/go.mod h1:lrWtQx+iDfn2mbH5GUzlH9TSHyfZpHkSiG1W7y3sF2Q=
+github.com/prometheus/common v0.52.3 h1:5f8uj6ZwHSscOGNdIQg6OiZv/ybiK2CO2q2drVZAQSA=
+github.com/prometheus/common v0.52.3/go.mod h1:BrxBKv3FWBIGXw89Mg1AeBq7FSyRzXWI3l3e7W3RN5U=
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=
@@ -770,8 +770,8 @@ pault.ag/go/sniff v0.0.0-20200207005214-cf7e4d167732/go.mod h1:lpvCfhqEHNJSSpG5R
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.17.3 h1:65QmN7r3FWgTxDMz9fvGnO1kbf2nu+acg9p2R9oYYYk=
+sigs.k8s.io/controller-runtime v0.17.3/go.mod h1:N0jpP5Lo7lMTF9aL56Z/B2oWBJjey6StQM0jRbKQXtY=
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=
From 2c48919a9c9e37d8d0b034d26391e4c414a8548e Mon Sep 17 00:00:00 2001
From: James Strong
Date: Thu, 18 Apr 2024 10:05:29 -0400
Subject: [PATCH 053/265] release chart 4.10.1
Signed-off-by: James Strong
---
charts/ingress-nginx/Chart.yaml | 22 ++++++++++---------
charts/ingress-nginx/README.md | 8 +++----
.../changelog/helm-chart-4.10.1.md | 11 ++++++++++
charts/ingress-nginx/values.yaml | 6 ++---
4 files changed, 30 insertions(+), 17 deletions(-)
create mode 100644 charts/ingress-nginx/changelog/helm-chart-4.10.1.md
diff --git a/charts/ingress-nginx/Chart.yaml b/charts/ingress-nginx/Chart.yaml
index 7996c29c5..dc1a984b5 100644
--- a/charts/ingress-nginx/Chart.yaml
+++ b/charts/ingress-nginx/Chart.yaml
@@ -1,23 +1,25 @@
annotations:
artifacthub.io/changes: |-
- - "Update Ingress-Nginx version controller-v1.10.0"
+ - "update post submit helm ci and clean up (#11221)"
+ - "refactor helm ci tests part I (#11188)"
+ - "Update Ingress-Nginx version controller-v1.10.1"
artifacthub.io/prerelease: "false"
apiVersion: v2
-appVersion: 1.10.0
+appVersion: 1.10.1
description: Ingress controller for Kubernetes using NGINX as a reverse proxy and
load balancer
home: https://github.com/kubernetes/ingress-nginx
icon: https://upload.wikimedia.org/wikipedia/commons/thumb/c/c5/Nginx_logo.svg/500px-Nginx_logo.svg.png
keywords:
- - ingress
- - nginx
+- ingress
+- nginx
kubeVersion: '>=1.20.0-0'
maintainers:
- - name: Gacko
- - name: rikatz
- - name: strongjz
- - name: tao12345666333
+- name: Gacko
+- name: rikatz
+- name: strongjz
+- name: tao12345666333
name: ingress-nginx
sources:
- - https://github.com/kubernetes/ingress-nginx
-version: 4.10.0
+- https://github.com/kubernetes/ingress-nginx
+version: 4.10.1
diff --git a/charts/ingress-nginx/README.md b/charts/ingress-nginx/README.md
index 717a7c0c4..8160d45bc 100644
--- a/charts/ingress-nginx/README.md
+++ b/charts/ingress-nginx/README.md
@@ -2,7 +2,7 @@
[ingress-nginx](https://github.com/kubernetes/ingress-nginx) Ingress controller for Kubernetes using NGINX as a reverse proxy and load balancer
- 
+ 
To use, add `ingressClassName: nginx` spec field or the `kubernetes.io/ingress.class: nginx` annotation to your Ingress resources.
@@ -317,8 +317,8 @@ As of version `1.26.0` of this chart, by simply not providing any clusterIP valu
| controller.hostname | object | `{}` | Optionally customize the pod hostname. |
| controller.image.allowPrivilegeEscalation | bool | `false` | |
| controller.image.chroot | bool | `false` | |
-| controller.image.digest | string | `"sha256:42b3f0e5d0846876b1791cd3afeb5f1cbbe4259d6f35651dcc1b5c980925379c"` | |
-| controller.image.digestChroot | string | `"sha256:7eb46ff733429e0e46892903c7394aff149ac6d284d92b3946f3baf7ff26a096"` | |
+| controller.image.digest | string | `"sha256:e24f39d3eed6bcc239a56f20098878845f62baa34b9f2be2fd2c38ce9fb0f29e"` | |
+| controller.image.digestChroot | string | `"sha256:c155954116b397163c88afcb3252462771bd7867017e8a17623e83601bab7ac7"` | |
| controller.image.image | string | `"ingress-nginx/controller"` | |
| controller.image.pullPolicy | string | `"IfNotPresent"` | |
| controller.image.readOnlyRootFilesystem | bool | `false` | |
@@ -326,7 +326,7 @@ As of version `1.26.0` of this chart, by simply not providing any clusterIP valu
| controller.image.runAsNonRoot | bool | `true` | |
| controller.image.runAsUser | int | `101` | |
| controller.image.seccompProfile.type | string | `"RuntimeDefault"` | |
-| controller.image.tag | string | `"v1.10.0"` | |
+| controller.image.tag | string | `"v1.10.1"` | |
| controller.ingressClass | string | `"nginx"` | For backwards compatibility with ingress.class annotation, use ingressClass. Algorithm is as follows, first ingressClassName is considered, if not present, controller looks for ingress.class annotation |
| controller.ingressClassByName | bool | `false` | Process IngressClass per name (additionally as per spec.controller). |
| controller.ingressClassResource | object | `{"controllerValue":"k8s.io/ingress-nginx","default":false,"enabled":true,"name":"nginx","parameters":{}}` | This section refers to the creation of the IngressClass resource. IngressClasses are immutable and cannot be changed after creation. We do not support namespaced IngressClasses, yet, so a ClusterRole and a ClusterRoleBinding is required. |
diff --git a/charts/ingress-nginx/changelog/helm-chart-4.10.1.md b/charts/ingress-nginx/changelog/helm-chart-4.10.1.md
new file mode 100644
index 000000000..3a28de00c
--- /dev/null
+++ b/charts/ingress-nginx/changelog/helm-chart-4.10.1.md
@@ -0,0 +1,11 @@
+# Changelog
+
+This file documents all notable changes to [ingress-nginx](https://github.com/kubernetes/ingress-nginx) Helm Chart. The release numbering uses [semantic versioning](http://semver.org).
+
+### 4.10.1
+
+* - "update post submit helm ci and clean up (#11221)"
+* - "refactor helm ci tests part I (#11188)"
+* - "Update Ingress-Nginx version controller-v1.10.1"
+
+**Full Changelog**: https://github.com/kubernetes/ingress-nginx/compare/helm-chart-4.10.0...helm-chart-4.10.1
diff --git a/charts/ingress-nginx/values.yaml b/charts/ingress-nginx/values.yaml
index 412daebdd..68f8b5864 100644
--- a/charts/ingress-nginx/values.yaml
+++ b/charts/ingress-nginx/values.yaml
@@ -26,9 +26,9 @@ controller:
## for backwards compatibility consider setting the full image url via the repository value below
## use *either* current default registry/image or repository format or installing chart by providing the values.yaml will fail
## repository:
- tag: "v1.10.0"
- digest: sha256:42b3f0e5d0846876b1791cd3afeb5f1cbbe4259d6f35651dcc1b5c980925379c
- digestChroot: sha256:7eb46ff733429e0e46892903c7394aff149ac6d284d92b3946f3baf7ff26a096
+ tag: "v1.10.1"
+ digest: sha256:e24f39d3eed6bcc239a56f20098878845f62baa34b9f2be2fd2c38ce9fb0f29e
+ digestChroot: sha256:c155954116b397163c88afcb3252462771bd7867017e8a17623e83601bab7ac7
pullPolicy: IfNotPresent
runAsNonRoot: true
# www-data -> uid 101
From 755301d84c0096a06dd09686361150aebc2e0431 Mon Sep 17 00:00:00 2001
From: k8s-infra-cherrypick-robot
<90416843+k8s-infra-cherrypick-robot@users.noreply.github.com>
Date: Thu, 18 Apr 2024 10:09:09 -0700
Subject: [PATCH 054/265] release helm chart from release branch (#11278)
Signed-off-by: James Strong
Co-authored-by: James Strong
---
.github/workflows/helm.yaml | 1 +
1 file changed, 1 insertion(+)
diff --git a/.github/workflows/helm.yaml b/.github/workflows/helm.yaml
index 3ba506c29..af8d91e1f 100644
--- a/.github/workflows/helm.yaml
+++ b/.github/workflows/helm.yaml
@@ -4,6 +4,7 @@ on:
push:
branches:
- main
+ - release-*
permissions:
contents: read
From 213b723d81a78dbbea033be5078b5fb2feb2a331 Mon Sep 17 00:00:00 2001
From: k8s-infra-cherrypick-robot
<90416843+k8s-infra-cherrypick-robot@users.noreply.github.com>
Date: Thu, 18 Apr 2024 11:30:38 -0700
Subject: [PATCH 055/265] fix: update kube version requirement to 1.21 (#11279)
The controller depends on the v1 version of EndpointSlice, but the discovery.k8s.io/v1 API was first introduced in Kubernetes version 1.21.
Co-authored-by: NierYYDS <141559828+NierYYDS@users.noreply.github.com>
---
charts/ingress-nginx/Chart.yaml | 2 +-
charts/ingress-nginx/README.md | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/charts/ingress-nginx/Chart.yaml b/charts/ingress-nginx/Chart.yaml
index 7996c29c5..f9bb890f8 100644
--- a/charts/ingress-nginx/Chart.yaml
+++ b/charts/ingress-nginx/Chart.yaml
@@ -11,7 +11,7 @@ icon: https://upload.wikimedia.org/wikipedia/commons/thumb/c/c5/Nginx_logo.svg/5
keywords:
- ingress
- nginx
-kubeVersion: '>=1.20.0-0'
+kubeVersion: '>=1.21.0-0'
maintainers:
- name: Gacko
- name: rikatz
diff --git a/charts/ingress-nginx/README.md b/charts/ingress-nginx/README.md
index 717a7c0c4..40900d422 100644
--- a/charts/ingress-nginx/README.md
+++ b/charts/ingress-nginx/README.md
@@ -10,7 +10,7 @@ This chart bootstraps an ingress-nginx deployment on a [Kubernetes](http://kuber
## Requirements
-Kubernetes: `>=1.20.0-0`
+Kubernetes: `>=1.21.0-0`
## Get Repo Info
From c5ffbd3cf560b93129a6ac852e56c8eca76f9c90 Mon Sep 17 00:00:00 2001
From: k8s-infra-cherrypick-robot
<90416843+k8s-infra-cherrypick-robot@users.noreply.github.com>
Date: Fri, 19 Apr 2024 03:23:40 -0700
Subject: [PATCH 056/265] chore: fix function names in comment (#11281)
Signed-off-by: racequite
Co-authored-by: racequite
---
internal/ingress/errors/errors.go | 2 +-
internal/ingress/status/status.go | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
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/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 {
From 5ad073b96c4d532793852834e80abbe59c6f0b0c Mon Sep 17 00:00:00 2001
From: k8s-infra-cherrypick-robot
<90416843+k8s-infra-cherrypick-robot@users.noreply.github.com>
Date: Fri, 19 Apr 2024 06:51:47 -0700
Subject: [PATCH 057/265] Bump golang.org/x/net in
/images/kube-webhook-certgen/rootfs (#11284)
Bumps [golang.org/x/net](https://github.com/golang/net) from 0.22.0 to 0.23.0.
- [Commits](https://github.com/golang/net/compare/v0.22.0...v0.23.0)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
---
images/kube-webhook-certgen/rootfs/go.mod | 2 +-
images/kube-webhook-certgen/rootfs/go.sum | 4 ++--
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/images/kube-webhook-certgen/rootfs/go.mod b/images/kube-webhook-certgen/rootfs/go.mod
index b1903dcf3..94da139a2 100644
--- a/images/kube-webhook-certgen/rootfs/go.mod
+++ b/images/kube-webhook-certgen/rootfs/go.mod
@@ -39,7 +39,7 @@ require (
github.com/pkg/errors v0.9.1 // indirect
github.com/spf13/pflag v1.0.5 // indirect
github.com/stretchr/testify v1.9.0 // indirect
- golang.org/x/net v0.22.0 // indirect
+ golang.org/x/net v0.23.0 // indirect
golang.org/x/oauth2 v0.18.0 // indirect
golang.org/x/sys v0.18.0 // indirect
golang.org/x/term v0.18.0 // indirect
diff --git a/images/kube-webhook-certgen/rootfs/go.sum b/images/kube-webhook-certgen/rootfs/go.sum
index 4ec80305a..613ff3e2e 100644
--- a/images/kube-webhook-certgen/rootfs/go.sum
+++ b/images/kube-webhook-certgen/rootfs/go.sum
@@ -104,8 +104,8 @@ 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.22.0 h1:9sGLhx7iRIHEiX0oAJ3MRZMUCElJgy7Br1nO+AMN3Tc=
-golang.org/x/net v0.22.0/go.mod h1:JKghWKKOSdJwpW2GEx0Ja7fmaKnMsbu+MWVZTokSYmg=
+golang.org/x/net v0.23.0 h1:7EYJ93RZ9vYSZAIb2x3lnuvqO5zneoD6IvWjuhfxjTs=
+golang.org/x/net v0.23.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-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
From 6fbd58353f2655e4e975f264e060750ce616bc04 Mon Sep 17 00:00:00 2001
From: k8s-infra-cherrypick-robot
<90416843+k8s-infra-cherrypick-robot@users.noreply.github.com>
Date: Fri, 19 Apr 2024 08:23:40 -0700
Subject: [PATCH 058/265] Bump golang.org/x/net from 0.22.0 to 0.23.0 (#11285)
Bumps [golang.org/x/net](https://github.com/golang/net) from 0.22.0 to 0.23.0.
- [Commits](https://github.com/golang/net/compare/v0.22.0...v0.23.0)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
---
go.mod | 2 +-
go.sum | 4 ++--
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/go.mod b/go.mod
index ef99dd5d1..ffa2744b7 100644
--- a/go.mod
+++ b/go.mod
@@ -104,7 +104,7 @@ require (
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/net v0.23.0 // indirect
golang.org/x/oauth2 v0.18.0 // indirect
golang.org/x/sync v0.6.0 // indirect
golang.org/x/sys v0.19.0 // indirect
diff --git a/go.sum b/go.sum
index 999739793..65d5ec9b8 100644
--- a/go.sum
+++ b/go.sum
@@ -472,8 +472,8 @@ golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwY
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/net v0.23.0 h1:7EYJ93RZ9vYSZAIb2x3lnuvqO5zneoD6IvWjuhfxjTs=
+golang.org/x/net v0.23.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=
From 1a7f674422d1b8d7ba8b98b5a4891e984e63aa1d Mon Sep 17 00:00:00 2001
From: k8s-infra-cherrypick-robot
<90416843+k8s-infra-cherrypick-robot@users.noreply.github.com>
Date: Fri, 19 Apr 2024 09:56:22 -0700
Subject: [PATCH 059/265] fix path in file changed detected message (#11286)
* fix path in file changed detected message
Signed-off-by: Tom Hayward
* fix typo in log message
* explain code per review comments
---------
Signed-off-by: Tom Hayward
Co-authored-by: Tom Hayward
---
internal/ingress/controller/nginx.go | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/internal/ingress/controller/nginx.go b/internal/ingress/controller/nginx.go
index f14f5feae..e19ee8bb3 100644
--- a/internal/ingress/controller/nginx.go
+++ b/internal/ingress/controller/nginx.go
@@ -202,8 +202,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 {
From a4e5daebecb786eb2ecbe72e8fde405e2b2aff29 Mon Sep 17 00:00:00 2001
From: cuiyourong
Date: Tue, 23 Apr 2024 17:59:34 +0800
Subject: [PATCH 060/265] Fix function name in comment
Signed-off-by: cuiyourong
---
internal/ingress/annotations/parser/validators.go | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
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!)
From 0a7fe6d4ed4a072259db3e48f661ffc00800b234 Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Mon, 22 Apr 2024 10:30:01 +0000
Subject: [PATCH 061/265] Bump the all group with 5 updates
Bumps the all group with 5 updates:
| Package | From | To |
| --- | --- | --- |
| [actions/checkout](https://github.com/actions/checkout) | `4.1.2` | `4.1.3` |
| [actions/upload-artifact](https://github.com/actions/upload-artifact) | `4.3.1` | `4.3.2` |
| [azure/setup-helm](https://github.com/azure/setup-helm) | `4.1.0` | `4.2.0` |
| [actions/download-artifact](https://github.com/actions/download-artifact) | `4.1.4` | `4.1.5` |
| [github/codeql-action](https://github.com/github/codeql-action) | `3.24.10` | `3.25.1` |
Updates `actions/checkout` from 4.1.2 to 4.1.3
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/9bb56186c3b09b4f86b1c65136769dd318469633...1d96c772d19495a3b5c517cd2bc0cb401ea0529f)
Updates `actions/upload-artifact` from 4.3.1 to 4.3.2
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](https://github.com/actions/upload-artifact/compare/5d5d22a31266ced268874388b861e4b58bb5c2f3...1746f4ab65b179e0ea60a494b83293b640dd5bba)
Updates `azure/setup-helm` from 4.1.0 to 4.2.0
- [Release notes](https://github.com/azure/setup-helm/releases)
- [Changelog](https://github.com/Azure/setup-helm/blob/main/CHANGELOG.md)
- [Commits](https://github.com/azure/setup-helm/compare/b7246b12e77f7134dc2d460a3d5bad15bbe29390...fe7b79cd5ee1e45176fcad797de68ecaf3ca4814)
Updates `actions/download-artifact` from 4.1.4 to 4.1.5
- [Release notes](https://github.com/actions/download-artifact/releases)
- [Commits](https://github.com/actions/download-artifact/compare/c850b930e6ba138125429b7e5c93fc707a7f8427...8caf195ad4b1dee92908e23f56eeb0696f1dd42d)
Updates `github/codeql-action` from 3.24.10 to 3.25.1
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/github/codeql-action/compare/4355270be187e1b672a7a1c7c7bae5afdc1ab94a...c7f9125735019aa87cfc361530512d50ea439c71)
---
.github/workflows/ci.yaml | 16 ++++++++--------
.github/workflows/depreview.yaml | 2 +-
.github/workflows/docs.yaml | 4 ++--
.github/workflows/golangci-lint.yml | 2 +-
.github/workflows/helm.yaml | 4 ++--
.github/workflows/images.yaml | 8 ++++----
.github/workflows/perftest.yaml | 2 +-
.github/workflows/plugin.yaml | 2 +-
.github/workflows/scorecards.yml | 6 +++---
.github/workflows/vulnerability-scans.yaml | 6 +++---
.github/workflows/zz-tmpl-images.yaml | 6 +++---
.github/workflows/zz-tmpl-k8s-e2e.yaml | 6 +++---
12 files changed, 32 insertions(+), 32 deletions(-)
diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml
index e7f2da325..a3d0e3187 100644
--- a/.github/workflows/ci.yaml
+++ b/.github/workflows/ci.yaml
@@ -47,7 +47,7 @@ jobs:
steps:
- name: Checkout
- uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633 # v4.1.2
+ uses: actions/checkout@1d96c772d19495a3b5c517cd2bc0cb401ea0529f # v4.1.3
- uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
id: filter
@@ -77,7 +77,7 @@ jobs:
(needs.changes.outputs.go == 'true')
steps:
- name: Checkout
- uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633 # v4.1.2
+ uses: actions/checkout@1d96c772d19495a3b5c517cd2bc0cb401ea0529f # v4.1.3
- name: Get go version
run: echo "GOLANG_VERSION=$(cat GOLANG_VERSION)" >> $GITHUB_ENV
@@ -105,7 +105,7 @@ jobs:
PLATFORMS: linux/amd64
steps:
- name: Checkout
- uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633 # v4.1.2
+ uses: actions/checkout@1d96c772d19495a3b5c517cd2bc0cb401ea0529f # v4.1.3
- name: Get go version
id: golangversion
@@ -163,7 +163,7 @@ jobs:
| gzip > docker.tar.gz
- name: cache
- uses: actions/upload-artifact@5d5d22a31266ced268874388b861e4b58bb5c2f3 # v4.3.1
+ uses: actions/upload-artifact@1746f4ab65b179e0ea60a494b83293b640dd5bba # v4.3.2
with:
name: docker.tar.gz
path: docker.tar.gz
@@ -179,12 +179,12 @@ jobs:
steps:
- name: Checkout
- uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633 # v4.1.2
+ uses: actions/checkout@1d96c772d19495a3b5c517cd2bc0cb401ea0529f # v4.1.3
with:
fetch-depth: 0
- name: Set up Helm
- uses: azure/setup-helm@b7246b12e77f7134dc2d460a3d5bad15bbe29390 # v4.1.0
+ uses: azure/setup-helm@fe7b79cd5ee1e45176fcad797de68ecaf3ca4814 # v4.2.0
- uses: actions/setup-python@82c7e631bb3cdc910f68e0081d67478d79c6982d # v5.1.0
with:
@@ -239,7 +239,7 @@ jobs:
steps:
- name: Checkout
- uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633 # v4.1.2
+ uses: actions/checkout@1d96c772d19495a3b5c517cd2bc0cb401ea0529f # v4.1.3
- name: Setup Go
uses: actions/setup-go@0c52d547c9bc32b1aa3301fd7a9cb496313a4491 # v5.0.0
@@ -248,7 +248,7 @@ jobs:
check-latest: true
- name: cache
- uses: actions/download-artifact@c850b930e6ba138125429b7e5c93fc707a7f8427 # v4.1.4
+ uses: actions/download-artifact@8caf195ad4b1dee92908e23f56eeb0696f1dd42d # v4.1.5
with:
name: docker.tar.gz
diff --git a/.github/workflows/depreview.yaml b/.github/workflows/depreview.yaml
index 3b553afd4..bfe5ba55b 100644
--- a/.github/workflows/depreview.yaml
+++ b/.github/workflows/depreview.yaml
@@ -9,6 +9,6 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: 'Checkout Repository'
- uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633 # v4.1.2
+ uses: actions/checkout@1d96c772d19495a3b5c517cd2bc0cb401ea0529f # v4.1.3
- name: 'Dependency Review'
uses: actions/dependency-review-action@5bbc3ba658137598168acb2ab73b21c432dd411b # v4.2.5
diff --git a/.github/workflows/docs.yaml b/.github/workflows/docs.yaml
index d6182ec9c..740b76f79 100644
--- a/.github/workflows/docs.yaml
+++ b/.github/workflows/docs.yaml
@@ -23,7 +23,7 @@ jobs:
steps:
- name: Checkout
- uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633 # v4.1.2
+ uses: actions/checkout@1d96c772d19495a3b5c517cd2bc0cb401ea0529f # v4.1.3
- uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
id: filter
@@ -47,7 +47,7 @@ jobs:
steps:
- name: Checkout master
- uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633 # v4.1.2
+ uses: actions/checkout@1d96c772d19495a3b5c517cd2bc0cb401ea0529f # v4.1.3
- name: Deploy
uses: ./.github/actions/mkdocs
diff --git a/.github/workflows/golangci-lint.yml b/.github/workflows/golangci-lint.yml
index d287061d5..02ebcaa38 100644
--- a/.github/workflows/golangci-lint.yml
+++ b/.github/workflows/golangci-lint.yml
@@ -15,7 +15,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout
- uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633 # v4.1.2
+ uses: actions/checkout@1d96c772d19495a3b5c517cd2bc0cb401ea0529f # v4.1.3
- name: Get go version
run: echo "GOLANG_VERSION=$(cat GOLANG_VERSION)" >> $GITHUB_ENV
diff --git a/.github/workflows/helm.yaml b/.github/workflows/helm.yaml
index af8d91e1f..e6383c682 100644
--- a/.github/workflows/helm.yaml
+++ b/.github/workflows/helm.yaml
@@ -25,7 +25,7 @@ jobs:
steps:
- name: Checkout
- uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633 # v4.1.2
+ uses: actions/checkout@1d96c772d19495a3b5c517cd2bc0cb401ea0529f # v4.1.3
- name: Run Artifact Hub lint
run: |
@@ -64,7 +64,7 @@ jobs:
steps:
- name: Checkout master
- uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633 # v4.1.2
+ uses: actions/checkout@1d96c772d19495a3b5c517cd2bc0cb401ea0529f # v4.1.3
with:
# Fetch entire history. Required for chart-releaser; see https://github.com/helm/chart-releaser-action/issues/13#issuecomment-602063896
fetch-depth: 0
diff --git a/.github/workflows/images.yaml b/.github/workflows/images.yaml
index 28bbf6692..3e9cbcbae 100644
--- a/.github/workflows/images.yaml
+++ b/.github/workflows/images.yaml
@@ -41,7 +41,7 @@ jobs:
steps:
- name: Checkout
- uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633 # v4.1.2
+ uses: actions/checkout@1d96c772d19495a3b5c517cd2bc0cb401ea0529f # v4.1.3
- uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
id: filter
with:
@@ -144,7 +144,7 @@ jobs:
k8s: [v1.26.14, v1.27.11, v1.28.7, v1.29.2]
steps:
- name: Checkout
- uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633 # v4.1.2
+ uses: actions/checkout@1d96c772d19495a3b5c517cd2bc0cb401ea0529f # v4.1.3
- name: Get go version
run: echo "GOLANG_VERSION=$(cat GOLANG_VERSION)" >> $GITHUB_ENV
@@ -178,7 +178,7 @@ jobs:
nginx: ['1.25.3', '1.21.6']
steps:
- name: Checkout
- uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633 # v4.1.2
+ uses: actions/checkout@1d96c772d19495a3b5c517cd2bc0cb401ea0529f # v4.1.3
- name: image build
run: |
cd images/opentelemetry && make NGINX_VERSION=${{ matrix.nginx }} build
@@ -195,7 +195,7 @@ jobs:
PLATFORMS: linux/amd64,linux/arm,linux/arm64,linux/s390x
steps:
- name: Checkout
- uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633 # v4.1.2
+ uses: actions/checkout@1d96c772d19495a3b5c517cd2bc0cb401ea0529f # v4.1.3
- name: Set up QEMU
uses: docker/setup-qemu-action@68827325e0b33c7199eb31dd4e31fbe9023e06e3 # v3.0.0
- name: Set up Docker Buildx
diff --git a/.github/workflows/perftest.yaml b/.github/workflows/perftest.yaml
index 3650e7263..87c828380 100644
--- a/.github/workflows/perftest.yaml
+++ b/.github/workflows/perftest.yaml
@@ -19,7 +19,7 @@ jobs:
steps:
- name: Checkout
- uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633 # v4.1.2
+ uses: actions/checkout@1d96c772d19495a3b5c517cd2bc0cb401ea0529f # v4.1.3
- name: Install K6
run: |
diff --git a/.github/workflows/plugin.yaml b/.github/workflows/plugin.yaml
index a074eaa5b..def284a39 100644
--- a/.github/workflows/plugin.yaml
+++ b/.github/workflows/plugin.yaml
@@ -12,7 +12,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout
- uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633 # v4.1.2
+ uses: actions/checkout@1d96c772d19495a3b5c517cd2bc0cb401ea0529f # v4.1.3
with:
fetch-depth: 0
diff --git a/.github/workflows/scorecards.yml b/.github/workflows/scorecards.yml
index d00db6ba3..e4a404ef8 100644
--- a/.github/workflows/scorecards.yml
+++ b/.github/workflows/scorecards.yml
@@ -27,7 +27,7 @@ jobs:
steps:
- name: "Checkout code"
- uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633 # v4.1.2
+ uses: actions/checkout@1d96c772d19495a3b5c517cd2bc0cb401ea0529f # v4.1.3
with:
persist-credentials: false
@@ -51,7 +51,7 @@ jobs:
# Upload the results as artifacts (optional). Commenting out will disable uploads of run results in SARIF
# format to the repository Actions tab.
- name: "Upload artifact"
- uses: actions/upload-artifact@5d5d22a31266ced268874388b861e4b58bb5c2f3 # v4.3.1
+ uses: actions/upload-artifact@1746f4ab65b179e0ea60a494b83293b640dd5bba # v4.3.2
with:
name: SARIF file
path: results.sarif
@@ -59,6 +59,6 @@ jobs:
# Upload the results to GitHub's code scanning dashboard.
- name: "Upload to code-scanning"
- uses: github/codeql-action/upload-sarif@4355270be187e1b672a7a1c7c7bae5afdc1ab94a # v3.24.10
+ uses: github/codeql-action/upload-sarif@c7f9125735019aa87cfc361530512d50ea439c71 # v3.25.1
with:
sarif_file: results.sarif
diff --git a/.github/workflows/vulnerability-scans.yaml b/.github/workflows/vulnerability-scans.yaml
index 3a34541a5..e0c1d838b 100644
--- a/.github/workflows/vulnerability-scans.yaml
+++ b/.github/workflows/vulnerability-scans.yaml
@@ -22,7 +22,7 @@ jobs:
versions: ${{ steps.version.outputs.TAGS }}
steps:
- name: Checkout code
- uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633 # v4.1.2
+ uses: actions/checkout@1d96c772d19495a3b5c517cd2bc0cb401ea0529f # v4.1.3
with:
fetch-depth: 0
@@ -52,7 +52,7 @@ jobs:
versions: ${{ fromJSON(needs.version.outputs.versions) }}
steps:
- name: Checkout code
- uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633 # v4.1.2
+ uses: actions/checkout@1d96c772d19495a3b5c517cd2bc0cb401ea0529f # v4.1.3
- shell: bash
id: test
@@ -75,7 +75,7 @@ jobs:
# This step checks out a copy of your repository.
- name: Upload SARIF file
- uses: github/codeql-action/upload-sarif@4355270be187e1b672a7a1c7c7bae5afdc1ab94a # v3.24.10
+ uses: github/codeql-action/upload-sarif@c7f9125735019aa87cfc361530512d50ea439c71 # v3.25.1
with:
token: ${{ github.token }}
# Path to SARIF file relative to the root of the repository
diff --git a/.github/workflows/zz-tmpl-images.yaml b/.github/workflows/zz-tmpl-images.yaml
index e8fa4f472..819a88cd4 100644
--- a/.github/workflows/zz-tmpl-images.yaml
+++ b/.github/workflows/zz-tmpl-images.yaml
@@ -31,7 +31,7 @@ jobs:
steps:
- name: Checkout
- uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633 # v4.1.2
+ uses: actions/checkout@1d96c772d19495a3b5c517cd2bc0cb401ea0529f # v4.1.3
- uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
id: filter
with:
@@ -48,7 +48,7 @@ jobs:
steps:
- name: Checkout
- uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633 # v4.1.2
+ uses: actions/checkout@1d96c772d19495a3b5c517cd2bc0cb401ea0529f # v4.1.3
- name: Build
run: |
@@ -67,7 +67,7 @@ jobs:
PLATFORMS: ${{ inputs.platforms-publish }}
steps:
- name: Checkout
- uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633 # v4.1.2
+ uses: actions/checkout@1d96c772d19495a3b5c517cd2bc0cb401ea0529f # v4.1.3
- name: Login to GitHub Container Registry
uses: docker/login-action@e92390c5fb421da1463c202d546fed0ec5c39f20 # v3.1.0
diff --git a/.github/workflows/zz-tmpl-k8s-e2e.yaml b/.github/workflows/zz-tmpl-k8s-e2e.yaml
index ad03bf0a1..ab2ec536a 100644
--- a/.github/workflows/zz-tmpl-k8s-e2e.yaml
+++ b/.github/workflows/zz-tmpl-k8s-e2e.yaml
@@ -20,10 +20,10 @@ jobs:
steps:
- name: Checkout
- uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633 # v4.1.2
+ uses: actions/checkout@1d96c772d19495a3b5c517cd2bc0cb401ea0529f # v4.1.3
- name: cache
- uses: actions/download-artifact@c850b930e6ba138125429b7e5c93fc707a7f8427 # v4.1.4
+ uses: actions/download-artifact@8caf195ad4b1dee92908e23f56eeb0696f1dd42d # v4.1.5
with:
name: docker.tar.gz
@@ -50,7 +50,7 @@ jobs:
make kind-e2e-test
- name: Upload e2e junit-reports ${{ inputs.variation }}
- uses: actions/upload-artifact@5d5d22a31266ced268874388b861e4b58bb5c2f3 # v4.3.1
+ uses: actions/upload-artifact@1746f4ab65b179e0ea60a494b83293b640dd5bba # v4.3.2
if: success() || failure()
with:
name: e2e-test-reports-${{ inputs.k8s-version }}${{ inputs.variation }}
From ce4f962a45ff6ad21f5dda4e435128f1d1d716eb Mon Sep 17 00:00:00 2001
From: k8s-infra-cherrypick-robot
<90416843+k8s-infra-cherrypick-robot@users.noreply.github.com>
Date: Tue, 23 Apr 2024 06:53:21 -0700
Subject: [PATCH 062/265] Release controller 1.10.1 (#11298)
Signed-off-by: James Strong
Co-authored-by: James Strong
---
README.md | 1 +
changelog/controller-1.10.1.md | 57 +++++++++++++++++++
deploy/static/provider/aws/deploy.yaml | 48 ++++++++--------
.../aws/nlb-with-tls-termination/deploy.yaml | 48 ++++++++--------
deploy/static/provider/baremetal/deploy.yaml | 48 ++++++++--------
deploy/static/provider/cloud/deploy.yaml | 48 ++++++++--------
deploy/static/provider/do/deploy.yaml | 48 ++++++++--------
deploy/static/provider/exoscale/deploy.yaml | 48 ++++++++--------
deploy/static/provider/kind/deploy.yaml | 48 ++++++++--------
deploy/static/provider/oracle/deploy.yaml | 48 ++++++++--------
deploy/static/provider/scw/deploy.yaml | 48 ++++++++--------
docs/deploy/index.md | 20 +++----
docs/e2e-tests.md | 4 ++
13 files changed, 288 insertions(+), 226 deletions(-)
create mode 100644 changelog/controller-1.10.1.md
diff --git a/README.md b/README.md
index 80725aa82..b0969fdbd 100644
--- a/README.md
+++ b/README.md
@@ -38,6 +38,7 @@ the versions listed. Ingress-Nginx versions **may** work on older versions, but
| Supported | Ingress-NGINX version | k8s supported version | Alpine Version | Nginx Version | Helm Chart Version |
|:--:|-----------------------|------------------------------|----------------|---------------|------------------------------|
+| 🔄 | **v1.10.1** | 1.29, 1.28, 1.27, 1.26 | 3.19.1 | 1.25.3 | 4.10.1* |
| 🔄 | **v1.10.0** | 1.29, 1.28, 1.27, 1.26 | 3.19.1 | 1.25.3 | 4.10.0* |
| 🔄 | **v1.9.6** | 1.29, 1.28, 1.27, 1.26, 1.25 | 3.19.0 | 1.21.6 | 4.9.1* |
| 🔄 | **v1.9.5** | 1.28, 1.27, 1.26, 1.25 | 3.18.4 | 1.21.6 | 4.9.0* |
diff --git a/changelog/controller-1.10.1.md b/changelog/controller-1.10.1.md
new file mode 100644
index 000000000..40fc321fa
--- /dev/null
+++ b/changelog/controller-1.10.1.md
@@ -0,0 +1,57 @@
+# Changelog
+
+### controller-v1.10.1
+
+Images:
+
+* registry.k8s.io/ingress-nginx/controller:v1.10.1@sha256:e24f39d3eed6bcc239a56f20098878845f62baa34b9f2be2fd2c38ce9fb0f29e
+* registry.k8s.io/ingress-nginx/controller-chroot:v1.10.1@sha256:c155954116b397163c88afcb3252462771bd7867017e8a17623e83601bab7ac7
+
+### All changes:
+
+* start 1.10.1 build (#11246)
+* force nginx rebuild (#11245)
+* update k8s version to latest kind release (#11241)
+* remove _ssl_expire_time_seconds metric by identifier (#11239)
+* update post submit helm ci and clean up (#11221)
+* Chart: Add unit tests for default backend & topology spread constraints. (#11219)
+* sort default backend hpa metrics (#11217)
+* updated certgen image shatag (#11216)
+* changed testrunner image sha (#11211)
+* bumped certgeimage tag (#11213)
+* updated baseimage & deleted a useless file (#11209)
+* bump ginkgo to 2-17-1 in testrunner (#11204)
+* chunking related faq update (#11205)
+* Fix-semver (#11199)
+* refactor helm ci tests part I (#11188)
+* Proposal: e2e tests for regex patterns (#11185)
+* bump ginkgo to v2.17.1 (#11186)
+* fixes brotli build issue (#11187)
+* fix geoip2 configuration docs (#11151)
+* Fix typos in OTel doc (#11081) (#11129)
+* Chart: Render `controller.ingressClassResource.parameters` natively. (#11126)
+* Fix admission controller logging of `admissionTime` and `testedConfigurationSize` (#11114)
+* Chart: Align HPA & KEDA conditions. (#11113)
+* Chart: Improve IngressClass documentation. (#11111)
+* Chart: Add Gacko to maintainers. Again. (#11112)
+* Chart: Deploy `PodDisruptionBudget` with KEDA. (#11105)
+* Chores: Pick patches from main. (#11103)
+
+### Dependency updates:
+
+* Bump google.golang.org/grpc from 1.63.0 to 1.63.2 (#11238)
+* Bump google.golang.org/grpc from 1.62.1 to 1.63.0 (#11234)
+* Bump github.com/prometheus/common from 0.51.1 to 0.52.2 (#11233)
+* Bump golang.org/x/crypto from 0.21.0 to 0.22.0 (#11232)
+* Bump github.com/prometheus/client_model in the all group (#11231)
+* Bump the all group with 3 updates (#11230)
+* Bump the all group with 2 updates (#11190)
+* Bump actions/add-to-project from 0.6.1 to 1.0.0 (#11189)
+* Bump the all group with 3 updates (#11166)
+* Bump github.com/prometheus/common from 0.50.0 to 0.51.1 (#11160)
+* Bump the all group with 4 updates (#11140)
+* Bump the all group with 1 update (#11136)
+* Bump google.golang.org/protobuf from 1.32.0 to 1.33.0 in /magefiles (#11127)
+* Bump google.golang.org/protobuf in /images/custom-error-pages/rootfs (#11128)
+* Bump google.golang.org/protobuf in /images/kube-webhook-certgen/rootfs (#11122)
+
diff --git a/deploy/static/provider/aws/deploy.yaml b/deploy/static/provider/aws/deploy.yaml
index 0e8356305..4b24f36c3 100644
--- a/deploy/static/provider/aws/deploy.yaml
+++ b/deploy/static/provider/aws/deploy.yaml
@@ -15,7 +15,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.0
+ app.kubernetes.io/version: 1.10.1
name: ingress-nginx
namespace: ingress-nginx
---
@@ -27,7 +27,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.0
+ app.kubernetes.io/version: 1.10.1
name: ingress-nginx-admission
namespace: ingress-nginx
---
@@ -39,7 +39,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.0
+ app.kubernetes.io/version: 1.10.1
name: ingress-nginx
namespace: ingress-nginx
rules:
@@ -129,7 +129,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.0
+ app.kubernetes.io/version: 1.10.1
name: ingress-nginx-admission
namespace: ingress-nginx
rules:
@@ -148,7 +148,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.0
+ app.kubernetes.io/version: 1.10.1
name: ingress-nginx
rules:
- apiGroups:
@@ -230,7 +230,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.0
+ app.kubernetes.io/version: 1.10.1
name: ingress-nginx-admission
rules:
- apiGroups:
@@ -249,7 +249,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.0
+ app.kubernetes.io/version: 1.10.1
name: ingress-nginx
namespace: ingress-nginx
roleRef:
@@ -269,7 +269,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.0
+ app.kubernetes.io/version: 1.10.1
name: ingress-nginx-admission
namespace: ingress-nginx
roleRef:
@@ -288,7 +288,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.0
+ app.kubernetes.io/version: 1.10.1
name: ingress-nginx
roleRef:
apiGroup: rbac.authorization.k8s.io
@@ -307,7 +307,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.0
+ app.kubernetes.io/version: 1.10.1
name: ingress-nginx-admission
roleRef:
apiGroup: rbac.authorization.k8s.io
@@ -328,7 +328,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.0
+ app.kubernetes.io/version: 1.10.1
name: ingress-nginx-controller
namespace: ingress-nginx
---
@@ -344,7 +344,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.0
+ app.kubernetes.io/version: 1.10.1
name: ingress-nginx-controller
namespace: ingress-nginx
spec:
@@ -377,7 +377,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.0
+ app.kubernetes.io/version: 1.10.1
name: ingress-nginx-controller-admission
namespace: ingress-nginx
spec:
@@ -400,7 +400,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.0
+ app.kubernetes.io/version: 1.10.1
name: ingress-nginx-controller
namespace: ingress-nginx
spec:
@@ -422,7 +422,7 @@ spec:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.0
+ app.kubernetes.io/version: 1.10.1
spec:
containers:
- args:
@@ -447,7 +447,7 @@ spec:
fieldPath: metadata.namespace
- name: LD_PRELOAD
value: /usr/local/lib/libmimalloc.so
- image: registry.k8s.io/ingress-nginx/controller:v1.10.0@sha256:42b3f0e5d0846876b1791cd3afeb5f1cbbe4259d6f35651dcc1b5c980925379c
+ image: registry.k8s.io/ingress-nginx/controller:v1.10.1@sha256:e24f39d3eed6bcc239a56f20098878845f62baa34b9f2be2fd2c38ce9fb0f29e
imagePullPolicy: IfNotPresent
lifecycle:
preStop:
@@ -523,7 +523,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.0
+ app.kubernetes.io/version: 1.10.1
name: ingress-nginx-admission-create
namespace: ingress-nginx
spec:
@@ -534,7 +534,7 @@ spec:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.0
+ app.kubernetes.io/version: 1.10.1
name: ingress-nginx-admission-create
spec:
containers:
@@ -548,7 +548,7 @@ spec:
valueFrom:
fieldRef:
fieldPath: metadata.namespace
- image: registry.k8s.io/ingress-nginx/kube-webhook-certgen:v1.4.0@sha256:44d1d0e9f19c63f58b380c5fddaca7cf22c7cee564adeff365225a5df5ef3334
+ image: registry.k8s.io/ingress-nginx/kube-webhook-certgen:v1.4.1@sha256:36d05b4077fb8e3d13663702fa337f124675ba8667cbd949c03a8e8ea6fa4366
imagePullPolicy: IfNotPresent
name: create
securityContext:
@@ -574,7 +574,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.0
+ app.kubernetes.io/version: 1.10.1
name: ingress-nginx-admission-patch
namespace: ingress-nginx
spec:
@@ -585,7 +585,7 @@ spec:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.0
+ app.kubernetes.io/version: 1.10.1
name: ingress-nginx-admission-patch
spec:
containers:
@@ -601,7 +601,7 @@ spec:
valueFrom:
fieldRef:
fieldPath: metadata.namespace
- image: registry.k8s.io/ingress-nginx/kube-webhook-certgen:v1.4.0@sha256:44d1d0e9f19c63f58b380c5fddaca7cf22c7cee564adeff365225a5df5ef3334
+ image: registry.k8s.io/ingress-nginx/kube-webhook-certgen:v1.4.1@sha256:36d05b4077fb8e3d13663702fa337f124675ba8667cbd949c03a8e8ea6fa4366
imagePullPolicy: IfNotPresent
name: patch
securityContext:
@@ -627,7 +627,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.0
+ app.kubernetes.io/version: 1.10.1
name: nginx
spec:
controller: k8s.io/ingress-nginx
@@ -640,7 +640,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.0
+ app.kubernetes.io/version: 1.10.1
name: ingress-nginx-admission
webhooks:
- admissionReviewVersions:
diff --git a/deploy/static/provider/aws/nlb-with-tls-termination/deploy.yaml b/deploy/static/provider/aws/nlb-with-tls-termination/deploy.yaml
index 5c12ba3b9..4f37dd89b 100644
--- a/deploy/static/provider/aws/nlb-with-tls-termination/deploy.yaml
+++ b/deploy/static/provider/aws/nlb-with-tls-termination/deploy.yaml
@@ -15,7 +15,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.0
+ app.kubernetes.io/version: 1.10.1
name: ingress-nginx
namespace: ingress-nginx
---
@@ -27,7 +27,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.0
+ app.kubernetes.io/version: 1.10.1
name: ingress-nginx-admission
namespace: ingress-nginx
---
@@ -39,7 +39,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.0
+ app.kubernetes.io/version: 1.10.1
name: ingress-nginx
namespace: ingress-nginx
rules:
@@ -129,7 +129,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.0
+ app.kubernetes.io/version: 1.10.1
name: ingress-nginx-admission
namespace: ingress-nginx
rules:
@@ -148,7 +148,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.0
+ app.kubernetes.io/version: 1.10.1
name: ingress-nginx
rules:
- apiGroups:
@@ -230,7 +230,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.0
+ app.kubernetes.io/version: 1.10.1
name: ingress-nginx-admission
rules:
- apiGroups:
@@ -249,7 +249,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.0
+ app.kubernetes.io/version: 1.10.1
name: ingress-nginx
namespace: ingress-nginx
roleRef:
@@ -269,7 +269,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.0
+ app.kubernetes.io/version: 1.10.1
name: ingress-nginx-admission
namespace: ingress-nginx
roleRef:
@@ -288,7 +288,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.0
+ app.kubernetes.io/version: 1.10.1
name: ingress-nginx
roleRef:
apiGroup: rbac.authorization.k8s.io
@@ -307,7 +307,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.0
+ app.kubernetes.io/version: 1.10.1
name: ingress-nginx-admission
roleRef:
apiGroup: rbac.authorization.k8s.io
@@ -335,7 +335,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.0
+ app.kubernetes.io/version: 1.10.1
name: ingress-nginx-controller
namespace: ingress-nginx
---
@@ -353,7 +353,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.0
+ app.kubernetes.io/version: 1.10.1
name: ingress-nginx-controller
namespace: ingress-nginx
spec:
@@ -386,7 +386,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.0
+ app.kubernetes.io/version: 1.10.1
name: ingress-nginx-controller-admission
namespace: ingress-nginx
spec:
@@ -409,7 +409,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.0
+ app.kubernetes.io/version: 1.10.1
name: ingress-nginx-controller
namespace: ingress-nginx
spec:
@@ -431,7 +431,7 @@ spec:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.0
+ app.kubernetes.io/version: 1.10.1
spec:
containers:
- args:
@@ -456,7 +456,7 @@ spec:
fieldPath: metadata.namespace
- name: LD_PRELOAD
value: /usr/local/lib/libmimalloc.so
- image: registry.k8s.io/ingress-nginx/controller:v1.10.0@sha256:42b3f0e5d0846876b1791cd3afeb5f1cbbe4259d6f35651dcc1b5c980925379c
+ image: registry.k8s.io/ingress-nginx/controller:v1.10.1@sha256:e24f39d3eed6bcc239a56f20098878845f62baa34b9f2be2fd2c38ce9fb0f29e
imagePullPolicy: IfNotPresent
lifecycle:
preStop:
@@ -535,7 +535,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.0
+ app.kubernetes.io/version: 1.10.1
name: ingress-nginx-admission-create
namespace: ingress-nginx
spec:
@@ -546,7 +546,7 @@ spec:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.0
+ app.kubernetes.io/version: 1.10.1
name: ingress-nginx-admission-create
spec:
containers:
@@ -560,7 +560,7 @@ spec:
valueFrom:
fieldRef:
fieldPath: metadata.namespace
- image: registry.k8s.io/ingress-nginx/kube-webhook-certgen:v1.4.0@sha256:44d1d0e9f19c63f58b380c5fddaca7cf22c7cee564adeff365225a5df5ef3334
+ image: registry.k8s.io/ingress-nginx/kube-webhook-certgen:v1.4.1@sha256:36d05b4077fb8e3d13663702fa337f124675ba8667cbd949c03a8e8ea6fa4366
imagePullPolicy: IfNotPresent
name: create
securityContext:
@@ -586,7 +586,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.0
+ app.kubernetes.io/version: 1.10.1
name: ingress-nginx-admission-patch
namespace: ingress-nginx
spec:
@@ -597,7 +597,7 @@ spec:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.0
+ app.kubernetes.io/version: 1.10.1
name: ingress-nginx-admission-patch
spec:
containers:
@@ -613,7 +613,7 @@ spec:
valueFrom:
fieldRef:
fieldPath: metadata.namespace
- image: registry.k8s.io/ingress-nginx/kube-webhook-certgen:v1.4.0@sha256:44d1d0e9f19c63f58b380c5fddaca7cf22c7cee564adeff365225a5df5ef3334
+ image: registry.k8s.io/ingress-nginx/kube-webhook-certgen:v1.4.1@sha256:36d05b4077fb8e3d13663702fa337f124675ba8667cbd949c03a8e8ea6fa4366
imagePullPolicy: IfNotPresent
name: patch
securityContext:
@@ -639,7 +639,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.0
+ app.kubernetes.io/version: 1.10.1
name: nginx
spec:
controller: k8s.io/ingress-nginx
@@ -652,7 +652,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.0
+ app.kubernetes.io/version: 1.10.1
name: ingress-nginx-admission
webhooks:
- admissionReviewVersions:
diff --git a/deploy/static/provider/baremetal/deploy.yaml b/deploy/static/provider/baremetal/deploy.yaml
index b513fa97f..6e2ab95b7 100644
--- a/deploy/static/provider/baremetal/deploy.yaml
+++ b/deploy/static/provider/baremetal/deploy.yaml
@@ -15,7 +15,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.0
+ app.kubernetes.io/version: 1.10.1
name: ingress-nginx
namespace: ingress-nginx
---
@@ -27,7 +27,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.0
+ app.kubernetes.io/version: 1.10.1
name: ingress-nginx-admission
namespace: ingress-nginx
---
@@ -39,7 +39,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.0
+ app.kubernetes.io/version: 1.10.1
name: ingress-nginx
namespace: ingress-nginx
rules:
@@ -129,7 +129,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.0
+ app.kubernetes.io/version: 1.10.1
name: ingress-nginx-admission
namespace: ingress-nginx
rules:
@@ -148,7 +148,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.0
+ app.kubernetes.io/version: 1.10.1
name: ingress-nginx
rules:
- apiGroups:
@@ -230,7 +230,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.0
+ app.kubernetes.io/version: 1.10.1
name: ingress-nginx-admission
rules:
- apiGroups:
@@ -249,7 +249,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.0
+ app.kubernetes.io/version: 1.10.1
name: ingress-nginx
namespace: ingress-nginx
roleRef:
@@ -269,7 +269,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.0
+ app.kubernetes.io/version: 1.10.1
name: ingress-nginx-admission
namespace: ingress-nginx
roleRef:
@@ -288,7 +288,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.0
+ app.kubernetes.io/version: 1.10.1
name: ingress-nginx
roleRef:
apiGroup: rbac.authorization.k8s.io
@@ -307,7 +307,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.0
+ app.kubernetes.io/version: 1.10.1
name: ingress-nginx-admission
roleRef:
apiGroup: rbac.authorization.k8s.io
@@ -328,7 +328,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.0
+ app.kubernetes.io/version: 1.10.1
name: ingress-nginx-controller
namespace: ingress-nginx
---
@@ -340,7 +340,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.0
+ app.kubernetes.io/version: 1.10.1
name: ingress-nginx-controller
namespace: ingress-nginx
spec:
@@ -372,7 +372,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.0
+ app.kubernetes.io/version: 1.10.1
name: ingress-nginx-controller-admission
namespace: ingress-nginx
spec:
@@ -395,7 +395,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.0
+ app.kubernetes.io/version: 1.10.1
name: ingress-nginx-controller
namespace: ingress-nginx
spec:
@@ -417,7 +417,7 @@ spec:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.0
+ app.kubernetes.io/version: 1.10.1
spec:
containers:
- args:
@@ -441,7 +441,7 @@ spec:
fieldPath: metadata.namespace
- name: LD_PRELOAD
value: /usr/local/lib/libmimalloc.so
- image: registry.k8s.io/ingress-nginx/controller:v1.10.0@sha256:42b3f0e5d0846876b1791cd3afeb5f1cbbe4259d6f35651dcc1b5c980925379c
+ image: registry.k8s.io/ingress-nginx/controller:v1.10.1@sha256:e24f39d3eed6bcc239a56f20098878845f62baa34b9f2be2fd2c38ce9fb0f29e
imagePullPolicy: IfNotPresent
lifecycle:
preStop:
@@ -517,7 +517,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.0
+ app.kubernetes.io/version: 1.10.1
name: ingress-nginx-admission-create
namespace: ingress-nginx
spec:
@@ -528,7 +528,7 @@ spec:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.0
+ app.kubernetes.io/version: 1.10.1
name: ingress-nginx-admission-create
spec:
containers:
@@ -542,7 +542,7 @@ spec:
valueFrom:
fieldRef:
fieldPath: metadata.namespace
- image: registry.k8s.io/ingress-nginx/kube-webhook-certgen:v1.4.0@sha256:44d1d0e9f19c63f58b380c5fddaca7cf22c7cee564adeff365225a5df5ef3334
+ image: registry.k8s.io/ingress-nginx/kube-webhook-certgen:v1.4.1@sha256:36d05b4077fb8e3d13663702fa337f124675ba8667cbd949c03a8e8ea6fa4366
imagePullPolicy: IfNotPresent
name: create
securityContext:
@@ -568,7 +568,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.0
+ app.kubernetes.io/version: 1.10.1
name: ingress-nginx-admission-patch
namespace: ingress-nginx
spec:
@@ -579,7 +579,7 @@ spec:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.0
+ app.kubernetes.io/version: 1.10.1
name: ingress-nginx-admission-patch
spec:
containers:
@@ -595,7 +595,7 @@ spec:
valueFrom:
fieldRef:
fieldPath: metadata.namespace
- image: registry.k8s.io/ingress-nginx/kube-webhook-certgen:v1.4.0@sha256:44d1d0e9f19c63f58b380c5fddaca7cf22c7cee564adeff365225a5df5ef3334
+ image: registry.k8s.io/ingress-nginx/kube-webhook-certgen:v1.4.1@sha256:36d05b4077fb8e3d13663702fa337f124675ba8667cbd949c03a8e8ea6fa4366
imagePullPolicy: IfNotPresent
name: patch
securityContext:
@@ -621,7 +621,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.0
+ app.kubernetes.io/version: 1.10.1
name: nginx
spec:
controller: k8s.io/ingress-nginx
@@ -634,7 +634,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.0
+ app.kubernetes.io/version: 1.10.1
name: ingress-nginx-admission
webhooks:
- admissionReviewVersions:
diff --git a/deploy/static/provider/cloud/deploy.yaml b/deploy/static/provider/cloud/deploy.yaml
index 147d76d5e..6164992df 100644
--- a/deploy/static/provider/cloud/deploy.yaml
+++ b/deploy/static/provider/cloud/deploy.yaml
@@ -15,7 +15,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.0
+ app.kubernetes.io/version: 1.10.1
name: ingress-nginx
namespace: ingress-nginx
---
@@ -27,7 +27,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.0
+ app.kubernetes.io/version: 1.10.1
name: ingress-nginx-admission
namespace: ingress-nginx
---
@@ -39,7 +39,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.0
+ app.kubernetes.io/version: 1.10.1
name: ingress-nginx
namespace: ingress-nginx
rules:
@@ -129,7 +129,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.0
+ app.kubernetes.io/version: 1.10.1
name: ingress-nginx-admission
namespace: ingress-nginx
rules:
@@ -148,7 +148,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.0
+ app.kubernetes.io/version: 1.10.1
name: ingress-nginx
rules:
- apiGroups:
@@ -230,7 +230,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.0
+ app.kubernetes.io/version: 1.10.1
name: ingress-nginx-admission
rules:
- apiGroups:
@@ -249,7 +249,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.0
+ app.kubernetes.io/version: 1.10.1
name: ingress-nginx
namespace: ingress-nginx
roleRef:
@@ -269,7 +269,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.0
+ app.kubernetes.io/version: 1.10.1
name: ingress-nginx-admission
namespace: ingress-nginx
roleRef:
@@ -288,7 +288,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.0
+ app.kubernetes.io/version: 1.10.1
name: ingress-nginx
roleRef:
apiGroup: rbac.authorization.k8s.io
@@ -307,7 +307,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.0
+ app.kubernetes.io/version: 1.10.1
name: ingress-nginx-admission
roleRef:
apiGroup: rbac.authorization.k8s.io
@@ -328,7 +328,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.0
+ app.kubernetes.io/version: 1.10.1
name: ingress-nginx-controller
namespace: ingress-nginx
---
@@ -340,7 +340,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.0
+ app.kubernetes.io/version: 1.10.1
name: ingress-nginx-controller
namespace: ingress-nginx
spec:
@@ -373,7 +373,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.0
+ app.kubernetes.io/version: 1.10.1
name: ingress-nginx-controller-admission
namespace: ingress-nginx
spec:
@@ -396,7 +396,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.0
+ app.kubernetes.io/version: 1.10.1
name: ingress-nginx-controller
namespace: ingress-nginx
spec:
@@ -418,7 +418,7 @@ spec:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.0
+ app.kubernetes.io/version: 1.10.1
spec:
containers:
- args:
@@ -443,7 +443,7 @@ spec:
fieldPath: metadata.namespace
- name: LD_PRELOAD
value: /usr/local/lib/libmimalloc.so
- image: registry.k8s.io/ingress-nginx/controller:v1.10.0@sha256:42b3f0e5d0846876b1791cd3afeb5f1cbbe4259d6f35651dcc1b5c980925379c
+ image: registry.k8s.io/ingress-nginx/controller:v1.10.1@sha256:e24f39d3eed6bcc239a56f20098878845f62baa34b9f2be2fd2c38ce9fb0f29e
imagePullPolicy: IfNotPresent
lifecycle:
preStop:
@@ -519,7 +519,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.0
+ app.kubernetes.io/version: 1.10.1
name: ingress-nginx-admission-create
namespace: ingress-nginx
spec:
@@ -530,7 +530,7 @@ spec:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.0
+ app.kubernetes.io/version: 1.10.1
name: ingress-nginx-admission-create
spec:
containers:
@@ -544,7 +544,7 @@ spec:
valueFrom:
fieldRef:
fieldPath: metadata.namespace
- image: registry.k8s.io/ingress-nginx/kube-webhook-certgen:v1.4.0@sha256:44d1d0e9f19c63f58b380c5fddaca7cf22c7cee564adeff365225a5df5ef3334
+ image: registry.k8s.io/ingress-nginx/kube-webhook-certgen:v1.4.1@sha256:36d05b4077fb8e3d13663702fa337f124675ba8667cbd949c03a8e8ea6fa4366
imagePullPolicy: IfNotPresent
name: create
securityContext:
@@ -570,7 +570,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.0
+ app.kubernetes.io/version: 1.10.1
name: ingress-nginx-admission-patch
namespace: ingress-nginx
spec:
@@ -581,7 +581,7 @@ spec:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.0
+ app.kubernetes.io/version: 1.10.1
name: ingress-nginx-admission-patch
spec:
containers:
@@ -597,7 +597,7 @@ spec:
valueFrom:
fieldRef:
fieldPath: metadata.namespace
- image: registry.k8s.io/ingress-nginx/kube-webhook-certgen:v1.4.0@sha256:44d1d0e9f19c63f58b380c5fddaca7cf22c7cee564adeff365225a5df5ef3334
+ image: registry.k8s.io/ingress-nginx/kube-webhook-certgen:v1.4.1@sha256:36d05b4077fb8e3d13663702fa337f124675ba8667cbd949c03a8e8ea6fa4366
imagePullPolicy: IfNotPresent
name: patch
securityContext:
@@ -623,7 +623,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.0
+ app.kubernetes.io/version: 1.10.1
name: nginx
spec:
controller: k8s.io/ingress-nginx
@@ -636,7 +636,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.0
+ app.kubernetes.io/version: 1.10.1
name: ingress-nginx-admission
webhooks:
- admissionReviewVersions:
diff --git a/deploy/static/provider/do/deploy.yaml b/deploy/static/provider/do/deploy.yaml
index 801b6d75c..53fef52bb 100644
--- a/deploy/static/provider/do/deploy.yaml
+++ b/deploy/static/provider/do/deploy.yaml
@@ -15,7 +15,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.0
+ app.kubernetes.io/version: 1.10.1
name: ingress-nginx
namespace: ingress-nginx
---
@@ -27,7 +27,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.0
+ app.kubernetes.io/version: 1.10.1
name: ingress-nginx-admission
namespace: ingress-nginx
---
@@ -39,7 +39,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.0
+ app.kubernetes.io/version: 1.10.1
name: ingress-nginx
namespace: ingress-nginx
rules:
@@ -129,7 +129,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.0
+ app.kubernetes.io/version: 1.10.1
name: ingress-nginx-admission
namespace: ingress-nginx
rules:
@@ -148,7 +148,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.0
+ app.kubernetes.io/version: 1.10.1
name: ingress-nginx
rules:
- apiGroups:
@@ -230,7 +230,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.0
+ app.kubernetes.io/version: 1.10.1
name: ingress-nginx-admission
rules:
- apiGroups:
@@ -249,7 +249,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.0
+ app.kubernetes.io/version: 1.10.1
name: ingress-nginx
namespace: ingress-nginx
roleRef:
@@ -269,7 +269,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.0
+ app.kubernetes.io/version: 1.10.1
name: ingress-nginx-admission
namespace: ingress-nginx
roleRef:
@@ -288,7 +288,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.0
+ app.kubernetes.io/version: 1.10.1
name: ingress-nginx
roleRef:
apiGroup: rbac.authorization.k8s.io
@@ -307,7 +307,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.0
+ app.kubernetes.io/version: 1.10.1
name: ingress-nginx-admission
roleRef:
apiGroup: rbac.authorization.k8s.io
@@ -329,7 +329,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.0
+ app.kubernetes.io/version: 1.10.1
name: ingress-nginx-controller
namespace: ingress-nginx
---
@@ -343,7 +343,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.0
+ app.kubernetes.io/version: 1.10.1
name: ingress-nginx-controller
namespace: ingress-nginx
spec:
@@ -376,7 +376,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.0
+ app.kubernetes.io/version: 1.10.1
name: ingress-nginx-controller-admission
namespace: ingress-nginx
spec:
@@ -399,7 +399,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.0
+ app.kubernetes.io/version: 1.10.1
name: ingress-nginx-controller
namespace: ingress-nginx
spec:
@@ -421,7 +421,7 @@ spec:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.0
+ app.kubernetes.io/version: 1.10.1
spec:
containers:
- args:
@@ -446,7 +446,7 @@ spec:
fieldPath: metadata.namespace
- name: LD_PRELOAD
value: /usr/local/lib/libmimalloc.so
- image: registry.k8s.io/ingress-nginx/controller:v1.10.0@sha256:42b3f0e5d0846876b1791cd3afeb5f1cbbe4259d6f35651dcc1b5c980925379c
+ image: registry.k8s.io/ingress-nginx/controller:v1.10.1@sha256:e24f39d3eed6bcc239a56f20098878845f62baa34b9f2be2fd2c38ce9fb0f29e
imagePullPolicy: IfNotPresent
lifecycle:
preStop:
@@ -522,7 +522,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.0
+ app.kubernetes.io/version: 1.10.1
name: ingress-nginx-admission-create
namespace: ingress-nginx
spec:
@@ -533,7 +533,7 @@ spec:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.0
+ app.kubernetes.io/version: 1.10.1
name: ingress-nginx-admission-create
spec:
containers:
@@ -547,7 +547,7 @@ spec:
valueFrom:
fieldRef:
fieldPath: metadata.namespace
- image: registry.k8s.io/ingress-nginx/kube-webhook-certgen:v1.4.0@sha256:44d1d0e9f19c63f58b380c5fddaca7cf22c7cee564adeff365225a5df5ef3334
+ image: registry.k8s.io/ingress-nginx/kube-webhook-certgen:v1.4.1@sha256:36d05b4077fb8e3d13663702fa337f124675ba8667cbd949c03a8e8ea6fa4366
imagePullPolicy: IfNotPresent
name: create
securityContext:
@@ -573,7 +573,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.0
+ app.kubernetes.io/version: 1.10.1
name: ingress-nginx-admission-patch
namespace: ingress-nginx
spec:
@@ -584,7 +584,7 @@ spec:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.0
+ app.kubernetes.io/version: 1.10.1
name: ingress-nginx-admission-patch
spec:
containers:
@@ -600,7 +600,7 @@ spec:
valueFrom:
fieldRef:
fieldPath: metadata.namespace
- image: registry.k8s.io/ingress-nginx/kube-webhook-certgen:v1.4.0@sha256:44d1d0e9f19c63f58b380c5fddaca7cf22c7cee564adeff365225a5df5ef3334
+ image: registry.k8s.io/ingress-nginx/kube-webhook-certgen:v1.4.1@sha256:36d05b4077fb8e3d13663702fa337f124675ba8667cbd949c03a8e8ea6fa4366
imagePullPolicy: IfNotPresent
name: patch
securityContext:
@@ -626,7 +626,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.0
+ app.kubernetes.io/version: 1.10.1
name: nginx
spec:
controller: k8s.io/ingress-nginx
@@ -639,7 +639,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.0
+ app.kubernetes.io/version: 1.10.1
name: ingress-nginx-admission
webhooks:
- admissionReviewVersions:
diff --git a/deploy/static/provider/exoscale/deploy.yaml b/deploy/static/provider/exoscale/deploy.yaml
index 79d945a53..26c28258a 100644
--- a/deploy/static/provider/exoscale/deploy.yaml
+++ b/deploy/static/provider/exoscale/deploy.yaml
@@ -15,7 +15,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.0
+ app.kubernetes.io/version: 1.10.1
name: ingress-nginx
namespace: ingress-nginx
---
@@ -27,7 +27,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.0
+ app.kubernetes.io/version: 1.10.1
name: ingress-nginx-admission
namespace: ingress-nginx
---
@@ -39,7 +39,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.0
+ app.kubernetes.io/version: 1.10.1
name: ingress-nginx
namespace: ingress-nginx
rules:
@@ -129,7 +129,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.0
+ app.kubernetes.io/version: 1.10.1
name: ingress-nginx-admission
namespace: ingress-nginx
rules:
@@ -148,7 +148,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.0
+ app.kubernetes.io/version: 1.10.1
name: ingress-nginx
rules:
- apiGroups:
@@ -230,7 +230,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.0
+ app.kubernetes.io/version: 1.10.1
name: ingress-nginx-admission
rules:
- apiGroups:
@@ -249,7 +249,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.0
+ app.kubernetes.io/version: 1.10.1
name: ingress-nginx
namespace: ingress-nginx
roleRef:
@@ -269,7 +269,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.0
+ app.kubernetes.io/version: 1.10.1
name: ingress-nginx-admission
namespace: ingress-nginx
roleRef:
@@ -288,7 +288,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.0
+ app.kubernetes.io/version: 1.10.1
name: ingress-nginx
roleRef:
apiGroup: rbac.authorization.k8s.io
@@ -307,7 +307,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.0
+ app.kubernetes.io/version: 1.10.1
name: ingress-nginx-admission
roleRef:
apiGroup: rbac.authorization.k8s.io
@@ -328,7 +328,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.0
+ app.kubernetes.io/version: 1.10.1
name: ingress-nginx-controller
namespace: ingress-nginx
---
@@ -349,7 +349,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.0
+ app.kubernetes.io/version: 1.10.1
name: ingress-nginx-controller
namespace: ingress-nginx
spec:
@@ -382,7 +382,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.0
+ app.kubernetes.io/version: 1.10.1
name: ingress-nginx-controller-admission
namespace: ingress-nginx
spec:
@@ -405,7 +405,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.0
+ app.kubernetes.io/version: 1.10.1
name: ingress-nginx-controller
namespace: ingress-nginx
spec:
@@ -423,7 +423,7 @@ spec:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.0
+ app.kubernetes.io/version: 1.10.1
spec:
containers:
- args:
@@ -448,7 +448,7 @@ spec:
fieldPath: metadata.namespace
- name: LD_PRELOAD
value: /usr/local/lib/libmimalloc.so
- image: registry.k8s.io/ingress-nginx/controller:v1.10.0@sha256:42b3f0e5d0846876b1791cd3afeb5f1cbbe4259d6f35651dcc1b5c980925379c
+ image: registry.k8s.io/ingress-nginx/controller:v1.10.1@sha256:e24f39d3eed6bcc239a56f20098878845f62baa34b9f2be2fd2c38ce9fb0f29e
imagePullPolicy: IfNotPresent
lifecycle:
preStop:
@@ -528,7 +528,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.0
+ app.kubernetes.io/version: 1.10.1
name: ingress-nginx-admission-create
namespace: ingress-nginx
spec:
@@ -539,7 +539,7 @@ spec:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.0
+ app.kubernetes.io/version: 1.10.1
name: ingress-nginx-admission-create
spec:
containers:
@@ -553,7 +553,7 @@ spec:
valueFrom:
fieldRef:
fieldPath: metadata.namespace
- image: registry.k8s.io/ingress-nginx/kube-webhook-certgen:v1.4.0@sha256:44d1d0e9f19c63f58b380c5fddaca7cf22c7cee564adeff365225a5df5ef3334
+ image: registry.k8s.io/ingress-nginx/kube-webhook-certgen:v1.4.1@sha256:36d05b4077fb8e3d13663702fa337f124675ba8667cbd949c03a8e8ea6fa4366
imagePullPolicy: IfNotPresent
name: create
securityContext:
@@ -579,7 +579,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.0
+ app.kubernetes.io/version: 1.10.1
name: ingress-nginx-admission-patch
namespace: ingress-nginx
spec:
@@ -590,7 +590,7 @@ spec:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.0
+ app.kubernetes.io/version: 1.10.1
name: ingress-nginx-admission-patch
spec:
containers:
@@ -606,7 +606,7 @@ spec:
valueFrom:
fieldRef:
fieldPath: metadata.namespace
- image: registry.k8s.io/ingress-nginx/kube-webhook-certgen:v1.4.0@sha256:44d1d0e9f19c63f58b380c5fddaca7cf22c7cee564adeff365225a5df5ef3334
+ image: registry.k8s.io/ingress-nginx/kube-webhook-certgen:v1.4.1@sha256:36d05b4077fb8e3d13663702fa337f124675ba8667cbd949c03a8e8ea6fa4366
imagePullPolicy: IfNotPresent
name: patch
securityContext:
@@ -632,7 +632,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.0
+ app.kubernetes.io/version: 1.10.1
name: nginx
spec:
controller: k8s.io/ingress-nginx
@@ -645,7 +645,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.0
+ app.kubernetes.io/version: 1.10.1
name: ingress-nginx-admission
webhooks:
- admissionReviewVersions:
diff --git a/deploy/static/provider/kind/deploy.yaml b/deploy/static/provider/kind/deploy.yaml
index 4963253c1..d65e2cf39 100644
--- a/deploy/static/provider/kind/deploy.yaml
+++ b/deploy/static/provider/kind/deploy.yaml
@@ -15,7 +15,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.0
+ app.kubernetes.io/version: 1.10.1
name: ingress-nginx
namespace: ingress-nginx
---
@@ -27,7 +27,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.0
+ app.kubernetes.io/version: 1.10.1
name: ingress-nginx-admission
namespace: ingress-nginx
---
@@ -39,7 +39,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.0
+ app.kubernetes.io/version: 1.10.1
name: ingress-nginx
namespace: ingress-nginx
rules:
@@ -129,7 +129,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.0
+ app.kubernetes.io/version: 1.10.1
name: ingress-nginx-admission
namespace: ingress-nginx
rules:
@@ -148,7 +148,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.0
+ app.kubernetes.io/version: 1.10.1
name: ingress-nginx
rules:
- apiGroups:
@@ -230,7 +230,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.0
+ app.kubernetes.io/version: 1.10.1
name: ingress-nginx-admission
rules:
- apiGroups:
@@ -249,7 +249,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.0
+ app.kubernetes.io/version: 1.10.1
name: ingress-nginx
namespace: ingress-nginx
roleRef:
@@ -269,7 +269,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.0
+ app.kubernetes.io/version: 1.10.1
name: ingress-nginx-admission
namespace: ingress-nginx
roleRef:
@@ -288,7 +288,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.0
+ app.kubernetes.io/version: 1.10.1
name: ingress-nginx
roleRef:
apiGroup: rbac.authorization.k8s.io
@@ -307,7 +307,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.0
+ app.kubernetes.io/version: 1.10.1
name: ingress-nginx-admission
roleRef:
apiGroup: rbac.authorization.k8s.io
@@ -328,7 +328,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.0
+ app.kubernetes.io/version: 1.10.1
name: ingress-nginx-controller
namespace: ingress-nginx
---
@@ -340,7 +340,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.0
+ app.kubernetes.io/version: 1.10.1
name: ingress-nginx-controller
namespace: ingress-nginx
spec:
@@ -372,7 +372,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.0
+ app.kubernetes.io/version: 1.10.1
name: ingress-nginx-controller-admission
namespace: ingress-nginx
spec:
@@ -395,7 +395,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.0
+ app.kubernetes.io/version: 1.10.1
name: ingress-nginx-controller
namespace: ingress-nginx
spec:
@@ -417,7 +417,7 @@ spec:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.0
+ app.kubernetes.io/version: 1.10.1
spec:
containers:
- args:
@@ -443,7 +443,7 @@ spec:
fieldPath: metadata.namespace
- name: LD_PRELOAD
value: /usr/local/lib/libmimalloc.so
- image: registry.k8s.io/ingress-nginx/controller:v1.10.0@sha256:42b3f0e5d0846876b1791cd3afeb5f1cbbe4259d6f35651dcc1b5c980925379c
+ image: registry.k8s.io/ingress-nginx/controller:v1.10.1@sha256:e24f39d3eed6bcc239a56f20098878845f62baa34b9f2be2fd2c38ce9fb0f29e
imagePullPolicy: IfNotPresent
lifecycle:
preStop:
@@ -529,7 +529,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.0
+ app.kubernetes.io/version: 1.10.1
name: ingress-nginx-admission-create
namespace: ingress-nginx
spec:
@@ -540,7 +540,7 @@ spec:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.0
+ app.kubernetes.io/version: 1.10.1
name: ingress-nginx-admission-create
spec:
containers:
@@ -554,7 +554,7 @@ spec:
valueFrom:
fieldRef:
fieldPath: metadata.namespace
- image: registry.k8s.io/ingress-nginx/kube-webhook-certgen:v1.4.0@sha256:44d1d0e9f19c63f58b380c5fddaca7cf22c7cee564adeff365225a5df5ef3334
+ image: registry.k8s.io/ingress-nginx/kube-webhook-certgen:v1.4.1@sha256:36d05b4077fb8e3d13663702fa337f124675ba8667cbd949c03a8e8ea6fa4366
imagePullPolicy: IfNotPresent
name: create
securityContext:
@@ -580,7 +580,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.0
+ app.kubernetes.io/version: 1.10.1
name: ingress-nginx-admission-patch
namespace: ingress-nginx
spec:
@@ -591,7 +591,7 @@ spec:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.0
+ app.kubernetes.io/version: 1.10.1
name: ingress-nginx-admission-patch
spec:
containers:
@@ -607,7 +607,7 @@ spec:
valueFrom:
fieldRef:
fieldPath: metadata.namespace
- image: registry.k8s.io/ingress-nginx/kube-webhook-certgen:v1.4.0@sha256:44d1d0e9f19c63f58b380c5fddaca7cf22c7cee564adeff365225a5df5ef3334
+ image: registry.k8s.io/ingress-nginx/kube-webhook-certgen:v1.4.1@sha256:36d05b4077fb8e3d13663702fa337f124675ba8667cbd949c03a8e8ea6fa4366
imagePullPolicy: IfNotPresent
name: patch
securityContext:
@@ -633,7 +633,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.0
+ app.kubernetes.io/version: 1.10.1
name: nginx
spec:
controller: k8s.io/ingress-nginx
@@ -646,7 +646,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.0
+ app.kubernetes.io/version: 1.10.1
name: ingress-nginx-admission
webhooks:
- admissionReviewVersions:
diff --git a/deploy/static/provider/oracle/deploy.yaml b/deploy/static/provider/oracle/deploy.yaml
index 080c206a5..fd66689e6 100644
--- a/deploy/static/provider/oracle/deploy.yaml
+++ b/deploy/static/provider/oracle/deploy.yaml
@@ -15,7 +15,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.0
+ app.kubernetes.io/version: 1.10.1
name: ingress-nginx
namespace: ingress-nginx
---
@@ -27,7 +27,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.0
+ app.kubernetes.io/version: 1.10.1
name: ingress-nginx-admission
namespace: ingress-nginx
---
@@ -39,7 +39,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.0
+ app.kubernetes.io/version: 1.10.1
name: ingress-nginx
namespace: ingress-nginx
rules:
@@ -129,7 +129,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.0
+ app.kubernetes.io/version: 1.10.1
name: ingress-nginx-admission
namespace: ingress-nginx
rules:
@@ -148,7 +148,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.0
+ app.kubernetes.io/version: 1.10.1
name: ingress-nginx
rules:
- apiGroups:
@@ -230,7 +230,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.0
+ app.kubernetes.io/version: 1.10.1
name: ingress-nginx-admission
rules:
- apiGroups:
@@ -249,7 +249,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.0
+ app.kubernetes.io/version: 1.10.1
name: ingress-nginx
namespace: ingress-nginx
roleRef:
@@ -269,7 +269,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.0
+ app.kubernetes.io/version: 1.10.1
name: ingress-nginx-admission
namespace: ingress-nginx
roleRef:
@@ -288,7 +288,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.0
+ app.kubernetes.io/version: 1.10.1
name: ingress-nginx
roleRef:
apiGroup: rbac.authorization.k8s.io
@@ -307,7 +307,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.0
+ app.kubernetes.io/version: 1.10.1
name: ingress-nginx-admission
roleRef:
apiGroup: rbac.authorization.k8s.io
@@ -328,7 +328,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.0
+ app.kubernetes.io/version: 1.10.1
name: ingress-nginx-controller
namespace: ingress-nginx
---
@@ -344,7 +344,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.0
+ app.kubernetes.io/version: 1.10.1
name: ingress-nginx-controller
namespace: ingress-nginx
spec:
@@ -377,7 +377,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.0
+ app.kubernetes.io/version: 1.10.1
name: ingress-nginx-controller-admission
namespace: ingress-nginx
spec:
@@ -400,7 +400,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.0
+ app.kubernetes.io/version: 1.10.1
name: ingress-nginx-controller
namespace: ingress-nginx
spec:
@@ -422,7 +422,7 @@ spec:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.0
+ app.kubernetes.io/version: 1.10.1
spec:
containers:
- args:
@@ -447,7 +447,7 @@ spec:
fieldPath: metadata.namespace
- name: LD_PRELOAD
value: /usr/local/lib/libmimalloc.so
- image: registry.k8s.io/ingress-nginx/controller:v1.10.0@sha256:42b3f0e5d0846876b1791cd3afeb5f1cbbe4259d6f35651dcc1b5c980925379c
+ image: registry.k8s.io/ingress-nginx/controller:v1.10.1@sha256:e24f39d3eed6bcc239a56f20098878845f62baa34b9f2be2fd2c38ce9fb0f29e
imagePullPolicy: IfNotPresent
lifecycle:
preStop:
@@ -523,7 +523,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.0
+ app.kubernetes.io/version: 1.10.1
name: ingress-nginx-admission-create
namespace: ingress-nginx
spec:
@@ -534,7 +534,7 @@ spec:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.0
+ app.kubernetes.io/version: 1.10.1
name: ingress-nginx-admission-create
spec:
containers:
@@ -548,7 +548,7 @@ spec:
valueFrom:
fieldRef:
fieldPath: metadata.namespace
- image: registry.k8s.io/ingress-nginx/kube-webhook-certgen:v1.4.0@sha256:44d1d0e9f19c63f58b380c5fddaca7cf22c7cee564adeff365225a5df5ef3334
+ image: registry.k8s.io/ingress-nginx/kube-webhook-certgen:v1.4.1@sha256:36d05b4077fb8e3d13663702fa337f124675ba8667cbd949c03a8e8ea6fa4366
imagePullPolicy: IfNotPresent
name: create
securityContext:
@@ -574,7 +574,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.0
+ app.kubernetes.io/version: 1.10.1
name: ingress-nginx-admission-patch
namespace: ingress-nginx
spec:
@@ -585,7 +585,7 @@ spec:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.0
+ app.kubernetes.io/version: 1.10.1
name: ingress-nginx-admission-patch
spec:
containers:
@@ -601,7 +601,7 @@ spec:
valueFrom:
fieldRef:
fieldPath: metadata.namespace
- image: registry.k8s.io/ingress-nginx/kube-webhook-certgen:v1.4.0@sha256:44d1d0e9f19c63f58b380c5fddaca7cf22c7cee564adeff365225a5df5ef3334
+ image: registry.k8s.io/ingress-nginx/kube-webhook-certgen:v1.4.1@sha256:36d05b4077fb8e3d13663702fa337f124675ba8667cbd949c03a8e8ea6fa4366
imagePullPolicy: IfNotPresent
name: patch
securityContext:
@@ -627,7 +627,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.0
+ app.kubernetes.io/version: 1.10.1
name: nginx
spec:
controller: k8s.io/ingress-nginx
@@ -640,7 +640,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.0
+ app.kubernetes.io/version: 1.10.1
name: ingress-nginx-admission
webhooks:
- admissionReviewVersions:
diff --git a/deploy/static/provider/scw/deploy.yaml b/deploy/static/provider/scw/deploy.yaml
index d98955d80..fbd7a330e 100644
--- a/deploy/static/provider/scw/deploy.yaml
+++ b/deploy/static/provider/scw/deploy.yaml
@@ -15,7 +15,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.0
+ app.kubernetes.io/version: 1.10.1
name: ingress-nginx
namespace: ingress-nginx
---
@@ -27,7 +27,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.0
+ app.kubernetes.io/version: 1.10.1
name: ingress-nginx-admission
namespace: ingress-nginx
---
@@ -39,7 +39,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.0
+ app.kubernetes.io/version: 1.10.1
name: ingress-nginx
namespace: ingress-nginx
rules:
@@ -129,7 +129,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.0
+ app.kubernetes.io/version: 1.10.1
name: ingress-nginx-admission
namespace: ingress-nginx
rules:
@@ -148,7 +148,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.0
+ app.kubernetes.io/version: 1.10.1
name: ingress-nginx
rules:
- apiGroups:
@@ -230,7 +230,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.0
+ app.kubernetes.io/version: 1.10.1
name: ingress-nginx-admission
rules:
- apiGroups:
@@ -249,7 +249,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.0
+ app.kubernetes.io/version: 1.10.1
name: ingress-nginx
namespace: ingress-nginx
roleRef:
@@ -269,7 +269,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.0
+ app.kubernetes.io/version: 1.10.1
name: ingress-nginx-admission
namespace: ingress-nginx
roleRef:
@@ -288,7 +288,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.0
+ app.kubernetes.io/version: 1.10.1
name: ingress-nginx
roleRef:
apiGroup: rbac.authorization.k8s.io
@@ -307,7 +307,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.0
+ app.kubernetes.io/version: 1.10.1
name: ingress-nginx-admission
roleRef:
apiGroup: rbac.authorization.k8s.io
@@ -329,7 +329,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.0
+ app.kubernetes.io/version: 1.10.1
name: ingress-nginx-controller
namespace: ingress-nginx
---
@@ -343,7 +343,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.0
+ app.kubernetes.io/version: 1.10.1
name: ingress-nginx-controller
namespace: ingress-nginx
spec:
@@ -376,7 +376,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.0
+ app.kubernetes.io/version: 1.10.1
name: ingress-nginx-controller-admission
namespace: ingress-nginx
spec:
@@ -399,7 +399,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.0
+ app.kubernetes.io/version: 1.10.1
name: ingress-nginx-controller
namespace: ingress-nginx
spec:
@@ -421,7 +421,7 @@ spec:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.0
+ app.kubernetes.io/version: 1.10.1
spec:
containers:
- args:
@@ -446,7 +446,7 @@ spec:
fieldPath: metadata.namespace
- name: LD_PRELOAD
value: /usr/local/lib/libmimalloc.so
- image: registry.k8s.io/ingress-nginx/controller:v1.10.0@sha256:42b3f0e5d0846876b1791cd3afeb5f1cbbe4259d6f35651dcc1b5c980925379c
+ image: registry.k8s.io/ingress-nginx/controller:v1.10.1@sha256:e24f39d3eed6bcc239a56f20098878845f62baa34b9f2be2fd2c38ce9fb0f29e
imagePullPolicy: IfNotPresent
lifecycle:
preStop:
@@ -522,7 +522,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.0
+ app.kubernetes.io/version: 1.10.1
name: ingress-nginx-admission-create
namespace: ingress-nginx
spec:
@@ -533,7 +533,7 @@ spec:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.0
+ app.kubernetes.io/version: 1.10.1
name: ingress-nginx-admission-create
spec:
containers:
@@ -547,7 +547,7 @@ spec:
valueFrom:
fieldRef:
fieldPath: metadata.namespace
- image: registry.k8s.io/ingress-nginx/kube-webhook-certgen:v1.4.0@sha256:44d1d0e9f19c63f58b380c5fddaca7cf22c7cee564adeff365225a5df5ef3334
+ image: registry.k8s.io/ingress-nginx/kube-webhook-certgen:v1.4.1@sha256:36d05b4077fb8e3d13663702fa337f124675ba8667cbd949c03a8e8ea6fa4366
imagePullPolicy: IfNotPresent
name: create
securityContext:
@@ -573,7 +573,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.0
+ app.kubernetes.io/version: 1.10.1
name: ingress-nginx-admission-patch
namespace: ingress-nginx
spec:
@@ -584,7 +584,7 @@ spec:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.0
+ app.kubernetes.io/version: 1.10.1
name: ingress-nginx-admission-patch
spec:
containers:
@@ -600,7 +600,7 @@ spec:
valueFrom:
fieldRef:
fieldPath: metadata.namespace
- image: registry.k8s.io/ingress-nginx/kube-webhook-certgen:v1.4.0@sha256:44d1d0e9f19c63f58b380c5fddaca7cf22c7cee564adeff365225a5df5ef3334
+ image: registry.k8s.io/ingress-nginx/kube-webhook-certgen:v1.4.1@sha256:36d05b4077fb8e3d13663702fa337f124675ba8667cbd949c03a8e8ea6fa4366
imagePullPolicy: IfNotPresent
name: patch
securityContext:
@@ -626,7 +626,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.0
+ app.kubernetes.io/version: 1.10.1
name: nginx
spec:
controller: k8s.io/ingress-nginx
@@ -639,7 +639,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.0
+ app.kubernetes.io/version: 1.10.1
name: ingress-nginx-admission
webhooks:
- admissionReviewVersions:
diff --git a/docs/deploy/index.md b/docs/deploy/index.md
index 4e6b71235..7232b6ffd 100644
--- a/docs/deploy/index.md
+++ b/docs/deploy/index.md
@@ -68,7 +68,7 @@ helm show values ingress-nginx --repo https://kubernetes.github.io/ingress-nginx
**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.10.1/deploy/static/provider/cloud/deploy.yaml
```
!!! info
@@ -249,7 +249,7 @@ In AWS, we use a Network load balancer (NLB) to expose the Ingress-Nginx Control
##### 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.10.1/deploy/static/provider/aws/deploy.yaml
```
##### TLS termination in AWS Load Balancer (NLB)
@@ -257,10 +257,10 @@ kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/cont
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.10.1/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.10.1/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:
@@ -306,7 +306,7 @@ 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.10.1/deploy/static/provider/cloud/deploy.yaml
```
!!! warning
@@ -323,7 +323,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.10.1/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,7 +331,7 @@ 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.10.1/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.
@@ -339,7 +339,7 @@ kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/cont
#### 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.10.1/deploy/static/provider/scw/deploy.yaml
```
#### Exoscale
@@ -354,7 +354,7 @@ The full list of annotations supported by Exoscale is available in the Exoscale
#### 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.10.1/deploy/static/provider/cloud/deploy.yaml
```
A
@@ -381,7 +381,7 @@ For quick testing, you can use a
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.10.1/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),
diff --git a/docs/e2e-tests.md b/docs/e2e-tests.md
index b836fff6e..66664291b 100644
--- a/docs/e2e-tests.md
+++ b/docs/e2e-tests.md
@@ -295,6 +295,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)
From ad566939973801a6d204676d6ae479179bc81c65 Mon Sep 17 00:00:00 2001
From: k8s-infra-cherrypick-robot
<90416843+k8s-infra-cherrypick-robot@users.noreply.github.com>
Date: Tue, 23 Apr 2024 14:20:35 -0700
Subject: [PATCH 063/265] Bump github.com/prometheus/common from 0.52.3 to
0.53.0 (#11300)
Bumps [github.com/prometheus/common](https://github.com/prometheus/common) from 0.52.3 to 0.53.0.
- [Release notes](https://github.com/prometheus/common/releases)
- [Commits](https://github.com/prometheus/common/compare/v0.52.3...v0.53.0)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
---
go.mod | 2 +-
go.sum | 4 ++--
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/go.mod b/go.mod
index ffa2744b7..59b1e3e96 100644
--- a/go.mod
+++ b/go.mod
@@ -19,7 +19,7 @@ require (
github.com/pmezard/go-difflib v1.0.0
github.com/prometheus/client_golang v1.19.0
github.com/prometheus/client_model v0.6.1
- github.com/prometheus/common v0.52.3
+ github.com/prometheus/common v0.53.0
github.com/spf13/cobra v1.8.0
github.com/spf13/pflag v1.0.5
github.com/stretchr/testify v1.9.0
diff --git a/go.sum b/go.sum
index 65d5ec9b8..f96723aa4 100644
--- a/go.sum
+++ b/go.sum
@@ -323,8 +323,8 @@ github.com/prometheus/common v0.4.1/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y8
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.52.3 h1:5f8uj6ZwHSscOGNdIQg6OiZv/ybiK2CO2q2drVZAQSA=
-github.com/prometheus/common v0.52.3/go.mod h1:BrxBKv3FWBIGXw89Mg1AeBq7FSyRzXWI3l3e7W3RN5U=
+github.com/prometheus/common v0.53.0 h1:U2pL9w9nmJwJDa4qqLQ3ZaePJ6ZTwt7cMD3AG3+aLCE=
+github.com/prometheus/common v0.53.0/go.mod h1:BrxBKv3FWBIGXw89Mg1AeBq7FSyRzXWI3l3e7W3RN5U=
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=
From ae0715edfdae4a2c78d32245e180a971cb3fa41d Mon Sep 17 00:00:00 2001
From: k8s-infra-cherrypick-robot
<90416843+k8s-infra-cherrypick-robot@users.noreply.github.com>
Date: Tue, 23 Apr 2024 14:23:12 -0700
Subject: [PATCH 064/265] Bump k8s.io/component-base from 0.29.3 to 0.30.0
(#11301)
Bumps [k8s.io/component-base](https://github.com/kubernetes/component-base) from 0.29.3 to 0.30.0.
- [Commits](https://github.com/kubernetes/component-base/compare/v0.29.3...v0.30.0)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
---
go.mod | 12 +++++++-----
go.sum | 26 ++++++++++++++------------
2 files changed, 21 insertions(+), 17 deletions(-)
diff --git a/go.mod b/go.mod
index 59b1e3e96..9425e0af0 100644
--- a/go.mod
+++ b/go.mod
@@ -1,6 +1,7 @@
module k8s.io/ingress-nginx
go 1.21
+toolchain go1.22.2
require (
dario.cat/mergo v1.0.0
@@ -30,14 +31,14 @@ require (
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/api v0.30.0
k8s.io/apiextensions-apiserver v0.29.3
- k8s.io/apimachinery v0.29.3
+ k8s.io/apimachinery v0.30.0
k8s.io/apiserver v0.29.3
k8s.io/cli-runtime v0.29.3
- k8s.io/client-go v0.29.3
+ k8s.io/client-go v0.30.0
k8s.io/code-generator v0.29.3
- k8s.io/component-base v0.29.3
+ k8s.io/component-base v0.30.0
k8s.io/klog/v2 v2.120.1
pault.ag/go/sniff v0.0.0-20200207005214-cf7e4d167732
sigs.k8s.io/controller-runtime v0.17.3
@@ -121,7 +122,8 @@ require (
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/gengo/v2 v2.0.0-20240228010128-51d4e06bde70 // indirect
+ k8s.io/kube-openapi v0.0.0-20240228011516-70dd3763d340 // indirect
k8s.io/utils v0.0.0-20240102154912-e7106e64919e // indirect
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd // indirect
sigs.k8s.io/kustomize/api v0.16.0 // indirect
diff --git a/go.sum b/go.sum
index f96723aa4..b99859431 100644
--- a/go.sum
+++ b/go.sum
@@ -292,8 +292,8 @@ github.com/onsi/ginkgo/v2 v2.17.1 h1:V++EzdbhI4ZV4ev0UTIj0PzhzOcReJFyJaLjtSF55M8
github.com/onsi/ginkgo/v2 v2.17.1/go.mod h1:llBI3WDLL9Z6taip6f33H76YcWtJv+7R3HigUjbIBOs=
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/onsi/gomega v1.31.0 h1:54UJxxj6cPInHS3a35wm6BK/F9nHYueZ1NVujHDrnXE=
+github.com/onsi/gomega v1.31.0/go.mod h1:DW9aCi7U6Yi40wNVAvT6kzFnEVEI5n3DloYBiKiT6zk=
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/opencontainers/runtime-spec v1.2.0 h1:z97+pHb3uELt/yiAWD691HNHQIF07bE7dzrbT927iTk=
@@ -740,29 +740,31 @@ honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWh
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/api v0.30.0 h1:siWhRq7cNjy2iHssOB9SCGNCl2spiF1dO3dABqZ8niA=
+k8s.io/api v0.30.0/go.mod h1:OPlaYhoHs8EQ1ql0R/TsUgaRPhpKNxIMrKQfWUp8QSE=
k8s.io/apiextensions-apiserver v0.29.3 h1:9HF+EtZaVpFjStakF4yVufnXGPRppWFEQ87qnO91YeI=
k8s.io/apiextensions-apiserver v0.29.3/go.mod h1:po0XiY5scnpJfFizNGo6puNU6Fq6D70UJY2Cb2KwAVc=
-k8s.io/apimachinery v0.29.3 h1:2tbx+5L7RNvqJjn7RIuIKu9XTsIZ9Z5wX2G22XAa5EU=
-k8s.io/apimachinery v0.29.3/go.mod h1:hx/S4V2PNW4OMg3WizRrHutyB5la0iCUbZym+W0EQIU=
+k8s.io/apimachinery v0.30.0 h1:qxVPsyDM5XS96NIh9Oj6LavoVFYff/Pon9cZeDIkHHA=
+k8s.io/apimachinery v0.30.0/go.mod h1:iexa2somDaxdnj7bha06bhb43Zpa6eWH8N8dbqVjTUc=
k8s.io/apiserver v0.29.3 h1:xR7ELlJ/BZSr2n4CnD3lfA4gzFivh0wwfNfz9L0WZcE=
k8s.io/apiserver v0.29.3/go.mod h1:hrvXlwfRulbMbBgmWRQlFru2b/JySDpmzvQwwk4GUOs=
k8s.io/cli-runtime v0.29.3 h1:r68rephmmytoywkw2MyJ+CxjpasJDQY7AGc3XY2iv1k=
k8s.io/cli-runtime v0.29.3/go.mod h1:aqVUsk86/RhaGJwDhHXH0jcdqBrgdF3bZWk4Z9D4mkM=
-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/client-go v0.30.0 h1:sB1AGGlhY/o7KCyCEQ0bPWzYDL0pwOZO4vAtTSh/gJQ=
+k8s.io/client-go v0.30.0/go.mod h1:g7li5O5256qe6TYdAMyX/otJqMhIiGgTapdLchhmOaY=
k8s.io/code-generator v0.29.3 h1:m7E25/t9R9NvejspO2zBdyu+/Gl0Z5m7dCRc680KS14=
k8s.io/code-generator v0.29.3/go.mod h1:x47ofBhN4gxYFcxeKA1PYXeaPreAGaDN85Y/lNUsPoM=
-k8s.io/component-base v0.29.3 h1:Oq9/nddUxlnrCuuR2K/jp6aflVvc0uDvxMzAWxnGzAo=
-k8s.io/component-base v0.29.3/go.mod h1:Yuj33XXjuOk2BAaHsIGHhCKZQAgYKhqIxIjIr2UXYio=
+k8s.io/component-base v0.30.0 h1:cj6bp38g0ainlfYtaOQuRELh5KSYjhKxM+io7AUIk4o=
+k8s.io/component-base v0.30.0/go.mod h1:V9x/0ePFNaKeKYA3bOvIbrNoluTSG+fSJKjLdjOoeXQ=
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/gengo/v2 v2.0.0-20240228010128-51d4e06bde70 h1:NGrVE502P0s0/1hudf8zjgwki1X/TByhmAoILTarmzo=
+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.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/kube-openapi v0.0.0-20240228011516-70dd3763d340 h1:BZqlfIlq5YbRMFko6/PM7FjZpUb45WallggurYhKGag=
+k8s.io/kube-openapi v0.0.0-20240228011516-70dd3763d340/go.mod h1:yD4MZYeKMBwQKVht279WycxKyM84kkAx2DPrTXaeb98=
k8s.io/utils v0.0.0-20240102154912-e7106e64919e h1:eQ/4ljkx21sObifjzXwlPKpdGLrCfRziVtos3ofG/sQ=
k8s.io/utils v0.0.0-20240102154912-e7106e64919e/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0=
pault.ag/go/sniff v0.0.0-20200207005214-cf7e4d167732 h1:SAElp8THCfmBdM+4lmWX5gebiSSkEr7PAYDVF91qpfg=
From 01443c06cb12353dda70442f4600c48f75092496 Mon Sep 17 00:00:00 2001
From: James Strong
Date: Wed, 24 Apr 2024 10:04:40 -0400
Subject: [PATCH 065/265] Revert "Merge pull request #11277 from
strongjz/chart-1.10.1"
This reverts commit 5ed84026fbaa0e3e5ca1a24148d72f9a6057c4e5, reversing
changes made to 427d275dce54c48d3cccaa974ad0a864c87a64cf.
---
charts/ingress-nginx/Chart.yaml | 18 ++++++++----------
charts/ingress-nginx/README.md | 8 ++++----
.../changelog/helm-chart-4.10.1.md | 11 -----------
charts/ingress-nginx/values.yaml | 6 +++---
4 files changed, 15 insertions(+), 28 deletions(-)
delete mode 100644 charts/ingress-nginx/changelog/helm-chart-4.10.1.md
diff --git a/charts/ingress-nginx/Chart.yaml b/charts/ingress-nginx/Chart.yaml
index 70344515e..f9bb890f8 100644
--- a/charts/ingress-nginx/Chart.yaml
+++ b/charts/ingress-nginx/Chart.yaml
@@ -1,11 +1,9 @@
annotations:
artifacthub.io/changes: |-
- - "update post submit helm ci and clean up (#11221)"
- - "refactor helm ci tests part I (#11188)"
- - "Update Ingress-Nginx version controller-v1.10.1"
+ - "Update Ingress-Nginx version controller-v1.10.0"
artifacthub.io/prerelease: "false"
apiVersion: v2
-appVersion: 1.10.1
+appVersion: 1.10.0
description: Ingress controller for Kubernetes using NGINX as a reverse proxy and
load balancer
home: https://github.com/kubernetes/ingress-nginx
@@ -15,11 +13,11 @@ keywords:
- nginx
kubeVersion: '>=1.21.0-0'
maintainers:
-- name: Gacko
-- name: rikatz
-- name: strongjz
-- name: tao12345666333
+ - name: Gacko
+ - name: rikatz
+ - name: strongjz
+ - name: tao12345666333
name: ingress-nginx
sources:
-- https://github.com/kubernetes/ingress-nginx
-version: 4.10.1
+ - https://github.com/kubernetes/ingress-nginx
+version: 4.10.0
diff --git a/charts/ingress-nginx/README.md b/charts/ingress-nginx/README.md
index 882a26f59..40900d422 100644
--- a/charts/ingress-nginx/README.md
+++ b/charts/ingress-nginx/README.md
@@ -2,7 +2,7 @@
[ingress-nginx](https://github.com/kubernetes/ingress-nginx) Ingress controller for Kubernetes using NGINX as a reverse proxy and load balancer
- 
+ 
To use, add `ingressClassName: nginx` spec field or the `kubernetes.io/ingress.class: nginx` annotation to your Ingress resources.
@@ -317,8 +317,8 @@ As of version `1.26.0` of this chart, by simply not providing any clusterIP valu
| controller.hostname | object | `{}` | Optionally customize the pod hostname. |
| controller.image.allowPrivilegeEscalation | bool | `false` | |
| controller.image.chroot | bool | `false` | |
-| controller.image.digest | string | `"sha256:e24f39d3eed6bcc239a56f20098878845f62baa34b9f2be2fd2c38ce9fb0f29e"` | |
-| controller.image.digestChroot | string | `"sha256:c155954116b397163c88afcb3252462771bd7867017e8a17623e83601bab7ac7"` | |
+| controller.image.digest | string | `"sha256:42b3f0e5d0846876b1791cd3afeb5f1cbbe4259d6f35651dcc1b5c980925379c"` | |
+| controller.image.digestChroot | string | `"sha256:7eb46ff733429e0e46892903c7394aff149ac6d284d92b3946f3baf7ff26a096"` | |
| controller.image.image | string | `"ingress-nginx/controller"` | |
| controller.image.pullPolicy | string | `"IfNotPresent"` | |
| controller.image.readOnlyRootFilesystem | bool | `false` | |
@@ -326,7 +326,7 @@ As of version `1.26.0` of this chart, by simply not providing any clusterIP valu
| controller.image.runAsNonRoot | bool | `true` | |
| controller.image.runAsUser | int | `101` | |
| controller.image.seccompProfile.type | string | `"RuntimeDefault"` | |
-| controller.image.tag | string | `"v1.10.1"` | |
+| controller.image.tag | string | `"v1.10.0"` | |
| controller.ingressClass | string | `"nginx"` | For backwards compatibility with ingress.class annotation, use ingressClass. Algorithm is as follows, first ingressClassName is considered, if not present, controller looks for ingress.class annotation |
| controller.ingressClassByName | bool | `false` | Process IngressClass per name (additionally as per spec.controller). |
| controller.ingressClassResource | object | `{"controllerValue":"k8s.io/ingress-nginx","default":false,"enabled":true,"name":"nginx","parameters":{}}` | This section refers to the creation of the IngressClass resource. IngressClasses are immutable and cannot be changed after creation. We do not support namespaced IngressClasses, yet, so a ClusterRole and a ClusterRoleBinding is required. |
diff --git a/charts/ingress-nginx/changelog/helm-chart-4.10.1.md b/charts/ingress-nginx/changelog/helm-chart-4.10.1.md
deleted file mode 100644
index 3a28de00c..000000000
--- a/charts/ingress-nginx/changelog/helm-chart-4.10.1.md
+++ /dev/null
@@ -1,11 +0,0 @@
-# Changelog
-
-This file documents all notable changes to [ingress-nginx](https://github.com/kubernetes/ingress-nginx) Helm Chart. The release numbering uses [semantic versioning](http://semver.org).
-
-### 4.10.1
-
-* - "update post submit helm ci and clean up (#11221)"
-* - "refactor helm ci tests part I (#11188)"
-* - "Update Ingress-Nginx version controller-v1.10.1"
-
-**Full Changelog**: https://github.com/kubernetes/ingress-nginx/compare/helm-chart-4.10.0...helm-chart-4.10.1
diff --git a/charts/ingress-nginx/values.yaml b/charts/ingress-nginx/values.yaml
index 68f8b5864..412daebdd 100644
--- a/charts/ingress-nginx/values.yaml
+++ b/charts/ingress-nginx/values.yaml
@@ -26,9 +26,9 @@ controller:
## for backwards compatibility consider setting the full image url via the repository value below
## use *either* current default registry/image or repository format or installing chart by providing the values.yaml will fail
## repository:
- tag: "v1.10.1"
- digest: sha256:e24f39d3eed6bcc239a56f20098878845f62baa34b9f2be2fd2c38ce9fb0f29e
- digestChroot: sha256:c155954116b397163c88afcb3252462771bd7867017e8a17623e83601bab7ac7
+ tag: "v1.10.0"
+ digest: sha256:42b3f0e5d0846876b1791cd3afeb5f1cbbe4259d6f35651dcc1b5c980925379c
+ digestChroot: sha256:7eb46ff733429e0e46892903c7394aff149ac6d284d92b3946f3baf7ff26a096
pullPolicy: IfNotPresent
runAsNonRoot: true
# www-data -> uid 101
From 6b06dae74e54564197ac47109257eada5a8283bf Mon Sep 17 00:00:00 2001
From: k8s-infra-cherrypick-robot
<90416843+k8s-infra-cherrypick-robot@users.noreply.github.com>
Date: Wed, 24 Apr 2024 07:05:26 -0700
Subject: [PATCH 066/265] Release Helm Chart on branch update (#11306)
Signed-off-by: James Strong
Co-authored-by: James Strong
---
.github/workflows/helm.yaml | 1 +
1 file changed, 1 insertion(+)
diff --git a/.github/workflows/helm.yaml b/.github/workflows/helm.yaml
index e6383c682..e88fd8678 100644
--- a/.github/workflows/helm.yaml
+++ b/.github/workflows/helm.yaml
@@ -65,6 +65,7 @@ jobs:
steps:
- name: Checkout master
uses: actions/checkout@1d96c772d19495a3b5c517cd2bc0cb401ea0529f # v4.1.3
+ ref: ${{ github.ref_name }}
with:
# Fetch entire history. Required for chart-releaser; see https://github.com/helm/chart-releaser-action/issues/13#issuecomment-602063896
fetch-depth: 0
From f3139368c731eaa74663a69af8b83243ad3c398d Mon Sep 17 00:00:00 2001
From: James Strong
Date: Wed, 24 Apr 2024 10:21:27 -0400
Subject: [PATCH 067/265] fix ref error
Signed-off-by: James Strong
---
.github/workflows/helm.yaml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/.github/workflows/helm.yaml b/.github/workflows/helm.yaml
index e88fd8678..34af63189 100644
--- a/.github/workflows/helm.yaml
+++ b/.github/workflows/helm.yaml
@@ -65,10 +65,10 @@ jobs:
steps:
- name: Checkout master
uses: actions/checkout@1d96c772d19495a3b5c517cd2bc0cb401ea0529f # v4.1.3
- ref: ${{ github.ref_name }}
with:
# Fetch entire history. Required for chart-releaser; see https://github.com/helm/chart-releaser-action/issues/13#issuecomment-602063896
fetch-depth: 0
+ ref: ${{ github.ref_name }}
- name: Setup
shell: bash
From 66d4815bdd859f7b6bc774c48cf52fd23b64307d Mon Sep 17 00:00:00 2001
From: James Strong
Date: Thu, 25 Apr 2024 11:08:56 -0400
Subject: [PATCH 068/265] Merge pull request #11277 from strongjz/chart-1.10.1
(#11314)
release chart 4.10.1
---
charts/ingress-nginx/Chart.yaml | 18 ++++++++++--------
charts/ingress-nginx/README.md | 8 ++++----
.../changelog/helm-chart-4.10.1.md | 11 +++++++++++
charts/ingress-nginx/values.yaml | 6 +++---
4 files changed, 28 insertions(+), 15 deletions(-)
create mode 100644 charts/ingress-nginx/changelog/helm-chart-4.10.1.md
diff --git a/charts/ingress-nginx/Chart.yaml b/charts/ingress-nginx/Chart.yaml
index f9bb890f8..70344515e 100644
--- a/charts/ingress-nginx/Chart.yaml
+++ b/charts/ingress-nginx/Chart.yaml
@@ -1,9 +1,11 @@
annotations:
artifacthub.io/changes: |-
- - "Update Ingress-Nginx version controller-v1.10.0"
+ - "update post submit helm ci and clean up (#11221)"
+ - "refactor helm ci tests part I (#11188)"
+ - "Update Ingress-Nginx version controller-v1.10.1"
artifacthub.io/prerelease: "false"
apiVersion: v2
-appVersion: 1.10.0
+appVersion: 1.10.1
description: Ingress controller for Kubernetes using NGINX as a reverse proxy and
load balancer
home: https://github.com/kubernetes/ingress-nginx
@@ -13,11 +15,11 @@ keywords:
- nginx
kubeVersion: '>=1.21.0-0'
maintainers:
- - name: Gacko
- - name: rikatz
- - name: strongjz
- - name: tao12345666333
+- name: Gacko
+- name: rikatz
+- name: strongjz
+- name: tao12345666333
name: ingress-nginx
sources:
- - https://github.com/kubernetes/ingress-nginx
-version: 4.10.0
+- https://github.com/kubernetes/ingress-nginx
+version: 4.10.1
diff --git a/charts/ingress-nginx/README.md b/charts/ingress-nginx/README.md
index 40900d422..882a26f59 100644
--- a/charts/ingress-nginx/README.md
+++ b/charts/ingress-nginx/README.md
@@ -2,7 +2,7 @@
[ingress-nginx](https://github.com/kubernetes/ingress-nginx) Ingress controller for Kubernetes using NGINX as a reverse proxy and load balancer
- 
+ 
To use, add `ingressClassName: nginx` spec field or the `kubernetes.io/ingress.class: nginx` annotation to your Ingress resources.
@@ -317,8 +317,8 @@ As of version `1.26.0` of this chart, by simply not providing any clusterIP valu
| controller.hostname | object | `{}` | Optionally customize the pod hostname. |
| controller.image.allowPrivilegeEscalation | bool | `false` | |
| controller.image.chroot | bool | `false` | |
-| controller.image.digest | string | `"sha256:42b3f0e5d0846876b1791cd3afeb5f1cbbe4259d6f35651dcc1b5c980925379c"` | |
-| controller.image.digestChroot | string | `"sha256:7eb46ff733429e0e46892903c7394aff149ac6d284d92b3946f3baf7ff26a096"` | |
+| controller.image.digest | string | `"sha256:e24f39d3eed6bcc239a56f20098878845f62baa34b9f2be2fd2c38ce9fb0f29e"` | |
+| controller.image.digestChroot | string | `"sha256:c155954116b397163c88afcb3252462771bd7867017e8a17623e83601bab7ac7"` | |
| controller.image.image | string | `"ingress-nginx/controller"` | |
| controller.image.pullPolicy | string | `"IfNotPresent"` | |
| controller.image.readOnlyRootFilesystem | bool | `false` | |
@@ -326,7 +326,7 @@ As of version `1.26.0` of this chart, by simply not providing any clusterIP valu
| controller.image.runAsNonRoot | bool | `true` | |
| controller.image.runAsUser | int | `101` | |
| controller.image.seccompProfile.type | string | `"RuntimeDefault"` | |
-| controller.image.tag | string | `"v1.10.0"` | |
+| controller.image.tag | string | `"v1.10.1"` | |
| controller.ingressClass | string | `"nginx"` | For backwards compatibility with ingress.class annotation, use ingressClass. Algorithm is as follows, first ingressClassName is considered, if not present, controller looks for ingress.class annotation |
| controller.ingressClassByName | bool | `false` | Process IngressClass per name (additionally as per spec.controller). |
| controller.ingressClassResource | object | `{"controllerValue":"k8s.io/ingress-nginx","default":false,"enabled":true,"name":"nginx","parameters":{}}` | This section refers to the creation of the IngressClass resource. IngressClasses are immutable and cannot be changed after creation. We do not support namespaced IngressClasses, yet, so a ClusterRole and a ClusterRoleBinding is required. |
diff --git a/charts/ingress-nginx/changelog/helm-chart-4.10.1.md b/charts/ingress-nginx/changelog/helm-chart-4.10.1.md
new file mode 100644
index 000000000..3a28de00c
--- /dev/null
+++ b/charts/ingress-nginx/changelog/helm-chart-4.10.1.md
@@ -0,0 +1,11 @@
+# Changelog
+
+This file documents all notable changes to [ingress-nginx](https://github.com/kubernetes/ingress-nginx) Helm Chart. The release numbering uses [semantic versioning](http://semver.org).
+
+### 4.10.1
+
+* - "update post submit helm ci and clean up (#11221)"
+* - "refactor helm ci tests part I (#11188)"
+* - "Update Ingress-Nginx version controller-v1.10.1"
+
+**Full Changelog**: https://github.com/kubernetes/ingress-nginx/compare/helm-chart-4.10.0...helm-chart-4.10.1
diff --git a/charts/ingress-nginx/values.yaml b/charts/ingress-nginx/values.yaml
index 412daebdd..68f8b5864 100644
--- a/charts/ingress-nginx/values.yaml
+++ b/charts/ingress-nginx/values.yaml
@@ -26,9 +26,9 @@ controller:
## for backwards compatibility consider setting the full image url via the repository value below
## use *either* current default registry/image or repository format or installing chart by providing the values.yaml will fail
## repository:
- tag: "v1.10.0"
- digest: sha256:42b3f0e5d0846876b1791cd3afeb5f1cbbe4259d6f35651dcc1b5c980925379c
- digestChroot: sha256:7eb46ff733429e0e46892903c7394aff149ac6d284d92b3946f3baf7ff26a096
+ tag: "v1.10.1"
+ digest: sha256:e24f39d3eed6bcc239a56f20098878845f62baa34b9f2be2fd2c38ce9fb0f29e
+ digestChroot: sha256:c155954116b397163c88afcb3252462771bd7867017e8a17623e83601bab7ac7
pullPolicy: IfNotPresent
runAsNonRoot: true
# www-data -> uid 101
From 1e2e5e182e7200f811281767379556e4f8323390 Mon Sep 17 00:00:00 2001
From: James Strong
Date: Fri, 26 Apr 2024 09:34:17 -0400
Subject: [PATCH 069/265] add workflow to helm release and update ct for branch
(#11317)
Signed-off-by: James Strong
---
.github/workflows/helm.yaml | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/.github/workflows/helm.yaml b/.github/workflows/helm.yaml
index 34af63189..14d191fe9 100644
--- a/.github/workflows/helm.yaml
+++ b/.github/workflows/helm.yaml
@@ -5,6 +5,8 @@ on:
branches:
- main
- release-*
+
+ workflow_dispatch:
permissions:
contents: read
@@ -39,7 +41,7 @@ jobs:
uses: helm/chart-testing-action@e6669bcd63d7cb57cb4380c33043eebe5d111992 # v2.6.1
- name: Run chart-testing (lint)
- run: ct lint --config ./.ct.yaml
+ run: ct lint --config --target-branch ${{ github.ref_name }} ./.ct.yaml
- uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
id: filter
From 5d6a0707ba595454d64446267822a833dd1b5dc9 Mon Sep 17 00:00:00 2001
From: James Strong
Date: Fri, 26 Apr 2024 09:44:33 -0400
Subject: [PATCH 070/265] sfix position of options
---
.github/workflows/helm.yaml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/.github/workflows/helm.yaml b/.github/workflows/helm.yaml
index 14d191fe9..68d5b3b29 100644
--- a/.github/workflows/helm.yaml
+++ b/.github/workflows/helm.yaml
@@ -41,7 +41,7 @@ jobs:
uses: helm/chart-testing-action@e6669bcd63d7cb57cb4380c33043eebe5d111992 # v2.6.1
- name: Run chart-testing (lint)
- run: ct lint --config --target-branch ${{ github.ref_name }} ./.ct.yaml
+ run: ct lint --target-branch ${{ github.ref_name }} --config ./.ct.yaml
- uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
id: filter
From ac945661963c23afd45b1d012d2d32129e5ba9d0 Mon Sep 17 00:00:00 2001
From: k8s-infra-cherrypick-robot
<90416843+k8s-infra-cherrypick-robot@users.noreply.github.com>
Date: Thu, 23 May 2024 10:25:36 -0700
Subject: [PATCH 071/265] Bump the all group with 4 updates (#11380)
Bumps the all group with 4 updates: [actions/checkout](https://github.com/actions/checkout), [actions/upload-artifact](https://github.com/actions/upload-artifact), [actions/download-artifact](https://github.com/actions/download-artifact) and [github/codeql-action](https://github.com/github/codeql-action).
Updates `actions/checkout` from 4.1.3 to 4.1.4
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/1d96c772d19495a3b5c517cd2bc0cb401ea0529f...0ad4b8fadaa221de15dcec353f45205ec38ea70b)
Updates `actions/upload-artifact` from 4.3.2 to 4.3.3
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](https://github.com/actions/upload-artifact/compare/1746f4ab65b179e0ea60a494b83293b640dd5bba...65462800fd760344b1a7b4382951275a0abb4808)
Updates `actions/download-artifact` from 4.1.5 to 4.1.7
- [Release notes](https://github.com/actions/download-artifact/releases)
- [Commits](https://github.com/actions/download-artifact/compare/8caf195ad4b1dee92908e23f56eeb0696f1dd42d...65a9edc5881444af0b9093a5e628f2fe47ea3b2e)
Updates `github/codeql-action` from 3.25.1 to 3.25.3
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/github/codeql-action/compare/c7f9125735019aa87cfc361530512d50ea439c71...d39d31e687223d841ef683f52467bd88e9b21c14)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
---
.github/workflows/ci.yaml | 14 +++++++-------
.github/workflows/depreview.yaml | 2 +-
.github/workflows/docs.yaml | 4 ++--
.github/workflows/golangci-lint.yml | 2 +-
.github/workflows/helm.yaml | 4 ++--
.github/workflows/images.yaml | 8 ++++----
.github/workflows/perftest.yaml | 2 +-
.github/workflows/plugin.yaml | 2 +-
.github/workflows/scorecards.yml | 6 +++---
.github/workflows/vulnerability-scans.yaml | 6 +++---
.github/workflows/zz-tmpl-images.yaml | 6 +++---
.github/workflows/zz-tmpl-k8s-e2e.yaml | 6 +++---
12 files changed, 31 insertions(+), 31 deletions(-)
diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml
index a3d0e3187..afc2f7d38 100644
--- a/.github/workflows/ci.yaml
+++ b/.github/workflows/ci.yaml
@@ -47,7 +47,7 @@ jobs:
steps:
- name: Checkout
- uses: actions/checkout@1d96c772d19495a3b5c517cd2bc0cb401ea0529f # v4.1.3
+ uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4
- uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
id: filter
@@ -77,7 +77,7 @@ jobs:
(needs.changes.outputs.go == 'true')
steps:
- name: Checkout
- uses: actions/checkout@1d96c772d19495a3b5c517cd2bc0cb401ea0529f # v4.1.3
+ uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4
- name: Get go version
run: echo "GOLANG_VERSION=$(cat GOLANG_VERSION)" >> $GITHUB_ENV
@@ -105,7 +105,7 @@ jobs:
PLATFORMS: linux/amd64
steps:
- name: Checkout
- uses: actions/checkout@1d96c772d19495a3b5c517cd2bc0cb401ea0529f # v4.1.3
+ uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4
- name: Get go version
id: golangversion
@@ -163,7 +163,7 @@ jobs:
| gzip > docker.tar.gz
- name: cache
- uses: actions/upload-artifact@1746f4ab65b179e0ea60a494b83293b640dd5bba # v4.3.2
+ uses: actions/upload-artifact@65462800fd760344b1a7b4382951275a0abb4808 # v4.3.3
with:
name: docker.tar.gz
path: docker.tar.gz
@@ -179,7 +179,7 @@ jobs:
steps:
- name: Checkout
- uses: actions/checkout@1d96c772d19495a3b5c517cd2bc0cb401ea0529f # v4.1.3
+ uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4
with:
fetch-depth: 0
@@ -239,7 +239,7 @@ jobs:
steps:
- name: Checkout
- uses: actions/checkout@1d96c772d19495a3b5c517cd2bc0cb401ea0529f # v4.1.3
+ uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4
- name: Setup Go
uses: actions/setup-go@0c52d547c9bc32b1aa3301fd7a9cb496313a4491 # v5.0.0
@@ -248,7 +248,7 @@ jobs:
check-latest: true
- name: cache
- uses: actions/download-artifact@8caf195ad4b1dee92908e23f56eeb0696f1dd42d # v4.1.5
+ uses: actions/download-artifact@65a9edc5881444af0b9093a5e628f2fe47ea3b2e # v4.1.7
with:
name: docker.tar.gz
diff --git a/.github/workflows/depreview.yaml b/.github/workflows/depreview.yaml
index bfe5ba55b..c9881c2a3 100644
--- a/.github/workflows/depreview.yaml
+++ b/.github/workflows/depreview.yaml
@@ -9,6 +9,6 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: 'Checkout Repository'
- uses: actions/checkout@1d96c772d19495a3b5c517cd2bc0cb401ea0529f # v4.1.3
+ uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4
- name: 'Dependency Review'
uses: actions/dependency-review-action@5bbc3ba658137598168acb2ab73b21c432dd411b # v4.2.5
diff --git a/.github/workflows/docs.yaml b/.github/workflows/docs.yaml
index 740b76f79..76b5818f4 100644
--- a/.github/workflows/docs.yaml
+++ b/.github/workflows/docs.yaml
@@ -23,7 +23,7 @@ jobs:
steps:
- name: Checkout
- uses: actions/checkout@1d96c772d19495a3b5c517cd2bc0cb401ea0529f # v4.1.3
+ uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4
- uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
id: filter
@@ -47,7 +47,7 @@ jobs:
steps:
- name: Checkout master
- uses: actions/checkout@1d96c772d19495a3b5c517cd2bc0cb401ea0529f # v4.1.3
+ uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4
- name: Deploy
uses: ./.github/actions/mkdocs
diff --git a/.github/workflows/golangci-lint.yml b/.github/workflows/golangci-lint.yml
index 02ebcaa38..2b709ccfd 100644
--- a/.github/workflows/golangci-lint.yml
+++ b/.github/workflows/golangci-lint.yml
@@ -15,7 +15,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout
- uses: actions/checkout@1d96c772d19495a3b5c517cd2bc0cb401ea0529f # v4.1.3
+ uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4
- name: Get go version
run: echo "GOLANG_VERSION=$(cat GOLANG_VERSION)" >> $GITHUB_ENV
diff --git a/.github/workflows/helm.yaml b/.github/workflows/helm.yaml
index 68d5b3b29..24674e3f2 100644
--- a/.github/workflows/helm.yaml
+++ b/.github/workflows/helm.yaml
@@ -27,7 +27,7 @@ jobs:
steps:
- name: Checkout
- uses: actions/checkout@1d96c772d19495a3b5c517cd2bc0cb401ea0529f # v4.1.3
+ uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4
- name: Run Artifact Hub lint
run: |
@@ -66,7 +66,7 @@ jobs:
steps:
- name: Checkout master
- uses: actions/checkout@1d96c772d19495a3b5c517cd2bc0cb401ea0529f # v4.1.3
+ uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4
with:
# Fetch entire history. Required for chart-releaser; see https://github.com/helm/chart-releaser-action/issues/13#issuecomment-602063896
fetch-depth: 0
diff --git a/.github/workflows/images.yaml b/.github/workflows/images.yaml
index 3e9cbcbae..a7a2adce0 100644
--- a/.github/workflows/images.yaml
+++ b/.github/workflows/images.yaml
@@ -41,7 +41,7 @@ jobs:
steps:
- name: Checkout
- uses: actions/checkout@1d96c772d19495a3b5c517cd2bc0cb401ea0529f # v4.1.3
+ uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4
- uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
id: filter
with:
@@ -144,7 +144,7 @@ jobs:
k8s: [v1.26.14, v1.27.11, v1.28.7, v1.29.2]
steps:
- name: Checkout
- uses: actions/checkout@1d96c772d19495a3b5c517cd2bc0cb401ea0529f # v4.1.3
+ uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4
- name: Get go version
run: echo "GOLANG_VERSION=$(cat GOLANG_VERSION)" >> $GITHUB_ENV
@@ -178,7 +178,7 @@ jobs:
nginx: ['1.25.3', '1.21.6']
steps:
- name: Checkout
- uses: actions/checkout@1d96c772d19495a3b5c517cd2bc0cb401ea0529f # v4.1.3
+ uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4
- name: image build
run: |
cd images/opentelemetry && make NGINX_VERSION=${{ matrix.nginx }} build
@@ -195,7 +195,7 @@ jobs:
PLATFORMS: linux/amd64,linux/arm,linux/arm64,linux/s390x
steps:
- name: Checkout
- uses: actions/checkout@1d96c772d19495a3b5c517cd2bc0cb401ea0529f # v4.1.3
+ uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4
- name: Set up QEMU
uses: docker/setup-qemu-action@68827325e0b33c7199eb31dd4e31fbe9023e06e3 # v3.0.0
- name: Set up Docker Buildx
diff --git a/.github/workflows/perftest.yaml b/.github/workflows/perftest.yaml
index 87c828380..f2999ee97 100644
--- a/.github/workflows/perftest.yaml
+++ b/.github/workflows/perftest.yaml
@@ -19,7 +19,7 @@ jobs:
steps:
- name: Checkout
- uses: actions/checkout@1d96c772d19495a3b5c517cd2bc0cb401ea0529f # v4.1.3
+ uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4
- name: Install K6
run: |
diff --git a/.github/workflows/plugin.yaml b/.github/workflows/plugin.yaml
index def284a39..1b8c8f19b 100644
--- a/.github/workflows/plugin.yaml
+++ b/.github/workflows/plugin.yaml
@@ -12,7 +12,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout
- uses: actions/checkout@1d96c772d19495a3b5c517cd2bc0cb401ea0529f # v4.1.3
+ uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4
with:
fetch-depth: 0
diff --git a/.github/workflows/scorecards.yml b/.github/workflows/scorecards.yml
index e4a404ef8..c98b2d180 100644
--- a/.github/workflows/scorecards.yml
+++ b/.github/workflows/scorecards.yml
@@ -27,7 +27,7 @@ jobs:
steps:
- name: "Checkout code"
- uses: actions/checkout@1d96c772d19495a3b5c517cd2bc0cb401ea0529f # v4.1.3
+ uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4
with:
persist-credentials: false
@@ -51,7 +51,7 @@ jobs:
# Upload the results as artifacts (optional). Commenting out will disable uploads of run results in SARIF
# format to the repository Actions tab.
- name: "Upload artifact"
- uses: actions/upload-artifact@1746f4ab65b179e0ea60a494b83293b640dd5bba # v4.3.2
+ uses: actions/upload-artifact@65462800fd760344b1a7b4382951275a0abb4808 # v4.3.3
with:
name: SARIF file
path: results.sarif
@@ -59,6 +59,6 @@ jobs:
# Upload the results to GitHub's code scanning dashboard.
- name: "Upload to code-scanning"
- uses: github/codeql-action/upload-sarif@c7f9125735019aa87cfc361530512d50ea439c71 # v3.25.1
+ uses: github/codeql-action/upload-sarif@d39d31e687223d841ef683f52467bd88e9b21c14 # v3.25.3
with:
sarif_file: results.sarif
diff --git a/.github/workflows/vulnerability-scans.yaml b/.github/workflows/vulnerability-scans.yaml
index e0c1d838b..44e8954ed 100644
--- a/.github/workflows/vulnerability-scans.yaml
+++ b/.github/workflows/vulnerability-scans.yaml
@@ -22,7 +22,7 @@ jobs:
versions: ${{ steps.version.outputs.TAGS }}
steps:
- name: Checkout code
- uses: actions/checkout@1d96c772d19495a3b5c517cd2bc0cb401ea0529f # v4.1.3
+ uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4
with:
fetch-depth: 0
@@ -52,7 +52,7 @@ jobs:
versions: ${{ fromJSON(needs.version.outputs.versions) }}
steps:
- name: Checkout code
- uses: actions/checkout@1d96c772d19495a3b5c517cd2bc0cb401ea0529f # v4.1.3
+ uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4
- shell: bash
id: test
@@ -75,7 +75,7 @@ jobs:
# This step checks out a copy of your repository.
- name: Upload SARIF file
- uses: github/codeql-action/upload-sarif@c7f9125735019aa87cfc361530512d50ea439c71 # v3.25.1
+ uses: github/codeql-action/upload-sarif@d39d31e687223d841ef683f52467bd88e9b21c14 # v3.25.3
with:
token: ${{ github.token }}
# Path to SARIF file relative to the root of the repository
diff --git a/.github/workflows/zz-tmpl-images.yaml b/.github/workflows/zz-tmpl-images.yaml
index 819a88cd4..4ab9a4efb 100644
--- a/.github/workflows/zz-tmpl-images.yaml
+++ b/.github/workflows/zz-tmpl-images.yaml
@@ -31,7 +31,7 @@ jobs:
steps:
- name: Checkout
- uses: actions/checkout@1d96c772d19495a3b5c517cd2bc0cb401ea0529f # v4.1.3
+ uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4
- uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
id: filter
with:
@@ -48,7 +48,7 @@ jobs:
steps:
- name: Checkout
- uses: actions/checkout@1d96c772d19495a3b5c517cd2bc0cb401ea0529f # v4.1.3
+ uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4
- name: Build
run: |
@@ -67,7 +67,7 @@ jobs:
PLATFORMS: ${{ inputs.platforms-publish }}
steps:
- name: Checkout
- uses: actions/checkout@1d96c772d19495a3b5c517cd2bc0cb401ea0529f # v4.1.3
+ uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4
- name: Login to GitHub Container Registry
uses: docker/login-action@e92390c5fb421da1463c202d546fed0ec5c39f20 # v3.1.0
diff --git a/.github/workflows/zz-tmpl-k8s-e2e.yaml b/.github/workflows/zz-tmpl-k8s-e2e.yaml
index ab2ec536a..9ca47112b 100644
--- a/.github/workflows/zz-tmpl-k8s-e2e.yaml
+++ b/.github/workflows/zz-tmpl-k8s-e2e.yaml
@@ -20,10 +20,10 @@ jobs:
steps:
- name: Checkout
- uses: actions/checkout@1d96c772d19495a3b5c517cd2bc0cb401ea0529f # v4.1.3
+ uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4
- name: cache
- uses: actions/download-artifact@8caf195ad4b1dee92908e23f56eeb0696f1dd42d # v4.1.5
+ uses: actions/download-artifact@65a9edc5881444af0b9093a5e628f2fe47ea3b2e # v4.1.7
with:
name: docker.tar.gz
@@ -50,7 +50,7 @@ jobs:
make kind-e2e-test
- name: Upload e2e junit-reports ${{ inputs.variation }}
- uses: actions/upload-artifact@1746f4ab65b179e0ea60a494b83293b640dd5bba # v4.3.2
+ uses: actions/upload-artifact@65462800fd760344b1a7b4382951275a0abb4808 # v4.3.3
if: success() || failure()
with:
name: e2e-test-reports-${{ inputs.k8s-version }}${{ inputs.variation }}
From 49d79b13f0453900bbd038da5e81c198dca99759 Mon Sep 17 00:00:00 2001
From: Marco Ebert
Date: Fri, 31 May 2024 14:37:25 +0200
Subject: [PATCH 072/265] Go: Sync modules from `main`. (#11398)
---
go.mod | 75 +--
go.sum | 1364 ++++++++++++++++++++++++++++++++++++++++++++++++---
go.work | 2 +-
go.work.sum | 603 +++++++++++++++++------
4 files changed, 1772 insertions(+), 272 deletions(-)
diff --git a/go.mod b/go.mod
index 9425e0af0..31cefca80 100644
--- a/go.mod
+++ b/go.mod
@@ -1,6 +1,7 @@
module k8s.io/ingress-nginx
-go 1.21
+go 1.22.0
+
toolchain go1.22.2
require (
@@ -14,11 +15,11 @@ 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.17.1
+ github.com/ncabatoff/process-exporter v0.7.11
+ github.com/onsi/ginkgo/v2 v2.17.2
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_golang v1.19.1
github.com/prometheus/client_model v0.6.1
github.com/prometheus/common v0.53.0
github.com/spf13/cobra v1.8.0
@@ -26,22 +27,23 @@ require (
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.22.0
+ golang.org/x/crypto v0.23.0
+ golang.org/x/exp v0.0.0-20240416160154-fe59bbe5cc7f
google.golang.org/grpc v1.63.2
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.30.0
- k8s.io/apiextensions-apiserver v0.29.3
- k8s.io/apimachinery v0.30.0
- k8s.io/apiserver v0.29.3
- k8s.io/cli-runtime v0.29.3
- k8s.io/client-go v0.30.0
- k8s.io/code-generator v0.29.3
- k8s.io/component-base v0.30.0
+ k8s.io/api v0.30.1
+ k8s.io/apiextensions-apiserver v0.30.1
+ k8s.io/apimachinery v0.30.1
+ k8s.io/apiserver v0.30.1
+ k8s.io/cli-runtime v0.30.0
+ k8s.io/client-go v0.30.1
+ k8s.io/code-generator v0.30.1
+ k8s.io/component-base v0.30.1
k8s.io/klog/v2 v2.120.1
pault.ag/go/sniff v0.0.0-20200207005214-cf7e4d167732
- sigs.k8s.io/controller-runtime v0.17.3
+ sigs.k8s.io/controller-runtime v0.18.3
sigs.k8s.io/mdtoc v1.1.0
)
@@ -50,21 +52,21 @@ require (
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/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-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
@@ -74,7 +76,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-20240424215950-a892ee059fd6 // 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
@@ -97,34 +99,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.13.0 // 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.23.0 // indirect
- golang.org/x/oauth2 v0.18.0 // indirect
- golang.org/x/sync v0.6.0 // indirect
- golang.org/x/sys v0.19.0 // indirect
- golang.org/x/term v0.19.0 // indirect
- golang.org/x/text v0.14.0 // indirect
+ go.uber.org/zap v1.27.0 // indirect
+ golang.org/x/mod v0.17.0 // indirect
+ golang.org/x/net v0.24.0 // indirect
+ golang.org/x/oauth2 v0.20.0 // indirect
+ golang.org/x/sync v0.7.0 // indirect
+ golang.org/x/sys v0.20.0 // indirect
+ golang.org/x/term v0.20.0 // indirect
+ golang.org/x/text v0.15.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-20240227224415-6ceb2ff114de // indirect
- google.golang.org/protobuf v1.33.0 // indirect
+ golang.org/x/tools v0.20.0 // indirect
+ google.golang.org/genproto/googleapis/rpc v0.0.0-20240429193739-8cf5692501f6 // indirect
+ google.golang.org/protobuf v1.34.0 // 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/gengo/v2 v2.0.0-20240228010128-51d4e06bde70 // indirect
- k8s.io/kube-openapi v0.0.0-20240228011516-70dd3763d340 // 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-20240502163921-fe8a2dddb1d0 // 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 b99859431..a2a5e4ac5 100644
--- a/go.sum
+++ b/go.sum
@@ -3,6 +3,7 @@ cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMT
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.44.3/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=
@@ -13,37 +14,617 @@ cloud.google.com/go v0.56.0/go.mod h1:jr7tqZxxKOVYizybht9+26Z/gUq7tiRzu+ACVAMbKV
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 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.78.0/go.mod h1:QjdrLG0uq+YwhjoVOLsS1t7TW8fs36kLs4XO5R5ECHg=
+cloud.google.com/go v0.79.0/go.mod h1:3bzgcEeQlzbuEAYu4mrWhKqWjmpprinYgKJLgKHnbb8=
+cloud.google.com/go v0.81.0/go.mod h1:mk/AM35KwGk/Nm2YSeZbxXdrNK3KZOYHmLkOqC2V6E0=
+cloud.google.com/go v0.83.0/go.mod h1:Z7MJUsANfY0pYPdw0lbnivPx4/vhy/e2FEkSkF7vAVY=
+cloud.google.com/go v0.84.0/go.mod h1:RazrYuxIK6Kb7YrzzhPoLmCVzl7Sup4NrbKPg8KHSUM=
+cloud.google.com/go v0.87.0/go.mod h1:TpDYlFy7vuLzZMMZ+B6iRiELaY7z/gJPaqbMx6mlWcY=
+cloud.google.com/go v0.90.0/go.mod h1:kRX0mNRHe0e2rC6oNakvwQqzyDmg57xJ+SZU1eT2aDQ=
+cloud.google.com/go v0.93.3/go.mod h1:8utlLll2EF5XMAV15woO4lSbWQlk8rer9aLOfLh7+YI=
+cloud.google.com/go v0.94.1/go.mod h1:qAlAugsXlC+JWO+Bke5vCtc9ONxjQT3drlTTnAplMW4=
+cloud.google.com/go v0.97.0/go.mod h1:GF7l59pYBVlXQIBLx3a761cZ41F9bBH3JUlihCt2Udc=
+cloud.google.com/go v0.99.0/go.mod h1:w0Xx2nLzqWJPuozYQX+hFfCSI8WioryfRDzkoI/Y2ZA=
+cloud.google.com/go v0.100.1/go.mod h1:fs4QogzfH5n2pBXBP9vRiU+eCny7lD2vmFZy79Iuw1U=
+cloud.google.com/go v0.100.2/go.mod h1:4Xra9TjzAeYHrl5+oeLlzbM2k3mjVhZh4UqTZ//w99A=
+cloud.google.com/go v0.102.0/go.mod h1:oWcCzKlqJ5zgHQt9YsaeTY9KzIvjyy0ArmiBUgpQ+nc=
+cloud.google.com/go v0.102.1/go.mod h1:XZ77E9qnTEnrgEOvr4xzfdX5TRo7fB4T2F4O6+34hIU=
+cloud.google.com/go v0.104.0/go.mod h1:OO6xxXdJyvuJPcEPBLN9BJPD+jep5G1+2U5B5gkRYtA=
+cloud.google.com/go v0.105.0/go.mod h1:PrLgOJNe5nfE9UMxKxgXj4mD3voiP+YQ6gdt6KMFOKM=
+cloud.google.com/go v0.107.0/go.mod h1:wpc2eNrD7hXUTy8EKS10jkxpZBjASrORK7goS+3YX2I=
+cloud.google.com/go v0.110.0/go.mod h1:SJnCLqQ0FCFGSZMUNUf84MV3Aia54kn7pi8st7tMzaY=
+cloud.google.com/go v0.110.2/go.mod h1:k04UEeEtb6ZBRTv3dZz4CeJC3jKGxyhl0sAiVVquxiw=
+cloud.google.com/go/accessapproval v1.4.0/go.mod h1:zybIuC3KpDOvotz59lFe5qxRZx6C75OtwbisN56xYB4=
+cloud.google.com/go/accessapproval v1.5.0/go.mod h1:HFy3tuiGvMdcd/u+Cu5b9NkO1pEICJ46IR82PoUdplw=
+cloud.google.com/go/accessapproval v1.6.0/go.mod h1:R0EiYnwV5fsRFiKZkPHr6mwyk2wxUJ30nL4j2pcFY2E=
+cloud.google.com/go/accesscontextmanager v1.3.0/go.mod h1:TgCBehyr5gNMz7ZaH9xubp+CE8dkrszb4oK9CWyvD4o=
+cloud.google.com/go/accesscontextmanager v1.4.0/go.mod h1:/Kjh7BBu/Gh83sv+K60vN9QE5NJcd80sU33vIe2IFPE=
+cloud.google.com/go/accesscontextmanager v1.6.0/go.mod h1:8XCvZWfYw3K/ji0iVnp+6pu7huxoQTLmxAbVjbloTtM=
+cloud.google.com/go/accesscontextmanager v1.7.0/go.mod h1:CEGLewx8dwa33aDAZQujl7Dx+uYhS0eay198wB/VumQ=
+cloud.google.com/go/aiplatform v1.22.0/go.mod h1:ig5Nct50bZlzV6NvKaTwmplLLddFx0YReh9WfTO5jKw=
+cloud.google.com/go/aiplatform v1.24.0/go.mod h1:67UUvRBKG6GTayHKV8DBv2RtR1t93YRu5B1P3x99mYY=
+cloud.google.com/go/aiplatform v1.27.0/go.mod h1:Bvxqtl40l0WImSb04d0hXFU7gDOiq9jQmorivIiWcKg=
+cloud.google.com/go/aiplatform v1.35.0/go.mod h1:7MFT/vCaOyZT/4IIFfxH4ErVg/4ku6lKv3w0+tFTgXQ=
+cloud.google.com/go/aiplatform v1.36.1/go.mod h1:WTm12vJRPARNvJ+v6P52RDHCNe4AhvjcIZ/9/RRHy/k=
+cloud.google.com/go/aiplatform v1.37.0/go.mod h1:IU2Cv29Lv9oCn/9LkFiiuKfwrRTq+QQMbW+hPCxJGZw=
+cloud.google.com/go/analytics v0.11.0/go.mod h1:DjEWCu41bVbYcKyvlws9Er60YE4a//bK6mnhWvQeFNI=
+cloud.google.com/go/analytics v0.12.0/go.mod h1:gkfj9h6XRf9+TS4bmuhPEShsh3hH8PAZzm/41OOhQd4=
+cloud.google.com/go/analytics v0.17.0/go.mod h1:WXFa3WSym4IZ+JiKmavYdJwGG/CvpqiqczmL59bTD9M=
+cloud.google.com/go/analytics v0.18.0/go.mod h1:ZkeHGQlcIPkw0R/GW+boWHhCOR43xz9RN/jn7WcqfIE=
+cloud.google.com/go/analytics v0.19.0/go.mod h1:k8liqf5/HCnOUkbawNtrWWc+UAzyDlW89doe8TtoDsE=
+cloud.google.com/go/apigateway v1.3.0/go.mod h1:89Z8Bhpmxu6AmUxuVRg/ECRGReEdiP3vQtk4Z1J9rJk=
+cloud.google.com/go/apigateway v1.4.0/go.mod h1:pHVY9MKGaH9PQ3pJ4YLzoj6U5FUDeDFBllIz7WmzJoc=
+cloud.google.com/go/apigateway v1.5.0/go.mod h1:GpnZR3Q4rR7LVu5951qfXPJCHquZt02jf7xQx7kpqN8=
+cloud.google.com/go/apigeeconnect v1.3.0/go.mod h1:G/AwXFAKo0gIXkPTVfZDd2qA1TxBXJ3MgMRBQkIi9jc=
+cloud.google.com/go/apigeeconnect v1.4.0/go.mod h1:kV4NwOKqjvt2JYR0AoIWo2QGfoRtn/pkS3QlHp0Ni04=
+cloud.google.com/go/apigeeconnect v1.5.0/go.mod h1:KFaCqvBRU6idyhSNyn3vlHXc8VMDJdRmwDF6JyFRqZ8=
+cloud.google.com/go/apigeeregistry v0.4.0/go.mod h1:EUG4PGcsZvxOXAdyEghIdXwAEi/4MEaoqLMLDMIwKXY=
+cloud.google.com/go/apigeeregistry v0.5.0/go.mod h1:YR5+s0BVNZfVOUkMa5pAR2xGd0A473vA5M7j247o1wM=
+cloud.google.com/go/apigeeregistry v0.6.0/go.mod h1:BFNzW7yQVLZ3yj0TKcwzb8n25CFBri51GVGOEUcgQsc=
+cloud.google.com/go/apikeys v0.4.0/go.mod h1:XATS/yqZbaBK0HOssf+ALHp8jAlNHUgyfprvNcBIszU=
+cloud.google.com/go/apikeys v0.5.0/go.mod h1:5aQfwY4D+ewMMWScd3hm2en3hCj+BROlyrt3ytS7KLI=
+cloud.google.com/go/apikeys v0.6.0/go.mod h1:kbpXu5upyiAlGkKrJgQl8A0rKNNJ7dQ377pdroRSSi8=
+cloud.google.com/go/appengine v1.4.0/go.mod h1:CS2NhuBuDXM9f+qscZ6V86m1MIIqPj3WC/UoEuR1Sno=
+cloud.google.com/go/appengine v1.5.0/go.mod h1:TfasSozdkFI0zeoxW3PTBLiNqRmzraodCWatWI9Dmak=
+cloud.google.com/go/appengine v1.6.0/go.mod h1:hg6i0J/BD2cKmDJbaFSYHFyZkgBEfQrDg/X0V5fJn84=
+cloud.google.com/go/appengine v1.7.0/go.mod h1:eZqpbHFCqRGa2aCdope7eC0SWLV1j0neb/QnMJVWx6A=
+cloud.google.com/go/appengine v1.7.1/go.mod h1:IHLToyb/3fKutRysUlFO0BPt5j7RiQ45nrzEJmKTo6E=
+cloud.google.com/go/area120 v0.5.0/go.mod h1:DE/n4mp+iqVyvxHN41Vf1CR602GiHQjFPusMFW6bGR4=
+cloud.google.com/go/area120 v0.6.0/go.mod h1:39yFJqWVgm0UZqWTOdqkLhjoC7uFfgXRC8g/ZegeAh0=
+cloud.google.com/go/area120 v0.7.0/go.mod h1:a3+8EUD1SX5RUcCs3MY5YasiO1z6yLiNLRiFrykbynY=
+cloud.google.com/go/area120 v0.7.1/go.mod h1:j84i4E1RboTWjKtZVWXPqvK5VHQFJRF2c1Nm69pWm9k=
+cloud.google.com/go/artifactregistry v1.6.0/go.mod h1:IYt0oBPSAGYj/kprzsBjZ/4LnG/zOcHyFHjWPCi6SAQ=
+cloud.google.com/go/artifactregistry v1.7.0/go.mod h1:mqTOFOnGZx8EtSqK/ZWcsm/4U8B77rbcLP6ruDU2Ixk=
+cloud.google.com/go/artifactregistry v1.8.0/go.mod h1:w3GQXkJX8hiKN0v+at4b0qotwijQbYUqF2GWkZzAhC0=
+cloud.google.com/go/artifactregistry v1.9.0/go.mod h1:2K2RqvA2CYvAeARHRkLDhMDJ3OXy26h3XW+3/Jh2uYc=
+cloud.google.com/go/artifactregistry v1.11.1/go.mod h1:lLYghw+Itq9SONbCa1YWBoWs1nOucMH0pwXN1rOBZFI=
+cloud.google.com/go/artifactregistry v1.11.2/go.mod h1:nLZns771ZGAwVLzTX/7Al6R9ehma4WUEhZGWV6CeQNQ=
+cloud.google.com/go/artifactregistry v1.12.0/go.mod h1:o6P3MIvtzTOnmvGagO9v/rOjjA0HmhJ+/6KAXrmYDCI=
+cloud.google.com/go/artifactregistry v1.13.0/go.mod h1:uy/LNfoOIivepGhooAUpL1i30Hgee3Cu0l4VTWHUC08=
+cloud.google.com/go/asset v1.5.0/go.mod h1:5mfs8UvcM5wHhqtSv8J1CtxxaQq3AdBxxQi2jGW/K4o=
+cloud.google.com/go/asset v1.7.0/go.mod h1:YbENsRK4+xTiL+Ofoj5Ckf+O17kJtgp3Y3nn4uzZz5s=
+cloud.google.com/go/asset v1.8.0/go.mod h1:mUNGKhiqIdbr8X7KNayoYvyc4HbbFO9URsjbytpUaW0=
+cloud.google.com/go/asset v1.9.0/go.mod h1:83MOE6jEJBMqFKadM9NLRcs80Gdw76qGuHn8m3h8oHQ=
+cloud.google.com/go/asset v1.10.0/go.mod h1:pLz7uokL80qKhzKr4xXGvBQXnzHn5evJAEAtZiIb0wY=
+cloud.google.com/go/asset v1.11.1/go.mod h1:fSwLhbRvC9p9CXQHJ3BgFeQNM4c9x10lqlrdEUYXlJo=
+cloud.google.com/go/asset v1.12.0/go.mod h1:h9/sFOa4eDIyKmH6QMpm4eUK3pDojWnUhTgJlk762Hg=
+cloud.google.com/go/asset v1.13.0/go.mod h1:WQAMyYek/b7NBpYq/K4KJWcRqzoalEsxz/t/dTk4THw=
+cloud.google.com/go/assuredworkloads v1.5.0/go.mod h1:n8HOZ6pff6re5KYfBXcFvSViQjDwxFkAkmUFffJRbbY=
+cloud.google.com/go/assuredworkloads v1.6.0/go.mod h1:yo2YOk37Yc89Rsd5QMVECvjaMKymF9OP+QXWlKXUkXw=
+cloud.google.com/go/assuredworkloads v1.7.0/go.mod h1:z/736/oNmtGAyU47reJgGN+KVoYoxeLBoj4XkKYscNI=
+cloud.google.com/go/assuredworkloads v1.8.0/go.mod h1:AsX2cqyNCOvEQC8RMPnoc0yEarXQk6WEKkxYfL6kGIo=
+cloud.google.com/go/assuredworkloads v1.9.0/go.mod h1:kFuI1P78bplYtT77Tb1hi0FMxM0vVpRC7VVoJC3ZoT0=
+cloud.google.com/go/assuredworkloads v1.10.0/go.mod h1:kwdUQuXcedVdsIaKgKTp9t0UJkE5+PAVNhdQm4ZVq2E=
+cloud.google.com/go/automl v1.5.0/go.mod h1:34EjfoFGMZ5sgJ9EoLsRtdPSNZLcfflJR39VbVNS2M0=
+cloud.google.com/go/automl v1.6.0/go.mod h1:ugf8a6Fx+zP0D59WLhqgTDsQI9w07o64uf/Is3Nh5p8=
+cloud.google.com/go/automl v1.7.0/go.mod h1:RL9MYCCsJEOmt0Wf3z9uzG0a7adTT1fe+aObgSpkCt8=
+cloud.google.com/go/automl v1.8.0/go.mod h1:xWx7G/aPEe/NP+qzYXktoBSDfjO+vnKMGgsApGJJquM=
+cloud.google.com/go/automl v1.12.0/go.mod h1:tWDcHDp86aMIuHmyvjuKeeHEGq76lD7ZqfGLN6B0NuU=
+cloud.google.com/go/baremetalsolution v0.3.0/go.mod h1:XOrocE+pvK1xFfleEnShBlNAXf+j5blPPxrhjKgnIFc=
+cloud.google.com/go/baremetalsolution v0.4.0/go.mod h1:BymplhAadOO/eBa7KewQ0Ppg4A4Wplbn+PsFKRLo0uI=
+cloud.google.com/go/baremetalsolution v0.5.0/go.mod h1:dXGxEkmR9BMwxhzBhV0AioD0ULBmuLZI8CdwalUxuss=
+cloud.google.com/go/batch v0.3.0/go.mod h1:TR18ZoAekj1GuirsUsR1ZTKN3FC/4UDnScjT8NXImFE=
+cloud.google.com/go/batch v0.4.0/go.mod h1:WZkHnP43R/QCGQsZ+0JyG4i79ranE2u8xvjq/9+STPE=
+cloud.google.com/go/batch v0.7.0/go.mod h1:vLZN95s6teRUqRQ4s3RLDsH8PvboqBK+rn1oevL159g=
+cloud.google.com/go/beyondcorp v0.2.0/go.mod h1:TB7Bd+EEtcw9PCPQhCJtJGjk/7TC6ckmnSFS+xwTfm4=
+cloud.google.com/go/beyondcorp v0.3.0/go.mod h1:E5U5lcrcXMsCuoDNyGrpyTm/hn7ne941Jz2vmksAxW8=
+cloud.google.com/go/beyondcorp v0.4.0/go.mod h1:3ApA0mbhHx6YImmuubf5pyW8srKnCEPON32/5hj+RmM=
+cloud.google.com/go/beyondcorp v0.5.0/go.mod h1:uFqj9X+dSfrheVp7ssLTaRHd2EHqSL4QZmH4e8WXGGU=
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/bigquery v1.42.0/go.mod h1:8dRTJxhtG+vwBKzE5OseQn/hiydoQN3EedCaOdYmxRA=
+cloud.google.com/go/bigquery v1.43.0/go.mod h1:ZMQcXHsl+xmU1z36G2jNGZmKp9zNY5BUua5wDgmNCfw=
+cloud.google.com/go/bigquery v1.44.0/go.mod h1:0Y33VqXTEsbamHJvJHdFmtqHvMIY28aK1+dFsvaChGc=
+cloud.google.com/go/bigquery v1.47.0/go.mod h1:sA9XOgy0A8vQK9+MWhEQTY6Tix87M/ZurWFIxmF9I/E=
+cloud.google.com/go/bigquery v1.48.0/go.mod h1:QAwSz+ipNgfL5jxiaK7weyOhzdoAy1zFm0Nf1fysJac=
+cloud.google.com/go/bigquery v1.49.0/go.mod h1:Sv8hMmTFFYBlt/ftw2uN6dFdQPzBlREY9yBh7Oy7/4Q=
+cloud.google.com/go/bigquery v1.50.0/go.mod h1:YrleYEh2pSEbgTBZYMJ5SuSr0ML3ypjRB1zgf7pvQLU=
+cloud.google.com/go/billing v1.4.0/go.mod h1:g9IdKBEFlItS8bTtlrZdVLWSSdSyFUZKXNS02zKMOZY=
+cloud.google.com/go/billing v1.5.0/go.mod h1:mztb1tBc3QekhjSgmpf/CV4LzWXLzCArwpLmP2Gm88s=
+cloud.google.com/go/billing v1.6.0/go.mod h1:WoXzguj+BeHXPbKfNWkqVtDdzORazmCjraY+vrxcyvI=
+cloud.google.com/go/billing v1.7.0/go.mod h1:q457N3Hbj9lYwwRbnlD7vUpyjq6u5U1RAOArInEiD5Y=
+cloud.google.com/go/billing v1.12.0/go.mod h1:yKrZio/eu+okO/2McZEbch17O5CB5NpZhhXG6Z766ss=
+cloud.google.com/go/billing v1.13.0/go.mod h1:7kB2W9Xf98hP9Sr12KfECgfGclsH3CQR0R08tnRlRbc=
+cloud.google.com/go/binaryauthorization v1.1.0/go.mod h1:xwnoWu3Y84jbuHa0zd526MJYmtnVXn0syOjaJgy4+dM=
+cloud.google.com/go/binaryauthorization v1.2.0/go.mod h1:86WKkJHtRcv5ViNABtYMhhNWRrD1Vpi//uKEy7aYEfI=
+cloud.google.com/go/binaryauthorization v1.3.0/go.mod h1:lRZbKgjDIIQvzYQS1p99A7/U1JqvqeZg0wiI5tp6tg0=
+cloud.google.com/go/binaryauthorization v1.4.0/go.mod h1:tsSPQrBd77VLplV70GUhBf/Zm3FsKmgSqgm4UmiDItk=
+cloud.google.com/go/binaryauthorization v1.5.0/go.mod h1:OSe4OU1nN/VswXKRBmciKpo9LulY41gch5c68htf3/Q=
+cloud.google.com/go/certificatemanager v1.3.0/go.mod h1:n6twGDvcUBFu9uBgt4eYvvf3sQ6My8jADcOVwHmzadg=
+cloud.google.com/go/certificatemanager v1.4.0/go.mod h1:vowpercVFyqs8ABSmrdV+GiFf2H/ch3KyudYQEMM590=
+cloud.google.com/go/certificatemanager v1.6.0/go.mod h1:3Hh64rCKjRAX8dXgRAyOcY5vQ/fE1sh8o+Mdd6KPgY8=
+cloud.google.com/go/channel v1.8.0/go.mod h1:W5SwCXDJsq/rg3tn3oG0LOxpAo6IMxNa09ngphpSlnk=
+cloud.google.com/go/channel v1.9.0/go.mod h1:jcu05W0my9Vx4mt3/rEHpfxc9eKi9XwsdDL8yBMbKUk=
+cloud.google.com/go/channel v1.11.0/go.mod h1:IdtI0uWGqhEeatSB62VOoJ8FSUhJ9/+iGkJVqp74CGE=
+cloud.google.com/go/channel v1.12.0/go.mod h1:VkxCGKASi4Cq7TbXxlaBezonAYpp1GCnKMY6tnMQnLU=
+cloud.google.com/go/cloudbuild v1.3.0/go.mod h1:WequR4ULxlqvMsjDEEEFnOG5ZSRSgWOywXYDb1vPE6U=
+cloud.google.com/go/cloudbuild v1.4.0/go.mod h1:5Qwa40LHiOXmz3386FrjrYM93rM/hdRr7b53sySrTqA=
+cloud.google.com/go/cloudbuild v1.6.0/go.mod h1:UIbc/w9QCbH12xX+ezUsgblrWv+Cv4Tw83GiSMHOn9M=
+cloud.google.com/go/cloudbuild v1.7.0/go.mod h1:zb5tWh2XI6lR9zQmsm1VRA+7OCuve5d8S+zJUul8KTg=
+cloud.google.com/go/cloudbuild v1.9.0/go.mod h1:qK1d7s4QlO0VwfYn5YuClDGg2hfmLZEb4wQGAbIgL1s=
+cloud.google.com/go/clouddms v1.3.0/go.mod h1:oK6XsCDdW4Ib3jCCBugx+gVjevp2TMXFtgxvPSee3OM=
+cloud.google.com/go/clouddms v1.4.0/go.mod h1:Eh7sUGCC+aKry14O1NRljhjyrr0NFC0G2cjwX0cByRk=
+cloud.google.com/go/clouddms v1.5.0/go.mod h1:QSxQnhikCLUw13iAbffF2CZxAER3xDGNHjsTAkQJcQA=
+cloud.google.com/go/cloudtasks v1.5.0/go.mod h1:fD92REy1x5woxkKEkLdvavGnPJGEn8Uic9nWuLzqCpY=
+cloud.google.com/go/cloudtasks v1.6.0/go.mod h1:C6Io+sxuke9/KNRkbQpihnW93SWDU3uXt92nu85HkYI=
+cloud.google.com/go/cloudtasks v1.7.0/go.mod h1:ImsfdYWwlWNJbdgPIIGJWC+gemEGTBK/SunNQQNCAb4=
+cloud.google.com/go/cloudtasks v1.8.0/go.mod h1:gQXUIwCSOI4yPVK7DgTVFiiP0ZW/eQkydWzwVMdHxrI=
+cloud.google.com/go/cloudtasks v1.9.0/go.mod h1:w+EyLsVkLWHcOaqNEyvcKAsWp9p29dL6uL9Nst1cI7Y=
+cloud.google.com/go/cloudtasks v1.10.0/go.mod h1:NDSoTLkZ3+vExFEWu2UJV1arUyzVDAiZtdWcsUyNwBs=
+cloud.google.com/go/compute v0.1.0/go.mod h1:GAesmwr110a34z04OlxYkATPBEfVhkymfTBXtfbBFow=
+cloud.google.com/go/compute v1.3.0/go.mod h1:cCZiE1NHEtai4wiufUhW8I8S1JKkAnhnQJWM7YD99wM=
+cloud.google.com/go/compute v1.5.0/go.mod h1:9SMHyhJlzhlkJqrPAc839t2BZFTSk6Jdj6mkzQJeu0M=
+cloud.google.com/go/compute v1.6.0/go.mod h1:T29tfhtVbq1wvAPo0E3+7vhgmkOYeXjhFvz/FMzPu0s=
+cloud.google.com/go/compute v1.6.1/go.mod h1:g85FgpzFvNULZ+S8AYq87axRKuf2Kh7deLqV/jJ3thU=
+cloud.google.com/go/compute v1.7.0/go.mod h1:435lt8av5oL9P3fv1OEzSbSUe+ybHXGMPQHHZWZxy9U=
+cloud.google.com/go/compute v1.10.0/go.mod h1:ER5CLbMxl90o2jtNbGSbtfOpQKR0t15FOtRsugnLrlU=
+cloud.google.com/go/compute v1.12.0/go.mod h1:e8yNOBcBONZU1vJKCvCoDw/4JQsA0dpM4x/6PIIOocU=
+cloud.google.com/go/compute v1.12.1/go.mod h1:e8yNOBcBONZU1vJKCvCoDw/4JQsA0dpM4x/6PIIOocU=
+cloud.google.com/go/compute v1.13.0/go.mod h1:5aPTS0cUNMIc1CE546K+Th6weJUNQErARyZtRXDJ8GE=
+cloud.google.com/go/compute v1.14.0/go.mod h1:YfLtxrj9sU4Yxv+sXzZkyPjEyPBZfXHUvjxega5vAdo=
+cloud.google.com/go/compute v1.15.1/go.mod h1:bjjoF/NtFUrkD/urWfdHaKuOPDR5nWIs63rR+SXhcpA=
+cloud.google.com/go/compute v1.18.0/go.mod h1:1X7yHxec2Ga+Ss6jPyjxRxpu2uu7PLgsOVXvgU0yacs=
+cloud.google.com/go/compute v1.19.0/go.mod h1:rikpw2y+UMidAe9tISo04EHNOIf42RLYF/q8Bs93scU=
+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/metadata v0.1.0/go.mod h1:Z1VN+bulIf6bt4P/C37K4DyZYZEXYonfTBHHFPO/4UU=
+cloud.google.com/go/compute/metadata v0.2.0/go.mod h1:zFmK7XCadkQkj6TtorcaGlCW1hT1fIilQDwofLpJ20k=
+cloud.google.com/go/compute/metadata v0.2.1/go.mod h1:jgHgmJd2RKBGzXqF5LR2EZMGxBkeanZ9wwa75XHJgOM=
+cloud.google.com/go/compute/metadata v0.2.3/go.mod h1:VAV5nSsACxMJvgaAuX6Pk2AawlZn8kiOGuCv6gTkwuA=
+cloud.google.com/go/contactcenterinsights v1.3.0/go.mod h1:Eu2oemoePuEFc/xKFPjbTuPSj0fYJcPls9TFlPNnHHY=
+cloud.google.com/go/contactcenterinsights v1.4.0/go.mod h1:L2YzkGbPsv+vMQMCADxJoT9YiTTnSEd6fEvCeHTYVck=
+cloud.google.com/go/contactcenterinsights v1.6.0/go.mod h1:IIDlT6CLcDoyv79kDv8iWxMSTZhLxSCofVV5W6YFM/w=
+cloud.google.com/go/container v1.6.0/go.mod h1:Xazp7GjJSeUYo688S+6J5V+n/t+G5sKBTFkKNudGRxg=
+cloud.google.com/go/container v1.7.0/go.mod h1:Dp5AHtmothHGX3DwwIHPgq45Y8KmNsgN3amoYfxVkLo=
+cloud.google.com/go/container v1.13.1/go.mod h1:6wgbMPeQRw9rSnKBCAJXnds3Pzj03C4JHamr8asWKy4=
+cloud.google.com/go/container v1.14.0/go.mod h1:3AoJMPhHfLDxLvrlVWaK57IXzaPnLaZq63WX59aQBfM=
+cloud.google.com/go/container v1.15.0/go.mod h1:ft+9S0WGjAyjDggg5S06DXj+fHJICWg8L7isCQe9pQA=
+cloud.google.com/go/containeranalysis v0.5.1/go.mod h1:1D92jd8gRR/c0fGMlymRgxWD3Qw9C1ff6/T7mLgVL8I=
+cloud.google.com/go/containeranalysis v0.6.0/go.mod h1:HEJoiEIu+lEXM+k7+qLCci0h33lX3ZqoYFdmPcoO7s4=
+cloud.google.com/go/containeranalysis v0.7.0/go.mod h1:9aUL+/vZ55P2CXfuZjS4UjQ9AgXoSw8Ts6lemfmxBxI=
+cloud.google.com/go/containeranalysis v0.9.0/go.mod h1:orbOANbwk5Ejoom+s+DUCTTJ7IBdBQJDcSylAx/on9s=
+cloud.google.com/go/datacatalog v1.3.0/go.mod h1:g9svFY6tuR+j+hrTw3J2dNcmI0dzmSiyOzm8kpLq0a0=
+cloud.google.com/go/datacatalog v1.5.0/go.mod h1:M7GPLNQeLfWqeIm3iuiruhPzkt65+Bx8dAKvScX8jvs=
+cloud.google.com/go/datacatalog v1.6.0/go.mod h1:+aEyF8JKg+uXcIdAmmaMUmZ3q1b/lKLtXCmXdnc0lbc=
+cloud.google.com/go/datacatalog v1.7.0/go.mod h1:9mEl4AuDYWw81UGc41HonIHH7/sn52H0/tc8f8ZbZIE=
+cloud.google.com/go/datacatalog v1.8.0/go.mod h1:KYuoVOv9BM8EYz/4eMFxrr4DUKhGIOXxZoKYF5wdISM=
+cloud.google.com/go/datacatalog v1.8.1/go.mod h1:RJ58z4rMp3gvETA465Vg+ag8BGgBdnRPEMMSTr5Uv+M=
+cloud.google.com/go/datacatalog v1.12.0/go.mod h1:CWae8rFkfp6LzLumKOnmVh4+Zle4A3NXLzVJ1d1mRm0=
+cloud.google.com/go/datacatalog v1.13.0/go.mod h1:E4Rj9a5ZtAxcQJlEBTLgMTphfP11/lNaAshpoBgemX8=
+cloud.google.com/go/dataflow v0.6.0/go.mod h1:9QwV89cGoxjjSR9/r7eFDqqjtvbKxAK2BaYU6PVk9UM=
+cloud.google.com/go/dataflow v0.7.0/go.mod h1:PX526vb4ijFMesO1o202EaUmouZKBpjHsTlCtB4parQ=
+cloud.google.com/go/dataflow v0.8.0/go.mod h1:Rcf5YgTKPtQyYz8bLYhFoIV/vP39eL7fWNcSOyFfLJE=
+cloud.google.com/go/dataform v0.3.0/go.mod h1:cj8uNliRlHpa6L3yVhDOBrUXH+BPAO1+KFMQQNSThKo=
+cloud.google.com/go/dataform v0.4.0/go.mod h1:fwV6Y4Ty2yIFL89huYlEkwUPtS7YZinZbzzj5S9FzCE=
+cloud.google.com/go/dataform v0.5.0/go.mod h1:GFUYRe8IBa2hcomWplodVmUx/iTL0FrsauObOM3Ipr0=
+cloud.google.com/go/dataform v0.6.0/go.mod h1:QPflImQy33e29VuapFdf19oPbE4aYTJxr31OAPV+ulA=
+cloud.google.com/go/dataform v0.7.0/go.mod h1:7NulqnVozfHvWUBpMDfKMUESr+85aJsC/2O0o3jWPDE=
+cloud.google.com/go/datafusion v1.4.0/go.mod h1:1Zb6VN+W6ALo85cXnM1IKiPw+yQMKMhB9TsTSRDo/38=
+cloud.google.com/go/datafusion v1.5.0/go.mod h1:Kz+l1FGHB0J+4XF2fud96WMmRiq/wj8N9u007vyXZ2w=
+cloud.google.com/go/datafusion v1.6.0/go.mod h1:WBsMF8F1RhSXvVM8rCV3AeyWVxcC2xY6vith3iw3S+8=
+cloud.google.com/go/datalabeling v0.5.0/go.mod h1:TGcJ0G2NzcsXSE/97yWjIZO0bXj0KbVlINXMG9ud42I=
+cloud.google.com/go/datalabeling v0.6.0/go.mod h1:WqdISuk/+WIGeMkpw/1q7bK/tFEZxsrFJOJdY2bXvTQ=
+cloud.google.com/go/datalabeling v0.7.0/go.mod h1:WPQb1y08RJbmpM3ww0CSUAGweL0SxByuW2E+FU+wXcM=
+cloud.google.com/go/dataplex v1.3.0/go.mod h1:hQuRtDg+fCiFgC8j0zV222HvzFQdRd+SVX8gdmFcZzA=
+cloud.google.com/go/dataplex v1.4.0/go.mod h1:X51GfLXEMVJ6UN47ESVqvlsRplbLhcsAt0kZCCKsU0A=
+cloud.google.com/go/dataplex v1.5.2/go.mod h1:cVMgQHsmfRoI5KFYq4JtIBEUbYwc3c7tXmIDhRmNNVQ=
+cloud.google.com/go/dataplex v1.6.0/go.mod h1:bMsomC/aEJOSpHXdFKFGQ1b0TDPIeL28nJObeO1ppRs=
+cloud.google.com/go/dataproc v1.7.0/go.mod h1:CKAlMjII9H90RXaMpSxQ8EU6dQx6iAYNPcYPOkSbi8s=
+cloud.google.com/go/dataproc v1.8.0/go.mod h1:5OW+zNAH0pMpw14JVrPONsxMQYMBqJuzORhIBfBn9uI=
+cloud.google.com/go/dataproc v1.12.0/go.mod h1:zrF3aX0uV3ikkMz6z4uBbIKyhRITnxvr4i3IjKsKrw4=
+cloud.google.com/go/dataqna v0.5.0/go.mod h1:90Hyk596ft3zUQ8NkFfvICSIfHFh1Bc7C4cK3vbhkeo=
+cloud.google.com/go/dataqna v0.6.0/go.mod h1:1lqNpM7rqNLVgWBJyk5NF6Uen2PHym0jtVJonplVsDA=
+cloud.google.com/go/dataqna v0.7.0/go.mod h1:Lx9OcIIeqCrw1a6KdO3/5KMP1wAmTc0slZWwP12Qq3c=
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/datastore v1.10.0/go.mod h1:PC5UzAmDEkAmkfaknstTYbNpgE49HAgW2J1gcgUfmdM=
+cloud.google.com/go/datastore v1.11.0/go.mod h1:TvGxBIHCS50u8jzG+AW/ppf87v1of8nwzFNgEZU1D3c=
+cloud.google.com/go/datastream v1.2.0/go.mod h1:i/uTP8/fZwgATHS/XFu0TcNUhuA0twZxxQ3EyCUQMwo=
+cloud.google.com/go/datastream v1.3.0/go.mod h1:cqlOX8xlyYF/uxhiKn6Hbv6WjwPPuI9W2M9SAXwaLLQ=
+cloud.google.com/go/datastream v1.4.0/go.mod h1:h9dpzScPhDTs5noEMQVWP8Wx8AFBRyS0s8KWPx/9r0g=
+cloud.google.com/go/datastream v1.5.0/go.mod h1:6TZMMNPwjUqZHBKPQ1wwXpb0d5VDVPl2/XoS5yi88q4=
+cloud.google.com/go/datastream v1.6.0/go.mod h1:6LQSuswqLa7S4rPAOZFVjHIG3wJIjZcZrw8JDEDJuIs=
+cloud.google.com/go/datastream v1.7.0/go.mod h1:uxVRMm2elUSPuh65IbZpzJNMbuzkcvu5CjMqVIUHrww=
+cloud.google.com/go/deploy v1.4.0/go.mod h1:5Xghikd4VrmMLNaF6FiRFDlHb59VM59YoDQnOUdsH/c=
+cloud.google.com/go/deploy v1.5.0/go.mod h1:ffgdD0B89tToyW/U/D2eL0jN2+IEV/3EMuXHA0l4r+s=
+cloud.google.com/go/deploy v1.6.0/go.mod h1:f9PTHehG/DjCom3QH0cntOVRm93uGBDt2vKzAPwpXQI=
+cloud.google.com/go/deploy v1.8.0/go.mod h1:z3myEJnA/2wnB4sgjqdMfgxCA0EqC3RBTNcVPs93mtQ=
+cloud.google.com/go/dialogflow v1.15.0/go.mod h1:HbHDWs33WOGJgn6rfzBW1Kv807BE3O1+xGbn59zZWI4=
+cloud.google.com/go/dialogflow v1.16.1/go.mod h1:po6LlzGfK+smoSmTBnbkIZY2w8ffjz/RcGSS+sh1el0=
+cloud.google.com/go/dialogflow v1.17.0/go.mod h1:YNP09C/kXA1aZdBgC/VtXX74G/TKn7XVCcVumTflA+8=
+cloud.google.com/go/dialogflow v1.18.0/go.mod h1:trO7Zu5YdyEuR+BhSNOqJezyFQ3aUzz0njv7sMx/iek=
+cloud.google.com/go/dialogflow v1.19.0/go.mod h1:JVmlG1TwykZDtxtTXujec4tQ+D8SBFMoosgy+6Gn0s0=
+cloud.google.com/go/dialogflow v1.29.0/go.mod h1:b+2bzMe+k1s9V+F2jbJwpHPzrnIyHihAdRFMtn2WXuM=
+cloud.google.com/go/dialogflow v1.31.0/go.mod h1:cuoUccuL1Z+HADhyIA7dci3N5zUssgpBJmCzI6fNRB4=
+cloud.google.com/go/dialogflow v1.32.0/go.mod h1:jG9TRJl8CKrDhMEcvfcfFkkpp8ZhgPz3sBGmAUYJ2qE=
+cloud.google.com/go/dlp v1.6.0/go.mod h1:9eyB2xIhpU0sVwUixfBubDoRwP+GjeUoxxeueZmqvmM=
+cloud.google.com/go/dlp v1.7.0/go.mod h1:68ak9vCiMBjbasxeVD17hVPxDEck+ExiHavX8kiHG+Q=
+cloud.google.com/go/dlp v1.9.0/go.mod h1:qdgmqgTyReTz5/YNSSuueR8pl7hO0o9bQ39ZhtgkWp4=
+cloud.google.com/go/documentai v1.7.0/go.mod h1:lJvftZB5NRiFSX4moiye1SMxHx0Bc3x1+p9e/RfXYiU=
+cloud.google.com/go/documentai v1.8.0/go.mod h1:xGHNEB7CtsnySCNrCFdCyyMz44RhFEEX2Q7UD0c5IhU=
+cloud.google.com/go/documentai v1.9.0/go.mod h1:FS5485S8R00U10GhgBC0aNGrJxBP8ZVpEeJ7PQDZd6k=
+cloud.google.com/go/documentai v1.10.0/go.mod h1:vod47hKQIPeCfN2QS/jULIvQTugbmdc0ZvxxfQY1bg4=
+cloud.google.com/go/documentai v1.16.0/go.mod h1:o0o0DLTEZ+YnJZ+J4wNfTxmDVyrkzFvttBXXtYRMHkM=
+cloud.google.com/go/documentai v1.18.0/go.mod h1:F6CK6iUH8J81FehpskRmhLq/3VlwQvb7TvwOceQ2tbs=
+cloud.google.com/go/domains v0.6.0/go.mod h1:T9Rz3GasrpYk6mEGHh4rymIhjlnIuB4ofT1wTxDeT4Y=
+cloud.google.com/go/domains v0.7.0/go.mod h1:PtZeqS1xjnXuRPKE/88Iru/LdfoRyEHYA9nFQf4UKpg=
+cloud.google.com/go/domains v0.8.0/go.mod h1:M9i3MMDzGFXsydri9/vW+EWz9sWb4I6WyHqdlAk0idE=
+cloud.google.com/go/edgecontainer v0.1.0/go.mod h1:WgkZ9tp10bFxqO8BLPqv2LlfmQF1X8lZqwW4r1BTajk=
+cloud.google.com/go/edgecontainer v0.2.0/go.mod h1:RTmLijy+lGpQ7BXuTDa4C4ssxyXT34NIuHIgKuP4s5w=
+cloud.google.com/go/edgecontainer v0.3.0/go.mod h1:FLDpP4nykgwwIfcLt6zInhprzw0lEi2P1fjO6Ie0qbc=
+cloud.google.com/go/edgecontainer v1.0.0/go.mod h1:cttArqZpBB2q58W/upSG++ooo6EsblxDIolxa3jSjbY=
+cloud.google.com/go/errorreporting v0.3.0/go.mod h1:xsP2yaAp+OAW4OIm60An2bbLpqIhKXdWR/tawvl7QzU=
+cloud.google.com/go/essentialcontacts v1.3.0/go.mod h1:r+OnHa5jfj90qIfZDO/VztSFqbQan7HV75p8sA+mdGI=
+cloud.google.com/go/essentialcontacts v1.4.0/go.mod h1:8tRldvHYsmnBCHdFpvU+GL75oWiBKl80BiqlFh9tp+8=
+cloud.google.com/go/essentialcontacts v1.5.0/go.mod h1:ay29Z4zODTuwliK7SnX8E86aUF2CTzdNtvv42niCX0M=
+cloud.google.com/go/eventarc v1.7.0/go.mod h1:6ctpF3zTnaQCxUjHUdcfgcA1A2T309+omHZth7gDfmc=
+cloud.google.com/go/eventarc v1.8.0/go.mod h1:imbzxkyAU4ubfsaKYdQg04WS1NvncblHEup4kvF+4gw=
+cloud.google.com/go/eventarc v1.10.0/go.mod h1:u3R35tmZ9HvswGRBnF48IlYgYeBcPUCjkr4BTdem2Kw=
+cloud.google.com/go/eventarc v1.11.0/go.mod h1:PyUjsUKPWoRBCHeOxZd/lbOOjahV41icXyUY5kSTvVY=
+cloud.google.com/go/filestore v1.3.0/go.mod h1:+qbvHGvXU1HaKX2nD0WEPo92TP/8AQuCVEBXNY9z0+w=
+cloud.google.com/go/filestore v1.4.0/go.mod h1:PaG5oDfo9r224f8OYXURtAsY+Fbyq/bLYoINEK8XQAI=
+cloud.google.com/go/filestore v1.5.0/go.mod h1:FqBXDWBp4YLHqRnVGveOkHDf8svj9r5+mUDLupOWEDs=
+cloud.google.com/go/filestore v1.6.0/go.mod h1:di5unNuss/qfZTw2U9nhFqo8/ZDSc466dre85Kydllg=
+cloud.google.com/go/firestore v1.9.0/go.mod h1:HMkjKHNTtRyZNiMzu7YAsLr9K3X2udY2AMwDaMEQiiE=
+cloud.google.com/go/functions v1.6.0/go.mod h1:3H1UA3qiIPRWD7PeZKLvHZ9SaQhR26XIJcC0A5GbvAk=
+cloud.google.com/go/functions v1.7.0/go.mod h1:+d+QBcWM+RsrgZfV9xo6KfA1GlzJfxcfZcRPEhDDfzg=
+cloud.google.com/go/functions v1.8.0/go.mod h1:RTZ4/HsQjIqIYP9a9YPbU+QFoQsAlYgrwOXJWHn1POY=
+cloud.google.com/go/functions v1.9.0/go.mod h1:Y+Dz8yGguzO3PpIjhLTbnqV1CWmgQ5UwtlpzoyquQ08=
+cloud.google.com/go/functions v1.10.0/go.mod h1:0D3hEOe3DbEvCXtYOZHQZmD+SzYsi1YbI7dGvHfldXw=
+cloud.google.com/go/functions v1.12.0/go.mod h1:AXWGrF3e2C/5ehvwYo/GH6O5s09tOPksiKhz+hH8WkA=
+cloud.google.com/go/functions v1.13.0/go.mod h1:EU4O007sQm6Ef/PwRsI8N2umygGqPBS/IZQKBQBcJ3c=
+cloud.google.com/go/gaming v1.5.0/go.mod h1:ol7rGcxP/qHTRQE/RO4bxkXq+Fix0j6D4LFPzYTIrDM=
+cloud.google.com/go/gaming v1.6.0/go.mod h1:YMU1GEvA39Qt3zWGyAVA9bpYz/yAhTvaQ1t2sK4KPUA=
+cloud.google.com/go/gaming v1.7.0/go.mod h1:LrB8U7MHdGgFG851iHAfqUdLcKBdQ55hzXy9xBJz0+w=
+cloud.google.com/go/gaming v1.8.0/go.mod h1:xAqjS8b7jAVW0KFYeRUxngo9My3f33kFmua++Pi+ggM=
+cloud.google.com/go/gaming v1.9.0/go.mod h1:Fc7kEmCObylSWLO334NcO+O9QMDyz+TKC4v1D7X+Bc0=
+cloud.google.com/go/gkebackup v0.2.0/go.mod h1:XKvv/4LfG829/B8B7xRkk8zRrOEbKtEam6yNfuQNH60=
+cloud.google.com/go/gkebackup v0.3.0/go.mod h1:n/E671i1aOQvUxT541aTkCwExO/bTer2HDlj4TsBRAo=
+cloud.google.com/go/gkebackup v0.4.0/go.mod h1:byAyBGUwYGEEww7xsbnUTBHIYcOPy/PgUWUtOeRm9Vg=
+cloud.google.com/go/gkeconnect v0.5.0/go.mod h1:c5lsNAg5EwAy7fkqX/+goqFsU1Da/jQFqArp+wGNr/o=
+cloud.google.com/go/gkeconnect v0.6.0/go.mod h1:Mln67KyU/sHJEBY8kFZ0xTeyPtzbq9StAVvEULYK16A=
+cloud.google.com/go/gkeconnect v0.7.0/go.mod h1:SNfmVqPkaEi3bF/B3CNZOAYPYdg7sU+obZ+QTky2Myw=
+cloud.google.com/go/gkehub v0.9.0/go.mod h1:WYHN6WG8w9bXU0hqNxt8rm5uxnk8IH+lPY9J2TV7BK0=
+cloud.google.com/go/gkehub v0.10.0/go.mod h1:UIPwxI0DsrpsVoWpLB0stwKCP+WFVG9+y977wO+hBH0=
+cloud.google.com/go/gkehub v0.11.0/go.mod h1:JOWHlmN+GHyIbuWQPl47/C2RFhnFKH38jH9Ascu3n0E=
+cloud.google.com/go/gkehub v0.12.0/go.mod h1:djiIwwzTTBrF5NaXCGv3mf7klpEMcST17VBTVVDcuaw=
+cloud.google.com/go/gkemulticloud v0.3.0/go.mod h1:7orzy7O0S+5kq95e4Hpn7RysVA7dPs8W/GgfUtsPbrA=
+cloud.google.com/go/gkemulticloud v0.4.0/go.mod h1:E9gxVBnseLWCk24ch+P9+B2CoDFJZTyIgLKSalC7tuI=
+cloud.google.com/go/gkemulticloud v0.5.0/go.mod h1:W0JDkiyi3Tqh0TJr//y19wyb1yf8llHVto2Htf2Ja3Y=
+cloud.google.com/go/grafeas v0.2.0/go.mod h1:KhxgtF2hb0P191HlY5besjYm6MqTSTj3LSI+M+ByZHc=
+cloud.google.com/go/gsuiteaddons v1.3.0/go.mod h1:EUNK/J1lZEZO8yPtykKxLXI6JSVN2rg9bN8SXOa0bgM=
+cloud.google.com/go/gsuiteaddons v1.4.0/go.mod h1:rZK5I8hht7u7HxFQcFei0+AtfS9uSushomRlg+3ua1o=
+cloud.google.com/go/gsuiteaddons v1.5.0/go.mod h1:TFCClYLd64Eaa12sFVmUyG62tk4mdIsI7pAnSXRkcFo=
+cloud.google.com/go/iam v0.1.0/go.mod h1:vcUNEa0pEm0qRVpmWepWaFMIAI8/hjB9mO8rNCJtF6c=
+cloud.google.com/go/iam v0.3.0/go.mod h1:XzJPvDayI+9zsASAFO68Hk07u3z+f+JrT2xXNdp4bnY=
+cloud.google.com/go/iam v0.5.0/go.mod h1:wPU9Vt0P4UmCux7mqtRu6jcpPAb74cP1fh50J3QpkUc=
+cloud.google.com/go/iam v0.6.0/go.mod h1:+1AH33ueBne5MzYccyMHtEKqLE4/kJOibtffMHDMFMc=
+cloud.google.com/go/iam v0.7.0/go.mod h1:H5Br8wRaDGNc8XP3keLc4unfUUZeyH3Sfl9XpQEYOeg=
+cloud.google.com/go/iam v0.8.0/go.mod h1:lga0/y3iH6CX7sYqypWJ33hf7kkfXJag67naqGESjkE=
+cloud.google.com/go/iam v0.11.0/go.mod h1:9PiLDanza5D+oWFZiH1uG+RnRCfEGKoyl6yo4cgWZGY=
+cloud.google.com/go/iam v0.12.0/go.mod h1:knyHGviacl11zrtZUoDuYpDgLjvr28sLQaG0YB2GYAY=
+cloud.google.com/go/iam v0.13.0/go.mod h1:ljOg+rcNfzZ5d6f1nAUJ8ZIxOaZUVoS14bKCtaLZ/D0=
+cloud.google.com/go/iap v1.4.0/go.mod h1:RGFwRJdihTINIe4wZ2iCP0zF/qu18ZwyKxrhMhygBEc=
+cloud.google.com/go/iap v1.5.0/go.mod h1:UH/CGgKd4KyohZL5Pt0jSKE4m3FR51qg6FKQ/z/Ix9A=
+cloud.google.com/go/iap v1.6.0/go.mod h1:NSuvI9C/j7UdjGjIde7t7HBz+QTwBcapPE07+sSRcLk=
+cloud.google.com/go/iap v1.7.0/go.mod h1:beqQx56T9O1G1yNPph+spKpNibDlYIiIixiqsQXxLIo=
+cloud.google.com/go/iap v1.7.1/go.mod h1:WapEwPc7ZxGt2jFGB/C/bm+hP0Y6NXzOYGjpPnmMS74=
+cloud.google.com/go/ids v1.1.0/go.mod h1:WIuwCaYVOzHIj2OhN9HAwvW+DBdmUAdcWlFxRl+KubM=
+cloud.google.com/go/ids v1.2.0/go.mod h1:5WXvp4n25S0rA/mQWAg1YEEBBq6/s+7ml1RDCW1IrcY=
+cloud.google.com/go/ids v1.3.0/go.mod h1:JBdTYwANikFKaDP6LtW5JAi4gubs57SVNQjemdt6xV4=
+cloud.google.com/go/iot v1.3.0/go.mod h1:r7RGh2B61+B8oz0AGE+J72AhA0G7tdXItODWsaA2oLs=
+cloud.google.com/go/iot v1.4.0/go.mod h1:dIDxPOn0UvNDUMD8Ger7FIaTuvMkj+aGk94RPP0iV+g=
+cloud.google.com/go/iot v1.5.0/go.mod h1:mpz5259PDl3XJthEmh9+ap0affn/MqNSP4My77Qql9o=
+cloud.google.com/go/iot v1.6.0/go.mod h1:IqdAsmE2cTYYNO1Fvjfzo9po179rAtJeVGUvkLN3rLE=
+cloud.google.com/go/kms v1.4.0/go.mod h1:fajBHndQ+6ubNw6Ss2sSd+SWvjL26RNo/dr7uxsnnOA=
+cloud.google.com/go/kms v1.5.0/go.mod h1:QJS2YY0eJGBg3mnDfuaCyLauWwBJiHRboYxJ++1xJNg=
+cloud.google.com/go/kms v1.6.0/go.mod h1:Jjy850yySiasBUDi6KFUwUv2n1+o7QZFyuUJg6OgjA0=
+cloud.google.com/go/kms v1.8.0/go.mod h1:4xFEhYFqvW+4VMELtZyxomGSYtSQKzM178ylFW4jMAg=
+cloud.google.com/go/kms v1.9.0/go.mod h1:qb1tPTgfF9RQP8e1wq4cLFErVuTJv7UsSC915J8dh3w=
+cloud.google.com/go/kms v1.10.0/go.mod h1:ng3KTUtQQU9bPX3+QGLsflZIHlkbn8amFAMY63m8d24=
+cloud.google.com/go/kms v1.10.1/go.mod h1:rIWk/TryCkR59GMC3YtHtXeLzd634lBbKenvyySAyYI=
+cloud.google.com/go/language v1.4.0/go.mod h1:F9dRpNFQmJbkaop6g0JhSBXCNlO90e1KWx5iDdxbWic=
+cloud.google.com/go/language v1.6.0/go.mod h1:6dJ8t3B+lUYfStgls25GusK04NLh3eDLQnWM3mdEbhI=
+cloud.google.com/go/language v1.7.0/go.mod h1:DJ6dYN/W+SQOjF8e1hLQXMF21AkH2w9wiPzPCJa2MIE=
+cloud.google.com/go/language v1.8.0/go.mod h1:qYPVHf7SPoNNiCL2Dr0FfEFNil1qi3pQEyygwpgVKB8=
+cloud.google.com/go/language v1.9.0/go.mod h1:Ns15WooPM5Ad/5no/0n81yUetis74g3zrbeJBE+ptUY=
+cloud.google.com/go/lifesciences v0.5.0/go.mod h1:3oIKy8ycWGPUyZDR/8RNnTOYevhaMLqh5vLUXs9zvT8=
+cloud.google.com/go/lifesciences v0.6.0/go.mod h1:ddj6tSX/7BOnhxCSd3ZcETvtNr8NZ6t/iPhY2Tyfu08=
+cloud.google.com/go/lifesciences v0.8.0/go.mod h1:lFxiEOMqII6XggGbOnKiyZ7IBwoIqA84ClvoezaA/bo=
+cloud.google.com/go/logging v1.6.1/go.mod h1:5ZO0mHHbvm8gEmeEUHrmDlTDSu5imF6MUP9OfilNXBw=
+cloud.google.com/go/logging v1.7.0/go.mod h1:3xjP2CjkM3ZkO73aj4ASA5wRPGGCRrPIAeNqVNkzY8M=
+cloud.google.com/go/longrunning v0.1.1/go.mod h1:UUFxuDWkv22EuY93jjmDMFT5GPQKeFVJBIF6QlTqdsE=
+cloud.google.com/go/longrunning v0.3.0/go.mod h1:qth9Y41RRSUE69rDcOn6DdK3HfQfsUI0YSmW3iIlLJc=
+cloud.google.com/go/longrunning v0.4.1/go.mod h1:4iWDqhBZ70CvZ6BfETbvam3T8FMvLK+eFj0E6AaRQTo=
+cloud.google.com/go/managedidentities v1.3.0/go.mod h1:UzlW3cBOiPrzucO5qWkNkh0w33KFtBJU281hacNvsdE=
+cloud.google.com/go/managedidentities v1.4.0/go.mod h1:NWSBYbEMgqmbZsLIyKvxrYbtqOsxY1ZrGM+9RgDqInM=
+cloud.google.com/go/managedidentities v1.5.0/go.mod h1:+dWcZ0JlUmpuxpIDfyP5pP5y0bLdRwOS4Lp7gMni/LA=
+cloud.google.com/go/maps v0.1.0/go.mod h1:BQM97WGyfw9FWEmQMpZ5T6cpovXXSd1cGmFma94eubI=
+cloud.google.com/go/maps v0.6.0/go.mod h1:o6DAMMfb+aINHz/p/jbcY+mYeXBoZoxTfdSQ8VAJaCw=
+cloud.google.com/go/maps v0.7.0/go.mod h1:3GnvVl3cqeSvgMcpRlQidXsPYuDGQ8naBis7MVzpXsY=
+cloud.google.com/go/mediatranslation v0.5.0/go.mod h1:jGPUhGTybqsPQn91pNXw0xVHfuJ3leR1wj37oU3y1f4=
+cloud.google.com/go/mediatranslation v0.6.0/go.mod h1:hHdBCTYNigsBxshbznuIMFNe5QXEowAuNmmC7h8pu5w=
+cloud.google.com/go/mediatranslation v0.7.0/go.mod h1:LCnB/gZr90ONOIQLgSXagp8XUW1ODs2UmUMvcgMfI2I=
+cloud.google.com/go/memcache v1.4.0/go.mod h1:rTOfiGZtJX1AaFUrOgsMHX5kAzaTQ8azHiuDoTPzNsE=
+cloud.google.com/go/memcache v1.5.0/go.mod h1:dk3fCK7dVo0cUU2c36jKb4VqKPS22BTkf81Xq617aWM=
+cloud.google.com/go/memcache v1.6.0/go.mod h1:XS5xB0eQZdHtTuTF9Hf8eJkKtR3pVRCcvJwtm68T3rA=
+cloud.google.com/go/memcache v1.7.0/go.mod h1:ywMKfjWhNtkQTxrWxCkCFkoPjLHPW6A7WOTVI8xy3LY=
+cloud.google.com/go/memcache v1.9.0/go.mod h1:8oEyzXCu+zo9RzlEaEjHl4KkgjlNDaXbCQeQWlzNFJM=
+cloud.google.com/go/metastore v1.5.0/go.mod h1:2ZNrDcQwghfdtCwJ33nM0+GrBGlVuh8rakL3vdPY3XY=
+cloud.google.com/go/metastore v1.6.0/go.mod h1:6cyQTls8CWXzk45G55x57DVQ9gWg7RiH65+YgPsNh9s=
+cloud.google.com/go/metastore v1.7.0/go.mod h1:s45D0B4IlsINu87/AsWiEVYbLaIMeUSoxlKKDqBGFS8=
+cloud.google.com/go/metastore v1.8.0/go.mod h1:zHiMc4ZUpBiM7twCIFQmJ9JMEkDSyZS9U12uf7wHqSI=
+cloud.google.com/go/metastore v1.10.0/go.mod h1:fPEnH3g4JJAk+gMRnrAnoqyv2lpUCqJPWOodSaf45Eo=
+cloud.google.com/go/monitoring v1.7.0/go.mod h1:HpYse6kkGo//7p6sT0wsIC6IBDET0RhIsnmlA53dvEk=
+cloud.google.com/go/monitoring v1.8.0/go.mod h1:E7PtoMJ1kQXWxPjB6mv2fhC5/15jInuulFdYYtlcvT4=
+cloud.google.com/go/monitoring v1.12.0/go.mod h1:yx8Jj2fZNEkL/GYZyTLS4ZtZEZN8WtDEiEqG4kLK50w=
+cloud.google.com/go/monitoring v1.13.0/go.mod h1:k2yMBAB1H9JT/QETjNkgdCGD9bPF712XiLTVr+cBrpw=
+cloud.google.com/go/networkconnectivity v1.4.0/go.mod h1:nOl7YL8odKyAOtzNX73/M5/mGZgqqMeryi6UPZTk/rA=
+cloud.google.com/go/networkconnectivity v1.5.0/go.mod h1:3GzqJx7uhtlM3kln0+x5wyFvuVH1pIBJjhCpjzSt75o=
+cloud.google.com/go/networkconnectivity v1.6.0/go.mod h1:OJOoEXW+0LAxHh89nXd64uGG+FbQoeH8DtxCHVOMlaM=
+cloud.google.com/go/networkconnectivity v1.7.0/go.mod h1:RMuSbkdbPwNMQjB5HBWD5MpTBnNm39iAVpC3TmsExt8=
+cloud.google.com/go/networkconnectivity v1.10.0/go.mod h1:UP4O4sWXJG13AqrTdQCD9TnLGEbtNRqjuaaA7bNjF5E=
+cloud.google.com/go/networkconnectivity v1.11.0/go.mod h1:iWmDD4QF16VCDLXUqvyspJjIEtBR/4zq5hwnY2X3scM=
+cloud.google.com/go/networkmanagement v1.4.0/go.mod h1:Q9mdLLRn60AsOrPc8rs8iNV6OHXaGcDdsIQe1ohekq8=
+cloud.google.com/go/networkmanagement v1.5.0/go.mod h1:ZnOeZ/evzUdUsnvRt792H0uYEnHQEMaz+REhhzJRcf4=
+cloud.google.com/go/networkmanagement v1.6.0/go.mod h1:5pKPqyXjB/sgtvB5xqOemumoQNB7y95Q7S+4rjSOPYY=
+cloud.google.com/go/networksecurity v0.5.0/go.mod h1:xS6fOCoqpVC5zx15Z/MqkfDwH4+m/61A3ODiDV1xmiQ=
+cloud.google.com/go/networksecurity v0.6.0/go.mod h1:Q5fjhTr9WMI5mbpRYEbiexTzROf7ZbDzvzCrNl14nyU=
+cloud.google.com/go/networksecurity v0.7.0/go.mod h1:mAnzoxx/8TBSyXEeESMy9OOYwo1v+gZ5eMRnsT5bC8k=
+cloud.google.com/go/networksecurity v0.8.0/go.mod h1:B78DkqsxFG5zRSVuwYFRZ9Xz8IcQ5iECsNrPn74hKHU=
+cloud.google.com/go/notebooks v1.2.0/go.mod h1:9+wtppMfVPUeJ8fIWPOq1UnATHISkGXGqTkxeieQ6UY=
+cloud.google.com/go/notebooks v1.3.0/go.mod h1:bFR5lj07DtCPC7YAAJ//vHskFBxA5JzYlH68kXVdk34=
+cloud.google.com/go/notebooks v1.4.0/go.mod h1:4QPMngcwmgb6uw7Po99B2xv5ufVoIQ7nOGDyL4P8AgA=
+cloud.google.com/go/notebooks v1.5.0/go.mod h1:q8mwhnP9aR8Hpfnrc5iN5IBhrXUy8S2vuYs+kBJ/gu0=
+cloud.google.com/go/notebooks v1.7.0/go.mod h1:PVlaDGfJgj1fl1S3dUwhFMXFgfYGhYQt2164xOMONmE=
+cloud.google.com/go/notebooks v1.8.0/go.mod h1:Lq6dYKOYOWUCTvw5t2q1gp1lAp0zxAxRycayS0iJcqQ=
+cloud.google.com/go/optimization v1.1.0/go.mod h1:5po+wfvX5AQlPznyVEZjGJTMr4+CAkJf2XSTQOOl9l4=
+cloud.google.com/go/optimization v1.2.0/go.mod h1:Lr7SOHdRDENsh+WXVmQhQTrzdu9ybg0NecjHidBq6xs=
+cloud.google.com/go/optimization v1.3.1/go.mod h1:IvUSefKiwd1a5p0RgHDbWCIbDFgKuEdB+fPPuP0IDLI=
+cloud.google.com/go/orchestration v1.3.0/go.mod h1:Sj5tq/JpWiB//X/q3Ngwdl5K7B7Y0KZ7bfv0wL6fqVA=
+cloud.google.com/go/orchestration v1.4.0/go.mod h1:6W5NLFWs2TlniBphAViZEVhrXRSMgUGDfW7vrWKvsBk=
+cloud.google.com/go/orchestration v1.6.0/go.mod h1:M62Bevp7pkxStDfFfTuCOaXgaaqRAga1yKyoMtEoWPQ=
+cloud.google.com/go/orgpolicy v1.4.0/go.mod h1:xrSLIV4RePWmP9P3tBl8S93lTmlAxjm06NSm2UTmKvE=
+cloud.google.com/go/orgpolicy v1.5.0/go.mod h1:hZEc5q3wzwXJaKrsx5+Ewg0u1LxJ51nNFlext7Tanwc=
+cloud.google.com/go/orgpolicy v1.10.0/go.mod h1:w1fo8b7rRqlXlIJbVhOMPrwVljyuW5mqssvBtU18ONc=
+cloud.google.com/go/osconfig v1.7.0/go.mod h1:oVHeCeZELfJP7XLxcBGTMBvRO+1nQ5tFG9VQTmYS2Fs=
+cloud.google.com/go/osconfig v1.8.0/go.mod h1:EQqZLu5w5XA7eKizepumcvWx+m8mJUhEwiPqWiZeEdg=
+cloud.google.com/go/osconfig v1.9.0/go.mod h1:Yx+IeIZJ3bdWmzbQU4fxNl8xsZ4amB+dygAwFPlvnNo=
+cloud.google.com/go/osconfig v1.10.0/go.mod h1:uMhCzqC5I8zfD9zDEAfvgVhDS8oIjySWh+l4WK6GnWw=
+cloud.google.com/go/osconfig v1.11.0/go.mod h1:aDICxrur2ogRd9zY5ytBLV89KEgT2MKB2L/n6x1ooPw=
+cloud.google.com/go/oslogin v1.4.0/go.mod h1:YdgMXWRaElXz/lDk1Na6Fh5orF7gvmJ0FGLIs9LId4E=
+cloud.google.com/go/oslogin v1.5.0/go.mod h1:D260Qj11W2qx/HVF29zBg+0fd6YCSjSqLUkY/qEenQU=
+cloud.google.com/go/oslogin v1.6.0/go.mod h1:zOJ1O3+dTU8WPlGEkFSh7qeHPPSoxrcMbbK1Nm2iX70=
+cloud.google.com/go/oslogin v1.7.0/go.mod h1:e04SN0xO1UNJ1M5GP0vzVBFicIe4O53FOfcixIqTyXo=
+cloud.google.com/go/oslogin v1.9.0/go.mod h1:HNavntnH8nzrn8JCTT5fj18FuJLFJc4NaZJtBnQtKFs=
+cloud.google.com/go/phishingprotection v0.5.0/go.mod h1:Y3HZknsK9bc9dMi+oE8Bim0lczMU6hrX0UpADuMefr0=
+cloud.google.com/go/phishingprotection v0.6.0/go.mod h1:9Y3LBLgy0kDTcYET8ZH3bq/7qni15yVUoAxiFxnlSUA=
+cloud.google.com/go/phishingprotection v0.7.0/go.mod h1:8qJI4QKHoda/sb/7/YmMQ2omRLSLYSu9bU0EKCNI+Lk=
+cloud.google.com/go/policytroubleshooter v1.3.0/go.mod h1:qy0+VwANja+kKrjlQuOzmlvscn4RNsAc0e15GGqfMxg=
+cloud.google.com/go/policytroubleshooter v1.4.0/go.mod h1:DZT4BcRw3QoO8ota9xw/LKtPa8lKeCByYeKTIf/vxdE=
+cloud.google.com/go/policytroubleshooter v1.5.0/go.mod h1:Rz1WfV+1oIpPdN2VvvuboLVRsB1Hclg3CKQ53j9l8vw=
+cloud.google.com/go/policytroubleshooter v1.6.0/go.mod h1:zYqaPTsmfvpjm5ULxAyD/lINQxJ0DDsnWOP/GZ7xzBc=
+cloud.google.com/go/privatecatalog v0.5.0/go.mod h1:XgosMUvvPyxDjAVNDYxJ7wBW8//hLDDYmnsNcMGq1K0=
+cloud.google.com/go/privatecatalog v0.6.0/go.mod h1:i/fbkZR0hLN29eEWiiwue8Pb+GforiEIBnV9yrRUOKI=
+cloud.google.com/go/privatecatalog v0.7.0/go.mod h1:2s5ssIFO69F5csTXcwBP7NPFTZvps26xGzvQ2PQaBYg=
+cloud.google.com/go/privatecatalog v0.8.0/go.mod h1:nQ6pfaegeDAq/Q5lrfCQzQLhubPiZhSaNhIgfJlnIXs=
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/pubsub v1.26.0/go.mod h1:QgBH3U/jdJy/ftjPhTkyXNj543Tin1pRYcdcPRnFIRI=
+cloud.google.com/go/pubsub v1.27.1/go.mod h1:hQN39ymbV9geqBnfQq6Xf63yNhUAhv9CZhzp5O6qsW0=
+cloud.google.com/go/pubsub v1.28.0/go.mod h1:vuXFpwaVoIPQMGXqRyUQigu/AX1S3IWugR9xznmcXX8=
+cloud.google.com/go/pubsub v1.30.0/go.mod h1:qWi1OPS0B+b5L+Sg6Gmc9zD1Y+HaM0MdUr7LsupY1P4=
+cloud.google.com/go/pubsublite v1.5.0/go.mod h1:xapqNQ1CuLfGi23Yda/9l4bBCKz/wC3KIJ5gKcxveZg=
+cloud.google.com/go/pubsublite v1.6.0/go.mod h1:1eFCS0U11xlOuMFV/0iBqw3zP12kddMeCbj/F3FSj9k=
+cloud.google.com/go/pubsublite v1.7.0/go.mod h1:8hVMwRXfDfvGm3fahVbtDbiLePT3gpoiJYJY+vxWxVM=
+cloud.google.com/go/recaptchaenterprise v1.3.1/go.mod h1:OdD+q+y4XGeAlxRaMn1Y7/GveP6zmq76byL6tjPE7d4=
+cloud.google.com/go/recaptchaenterprise/v2 v2.1.0/go.mod h1:w9yVqajwroDNTfGuhmOjPDN//rZGySaf6PtFVcSCa7o=
+cloud.google.com/go/recaptchaenterprise/v2 v2.2.0/go.mod h1:/Zu5jisWGeERrd5HnlS3EUGb/D335f9k51B/FVil0jk=
+cloud.google.com/go/recaptchaenterprise/v2 v2.3.0/go.mod h1:O9LwGCjrhGHBQET5CA7dd5NwwNQUErSgEDit1DLNTdo=
+cloud.google.com/go/recaptchaenterprise/v2 v2.4.0/go.mod h1:Am3LHfOuBstrLrNCBrlI5sbwx9LBg3te2N6hGvHn2mE=
+cloud.google.com/go/recaptchaenterprise/v2 v2.5.0/go.mod h1:O8LzcHXN3rz0j+LBC91jrwI3R+1ZSZEWrfL7XHgNo9U=
+cloud.google.com/go/recaptchaenterprise/v2 v2.6.0/go.mod h1:RPauz9jeLtB3JVzg6nCbe12qNoaa8pXc4d/YukAmcnA=
+cloud.google.com/go/recaptchaenterprise/v2 v2.7.0/go.mod h1:19wVj/fs5RtYtynAPJdDTb69oW0vNHYDBTbB4NvMD9c=
+cloud.google.com/go/recommendationengine v0.5.0/go.mod h1:E5756pJcVFeVgaQv3WNpImkFP8a+RptV6dDLGPILjvg=
+cloud.google.com/go/recommendationengine v0.6.0/go.mod h1:08mq2umu9oIqc7tDy8sx+MNJdLG0fUi3vaSVbztHgJ4=
+cloud.google.com/go/recommendationengine v0.7.0/go.mod h1:1reUcE3GIu6MeBz/h5xZJqNLuuVjNg1lmWMPyjatzac=
+cloud.google.com/go/recommender v1.5.0/go.mod h1:jdoeiBIVrJe9gQjwd759ecLJbxCDED4A6p+mqoqDvTg=
+cloud.google.com/go/recommender v1.6.0/go.mod h1:+yETpm25mcoiECKh9DEScGzIRyDKpZ0cEhWGo+8bo+c=
+cloud.google.com/go/recommender v1.7.0/go.mod h1:XLHs/W+T8olwlGOgfQenXBTbIseGclClff6lhFVe9Bs=
+cloud.google.com/go/recommender v1.8.0/go.mod h1:PkjXrTT05BFKwxaUxQmtIlrtj0kph108r02ZZQ5FE70=
+cloud.google.com/go/recommender v1.9.0/go.mod h1:PnSsnZY7q+VL1uax2JWkt/UegHssxjUVVCrX52CuEmQ=
+cloud.google.com/go/redis v1.7.0/go.mod h1:V3x5Jq1jzUcg+UNsRvdmsfuFnit1cfe3Z/PGyq/lm4Y=
+cloud.google.com/go/redis v1.8.0/go.mod h1:Fm2szCDavWzBk2cDKxrkmWBqoCiL1+Ctwq7EyqBCA/A=
+cloud.google.com/go/redis v1.9.0/go.mod h1:HMYQuajvb2D0LvMgZmLDZW8V5aOC/WxstZHiy4g8OiA=
+cloud.google.com/go/redis v1.10.0/go.mod h1:ThJf3mMBQtW18JzGgh41/Wld6vnDDc/F/F35UolRZPM=
+cloud.google.com/go/redis v1.11.0/go.mod h1:/X6eicana+BWcUda5PpwZC48o37SiFVTFSs0fWAJ7uQ=
+cloud.google.com/go/resourcemanager v1.3.0/go.mod h1:bAtrTjZQFJkiWTPDb1WBjzvc6/kifjj4QBYuKCCoqKA=
+cloud.google.com/go/resourcemanager v1.4.0/go.mod h1:MwxuzkumyTX7/a3n37gmsT3py7LIXwrShilPh3P1tR0=
+cloud.google.com/go/resourcemanager v1.5.0/go.mod h1:eQoXNAiAvCf5PXxWxXjhKQoTMaUSNrEfg+6qdf/wots=
+cloud.google.com/go/resourcemanager v1.6.0/go.mod h1:YcpXGRs8fDzcUl1Xw8uOVmI8JEadvhRIkoXXUNVYcVo=
+cloud.google.com/go/resourcemanager v1.7.0/go.mod h1:HlD3m6+bwhzj9XCouqmeiGuni95NTrExfhoSrkC/3EI=
+cloud.google.com/go/resourcesettings v1.3.0/go.mod h1:lzew8VfESA5DQ8gdlHwMrqZs1S9V87v3oCnKCWoOuQU=
+cloud.google.com/go/resourcesettings v1.4.0/go.mod h1:ldiH9IJpcrlC3VSuCGvjR5of/ezRrOxFtpJoJo5SmXg=
+cloud.google.com/go/resourcesettings v1.5.0/go.mod h1:+xJF7QSG6undsQDfsCJyqWXyBwUoJLhetkRMDRnIoXA=
+cloud.google.com/go/retail v1.8.0/go.mod h1:QblKS8waDmNUhghY2TI9O3JLlFk8jybHeV4BF19FrE4=
+cloud.google.com/go/retail v1.9.0/go.mod h1:g6jb6mKuCS1QKnH/dpu7isX253absFl6iE92nHwlBUY=
+cloud.google.com/go/retail v1.10.0/go.mod h1:2gDk9HsL4HMS4oZwz6daui2/jmKvqShXKQuB2RZ+cCc=
+cloud.google.com/go/retail v1.11.0/go.mod h1:MBLk1NaWPmh6iVFSz9MeKG/Psyd7TAgm6y/9L2B4x9Y=
+cloud.google.com/go/retail v1.12.0/go.mod h1:UMkelN/0Z8XvKymXFbD4EhFJlYKRx1FGhQkVPU5kF14=
+cloud.google.com/go/run v0.2.0/go.mod h1:CNtKsTA1sDcnqqIFR3Pb5Tq0usWxJJvsWOCPldRU3Do=
+cloud.google.com/go/run v0.3.0/go.mod h1:TuyY1+taHxTjrD0ZFk2iAR+xyOXEA0ztb7U3UNA0zBo=
+cloud.google.com/go/run v0.8.0/go.mod h1:VniEnuBwqjigv0A7ONfQUaEItaiCRVujlMqerPPiktM=
+cloud.google.com/go/run v0.9.0/go.mod h1:Wwu+/vvg8Y+JUApMwEDfVfhetv30hCG4ZwDR/IXl2Qg=
+cloud.google.com/go/scheduler v1.4.0/go.mod h1:drcJBmxF3aqZJRhmkHQ9b3uSSpQoltBPGPxGAWROx6s=
+cloud.google.com/go/scheduler v1.5.0/go.mod h1:ri073ym49NW3AfT6DZi21vLZrG07GXr5p3H1KxN5QlI=
+cloud.google.com/go/scheduler v1.6.0/go.mod h1:SgeKVM7MIwPn3BqtcBntpLyrIJftQISRrYB5ZtT+KOk=
+cloud.google.com/go/scheduler v1.7.0/go.mod h1:jyCiBqWW956uBjjPMMuX09n3x37mtyPJegEWKxRsn44=
+cloud.google.com/go/scheduler v1.8.0/go.mod h1:TCET+Y5Gp1YgHT8py4nlg2Sew8nUHMqcpousDgXJVQc=
+cloud.google.com/go/scheduler v1.9.0/go.mod h1:yexg5t+KSmqu+njTIh3b7oYPheFtBWGcbVUYF1GGMIc=
+cloud.google.com/go/secretmanager v1.6.0/go.mod h1:awVa/OXF6IiyaU1wQ34inzQNc4ISIDIrId8qE5QGgKA=
+cloud.google.com/go/secretmanager v1.8.0/go.mod h1:hnVgi/bN5MYHd3Gt0SPuTPPp5ENina1/LxM+2W9U9J4=
+cloud.google.com/go/secretmanager v1.9.0/go.mod h1:b71qH2l1yHmWQHt9LC80akm86mX8AL6X1MA01dW8ht4=
+cloud.google.com/go/secretmanager v1.10.0/go.mod h1:MfnrdvKMPNra9aZtQFvBcvRU54hbPD8/HayQdlUgJpU=
+cloud.google.com/go/security v1.5.0/go.mod h1:lgxGdyOKKjHL4YG3/YwIL2zLqMFCKs0UbQwgyZmfJl4=
+cloud.google.com/go/security v1.7.0/go.mod h1:mZklORHl6Bg7CNnnjLH//0UlAlaXqiG7Lb9PsPXLfD0=
+cloud.google.com/go/security v1.8.0/go.mod h1:hAQOwgmaHhztFhiQ41CjDODdWP0+AE1B3sX4OFlq+GU=
+cloud.google.com/go/security v1.9.0/go.mod h1:6Ta1bO8LXI89nZnmnsZGp9lVoVWXqsVbIq/t9dzI+2Q=
+cloud.google.com/go/security v1.10.0/go.mod h1:QtOMZByJVlibUT2h9afNDWRZ1G96gVywH8T5GUSb9IA=
+cloud.google.com/go/security v1.12.0/go.mod h1:rV6EhrpbNHrrxqlvW0BWAIawFWq3X90SduMJdFwtLB8=
+cloud.google.com/go/security v1.13.0/go.mod h1:Q1Nvxl1PAgmeW0y3HTt54JYIvUdtcpYKVfIB8AOMZ+0=
+cloud.google.com/go/securitycenter v1.13.0/go.mod h1:cv5qNAqjY84FCN6Y9z28WlkKXyWsgLO832YiWwkCWcU=
+cloud.google.com/go/securitycenter v1.14.0/go.mod h1:gZLAhtyKv85n52XYWt6RmeBdydyxfPeTrpToDPw4Auc=
+cloud.google.com/go/securitycenter v1.15.0/go.mod h1:PeKJ0t8MoFmmXLXWm41JidyzI3PJjd8sXWaVqg43WWk=
+cloud.google.com/go/securitycenter v1.16.0/go.mod h1:Q9GMaLQFUD+5ZTabrbujNWLtSLZIZF7SAR0wWECrjdk=
+cloud.google.com/go/securitycenter v1.18.1/go.mod h1:0/25gAzCM/9OL9vVx4ChPeM/+DlfGQJDwBy/UC8AKK0=
+cloud.google.com/go/securitycenter v1.19.0/go.mod h1:LVLmSg8ZkkyaNy4u7HCIshAngSQ8EcIRREP3xBnyfag=
+cloud.google.com/go/servicecontrol v1.4.0/go.mod h1:o0hUSJ1TXJAmi/7fLJAedOovnujSEvjKCAFNXPQ1RaU=
+cloud.google.com/go/servicecontrol v1.5.0/go.mod h1:qM0CnXHhyqKVuiZnGKrIurvVImCs8gmqWsDoqe9sU1s=
+cloud.google.com/go/servicecontrol v1.10.0/go.mod h1:pQvyvSRh7YzUF2efw7H87V92mxU8FnFDawMClGCNuAA=
+cloud.google.com/go/servicecontrol v1.11.0/go.mod h1:kFmTzYzTUIuZs0ycVqRHNaNhgR+UMUpw9n02l/pY+mc=
+cloud.google.com/go/servicecontrol v1.11.1/go.mod h1:aSnNNlwEFBY+PWGQ2DoM0JJ/QUXqV5/ZD9DOLB7SnUk=
+cloud.google.com/go/servicedirectory v1.4.0/go.mod h1:gH1MUaZCgtP7qQiI+F+A+OpeKF/HQWgtAddhTbhL2bs=
+cloud.google.com/go/servicedirectory v1.5.0/go.mod h1:QMKFL0NUySbpZJ1UZs3oFAmdvVxhhxB6eJ/Vlp73dfg=
+cloud.google.com/go/servicedirectory v1.6.0/go.mod h1:pUlbnWsLH9c13yGkxCmfumWEPjsRs1RlmJ4pqiNjVL4=
+cloud.google.com/go/servicedirectory v1.7.0/go.mod h1:5p/U5oyvgYGYejufvxhgwjL8UVXjkuw7q5XcG10wx1U=
+cloud.google.com/go/servicedirectory v1.8.0/go.mod h1:srXodfhY1GFIPvltunswqXpVxFPpZjf8nkKQT7XcXaY=
+cloud.google.com/go/servicedirectory v1.9.0/go.mod h1:29je5JjiygNYlmsGz8k6o+OZ8vd4f//bQLtvzkPPT/s=
+cloud.google.com/go/servicemanagement v1.4.0/go.mod h1:d8t8MDbezI7Z2R1O/wu8oTggo3BI2GKYbdG4y/SJTco=
+cloud.google.com/go/servicemanagement v1.5.0/go.mod h1:XGaCRe57kfqu4+lRxaFEAuqmjzF0r+gWHjWqKqBvKFo=
+cloud.google.com/go/servicemanagement v1.6.0/go.mod h1:aWns7EeeCOtGEX4OvZUWCCJONRZeFKiptqKf1D0l/Jc=
+cloud.google.com/go/servicemanagement v1.8.0/go.mod h1:MSS2TDlIEQD/fzsSGfCdJItQveu9NXnUniTrq/L8LK4=
+cloud.google.com/go/serviceusage v1.3.0/go.mod h1:Hya1cozXM4SeSKTAgGXgj97GlqUvF5JaoXacR1JTP/E=
+cloud.google.com/go/serviceusage v1.4.0/go.mod h1:SB4yxXSaYVuUBYUml6qklyONXNLt83U0Rb+CXyhjEeU=
+cloud.google.com/go/serviceusage v1.5.0/go.mod h1:w8U1JvqUqwJNPEOTQjrMHkw3IaIFLoLsPLvsE3xueec=
+cloud.google.com/go/serviceusage v1.6.0/go.mod h1:R5wwQcbOWsyuOfbP9tGdAnCAc6B9DRwPG1xtWMDeuPA=
+cloud.google.com/go/shell v1.3.0/go.mod h1:VZ9HmRjZBsjLGXusm7K5Q5lzzByZmJHf1d0IWHEN5X4=
+cloud.google.com/go/shell v1.4.0/go.mod h1:HDxPzZf3GkDdhExzD/gs8Grqk+dmYcEjGShZgYa9URw=
+cloud.google.com/go/shell v1.6.0/go.mod h1:oHO8QACS90luWgxP3N9iZVuEiSF84zNyLytb+qE2f9A=
+cloud.google.com/go/spanner v1.41.0/go.mod h1:MLYDBJR/dY4Wt7ZaMIQ7rXOTLjYrmxLE/5ve9vFfWos=
+cloud.google.com/go/spanner v1.44.0/go.mod h1:G8XIgYdOK+Fbcpbs7p2fiprDw4CaZX63whnSMLVBxjk=
+cloud.google.com/go/spanner v1.45.0/go.mod h1:FIws5LowYz8YAE1J8fOS7DJup8ff7xJeetWEo5REA2M=
+cloud.google.com/go/speech v1.6.0/go.mod h1:79tcr4FHCimOp56lwC01xnt/WPJZc4v3gzyT7FoBkCM=
+cloud.google.com/go/speech v1.7.0/go.mod h1:KptqL+BAQIhMsj1kOP2la5DSEEerPDuOP/2mmkhHhZQ=
+cloud.google.com/go/speech v1.8.0/go.mod h1:9bYIl1/tjsAnMgKGHKmBZzXKEkGgtU+MpdDPTE9f7y0=
+cloud.google.com/go/speech v1.9.0/go.mod h1:xQ0jTcmnRFFM2RfX/U+rk6FQNUF6DQlydUSyoooSpco=
+cloud.google.com/go/speech v1.14.1/go.mod h1:gEosVRPJ9waG7zqqnsHpYTOoAS4KouMRLDFMekpJ0J0=
+cloud.google.com/go/speech v1.15.0/go.mod h1:y6oH7GhqCaZANH7+Oe0BhgIogsNInLlz542tg3VqeYI=
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=
+cloud.google.com/go/storage v1.14.0/go.mod h1:GrKmX003DSIwi9o29oFT7YDnHYwZoctc3fOKtUw0Xmo=
+cloud.google.com/go/storage v1.22.1/go.mod h1:S8N1cAStu7BOeFfE8KAQzmyyLkK8p/vmRq6kuBTW58Y=
+cloud.google.com/go/storage v1.23.0/go.mod h1:vOEEDNFnciUMhBeT6hsJIn3ieU5cFRmzeLgDvXzfIXc=
+cloud.google.com/go/storage v1.27.0/go.mod h1:x9DOL8TK/ygDUMieqwfhdpQryTeEkhGKMi80i/iqR2s=
+cloud.google.com/go/storage v1.28.1/go.mod h1:Qnisd4CqDdo6BGs2AD5LLnEsmSQ80wQ5ogcBBKhU86Y=
+cloud.google.com/go/storage v1.29.0/go.mod h1:4puEjyTKnku6gfKoTfNOU/W+a9JyuVNxjpS5GBrB8h4=
+cloud.google.com/go/storagetransfer v1.5.0/go.mod h1:dxNzUopWy7RQevYFHewchb29POFv3/AaBgnhqzqiK0w=
+cloud.google.com/go/storagetransfer v1.6.0/go.mod h1:y77xm4CQV/ZhFZH75PLEXY0ROiS7Gh6pSKrM8dJyg6I=
+cloud.google.com/go/storagetransfer v1.7.0/go.mod h1:8Giuj1QNb1kfLAiWM1bN6dHzfdlDAVC9rv9abHot2W4=
+cloud.google.com/go/storagetransfer v1.8.0/go.mod h1:JpegsHHU1eXg7lMHkvf+KE5XDJ7EQu0GwNJbbVGanEw=
+cloud.google.com/go/talent v1.1.0/go.mod h1:Vl4pt9jiHKvOgF9KoZo6Kob9oV4lwd/ZD5Cto54zDRw=
+cloud.google.com/go/talent v1.2.0/go.mod h1:MoNF9bhFQbiJ6eFD3uSsg0uBALw4n4gaCaEjBw9zo8g=
+cloud.google.com/go/talent v1.3.0/go.mod h1:CmcxwJ/PKfRgd1pBjQgU6W3YBwiewmUzQYH5HHmSCmM=
+cloud.google.com/go/talent v1.4.0/go.mod h1:ezFtAgVuRf8jRsvyE6EwmbTK5LKciD4KVnHuDEFmOOA=
+cloud.google.com/go/talent v1.5.0/go.mod h1:G+ODMj9bsasAEJkQSzO2uHQWXHHXUomArjWQQYkqK6c=
+cloud.google.com/go/texttospeech v1.4.0/go.mod h1:FX8HQHA6sEpJ7rCMSfXuzBcysDAuWusNNNvN9FELDd8=
+cloud.google.com/go/texttospeech v1.5.0/go.mod h1:oKPLhR4n4ZdQqWKURdwxMy0uiTS1xU161C8W57Wkea4=
+cloud.google.com/go/texttospeech v1.6.0/go.mod h1:YmwmFT8pj1aBblQOI3TfKmwibnsfvhIBzPXcW4EBovc=
+cloud.google.com/go/tpu v1.3.0/go.mod h1:aJIManG0o20tfDQlRIej44FcwGGl/cD0oiRyMKG19IQ=
+cloud.google.com/go/tpu v1.4.0/go.mod h1:mjZaX8p0VBgllCzF6wcU2ovUXN9TONFLd7iz227X2Xg=
+cloud.google.com/go/tpu v1.5.0/go.mod h1:8zVo1rYDFuW2l4yZVY0R0fb/v44xLh3llq7RuV61fPM=
+cloud.google.com/go/trace v1.3.0/go.mod h1:FFUE83d9Ca57C+K8rDl/Ih8LwOzWIV1krKgxg6N0G28=
+cloud.google.com/go/trace v1.4.0/go.mod h1:UG0v8UBqzusp+z63o7FK74SdFE+AXpCLdFb1rshXG+Y=
+cloud.google.com/go/trace v1.8.0/go.mod h1:zH7vcsbAhklH8hWFig58HvxcxyQbaIqMarMg9hn5ECA=
+cloud.google.com/go/trace v1.9.0/go.mod h1:lOQqpE5IaWY0Ixg7/r2SjixMuc6lfTFeO4QGM4dQWOk=
+cloud.google.com/go/translate v1.3.0/go.mod h1:gzMUwRjvOqj5i69y/LYLd8RrNQk+hOmIXTi9+nb3Djs=
+cloud.google.com/go/translate v1.4.0/go.mod h1:06Dn/ppvLD6WvA5Rhdp029IX2Mi3Mn7fpMRLPvXT5Wg=
+cloud.google.com/go/translate v1.5.0/go.mod h1:29YDSYveqqpA1CQFD7NQuP49xymq17RXNaUDdc0mNu0=
+cloud.google.com/go/translate v1.6.0/go.mod h1:lMGRudH1pu7I3n3PETiOB2507gf3HnfLV8qlkHZEyos=
+cloud.google.com/go/translate v1.7.0/go.mod h1:lMGRudH1pu7I3n3PETiOB2507gf3HnfLV8qlkHZEyos=
+cloud.google.com/go/video v1.8.0/go.mod h1:sTzKFc0bUSByE8Yoh8X0mn8bMymItVGPfTuUBUyRgxk=
+cloud.google.com/go/video v1.9.0/go.mod h1:0RhNKFRF5v92f8dQt0yhaHrEuH95m068JYOvLZYnJSw=
+cloud.google.com/go/video v1.12.0/go.mod h1:MLQew95eTuaNDEGriQdcYn0dTwf9oWiA4uYebxM5kdg=
+cloud.google.com/go/video v1.13.0/go.mod h1:ulzkYlYgCp15N2AokzKjy7MQ9ejuynOJdf1tR5lGthk=
+cloud.google.com/go/video v1.14.0/go.mod h1:SkgaXwT+lIIAKqWAJfktHT/RbgjSuY6DobxEp0C5yTQ=
+cloud.google.com/go/video v1.15.0/go.mod h1:SkgaXwT+lIIAKqWAJfktHT/RbgjSuY6DobxEp0C5yTQ=
+cloud.google.com/go/videointelligence v1.6.0/go.mod h1:w0DIDlVRKtwPCn/C4iwZIJdvC69yInhW0cfi+p546uU=
+cloud.google.com/go/videointelligence v1.7.0/go.mod h1:k8pI/1wAhjznARtVT9U1llUaFNPh7muw8QyOUpavru4=
+cloud.google.com/go/videointelligence v1.8.0/go.mod h1:dIcCn4gVDdS7yte/w+koiXn5dWVplOZkE+xwG9FgK+M=
+cloud.google.com/go/videointelligence v1.9.0/go.mod h1:29lVRMPDYHikk3v8EdPSaL8Ku+eMzDljjuvRs105XoU=
+cloud.google.com/go/videointelligence v1.10.0/go.mod h1:LHZngX1liVtUhZvi2uNS0VQuOzNi2TkY1OakiuoUOjU=
+cloud.google.com/go/vision v1.2.0/go.mod h1:SmNwgObm5DpFBme2xpyOyasvBc1aPdjvMk2bBk0tKD0=
+cloud.google.com/go/vision/v2 v2.2.0/go.mod h1:uCdV4PpN1S0jyCyq8sIM42v2Y6zOLkZs+4R9LrGYwFo=
+cloud.google.com/go/vision/v2 v2.3.0/go.mod h1:UO61abBx9QRMFkNBbf1D8B1LXdS2cGiiCRx0vSpZoUo=
+cloud.google.com/go/vision/v2 v2.4.0/go.mod h1:VtI579ll9RpVTrdKdkMzckdnwMyX2JILb+MhPqRbPsY=
+cloud.google.com/go/vision/v2 v2.5.0/go.mod h1:MmaezXOOE+IWa+cS7OhRRLK2cNv1ZL98zhqFFZaaH2E=
+cloud.google.com/go/vision/v2 v2.6.0/go.mod h1:158Hes0MvOS9Z/bDMSFpjwsUrZ5fPrdwuyyvKSGAGMY=
+cloud.google.com/go/vision/v2 v2.7.0/go.mod h1:H89VysHy21avemp6xcf9b9JvZHVehWbET0uT/bcuY/0=
+cloud.google.com/go/vmmigration v1.2.0/go.mod h1:IRf0o7myyWFSmVR1ItrBSFLFD/rJkfDCUTO4vLlJvsE=
+cloud.google.com/go/vmmigration v1.3.0/go.mod h1:oGJ6ZgGPQOFdjHuocGcLqX4lc98YQ7Ygq8YQwHh9A7g=
+cloud.google.com/go/vmmigration v1.5.0/go.mod h1:E4YQ8q7/4W9gobHjQg4JJSgXXSgY21nA5r8swQV+Xxc=
+cloud.google.com/go/vmmigration v1.6.0/go.mod h1:bopQ/g4z+8qXzichC7GW1w2MjbErL54rk3/C843CjfY=
+cloud.google.com/go/vmwareengine v0.1.0/go.mod h1:RsdNEf/8UDvKllXhMz5J40XxDrNJNN4sagiox+OI208=
+cloud.google.com/go/vmwareengine v0.2.2/go.mod h1:sKdctNJxb3KLZkE/6Oui94iw/xs9PRNC2wnNLXsHvH8=
+cloud.google.com/go/vmwareengine v0.3.0/go.mod h1:wvoyMvNWdIzxMYSpH/R7y2h5h3WFkx6d+1TIsP39WGY=
+cloud.google.com/go/vpcaccess v1.4.0/go.mod h1:aQHVbTWDYUR1EbTApSVvMq1EnT57ppDmQzZ3imqIk4w=
+cloud.google.com/go/vpcaccess v1.5.0/go.mod h1:drmg4HLk9NkZpGfCmZ3Tz0Bwnm2+DKqViEpeEpOq0m8=
+cloud.google.com/go/vpcaccess v1.6.0/go.mod h1:wX2ILaNhe7TlVa4vC5xce1bCnqE3AeH27RV31lnmZes=
+cloud.google.com/go/webrisk v1.4.0/go.mod h1:Hn8X6Zr+ziE2aNd8SliSDWpEnSS1u4R9+xXZmFiHmGE=
+cloud.google.com/go/webrisk v1.5.0/go.mod h1:iPG6fr52Tv7sGk0H6qUFzmL3HHZev1htXuWDEEsqMTg=
+cloud.google.com/go/webrisk v1.6.0/go.mod h1:65sW9V9rOosnc9ZY7A7jsy1zoHS5W9IAXv6dGqhMQMc=
+cloud.google.com/go/webrisk v1.7.0/go.mod h1:mVMHgEYH0r337nmt1JyLthzMr6YxwN1aAIEc2fTcq7A=
+cloud.google.com/go/webrisk v1.8.0/go.mod h1:oJPDuamzHXgUc+b8SiHRcVInZQuybnvEW72PqTc7sSg=
+cloud.google.com/go/websecurityscanner v1.3.0/go.mod h1:uImdKm2wyeXQevQJXeh8Uun/Ym1VqworNDlBXQevGMo=
+cloud.google.com/go/websecurityscanner v1.4.0/go.mod h1:ebit/Fp0a+FWu5j4JOmJEV8S8CzdTkAS77oDsiSqYWQ=
+cloud.google.com/go/websecurityscanner v1.5.0/go.mod h1:Y6xdCPy81yi0SQnDY1xdNTNpfY1oAgXUlcfN3B3eSng=
+cloud.google.com/go/workflows v1.6.0/go.mod h1:6t9F5h/unJz41YqfBmqSASJSXccBLtD1Vwf+KmJENM0=
+cloud.google.com/go/workflows v1.7.0/go.mod h1:JhSrZuVZWuiDfKEFxU0/F1PQjmpnpcoISEXH2bcHC3M=
+cloud.google.com/go/workflows v1.8.0/go.mod h1:ysGhmEajwZxGn1OhGOGKsTXc5PyxOc0vfKf5Af+to4M=
+cloud.google.com/go/workflows v1.9.0/go.mod h1:ZGkj1aFIOd9c8Gerkjjq7OW7I5+l6cSvT3ujaO/WwSA=
+cloud.google.com/go/workflows v1.10.0/go.mod h1:fZ8LmRmZQWacon9UCX1r/g/DfAXx5VcPALq2CxzdePw=
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=
+gioui.org v0.0.0-20210308172011-57750fc8a0a6/go.mod h1:RSH6KIUZ0p2xy5zHDxgAM4zumjgTw83q2ge/PI+yyw8=
+git.sr.ht/~sbinet/gg v0.3.1/go.mod h1:KGYtlADtqsqANL9ueOFkWymvzUvLMQllU5Ixo+8v3pc=
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/JohnCGriffin/overflow v0.0.0-20211019200055-46fa312c352c/go.mod h1:X0CRv0ky0k6m906ixxpzmDRLvX58TFUKS2eePweuyxk=
+github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU=
+github.com/ajstarks/deck v0.0.0-20200831202436-30c9fc6549a9/go.mod h1:JynElWSGnm/4RlzPXRlREEwqTHAN3T56Bv2ITsFT3gY=
+github.com/ajstarks/deck/generate v0.0.0-20210309230005-c3f852c02e19/go.mod h1:T13YZdzov6OU0A1+RfKZiZN9ca6VeKdBdyDV+BY97Tk=
+github.com/ajstarks/svgo v0.0.0-20180226025133-644b8db467af/go.mod h1:K08gAheRH3/J6wwsYMMT4xOr94bZjxIelGM0+d/wbFw=
+github.com/ajstarks/svgo v0.0.0-20211024235047-1546f124cd8b/go.mod h1:1KcenG0jGWcpt8ov532z81sp/kMMUG485J2InIOyADM=
+github.com/alecthomas/kingpin/v2 v2.3.1/go.mod h1:oYL5vtsvEHZGHxU7DMp32Dvx+qL+ptGn6lWaot2vCNE=
+github.com/alecthomas/kingpin/v2 v2.3.2/go.mod h1:0gyi0zQnjuFk8xrkNKamJoyUo382HRL7ATRpFZCw6tE=
+github.com/alecthomas/kingpin/v2 v2.4.0/go.mod h1:0gyi0zQnjuFk8xrkNKamJoyUo382HRL7ATRpFZCw6tE=
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/alecthomas/units v0.0.0-20211218093645-b94a6e3cc137/go.mod h1:OMCwj8VM1Kc9e19TLln2VL61YJF0x1XFtfdL4JdbSyE=
+github.com/andybalholm/brotli v1.0.4/go.mod h1:fO7iG3H7G2nSZ7m0zPUDn85XEX2GTukHGRSepvi9Eig=
+github.com/antihax/optional v1.0.0/go.mod h1:uupD/76wgC+ih3iEmQUL+0Ugr19nfwCT1kdvxnR2qWY=
+github.com/apache/arrow/go/v10 v10.0.1/go.mod h1:YvhnlEePVnBS4+0z3fhPfUy7W1Ikj0Ih0vcRo/gZ1M0=
+github.com/apache/arrow/go/v11 v11.0.0/go.mod h1:Eg5OsL5H+e299f7u5ssuXsuHQVEGC4xei5aX110hRiI=
+github.com/apache/thrift v0.16.0/go.mod h1:PHK3hniurgQaNMZYaCLEqXKsYK8upmhPbmdP2FXSqgU=
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=
@@ -52,15 +633,34 @@ 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/boombuler/barcode v1.0.0/go.mod h1:paBWMcWSl3LHKBqUq+rly7CNSldXjb2rDl3JlRe0mD8=
+github.com/boombuler/barcode v1.0.1/go.mod h1:paBWMcWSl3LHKBqUq+rly7CNSldXjb2rDl3JlRe0mD8=
github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU=
+github.com/census-instrumentation/opencensus-proto v0.3.0/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU=
+github.com/census-instrumentation/opencensus-proto v0.4.1/go.mod h1:4T9NM4+4Vw91VeyqjLS6ao50K5bOcLKN6Q42XnYaRYw=
+github.com/cespare/xxhash v1.1.0/go.mod h1:XrSqR1VqqWfGrhpAt58auRo0WTKS1nRRg3ghfAqPWnc=
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.1.2/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs=
github.com/cespare/xxhash/v2 v2.2.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs=
+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/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/cncf/udpa/go v0.0.0-20200629203442-efcf912fb354/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk=
+github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk=
+github.com/cncf/udpa/go v0.0.0-20210930031921-04548b0d99d4/go.mod h1:6pvJx4me5XPnfI9Z40ddWsdw2W/uZgQLFXToKeRcDiI=
+github.com/cncf/udpa/go v0.0.0-20220112060539-c52dc94e7fbe/go.mod h1:6pvJx4me5XPnfI9Z40ddWsdw2W/uZgQLFXToKeRcDiI=
+github.com/cncf/xds/go v0.0.0-20210312221358-fbca930ec8ed/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs=
+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-20211001041855-01bcc9b48dfe/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-20220314180256-7f1daf1720fc/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs=
+github.com/cncf/xds/go v0.0.0-20230105202645-06c439db220b/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs=
+github.com/cncf/xds/go v0.0.0-20230310173818-32f1caf87195/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs=
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=
@@ -72,20 +672,35 @@ github.com/cyphar/filepath-securejoin v0.2.4/go.mod h1:aPGpWjXOXUn2NCNjFvBE6aRxG
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/docopt/docopt-go v0.0.0-20180111231733-ee0de3bc6815/go.mod h1:WwZ+bS3ebgob9U8Nd0kOddGdZWjyMGR8Wziv+TBNwSE=
+github.com/dustin/go-humanize v1.0.0/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk=
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/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/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/go-control-plane v0.9.7/go.mod h1:cwu0lG7PUMfa9snN8LXBig5ynNVH9qI8YYLbd1fK2po=
+github.com/envoyproxy/go-control-plane v0.9.9-0.20201210154907-fd9021fe5dad/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk=
+github.com/envoyproxy/go-control-plane v0.9.9-0.20210217033140-668b12f5399d/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk=
+github.com/envoyproxy/go-control-plane v0.9.9-0.20210512163311-63b5d3c536b0/go.mod h1:hliV/p42l8fGbc6Y9bQ70uLwIvmJyVE5k4iMKlh8wCQ=
+github.com/envoyproxy/go-control-plane v0.9.10-0.20210907150352-cf90f659a021/go.mod h1:AFq3mo9L8Lqqiid3OhADV3RfLJnjiw63cSpi+fDTRC0=
+github.com/envoyproxy/go-control-plane v0.10.2-0.20220325020618-49ff273808a1/go.mod h1:KJwIaB5Mv44NWtYuAOFCVOjcI94vtpEz2JU/D2v6IjE=
+github.com/envoyproxy/go-control-plane v0.10.3/go.mod h1:fJJn/j26vwOu972OllsvAgJJM//w9BV6Fxbg2LuVd34=
+github.com/envoyproxy/go-control-plane v0.11.0/go.mod h1:VnHyVMpzcLvCFt9yUz1UnCwHLhwx1WguiVDV7pTG/tI=
github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c=
+github.com/envoyproxy/protoc-gen-validate v0.6.7/go.mod h1:dyJXwwfPK2VSqiB9Klm1J6romD608Ba7Hij42vrOBCo=
+github.com/envoyproxy/protoc-gen-validate v0.9.1/go.mod h1:OKNgG7TCp5pF4d6XftA0++PMirau2/yoOwVac3AbF2w=
+github.com/envoyproxy/protoc-gen-validate v0.10.0/go.mod h1:DRjgyB0I43LtJapqN6NiRwroiAU2PaFuvk/vjgh61ss=
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=
github.com/evanphx/json-patch/v5 v5.9.0/go.mod h1:VNkHZ/282BpEyt/tObQO8s5CMPmYYq14uClGH4abBuQ=
+github.com/fogleman/gg v1.2.1-0.20190220221249-0403632d5b90/go.mod h1:R/bRT+9gY/C5z7JzPU0zXsXHKM4/ayA+zqcVNZzPa1k=
+github.com/fogleman/gg v1.3.0/go.mod h1:R/bRT+9gY/C5z7JzPU0zXsXHKM4/ayA+zqcVNZzPa1k=
github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo=
github.com/fsnotify/fsnotify v1.4.9/go.mod h1:znqG4EE+3YCdAaPaxE2ZRY/06pZUdp0tY4IgpuI1SZQ=
github.com/fsnotify/fsnotify v1.7.0 h1:8JEhPFa5W2WU7YfeZzPNqzMP6Lwt7L2715Ggo0nosvA=
@@ -93,39 +708,55 @@ 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/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04=
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-fonts/dejavu v0.1.0/go.mod h1:4Wt4I4OU2Nq9asgDCteaAaWZOV24E+0/Pwo0gppep4g=
+github.com/go-fonts/latin-modern v0.2.0/go.mod h1:rQVLdDMK+mK1xscDwsqM5J8U2jrRa3T0ecnM9pNujks=
+github.com/go-fonts/liberation v0.1.1/go.mod h1:K6qoJYypsmfVjWg8KOVDQhLc8UDgIK2HYqyqAO9z7GY=
+github.com/go-fonts/liberation v0.2.0/go.mod h1:K6qoJYypsmfVjWg8KOVDQhLc8UDgIK2HYqyqAO9z7GY=
+github.com/go-fonts/stix v0.1.0/go.mod h1:w/c1f0ldAUlJmLBvlbkvVXLAD+tAMqobIIQpmnUIzUY=
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-kit/log v0.2.0/go.mod h1:NwTd00d/i8cPZ3xOwwiv2PO5MOcx78fFErGNcVmBjv0=
+github.com/go-kit/log v0.2.1/go.mod h1:NwTd00d/i8cPZ3xOwwiv2PO5MOcx78fFErGNcVmBjv0=
+github.com/go-latex/latex v0.0.0-20210118124228-b3d85cf34e07/go.mod h1:CO1AlKB2CSIqUrmQPqA0gdRIlnLEY0gK5JGjh37zN5U=
+github.com/go-latex/latex v0.0.0-20210823091927-c0d11ff05a81/go.mod h1:SX0U8uGpxhq9o2S/CELCSUxEWWAuoCUcVCQWv7G2OCk=
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-logfmt/logfmt v0.5.1/go.mod h1:WYhtIu8zTZfxdn5+rREduYbwxfcBr/Vr6KEVveWlfTs=
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/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-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-pdf/fpdf v0.5.0/go.mod h1:HzcnA+A23uwogo0tp9yU+l3V+KXhiESpt1PMayhOh5M=
+github.com/go-pdf/fpdf v0.6.0/go.mod h1:HzcnA+A23uwogo0tp9yU+l3V+KXhiESpt1PMayhOh5M=
github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY=
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/goccy/go-json v0.9.11/go.mod h1:6MelG93GURQebXPDq3khkgXZkazVtN9CRI+MGFi0w8I=
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/freetype v0.0.0-20170609003504-e2365dfdc4a0/go.mod h1:E/TSTwGwJL78qG/PmXZO1EjYhfJinVAhrmmHX6Z8B9k=
github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q=
+github.com/golang/glog v1.0.0/go.mod h1:EWib/APOK0SL3dFbYqvxE3UYd8E6s1ouQ7iEp/0LWV4=
+github.com/golang/glog v1.1.0/go.mod h1:pfYeQZ3JWZoXTV5sFc986z3HTpwQs9At6P4ImfuP3NQ=
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=
@@ -138,6 +769,8 @@ github.com/golang/mock v1.4.0/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt
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/mock v1.5.0/go.mod h1:CWnOUgYIOo4TcNZ0wHX3YZCqsaM1I1Jvs6v3mP3KVu8=
+github.com/golang/mock v1.6.0/go.mod h1:p6yTPP+5HYm5mzsMV8JkE6ZKdX+/wYM6Hr+LicevLPs=
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=
@@ -153,9 +786,13 @@ github.com/golang/protobuf v1.4.1/go.mod h1:U8fpvMrcmy5pZrNK1lt4xCsGvpyWQ/VVv6QD
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.1/go.mod h1:DopwsBzvsk0Fs44TXzsVbJyPhcCPeIwnvohx4u74HPM=
github.com/golang/protobuf v1.5.2/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY=
+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/golang/snappy v0.0.3/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q=
+github.com/golang/snappy v0.0.4/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q=
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=
@@ -163,6 +800,7 @@ github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c/go.mod h1:lNA+9X1NB3Z
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/flatbuffers v2.0.8+incompatible/go.mod h1:1AeVuKshWv4vARoZatz6mlQ0JxURH0Kv5+zNeJKJCa8=
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=
@@ -172,18 +810,24 @@ github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/
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.2/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
+github.com/google/go-cmp v0.5.3/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.7/go.mod h1:n+brtR0CgQNWTVd5ZUFpTBC8YFBDLK/h/bpaJ8/DtOE=
+github.com/google/go-cmp v0.5.8/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY=
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/martian/v3 v3.1.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0=
+github.com/google/martian/v3 v3.2.1/go.mod h1:oBOf6HBosgwRXnUGWUB05QECsc6uvmMiJ3+6W4l/CUk=
+github.com/google/martian/v3 v3.3.2/go.mod h1:oBOf6HBosgwRXnUGWUB05QECsc6uvmMiJ3+6W4l/CUk=
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=
@@ -191,21 +835,58 @@ github.com/google/pprof v0.0.0-20200212024743-f11f1df84d12/go.mod h1:ZgVRPoUq/hf
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/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/pprof v0.0.0-20210122040257-d980be63207e/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE=
+github.com/google/pprof v0.0.0-20210226084205-cbba55b83ad5/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE=
+github.com/google/pprof v0.0.0-20210601050228-01bbb1931b22/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE=
+github.com/google/pprof v0.0.0-20210609004039-a478d1d731e9/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE=
+github.com/google/pprof v0.0.0-20210720184732-4bb14d4b1be1/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE=
+github.com/google/pprof v0.0.0-20240424215950-a892ee059fd6 h1:k7nVchz72niMH6YLQNvHSdIE7iqsQxK1P41mySCvssg=
+github.com/google/pprof v0.0.0-20240424215950-a892ee059fd6/go.mod h1:kf6iHlnVGwgKolg33glAes7Yg/8iWP8ukqeldJSO7jw=
github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI=
+github.com/google/s2a-go v0.1.0/go.mod h1:OJpEgntRZo8ugHpF9hkoLJbS5dSI20XZeXJ9JVywLlM=
+github.com/google/s2a-go v0.1.3/go.mod h1:Ej+mSEMGRnqRzjc7VtF+jdBwYG5fuJfiZ8ELkjEwM0A=
+github.com/google/s2a-go v0.1.4/go.mod h1:Ej+mSEMGRnqRzjc7VtF+jdBwYG5fuJfiZ8ELkjEwM0A=
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.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.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0=
github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
+github.com/googleapis/enterprise-certificate-proxy v0.0.0-20220520183353-fd19c99a87aa/go.mod h1:17drOmN3MwGY7t0e+Ei9b45FFGA3fBs3x36SsCg1hq8=
+github.com/googleapis/enterprise-certificate-proxy v0.1.0/go.mod h1:17drOmN3MwGY7t0e+Ei9b45FFGA3fBs3x36SsCg1hq8=
+github.com/googleapis/enterprise-certificate-proxy v0.2.0/go.mod h1:8C0jb7/mgJe/9KK8Lm7X9ctZC2t60YyIpYEI16jx0Qg=
+github.com/googleapis/enterprise-certificate-proxy v0.2.1/go.mod h1:AwSRAtLfXpU5Nm3pW+v7rGDHp09LsPtGY9MduiEsR9k=
+github.com/googleapis/enterprise-certificate-proxy v0.2.3/go.mod h1:AwSRAtLfXpU5Nm3pW+v7rGDHp09LsPtGY9MduiEsR9k=
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/googleapis/gax-go/v2 v2.1.0/go.mod h1:Q3nei7sK6ybPYH7twZdmQpAd1MKb7pfu6SK+H1/DsU0=
+github.com/googleapis/gax-go/v2 v2.1.1/go.mod h1:hddJymUZASv3XPyGkUpKj8pPO47Rmb0eJc8R6ouapiM=
+github.com/googleapis/gax-go/v2 v2.2.0/go.mod h1:as02EH8zWkzwUoLbBaFeQ+arQaj/OthfcblKl4IGNaM=
+github.com/googleapis/gax-go/v2 v2.3.0/go.mod h1:b8LNqSzNabLiUpXKkY7HAR5jr6bIT99EXz9pXxye9YM=
+github.com/googleapis/gax-go/v2 v2.4.0/go.mod h1:XOTVJ59hdnfJLIP/dh8n5CGryZR2LxK9wbMD5+iXC6c=
+github.com/googleapis/gax-go/v2 v2.5.1/go.mod h1:h6B0KMMFNtI2ddbGJn3T3ZbwkeT6yqEF02fYlzkUCyo=
+github.com/googleapis/gax-go/v2 v2.6.0/go.mod h1:1mjbznJAPHFpesgE5ucqfYEscaz5kMdcIDwU/6+DDoY=
+github.com/googleapis/gax-go/v2 v2.7.0/go.mod h1:TEop28CZZQ2y+c0VxMUmu1lV+fQx57QpBWsYpwqHJx8=
+github.com/googleapis/gax-go/v2 v2.7.1/go.mod h1:4orTrqY6hXxxaUL4LHIPl6lGo8vAE38/qKbhSAKP6QI=
+github.com/googleapis/gax-go/v2 v2.8.0/go.mod h1:4orTrqY6hXxxaUL4LHIPl6lGo8vAE38/qKbhSAKP6QI=
+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/go-type-adapters v1.0.0/go.mod h1:zHW75FOG2aur7gAO2B+MLby+cLsWGBF62rFAi7WjWO4=
+github.com/googleapis/google-cloud-go-testing v0.0.0-20200911160855-bcd43fbb19e8/go.mod h1:dvDLG8qkwmyD9a/MJJN3XJcT3xFxOKAvTZGvuZmac9g=
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/grpc-ecosystem/grpc-gateway v1.16.0/go.mod h1:BDjrQk3hbvj6Nolgz8mAMFbcEtjT1g+wF4CSlocrBnw=
+github.com/grpc-ecosystem/grpc-gateway/v2 v2.7.0/go.mod h1:hgWBS7lorOAVIJEQMi4ZsPv9hVvWI6+ch50m39Pf2Ks=
+github.com/grpc-ecosystem/grpc-gateway/v2 v2.11.3/go.mod h1:o//XUCC/F+yRGJoPO/VU0GSB0f8Nhgmxx0VIRUvaC0w=
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/iancoleman/strcase v0.2.0/go.mod h1:iwCmte+B7n89clKwxIoIXy/HfoL7AsD47ZCWhYzw7ho=
github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc=
+github.com/ianlancetaylor/demangle v0.0.0-20200824232613-28f6c0f3b639/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=
@@ -222,13 +903,19 @@ github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod h1
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/jung-kurt/gofpdf v1.0.0/go.mod h1:7Id9E/uU8ce6rXgefFLlgrJj/GYY22cpxn+r32jIOes=
+github.com/jung-kurt/gofpdf v1.0.3-0.20190309125859-24315acbbda5/go.mod h1:7Id9E/uU8ce6rXgefFLlgrJj/GYY22cpxn+r32jIOes=
+github.com/kballard/go-shellquote v0.0.0-20180428030007-95032a82bc51/go.mod h1:CzGEWj7cYgsdH8dAjBGEr58BoE7ScuLd+fwFZ44+/x8=
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/klauspost/asmfmt v1.3.2/go.mod h1:AG8TuvYojzulgDAMCnYn50l/5QV3Bs/tp6j0HLHbNSE=
+github.com/klauspost/compress v1.15.9/go.mod h1:PhcZ0MbTNciWF3rruxRgKxI5NkcHHrHUDtV4Yw2GlzU=
+github.com/klauspost/cpuid/v2 v2.0.9/go.mod h1:FInQzS24/EEf25PyTYn52gqo7WaD8xa0213Md/qVLRg=
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/fs v0.1.0/go.mod h1:FFnZGqtBN9Gxj7eW1uZ42v5BccTP0vu6NEaFoC2HwRg=
github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod h1:+0opPa2QZZtGFBFZlji/RkVcI2GknAs/DXo4wKdlNEc=
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=
@@ -241,14 +928,23 @@ github.com/kylelemons/godebug v1.1.0 h1:RPNrshWIDI6G2gRW9EHilWtl7Z6Sb1BR0xunSBf0
github.com/kylelemons/godebug v1.1.0/go.mod h1:9/0rRGxNHcop5bhtWyNeEfOS8JIWk580+fNqagV/RAw=
github.com/liggitt/tabwriter v0.0.0-20181228230101-89fcab3d43de h1:9TO3cAIGXtEhnIaL+V+BEER86oLrvS+kWobKpbJuye0=
github.com/liggitt/tabwriter v0.0.0-20181228230101-89fcab3d43de/go.mod h1:zAbeS9B/r2mtpb6U+EI2rYA5OAXxsYw6wTamcNW+zcE=
+github.com/lyft/protoc-gen-star v0.6.0/go.mod h1:TGAoBVkt8w7MPG72TrKIu85MIdXwDuzJYeZuUPFPNwA=
+github.com/lyft/protoc-gen-star v0.6.1/go.mod h1:TGAoBVkt8w7MPG72TrKIu85MIdXwDuzJYeZuUPFPNwA=
+github.com/lyft/protoc-gen-star/v2 v2.0.1/go.mod h1:RcCdONR2ScXaYnQC5tUzxzlpA3WVYF7/opLeUgcQs/o=
github.com/mailru/easyjson v0.7.7 h1:UGYAvKxe3sBsEDzO8ZeWOSlIQfWFlxbzLZe7hwFURr0=
github.com/mailru/easyjson v0.7.7/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc=
github.com/mattn/go-colorable v0.1.13 h1:fFA4WZxdEF4tXPZVKMLwD8oUnCTTo08duU7wxecdEvA=
github.com/mattn/go-colorable v0.1.13/go.mod h1:7S9/ev0klgBDR4GtXTXX8a3vIGJpMovkB8vQcUbaXHg=
+github.com/mattn/go-isatty v0.0.12/go.mod h1:cbi8OIDigv2wuxKPP5vlRcQ1OAZbq2CE4Kysco4FUpU=
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/mattn/go-sqlite3 v1.14.14/go.mod h1:NyWgC/yNuGj7Q9rpYnZvas74GogHl5/Z4A/KQRfk6bU=
github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0=
+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/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/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=
@@ -279,8 +975,8 @@ github.com/mwitkow/go-conntrack v0.0.0-20190716064945-2f068394615f/go.mod h1:qRW
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.7.11 h1:BEKcgOZCa0h4jvBzTUTX0oPyEW+Zhy4JL6KKDnySEfg=
+github.com/ncabatoff/process-exporter v0.7.11/go.mod h1:A2ThOqSI56jai50qiZ7EOJsWGWM6n1ties0wSJxvRlo=
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,57 +984,89 @@ 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.17.1 h1:V++EzdbhI4ZV4ev0UTIj0PzhzOcReJFyJaLjtSF55M8=
-github.com/onsi/ginkgo/v2 v2.17.1/go.mod h1:llBI3WDLL9Z6taip6f33H76YcWtJv+7R3HigUjbIBOs=
+github.com/onsi/ginkgo/v2 v2.17.2 h1:7eMhcy3GimbsA3hEnVKdw/PQM9XN9krpKVXsZdph0/g=
+github.com/onsi/ginkgo/v2 v2.17.2/go.mod h1:nP2DPOQoNsQmsVyv5rDA8JkXQoCs6goXIvr/PRJ1eCc=
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.31.0 h1:54UJxxj6cPInHS3a35wm6BK/F9nHYueZ1NVujHDrnXE=
-github.com/onsi/gomega v1.31.0/go.mod h1:DW9aCi7U6Yi40wNVAvT6kzFnEVEI5n3DloYBiKiT6zk=
+github.com/onsi/gomega v1.33.1 h1:dsYjIxxSR755MDmKVsaFQTE22ChNBcuuTWgkUDSubOk=
+github.com/onsi/gomega v1.33.1/go.mod h1:U4R44UsT+9eLIaYRB2a5qajjtQYn0hauxvRm16AVYg0=
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/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/phpdave11/gofpdf v1.4.2/go.mod h1:zpO6xFn9yxo3YLyMvW8HcKWVdbNqgIfOOp2dXMnm1mY=
+github.com/phpdave11/gofpdi v1.0.12/go.mod h1:vBmVV0Do6hSBHC8uKUQ71JGW+ZGQq74llk/7bXwjDoI=
+github.com/phpdave11/gofpdi v1.0.13/go.mod h1:vBmVV0Do6hSBHC8uKUQ71JGW+ZGQq74llk/7bXwjDoI=
+github.com/pierrec/lz4/v4 v4.1.15/go.mod h1:gZWDp/Ze/IJXGXf23ltt2EXimqmTUXEy0GFuRQyBid4=
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/pkg/sftp v1.10.1/go.mod h1:lYOWFsE0bwd1+KfKJaKeuokY15vzFx25BLbzYYoAxZI=
+github.com/pkg/sftp v1.13.1/go.mod h1:3HaPG6Dq1ILlpPZRO0HVMrsydcdLt6HRDccSgb87qRg=
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.12.1/go.mod h1:3Z9XVyYiZYEO+YQWt3RD2R3jrbd179Rt297l4aS6nDY=
+github.com/prometheus/client_golang v1.14.0/go.mod h1:8vpkKitgIVNcqrRBWh1C4TIUQgYNtG/XQE4E/Zae36Y=
+github.com/prometheus/client_golang v1.15.1/go.mod h1:e9yaBhRPU2pPNsZwE+JdQl0KEt1N9XgF6zxWmaC0xOk=
+github.com/prometheus/client_golang v1.17.0/go.mod h1:VeL+gMmOAxkS2IqfCq0ZmHSL+LjWfWDUmp1mBz9JgUY=
+github.com/prometheus/client_golang v1.18.0/go.mod h1:T+GXkCk5wSJyOqMIzVgvvjFDlkOQntgjkJWKrN5txjA=
github.com/prometheus/client_golang v1.19.0/go.mod h1:ZRM9uEAypZakd+q/x7+gmsvXdURP+DABIEIjnmDdp+k=
+github.com/prometheus/client_golang v1.19.1 h1:wZWJDwK+NameRJuPGDhlnFgx8e8HN3XHQeLaYJFJBOE=
+github.com/prometheus/client_golang v1.19.1/go.mod h1:mP78NwGzrVks5S2H6ab8+ZZGJLZUq1hoULYBAYBw1Ho=
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.3.0/go.mod h1:LDGWKZIo7rky3hgvBe+caln+Dr3dPggB5dvjtD7w9+w=
+github.com/prometheus/client_model v0.4.0/go.mod h1:oMQmHW1/JoDwqLtg57MGgP/Fb1CJEYF2imWWhWtMkYU=
+github.com/prometheus/client_model v0.4.1-0.20230718164431-9a2bf3000d16/go.mod h1:oMQmHW1/JoDwqLtg57MGgP/Fb1CJEYF2imWWhWtMkYU=
+github.com/prometheus/client_model v0.5.0/go.mod h1:dTiFglRmd66nLR9Pv9f0mZi7B7fk5Pm3gvsjB5tr+kI=
+github.com/prometheus/client_model v0.6.0/go.mod h1:NTQHnmxFpouOD0DpvP4XujX3CdOAGQPoaGhyTchlyt8=
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.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.32.1/go.mod h1:vu+V0TpY+O6vW9J44gczi3Ap/oXXR10b+M/gUGO4Hls=
+github.com/prometheus/common v0.37.0/go.mod h1:phzohg0JFMnBEFGxTDbfu3QyL5GI8gTQJFhYO5B3mfA=
+github.com/prometheus/common v0.42.0/go.mod h1:xBwqVerjNdUDjgODMpudtOMwlOwf2SaTr1yjz4b7Zbc=
+github.com/prometheus/common v0.44.0/go.mod h1:ofAIvZbQ1e/nugmZGz4/qCb9Ap1VoSTIO7x0VV9VvuY=
+github.com/prometheus/common v0.45.0/go.mod h1:YJmSTw9BoKxJplESWWxlbyttQR4uaEcGyv9MZjVOJsY=
+github.com/prometheus/common v0.48.0/go.mod h1:0/KsvlIEfPQCQ5I2iNSAWKPZziNCvRs5EC6ILDTlAPc=
+github.com/prometheus/common v0.52.3/go.mod h1:BrxBKv3FWBIGXw89Mg1AeBq7FSyRzXWI3l3e7W3RN5U=
github.com/prometheus/common v0.53.0 h1:U2pL9w9nmJwJDa4qqLQ3ZaePJ6ZTwt7cMD3AG3+aLCE=
github.com/prometheus/common v0.53.0/go.mod h1:BrxBKv3FWBIGXw89Mg1AeBq7FSyRzXWI3l3e7W3RN5U=
-github.com/prometheus/exporter-toolkit v0.7.0/go.mod h1:ZUBIj498ePooX9t/2xtDjeQYwvRpiPP2lh5u4iblj2g=
+github.com/prometheus/exporter-toolkit v0.11.0/go.mod h1:BVnENhnNecpwoTLiABx7mrPB/OLRIgN74qlQbV+FK1Q=
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.8.0/go.mod h1:z7EfXMXOkbkqb9IINtpCn86r/to3BnA0uaxHdg830/4=
+github.com/prometheus/procfs v0.9.0/go.mod h1:+pB4zwohETzFnmlpe6yd2lSc+0/46IYZRB/chUwxUZY=
+github.com/prometheus/procfs v0.11.1/go.mod h1:eesXgaPo1q7lBpVMoMy0ZOFTth9hBn4W/y0/p/ScXhY=
github.com/prometheus/procfs v0.12.0/go.mod h1:pcuDEFsWDnvcgNzo4EEweacyhjeA9Zk3cnaOZAZEfOo=
+github.com/prometheus/procfs v0.13.0 h1:GqzLlQyfsPbaEHaQkO7tbDlriv/4o5Hudv6OXHGKX7o=
+github.com/prometheus/procfs v0.13.0/go.mod h1:cd4PFCR54QLnGKPaKGA6l+cfuNXtht43ZKY6tow0Y1g=
+github.com/remyoudompheng/bigfft v0.0.0-20200410134404-eec4a21b6bb0/go.mod h1:qqbHyh8v60DhA7CoWK5oRCqLrMHRGoxYCSS9EjAz6Eo=
+github.com/rogpeppe/fastuuid v1.2.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6LYCDYWNEvQ=
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.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/rogpeppe/go-internal v1.11.0 h1:cWPaGQEPrBb5/AsnsZesgZZ9yb1OQ+GOISoDNXVBh4M=
github.com/rogpeppe/go-internal v1.11.0/go.mod h1:ddIwULY96R17DhadqLgMfk9H9tvdUzkipdSkR5nkCZA=
github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM=
+github.com/ruudk/golang-pdf417 v0.0.0-20181029194003-1af4ab5afa58/go.mod h1:6lfFZQK844Gfx8o5WFuvpxWRwnSoipWe/p622j1v06w=
+github.com/ruudk/golang-pdf417 v0.0.0-20201230142125-a7e3863a1245/go.mod h1:pQAZKsJ8yyVxGRWYNEm9oFB8ieLgKFnamEyDmSA0BRk=
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=
@@ -346,12 +1074,18 @@ github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6Mwd
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/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA=
+github.com/spf13/afero v1.3.3/go.mod h1:5KUK8ByomD5Ti5Artl0RtHeI5pTF7MIDuXL3yY520V4=
+github.com/spf13/afero v1.6.0/go.mod h1:Ai8FlHk4v/PARR026UzYexafAt9roJ7LcLMAmO6Z93I=
+github.com/spf13/afero v1.9.2/go.mod h1:iUV7ddyEEZPO5gA3zD4fJt6iStLlL+Lg4m2cihcDf8Y=
github.com/spf13/cobra v1.8.0 h1:7aJaZx1B85qltLMc546zn58BxxfZdR/W22ej9CFoEf0=
github.com/spf13/cobra v1.8.0/go.mod h1:WXLWApfZ71AjXPya3WOlMsY9yMs7YeiHhFVlvLyhcho=
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.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw=
+github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo=
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=
@@ -361,9 +1095,15 @@ github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81P
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.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.2/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4=
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/xhit/go-str2duration v1.2.0/go.mod h1:3cPSlfZlUHVlneIVfePFWcJZsuwf+P1v2SRTV4cUmp4=
+github.com/xhit/go-str2duration/v2 v2.1.0/go.mod h1:ohY8p+0f07DiV6Em5LKB0s2YpLtXVyJfNt1+BlmyAsU=
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=
@@ -376,47 +1116,85 @@ github.com/yuin/goldmark v1.1.25/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9de
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.3.5/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k=
+github.com/yuin/goldmark v1.4.1/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k=
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=
+github.com/zeebo/assert v1.3.0/go.mod h1:Pq9JiuJQpG8JLJdtkwrJESF0Foym2/D9XMU5ciN/wJ0=
+github.com/zeebo/xxh3 v1.0.2/go.mod h1:5NWz9Sef7zIDm2JHfFlcQvNekmcEl9ekUZQQKCYaDcA=
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.opencensus.io v0.22.5/go.mod h1:5pWMHQbX5EPX2/62yrJeAkowc+lfs/XD7Uxpq3pI6kk=
+go.opencensus.io v0.23.0/go.mod h1:XItmlyltB5F7CS4xOC1DcqMoFqwtC6OG2xF7mCv7P7E=
+go.opencensus.io v0.24.0/go.mod h1:vNK8G9p7aAivkbmorf4v+7Hgx+Zs0yY+0fOtgBfjQKo=
+go.opentelemetry.io/proto/otlp v0.7.0/go.mod h1:PqfVotwruBrMGOCsRd/89rSnXhoiJIqeYNgFYFoEGnI=
+go.opentelemetry.io/proto/otlp v0.15.0/go.mod h1:H7XAot3MsfNsj7EXtrA2q5xSNQ10UqI405h3+duxN4U=
+go.opentelemetry.io/proto/otlp v0.19.0/go.mod h1:H7XAot3MsfNsj7EXtrA2q5xSNQ10UqI405h3+duxN4U=
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-20190820162420-60c769a6c586/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-20210421170649-83a5a9bb288b/go.mod h1:T9bdIzuCu7OtxOm1hfPfRQxPLYneinmdGuTeoZ9dtd4=
golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc=
-golang.org/x/crypto v0.22.0 h1:g1v0xeRhjcugydODzvb3mEM9SQ0HGp9s/nh3COQ/C30=
-golang.org/x/crypto v0.22.0/go.mod h1:vr6Su+7cTlO45qkww3VDJlzDn0ctJvRgYbC2NvXHt+M=
+golang.org/x/crypto v0.0.0-20211108221036-ceb1ce70b4fa/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc=
+golang.org/x/crypto v0.0.0-20220314234659-1baeb1ce4c0b/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4=
+golang.org/x/crypto v0.1.0/go.mod h1:RecgLatLF4+eUMCP1PoPZQb+cVrJcOPbHkTkbkB9sbw=
+golang.org/x/crypto v0.7.0/go.mod h1:pYwdfH91IfpZVANVyUOhSIPZaFoJGxTFbZhFTx+dXZU=
+golang.org/x/crypto v0.9.0/go.mod h1:yrmDGqONDYtNj3tH8X9dzUun2m2lzPa9ngI6/RUPGR0=
+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.16.0/go.mod h1:gCAAfMLgwOJRpTjQ2zCCt2OcSfYMTeZVSRtQlPC7Nq4=
+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/crypto v0.21.0/go.mod h1:0BP7YvVV9gBbVKyeTG0Gyn+gZm94bibOW5BjDEYAOMs=
+golang.org/x/crypto v0.23.0 h1:dIJU/v2J8Mdglj/8rJ6UUOM3Zc9zLZxVZwwxMooUSAI=
+golang.org/x/crypto v0.23.0/go.mod h1:CKFgDieR+mRhux2Lsu27y0fO304Db0wZe70UKqHu0v8=
+golang.org/x/exp v0.0.0-20180321215751-8460e604b9de/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
+golang.org/x/exp v0.0.0-20180807140117-3d87b88a115f/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
+golang.org/x/exp v0.0.0-20190125153040-c74c464bbbf2/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-20191002040644-a1355ae1e2c3/go.mod h1:NOZ3BPKG0ec/BKJQgnvsSFpcKLM5xXVWnvZS97DWHgE=
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/exp v0.0.0-20220827204233-334a2380cb91/go.mod h1:cyybsKvd6eL0RnXn6p/Grxp8F5bW7iYuBgsNCOHpMYE=
+golang.org/x/exp v0.0.0-20240416160154-fe59bbe5cc7f h1:99ci1mjWVBWwJiEKYY6jWa4d2nTQVIEhZIptnrVb1XY=
+golang.org/x/exp v0.0.0-20240416160154-fe59bbe5cc7f/go.mod h1:/lliqkxwWAhPjf5oSOIJup2XcqJaw8RGS6k3TGEc7GI=
+golang.org/x/image v0.0.0-20180708004352-c73c2afc3b81/go.mod h1:ux5Hcp/YLpHSI86hEcLt0YII63i6oz57MZXIpbrjZUs=
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/image v0.0.0-20190910094157-69e4b8554b2a/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0=
+golang.org/x/image v0.0.0-20200119044424-58c23975cae1/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0=
+golang.org/x/image v0.0.0-20200430140353-33d19683fad8/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0=
+golang.org/x/image v0.0.0-20200618115811-c13761719519/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0=
+golang.org/x/image v0.0.0-20201208152932-35266b937fa6/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0=
+golang.org/x/image v0.0.0-20210216034530-4410531fe030/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0=
+golang.org/x/image v0.0.0-20210607152325-775e3b0c77b9/go.mod h1:023OzeP/+EPmXeapQh35lcL3II3LrY8Ic+EFFKVhULM=
+golang.org/x/image v0.0.0-20210628002857-a66eb6448b8d/go.mod h1:023OzeP/+EPmXeapQh35lcL3II3LrY8Ic+EFFKVhULM=
+golang.org/x/image v0.0.0-20211028202545-6944b10bf410/go.mod h1:023OzeP/+EPmXeapQh35lcL3II3LrY8Ic+EFFKVhULM=
+golang.org/x/image v0.0.0-20220302094943-723b81ca9867/go.mod h1:023OzeP/+EPmXeapQh35lcL3II3LrY8Ic+EFFKVhULM=
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=
@@ -427,6 +1205,8 @@ golang.org/x/lint v0.0.0-20190930215403-16217165b5de/go.mod h1:6SW0HCj/g11FgYtHl
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/lint v0.0.0-20201208152925-83fdc39ff7b5/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY=
+golang.org/x/lint v0.0.0-20210508222113-6edffad5e616/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=
@@ -435,9 +1215,17 @@ golang.org/x/mod v0.1.1-0.20191105210325-c90efee705ee/go.mod h1:QqPTAvyqsEbceGzB
golang.org/x/mod v0.1.1-0.20191107180719-034126e5016b/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg=
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.4.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
+golang.org/x/mod v0.4.1/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
+golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
+golang.org/x/mod v0.5.0/go.mod h1:5OXOZSfqPIIbmVBIIKWRFfZjPR0E5r58TLhUjH0a2Ro=
+golang.org/x/mod v0.5.1/go.mod h1:5OXOZSfqPIIbmVBIIKWRFfZjPR0E5r58TLhUjH0a2Ro=
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/mod v0.7.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs=
+golang.org/x/mod v0.8.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs=
+golang.org/x/mod v0.9.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs=
+golang.org/x/mod v0.17.0 h1:zY54UmvipHiNd+pm+m0x9KhZ9hl1/7QNMyxXbc6ICqA=
+golang.org/x/mod v0.17.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/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
@@ -469,19 +1257,82 @@ golang.org/x/net v0.0.0-20200625001655-4c5254603344/go.mod h1:/O7V0waA8r7cgGh81R
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-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-20210119194325-5f4716e94777/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg=
golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg=
+golang.org/x/net v0.0.0-20210316092652-d523dce5a7f4/go.mod h1:RBQZq4jEuRlivfhVLdyRGr576XBO4/greRjx4P4O3yc=
+golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM=
+golang.org/x/net v0.0.0-20210503060351-7fd8e65b6420/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
golang.org/x/net v0.0.0-20210525063256-abc453219eb5/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
+golang.org/x/net v0.0.0-20210813160813-60bc85c4be6d/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
+golang.org/x/net v0.0.0-20211015210444-4f30a5c0130f/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
+golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
+golang.org/x/net v0.0.0-20220127200216-cd36cc0744dd/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk=
+golang.org/x/net v0.0.0-20220225172249-27dd8689420f/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk=
+golang.org/x/net v0.0.0-20220325170049-de3da57026de/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk=
+golang.org/x/net v0.0.0-20220412020605-290c469a71a5/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk=
+golang.org/x/net v0.0.0-20220425223048-2871e0cb64e4/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk=
+golang.org/x/net v0.0.0-20220607020251-c690dde0001d/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c=
+golang.org/x/net v0.0.0-20220617184016-355a448f1bc9/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c=
+golang.org/x/net v0.0.0-20220624214902-1bab6f366d9e/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c=
golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c=
-golang.org/x/net v0.23.0 h1:7EYJ93RZ9vYSZAIb2x3lnuvqO5zneoD6IvWjuhfxjTs=
-golang.org/x/net v0.23.0/go.mod h1:JKghWKKOSdJwpW2GEx0Ja7fmaKnMsbu+MWVZTokSYmg=
+golang.org/x/net v0.0.0-20220909164309-bea034e7d591/go.mod h1:YDH+HFinaLZZlnHAfSS6ZXJJ9M9t4Dl22yv3iI2vPwk=
+golang.org/x/net v0.0.0-20221012135044-0b7e1fb9d458/go.mod h1:YDH+HFinaLZZlnHAfSS6ZXJJ9M9t4Dl22yv3iI2vPwk=
+golang.org/x/net v0.0.0-20221014081412-f15817d10f9b/go.mod h1:YDH+HFinaLZZlnHAfSS6ZXJJ9M9t4Dl22yv3iI2vPwk=
+golang.org/x/net v0.1.0/go.mod h1:Cx3nUiGt4eDBEyega/BKRp+/AlGL8hYe7U9odMt2Cco=
+golang.org/x/net v0.2.0/go.mod h1:KqCZLdyyvdV855qA2rE3GC2aiw5xGR5TEjj8smXukLY=
+golang.org/x/net v0.4.0/go.mod h1:MBQ8lrhLObU/6UmLb4fmbmk5OcyYmqtbGd/9yIeKjEE=
+golang.org/x/net v0.5.0/go.mod h1:DivGGAXEgPSlEBzxGzZI+ZLohi+xUj054jfeKui00ws=
+golang.org/x/net v0.6.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs=
+golang.org/x/net v0.7.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs=
+golang.org/x/net v0.8.0/go.mod h1:QVkue5JL9kW//ek3r6jTKnTFis1tRmNAW2P1shuFdJc=
+golang.org/x/net v0.9.0/go.mod h1:d48xBJpPfHeWQsugry2m+kC02ZBRGRgulfHnEXEuWns=
+golang.org/x/net v0.10.0/go.mod h1:0qNGK6F8kojg2nk9dLZ2mShWaEBan6FAoqfSigmmuDg=
+golang.org/x/net v0.15.0/go.mod h1:idbUs1IY1+zTqbi8yxTbhexhEEk5ur9LInksu6HrEpk=
+golang.org/x/net v0.17.0/go.mod h1:NxSsAGuq816PNPmqtQdLE42eU2Fs7NoRIZrHJAlaCOE=
+golang.org/x/net v0.20.0/go.mod h1:z8BVo6PvndSri0LbOE3hAn0apkU+1YvI6E70E9jsnvY=
+golang.org/x/net v0.21.0/go.mod h1:bIjVDfnllIU7BJ2DNgfnXvpSvtn8VRwhlsaeUTyUS44=
+golang.org/x/net v0.22.0/go.mod h1:JKghWKKOSdJwpW2GEx0Ja7fmaKnMsbu+MWVZTokSYmg=
+golang.org/x/net v0.24.0 h1:1PcaxkF854Fu3+lvBIx5SYn9wRlBzzcnHZSiaFFAb0w=
+golang.org/x/net v0.24.0/go.mod h1:2Q7sJY5mzlzWjKtYUEXSlBWCdyaioyXzRB2RtU8KVE8=
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-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.0.0-20210220000619-9bb904979d93/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A=
+golang.org/x/oauth2 v0.0.0-20210313182246-cd4f82c27b84/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A=
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.0.0-20210628180205-a41e5a781914/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A=
+golang.org/x/oauth2 v0.0.0-20210805134026-6f1e6394065a/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A=
+golang.org/x/oauth2 v0.0.0-20210819190943-2bc19b11175f/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A=
+golang.org/x/oauth2 v0.0.0-20211104180415-d3ed0bb246c8/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A=
+golang.org/x/oauth2 v0.0.0-20220223155221-ee480838109b/go.mod h1:DAh4E804XQdzx2j+YRIaUnCqCV2RuMz24cGBJ5QYIrc=
+golang.org/x/oauth2 v0.0.0-20220309155454-6242fa91716a/go.mod h1:DAh4E804XQdzx2j+YRIaUnCqCV2RuMz24cGBJ5QYIrc=
+golang.org/x/oauth2 v0.0.0-20220411215720-9780585627b5/go.mod h1:DAh4E804XQdzx2j+YRIaUnCqCV2RuMz24cGBJ5QYIrc=
+golang.org/x/oauth2 v0.0.0-20220608161450-d0670ef3b1eb/go.mod h1:jaDAt6Dkxork7LmZnYtzbRWj0W47D86a3TGe0YHBvmE=
+golang.org/x/oauth2 v0.0.0-20220622183110-fd043fe589d2/go.mod h1:jaDAt6Dkxork7LmZnYtzbRWj0W47D86a3TGe0YHBvmE=
+golang.org/x/oauth2 v0.0.0-20220822191816-0ebed06d0094/go.mod h1:h4gKUeWbJ4rQPri7E0u6Gs4e9Ri2zaLxzw5DI5XGrYg=
+golang.org/x/oauth2 v0.0.0-20220909003341-f21342109be1/go.mod h1:h4gKUeWbJ4rQPri7E0u6Gs4e9Ri2zaLxzw5DI5XGrYg=
+golang.org/x/oauth2 v0.0.0-20221006150949-b44042a4b9c1/go.mod h1:h4gKUeWbJ4rQPri7E0u6Gs4e9Ri2zaLxzw5DI5XGrYg=
+golang.org/x/oauth2 v0.0.0-20221014153046-6fdb5e3db783/go.mod h1:h4gKUeWbJ4rQPri7E0u6Gs4e9Ri2zaLxzw5DI5XGrYg=
+golang.org/x/oauth2 v0.4.0/go.mod h1:RznEsdpjGAINPTOF0UH/t+xJ75L18YO3Ho6Pyn+uRec=
+golang.org/x/oauth2 v0.5.0/go.mod h1:9/XBHVqLaWO3/BRHs5jbpYCnOZVjj5V0ndyaAM7KB4I=
+golang.org/x/oauth2 v0.6.0/go.mod h1:ycmewcwgD4Rpr3eZJLSB4Kyyljb3qDh40vJ8STE5HKw=
+golang.org/x/oauth2 v0.7.0/go.mod h1:hPLQkd9LyjfXTiRohC/41GhcFqxisoUQ99sCUOHO9x4=
+golang.org/x/oauth2 v0.8.0/go.mod h1:yr7u4HXZRm1R1kBWqr/xKNqewf0plRYoB7sla+BCIXE=
+golang.org/x/oauth2 v0.12.0/go.mod h1:A74bZ3aGXgCY0qaIC9Ahg6Lglin4AMAco8cIv9baba4=
+golang.org/x/oauth2 v0.16.0/go.mod h1:hqZ+0LWXsiVoZpeld6jVt06P3adbS2Uu911W1SsJv2o=
golang.org/x/oauth2 v0.18.0/go.mod h1:Wf7knwG0MPoWIMMBgFlEaSUDaKskp0dCfrlJRJXbBi8=
+golang.org/x/oauth2 v0.20.0 h1:4mQdhULixXKP1rwYBW0vAijoXnkTG0BLCDRzfe1idMo=
+golang.org/x/oauth2 v0.20.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=
@@ -492,9 +1343,18 @@ golang.org/x/sync v0.0.0-20200317015054-43a5402ce75a/go.mod h1:RxMgew5VJxzue5/jJ
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-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
+golang.org/x/sync v0.0.0-20220601150217-0de741cfad7f/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.0.0-20220819030929-7fc1605a5dde/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
+golang.org/x/sync v0.0.0-20220929204114-8fcdb60fdcc0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
+golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
+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/sync v0.5.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk=
golang.org/x/sync v0.6.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk=
+golang.org/x/sync v0.7.0 h1:YsImfSBoP9QPYL0xyKJPq0gcaJdG3rInoqxTWbfQu9M=
+golang.org/x/sync v0.7.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/sys v0.0.0-20180909124046-d0be0721c37e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
@@ -516,6 +1376,7 @@ golang.org/x/sys v0.0.0-20191204072324-ce4227a45e2e/go.mod h1:h1NjWce9XRLGQEsW7w
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-20200116001909-b77594299b42/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=
@@ -530,42 +1391,124 @@ golang.org/x/sys v0.0.0-20200523222454-059865788121/go.mod h1:h1NjWce9XRLGQEsW7w
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-20200905004654-be1d3432aa8f/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-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-20210112080510-489259a85091/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20210119212857-b64e53b001e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20210124154548-22da62e12c0c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20210220050731-9a76102bfb43/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20210225134936-a50acf3fe073/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20210304124612-50617c2ba197/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20210305230114-8fe3ee5dd75b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20210315160823-c6e025ad8005/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20210320140829-1e4c9ba3b0c4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20210330210617-4fbd30eecc44/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20210423185535-09eb48e85fd7/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20210510120138-977fb7262007/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.0.0-20210514084401-e8d321eab015/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20210603081109-ebe580a85c40/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.0.0-20210603125802-9665404d3644/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-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.0.0-20210806184541-e5e7981a1069/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.0.0-20210816183151-1e6c022a8912/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.0.0-20210823070655-63515b42dcdf/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.0.0-20210908233432-aa78b53d3365/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.0.0-20211007075335-d3039528d8ac/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.0.0-20211019181941-9d821ace8654/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.0.0-20211124211545-fe61309f8881/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.0.0-20211210111614-af8b64212486/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.0.0-20211216021012-1d35b9e2eb4e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.0.0-20220114195835-da31bd327af9/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.0.0-20220128215802-99c3d69c2c27/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.0.0-20220209214540-3681064d5158/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.0.0-20220227234510-4e6760a101f9/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.0.0-20220328115105-d36c6a25d886/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.0.0-20220412211240-33da011f77ad/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.0.0-20220502124256-b6088ccd6cba/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.0.0-20220503163025-988cb79eb6c6/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-20220610221304-9f5ed59c137d/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.0.0-20220615213510-4f61da869c0c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.0.0-20220624220833-87e55d714810/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-20220728004956-3c1f35247d10/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.0.0-20220829200755-d48e67d00261/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.1.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.2.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.3.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.4.0/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.19.0 h1:q5f1RH2jigJ1MoAWp2KTp3gm5zAGFUTarQZ5U386+4o=
-golang.org/x/sys v0.19.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
+golang.org/x/sys v0.7.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.9.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.15.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.17.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
+golang.org/x/sys v0.18.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
+golang.org/x/sys v0.20.0 h1:Od9JTbYCk261bKm4M/mw7AklTlFYIa0bIp9BgSm1S8Y=
+golang.org/x/sys v0.20.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.19.0 h1:+ThwsDv+tYfnJFhF4L8jITxu1tdTWRTZpdsWgEgjL6Q=
-golang.org/x/term v0.19.0/go.mod h1:2CuTdWZ7KHSQwUzKva0cbMg6q2DMI3Mmxp+gKJbskEk=
+golang.org/x/term v0.1.0/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
+golang.org/x/term v0.2.0/go.mod h1:TVmDHMZPmdnySmBfhjOoOdhjzdE1h4u1VwSiw2l1Nuc=
+golang.org/x/term v0.3.0/go.mod h1:q750SLmJuPmVoN1blW3UFBPREJfb1KmY3vwxfr+nFDA=
+golang.org/x/term v0.4.0/go.mod h1:9P2UbLfCdcvo3p/nzKvsmas4TnlujnuoV9hGgYzW1lQ=
+golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k=
+golang.org/x/term v0.6.0/go.mod h1:m6U89DPEgQRMq3DNkDClhWw02AUbt2daBVO4cn4Hv9U=
+golang.org/x/term v0.7.0/go.mod h1:P32HKFT3hSsZrRxla30E9HqToFYAQPCMs/zFMBUFqPY=
+golang.org/x/term v0.8.0/go.mod h1:xPskH00ivmX89bAKVGSKKtLOWNx2+17Eiy94tnKShWo=
+golang.org/x/term v0.12.0/go.mod h1:owVbMEjm3cBLCHdkQu9b1opXd4ETQWc3BhuQGKgXgvU=
+golang.org/x/term v0.13.0/go.mod h1:LTmsnFJwVN6bCy1rVCoS+qHT1HhALEFxKncY3WNNh4U=
+golang.org/x/term v0.15.0/go.mod h1:BDl952bC7+uMoWR75FIrCDx79TPU9oHkTZ9yRbYOrX0=
+golang.org/x/term v0.16.0/go.mod h1:yn7UURbUtPyrVJPGPq404EukNFxcm/foM+bV/bfcDsY=
+golang.org/x/term v0.17.0/go.mod h1:lLRBjIVuehSbZlaOtGMbcMncT+aqLLLmKrsjNrUguwk=
+golang.org/x/term v0.18.0/go.mod h1:ILwASektA3OnRv7amZ1xhE/KTR+u50pbXfZ03+6Nx58=
+golang.org/x/term v0.20.0 h1:VnkxpohqXaOBYJtBmEppKUG6mXpi+4O6purfc2+sMhw=
+golang.org/x/term v0.20.0/go.mod h1:8UkIAJTvZgivsXaD6/pH6U9ecQzZ45awqEOzuCvwpFY=
golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
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.4/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
+golang.org/x/text v0.3.5/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.4.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8=
+golang.org/x/text v0.5.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8=
+golang.org/x/text v0.6.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8=
+golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8=
+golang.org/x/text v0.8.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8=
+golang.org/x/text v0.9.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8=
+golang.org/x/text v0.13.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE=
golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU=
+golang.org/x/text v0.15.0 h1:h1V/4gjBv8v9cjcR6+AR5+/cIYK5N/WAgiv4xlsEtAk=
+golang.org/x/text v0.15.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/time v0.0.0-20220922220347-f3bd1da661af/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
+golang.org/x/time v0.1.0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
+golang.org/x/time v0.3.0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
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-20180525024113-a5b4c53f6e8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
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-20190206041539-40960b6deb8e/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=
@@ -578,6 +1521,7 @@ golang.org/x/tools v0.0.0-20190621195816-6e04913cbbac/go.mod h1:/rFqwRUd4F7ZHNgw
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-20190927191325-030b2cf1153e/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=
@@ -598,7 +1542,6 @@ golang.org/x/tools v0.0.0-20200304193943-95d2e580d8eb/go.mod h1:o4KQGtdN14AW+yjs
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=
@@ -606,17 +1549,46 @@ golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roY
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-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-20201124115921-2c860bdd6e78/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-20201224043029-2b0845dc783e/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA=
+golang.org/x/tools v0.0.0-20210105154028-b0ab187a4818/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA=
golang.org/x/tools v0.0.0-20210106214847-113979e3529a/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/tools v0.1.1/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk=
+golang.org/x/tools v0.1.2/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk=
+golang.org/x/tools v0.1.3/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk=
+golang.org/x/tools v0.1.4/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk=
+golang.org/x/tools v0.1.5/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk=
+golang.org/x/tools v0.1.9/go.mod h1:nABZi5QlRsZVlzPpHl034qft6wpY4eDcsTt5AaioBiU=
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.3.0/go.mod h1:/rWhSS2+zyEVwoJf8YAX6L2f0ntZ7Kn/mGgAWcipA5k=
+golang.org/x/tools v0.6.0/go.mod h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU=
+golang.org/x/tools v0.7.0/go.mod h1:4pg6aUX35JBAogB10C9AtvVL+qowtN4pT3CGSQex14s=
+golang.org/x/tools v0.20.0 h1:hz/CVckiOxybQvFw6h7b/q80NTr9IUQb4s1IIzW7KNY=
+golang.org/x/tools v0.20.0/go.mod h1:WvitBU7JJf6A4jOdg4S1tviW9bhUxkgeCui/0JHctQg=
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=
+golang.org/x/xerrors v0.0.0-20220411194840-2f41105eb62f/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
+golang.org/x/xerrors v0.0.0-20220517211312-f3a8303e98df/go.mod h1:K8+ghG5WaK9qNqU5K3HdILfMLy1f3aNYFI/wnl100a8=
+golang.org/x/xerrors v0.0.0-20220609144429-65e65417b02f/go.mod h1:K8+ghG5WaK9qNqU5K3HdILfMLy1f3aNYFI/wnl100a8=
+golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2/go.mod h1:K8+ghG5WaK9qNqU5K3HdILfMLy1f3aNYFI/wnl100a8=
gomodules.xyz/jsonpatch/v2 v2.4.0 h1:Ci3iUJyx9UeRx7CeFN8ARgGbkESwJK+KB9lLcWxY/Zw=
gomodules.xyz/jsonpatch/v2 v2.4.0/go.mod h1:AH3dM2RI6uoBZxn3LVrfvJ3E0/9dG4cSrbuBJT4moAY=
+gonum.org/v1/gonum v0.0.0-20180816165407-929014505bf4/go.mod h1:Y+Yx5eoAFn32cQvJDxZx5Dpnq+c3wtXuadVZAcxbbBo=
+gonum.org/v1/gonum v0.8.2/go.mod h1:oe/vMfY3deqTw+1EZJhuvEW2iwGF1bW9wwu7XCu0+v0=
+gonum.org/v1/gonum v0.9.3/go.mod h1:TZumC3NeyVQskjXqmyWt4S3bINhy7B4eYwW69EbyX+0=
+gonum.org/v1/gonum v0.11.0/go.mod h1:fSG4YDCxxUZQJ7rKsQrj0gMOg00Il0Z96/qMA4bVQhA=
+gonum.org/v1/netlib v0.0.0-20190313105609-8cb42192e0e0/go.mod h1:wa6Ws7BG/ESfp6dHfk7C6KdzKA7wR7u/rKwOGE66zvw=
+gonum.org/v1/plot v0.0.0-20190515093506-e2840ee46a6b/go.mod h1:Wt8AAjI+ypCyYX3nZBvf6cAIx93T+c/OS2HFAYskSZc=
+gonum.org/v1/plot v0.9.0/go.mod h1:3Pcqqmp6RHvJI72kgb8fThyUnav364FOsdDo2aGW5lY=
+gonum.org/v1/plot v0.10.1/go.mod h1:VZW5OlhkL1mysU9vaqNHnsy86inf6Ot+jB3r+BczCEo=
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=
@@ -633,14 +1605,58 @@ google.golang.org/api v0.24.0/go.mod h1:lIXQywCXRcnZPGlsd8NbLnOjtAoL6em04bJ9+z0M
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/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.41.0/go.mod h1:RkxM5lITDfTzmyKFPt+wGrCJbVfniCr2ool8kTBzRTU=
+google.golang.org/api v0.43.0/go.mod h1:nQsDGjRXMo4lvh5hP0TKqF244gqhGcr/YSIykhUk/94=
+google.golang.org/api v0.47.0/go.mod h1:Wbvgpq1HddcWVtzsVLyfLp8lDg6AA241LmgIL59tHXo=
+google.golang.org/api v0.48.0/go.mod h1:71Pr1vy+TAZRPkPs/xlCf5SsU8WjuAWv1Pfjbtukyy4=
+google.golang.org/api v0.50.0/go.mod h1:4bNT5pAuq5ji4SRZm+5QIkjny9JAyVD/3gaSihNefaw=
+google.golang.org/api v0.51.0/go.mod h1:t4HdrdoNgyN5cbEfm7Lum0lcLDLiise1F8qDKX00sOU=
+google.golang.org/api v0.54.0/go.mod h1:7C4bFFOvVDGXjfDTAsgGwDgAxRDeQ4X8NvUedIt6z3k=
+google.golang.org/api v0.55.0/go.mod h1:38yMfeP1kfjsl8isn0tliTjIb1rJXcQi4UXlbqivdVE=
+google.golang.org/api v0.56.0/go.mod h1:38yMfeP1kfjsl8isn0tliTjIb1rJXcQi4UXlbqivdVE=
+google.golang.org/api v0.57.0/go.mod h1:dVPlbZyBo2/OjBpmvNdpn2GRm6rPy75jyU7bmhdrMgI=
+google.golang.org/api v0.61.0/go.mod h1:xQRti5UdCmoCEqFxcz93fTl338AVqDgyaDRuOZ3hg9I=
+google.golang.org/api v0.63.0/go.mod h1:gs4ij2ffTRXwuzzgJl/56BdwJaA194ijkfn++9tDuPo=
+google.golang.org/api v0.67.0/go.mod h1:ShHKP8E60yPsKNw/w8w+VYaj9H6buA5UqDp8dhbQZ6g=
+google.golang.org/api v0.70.0/go.mod h1:Bs4ZM2HGifEvXwd50TtW70ovgJffJYw2oRCOFU/SkfA=
+google.golang.org/api v0.71.0/go.mod h1:4PyU6e6JogV1f9eA4voyrTY2batOLdgZ5qZ5HOCc4j8=
+google.golang.org/api v0.74.0/go.mod h1:ZpfMZOVRMywNyvJFeqL9HRWBgAuRfSjJFpe9QtRRyDs=
+google.golang.org/api v0.75.0/go.mod h1:pU9QmyHLnzlpar1Mjt4IbapUCy8J+6HD6GeELN69ljA=
+google.golang.org/api v0.77.0/go.mod h1:pU9QmyHLnzlpar1Mjt4IbapUCy8J+6HD6GeELN69ljA=
+google.golang.org/api v0.78.0/go.mod h1:1Sg78yoMLOhlQTeF+ARBoytAcH1NNyyl390YMy6rKmw=
+google.golang.org/api v0.80.0/go.mod h1:xY3nI94gbvBrE0J6NHXhxOmW97HG7Khjkku6AFB3Hyg=
+google.golang.org/api v0.84.0/go.mod h1:NTsGnUFJMYROtiquksZHBWtHfeMC7iYthki7Eq3pa8o=
+google.golang.org/api v0.85.0/go.mod h1:AqZf8Ep9uZ2pyTvgL+x0D3Zt0eoT9b5E8fmzfu6FO2g=
+google.golang.org/api v0.90.0/go.mod h1:+Sem1dnrKlrXMR/X0bPnMWyluQe4RsNoYfmNLhOIkzw=
+google.golang.org/api v0.93.0/go.mod h1:+Sem1dnrKlrXMR/X0bPnMWyluQe4RsNoYfmNLhOIkzw=
+google.golang.org/api v0.95.0/go.mod h1:eADj+UBuxkh5zlrSntJghuNeg8HwQ1w5lTKkuqaETEI=
+google.golang.org/api v0.96.0/go.mod h1:w7wJQLTM+wvQpNf5JyEcBoxK0RH7EDrh/L4qfsuJ13s=
+google.golang.org/api v0.97.0/go.mod h1:w7wJQLTM+wvQpNf5JyEcBoxK0RH7EDrh/L4qfsuJ13s=
+google.golang.org/api v0.98.0/go.mod h1:w7wJQLTM+wvQpNf5JyEcBoxK0RH7EDrh/L4qfsuJ13s=
+google.golang.org/api v0.99.0/go.mod h1:1YOf74vkVndF7pG6hIHuINsM7eWwpVTAfNMNiL91A08=
+google.golang.org/api v0.100.0/go.mod h1:ZE3Z2+ZOr87Rx7dqFsdRQkRBk36kDtp/h+QpHbB7a70=
+google.golang.org/api v0.102.0/go.mod h1:3VFl6/fzoA+qNuS1N1/VfXY4LjoXN/wzeIp7TweWwGo=
+google.golang.org/api v0.103.0/go.mod h1:hGtW6nK1AC+d9si/UBhw8Xli+QMOf6xyNAyJw4qU9w0=
+google.golang.org/api v0.106.0/go.mod h1:2Ts0XTHNVWxypznxWOYUeI4g3WdP9Pk2Qk58+a/O9MY=
+google.golang.org/api v0.107.0/go.mod h1:2Ts0XTHNVWxypznxWOYUeI4g3WdP9Pk2Qk58+a/O9MY=
+google.golang.org/api v0.108.0/go.mod h1:2Ts0XTHNVWxypznxWOYUeI4g3WdP9Pk2Qk58+a/O9MY=
+google.golang.org/api v0.110.0/go.mod h1:7FC4Vvx1Mooxh8C5HWjzZHcavuS2f6pmJpZx60ca7iI=
+google.golang.org/api v0.111.0/go.mod h1:qtFHvU9mhgTJegR31csQ+rwxyUTHOKFqCKWp1J0fdw0=
+google.golang.org/api v0.114.0/go.mod h1:ifYI2ZsFK6/uGddGfAD5BMxlnkBqCmqHSDUVi45N5Yg=
+google.golang.org/api v0.118.0/go.mod h1:76TtD3vkgmZ66zZzp72bUUklpmQmKlhh6sYtIjYK+5E=
+google.golang.org/api v0.122.0/go.mod h1:gcitW0lvnyWjSp9nKxAbdHKIZ6vF4aajGueeslZOyms=
+google.golang.org/api v0.124.0/go.mod h1:xu2HQurE5gi/3t1aFCvhPD781p0a3p11sdunTJ2BlP4=
+google.golang.org/api v0.126.0/go.mod h1:mBwVAtz+87bEN6CbA1GtZPDOqY2R5ONPqJeIlvyo4Aw=
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/appengine v1.6.7/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc=
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=
@@ -664,14 +1680,129 @@ google.golang.org/genproto v0.0.0-20200312145019-da6875a35672/go.mod h1:55QSHmfG
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-20200513103714-09dca8ec2884/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-20240227224415-6ceb2ff114de h1:cZGRis4/ot9uVm639a+rHCUaG0JJHEsdyzSQTMX+suY=
-google.golang.org/genproto/googleapis/rpc v0.0.0-20240227224415-6ceb2ff114de/go.mod h1:H4O17MA/PE9BsGx3w+a+W2VOLLD1Qf7oJneAoU6WktY=
+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-20210222152913-aa3ee6e6a81c/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-20210303154014-9728d6b83eeb/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
+google.golang.org/genproto v0.0.0-20210310155132-4ce2db91004e/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
+google.golang.org/genproto v0.0.0-20210319143718-93e7006c17a6/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
+google.golang.org/genproto v0.0.0-20210329143202-679c6ae281ee/go.mod h1:9lPAdzaEmUacj36I+k7YKbEc5CXzPIeORRgDAUOu28A=
+google.golang.org/genproto v0.0.0-20210402141018-6c239bbf2bb1/go.mod h1:9lPAdzaEmUacj36I+k7YKbEc5CXzPIeORRgDAUOu28A=
+google.golang.org/genproto v0.0.0-20210513213006-bf773b8c8384/go.mod h1:P3QM42oQyzQSnHPnZ/vqoCdDmzH28fzWByN9asMeM8A=
+google.golang.org/genproto v0.0.0-20210602131652-f16073e35f0c/go.mod h1:UODoCrxHCcBojKKwX1terBiRUaqAsFqJiF615XL43r0=
+google.golang.org/genproto v0.0.0-20210604141403-392c879c8b08/go.mod h1:UODoCrxHCcBojKKwX1terBiRUaqAsFqJiF615XL43r0=
+google.golang.org/genproto v0.0.0-20210608205507-b6d2f5bf0d7d/go.mod h1:UODoCrxHCcBojKKwX1terBiRUaqAsFqJiF615XL43r0=
+google.golang.org/genproto v0.0.0-20210624195500-8bfb893ecb84/go.mod h1:SzzZ/N+nwJDaO1kznhnlzqS8ocJICar6hYhVyhi++24=
+google.golang.org/genproto v0.0.0-20210713002101-d411969a0d9a/go.mod h1:AxrInvYm1dci+enl5hChSFPOmmUF1+uAa/UsgNRWd7k=
+google.golang.org/genproto v0.0.0-20210716133855-ce7ef5c701ea/go.mod h1:AxrInvYm1dci+enl5hChSFPOmmUF1+uAa/UsgNRWd7k=
+google.golang.org/genproto v0.0.0-20210728212813-7823e685a01f/go.mod h1:ob2IJxKrgPT52GcgX759i1sleT07tiKowYBGbczaW48=
+google.golang.org/genproto v0.0.0-20210805201207-89edb61ffb67/go.mod h1:ob2IJxKrgPT52GcgX759i1sleT07tiKowYBGbczaW48=
+google.golang.org/genproto v0.0.0-20210813162853-db860fec028c/go.mod h1:cFeNkxwySK631ADgubI+/XFU/xp8FD5KIVV4rj8UC5w=
+google.golang.org/genproto v0.0.0-20210821163610-241b8fcbd6c8/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY=
+google.golang.org/genproto v0.0.0-20210828152312-66f60bf46e71/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY=
+google.golang.org/genproto v0.0.0-20210831024726-fe130286e0e2/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY=
+google.golang.org/genproto v0.0.0-20210903162649-d08c68adba83/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY=
+google.golang.org/genproto v0.0.0-20210909211513-a8c4777a87af/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY=
+google.golang.org/genproto v0.0.0-20210924002016-3dee208752a0/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc=
+google.golang.org/genproto v0.0.0-20211118181313-81c1377c94b1/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc=
+google.golang.org/genproto v0.0.0-20211206160659-862468c7d6e0/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc=
+google.golang.org/genproto v0.0.0-20211208223120-3a66f561d7aa/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc=
+google.golang.org/genproto v0.0.0-20211221195035-429b39de9b1c/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc=
+google.golang.org/genproto v0.0.0-20220126215142-9970aeb2e350/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc=
+google.golang.org/genproto v0.0.0-20220207164111-0872dc986b00/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc=
+google.golang.org/genproto v0.0.0-20220218161850-94dd64e39d7c/go.mod h1:kGP+zUP2Ddo0ayMi4YuN7C3WZyJvGLZRh8Z5wnAqvEI=
+google.golang.org/genproto v0.0.0-20220222213610-43724f9ea8cf/go.mod h1:kGP+zUP2Ddo0ayMi4YuN7C3WZyJvGLZRh8Z5wnAqvEI=
+google.golang.org/genproto v0.0.0-20220304144024-325a89244dc8/go.mod h1:kGP+zUP2Ddo0ayMi4YuN7C3WZyJvGLZRh8Z5wnAqvEI=
+google.golang.org/genproto v0.0.0-20220310185008-1973136f34c6/go.mod h1:kGP+zUP2Ddo0ayMi4YuN7C3WZyJvGLZRh8Z5wnAqvEI=
+google.golang.org/genproto v0.0.0-20220324131243-acbaeb5b85eb/go.mod h1:hAL49I2IFola2sVEjAn7MEwsja0xp51I0tlGAf9hz4E=
+google.golang.org/genproto v0.0.0-20220329172620-7be39ac1afc7/go.mod h1:8w6bsBMX6yCPbAVTeqQHvzxW0EIFigd5lZyahWgyfDo=
+google.golang.org/genproto v0.0.0-20220407144326-9054f6ed7bac/go.mod h1:8w6bsBMX6yCPbAVTeqQHvzxW0EIFigd5lZyahWgyfDo=
+google.golang.org/genproto v0.0.0-20220413183235-5e96e2839df9/go.mod h1:8w6bsBMX6yCPbAVTeqQHvzxW0EIFigd5lZyahWgyfDo=
+google.golang.org/genproto v0.0.0-20220414192740-2d67ff6cf2b4/go.mod h1:8w6bsBMX6yCPbAVTeqQHvzxW0EIFigd5lZyahWgyfDo=
+google.golang.org/genproto v0.0.0-20220421151946-72621c1f0bd3/go.mod h1:8w6bsBMX6yCPbAVTeqQHvzxW0EIFigd5lZyahWgyfDo=
+google.golang.org/genproto v0.0.0-20220429170224-98d788798c3e/go.mod h1:8w6bsBMX6yCPbAVTeqQHvzxW0EIFigd5lZyahWgyfDo=
+google.golang.org/genproto v0.0.0-20220502173005-c8bf987b8c21/go.mod h1:RAyBrSAP7Fh3Nc84ghnVLDPuV51xc9agzmm4Ph6i0Q4=
+google.golang.org/genproto v0.0.0-20220505152158-f39f71e6c8f3/go.mod h1:RAyBrSAP7Fh3Nc84ghnVLDPuV51xc9agzmm4Ph6i0Q4=
+google.golang.org/genproto v0.0.0-20220518221133-4f43b3371335/go.mod h1:RAyBrSAP7Fh3Nc84ghnVLDPuV51xc9agzmm4Ph6i0Q4=
+google.golang.org/genproto v0.0.0-20220523171625-347a074981d8/go.mod h1:RAyBrSAP7Fh3Nc84ghnVLDPuV51xc9agzmm4Ph6i0Q4=
+google.golang.org/genproto v0.0.0-20220608133413-ed9918b62aac/go.mod h1:KEWEmljWE5zPzLBa/oHl6DaEt9LmfH6WtH1OHIvleBA=
+google.golang.org/genproto v0.0.0-20220616135557-88e70c0c3a90/go.mod h1:KEWEmljWE5zPzLBa/oHl6DaEt9LmfH6WtH1OHIvleBA=
+google.golang.org/genproto v0.0.0-20220617124728-180714bec0ad/go.mod h1:KEWEmljWE5zPzLBa/oHl6DaEt9LmfH6WtH1OHIvleBA=
+google.golang.org/genproto v0.0.0-20220624142145-8cd45d7dbd1f/go.mod h1:KEWEmljWE5zPzLBa/oHl6DaEt9LmfH6WtH1OHIvleBA=
+google.golang.org/genproto v0.0.0-20220628213854-d9e0b6570c03/go.mod h1:KEWEmljWE5zPzLBa/oHl6DaEt9LmfH6WtH1OHIvleBA=
+google.golang.org/genproto v0.0.0-20220722212130-b98a9ff5e252/go.mod h1:GkXuJDJ6aQ7lnJcRF+SJVgFdQhypqgl3LB1C9vabdRE=
+google.golang.org/genproto v0.0.0-20220801145646-83ce21fca29f/go.mod h1:iHe1svFLAZg9VWz891+QbRMwUv9O/1Ww+/mngYeThbc=
+google.golang.org/genproto v0.0.0-20220815135757-37a418bb8959/go.mod h1:dbqgFATTzChvnt+ujMdZwITVAJHFtfyN1qUhDqEiIlk=
+google.golang.org/genproto v0.0.0-20220817144833-d7fd3f11b9b1/go.mod h1:dbqgFATTzChvnt+ujMdZwITVAJHFtfyN1qUhDqEiIlk=
+google.golang.org/genproto v0.0.0-20220822174746-9e6da59bd2fc/go.mod h1:dbqgFATTzChvnt+ujMdZwITVAJHFtfyN1qUhDqEiIlk=
+google.golang.org/genproto v0.0.0-20220829144015-23454907ede3/go.mod h1:dbqgFATTzChvnt+ujMdZwITVAJHFtfyN1qUhDqEiIlk=
+google.golang.org/genproto v0.0.0-20220829175752-36a9c930ecbf/go.mod h1:dbqgFATTzChvnt+ujMdZwITVAJHFtfyN1qUhDqEiIlk=
+google.golang.org/genproto v0.0.0-20220913154956-18f8339a66a5/go.mod h1:0Nb8Qy+Sk5eDzHnzlStwW3itdNaWoZA5XeSG+R3JHSo=
+google.golang.org/genproto v0.0.0-20220914142337-ca0e39ece12f/go.mod h1:0Nb8Qy+Sk5eDzHnzlStwW3itdNaWoZA5XeSG+R3JHSo=
+google.golang.org/genproto v0.0.0-20220915135415-7fd63a7952de/go.mod h1:0Nb8Qy+Sk5eDzHnzlStwW3itdNaWoZA5XeSG+R3JHSo=
+google.golang.org/genproto v0.0.0-20220916172020-2692e8806bfa/go.mod h1:0Nb8Qy+Sk5eDzHnzlStwW3itdNaWoZA5XeSG+R3JHSo=
+google.golang.org/genproto v0.0.0-20220919141832-68c03719ef51/go.mod h1:0Nb8Qy+Sk5eDzHnzlStwW3itdNaWoZA5XeSG+R3JHSo=
+google.golang.org/genproto v0.0.0-20220920201722-2b89144ce006/go.mod h1:ht8XFiar2npT/g4vkk7O0WYS1sHOHbdujxbEp7CJWbw=
+google.golang.org/genproto v0.0.0-20220926165614-551eb538f295/go.mod h1:woMGP53BroOrRY3xTxlbr8Y3eB/nzAvvFM83q7kG2OI=
+google.golang.org/genproto v0.0.0-20220926220553-6981cbe3cfce/go.mod h1:woMGP53BroOrRY3xTxlbr8Y3eB/nzAvvFM83q7kG2OI=
+google.golang.org/genproto v0.0.0-20221010155953-15ba04fc1c0e/go.mod h1:3526vdqwhZAwq4wsRUaVG555sVgsNmIjRtO7t/JH29U=
+google.golang.org/genproto v0.0.0-20221014173430-6e2ab493f96b/go.mod h1:1vXfmgAz9N9Jx0QA82PqRVauvCz1SGSz739p0f183jM=
+google.golang.org/genproto v0.0.0-20221014213838-99cd37c6964a/go.mod h1:1vXfmgAz9N9Jx0QA82PqRVauvCz1SGSz739p0f183jM=
+google.golang.org/genproto v0.0.0-20221024153911-1573dae28c9c/go.mod h1:9qHF0xnpdSfF6knlcsnpzUu5y+rpwgbvsyGAZPBMg4s=
+google.golang.org/genproto v0.0.0-20221024183307-1bc688fe9f3e/go.mod h1:9qHF0xnpdSfF6knlcsnpzUu5y+rpwgbvsyGAZPBMg4s=
+google.golang.org/genproto v0.0.0-20221027153422-115e99e71e1c/go.mod h1:CGI5F/G+E5bKwmfYo09AXuVN4dD894kIKUFmVbP2/Fo=
+google.golang.org/genproto v0.0.0-20221109142239-94d6d90a7d66/go.mod h1:rZS5c/ZVYMaOGBfO68GWtjOw/eLaZM1X6iVtgjZ+EWg=
+google.golang.org/genproto v0.0.0-20221114212237-e4508ebdbee1/go.mod h1:rZS5c/ZVYMaOGBfO68GWtjOw/eLaZM1X6iVtgjZ+EWg=
+google.golang.org/genproto v0.0.0-20221117204609-8f9c96812029/go.mod h1:rZS5c/ZVYMaOGBfO68GWtjOw/eLaZM1X6iVtgjZ+EWg=
+google.golang.org/genproto v0.0.0-20221118155620-16455021b5e6/go.mod h1:rZS5c/ZVYMaOGBfO68GWtjOw/eLaZM1X6iVtgjZ+EWg=
+google.golang.org/genproto v0.0.0-20221201164419-0e50fba7f41c/go.mod h1:rZS5c/ZVYMaOGBfO68GWtjOw/eLaZM1X6iVtgjZ+EWg=
+google.golang.org/genproto v0.0.0-20221201204527-e3fa12d562f3/go.mod h1:rZS5c/ZVYMaOGBfO68GWtjOw/eLaZM1X6iVtgjZ+EWg=
+google.golang.org/genproto v0.0.0-20221202195650-67e5cbc046fd/go.mod h1:cTsE614GARnxrLsqKREzmNYJACSWWpAWdNMwnD7c2BE=
+google.golang.org/genproto v0.0.0-20221227171554-f9683d7f8bef/go.mod h1:RGgjbofJ8xD9Sq1VVhDM1Vok1vRONV+rg+CjzG4SZKM=
+google.golang.org/genproto v0.0.0-20230110181048-76db0878b65f/go.mod h1:RGgjbofJ8xD9Sq1VVhDM1Vok1vRONV+rg+CjzG4SZKM=
+google.golang.org/genproto v0.0.0-20230112194545-e10362b5ecf9/go.mod h1:RGgjbofJ8xD9Sq1VVhDM1Vok1vRONV+rg+CjzG4SZKM=
+google.golang.org/genproto v0.0.0-20230113154510-dbe35b8444a5/go.mod h1:RGgjbofJ8xD9Sq1VVhDM1Vok1vRONV+rg+CjzG4SZKM=
+google.golang.org/genproto v0.0.0-20230123190316-2c411cf9d197/go.mod h1:RGgjbofJ8xD9Sq1VVhDM1Vok1vRONV+rg+CjzG4SZKM=
+google.golang.org/genproto v0.0.0-20230124163310-31e0e69b6fc2/go.mod h1:RGgjbofJ8xD9Sq1VVhDM1Vok1vRONV+rg+CjzG4SZKM=
+google.golang.org/genproto v0.0.0-20230125152338-dcaf20b6aeaa/go.mod h1:RGgjbofJ8xD9Sq1VVhDM1Vok1vRONV+rg+CjzG4SZKM=
+google.golang.org/genproto v0.0.0-20230127162408-596548ed4efa/go.mod h1:RGgjbofJ8xD9Sq1VVhDM1Vok1vRONV+rg+CjzG4SZKM=
+google.golang.org/genproto v0.0.0-20230209215440-0dfe4f8abfcc/go.mod h1:RGgjbofJ8xD9Sq1VVhDM1Vok1vRONV+rg+CjzG4SZKM=
+google.golang.org/genproto v0.0.0-20230216225411-c8e22ba71e44/go.mod h1:8B0gmkoRebU8ukX6HP+4wrVQUY1+6PkQ44BSyIlflHA=
+google.golang.org/genproto v0.0.0-20230222225845-10f96fb3dbec/go.mod h1:3Dl5ZL0q0isWJt+FVcfpQyirqemEuLAK/iFvg1UP1Hw=
+google.golang.org/genproto v0.0.0-20230223222841-637eb2293923/go.mod h1:3Dl5ZL0q0isWJt+FVcfpQyirqemEuLAK/iFvg1UP1Hw=
+google.golang.org/genproto v0.0.0-20230303212802-e74f57abe488/go.mod h1:TvhZT5f700eVlTNwND1xoEZQeWTB2RY/65kplwl/bFA=
+google.golang.org/genproto v0.0.0-20230306155012-7f2fa6fef1f4/go.mod h1:NWraEVixdDnqcqQ30jipen1STv2r/n24Wb7twVTGR4s=
+google.golang.org/genproto v0.0.0-20230320184635-7606e756e683/go.mod h1:NWraEVixdDnqcqQ30jipen1STv2r/n24Wb7twVTGR4s=
+google.golang.org/genproto v0.0.0-20230323212658-478b75c54725/go.mod h1:UUQDJDOlWu4KYeJZffbWgBkS1YFobzKbLVfK69pe0Ak=
+google.golang.org/genproto v0.0.0-20230330154414-c0448cd141ea/go.mod h1:UUQDJDOlWu4KYeJZffbWgBkS1YFobzKbLVfK69pe0Ak=
+google.golang.org/genproto v0.0.0-20230331144136-dcfb400f0633/go.mod h1:UUQDJDOlWu4KYeJZffbWgBkS1YFobzKbLVfK69pe0Ak=
+google.golang.org/genproto v0.0.0-20230403163135-c38d8f061ccd/go.mod h1:UUQDJDOlWu4KYeJZffbWgBkS1YFobzKbLVfK69pe0Ak=
+google.golang.org/genproto v0.0.0-20230410155749-daa745c078e1/go.mod h1:nKE/iIaLqn2bQwXBg8f1g2Ylh6r5MN5CmZvuzZCgsCU=
+google.golang.org/genproto v0.0.0-20230525234025-438c736192d0/go.mod h1:9ExIQyXL5hZrHzQceCwuSYwZZ5QZBazOcprJ5rgs3lY=
+google.golang.org/genproto v0.0.0-20230530153820-e85fd2cbaebc/go.mod h1:xZnkP7mREFX5MORlOPEzLMr+90PPZQ2QWzrVTWfAq64=
+google.golang.org/genproto/googleapis/api v0.0.0-20230525234020-1aefcd67740a/go.mod h1:ts19tUU+Z0ZShN1y3aPyq2+O3d5FUNNgT6FtOzmrNn8=
+google.golang.org/genproto/googleapis/api v0.0.0-20230525234035-dd9d682886f9/go.mod h1:vHYtlOoi6TsQ3Uk2yxR7NI5z8uoV+3pZtR4jmHIkRig=
+google.golang.org/genproto/googleapis/api v0.0.0-20230526203410-71b5a4ffd15e/go.mod h1:vHYtlOoi6TsQ3Uk2yxR7NI5z8uoV+3pZtR4jmHIkRig=
+google.golang.org/genproto/googleapis/api v0.0.0-20230530153820-e85fd2cbaebc/go.mod h1:vHYtlOoi6TsQ3Uk2yxR7NI5z8uoV+3pZtR4jmHIkRig=
+google.golang.org/genproto/googleapis/bytestream v0.0.0-20230530153820-e85fd2cbaebc/go.mod h1:ylj+BE99M198VPbBh6A8d9n3w8fChvyLK3wwBOjXBFA=
+google.golang.org/genproto/googleapis/rpc v0.0.0-20230525234015-3fc162c6f38a/go.mod h1:xURIpW9ES5+/GZhnV6beoEtxQrnkRGIfP5VQG2tCBLc=
+google.golang.org/genproto/googleapis/rpc v0.0.0-20230525234030-28d5490b6b19/go.mod h1:66JfowdXAEgad5O9NnYcsNPLCPZJD++2L9X0PCMODrA=
+google.golang.org/genproto/googleapis/rpc v0.0.0-20230526203410-71b5a4ffd15e/go.mod h1:66JfowdXAEgad5O9NnYcsNPLCPZJD++2L9X0PCMODrA=
+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-20240429193739-8cf5692501f6 h1:DujSIu+2tC9Ht0aPNA7jgj23Iq8Ewi5sgkQ++wdvonE=
+google.golang.org/genproto/googleapis/rpc v0.0.0-20240429193739-8cf5692501f6/go.mod h1:WtryC6hu0hhx87FDGxWCDptyssuo68sk10vYjF+T9fY=
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=
@@ -684,8 +1815,38 @@ google.golang.org/grpc v1.28.0/go.mod h1:rpkK4SK4GF4Ach/+MFLZUBavHOvF2JJB5uozKKa
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.31.1/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak=
+google.golang.org/grpc v1.33.1/go.mod h1:fr5YgcSWrqhRRxogOsw7RzIpsmvOZ6IcH4kBYTpR3n0=
+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.36.0/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU=
+google.golang.org/grpc v1.36.1/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU=
+google.golang.org/grpc v1.37.0/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQdJfM=
+google.golang.org/grpc v1.37.1/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQdJfM=
+google.golang.org/grpc v1.38.0/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQdJfM=
+google.golang.org/grpc v1.39.0/go.mod h1:PImNr+rS9TWYb2O4/emRugxiyHZ5JyHW5F+RPnDzfrE=
+google.golang.org/grpc v1.39.1/go.mod h1:PImNr+rS9TWYb2O4/emRugxiyHZ5JyHW5F+RPnDzfrE=
+google.golang.org/grpc v1.40.0/go.mod h1:ogyxbiOoUXAkP+4+xa6PZSE9DZgIHtSpzjDTB9KAK34=
+google.golang.org/grpc v1.40.1/go.mod h1:ogyxbiOoUXAkP+4+xa6PZSE9DZgIHtSpzjDTB9KAK34=
+google.golang.org/grpc v1.42.0/go.mod h1:k+4IHHFw41K8+bbowsex27ge2rCb65oeWqe4jJ590SU=
+google.golang.org/grpc v1.44.0/go.mod h1:k+4IHHFw41K8+bbowsex27ge2rCb65oeWqe4jJ590SU=
+google.golang.org/grpc v1.45.0/go.mod h1:lN7owxKUQEqMfSyQikvvk5tf/6zMPsrK+ONuO11+0rQ=
+google.golang.org/grpc v1.46.0/go.mod h1:vN9eftEi1UMyUsIF80+uQXhHjbXYbm0uXoFCACuMGWk=
+google.golang.org/grpc v1.46.2/go.mod h1:vN9eftEi1UMyUsIF80+uQXhHjbXYbm0uXoFCACuMGWk=
+google.golang.org/grpc v1.47.0/go.mod h1:vN9eftEi1UMyUsIF80+uQXhHjbXYbm0uXoFCACuMGWk=
+google.golang.org/grpc v1.48.0/go.mod h1:vN9eftEi1UMyUsIF80+uQXhHjbXYbm0uXoFCACuMGWk=
+google.golang.org/grpc v1.49.0/go.mod h1:ZgQEeidpAuNRZ8iRrlBKXZQP1ghovWIVhdJRyCDK+GI=
+google.golang.org/grpc v1.50.0/go.mod h1:ZgQEeidpAuNRZ8iRrlBKXZQP1ghovWIVhdJRyCDK+GI=
+google.golang.org/grpc v1.50.1/go.mod h1:ZgQEeidpAuNRZ8iRrlBKXZQP1ghovWIVhdJRyCDK+GI=
+google.golang.org/grpc v1.51.0/go.mod h1:wgNDFcnuBGmxLKI/qn4T+m5BtEBYXJPvibbUPsAIPww=
+google.golang.org/grpc v1.52.0/go.mod h1:pu6fVzoFb+NBYNAvQL08ic+lvB2IojljRYuun5vorUY=
+google.golang.org/grpc v1.53.0/go.mod h1:OnIrk0ipVdj4N5d9IUoFUx72/VlD7+jUsHwZgwSMQpw=
+google.golang.org/grpc v1.54.0/go.mod h1:PUSEXI6iWghWaB6lXM4knEgpJNu2qUcKfDtNci3EC2g=
+google.golang.org/grpc v1.55.0/go.mod h1:iYEXKGkEBhg1PjZQvoYEVPTDkHo1/bjTnfwTeGONTY8=
google.golang.org/grpc v1.63.2 h1:MUeiw1B2maTVZthpU5xvASfTh3LDbxHd6IJ6QQVU+xM=
google.golang.org/grpc v1.63.2/go.mod h1:WAX/8DgncnokcFUldAxq7GeB5DXHDbMF+lLvDomNkRA=
+google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.1.0/go.mod h1:6Kw0yEErY5E/yWrBtf03jp27GLLJujG4z/JK95pnjjw=
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=
@@ -700,8 +1861,16 @@ google.golang.org/protobuf v1.24.0/go.mod h1:r/3tXBNzIEhYS9I1OUVjXDlt8tc493IdKGj
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.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.28.1/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I=
+google.golang.org/protobuf v1.29.1/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I=
+google.golang.org/protobuf v1.30.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I=
+google.golang.org/protobuf v1.31.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I=
+google.golang.org/protobuf v1.32.0/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos=
google.golang.org/protobuf v1.33.0/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos=
+google.golang.org/protobuf v1.34.0 h1:Qo/qEd2RZPCf2nKuorzksSknv0d3ERwp1vFG38gSmH4=
+google.golang.org/protobuf v1.34.0/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos=
gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw=
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=
@@ -724,6 +1893,7 @@ gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7 h1:uRGJdciOHaEIrze2W8Q3AKkep
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.3/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=
@@ -740,40 +1910,73 @@ honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWh
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.30.0 h1:siWhRq7cNjy2iHssOB9SCGNCl2spiF1dO3dABqZ8niA=
-k8s.io/api v0.30.0/go.mod h1:OPlaYhoHs8EQ1ql0R/TsUgaRPhpKNxIMrKQfWUp8QSE=
-k8s.io/apiextensions-apiserver v0.29.3 h1:9HF+EtZaVpFjStakF4yVufnXGPRppWFEQ87qnO91YeI=
-k8s.io/apiextensions-apiserver v0.29.3/go.mod h1:po0XiY5scnpJfFizNGo6puNU6Fq6D70UJY2Cb2KwAVc=
-k8s.io/apimachinery v0.30.0 h1:qxVPsyDM5XS96NIh9Oj6LavoVFYff/Pon9cZeDIkHHA=
-k8s.io/apimachinery v0.30.0/go.mod h1:iexa2somDaxdnj7bha06bhb43Zpa6eWH8N8dbqVjTUc=
-k8s.io/apiserver v0.29.3 h1:xR7ELlJ/BZSr2n4CnD3lfA4gzFivh0wwfNfz9L0WZcE=
-k8s.io/apiserver v0.29.3/go.mod h1:hrvXlwfRulbMbBgmWRQlFru2b/JySDpmzvQwwk4GUOs=
-k8s.io/cli-runtime v0.29.3 h1:r68rephmmytoywkw2MyJ+CxjpasJDQY7AGc3XY2iv1k=
-k8s.io/cli-runtime v0.29.3/go.mod h1:aqVUsk86/RhaGJwDhHXH0jcdqBrgdF3bZWk4Z9D4mkM=
-k8s.io/client-go v0.30.0 h1:sB1AGGlhY/o7KCyCEQ0bPWzYDL0pwOZO4vAtTSh/gJQ=
-k8s.io/client-go v0.30.0/go.mod h1:g7li5O5256qe6TYdAMyX/otJqMhIiGgTapdLchhmOaY=
-k8s.io/code-generator v0.29.3 h1:m7E25/t9R9NvejspO2zBdyu+/Gl0Z5m7dCRc680KS14=
-k8s.io/code-generator v0.29.3/go.mod h1:x47ofBhN4gxYFcxeKA1PYXeaPreAGaDN85Y/lNUsPoM=
-k8s.io/component-base v0.30.0 h1:cj6bp38g0ainlfYtaOQuRELh5KSYjhKxM+io7AUIk4o=
-k8s.io/component-base v0.30.0/go.mod h1:V9x/0ePFNaKeKYA3bOvIbrNoluTSG+fSJKjLdjOoeXQ=
-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/gengo/v2 v2.0.0-20240228010128-51d4e06bde70 h1:NGrVE502P0s0/1hudf8zjgwki1X/TByhmAoILTarmzo=
-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=
+honnef.co/go/tools v0.1.3/go.mod h1:NgwopIslSNH47DimFoV78dnkksY2EFtX0ajyb3K/las=
+k8s.io/api v0.30.1 h1:kCm/6mADMdbAxmIh0LBjS54nQBE+U4KmbCfIkF5CpJY=
+k8s.io/api v0.30.1/go.mod h1:ddbN2C0+0DIiPntan/bye3SW3PdwLa11/0yqwvuRrJM=
+k8s.io/apiextensions-apiserver v0.30.1 h1:4fAJZ9985BmpJG6PkoxVRpXv9vmPUOVzl614xarePws=
+k8s.io/apiextensions-apiserver v0.30.1/go.mod h1:R4GuSrlhgq43oRY9sF2IToFh7PVlF1JjfWdoG3pixk4=
+k8s.io/apimachinery v0.30.1 h1:ZQStsEfo4n65yAdlGTfP/uSHMQSoYzU/oeEbkmF7P2U=
+k8s.io/apimachinery v0.30.1/go.mod h1:iexa2somDaxdnj7bha06bhb43Zpa6eWH8N8dbqVjTUc=
+k8s.io/apiserver v0.30.1 h1:BEWEe8bzS12nMtDKXzCF5Q5ovp6LjjYkSp8qOPk8LZ8=
+k8s.io/apiserver v0.30.1/go.mod h1:i87ZnQ+/PGAmSbD/iEKM68bm1D5reX8fO4Ito4B01mo=
+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.30.1 h1:uC/Ir6A3R46wdkgCV3vbLyNOYyCJ8oZnjtJGKfytl/Q=
+k8s.io/client-go v0.30.1/go.mod h1:wrAqLNs2trwiCH/wxxmT/x3hKVH9PuV0GGW0oDoHVqc=
+k8s.io/code-generator v0.30.1 h1:ZsG++q5Vt0ScmKCeLhynUuWgcwFGg1Hl1AGfatqPJBI=
+k8s.io/code-generator v0.30.1/go.mod h1:hFgxRsvOUg79mbpbVKfjJvRhVz1qLoe40yZDJ/hwRH4=
+k8s.io/component-base v0.30.1 h1:bvAtlPh1UrdaZL20D9+sWxsJljMi0QZ3Lmw+kmZAaxQ=
+k8s.io/component-base v0.30.1/go.mod h1:e/X9kDiOebwlI41AvBHuWdqFriSRrX50CdwA9TFaHLI=
+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.120.1 h1:QXU6cPEOIslTGvZaXvFWiP9VKyeet3sawzTOvdXb4Vw=
k8s.io/klog/v2 v2.120.1/go.mod h1:3Jpz1GvMt720eyJH1ckRHK1EDfpxISzJ7I9OYgaDtPE=
-k8s.io/kube-openapi v0.0.0-20240228011516-70dd3763d340 h1:BZqlfIlq5YbRMFko6/PM7FjZpUb45WallggurYhKGag=
-k8s.io/kube-openapi v0.0.0-20240228011516-70dd3763d340/go.mod h1:yD4MZYeKMBwQKVht279WycxKyM84kkAx2DPrTXaeb98=
-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/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-20240502163921-fe8a2dddb1d0 h1:jgGTlFYnhF1PM1Ax/lAlxUPE+KfCIXHaathvJg1C3ak=
+k8s.io/utils v0.0.0-20240502163921-fe8a2dddb1d0/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0=
+lukechampine.com/uint128 v1.1.1/go.mod h1:c4eWIwlEGaxC/+H1VguhU4PHXNWDCDMUlWdIWl2j1gk=
+lukechampine.com/uint128 v1.2.0/go.mod h1:c4eWIwlEGaxC/+H1VguhU4PHXNWDCDMUlWdIWl2j1gk=
+modernc.org/cc/v3 v3.36.0/go.mod h1:NFUHyPn4ekoC/JHeZFfZurN6ixxawE1BnVonP/oahEI=
+modernc.org/cc/v3 v3.36.2/go.mod h1:NFUHyPn4ekoC/JHeZFfZurN6ixxawE1BnVonP/oahEI=
+modernc.org/cc/v3 v3.36.3/go.mod h1:NFUHyPn4ekoC/JHeZFfZurN6ixxawE1BnVonP/oahEI=
+modernc.org/ccgo/v3 v3.0.0-20220428102840-41399a37e894/go.mod h1:eI31LL8EwEBKPpNpA4bU1/i+sKOwOrQy8D87zWUcRZc=
+modernc.org/ccgo/v3 v3.0.0-20220430103911-bc99d88307be/go.mod h1:bwdAnOoaIt8Ax9YdWGjxWsdkPcZyRPHqrOvJxaKAKGw=
+modernc.org/ccgo/v3 v3.16.4/go.mod h1:tGtX0gE9Jn7hdZFeU88slbTh1UtCYKusWOoCJuvkWsQ=
+modernc.org/ccgo/v3 v3.16.6/go.mod h1:tGtX0gE9Jn7hdZFeU88slbTh1UtCYKusWOoCJuvkWsQ=
+modernc.org/ccgo/v3 v3.16.8/go.mod h1:zNjwkizS+fIFDrDjIAgBSCLkWbJuHF+ar3QRn+Z9aws=
+modernc.org/ccgo/v3 v3.16.9/go.mod h1:zNMzC9A9xeNUepy6KuZBbugn3c0Mc9TeiJO4lgvkJDo=
+modernc.org/ccorpus v1.11.6/go.mod h1:2gEUTrWqdpH2pXsmTM1ZkjeSrUWDpjMu2T6m29L/ErQ=
+modernc.org/httpfs v1.0.6/go.mod h1:7dosgurJGp0sPaRanU53W4xZYKh14wfzX420oZADeHM=
+modernc.org/libc v0.0.0-20220428101251-2d5f3daf273b/go.mod h1:p7Mg4+koNjc8jkqwcoFBJx7tXkpj00G77X7A72jXPXA=
+modernc.org/libc v1.16.0/go.mod h1:N4LD6DBE9cf+Dzf9buBlzVJndKr/iJHG97vGLHYnb5A=
+modernc.org/libc v1.16.1/go.mod h1:JjJE0eu4yeK7tab2n4S1w8tlWd9MxXLRzheaRnAKymU=
+modernc.org/libc v1.16.17/go.mod h1:hYIV5VZczAmGZAnG15Vdngn5HSF5cSkbvfz2B7GRuVU=
+modernc.org/libc v1.16.19/go.mod h1:p7Mg4+koNjc8jkqwcoFBJx7tXkpj00G77X7A72jXPXA=
+modernc.org/libc v1.17.0/go.mod h1:XsgLldpP4aWlPlsjqKRdHPqCxCjISdHfM/yeWC5GyW0=
+modernc.org/libc v1.17.1/go.mod h1:FZ23b+8LjxZs7XtFMbSzL/EhPxNbfZbErxEHc7cbD9s=
+modernc.org/mathutil v1.2.2/go.mod h1:mZW8CKdRPY1v87qxC/wUdX5O1qDzXMP5TH3wjfpga6E=
+modernc.org/mathutil v1.4.1/go.mod h1:mZW8CKdRPY1v87qxC/wUdX5O1qDzXMP5TH3wjfpga6E=
+modernc.org/mathutil v1.5.0/go.mod h1:mZW8CKdRPY1v87qxC/wUdX5O1qDzXMP5TH3wjfpga6E=
+modernc.org/memory v1.1.1/go.mod h1:/0wo5ibyrQiaoUoH7f9D8dnglAmILJ5/cxZlRECf+Nw=
+modernc.org/memory v1.2.0/go.mod h1:/0wo5ibyrQiaoUoH7f9D8dnglAmILJ5/cxZlRECf+Nw=
+modernc.org/memory v1.2.1/go.mod h1:PkUhL0Mugw21sHPeskwZW4D6VscE/GQJOnIpCnW6pSU=
+modernc.org/opt v0.1.1/go.mod h1:WdSiB5evDcignE70guQKxYUl14mgWtbClRi5wmkkTX0=
+modernc.org/opt v0.1.3/go.mod h1:WdSiB5evDcignE70guQKxYUl14mgWtbClRi5wmkkTX0=
+modernc.org/sqlite v1.18.1/go.mod h1:6ho+Gow7oX5V+OiOQ6Tr4xeqbx13UZ6t+Fw9IRUG4d4=
+modernc.org/strutil v1.1.1/go.mod h1:DE+MQQ/hjKBZS2zNInV5hhcipt5rLPWkmpbGeW5mmdw=
+modernc.org/strutil v1.1.3/go.mod h1:MEHNA7PdEnEwLvspRMtWTNnp2nnyvMfkimT1NKNAGbw=
+modernc.org/tcl v1.13.1/go.mod h1:XOLfOwzhkljL4itZkK6T72ckMgvj0BDsnKNdZVUOecw=
+modernc.org/token v1.0.0/go.mod h1:UGzOrNV1mAFSEB63lOFHIpNRUVMvYTc6yu1SMY/XTDM=
+modernc.org/z v1.5.1/go.mod h1:eWFB510QWW5Th9YGZT81s+LwvaAs3Q2yr4sP0rmLkv8=
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/pdf v0.1.1/go.mod h1:n8OzWcQ6Sp37PL01nO98y4iUCRdTGarVfzxY20ICaU4=
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.3 h1:65QmN7r3FWgTxDMz9fvGnO1kbf2nu+acg9p2R9oYYYk=
-sigs.k8s.io/controller-runtime v0.17.3/go.mod h1:N0jpP5Lo7lMTF9aL56Z/B2oWBJjey6StQM0jRbKQXtY=
+sigs.k8s.io/controller-runtime v0.18.3 h1:B5Wmmo8WMWK7izei+2LlXLVDGzMwAHBNLX68lwtlSR4=
+sigs.k8s.io/controller-runtime v0.18.3/go.mod h1:TVoGrfdpbA9VRFaRnKgk9P5/atA0pMwq+f+msb9M8Sg=
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=
@@ -784,6 +1987,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..c963e3c0e 100644
--- a/go.work
+++ b/go.work
@@ -1,4 +1,4 @@
-go 1.21
+go 1.22.0
use (
.
diff --git a/go.work.sum b/go.work.sum
index 4e1cead39..51c6a3e66 100644
--- a/go.work.sum
+++ b/go.work.sum
@@ -1,673 +1,936 @@
-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=
+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/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/alecthomas/kingpin/v2 v2.4.0/go.mod h1:0gyi0zQnjuFk8xrkNKamJoyUo382HRL7ATRpFZCw6tE=
-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/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/template v0.0.0-20190718012654-fb15b899a751 h1:JYp7IbQjafoB+tBA3gMyHYHrpOtNuDiK/uB5uXxq5wM=
+github.com/alecthomas/units v0.0.0-20211218093645-b94a6e3cc137 h1:s6gZFSlWYmbqAuRjVTiNNhvNRfY2Wxp9nhfyel4rklc=
+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/census-instrumentation/opencensus-proto v0.4.1/go.mod h1:4T9NM4+4Vw91VeyqjLS6ao50K5bOcLKN6Q42XnYaRYw=
+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/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.2.1 h1:XHDu3E6q+gdHgsdTPH6ImJMIp436vR6MPtH8gP05QzM=
github.com/chzyer/logex v1.2.1/go.mod h1:JLbx6lG2kDbNRFnfkgvh4eRJRPX1QCoOIWomwysCBrQ=
+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 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/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/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/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/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/go-kit/log v0.2.1/go.mod h1:NwTd00d/i8cPZ3xOwwiv2PO5MOcx78fFErGNcVmBjv0=
-github.com/go-logfmt/logfmt v0.5.1/go.mod h1:WYhtIu8zTZfxdn5+rREduYbwxfcBr/Vr6KEVveWlfTs=
+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-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-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/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/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/mock v1.6.0 h1:ErTB+efbowRARo13NNdxyJji2egdxLGQhRaY+DUumQc=
+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/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.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/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/jstemmer/go-junit-report v0.9.1 h1:6QPYqodiu3GuPL+7mfx+NwDdp2eTkp9IfEUpgAwUN0o=
+github.com/julienschmidt/httprouter v1.3.0 h1:U0609e9tgbseu3rBINet9P48AI/D3oJs4dN7jwJOQ1U=
+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/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/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/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/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/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/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/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/rogpeppe/go-internal v1.9.0/go.mod h1:WtVeX8xhTBvf0smdhujwtBcq4Qrzq/fJaraNFVN+nFs=
+github.com/prometheus/exporter-toolkit v0.11.0 h1:yNTsuZ0aNCNFQ3aFTD2uhPOvr4iD7fdBvKPAEGkNf+g=
+github.com/prometheus/procfs v0.13.0 h1:GqzLlQyfsPbaEHaQkO7tbDlriv/4o5Hudv6OXHGKX7o=
+github.com/remyoudompheng/bigfft v0.0.0-20200410134404-eec4a21b6bb0 h1:OdAsTTz6OkFY5QxjkYwrChwuRruF69c169dPK26NUlk=
+github.com/rogpeppe/fastuuid v1.2.0 h1:Ppwyp6VYCF1nvBTXL3trRso7mXMlRrw9ooo375wvi2s=
+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/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/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/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/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/crypto v0.21.0/go.mod h1:0BP7YvVV9gBbVKyeTG0Gyn+gZm94bibOW5BjDEYAOMs=
-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/mod v0.9.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs=
+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.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.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/net v0.21.0/go.mod h1:bIjVDfnllIU7BJ2DNgfnXvpSvtn8VRwhlsaeUTyUS44=
-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/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-20220310020820-b874c991c1a5/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
-golang.org/x/sys v0.5.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/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/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/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/xerrors v0.0.0-20220907171357-04be3eba64a2/go.mod h1:K8+ghG5WaK9qNqU5K3HdILfMLy1f3aNYFI/wnl100a8=
+golang.org/x/tools v0.16.1/go.mod h1:kYVVN6I1mBNoB1OX+noeBjbRk4IUEPa7JJ+TJMEooJ0=
+golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2 h1:H2TDz8ibqkAF6YGhCdN3jS9O0/s90v0rJh3X/OLHEUk=
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/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=
@@ -685,7 +948,7 @@ google.golang.org/genproto v0.0.0-20240125205218-1f4bbc51befe/go.mod h1:cc8bqMqt
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 v0.0.0-20240227224415-6ceb2ff114de h1:F6qOa9AZTYJXOUEr4jDysRDLrm4PHePlge4v4TGAlxY=
-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/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=
@@ -697,10 +960,12 @@ 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/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=
@@ -711,25 +976,57 @@ 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/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=
From fa9ab5c27f6a8af8a0aa7d6eb196777b28a6f597 Mon Sep 17 00:00:00 2001
From: k8s-infra-cherrypick-robot
<90416843+k8s-infra-cherrypick-robot@users.noreply.github.com>
Date: Fri, 31 May 2024 06:01:12 -0700
Subject: [PATCH 073/265] Bump golangci/golangci-lint-action from 4.0.0 to
5.0.0 (#11402)
Bumps [golangci/golangci-lint-action](https://github.com/golangci/golangci-lint-action) from 4.0.0 to 5.0.0.
- [Release notes](https://github.com/golangci/golangci-lint-action/releases)
- [Commits](https://github.com/golangci/golangci-lint-action/compare/3cfe3a4abbb849e10058ce4af15d205b6da42804...82d40c283aeb1f2b6595839195e95c2d6a49081b)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
---
.github/workflows/golangci-lint.yml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/.github/workflows/golangci-lint.yml b/.github/workflows/golangci-lint.yml
index 2b709ccfd..33a91b081 100644
--- a/.github/workflows/golangci-lint.yml
+++ b/.github/workflows/golangci-lint.yml
@@ -28,6 +28,6 @@ jobs:
check-latest: true
- name: golangci-lint
- uses: golangci/golangci-lint-action@3cfe3a4abbb849e10058ce4af15d205b6da42804 # v4.0.0
+ uses: golangci/golangci-lint-action@82d40c283aeb1f2b6595839195e95c2d6a49081b # v5.0.0
with:
version: v1.56
From 075ce7c13c59cf5d623b572f6d4d523ae7778ef9 Mon Sep 17 00:00:00 2001
From: k8s-infra-cherrypick-robot
<90416843+k8s-infra-cherrypick-robot@users.noreply.github.com>
Date: Fri, 31 May 2024 09:11:06 -0700
Subject: [PATCH 074/265] Bump Kubernetes version on images (#11403)
Co-authored-by: Ricardo Katz
---
build/dev-env.sh | 2 +-
images/test-runner/Makefile | 16 ++++++++--------
images/test-runner/TAG | 2 +-
test/e2e/run-chart-test.sh | 2 +-
test/e2e/run-kind-e2e.sh | 2 +-
5 files changed, 12 insertions(+), 12 deletions(-)
diff --git a/build/dev-env.sh b/build/dev-env.sh
index 93ed3de40..699c98030 100755
--- a/build/dev-env.sh
+++ b/build/dev-env.sh
@@ -64,7 +64,7 @@ echo "[dev-env] building image"
make build image
docker tag "${REGISTRY}/controller:${TAG}" "${DEV_IMAGE}"
-export K8S_VERSION=${K8S_VERSION:-v1.26.3@sha256:61b92f38dff6ccc29969e7aa154d34e38b89443af1a2c14e6cfbd2df6419c66f}
+export K8S_VERSION=${K8S_VERSION:-v1.29.2@sha256:51a1434a5397193442f0be2a297b488b6c919ce8a3931be0ce822606ea5ca245}
KIND_CLUSTER_NAME="ingress-nginx-dev"
diff --git a/images/test-runner/Makefile b/images/test-runner/Makefile
index ac0757ab2..d82427140 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.17.1 \
+ --build-arg HELM_VERSION=3.14.4 \
+ --build-arg GINKGO_VERSION=2.17.2 \
--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.17.1 \
+ --build-arg HELM_VERSION=3.14.4 \
+ --build-arg GINKGO_VERSION=2.17.2 \
--build-arg GOLINT_VERSION=latest \
-t ${IMAGE}:${TAG} rootfs
diff --git a/images/test-runner/TAG b/images/test-runner/TAG
index 90ab6e946..8ce995b80 100644
--- a/images/test-runner/TAG
+++ b/images/test-runner/TAG
@@ -1 +1 @@
-v0.0.2
\ No newline at end of file
+v0.0.3
\ No newline at end of file
diff --git a/test/e2e/run-chart-test.sh b/test/e2e/run-chart-test.sh
index a453bd1b4..dadb5195d 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} \
diff --git a/test/e2e/run-kind-e2e.sh b/test/e2e/run-kind-e2e.sh
index 891e5dbae..128964393 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
From 7520982b4e3e6dede30b8a411e60891f5bed11e2 Mon Sep 17 00:00:00 2001
From: k8s-infra-cherrypick-robot
<90416843+k8s-infra-cherrypick-robot@users.noreply.github.com>
Date: Fri, 31 May 2024 09:20:28 -0700
Subject: [PATCH 075/265] Bump the all group with 3 updates (#11404)
Bumps the all group with 3 updates: [actions/setup-go](https://github.com/actions/setup-go), [actions/dependency-review-action](https://github.com/actions/dependency-review-action) and [golangci/golangci-lint-action](https://github.com/golangci/golangci-lint-action).
Updates `actions/setup-go` from 5.0.0 to 5.0.1
- [Release notes](https://github.com/actions/setup-go/releases)
- [Commits](https://github.com/actions/setup-go/compare/0c52d547c9bc32b1aa3301fd7a9cb496313a4491...cdcb36043654635271a94b9a6d1392de5bb323a7)
Updates `actions/dependency-review-action` from 4.2.5 to 4.3.2
- [Release notes](https://github.com/actions/dependency-review-action/releases)
- [Commits](https://github.com/actions/dependency-review-action/compare/5bbc3ba658137598168acb2ab73b21c432dd411b...0c155c5e8556a497adf53f2c18edabf945ed8e70)
Updates `golangci/golangci-lint-action` from 5.0.0 to 5.3.0
- [Release notes](https://github.com/golangci/golangci-lint-action/releases)
- [Commits](https://github.com/golangci/golangci-lint-action/compare/82d40c283aeb1f2b6595839195e95c2d6a49081b...38e1018663fa5173f3968ea0777460d3de38f256)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
---
.github/workflows/ci.yaml | 6 +++---
.github/workflows/depreview.yaml | 2 +-
.github/workflows/golangci-lint.yml | 4 ++--
.github/workflows/images.yaml | 2 +-
.github/workflows/plugin.yaml | 2 +-
5 files changed, 8 insertions(+), 8 deletions(-)
diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml
index afc2f7d38..cafb5ad95 100644
--- a/.github/workflows/ci.yaml
+++ b/.github/workflows/ci.yaml
@@ -84,7 +84,7 @@ jobs:
- name: Set up Go
id: go
- uses: actions/setup-go@0c52d547c9bc32b1aa3301fd7a9cb496313a4491 # v5.0.0
+ uses: actions/setup-go@cdcb36043654635271a94b9a6d1392de5bb323a7 # v5.0.1
with:
go-version: ${{ env.GOLANG_VERSION }}
check-latest: true
@@ -114,7 +114,7 @@ jobs:
- name: Set up Go
id: go
- uses: actions/setup-go@0c52d547c9bc32b1aa3301fd7a9cb496313a4491 # v5.0.0
+ uses: actions/setup-go@cdcb36043654635271a94b9a6d1392de5bb323a7 # v5.0.1
with:
go-version: ${{ steps.golangversion.outputs.version }}
check-latest: true
@@ -242,7 +242,7 @@ jobs:
uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4
- name: Setup Go
- uses: actions/setup-go@0c52d547c9bc32b1aa3301fd7a9cb496313a4491 # v5.0.0
+ uses: actions/setup-go@cdcb36043654635271a94b9a6d1392de5bb323a7 # v5.0.1
with:
go-version: ${{ needs.build.outputs.golangversion }}
check-latest: true
diff --git a/.github/workflows/depreview.yaml b/.github/workflows/depreview.yaml
index c9881c2a3..ffe249546 100644
--- a/.github/workflows/depreview.yaml
+++ b/.github/workflows/depreview.yaml
@@ -11,4 +11,4 @@ jobs:
- name: 'Checkout Repository'
uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4
- name: 'Dependency Review'
- uses: actions/dependency-review-action@5bbc3ba658137598168acb2ab73b21c432dd411b # v4.2.5
+ uses: actions/dependency-review-action@0c155c5e8556a497adf53f2c18edabf945ed8e70 # v4.3.2
diff --git a/.github/workflows/golangci-lint.yml b/.github/workflows/golangci-lint.yml
index 33a91b081..ff04ab3da 100644
--- a/.github/workflows/golangci-lint.yml
+++ b/.github/workflows/golangci-lint.yml
@@ -22,12 +22,12 @@ jobs:
- name: Set up Go
id: go
- uses: actions/setup-go@0c52d547c9bc32b1aa3301fd7a9cb496313a4491 # v5.0.0
+ uses: actions/setup-go@cdcb36043654635271a94b9a6d1392de5bb323a7 # v5.0.1
with:
go-version: ${{ env.GOLANG_VERSION }}
check-latest: true
- name: golangci-lint
- uses: golangci/golangci-lint-action@82d40c283aeb1f2b6595839195e95c2d6a49081b # v5.0.0
+ uses: golangci/golangci-lint-action@38e1018663fa5173f3968ea0777460d3de38f256 # v5.3.0
with:
version: v1.56
diff --git a/.github/workflows/images.yaml b/.github/workflows/images.yaml
index a7a2adce0..4123a5efa 100644
--- a/.github/workflows/images.yaml
+++ b/.github/workflows/images.yaml
@@ -151,7 +151,7 @@ jobs:
- name: Set up Go
id: go
- uses: actions/setup-go@0c52d547c9bc32b1aa3301fd7a9cb496313a4491 # v5.0.0
+ uses: actions/setup-go@cdcb36043654635271a94b9a6d1392de5bb323a7 # v5.0.1
with:
go-version: ${{ env.GOLANG_VERSION }}
check-latest: true
diff --git a/.github/workflows/plugin.yaml b/.github/workflows/plugin.yaml
index 1b8c8f19b..56992f34d 100644
--- a/.github/workflows/plugin.yaml
+++ b/.github/workflows/plugin.yaml
@@ -20,7 +20,7 @@ jobs:
run: echo "GOLANG_VERSION=$(cat GOLANG_VERSION)" >> $GITHUB_ENV
- name: Set up Go
- uses: actions/setup-go@0c52d547c9bc32b1aa3301fd7a9cb496313a4491 # v5.0.0
+ uses: actions/setup-go@cdcb36043654635271a94b9a6d1392de5bb323a7 # v5.0.1
with:
go-version: ${{ env.GOLANG_VERSION }}
check-latest: true
From 047fa58e2640e8445a76b00a563ed221114bf56e Mon Sep 17 00:00:00 2001
From: Marco Ebert
Date: Sun, 2 Jun 2024 19:38:19 +0200
Subject: [PATCH 076/265] Docs: Remove opentracing and zipkin from docs
(#11405)
Co-authored-by: Lucas Andrade Flores
---
.../nginx-configuration/annotations.md | 20 --
.../nginx-configuration/configmap.md | 42 ---
.../third-party-addons/opentracing.md | 263 ------------------
3 files changed, 325 deletions(-)
delete mode 100644 docs/user-guide/third-party-addons/opentracing.md
diff --git a/docs/user-guide/nginx-configuration/annotations.md b/docs/user-guide/nginx-configuration/annotations.md
index 184c4993b..1951df6ee 100755
--- a/docs/user-guide/nginx-configuration/annotations.md
+++ b/docs/user-guide/nginx-configuration/annotations.md
@@ -123,8 +123,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|
@@ -813,24 +811,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
diff --git a/docs/user-guide/nginx-configuration/configmap.md b/docs/user-guide/nginx-configuration/configmap.md
index 5d3ff6c58..51e33f5fd 100644
--- a/docs/user-guide/nginx-configuration/configmap.md
+++ b/docs/user-guide/nginx-configuration/configmap.md
@@ -133,13 +133,6 @@ The following table shows a configuration option's name, type, and the default v
|[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|""||
@@ -935,41 +928,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.
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:
- 
From db3990d557378a1b9a6fbbcc018f855014a2cd45 Mon Sep 17 00:00:00 2001
From: k8s-infra-cherrypick-robot
<90416843+k8s-infra-cherrypick-robot@users.noreply.github.com>
Date: Sun, 2 Jun 2024 10:40:43 -0700
Subject: [PATCH 077/265] Bump golangci/golangci-lint-action from 5.3.0 to
6.0.1 (#11406)
Bumps [golangci/golangci-lint-action](https://github.com/golangci/golangci-lint-action) from 5.3.0 to 6.0.1.
- [Release notes](https://github.com/golangci/golangci-lint-action/releases)
- [Commits](https://github.com/golangci/golangci-lint-action/compare/38e1018663fa5173f3968ea0777460d3de38f256...a4f60bb28d35aeee14e6880718e0c85ff1882e64)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
---
.github/workflows/golangci-lint.yml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/.github/workflows/golangci-lint.yml b/.github/workflows/golangci-lint.yml
index ff04ab3da..91fbbe088 100644
--- a/.github/workflows/golangci-lint.yml
+++ b/.github/workflows/golangci-lint.yml
@@ -28,6 +28,6 @@ jobs:
check-latest: true
- name: golangci-lint
- uses: golangci/golangci-lint-action@38e1018663fa5173f3968ea0777460d3de38f256 # v5.3.0
+ uses: golangci/golangci-lint-action@a4f60bb28d35aeee14e6880718e0c85ff1882e64 # v6.0.1
with:
version: v1.56
From 18cfd1daac5c409c3e08149e4530935fee72c803 Mon Sep 17 00:00:00 2001
From: k8s-infra-cherrypick-robot
<90416843+k8s-infra-cherrypick-robot@users.noreply.github.com>
Date: Sun, 2 Jun 2024 10:47:32 -0700
Subject: [PATCH 078/265] Bump the all group across 1 directory with 6 updates
(#11407)
Bumps the all group with 6 updates in the / directory:
| Package | From | To |
| --- | --- | --- |
| [actions/checkout](https://github.com/actions/checkout) | `4.1.4` | `4.1.6` |
| [dorny/test-reporter](https://github.com/dorny/test-reporter) | `1.9.0` | `1.9.1` |
| [goreleaser/goreleaser-action](https://github.com/goreleaser/goreleaser-action) | `5.0.0` | `5.1.0` |
| [ossf/scorecard-action](https://github.com/ossf/scorecard-action) | `2.3.1` | `2.3.3` |
| [github/codeql-action](https://github.com/github/codeql-action) | `3.25.3` | `3.25.6` |
| [aquasecurity/trivy-action](https://github.com/aquasecurity/trivy-action) | `0.19.0` | `0.21.0` |
Updates `actions/checkout` from 4.1.4 to 4.1.6
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/0ad4b8fadaa221de15dcec353f45205ec38ea70b...a5ac7e51b41094c92402da3b24376905380afc29)
Updates `dorny/test-reporter` from 1.9.0 to 1.9.1
- [Release notes](https://github.com/dorny/test-reporter/releases)
- [Changelog](https://github.com/dorny/test-reporter/blob/main/CHANGELOG.md)
- [Commits](https://github.com/dorny/test-reporter/compare/c40d89d5e987cd80f3a32b3c233556e22bdca958...31a54ee7ebcacc03a09ea97a7e5465a47b84aea5)
Updates `goreleaser/goreleaser-action` from 5.0.0 to 5.1.0
- [Release notes](https://github.com/goreleaser/goreleaser-action/releases)
- [Commits](https://github.com/goreleaser/goreleaser-action/compare/7ec5c2b0c6cdda6e8bbb49444bc797dd33d74dd8...5742e2a039330cbb23ebf35f046f814d4c6ff811)
Updates `ossf/scorecard-action` from 2.3.1 to 2.3.3
- [Release notes](https://github.com/ossf/scorecard-action/releases)
- [Changelog](https://github.com/ossf/scorecard-action/blob/main/RELEASE.md)
- [Commits](https://github.com/ossf/scorecard-action/compare/0864cf19026789058feabb7e87baa5f140aac736...dc50aa9510b46c811795eb24b2f1ba02a914e534)
Updates `github/codeql-action` from 3.25.3 to 3.25.6
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/github/codeql-action/compare/d39d31e687223d841ef683f52467bd88e9b21c14...9fdb3e49720b44c48891d036bb502feb25684276)
Updates `aquasecurity/trivy-action` from 0.19.0 to 0.21.0
- [Release notes](https://github.com/aquasecurity/trivy-action/releases)
- [Commits](https://github.com/aquasecurity/trivy-action/compare/d710430a6722f083d3b36b8339ff66b32f22ee55...fd25fed6972e341ff0007ddb61f77e88103953c2)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
---
.github/workflows/ci.yaml | 10 +++++-----
.github/workflows/depreview.yaml | 2 +-
.github/workflows/docs.yaml | 4 ++--
.github/workflows/golangci-lint.yml | 2 +-
.github/workflows/helm.yaml | 4 ++--
.github/workflows/images.yaml | 8 ++++----
.github/workflows/junit-reports.yaml | 2 +-
.github/workflows/perftest.yaml | 2 +-
.github/workflows/plugin.yaml | 6 +++---
.github/workflows/scorecards.yml | 6 +++---
.github/workflows/vulnerability-scans.yaml | 8 ++++----
.github/workflows/zz-tmpl-images.yaml | 6 +++---
.github/workflows/zz-tmpl-k8s-e2e.yaml | 2 +-
13 files changed, 31 insertions(+), 31 deletions(-)
diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml
index cafb5ad95..70369418f 100644
--- a/.github/workflows/ci.yaml
+++ b/.github/workflows/ci.yaml
@@ -47,7 +47,7 @@ jobs:
steps:
- name: Checkout
- uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4
+ uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v4.1.6
- uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
id: filter
@@ -77,7 +77,7 @@ jobs:
(needs.changes.outputs.go == 'true')
steps:
- name: Checkout
- uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4
+ uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v4.1.6
- name: Get go version
run: echo "GOLANG_VERSION=$(cat GOLANG_VERSION)" >> $GITHUB_ENV
@@ -105,7 +105,7 @@ jobs:
PLATFORMS: linux/amd64
steps:
- name: Checkout
- uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4
+ uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v4.1.6
- name: Get go version
id: golangversion
@@ -179,7 +179,7 @@ jobs:
steps:
- name: Checkout
- uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4
+ uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v4.1.6
with:
fetch-depth: 0
@@ -239,7 +239,7 @@ jobs:
steps:
- name: Checkout
- uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4
+ uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v4.1.6
- name: Setup Go
uses: actions/setup-go@cdcb36043654635271a94b9a6d1392de5bb323a7 # v5.0.1
diff --git a/.github/workflows/depreview.yaml b/.github/workflows/depreview.yaml
index ffe249546..fea5a4e4e 100644
--- a/.github/workflows/depreview.yaml
+++ b/.github/workflows/depreview.yaml
@@ -9,6 +9,6 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: 'Checkout Repository'
- uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4
+ uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v4.1.6
- name: 'Dependency Review'
uses: actions/dependency-review-action@0c155c5e8556a497adf53f2c18edabf945ed8e70 # v4.3.2
diff --git a/.github/workflows/docs.yaml b/.github/workflows/docs.yaml
index 76b5818f4..0e12a0dc7 100644
--- a/.github/workflows/docs.yaml
+++ b/.github/workflows/docs.yaml
@@ -23,7 +23,7 @@ jobs:
steps:
- name: Checkout
- uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4
+ uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v4.1.6
- uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
id: filter
@@ -47,7 +47,7 @@ jobs:
steps:
- name: Checkout master
- uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4
+ uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v4.1.6
- name: Deploy
uses: ./.github/actions/mkdocs
diff --git a/.github/workflows/golangci-lint.yml b/.github/workflows/golangci-lint.yml
index 91fbbe088..8e6ec5200 100644
--- a/.github/workflows/golangci-lint.yml
+++ b/.github/workflows/golangci-lint.yml
@@ -15,7 +15,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout
- uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4
+ uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v4.1.6
- name: Get go version
run: echo "GOLANG_VERSION=$(cat GOLANG_VERSION)" >> $GITHUB_ENV
diff --git a/.github/workflows/helm.yaml b/.github/workflows/helm.yaml
index 24674e3f2..f3aa7ced8 100644
--- a/.github/workflows/helm.yaml
+++ b/.github/workflows/helm.yaml
@@ -27,7 +27,7 @@ jobs:
steps:
- name: Checkout
- uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4
+ uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v4.1.6
- name: Run Artifact Hub lint
run: |
@@ -66,7 +66,7 @@ jobs:
steps:
- name: Checkout master
- uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4
+ uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v4.1.6
with:
# Fetch entire history. Required for chart-releaser; see https://github.com/helm/chart-releaser-action/issues/13#issuecomment-602063896
fetch-depth: 0
diff --git a/.github/workflows/images.yaml b/.github/workflows/images.yaml
index 4123a5efa..18c09a570 100644
--- a/.github/workflows/images.yaml
+++ b/.github/workflows/images.yaml
@@ -41,7 +41,7 @@ jobs:
steps:
- name: Checkout
- uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4
+ uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v4.1.6
- uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
id: filter
with:
@@ -144,7 +144,7 @@ jobs:
k8s: [v1.26.14, v1.27.11, v1.28.7, v1.29.2]
steps:
- name: Checkout
- uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4
+ uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v4.1.6
- name: Get go version
run: echo "GOLANG_VERSION=$(cat GOLANG_VERSION)" >> $GITHUB_ENV
@@ -178,7 +178,7 @@ jobs:
nginx: ['1.25.3', '1.21.6']
steps:
- name: Checkout
- uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4
+ uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v4.1.6
- name: image build
run: |
cd images/opentelemetry && make NGINX_VERSION=${{ matrix.nginx }} build
@@ -195,7 +195,7 @@ jobs:
PLATFORMS: linux/amd64,linux/arm,linux/arm64,linux/s390x
steps:
- name: Checkout
- uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4
+ uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v4.1.6
- name: Set up QEMU
uses: docker/setup-qemu-action@68827325e0b33c7199eb31dd4e31fbe9023e06e3 # v3.0.0
- name: Set up Docker Buildx
diff --git a/.github/workflows/junit-reports.yaml b/.github/workflows/junit-reports.yaml
index 0d76abbfb..947b90c25 100644
--- a/.github/workflows/junit-reports.yaml
+++ b/.github/workflows/junit-reports.yaml
@@ -9,7 +9,7 @@ jobs:
report:
runs-on: ubuntu-latest
steps:
- - uses: dorny/test-reporter@c40d89d5e987cd80f3a32b3c233556e22bdca958 # v1.9.0
+ - uses: dorny/test-reporter@31a54ee7ebcacc03a09ea97a7e5465a47b84aea5 # v1.9.1
with:
artifact: /e2e-test-reports-(.*)/
name: JEST Tests $1 # Name of the check run which will be created
diff --git a/.github/workflows/perftest.yaml b/.github/workflows/perftest.yaml
index f2999ee97..9a544c645 100644
--- a/.github/workflows/perftest.yaml
+++ b/.github/workflows/perftest.yaml
@@ -19,7 +19,7 @@ jobs:
steps:
- name: Checkout
- uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4
+ uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v4.1.6
- name: Install K6
run: |
diff --git a/.github/workflows/plugin.yaml b/.github/workflows/plugin.yaml
index 56992f34d..137e1dccc 100644
--- a/.github/workflows/plugin.yaml
+++ b/.github/workflows/plugin.yaml
@@ -12,7 +12,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout
- uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4
+ uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v4.1.6
with:
fetch-depth: 0
@@ -27,7 +27,7 @@ jobs:
- name: Run GoReleaser Snapshot
if: ${{ ! startsWith(github.ref, 'refs/tags/') }}
- uses: goreleaser/goreleaser-action@7ec5c2b0c6cdda6e8bbb49444bc797dd33d74dd8 # v5.0.0
+ uses: goreleaser/goreleaser-action@5742e2a039330cbb23ebf35f046f814d4c6ff811 # v5.1.0
with:
version: latest
args: release --snapshot --clean
@@ -36,7 +36,7 @@ jobs:
- name: Run GoReleaser
if: ${{ startsWith(github.ref, 'refs/tags/') }}
- uses: goreleaser/goreleaser-action@7ec5c2b0c6cdda6e8bbb49444bc797dd33d74dd8 # v5.0.0
+ uses: goreleaser/goreleaser-action@5742e2a039330cbb23ebf35f046f814d4c6ff811 # v5.1.0
with:
version: latest
args: release --clean
diff --git a/.github/workflows/scorecards.yml b/.github/workflows/scorecards.yml
index c98b2d180..75e12a95b 100644
--- a/.github/workflows/scorecards.yml
+++ b/.github/workflows/scorecards.yml
@@ -27,12 +27,12 @@ jobs:
steps:
- name: "Checkout code"
- uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4
+ uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v4.1.6
with:
persist-credentials: false
- name: "Run analysis"
- uses: ossf/scorecard-action@0864cf19026789058feabb7e87baa5f140aac736 # v2.3.1
+ uses: ossf/scorecard-action@dc50aa9510b46c811795eb24b2f1ba02a914e534 # v2.3.3
with:
results_file: results.sarif
results_format: sarif
@@ -59,6 +59,6 @@ jobs:
# Upload the results to GitHub's code scanning dashboard.
- name: "Upload to code-scanning"
- uses: github/codeql-action/upload-sarif@d39d31e687223d841ef683f52467bd88e9b21c14 # v3.25.3
+ uses: github/codeql-action/upload-sarif@9fdb3e49720b44c48891d036bb502feb25684276 # v3.25.6
with:
sarif_file: results.sarif
diff --git a/.github/workflows/vulnerability-scans.yaml b/.github/workflows/vulnerability-scans.yaml
index 44e8954ed..c6f51a372 100644
--- a/.github/workflows/vulnerability-scans.yaml
+++ b/.github/workflows/vulnerability-scans.yaml
@@ -22,7 +22,7 @@ jobs:
versions: ${{ steps.version.outputs.TAGS }}
steps:
- name: Checkout code
- uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4
+ uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v4.1.6
with:
fetch-depth: 0
@@ -52,7 +52,7 @@ jobs:
versions: ${{ fromJSON(needs.version.outputs.versions) }}
steps:
- name: Checkout code
- uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4
+ uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v4.1.6
- shell: bash
id: test
@@ -60,7 +60,7 @@ jobs:
- name: Scan image with AquaSec/Trivy
id: scan
- uses: aquasecurity/trivy-action@d710430a6722f083d3b36b8339ff66b32f22ee55 # v0.19.0
+ uses: aquasecurity/trivy-action@fd25fed6972e341ff0007ddb61f77e88103953c2 # v0.21.0
with:
image-ref: registry.k8s.io/ingress-nginx/controller:${{ matrix.versions }}
format: 'sarif'
@@ -75,7 +75,7 @@ jobs:
# This step checks out a copy of your repository.
- name: Upload SARIF file
- uses: github/codeql-action/upload-sarif@d39d31e687223d841ef683f52467bd88e9b21c14 # v3.25.3
+ uses: github/codeql-action/upload-sarif@9fdb3e49720b44c48891d036bb502feb25684276 # v3.25.6
with:
token: ${{ github.token }}
# Path to SARIF file relative to the root of the repository
diff --git a/.github/workflows/zz-tmpl-images.yaml b/.github/workflows/zz-tmpl-images.yaml
index 4ab9a4efb..7d7f7a284 100644
--- a/.github/workflows/zz-tmpl-images.yaml
+++ b/.github/workflows/zz-tmpl-images.yaml
@@ -31,7 +31,7 @@ jobs:
steps:
- name: Checkout
- uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4
+ uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v4.1.6
- uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
id: filter
with:
@@ -48,7 +48,7 @@ jobs:
steps:
- name: Checkout
- uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4
+ uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v4.1.6
- name: Build
run: |
@@ -67,7 +67,7 @@ jobs:
PLATFORMS: ${{ inputs.platforms-publish }}
steps:
- name: Checkout
- uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4
+ uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v4.1.6
- name: Login to GitHub Container Registry
uses: docker/login-action@e92390c5fb421da1463c202d546fed0ec5c39f20 # v3.1.0
diff --git a/.github/workflows/zz-tmpl-k8s-e2e.yaml b/.github/workflows/zz-tmpl-k8s-e2e.yaml
index 9ca47112b..016157aad 100644
--- a/.github/workflows/zz-tmpl-k8s-e2e.yaml
+++ b/.github/workflows/zz-tmpl-k8s-e2e.yaml
@@ -20,7 +20,7 @@ jobs:
steps:
- name: Checkout
- uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4
+ uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v4.1.6
- name: cache
uses: actions/download-artifact@65a9edc5881444af0b9093a5e628f2fe47ea3b2e # v4.1.7
From b7f6f93334592e3fcde937b3e7acd1e2acef07f7 Mon Sep 17 00:00:00 2001
From: k8s-infra-cherrypick-robot
<90416843+k8s-infra-cherrypick-robot@users.noreply.github.com>
Date: Sun, 2 Jun 2024 11:52:07 -0700
Subject: [PATCH 079/265] removed tlsv1 & tlsv1.1 (#11408)
Co-authored-by: longwuyuan
---
docs/user-guide/tls.md | 4 +-
internal/ingress/annotations/proxyssl/main.go | 4 +-
.../ingress/annotations/proxyssl/main_test.go | 4 +-
.../ingress/annotations/sslcipher/main.go | 2 +-
pkg/apis/ingress/types.go | 2 +-
test/data/config.json | 123624 ++++++++-------
test/e2e/annotations/proxyssl.go | 8 +-
7 files changed, 63363 insertions(+), 60285 deletions(-)
diff --git a/docs/user-guide/tls.md b/docs/user-guide/tls.md
index 11338981b..af62cf7e3 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
@@ -145,7 +145,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/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/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/pkg/apis/ingress/types.go b/pkg/apis/ingress/types.go
index 2ad17ec3d..ca5df56c9 100644
--- a/pkg/apis/ingress/types.go
+++ b/pkg/apis/ingress/types.go
@@ -210,7 +210,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"`
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/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") &&
From e2b3ac95a232c3614ae68934bd96b6cf0e32cc13 Mon Sep 17 00:00:00 2001
From: k8s-infra-cherrypick-robot
<90416843+k8s-infra-cherrypick-robot@users.noreply.github.com>
Date: Sun, 2 Jun 2024 12:05:50 -0700
Subject: [PATCH 080/265] added multiplecontrollers-howto to faq (#11409)
Co-authored-by: longwuyuan
---
docs/faq.md | 60 +++++++++++++++++++++++++++-
docs/user-guide/k8s-122-migration.md | 51 -----------------------
2 files changed, 59 insertions(+), 52 deletions(-)
diff --git a/docs/faq.md b/docs/faq.md
index a210c221b..bd1d26718 100644
--- a/docs/faq.md
+++ b/docs/faq.md
@@ -1,6 +1,64 @@
# FAQ
+## 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).
@@ -11,7 +69,7 @@ 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
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
-```
From 0751a725fd0c7ee9e5c6fb788348d74dd744a9aa Mon Sep 17 00:00:00 2001
From: k8s-infra-cherrypick-robot
<90416843+k8s-infra-cherrypick-robot@users.noreply.github.com>
Date: Sun, 2 Jun 2024 12:09:22 -0700
Subject: [PATCH 081/265] added info for aws helm install (#11410)
Co-authored-by: longwuyuan
---
docs/deploy/index.md | 125 ++++++++++++++++++++++++-------------------
1 file changed, 71 insertions(+), 54 deletions(-)
diff --git a/docs/deploy/index.md b/docs/deploy/index.md
index 7232b6ffd..70bd48f4f 100644
--- a/docs/deploy/index.md
+++ b/docs/deploy/index.md
@@ -6,10 +6,10 @@ There are multiple ways to install the Ingress-Nginx Controller:
- with `kubectl apply`, using YAML manifests;
- with specific addons (e.g. for [minikube](#minikube) or [MicroK8s](#microk8s)).
-On most Kubernetes clusters, the ingress controller will work without requiring any extra configuration. If you want to
-get started as fast as possible, you can check the [quick start](#quick-start) instructions. However, in many
-environments, you can improve the performance or get better logs by enabling extra features. We recommend that you
-check the [environment-specific instructions](#environment-specific-instructions) for details about optimizing the
+On most Kubernetes clusters, the ingress controller will work without requiring any extra configuration. If you want to
+get started as fast as possible, you can check the [quick start](#quick-start) instructions. However, in many
+environments, you can improve the performance or get better logs by enabling extra features. We recommend that you
+check the [environment-specific instructions](#environment-specific-instructions) for details about optimizing the
ingress controller for your particular environment or cloud provider.
## Contents
@@ -72,7 +72,7 @@ kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/cont
```
!!! 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 +83,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 +95,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 +105,6 @@ kubectl wait --namespace ingress-nginx \
--timeout=120s
```
-
### Local testing
Let's create a simple web server and the associated service:
@@ -135,6 +135,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 +144,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 +153,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 +165,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 +203,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 +223,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,10 +243,22 @@ 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).
+!!! helm install on AWS
+ There have been too many attempts at using helm to install the controller on AWS recently.
+ The ingress-nginx-controller helm-chart is generic and not aimed at installing on AWS on any other infra provider.
+ There are annotations and configurations that are applicable only to AWS.
+ Please run `helm template` and compare with the static yaml manifests you see below.
+ A user is expected to use annotations for
+ (a) internal/external
+ (b) type - nlb
+ (c) sqcurity-groups
+ (d) and other such requirements
+ during their ``helm install`` process.
+
##### Network Load Balancer (NLB)
```console
@@ -254,7 +267,7 @@ kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/cont
##### 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.1/deploy/static/provider/aws/nlb-with-tls-termination/deploy.yaml) template
@@ -264,32 +277,35 @@ This section explains how to do that on AWS using an NLB.
```
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,15 +320,14 @@ 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.1/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)
@@ -333,8 +348,8 @@ More information with regard to Azure annotations for ingress controller can be
```console
kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-v1.10.1/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
@@ -348,7 +363,7 @@ 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
@@ -357,8 +372,8 @@ The full list of annotations supported by Exoscale is available in the Exoscale
kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-v1.10.1/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,11 +388,11 @@ 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
@@ -401,20 +416,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 +450,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 ).
From 503843119cffdd58c6a9ebec5c34ed6bcb321948 Mon Sep 17 00:00:00 2001
From: k8s-infra-cherrypick-robot
<90416843+k8s-infra-cherrypick-robot@users.noreply.github.com>
Date: Sun, 2 Jun 2024 12:18:35 -0700
Subject: [PATCH 082/265] edited helm-install tips (#11411)
Co-authored-by: longwuyuan
---
docs/deploy/index.md | 37 ++++++++++++++++++++++++++-----------
1 file changed, 26 insertions(+), 11 deletions(-)
diff --git a/docs/deploy/index.md b/docs/deploy/index.md
index 70bd48f4f..1cc01ba54 100644
--- a/docs/deploy/index.md
+++ b/docs/deploy/index.md
@@ -65,6 +65,32 @@ 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
```
+!!! helm install on AWS/GCP/Azure/Other providers
+ There have been too many attempts at using helm to install the controller on the cloud infra like AWS/GCP/Azure/Other.
+ The ingress-nginx-controller helm-chart is a generic install out of the box.
+ The default set of helm values are not configured for installing on any infra provider.
+ The annotations that are applicable to the cloud provider must be customized by the users.
+ Link to AWS LB Constroller 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
+
+ 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
@@ -247,17 +273,6 @@ In AWS, we use a Network load balancer (NLB) to expose the Ingress-Nginx Control
[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).
-!!! helm install on AWS
- There have been too many attempts at using helm to install the controller on AWS recently.
- The ingress-nginx-controller helm-chart is generic and not aimed at installing on AWS on any other infra provider.
- There are annotations and configurations that are applicable only to AWS.
- Please run `helm template` and compare with the static yaml manifests you see below.
- A user is expected to use annotations for
- (a) internal/external
- (b) type - nlb
- (c) sqcurity-groups
- (d) and other such requirements
- during their ``helm install`` process.
##### Network Load Balancer (NLB)
From f2959041e3c7ee4cf955788df6e469cbbfd36b97 Mon Sep 17 00:00:00 2001
From: k8s-infra-cherrypick-robot
<90416843+k8s-infra-cherrypick-robot@users.noreply.github.com>
Date: Sun, 2 Jun 2024 12:25:34 -0700
Subject: [PATCH 083/265] Fix helm install on cloud provider admonition block
(#11412)
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
* Fix helm install on cloud provider admonition block
* Add missing admonition type.
* Format link to AWS LB controller.
* Add nested YAML code block for annotations example
* Add a couple of line breaks for breathing and structure
* Fix admonition block title
* Another try
* Should be nice now
---------
Co-authored-by: Jérémie Tarot
---
docs/deploy/index.md | 19 ++++++-------------
1 file changed, 6 insertions(+), 13 deletions(-)
diff --git a/docs/deploy/index.md b/docs/deploy/index.md
index 1cc01ba54..d8cc6f875 100644
--- a/docs/deploy/index.md
+++ b/docs/deploy/index.md
@@ -65,14 +65,11 @@ 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
```
-!!! helm install on AWS/GCP/Azure/Other providers
- There have been too many attempts at using helm to install the controller on the cloud infra like AWS/GCP/Azure/Other.
- The ingress-nginx-controller helm-chart is a generic install out of the box.
- The default set of helm values are not configured for installing on any infra provider.
- The annotations that are applicable to the cloud provider must be customized by the users.
- Link to AWS LB Constroller 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
-
+!!! 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 Constroller](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
@@ -85,11 +82,7 @@ helm show values ingress-nginx --repo https://kubernetes.github.io/ingress-nginx
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:
From 9409bb15da4d7d926a60758855fd60bd45149589 Mon Sep 17 00:00:00 2001
From: k8s-infra-cherrypick-robot
<90416843+k8s-infra-cherrypick-robot@users.noreply.github.com>
Date: Sun, 2 Jun 2024 13:27:35 -0700
Subject: [PATCH 084/265] Rename variable to fix typo (#11413)
Co-authored-by: Andrea Scarpino
---
internal/ingress/controller/config/config.go | 6 +++---
internal/ingress/controller/template/template.go | 2 +-
2 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/internal/ingress/controller/config/config.go b/internal/ingress/controller/config/config.go
index bad82b8b0..3098f5cba 100644
--- a/internal/ingress/controller/config/config.go
+++ b/internal/ingress/controller/config/config.go
@@ -734,9 +734,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
@@ -909,7 +909,7 @@ 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
}
diff --git a/internal/ingress/controller/template/template.go b/internal/ingress/controller/template/template.go
index 7cd6a0604..c70406cf0 100644
--- a/internal/ingress/controller/template/template.go
+++ b/internal/ingress/controller/template/template.go
@@ -413,7 +413,7 @@ func configForLua(input interface{}) string {
all.Cfg.GlobalRateLimitMemcachedConnectTimeout,
all.Cfg.GlobalRateLimitMemcachedMaxIdleTimeout,
all.Cfg.GlobalRateLimitMemcachedPoolSize,
- all.Cfg.GlobalRateLimitStatucCode,
+ all.Cfg.GlobalRateLimitStatusCode,
)
}
From 826e32cf0c7e8e5b251a97bc8513f102229cd924 Mon Sep 17 00:00:00 2001
From: k8s-infra-cherrypick-robot
<90416843+k8s-infra-cherrypick-robot@users.noreply.github.com>
Date: Sun, 2 Jun 2024 22:55:56 -0700
Subject: [PATCH 085/265] Adapt dashboards for Grafana 11 compatibility
(#11414)
Co-authored-by: Roberto Devesa <15369573+Roberdvs@users.noreply.github.com>
---
deploy/grafana/dashboards/README.md | 4 +-
deploy/grafana/dashboards/nginx.json | 2646 ++++++++++-------
.../request-handling-performance.json | 1193 ++++----
3 files changed, 2157 insertions(+), 1686 deletions(-)
diff --git a/deploy/grafana/dashboards/README.md b/deploy/grafana/dashboards/README.md
index e16180c3b..fc1e35406 100644
--- a/deploy/grafana/dashboards/README.md
+++ b/deploy/grafana/dashboards/README.md
@@ -19,7 +19,7 @@ This folder contains two dashboards that you can import.
### Requirements
-- **Grafana v5.2.0** (or newer)
+- **Grafana v10.4.3** (or newer)
## 2. Request Handling Performance
@@ -36,4 +36,4 @@ This folder contains two dashboards that you can import.
### Requirements
-- **Grafana v6.6.0** (or newer)
+- **Grafana v10.4.3** (or newer)
diff --git a/deploy/grafana/dashboards/nginx.json b/deploy/grafana/dashboards/nginx.json
index 864d1dace..5ebc4ae6c 100644
--- a/deploy/grafana/dashboards/nginx.json
+++ b/deploy/grafana/dashboards/nginx.json
@@ -9,31 +9,53 @@
"pluginName": "Prometheus"
}
],
+ "__elements": {},
"__requires": [
{
"type": "grafana",
"id": "grafana",
"name": "Grafana",
- "version": "5.2.1"
+ "version": "10.4.3"
+ },
+ {
+ "type": "panel",
+ "id": "heatmap",
+ "name": "Heatmap",
+ "version": ""
},
{
"type": "datasource",
"id": "prometheus",
"name": "Prometheus",
- "version": "5.0.0"
+ "version": "1.0.0"
},
{
"type": "panel",
- "id": "singlestat",
- "name": "Singlestat",
- "version": "5.0.0"
+ "id": "stat",
+ "name": "Stat",
+ "version": ""
+ },
+ {
+ "type": "panel",
+ "id": "table",
+ "name": "Table",
+ "version": ""
+ },
+ {
+ "type": "panel",
+ "id": "timeseries",
+ "name": "Time series",
+ "version": ""
}
],
"annotations": {
"list": [
{
"builtIn": 1,
- "datasource": "-- Grafana --",
+ "datasource": {
+ "type": "datasource",
+ "uid": "grafana"
+ },
"enable": true,
"hide": true,
"iconColor": "rgba(0, 211, 255, 1)",
@@ -41,7 +63,10 @@
"type": "dashboard"
},
{
- "datasource": "${DS_PROMETHEUS}",
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${DS_PROMETHEUS}"
+ },
"enable": true,
"expr": "sum(changes(nginx_ingress_controller_config_last_reload_successful_timestamp_seconds{instance!=\"unknown\",controller_class=~\"$controller_class\",namespace=~\"$namespace\"}[30s])) by (controller_class)",
"hide": false,
@@ -58,72 +83,75 @@
]
},
"editable": true,
- "gnetId": null,
+ "fiscalYearStartMonth": 0,
"graphTooltip": 0,
- "iteration": 1534359654832,
+ "id": null,
"links": [],
"panels": [
{
- "cacheTimeout": null,
- "colorBackground": false,
- "colorValue": false,
- "colors": [
- "rgba(245, 54, 54, 0.9)",
- "rgba(237, 129, 40, 0.89)",
- "rgba(50, 172, 45, 0.97)"
- ],
- "datasource": "${DS_PROMETHEUS}",
- "format": "ops",
- "gauge": {
- "maxValue": 100,
- "minValue": 0,
- "show": false,
- "thresholdLabels": false,
- "thresholdMarkers": true
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${DS_PROMETHEUS}"
},
- "gridPos": {
- "h": 3,
- "w": 6,
- "x": 0,
- "y": 0
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "rgb(31, 120, 193)",
+ "mode": "fixed"
+ },
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "ops"
+ },
+ "overrides": []
},
"id": 20,
- "interval": null,
- "links": [],
- "mappingType": 1,
- "mappingTypes": [
- {
- "name": "value to text",
- "value": 1
- },
- {
- "name": "range to text",
- "value": 2
- }
- ],
"maxDataPoints": 100,
- "nullPointMode": "connected",
- "nullText": null,
- "postfix": "",
- "postfixFontSize": "50%",
- "prefix": "",
- "prefixFontSize": "50%",
- "rangeMaps": [
- {
- "from": "null",
- "text": "N/A",
- "to": "null"
- }
- ],
- "sparkline": {
- "fillColor": "rgba(31, 118, 189, 0.18)",
- "full": true,
- "lineColor": "rgb(31, 120, 193)",
- "show": true
+ "options": {
+ "colorMode": "none",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "mean"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "showPercentChange": false,
+ "textMode": "auto",
+ "wideLayout": true
},
- "tableColumn": "",
+ "pluginVersion": "10.4.3",
"targets": [
{
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${DS_PROMETHEUS}"
+ },
"expr": "round(sum(irate(nginx_ingress_controller_requests{controller_pod=~\"$controller\",controller_class=~\"$controller_class\",namespace=~\"$namespace\"}[2m])), 0.001)",
"format": "time_series",
"intervalFactor": 1,
@@ -131,37 +159,47 @@
"step": 4
}
],
- "thresholds": "",
"title": "Controller Request Volume",
- "transparent": false,
- "type": "singlestat",
- "valueFontSize": "80%",
- "valueMaps": [
- {
- "op": "=",
- "text": "N/A",
- "value": "null"
- }
- ],
- "valueName": "avg"
+ "type": "stat"
},
{
- "cacheTimeout": null,
- "colorBackground": false,
- "colorValue": false,
- "colors": [
- "rgba(245, 54, 54, 0.9)",
- "rgba(237, 129, 40, 0.89)",
- "rgba(50, 172, 45, 0.97)"
- ],
- "datasource": "${DS_PROMETHEUS}",
- "format": "none",
- "gauge": {
- "maxValue": 100,
- "minValue": 0,
- "show": false,
- "thresholdLabels": false,
- "thresholdMarkers": true
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${DS_PROMETHEUS}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "rgb(31, 120, 193)",
+ "mode": "fixed"
+ },
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": []
},
"gridPos": {
"h": 3,
@@ -170,42 +208,30 @@
"y": 0
},
"id": 82,
- "interval": null,
- "links": [],
- "mappingType": 1,
- "mappingTypes": [
- {
- "name": "value to text",
- "value": 1
- },
- {
- "name": "range to text",
- "value": 2
- }
- ],
"maxDataPoints": 100,
- "nullPointMode": "connected",
- "nullText": null,
- "postfix": "",
- "postfixFontSize": "50%",
- "prefix": "",
- "prefixFontSize": "50%",
- "rangeMaps": [
- {
- "from": "null",
- "text": "N/A",
- "to": "null"
- }
- ],
- "sparkline": {
- "fillColor": "rgba(31, 118, 189, 0.18)",
- "full": true,
- "lineColor": "rgb(31, 120, 193)",
- "show": true
+ "options": {
+ "colorMode": "none",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "mean"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "showPercentChange": false,
+ "textMode": "auto",
+ "wideLayout": true
},
- "tableColumn": "",
+ "pluginVersion": "10.4.3",
"targets": [
{
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${DS_PROMETHEUS}"
+ },
"expr": "sum(avg_over_time(nginx_ingress_controller_nginx_process_connections{controller_pod=~\"$controller\",controller_class=~\"$controller_class\",controller_namespace=~\"$namespace\",state=\"active\"}[2m]))",
"format": "time_series",
"instant": false,
@@ -214,37 +240,51 @@
"step": 4
}
],
- "thresholds": "",
"title": "Controller Connections",
- "transparent": false,
- "type": "singlestat",
- "valueFontSize": "80%",
- "valueMaps": [
- {
- "op": "=",
- "text": "N/A",
- "value": "null"
- }
- ],
- "valueName": "avg"
+ "type": "stat"
},
{
- "cacheTimeout": null,
- "colorBackground": false,
- "colorValue": false,
- "colors": [
- "rgba(245, 54, 54, 0.9)",
- "rgba(237, 129, 40, 0.89)",
- "rgba(50, 172, 45, 0.97)"
- ],
- "datasource": "${DS_PROMETHEUS}",
- "format": "percentunit",
- "gauge": {
- "maxValue": 100,
- "minValue": 80,
- "show": false,
- "thresholdLabels": false,
- "thresholdMarkers": false
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${DS_PROMETHEUS}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "rgb(31, 120, 193)",
+ "mode": "fixed"
+ },
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "rgba(245, 54, 54, 0.9)",
+ "value": null
+ },
+ {
+ "color": "rgba(237, 129, 40, 0.89)",
+ "value": 95
+ },
+ {
+ "color": "rgba(50, 172, 45, 0.97)",
+ "value": 99
+ }
+ ]
+ },
+ "unit": "percentunit"
+ },
+ "overrides": []
},
"gridPos": {
"h": 3,
@@ -253,42 +293,30 @@
"y": 0
},
"id": 21,
- "interval": null,
- "links": [],
- "mappingType": 1,
- "mappingTypes": [
- {
- "name": "value to text",
- "value": 1
- },
- {
- "name": "range to text",
- "value": 2
- }
- ],
"maxDataPoints": 100,
- "nullPointMode": "connected",
- "nullText": null,
- "postfix": "",
- "postfixFontSize": "50%",
- "prefix": "",
- "prefixFontSize": "50%",
- "rangeMaps": [
- {
- "from": "null",
- "text": "N/A",
- "to": "null"
- }
- ],
- "sparkline": {
- "fillColor": "rgba(31, 118, 189, 0.18)",
- "full": true,
- "lineColor": "rgb(31, 120, 193)",
- "show": true
+ "options": {
+ "colorMode": "none",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "mean"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "showPercentChange": false,
+ "textMode": "auto",
+ "wideLayout": true
},
- "tableColumn": "",
+ "pluginVersion": "10.4.3",
"targets": [
{
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${DS_PROMETHEUS}"
+ },
"expr": "sum(rate(nginx_ingress_controller_requests{controller_pod=~\"$controller\",controller_class=~\"$controller_class\",namespace=~\"$namespace\",status!~\"[4-5].*\"}[2m])) / sum(rate(nginx_ingress_controller_requests{controller_pod=~\"$controller\",controller_class=~\"$controller_class\",namespace=~\"$namespace\"}[2m]))",
"format": "time_series",
"intervalFactor": 1,
@@ -296,38 +324,48 @@
"step": 4
}
],
- "thresholds": "95, 99, 99.5",
"title": "Controller Success Rate (non-4|5xx responses)",
- "transparent": false,
- "type": "singlestat",
- "valueFontSize": "80%",
- "valueMaps": [
- {
- "op": "=",
- "text": "N/A",
- "value": "null"
- }
- ],
- "valueName": "avg"
+ "type": "stat"
},
{
- "cacheTimeout": null,
- "colorBackground": false,
- "colorValue": false,
- "colors": [
- "rgba(245, 54, 54, 0.9)",
- "rgba(237, 129, 40, 0.89)",
- "rgba(50, 172, 45, 0.97)"
- ],
- "datasource": "${DS_PROMETHEUS}",
- "decimals": 0,
- "format": "none",
- "gauge": {
- "maxValue": 100,
- "minValue": 0,
- "show": false,
- "thresholdLabels": false,
- "thresholdMarkers": true
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${DS_PROMETHEUS}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "rgb(31, 120, 193)",
+ "mode": "fixed"
+ },
+ "decimals": 0,
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": []
},
"gridPos": {
"h": 3,
@@ -336,42 +374,30 @@
"y": 0
},
"id": 81,
- "interval": null,
- "links": [],
- "mappingType": 1,
- "mappingTypes": [
- {
- "name": "value to text",
- "value": 1
- },
- {
- "name": "range to text",
- "value": 2
- }
- ],
"maxDataPoints": 100,
- "nullPointMode": "connected",
- "nullText": null,
- "postfix": "",
- "postfixFontSize": "50%",
- "prefix": "",
- "prefixFontSize": "50%",
- "rangeMaps": [
- {
- "from": "null",
- "text": "N/A",
- "to": "null"
- }
- ],
- "sparkline": {
- "fillColor": "rgba(31, 118, 189, 0.18)",
- "full": true,
- "lineColor": "rgb(31, 120, 193)",
- "show": true
+ "options": {
+ "colorMode": "none",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "sum"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "showPercentChange": false,
+ "textMode": "auto",
+ "wideLayout": true
},
- "tableColumn": "",
+ "pluginVersion": "10.4.3",
"targets": [
{
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${DS_PROMETHEUS}"
+ },
"expr": "avg(irate(nginx_ingress_controller_success{controller_pod=~\"$controller\",controller_class=~\"$controller_class\",controller_namespace=~\"$namespace\"}[1m])) * 60",
"format": "time_series",
"instant": false,
@@ -380,38 +406,48 @@
"step": 4
}
],
- "thresholds": "",
"title": "Config Reloads",
- "transparent": false,
- "type": "singlestat",
- "valueFontSize": "80%",
- "valueMaps": [
- {
- "op": "=",
- "text": "N/A",
- "value": "null"
- }
- ],
- "valueName": "total"
+ "type": "stat"
},
{
- "cacheTimeout": null,
- "colorBackground": false,
- "colorValue": false,
- "colors": [
- "rgba(245, 54, 54, 0.9)",
- "rgba(237, 129, 40, 0.89)",
- "rgba(50, 172, 45, 0.97)"
- ],
- "datasource": "${DS_PROMETHEUS}",
- "decimals": 0,
- "format": "none",
- "gauge": {
- "maxValue": 100,
- "minValue": 0,
- "show": false,
- "thresholdLabels": false,
- "thresholdMarkers": true
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${DS_PROMETHEUS}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "rgb(31, 120, 193)",
+ "mode": "fixed"
+ },
+ "decimals": 0,
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": []
},
"gridPos": {
"h": 3,
@@ -420,42 +456,30 @@
"y": 0
},
"id": 83,
- "interval": null,
- "links": [],
- "mappingType": 1,
- "mappingTypes": [
- {
- "name": "value to text",
- "value": 1
- },
- {
- "name": "range to text",
- "value": 2
- }
- ],
"maxDataPoints": 100,
- "nullPointMode": "connected",
- "nullText": null,
- "postfix": "",
- "postfixFontSize": "50%",
- "prefix": "",
- "prefixFontSize": "50%",
- "rangeMaps": [
- {
- "from": "null",
- "text": "N/A",
- "to": "null"
- }
- ],
- "sparkline": {
- "fillColor": "rgba(31, 118, 189, 0.18)",
- "full": true,
- "lineColor": "rgb(31, 120, 193)",
- "show": true
+ "options": {
+ "colorMode": "none",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "mean"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "showPercentChange": false,
+ "textMode": "auto",
+ "wideLayout": true
},
- "tableColumn": "",
+ "pluginVersion": "10.4.3",
"targets": [
{
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${DS_PROMETHEUS}"
+ },
"expr": "count(nginx_ingress_controller_config_last_reload_successful{controller_pod=~\"$controller\",controller_namespace=~\"$namespace\"} == 0)",
"format": "time_series",
"instant": true,
@@ -464,72 +488,119 @@
"step": 4
}
],
- "thresholds": "",
"title": "Last Config Failed",
- "transparent": false,
- "type": "singlestat",
- "valueFontSize": "80%",
- "valueMaps": [
- {
- "op": "=",
- "text": "N/A",
- "value": "null"
- }
- ],
- "valueName": "avg"
+ "type": "stat"
},
{
- "aliasColors": {},
- "bars": false,
- "dashLength": 10,
- "dashes": false,
- "datasource": "${DS_PROMETHEUS}",
- "decimals": 2,
- "editable": true,
- "error": false,
- "fill": 1,
- "grid": {},
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${DS_PROMETHEUS}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 2,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": true,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "reqps"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byValue",
+ "options": {
+ "op": "gte",
+ "reducer": "allIsZero",
+ "value": 0
+ }
+ },
+ "properties": [
+ {
+ "id": "custom.hideFrom",
+ "value": {
+ "legend": true,
+ "tooltip": true,
+ "viz": false
+ }
+ }
+ ]
+ }
+ ]
+ },
"gridPos": {
"h": 7,
"w": 12,
"x": 0,
"y": 3
},
- "height": "200px",
"id": 86,
- "isNew": true,
- "legend": {
- "alignAsTable": true,
- "avg": true,
- "current": false,
- "hideEmpty": false,
- "hideZero": true,
- "max": false,
- "min": false,
- "rightSide": true,
- "show": true,
- "sideWidth": 300,
- "sort": "current",
- "sortDesc": true,
- "total": false,
- "values": true
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean"
+ ],
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
},
- "lines": true,
- "linewidth": 2,
- "links": [],
- "nullPointMode": "connected",
- "percentage": false,
- "pointradius": 5,
- "points": false,
- "renderer": "flot",
- "repeat": null,
+ "pluginVersion": "10.4.3",
"repeatDirection": "h",
- "seriesOverrides": [],
- "spaceLength": 10,
- "stack": false,
- "steppedLine": false,
"targets": [
{
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${DS_PROMETHEUS}"
+ },
"expr": "round(sum(irate(nginx_ingress_controller_requests{controller_pod=~\"$controller\",controller_class=~\"$controller_class\",controller_namespace=~\"$namespace\",exported_namespace=~\"$exported_namespace\",ingress=~\"$ingress\"}[2m])) by (ingress), 0.001)",
"format": "time_series",
"hide": false,
@@ -542,706 +613,23 @@
"step": 10
}
],
- "thresholds": [],
- "timeFrom": null,
- "timeShift": null,
"title": "Ingress Request Volume",
- "tooltip": {
- "msResolution": false,
- "shared": true,
- "sort": 2,
- "value_type": "cumulative"
- },
- "transparent": false,
- "type": "graph",
- "xaxis": {
- "buckets": null,
- "mode": "time",
- "name": null,
- "show": true,
- "values": []
- },
- "yaxes": [
- {
- "format": "reqps",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": null,
- "show": true
- },
- {
- "format": "Bps",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": null,
- "show": false
- }
- ],
- "yaxis": {
- "align": false,
- "alignLevel": null
- }
+ "type": "timeseries"
},
{
- "aliasColors": {
- "max - istio-proxy": "#890f02",
- "max - master": "#bf1b00",
- "max - prometheus": "#bf1b00"
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${DS_PROMETHEUS}"
},
- "bars": false,
- "dashLength": 10,
- "dashes": false,
- "datasource": "${DS_PROMETHEUS}",
- "decimals": 2,
- "editable": false,
- "error": false,
- "fill": 0,
- "grid": {},
- "gridPos": {
- "h": 7,
- "w": 12,
- "x": 12,
- "y": 3
- },
- "id": 87,
- "isNew": true,
- "legend": {
- "alignAsTable": true,
- "avg": true,
- "current": false,
- "hideEmpty": true,
- "hideZero": false,
- "max": false,
- "min": false,
- "rightSide": true,
- "show": true,
- "sideWidth": 300,
- "sort": "avg",
- "sortDesc": true,
- "total": false,
- "values": true
- },
- "lines": true,
- "linewidth": 2,
- "links": [],
- "nullPointMode": "connected",
- "percentage": false,
- "pointradius": 5,
- "points": false,
- "renderer": "flot",
- "seriesOverrides": [],
- "spaceLength": 10,
- "stack": false,
- "steppedLine": false,
- "targets": [
- {
- "expr": "sum(rate(nginx_ingress_controller_requests{controller_pod=~\"$controller\",controller_class=~\"$controller_class\",namespace=~\"$namespace\",exported_namespace=~\"$exported_namespace\",ingress=~\"$ingress\",status!~\"[4-5].*\"}[2m])) by (ingress) / sum(rate(nginx_ingress_controller_requests{controller_pod=~\"$controller\",controller_class=~\"$controller_class\",namespace=~\"$namespace\",exported_namespace=~\"$exported_namespace\",ingress=~\"$ingress\"}[2m])) by (ingress)",
- "format": "time_series",
- "instant": false,
- "interval": "10s",
- "intervalFactor": 1,
- "legendFormat": "{{ ingress }}",
- "metric": "container_memory_usage:sort_desc",
- "refId": "A",
- "step": 10
- }
- ],
- "thresholds": [],
- "timeFrom": null,
- "timeShift": null,
- "title": "Ingress Success Rate (non-4|5xx responses)",
- "tooltip": {
- "msResolution": false,
- "shared": true,
- "sort": 1,
- "value_type": "cumulative"
- },
- "type": "graph",
- "xaxis": {
- "buckets": null,
- "mode": "time",
- "name": null,
- "show": true,
- "values": []
- },
- "yaxes": [
- {
- "format": "percentunit",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": null,
- "show": true
- },
- {
- "format": "short",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": null,
- "show": false
- }
- ],
- "yaxis": {
- "align": false,
- "alignLevel": null
- }
- },
- {
- "aliasColors": {},
- "bars": false,
- "dashLength": 10,
- "dashes": false,
- "datasource": "${DS_PROMETHEUS}",
- "decimals": 2,
- "editable": true,
- "error": false,
- "fill": 1,
- "grid": {},
- "gridPos": {
- "h": 6,
- "w": 8,
- "x": 0,
- "y": 10
- },
- "height": "200px",
- "id": 32,
- "isNew": true,
- "legend": {
- "alignAsTable": false,
- "avg": true,
- "current": true,
- "max": false,
- "min": false,
- "rightSide": false,
- "show": false,
- "sideWidth": 200,
- "sort": "current",
- "sortDesc": true,
- "total": false,
- "values": true
- },
- "lines": true,
- "linewidth": 2,
- "links": [],
- "nullPointMode": "connected",
- "percentage": false,
- "pointradius": 5,
- "points": false,
- "renderer": "flot",
- "seriesOverrides": [],
- "spaceLength": 10,
- "stack": false,
- "steppedLine": false,
- "targets": [
- {
- "expr": "sum (irate (nginx_ingress_controller_request_size_sum{controller_pod=~\"$controller\",controller_class=~\"$controller_class\",controller_namespace=~\"$namespace\"}[2m]))",
- "format": "time_series",
- "instant": false,
- "interval": "10s",
- "intervalFactor": 1,
- "legendFormat": "Received",
- "metric": "network",
- "refId": "A",
- "step": 10
- },
- {
- "expr": "- sum (irate (nginx_ingress_controller_response_size_sum{controller_pod=~\"$controller\",controller_class=~\"$controller_class\",controller_namespace=~\"$namespace\"}[2m]))",
- "format": "time_series",
- "hide": false,
- "interval": "10s",
- "intervalFactor": 1,
- "legendFormat": "Sent",
- "metric": "network",
- "refId": "B",
- "step": 10
- }
- ],
- "thresholds": [],
- "timeFrom": null,
- "timeShift": null,
- "title": "Network I/O pressure",
- "tooltip": {
- "msResolution": false,
- "shared": true,
- "sort": 0,
- "value_type": "cumulative"
- },
- "transparent": false,
- "type": "graph",
- "xaxis": {
- "buckets": null,
- "mode": "time",
- "name": null,
- "show": true,
- "values": []
- },
- "yaxes": [
- {
- "format": "Bps",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": null,
- "show": true
- },
- {
- "format": "Bps",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": null,
- "show": false
- }
- ],
- "yaxis": {
- "align": false,
- "alignLevel": null
- }
- },
- {
- "aliasColors": {
- "max - istio-proxy": "#890f02",
- "max - master": "#bf1b00",
- "max - prometheus": "#bf1b00"
- },
- "bars": false,
- "dashLength": 10,
- "dashes": false,
- "datasource": "${DS_PROMETHEUS}",
- "decimals": 2,
- "editable": false,
- "error": false,
- "fill": 0,
- "grid": {},
- "gridPos": {
- "h": 6,
- "w": 8,
- "x": 8,
- "y": 10
- },
- "id": 77,
- "isNew": true,
- "legend": {
- "alignAsTable": true,
- "avg": true,
- "current": true,
- "max": false,
- "min": false,
- "rightSide": false,
- "show": false,
- "sideWidth": 200,
- "sort": "current",
- "sortDesc": true,
- "total": false,
- "values": true
- },
- "lines": true,
- "linewidth": 2,
- "links": [],
- "nullPointMode": "connected",
- "percentage": false,
- "pointradius": 5,
- "points": false,
- "renderer": "flot",
- "seriesOverrides": [],
- "spaceLength": 10,
- "stack": false,
- "steppedLine": false,
- "targets": [
- {
- "expr": "avg(nginx_ingress_controller_nginx_process_resident_memory_bytes{controller_pod=~\"$controller\",controller_class=~\"$controller_class\",controller_namespace=~\"$namespace\"}) ",
- "format": "time_series",
- "instant": false,
- "interval": "10s",
- "intervalFactor": 1,
- "legendFormat": "nginx",
- "metric": "container_memory_usage:sort_desc",
- "refId": "A",
- "step": 10
- }
- ],
- "thresholds": [],
- "timeFrom": null,
- "timeShift": null,
- "title": "Average Memory Usage",
- "tooltip": {
- "msResolution": false,
- "shared": true,
- "sort": 2,
- "value_type": "cumulative"
- },
- "type": "graph",
- "xaxis": {
- "buckets": null,
- "mode": "time",
- "name": null,
- "show": true,
- "values": []
- },
- "yaxes": [
- {
- "format": "bytes",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": null,
- "show": true
- },
- {
- "format": "short",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": null,
- "show": false
- }
- ],
- "yaxis": {
- "align": false,
- "alignLevel": null
- }
- },
- {
- "aliasColors": {
- "max - istio-proxy": "#890f02",
- "max - master": "#bf1b00"
- },
- "bars": false,
- "dashLength": 10,
- "dashes": false,
- "datasource": "${DS_PROMETHEUS}",
- "decimals": 3,
- "editable": false,
- "error": false,
- "fill": 0,
- "grid": {},
- "gridPos": {
- "h": 6,
- "w": 8,
- "x": 16,
- "y": 10
- },
- "height": "",
- "id": 79,
- "isNew": true,
- "legend": {
- "alignAsTable": true,
- "avg": true,
- "current": true,
- "max": false,
- "min": false,
- "rightSide": false,
- "show": false,
- "sort": null,
- "sortDesc": null,
- "total": false,
- "values": true
- },
- "lines": true,
- "linewidth": 2,
- "links": [],
- "nullPointMode": "connected",
- "percentage": false,
- "pointradius": 5,
- "points": false,
- "renderer": "flot",
- "seriesOverrides": [],
- "spaceLength": 10,
- "stack": false,
- "steppedLine": false,
- "targets": [
- {
- "expr": "avg (rate (nginx_ingress_controller_nginx_process_cpu_seconds_total{controller_pod=~\"$controller\",controller_class=~\"$controller_class\",controller_namespace=~\"$namespace\"}[2m])) ",
- "format": "time_series",
- "interval": "10s",
- "intervalFactor": 1,
- "legendFormat": "nginx",
- "metric": "container_cpu",
- "refId": "A",
- "step": 10
- }
- ],
- "thresholds": [
- {
- "colorMode": "critical",
- "fill": true,
- "line": true,
- "op": "gt"
- }
- ],
- "timeFrom": null,
- "timeShift": null,
- "title": "Average CPU Usage",
- "tooltip": {
- "msResolution": true,
- "shared": true,
- "sort": 2,
- "value_type": "cumulative"
- },
- "transparent": false,
- "type": "graph",
- "xaxis": {
- "buckets": null,
- "mode": "time",
- "name": null,
- "show": true,
- "values": []
- },
- "yaxes": [
- {
- "format": "none",
- "label": "cores",
- "logBase": 1,
- "max": null,
- "min": null,
- "show": true
- },
- {
- "format": "short",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": null,
- "show": true
- }
- ],
- "yaxis": {
- "align": false,
- "alignLevel": null
- }
- },
- {
- "columns": [],
- "datasource": "${DS_PROMETHEUS}",
- "description": "This data is real time, independent of dashboard time range",
- "fontSize": "100%",
- "gridPos": {
- "h": 8,
- "w": 24,
- "x": 0,
- "y": 16
- },
- "hideTimeOverride": false,
- "id": 75,
- "links": [],
- "pageSize": 7,
- "repeat": null,
- "repeatDirection": "h",
- "scroll": true,
- "showHeader": true,
- "sort": {
- "col": 1,
- "desc": true
- },
- "styles": [
- {
- "alias": "Ingress",
- "colorMode": null,
- "colors": [
- "rgba(245, 54, 54, 0.9)",
- "rgba(237, 129, 40, 0.89)",
- "rgba(50, 172, 45, 0.97)"
- ],
- "dateFormat": "YYYY-MM-DD HH:mm:ss",
- "decimals": 2,
- "pattern": "ingress",
- "preserveFormat": false,
- "sanitize": false,
- "thresholds": [],
- "type": "string",
- "unit": "short"
- },
- {
- "alias": "Requests",
- "colorMode": null,
- "colors": [
- "rgba(245, 54, 54, 0.9)",
- "rgba(237, 129, 40, 0.89)",
- "rgba(50, 172, 45, 0.97)"
- ],
- "dateFormat": "YYYY-MM-DD HH:mm:ss",
- "decimals": 2,
- "pattern": "Value #A",
- "thresholds": [
- ""
- ],
- "type": "number",
- "unit": "ops"
- },
- {
- "alias": "Errors",
- "colorMode": null,
- "colors": [
- "rgba(245, 54, 54, 0.9)",
- "rgba(237, 129, 40, 0.89)",
- "rgba(50, 172, 45, 0.97)"
- ],
- "dateFormat": "YYYY-MM-DD HH:mm:ss",
- "decimals": 2,
- "pattern": "Value #B",
- "thresholds": [],
- "type": "number",
- "unit": "ops"
- },
- {
- "alias": "P50 Latency",
- "colorMode": null,
- "colors": [
- "rgba(245, 54, 54, 0.9)",
- "rgba(237, 129, 40, 0.89)",
- "rgba(50, 172, 45, 0.97)"
- ],
- "dateFormat": "YYYY-MM-DD HH:mm:ss",
- "decimals": 0,
- "link": false,
- "pattern": "Value #C",
- "thresholds": [],
- "type": "number",
- "unit": "dtdurations"
- },
- {
- "alias": "P90 Latency",
- "colorMode": null,
- "colors": [
- "rgba(245, 54, 54, 0.9)",
- "rgba(237, 129, 40, 0.89)",
- "rgba(50, 172, 45, 0.97)"
- ],
- "dateFormat": "YYYY-MM-DD HH:mm:ss",
- "decimals": 0,
- "pattern": "Value #D",
- "thresholds": [],
- "type": "number",
- "unit": "dtdurations"
- },
- {
- "alias": "P99 Latency",
- "colorMode": null,
- "colors": [
- "rgba(245, 54, 54, 0.9)",
- "rgba(237, 129, 40, 0.89)",
- "rgba(50, 172, 45, 0.97)"
- ],
- "dateFormat": "YYYY-MM-DD HH:mm:ss",
- "decimals": 0,
- "pattern": "Value #E",
- "thresholds": [],
- "type": "number",
- "unit": "dtdurations"
- },
- {
- "alias": "IN",
- "colorMode": null,
- "colors": [
- "rgba(245, 54, 54, 0.9)",
- "rgba(237, 129, 40, 0.89)",
- "rgba(50, 172, 45, 0.97)"
- ],
- "dateFormat": "YYYY-MM-DD HH:mm:ss",
- "decimals": 2,
- "pattern": "Value #F",
- "thresholds": [
- ""
- ],
- "type": "number",
- "unit": "Bps"
- },
- {
- "alias": "",
- "colorMode": null,
- "colors": [
- "rgba(245, 54, 54, 0.9)",
- "rgba(237, 129, 40, 0.89)",
- "rgba(50, 172, 45, 0.97)"
- ],
- "dateFormat": "YYYY-MM-DD HH:mm:ss",
- "decimals": 2,
- "pattern": "Time",
- "thresholds": [],
- "type": "hidden",
- "unit": "short"
- },
- {
- "alias": "OUT",
- "colorMode": null,
- "colors": [
- "rgba(245, 54, 54, 0.9)",
- "rgba(237, 129, 40, 0.89)",
- "rgba(50, 172, 45, 0.97)"
- ],
- "dateFormat": "YYYY-MM-DD HH:mm:ss",
- "decimals": 2,
- "mappingType": 1,
- "pattern": "Value #G",
- "thresholds": [],
- "type": "number",
- "unit": "Bps"
- }
- ],
- "targets": [
- {
- "expr": "histogram_quantile(0.50, sum(rate(nginx_ingress_controller_request_duration_seconds_bucket{ingress!=\"\",controller_pod=~\"$controller\",controller_class=~\"$controller_class\",controller_namespace=~\"$namespace\",ingress=~\"$ingress\",exported_namespace=~\"$exported_namespace\"}[2m])) by (le, ingress))",
- "format": "table",
- "hide": false,
- "instant": true,
- "intervalFactor": 1,
- "legendFormat": "{{ ingress }}",
- "refId": "C"
- },
- {
- "expr": "histogram_quantile(0.90, sum(rate(nginx_ingress_controller_request_duration_seconds_bucket{ingress!=\"\",controller_pod=~\"$controller\",controller_class=~\"$controller_class\",controller_namespace=~\"$namespace\",ingress=~\"$ingress\",exported_namespace=~\"$exported_namespace\"}[2m])) by (le, ingress))",
- "format": "table",
- "hide": false,
- "instant": true,
- "intervalFactor": 1,
- "legendFormat": "{{ ingress }}",
- "refId": "D"
- },
- {
- "expr": "histogram_quantile(0.99, sum(rate(nginx_ingress_controller_request_duration_seconds_bucket{ingress!=\"\",controller_pod=~\"$controller\",controller_class=~\"$controller_class\",controller_namespace=~\"$namespace\",ingress=~\"$ingress\",exported_namespace=~\"$exported_namespace\"}[2m])) by (le, ingress))",
- "format": "table",
- "hide": false,
- "instant": true,
- "intervalFactor": 1,
- "legendFormat": "{{ destination_service }}",
- "refId": "E"
- },
- {
- "expr": "sum(irate(nginx_ingress_controller_request_size_sum{ingress!=\"\",controller_pod=~\"$controller\",controller_class=~\"$controller_class\",controller_namespace=~\"$namespace\",ingress=~\"$ingress\",exported_namespace=~\"$exported_namespace\"}[2m])) by (ingress)",
- "format": "table",
- "hide": false,
- "instant": true,
- "interval": "",
- "intervalFactor": 1,
- "legendFormat": "{{ ingress }}",
- "refId": "F"
- },
- {
- "expr": "sum(irate(nginx_ingress_controller_response_size_sum{ingress!=\"\",controller_pod=~\"$controller\",controller_class=~\"$controller_class\",controller_namespace=~\"$namespace\",ingress=~\"$ingress\",exported_namespace=~\"$exported_namespace\"}[2m])) by (ingress)",
- "format": "table",
- "instant": true,
- "intervalFactor": 1,
- "legendFormat": "{{ ingress }}",
- "refId": "G"
- }
- ],
- "timeFrom": null,
- "title": "Ingress Percentile Response Times and Transfer Rates",
- "transform": "table",
- "transparent": false,
- "type": "table"
- },
- {
- "datasource": "${DS_PROMETHEUS}",
"fieldConfig": {
"defaults": {
"color": {
"mode": "palette-classic"
},
"custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
"axisLabel": "",
"axisPlacement": "auto",
"barAlignment": 0,
@@ -1253,6 +641,842 @@
"tooltip": false,
"viz": false
},
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 2,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": true,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "percentunit"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "max - istio-proxy"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#890f02",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "max - master"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#bf1b00",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "max - prometheus"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#bf1b00",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byValue",
+ "options": {
+ "op": "gte",
+ "reducer": "allIsNull",
+ "value": 0
+ }
+ },
+ "properties": [
+ {
+ "id": "custom.hideFrom",
+ "value": {
+ "legend": true,
+ "tooltip": true,
+ "viz": false
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 12,
+ "x": 12,
+ "y": 3
+ },
+ "id": 87,
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean"
+ ],
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "asc"
+ }
+ },
+ "pluginVersion": "10.4.3",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${DS_PROMETHEUS}"
+ },
+ "expr": "sum(rate(nginx_ingress_controller_requests{controller_pod=~\"$controller\",controller_class=~\"$controller_class\",namespace=~\"$namespace\",exported_namespace=~\"$exported_namespace\",ingress=~\"$ingress\",status!~\"[4-5].*\"}[2m])) by (ingress) / sum(rate(nginx_ingress_controller_requests{controller_pod=~\"$controller\",controller_class=~\"$controller_class\",namespace=~\"$namespace\",exported_namespace=~\"$exported_namespace\",ingress=~\"$ingress\"}[2m])) by (ingress)",
+ "format": "time_series",
+ "instant": false,
+ "interval": "10s",
+ "intervalFactor": 1,
+ "legendFormat": "{{ ingress }}",
+ "metric": "container_memory_usage:sort_desc",
+ "refId": "A",
+ "step": 10
+ }
+ ],
+ "title": "Ingress Success Rate (non-4|5xx responses)",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${DS_PROMETHEUS}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 2,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": true,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "Bps"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 8,
+ "x": 0,
+ "y": 10
+ },
+ "id": 32,
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull"
+ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": false,
+ "width": 200
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "10.4.3",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${DS_PROMETHEUS}"
+ },
+ "expr": "sum (irate (nginx_ingress_controller_request_size_sum{controller_pod=~\"$controller\",controller_class=~\"$controller_class\",controller_namespace=~\"$namespace\"}[2m]))",
+ "format": "time_series",
+ "instant": false,
+ "interval": "10s",
+ "intervalFactor": 1,
+ "legendFormat": "Received",
+ "metric": "network",
+ "refId": "A",
+ "step": 10
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${DS_PROMETHEUS}"
+ },
+ "expr": "- sum (irate (nginx_ingress_controller_response_size_sum{controller_pod=~\"$controller\",controller_class=~\"$controller_class\",controller_namespace=~\"$namespace\"}[2m]))",
+ "format": "time_series",
+ "hide": false,
+ "interval": "10s",
+ "intervalFactor": 1,
+ "legendFormat": "Sent",
+ "metric": "network",
+ "refId": "B",
+ "step": 10
+ }
+ ],
+ "title": "Network I/O pressure",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${DS_PROMETHEUS}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 2,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": true,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "bytes"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "max - istio-proxy"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#890f02",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "max - master"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#bf1b00",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "max - prometheus"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#bf1b00",
+ "mode": "fixed"
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 8,
+ "x": 8,
+ "y": 10
+ },
+ "id": 77,
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull"
+ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": false,
+ "width": 200
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "10.4.3",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${DS_PROMETHEUS}"
+ },
+ "expr": "avg(nginx_ingress_controller_nginx_process_resident_memory_bytes{controller_pod=~\"$controller\",controller_class=~\"$controller_class\",controller_namespace=~\"$namespace\"}) ",
+ "format": "time_series",
+ "instant": false,
+ "interval": "10s",
+ "intervalFactor": 1,
+ "legendFormat": "nginx",
+ "metric": "container_memory_usage:sort_desc",
+ "refId": "A",
+ "step": 10
+ }
+ ],
+ "title": "Average Memory Usage",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${DS_PROMETHEUS}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "cores",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 2,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": true,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "line+area"
+ }
+ },
+ "mappings": [],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "transparent",
+ "value": null
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 8,
+ "x": 16,
+ "y": 10
+ },
+ "id": 79,
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull"
+ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": false
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "10.4.3",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${DS_PROMETHEUS}"
+ },
+ "expr": "avg (rate (nginx_ingress_controller_nginx_process_cpu_seconds_total{controller_pod=~\"$controller\",controller_class=~\"$controller_class\",controller_namespace=~\"$namespace\"}[2m])) ",
+ "format": "time_series",
+ "interval": "10s",
+ "intervalFactor": 1,
+ "legendFormat": "nginx",
+ "metric": "container_cpu",
+ "refId": "A",
+ "step": 10
+ }
+ ],
+ "title": "Average CPU Usage",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${DS_PROMETHEUS}"
+ },
+ "description": "This data is real time, independent of dashboard time range",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "custom": {
+ "align": "auto",
+ "cellOptions": {
+ "type": "auto"
+ },
+ "inspect": false
+ },
+ "mappings": [],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ }
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "ingress"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Ingress"
+ },
+ {
+ "id": "unit",
+ "value": "short"
+ },
+ {
+ "id": "decimals",
+ "value": 2
+ },
+ {
+ "id": "custom.align"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Value #A"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "P50 Latency"
+ },
+ {
+ "id": "unit",
+ "value": "dtdurations"
+ },
+ {
+ "id": "custom.align"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Value #B"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "P90 Latency"
+ },
+ {
+ "id": "unit",
+ "value": "dtdurations"
+ },
+ {
+ "id": "custom.align"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Value #C"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "P99 Latency"
+ },
+ {
+ "id": "unit",
+ "value": "dtdurations"
+ },
+ {
+ "id": "custom.align"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Value #D"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "IN"
+ },
+ {
+ "id": "unit",
+ "value": "Bps"
+ },
+ {
+ "id": "decimals",
+ "value": 2
+ },
+ {
+ "id": "custom.align"
+ },
+ {
+ "id": "thresholds",
+ "value": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "rgba(245, 54, 54, 0.9)",
+ "value": null
+ },
+ {
+ "color": "rgba(237, 129, 40, 0.89)"
+ }
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Time"
+ },
+ "properties": [
+ {
+ "id": "unit",
+ "value": "short"
+ },
+ {
+ "id": "decimals",
+ "value": 2
+ },
+ {
+ "id": "custom.align"
+ },
+ {
+ "id": "custom.hidden",
+ "value": true
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Value #E"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "OUT"
+ },
+ {
+ "id": "unit",
+ "value": "Bps"
+ },
+ {
+ "id": "decimals",
+ "value": 2
+ },
+ {
+ "id": "custom.align"
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 24,
+ "x": 0,
+ "y": 16
+ },
+ "hideTimeOverride": false,
+ "id": 75,
+ "options": {
+ "cellHeight": "sm",
+ "footer": {
+ "countRows": false,
+ "fields": "",
+ "reducer": [
+ "sum"
+ ],
+ "show": false
+ },
+ "showHeader": true
+ },
+ "pluginVersion": "10.4.3",
+ "repeatDirection": "h",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${DS_PROMETHEUS}"
+ },
+ "expr": "histogram_quantile(0.50, sum(rate(nginx_ingress_controller_request_duration_seconds_bucket{ingress!=\"\",controller_pod=~\"$controller\",controller_class=~\"$controller_class\",controller_namespace=~\"$namespace\",ingress=~\"$ingress\",exported_namespace=~\"$exported_namespace\"}[2m])) by (le, ingress))",
+ "format": "table",
+ "hide": false,
+ "instant": true,
+ "intervalFactor": 1,
+ "legendFormat": "{{ ingress }}",
+ "refId": "A"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${DS_PROMETHEUS}"
+ },
+ "expr": "histogram_quantile(0.90, sum(rate(nginx_ingress_controller_request_duration_seconds_bucket{ingress!=\"\",controller_pod=~\"$controller\",controller_class=~\"$controller_class\",controller_namespace=~\"$namespace\",ingress=~\"$ingress\",exported_namespace=~\"$exported_namespace\"}[2m])) by (le, ingress))",
+ "format": "table",
+ "hide": false,
+ "instant": true,
+ "intervalFactor": 1,
+ "legendFormat": "{{ ingress }}",
+ "refId": "B"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${DS_PROMETHEUS}"
+ },
+ "expr": "histogram_quantile(0.99, sum(rate(nginx_ingress_controller_request_duration_seconds_bucket{ingress!=\"\",controller_pod=~\"$controller\",controller_class=~\"$controller_class\",controller_namespace=~\"$namespace\",ingress=~\"$ingress\",exported_namespace=~\"$exported_namespace\"}[2m])) by (le, ingress))",
+ "format": "table",
+ "hide": false,
+ "instant": true,
+ "intervalFactor": 1,
+ "legendFormat": "{{ destination_service }}",
+ "refId": "C"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${DS_PROMETHEUS}"
+ },
+ "expr": "sum(irate(nginx_ingress_controller_request_size_sum{ingress!=\"\",controller_pod=~\"$controller\",controller_class=~\"$controller_class\",controller_namespace=~\"$namespace\",ingress=~\"$ingress\",exported_namespace=~\"$exported_namespace\"}[2m])) by (ingress)",
+ "format": "table",
+ "hide": false,
+ "instant": true,
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "{{ ingress }}",
+ "refId": "D"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${DS_PROMETHEUS}"
+ },
+ "expr": "sum(irate(nginx_ingress_controller_response_size_sum{ingress!=\"\",controller_pod=~\"$controller\",controller_class=~\"$controller_class\",controller_namespace=~\"$namespace\",ingress=~\"$ingress\",exported_namespace=~\"$exported_namespace\"}[2m])) by (ingress)",
+ "format": "table",
+ "instant": true,
+ "intervalFactor": 1,
+ "legendFormat": "{{ ingress }}",
+ "refId": "E"
+ }
+ ],
+ "title": "Ingress Percentile Response Times and Transfer Rates",
+ "transformations": [
+ {
+ "id": "merge",
+ "options": {
+ "reducers": []
+ }
+ }
+ ],
+ "type": "table"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${DS_PROMETHEUS}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
"lineInterpolation": "linear",
"lineWidth": 1,
"pointSize": 5,
@@ -1295,12 +1519,12 @@
},
"hideTimeOverride": false,
"id": 91,
- "links": [],
"options": {
"legend": {
"calcs": [],
"displayMode": "list",
- "placement": "bottom"
+ "placement": "bottom",
+ "showLegend": true
},
"tooltip": {
"mode": "multi",
@@ -1311,6 +1535,10 @@
"repeatDirection": "h",
"targets": [
{
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${DS_PROMETHEUS}"
+ },
"exemplar": true,
"expr": "histogram_quantile(0.80, sum(rate(nginx_ingress_controller_request_duration_seconds_bucket{ingress!=\"\",controller_pod=~\"$controller\",controller_class=~\"$controller_class\",controller_namespace=~\"$namespace\",ingress=~\"$ingress\",exported_namespace=~\"$exported_namespace\"}[2m])) by (le))",
"format": "time_series",
@@ -1322,6 +1550,10 @@
"refId": "C"
},
{
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${DS_PROMETHEUS}"
+ },
"exemplar": true,
"expr": "histogram_quantile(0.90, sum(rate(nginx_ingress_controller_request_duration_seconds_bucket{ingress!=\"\",controller_pod=~\"$controller\",controller_class=~\"$controller_class\",controller_namespace=~\"$namespace\",ingress=~\"$ingress\",exported_namespace=~\"$exported_namespace\"}[2m])) by (le))",
"format": "time_series",
@@ -1333,6 +1565,10 @@
"refId": "D"
},
{
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${DS_PROMETHEUS}"
+ },
"editorMode": "code",
"exemplar": true,
"expr": "histogram_quantile(0.99, sum(rate(nginx_ingress_controller_request_duration_seconds_bucket{ingress!=\"\",controller_pod=~\"$controller\",controller_class=~\"$controller_class\",controller_namespace=~\"$namespace\",ingress=~\"$ingress\",exported_namespace=~\"$exported_namespace\"}[2m])) by (le))",
@@ -1358,8 +1594,26 @@
"mode": "spectrum"
},
"dataFormat": "tsbuckets",
- "datasource": "${DS_PROMETHEUS}",
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${DS_PROMETHEUS}"
+ },
"description": "",
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "scaleDistribution": {
+ "type": "linear"
+ }
+ }
+ },
+ "overrides": []
+ },
"gridPos": {
"h": 7,
"w": 12,
@@ -1373,9 +1627,52 @@
"legend": {
"show": true
},
+ "options": {
+ "calculate": false,
+ "calculation": {},
+ "cellGap": 2,
+ "cellValues": {},
+ "color": {
+ "exponent": 0.5,
+ "fill": "#b4ff00",
+ "mode": "scheme",
+ "reverse": false,
+ "scale": "exponential",
+ "scheme": "Warm",
+ "steps": 128
+ },
+ "exemplars": {
+ "color": "rgba(255,0,255,0.7)"
+ },
+ "filterValues": {
+ "le": 1e-9
+ },
+ "legend": {
+ "show": true
+ },
+ "rowsFrame": {
+ "layout": "auto"
+ },
+ "showValue": "never",
+ "tooltip": {
+ "mode": "single",
+ "showColorScale": false,
+ "yHistogram": true
+ },
+ "yAxis": {
+ "axisPlacement": "left",
+ "reverse": false,
+ "unit": "s"
+ }
+ },
+ "pluginVersion": "10.4.3",
"reverseYBuckets": false,
"targets": [
{
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${DS_PROMETHEUS}"
+ },
"exemplar": true,
"expr": "sum(increase(nginx_ingress_controller_request_duration_seconds_bucket{ingress!=\"\",controller_pod=~\"$controller\",controller_class=~\"$controller_class\",controller_namespace=~\"$namespace\",ingress=~\"$ingress\",exported_namespace=~\"$exported_namespace\"}[2m])) by (le)",
"format": "heatmap",
@@ -1401,72 +1698,124 @@
"yBucketBound": "auto"
},
{
- "columns": [
- {
- "text": "Current",
- "value": "current"
- }
- ],
- "datasource": "${DS_PROMETHEUS}",
- "fontSize": "100%",
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${DS_PROMETHEUS}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "custom": {
+ "align": "auto",
+ "cellOptions": {
+ "type": "auto"
+ },
+ "inspect": false
+ },
+ "decimals": 2,
+ "displayName": "",
+ "mappings": [],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Last *"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "TTL"
+ },
+ {
+ "id": "unit",
+ "value": "s"
+ },
+ {
+ "id": "custom.cellOptions",
+ "value": {
+ "type": "color-background"
+ }
+ },
+ {
+ "id": "thresholds",
+ "value": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "rgba(245, 54, 54, 0.9)",
+ "value": null
+ },
+ {
+ "color": "rgba(237, 129, 40, 0.89)",
+ "value": 0
+ },
+ {
+ "color": "rgba(50, 172, 45, 0.97)",
+ "value": 691200
+ }
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Field"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Host"
+ }
+ ]
+ }
+ ]
+ },
"gridPos": {
"h": 8,
"w": 24,
"x": 0,
"y": 31
},
- "height": "1024",
"id": 85,
- "links": [],
- "pageSize": 7,
- "scroll": true,
- "showHeader": true,
- "sort": {
- "col": 1,
- "desc": false
+ "options": {
+ "cellHeight": "sm",
+ "footer": {
+ "countRows": false,
+ "enablePagination": false,
+ "fields": "",
+ "reducer": [
+ "sum"
+ ],
+ "show": false
+ },
+ "showHeader": true
},
- "styles": [
- {
- "alias": "Time",
- "dateFormat": "YYYY-MM-DD HH:mm:ss",
- "pattern": "Time",
- "type": "date"
- },
- {
- "alias": "TTL",
- "colorMode": "cell",
- "colors": [
- "rgba(245, 54, 54, 0.9)",
- "rgba(237, 129, 40, 0.89)",
- "rgba(50, 172, 45, 0.97)"
- ],
- "dateFormat": "YYYY-MM-DD HH:mm:ss",
- "decimals": 0,
- "pattern": "Current",
- "thresholds": [
- "0",
- "691200"
- ],
- "type": "number",
- "unit": "s"
- },
- {
- "alias": "",
- "colorMode": null,
- "colors": [
- "rgba(245, 54, 54, 0.9)",
- "rgba(237, 129, 40, 0.89)",
- "rgba(50, 172, 45, 0.97)"
- ],
- "decimals": 2,
- "pattern": "/.*/",
- "thresholds": [],
- "type": "number",
- "unit": "short"
- }
- ],
+ "pluginVersion": "10.4.3",
"targets": [
{
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${DS_PROMETHEUS}"
+ },
"expr": "avg(nginx_ingress_controller_ssl_expire_time_seconds{kubernetes_pod_name=~\"$controller\",namespace=~\"$namespace\",ingress=~\"$ingress\"}) by (host) - time()",
"format": "time_series",
"intervalFactor": 1,
@@ -1477,35 +1826,55 @@
}
],
"title": "Ingress Certificate Expiry",
- "transform": "timeseries_aggregations",
+ "transformations": [
+ {
+ "id": "reduce",
+ "options": {
+ "includeTimeField": false,
+ "labelsToFields": false,
+ "reducers": [
+ "lastNotNull"
+ ]
+ }
+ }
+ ],
"type": "table"
}
],
"refresh": "5s",
- "schemaVersion": 16,
- "style": "dark",
+ "schemaVersion": 39,
"tags": [
"nginx"
],
"templating": {
"list": [
{
+ "current": {
+ "selected": false,
+ "text": "Prometheus",
+ "value": "${DS_PROMETHEUS}"
+ },
"hide": 0,
+ "includeAll": false,
"label": "datasource",
+ "multi": false,
"name": "DS_PROMETHEUS",
"options": [],
"query": "prometheus",
+ "queryValue": "",
"refresh": 1,
"regex": "",
+ "skipUrlSync": false,
"type": "datasource"
},
{
"allValue": ".*",
- "current": {
- "text": "All",
- "value": "$__all"
+ "current": {},
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${DS_PROMETHEUS}"
},
- "datasource": "${DS_PROMETHEUS}",
+ "definition": "",
"hide": 0,
"includeAll": true,
"label": "Namespace",
@@ -1515,20 +1884,21 @@
"query": "label_values(nginx_ingress_controller_config_hash, controller_namespace)",
"refresh": 1,
"regex": "",
+ "skipUrlSync": false,
"sort": 0,
"tagValuesQuery": "",
- "tags": [],
"tagsQuery": "",
"type": "query",
"useTags": false
},
{
"allValue": ".*",
- "current": {
- "text": "All",
- "value": "$__all"
+ "current": {},
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${DS_PROMETHEUS}"
},
- "datasource": "${DS_PROMETHEUS}",
+ "definition": "",
"hide": 0,
"includeAll": true,
"label": "Controller Class",
@@ -1538,20 +1908,21 @@
"query": "label_values(nginx_ingress_controller_config_hash{namespace=~\"$namespace\"}, controller_class) ",
"refresh": 1,
"regex": "",
+ "skipUrlSync": false,
"sort": 0,
"tagValuesQuery": "",
- "tags": [],
"tagsQuery": "",
"type": "query",
"useTags": false
},
{
"allValue": ".*",
- "current": {
- "text": "All",
- "value": "$__all"
+ "current": {},
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${DS_PROMETHEUS}"
},
- "datasource": "${DS_PROMETHEUS}",
+ "definition": "",
"hide": 0,
"includeAll": true,
"label": "Controller",
@@ -1561,21 +1932,21 @@
"query": "label_values(nginx_ingress_controller_config_hash{namespace=~\"$namespace\",controller_class=~\"$controller_class\"}, controller_pod) ",
"refresh": 1,
"regex": "",
+ "skipUrlSync": false,
"sort": 1,
"tagValuesQuery": "",
- "tags": [],
"tagsQuery": "",
"type": "query",
"useTags": false
},
{
"allValue": ".*",
- "current": {
- "tags": [],
- "text": "All",
- "value": "$__all"
+ "current": {},
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${DS_PROMETHEUS}"
},
- "datasource": "${DS_PROMETHEUS}",
+ "definition": "",
"hide": 0,
"includeAll": true,
"label": "Ingress Namespace",
@@ -1585,21 +1956,21 @@
"query": "label_values(nginx_ingress_controller_requests{namespace=~\"$namespace\",controller_class=~\"$controller_class\",controller_pod=~\"$controller\"}, exported_namespace) ",
"refresh": 1,
"regex": "",
+ "skipUrlSync": false,
"sort": 1,
"tagValuesQuery": "",
- "tags": [],
"tagsQuery": "",
"type": "query",
"useTags": false
},
{
"allValue": ".*",
- "current": {
- "tags": [],
- "text": "All",
- "value": "$__all"
+ "current": {},
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${DS_PROMETHEUS}"
},
- "datasource": "${DS_PROMETHEUS}",
+ "definition": "",
"hide": 0,
"includeAll": true,
"label": "Ingress",
@@ -1609,9 +1980,9 @@
"query": "label_values(nginx_ingress_controller_requests{namespace=~\"$namespace\",controller_class=~\"$controller_class\",controller_pod=~\"$controller\",exported_namespace=~\"$exported_namespace\"}, ingress) ",
"refresh": 1,
"regex": "",
+ "skipUrlSync": false,
"sort": 1,
"tagValuesQuery": "",
- "tags": [],
"tagsQuery": "",
"type": "query",
"useTags": false
@@ -1650,5 +2021,6 @@
"timezone": "browser",
"title": "NGINX Ingress controller",
"uid": "nginx",
- "version": 1
-}
+ "version": 1,
+ "weekStart": ""
+}
\ No newline at end of file
diff --git a/deploy/grafana/dashboards/request-handling-performance.json b/deploy/grafana/dashboards/request-handling-performance.json
index 1422336ae..61db983a6 100644
--- a/deploy/grafana/dashboards/request-handling-performance.json
+++ b/deploy/grafana/dashboards/request-handling-performance.json
@@ -9,32 +9,35 @@
"pluginName": "Prometheus"
}
],
- "__elements": [],
+ "__elements": {},
"__requires": [
{
"type": "grafana",
"id": "grafana",
"name": "Grafana",
- "version": "8.3.4"
- },
- {
- "type": "panel",
- "id": "graph",
- "name": "Graph (old)",
- "version": ""
+ "version": "10.4.3"
},
{
"type": "datasource",
"id": "prometheus",
"name": "Prometheus",
"version": "1.0.0"
+ },
+ {
+ "type": "panel",
+ "id": "timeseries",
+ "name": "Time series",
+ "version": ""
}
],
"annotations": {
"list": [
{
"builtIn": 1,
- "datasource": "-- Grafana --",
+ "datasource": {
+ "type": "datasource",
+ "uid": "grafana"
+ },
"enable": true,
"hide": true,
"iconColor": "rgba(0, 211, 255, 1)",
@@ -55,160 +58,214 @@
"gnetId": 9614,
"graphTooltip": 1,
"id": null,
- "iteration": 1646929474557,
"links": [],
"liveNow": false,
"panels": [
{
- "aliasColors": {},
- "bars": false,
- "dashLength": 10,
- "dashes": false,
"datasource": {
+ "type": "prometheus",
"uid": "${DS_PROMETHEUS}"
},
"description": "Total time for NGINX and upstream servers to process a request and send a response",
"fieldConfig": {
"defaults": {
- "links": []
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [],
+ "mappings": [],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "s"
},
"overrides": []
},
- "fill": 1,
- "fillGradient": 0,
"gridPos": {
"h": 8,
"w": 12,
"x": 0,
"y": 0
},
- "hiddenSeries": false,
"id": 91,
- "legend": {
- "avg": false,
- "current": false,
- "max": false,
- "min": false,
- "show": true,
- "total": false,
- "values": false
- },
- "lines": true,
- "linewidth": 1,
- "nullPointMode": "null",
"options": {
- "alertThreshold": true
+ "legend": {
+ "calcs": [],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
},
- "percentage": false,
- "pluginVersion": "8.3.4",
- "pointradius": 2,
- "points": false,
- "renderer": "flot",
- "seriesOverrides": [],
- "spaceLength": 10,
- "stack": false,
- "steppedLine": false,
+ "pluginVersion": "10.4.3",
"targets": [
{
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${DS_PROMETHEUS}"
+ },
"expr": "histogram_quantile(\n 0.5,\n sum by (le)(\n rate(\n nginx_ingress_controller_request_duration_seconds_bucket{\n ingress =~ \"$ingress\"\n }[5m]\n )\n )\n)",
"interval": "",
"legendFormat": ".5",
"refId": "D"
},
{
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${DS_PROMETHEUS}"
+ },
"expr": "histogram_quantile(\n 0.95,\n sum by (le)(\n rate(\n nginx_ingress_controller_request_duration_seconds_bucket{\n ingress =~ \"$ingress\"\n }[5m]\n )\n )\n)",
"interval": "",
"legendFormat": ".95",
"refId": "B"
},
{
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${DS_PROMETHEUS}"
+ },
"expr": "histogram_quantile(\n 0.99,\n sum by (le)(\n rate(\n nginx_ingress_controller_request_duration_seconds_bucket{\n ingress =~ \"$ingress\"\n }[5m]\n )\n )\n)",
"interval": "",
"legendFormat": ".99",
"refId": "A"
}
],
- "thresholds": [],
- "timeRegions": [],
"title": "Request Latency Percentiles",
- "tooltip": {
- "shared": true,
- "sort": 2,
- "value_type": "individual"
- },
- "type": "graph",
- "xaxis": {
- "mode": "time",
- "show": true,
- "values": []
- },
- "yaxes": [
- {
- "format": "s",
- "logBase": 1,
- "show": true
- },
- {
- "format": "short",
- "logBase": 1,
- "show": true
- }
- ],
- "yaxis": {
- "align": false
- }
+ "type": "timeseries"
},
{
- "aliasColors": {},
- "bars": false,
- "dashLength": 10,
- "dashes": false,
"datasource": {
+ "type": "prometheus",
"uid": "${DS_PROMETHEUS}"
},
"description": "The time spent on receiving the response from the upstream server",
"fieldConfig": {
"defaults": {
- "links": []
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [],
+ "mappings": [],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "s"
},
"overrides": []
},
- "fill": 1,
- "fillGradient": 0,
"gridPos": {
"h": 8,
"w": 12,
"x": 12,
"y": 0
},
- "hiddenSeries": false,
"id": 94,
- "legend": {
- "avg": false,
- "current": false,
- "max": false,
- "min": false,
- "show": true,
- "total": false,
- "values": false
- },
- "lines": true,
- "linewidth": 1,
- "nullPointMode": "null",
"options": {
- "alertThreshold": true
+ "legend": {
+ "calcs": [],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
},
- "percentage": false,
- "pluginVersion": "8.3.4",
- "pointradius": 2,
- "points": false,
- "renderer": "flot",
- "seriesOverrides": [],
- "spaceLength": 10,
- "stack": false,
- "steppedLine": false,
+ "pluginVersion": "10.4.3",
"targets": [
{
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${DS_PROMETHEUS}"
+ },
"expr": "histogram_quantile(\n 0.5,\n sum by (le)(\n rate(\n nginx_ingress_controller_response_duration_seconds_bucket{\n ingress =~ \"$ingress\"\n }[5m]\n )\n )\n)",
"instant": false,
"interval": "",
@@ -217,100 +274,116 @@
"refId": "D"
},
{
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${DS_PROMETHEUS}"
+ },
"expr": "histogram_quantile(\n 0.95,\n sum by (le)(\n rate(\n nginx_ingress_controller_response_duration_seconds_bucket{\n ingress =~ \"$ingress\"\n }[5m]\n )\n )\n)",
"interval": "",
"legendFormat": ".95",
"refId": "B"
},
{
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${DS_PROMETHEUS}"
+ },
"expr": "histogram_quantile(\n 0.99,\n sum by (le)(\n rate(\n nginx_ingress_controller_response_duration_seconds_bucket{\n ingress =~ \"$ingress\"\n }[5m]\n )\n )\n)",
"interval": "",
"legendFormat": ".99",
"refId": "A"
}
],
- "thresholds": [],
- "timeRegions": [],
"title": "Upstream Response Latency Percentiles",
- "tooltip": {
- "shared": true,
- "sort": 2,
- "value_type": "individual"
- },
- "type": "graph",
- "xaxis": {
- "mode": "time",
- "show": true,
- "values": []
- },
- "yaxes": [
- {
- "format": "s",
- "logBase": 1,
- "show": true
- },
- {
- "format": "short",
- "logBase": 1,
- "show": true
- }
- ],
- "yaxis": {
- "align": false
- }
+ "type": "timeseries"
},
{
- "aliasColors": {},
- "bars": false,
- "dashLength": 10,
- "dashes": false,
"datasource": {
+ "type": "prometheus",
"uid": "${DS_PROMETHEUS}"
},
"fieldConfig": {
"defaults": {
- "links": []
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [],
+ "mappings": [],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "reqps"
},
"overrides": []
},
- "fill": 1,
- "fillGradient": 0,
"gridPos": {
"h": 8,
"w": 12,
"x": 0,
"y": 8
},
- "hiddenSeries": false,
"id": 93,
- "legend": {
- "alignAsTable": true,
- "avg": false,
- "current": false,
- "max": false,
- "min": false,
- "rightSide": true,
- "show": true,
- "total": false,
- "values": false
- },
- "lines": true,
- "linewidth": 1,
- "nullPointMode": "null",
"options": {
- "alertThreshold": true
+ "legend": {
+ "calcs": [],
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
},
- "percentage": false,
- "pluginVersion": "8.3.4",
- "pointradius": 2,
- "points": false,
- "renderer": "flot",
- "seriesOverrides": [],
- "spaceLength": 10,
- "stack": false,
- "steppedLine": false,
+ "pluginVersion": "10.4.3",
"targets": [
{
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${DS_PROMETHEUS}"
+ },
"expr": " sum by (method, host, path)(\n rate(\n nginx_ingress_controller_request_duration_seconds_count{\n ingress =~ \"$ingress\"\n }[5m]\n )\n )\n",
"interval": "",
"intervalFactor": 1,
@@ -318,89 +391,97 @@
"refId": "A"
}
],
- "thresholds": [],
- "timeRegions": [],
"title": "Request Rate by Method and Path",
- "tooltip": {
- "shared": true,
- "sort": 2,
- "value_type": "individual"
- },
- "type": "graph",
- "xaxis": {
- "mode": "time",
- "show": true,
- "values": []
- },
- "yaxes": [
- {
- "format": "reqps",
- "logBase": 1,
- "show": true
- },
- {
- "format": "short",
- "logBase": 1,
- "show": true
- }
- ],
- "yaxis": {
- "align": false
- }
+ "type": "timeseries"
},
{
- "aliasColors": {},
- "bars": false,
- "dashLength": 10,
- "dashes": false,
"datasource": {
+ "type": "prometheus",
"uid": "${DS_PROMETHEUS}"
},
"description": "For each path observed, its median upstream response time",
"fieldConfig": {
"defaults": {
- "links": []
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [],
+ "mappings": [],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "s"
},
"overrides": []
},
- "fill": 1,
- "fillGradient": 0,
"gridPos": {
"h": 8,
"w": 12,
"x": 12,
"y": 8
},
- "hiddenSeries": false,
"id": 98,
- "legend": {
- "alignAsTable": true,
- "avg": false,
- "current": false,
- "max": false,
- "min": false,
- "rightSide": true,
- "show": true,
- "total": false,
- "values": false
- },
- "lines": true,
- "linewidth": 1,
- "nullPointMode": "null",
"options": {
- "alertThreshold": true
+ "legend": {
+ "calcs": [],
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
},
- "percentage": false,
- "pluginVersion": "8.3.4",
- "pointradius": 2,
- "points": false,
- "renderer": "flot",
- "seriesOverrides": [],
- "spaceLength": 10,
- "stack": false,
- "steppedLine": false,
+ "pluginVersion": "10.4.3",
"targets": [
{
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${DS_PROMETHEUS}"
+ },
"expr": "histogram_quantile(\n .5,\n sum by (le, method, host, path)(\n rate(\n nginx_ingress_controller_response_duration_seconds_bucket{\n ingress =~ \"$ingress\"\n }[5m]\n )\n )\n)",
"interval": "",
"intervalFactor": 1,
@@ -408,89 +489,97 @@
"refId": "A"
}
],
- "thresholds": [],
- "timeRegions": [],
"title": "Median Upstream Response Time by Method and Path",
- "tooltip": {
- "shared": true,
- "sort": 2,
- "value_type": "individual"
- },
- "type": "graph",
- "xaxis": {
- "mode": "time",
- "show": true,
- "values": []
- },
- "yaxes": [
- {
- "format": "s",
- "logBase": 1,
- "show": true
- },
- {
- "format": "short",
- "logBase": 1,
- "show": true
- }
- ],
- "yaxis": {
- "align": false
- }
+ "type": "timeseries"
},
{
- "aliasColors": {},
- "bars": false,
- "dashLength": 10,
- "dashes": false,
"datasource": {
+ "type": "prometheus",
"uid": "${DS_PROMETHEUS}"
},
"description": "Percentage of 4xx and 5xx responses among all responses.",
"fieldConfig": {
"defaults": {
- "links": []
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [],
+ "mappings": [],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "percentunit"
},
"overrides": []
},
- "fill": 1,
- "fillGradient": 0,
"gridPos": {
"h": 8,
"w": 12,
"x": 0,
"y": 16
},
- "hiddenSeries": false,
"id": 100,
- "legend": {
- "alignAsTable": true,
- "avg": false,
- "current": false,
- "max": false,
- "min": false,
- "rightSide": true,
- "show": true,
- "total": false,
- "values": false
- },
- "lines": true,
- "linewidth": 1,
- "nullPointMode": "null as zero",
"options": {
- "alertThreshold": true
+ "legend": {
+ "calcs": [],
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
},
- "percentage": false,
- "pluginVersion": "8.3.4",
- "pointradius": 2,
- "points": false,
- "renderer": "flot",
- "seriesOverrides": [],
- "spaceLength": 10,
- "stack": false,
- "steppedLine": false,
+ "pluginVersion": "10.4.3",
"targets": [
{
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${DS_PROMETHEUS}"
+ },
"expr": "sum by (method, host, path) (rate(nginx_ingress_controller_request_duration_seconds_count{\n ingress =~ \"$ingress\",\n status =~ \"[4-5].*\"\n}[5m])) / sum by (method, host, path) (rate(nginx_ingress_controller_request_duration_seconds_count{\n ingress =~ \"$ingress\",\n}[5m]))",
"interval": "",
"intervalFactor": 1,
@@ -498,89 +587,97 @@
"refId": "A"
}
],
- "thresholds": [],
- "timeRegions": [],
"title": "Response Error Rate by Method and Path",
- "tooltip": {
- "shared": true,
- "sort": 2,
- "value_type": "individual"
- },
- "type": "graph",
- "xaxis": {
- "mode": "time",
- "show": true,
- "values": []
- },
- "yaxes": [
- {
- "format": "percentunit",
- "logBase": 1,
- "show": true
- },
- {
- "format": "short",
- "logBase": 1,
- "show": true
- }
- ],
- "yaxis": {
- "align": false
- }
+ "type": "timeseries"
},
{
- "aliasColors": {},
- "bars": false,
- "dashLength": 10,
- "dashes": false,
"datasource": {
+ "type": "prometheus",
"uid": "${DS_PROMETHEUS}"
},
"description": "For each path observed, the sum of upstream request time",
"fieldConfig": {
"defaults": {
- "links": []
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [],
+ "mappings": [],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "s"
},
"overrides": []
},
- "fill": 1,
- "fillGradient": 0,
"gridPos": {
"h": 8,
"w": 12,
"x": 12,
"y": 16
},
- "hiddenSeries": false,
"id": 102,
- "legend": {
- "alignAsTable": true,
- "avg": false,
- "current": false,
- "max": false,
- "min": false,
- "rightSide": true,
- "show": true,
- "total": false,
- "values": false
- },
- "lines": true,
- "linewidth": 1,
- "nullPointMode": "null",
"options": {
- "alertThreshold": true
+ "legend": {
+ "calcs": [],
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
},
- "percentage": false,
- "pluginVersion": "8.3.4",
- "pointradius": 2,
- "points": false,
- "renderer": "flot",
- "seriesOverrides": [],
- "spaceLength": 10,
- "stack": false,
- "steppedLine": false,
+ "pluginVersion": "10.4.3",
"targets": [
{
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${DS_PROMETHEUS}"
+ },
"expr": "sum by (method, host, path) (rate(nginx_ingress_controller_response_duration_seconds_sum{ingress =~ \"$ingress\"}[5m]))",
"interval": "",
"intervalFactor": 1,
@@ -588,88 +685,96 @@
"refId": "A"
}
],
- "thresholds": [],
- "timeRegions": [],
"title": "Upstream Response Time by Method and Path",
- "tooltip": {
- "shared": true,
- "sort": 2,
- "value_type": "individual"
- },
- "type": "graph",
- "xaxis": {
- "mode": "time",
- "show": true,
- "values": []
- },
- "yaxes": [
- {
- "format": "s",
- "logBase": 1,
- "show": true
- },
- {
- "format": "short",
- "logBase": 1,
- "show": true
- }
- ],
- "yaxis": {
- "align": false
- }
+ "type": "timeseries"
},
{
- "aliasColors": {},
- "bars": false,
- "dashLength": 10,
- "dashes": false,
"datasource": {
+ "type": "prometheus",
"uid": "${DS_PROMETHEUS}"
},
"fieldConfig": {
"defaults": {
- "links": []
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [],
+ "mappings": [],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "reqps"
},
"overrides": []
},
- "fill": 1,
- "fillGradient": 0,
"gridPos": {
"h": 8,
"w": 12,
"x": 0,
"y": 24
},
- "hiddenSeries": false,
"id": 101,
- "legend": {
- "alignAsTable": true,
- "avg": false,
- "current": false,
- "max": false,
- "min": false,
- "rightSide": true,
- "show": true,
- "total": false,
- "values": false
- },
- "lines": true,
- "linewidth": 1,
- "nullPointMode": "null",
"options": {
- "alertThreshold": true
+ "legend": {
+ "calcs": [],
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
},
- "percentage": false,
- "pluginVersion": "8.3.4",
- "pointradius": 2,
- "points": false,
- "renderer": "flot",
- "seriesOverrides": [],
- "spaceLength": 10,
- "stack": false,
- "steppedLine": false,
+ "pluginVersion": "10.4.3",
"targets": [
{
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${DS_PROMETHEUS}"
+ },
"expr": " sum (\n rate(\n nginx_ingress_controller_request_duration_seconds_count{\n ingress =~ \"$ingress\",\n status =~\"[4-5].*\",\n }[5m]\n )\n ) by(method, host, path, status)\n",
"interval": "",
"intervalFactor": 1,
@@ -677,88 +782,96 @@
"refId": "A"
}
],
- "thresholds": [],
- "timeRegions": [],
"title": "Response Error Rate by Method and Path",
- "tooltip": {
- "shared": true,
- "sort": 2,
- "value_type": "individual"
- },
- "type": "graph",
- "xaxis": {
- "mode": "time",
- "show": true,
- "values": []
- },
- "yaxes": [
- {
- "format": "reqps",
- "logBase": 1,
- "show": true
- },
- {
- "format": "short",
- "logBase": 1,
- "show": true
- }
- ],
- "yaxis": {
- "align": false
- }
+ "type": "timeseries"
},
{
- "aliasColors": {},
- "bars": false,
- "dashLength": 10,
- "dashes": false,
"datasource": {
+ "type": "prometheus",
"uid": "${DS_PROMETHEUS}"
},
"fieldConfig": {
"defaults": {
- "links": []
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [],
+ "mappings": [],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "decbytes"
},
"overrides": []
},
- "fill": 1,
- "fillGradient": 0,
"gridPos": {
"h": 8,
"w": 12,
"x": 12,
"y": 24
},
- "hiddenSeries": false,
"id": 99,
- "legend": {
- "alignAsTable": true,
- "avg": false,
- "current": false,
- "max": false,
- "min": false,
- "rightSide": true,
- "show": true,
- "total": false,
- "values": false
- },
- "lines": true,
- "linewidth": 1,
- "nullPointMode": "null",
"options": {
- "alertThreshold": true
+ "legend": {
+ "calcs": [],
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
},
- "percentage": false,
- "pluginVersion": "8.3.4",
- "pointradius": 2,
- "points": false,
- "renderer": "flot",
- "seriesOverrides": [],
- "spaceLength": 10,
- "stack": false,
- "steppedLine": false,
+ "pluginVersion": "10.4.3",
"targets": [
{
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${DS_PROMETHEUS}"
+ },
"expr": "sum (\n rate (\n nginx_ingress_controller_response_size_sum {\n ingress =~ \"$ingress\",\n }[5m]\n )\n) by (method, host, path) / sum (\n rate(\n nginx_ingress_controller_response_size_count {\n ingress =~ \"$ingress\",\n }[5m]\n )\n) by (method, host, path)\n",
"hide": false,
"instant": false,
@@ -768,92 +881,105 @@
"refId": "D"
},
{
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${DS_PROMETHEUS}"
+ },
"expr": " sum (rate(nginx_ingress_controller_response_size_bucket{\n ingress =~ \"$ingress\",\n }[5m])) by (le)\n",
"hide": true,
"legendFormat": "{{le}}",
"refId": "A"
}
],
- "thresholds": [],
- "timeRegions": [],
"title": "Average Response Size by Method and Path",
- "tooltip": {
- "shared": true,
- "sort": 2,
- "value_type": "individual"
- },
- "type": "graph",
- "xaxis": {
- "mode": "time",
- "show": true,
- "values": []
- },
- "yaxes": [
- {
- "format": "decbytes",
- "logBase": 1,
- "show": true
- },
- {
- "format": "short",
- "logBase": 1,
- "show": true
- }
- ],
- "yaxis": {
- "align": false
- }
+ "type": "timeseries"
},
{
- "aliasColors": {},
- "bars": false,
- "dashLength": 10,
- "dashes": false,
"datasource": {
+ "type": "prometheus",
"uid": "${DS_PROMETHEUS}"
},
"fieldConfig": {
"defaults": {
- "links": []
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [],
+ "mappings": [],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "s"
},
"overrides": []
},
- "fill": 1,
- "fillGradient": 0,
"gridPos": {
"h": 8,
"w": 12,
"x": 0,
"y": 32
},
- "hiddenSeries": false,
"id": 96,
- "legend": {
- "avg": false,
- "current": false,
- "max": false,
- "min": false,
- "show": true,
- "total": false,
- "values": false
- },
- "lines": true,
- "linewidth": 1,
- "nullPointMode": "null",
"options": {
- "alertThreshold": true
+ "legend": {
+ "calcs": [],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
},
- "percentage": false,
- "pluginVersion": "8.3.4",
- "pointradius": 2,
- "points": false,
- "renderer": "flot",
- "seriesOverrides": [],
- "spaceLength": 10,
- "stack": false,
- "steppedLine": false,
+ "pluginVersion": "10.4.3",
"targets": [
{
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${DS_PROMETHEUS}"
+ },
"expr": "sum (\n rate(\n nginx_ingress_controller_ingress_upstream_latency_seconds_sum {\n ingress =~ \"$ingress\",\n }[5m]\n)) / sum (\n rate(\n nginx_ingress_controller_ingress_upstream_latency_seconds_count {\n ingress =~ \"$ingress\",\n }[5m]\n )\n)\n",
"hide": false,
"instant": false,
@@ -863,40 +989,12 @@
"refId": "B"
}
],
- "thresholds": [],
- "timeRegions": [],
"title": "Upstream Service Latency",
- "tooltip": {
- "shared": true,
- "sort": 2,
- "value_type": "individual"
- },
- "type": "graph",
- "xaxis": {
- "mode": "time",
- "show": true,
- "values": []
- },
- "yaxes": [
- {
- "format": "s",
- "logBase": 1,
- "show": true
- },
- {
- "format": "short",
- "logBase": 1,
- "show": true
- }
- ],
- "yaxis": {
- "align": false
- }
+ "type": "timeseries"
}
],
"refresh": "30s",
- "schemaVersion": 34,
- "style": "dark",
+ "schemaVersion": 39,
"tags": [
"nginx"
],
@@ -906,7 +1004,7 @@
"current": {
"selected": false,
"text": "Prometheus",
- "value": "Prometheus"
+ "value": "${DS_PROMETHEUS}"
},
"hide": 0,
"includeAll": false,
@@ -924,6 +1022,7 @@
"allValue": ".*",
"current": {},
"datasource": {
+ "type": "prometheus",
"uid": "${DS_PROMETHEUS}"
},
"definition": "label_values(nginx_ingress_controller_requests, ingress) ",
From c1d699afa4416a82cb6259a6b74ac205b3188bac Mon Sep 17 00:00:00 2001
From: k8s-infra-cherrypick-robot
<90416843+k8s-infra-cherrypick-robot@users.noreply.github.com>
Date: Mon, 3 Jun 2024 06:32:50 -0700
Subject: [PATCH 086/265] Bump google.golang.org/grpc from 1.63.2 to 1.64.0
(#11423)
Bumps [google.golang.org/grpc](https://github.com/grpc/grpc-go) from 1.63.2 to 1.64.0.
- [Release notes](https://github.com/grpc/grpc-go/releases)
- [Commits](https://github.com/grpc/grpc-go/compare/v1.63.2...v1.64.0)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
---
go.mod | 2 +-
go.sum | 4 ++--
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/go.mod b/go.mod
index 31cefca80..1e1635b1a 100644
--- a/go.mod
+++ b/go.mod
@@ -29,7 +29,7 @@ require (
github.com/zakjan/cert-chain-resolver v0.0.0-20221221105603-fcedb00c5b30
golang.org/x/crypto v0.23.0
golang.org/x/exp v0.0.0-20240416160154-fe59bbe5cc7f
- google.golang.org/grpc v1.63.2
+ google.golang.org/grpc v1.64.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
diff --git a/go.sum b/go.sum
index a2a5e4ac5..4268ac723 100644
--- a/go.sum
+++ b/go.sum
@@ -1844,8 +1844,8 @@ google.golang.org/grpc v1.52.0/go.mod h1:pu6fVzoFb+NBYNAvQL08ic+lvB2IojljRYuun5v
google.golang.org/grpc v1.53.0/go.mod h1:OnIrk0ipVdj4N5d9IUoFUx72/VlD7+jUsHwZgwSMQpw=
google.golang.org/grpc v1.54.0/go.mod h1:PUSEXI6iWghWaB6lXM4knEgpJNu2qUcKfDtNci3EC2g=
google.golang.org/grpc v1.55.0/go.mod h1:iYEXKGkEBhg1PjZQvoYEVPTDkHo1/bjTnfwTeGONTY8=
-google.golang.org/grpc v1.63.2 h1:MUeiw1B2maTVZthpU5xvASfTh3LDbxHd6IJ6QQVU+xM=
-google.golang.org/grpc v1.63.2/go.mod h1:WAX/8DgncnokcFUldAxq7GeB5DXHDbMF+lLvDomNkRA=
+google.golang.org/grpc v1.64.0 h1:KH3VH9y/MgNQg1dE7b3XfVK0GsPSIzJwdF617gUSbvY=
+google.golang.org/grpc v1.64.0/go.mod h1:oxjF8E3FBnjp+/gVFYdWacaLDx9na1aqy9oovLpxQYg=
google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.1.0/go.mod h1:6Kw0yEErY5E/yWrBtf03jp27GLLJujG4z/JK95pnjjw=
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=
From 54e18fb2a1302a4549be1475c809a3bd14d65d7b Mon Sep 17 00:00:00 2001
From: k8s-infra-cherrypick-robot
<90416843+k8s-infra-cherrypick-robot@users.noreply.github.com>
Date: Mon, 3 Jun 2024 06:38:19 -0700
Subject: [PATCH 087/265] Bump the all group with 2 updates (#11421)
Bumps the all group with 2 updates: [docker/login-action](https://github.com/docker/login-action) and [github/codeql-action](https://github.com/github/codeql-action).
Updates `docker/login-action` from 3.1.0 to 3.2.0
- [Release notes](https://github.com/docker/login-action/releases)
- [Commits](https://github.com/docker/login-action/compare/e92390c5fb421da1463c202d546fed0ec5c39f20...0d4c9c5ea7693da7b068278f7b52bda2a190a446)
Updates `github/codeql-action` from 3.25.6 to 3.25.7
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/github/codeql-action/compare/9fdb3e49720b44c48891d036bb502feb25684276...f079b8493333aace61c81488f8bd40919487bd9f)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
---
.github/workflows/images.yaml | 2 +-
.github/workflows/scorecards.yml | 2 +-
.github/workflows/vulnerability-scans.yaml | 2 +-
.github/workflows/zz-tmpl-images.yaml | 2 +-
4 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/.github/workflows/images.yaml b/.github/workflows/images.yaml
index 18c09a570..cd63a376e 100644
--- a/.github/workflows/images.yaml
+++ b/.github/workflows/images.yaml
@@ -205,7 +205,7 @@ jobs:
version: latest
platforms: ${{ env.PLATFORMS }}
- name: Login to GitHub Container Registry
- uses: docker/login-action@e92390c5fb421da1463c202d546fed0ec5c39f20 # v3.1.0
+ uses: docker/login-action@0d4c9c5ea7693da7b068278f7b52bda2a190a446 # v3.2.0
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
diff --git a/.github/workflows/scorecards.yml b/.github/workflows/scorecards.yml
index 75e12a95b..0cec67927 100644
--- a/.github/workflows/scorecards.yml
+++ b/.github/workflows/scorecards.yml
@@ -59,6 +59,6 @@ jobs:
# Upload the results to GitHub's code scanning dashboard.
- name: "Upload to code-scanning"
- uses: github/codeql-action/upload-sarif@9fdb3e49720b44c48891d036bb502feb25684276 # v3.25.6
+ uses: github/codeql-action/upload-sarif@f079b8493333aace61c81488f8bd40919487bd9f # v3.25.7
with:
sarif_file: results.sarif
diff --git a/.github/workflows/vulnerability-scans.yaml b/.github/workflows/vulnerability-scans.yaml
index c6f51a372..314f39ac8 100644
--- a/.github/workflows/vulnerability-scans.yaml
+++ b/.github/workflows/vulnerability-scans.yaml
@@ -75,7 +75,7 @@ jobs:
# This step checks out a copy of your repository.
- name: Upload SARIF file
- uses: github/codeql-action/upload-sarif@9fdb3e49720b44c48891d036bb502feb25684276 # v3.25.6
+ uses: github/codeql-action/upload-sarif@f079b8493333aace61c81488f8bd40919487bd9f # v3.25.7
with:
token: ${{ github.token }}
# Path to SARIF file relative to the root of the repository
diff --git a/.github/workflows/zz-tmpl-images.yaml b/.github/workflows/zz-tmpl-images.yaml
index 7d7f7a284..17425a468 100644
--- a/.github/workflows/zz-tmpl-images.yaml
+++ b/.github/workflows/zz-tmpl-images.yaml
@@ -70,7 +70,7 @@ jobs:
uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v4.1.6
- name: Login to GitHub Container Registry
- uses: docker/login-action@e92390c5fb421da1463c202d546fed0ec5c39f20 # v3.1.0
+ uses: docker/login-action@0d4c9c5ea7693da7b068278f7b52bda2a190a446 # v3.2.0
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
From 9f4d0104dd192fb7106ac15441ff72d2115917f9 Mon Sep 17 00:00:00 2001
From: k8s-infra-cherrypick-robot
<90416843+k8s-infra-cherrypick-robot@users.noreply.github.com>
Date: Mon, 3 Jun 2024 06:40:52 -0700
Subject: [PATCH 088/265] Bump github.com/onsi/ginkgo/v2 from 2.17.2 to 2.19.0
(#11422)
Bumps [github.com/onsi/ginkgo/v2](https://github.com/onsi/ginkgo) from 2.17.2 to 2.19.0.
- [Release notes](https://github.com/onsi/ginkgo/releases)
- [Changelog](https://github.com/onsi/ginkgo/blob/master/CHANGELOG.md)
- [Commits](https://github.com/onsi/ginkgo/compare/v2.17.2...v2.19.0)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
---
go.mod | 6 +++---
go.sum | 12 ++++++------
2 files changed, 9 insertions(+), 9 deletions(-)
diff --git a/go.mod b/go.mod
index 1e1635b1a..8b00c1a42 100644
--- a/go.mod
+++ b/go.mod
@@ -16,7 +16,7 @@ require (
github.com/mitchellh/mapstructure v1.5.0
github.com/moul/pb v0.0.0-20220425114252-bca18df4138c
github.com/ncabatoff/process-exporter v0.7.11
- github.com/onsi/ginkgo/v2 v2.17.2
+ github.com/onsi/ginkgo/v2 v2.19.0
github.com/opencontainers/runc v1.1.12
github.com/pmezard/go-difflib v1.0.0
github.com/prometheus/client_golang v1.19.1
@@ -108,14 +108,14 @@ require (
go.starlark.net v0.0.0-20240123142251-f86470692795 // indirect
go.uber.org/zap v1.27.0 // indirect
golang.org/x/mod v0.17.0 // indirect
- golang.org/x/net v0.24.0 // indirect
+ golang.org/x/net v0.25.0 // indirect
golang.org/x/oauth2 v0.20.0 // indirect
golang.org/x/sync v0.7.0 // indirect
golang.org/x/sys v0.20.0 // indirect
golang.org/x/term v0.20.0 // indirect
golang.org/x/text v0.15.0 // indirect
golang.org/x/time v0.5.0 // indirect
- golang.org/x/tools v0.20.0 // indirect
+ golang.org/x/tools v0.21.0 // indirect
google.golang.org/genproto/googleapis/rpc v0.0.0-20240429193739-8cf5692501f6 // indirect
google.golang.org/protobuf v1.34.0 // indirect
gopkg.in/evanphx/json-patch.v5 v5.9.0 // indirect
diff --git a/go.sum b/go.sum
index 4268ac723..995e1248b 100644
--- a/go.sum
+++ b/go.sum
@@ -984,8 +984,8 @@ 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.17.2 h1:7eMhcy3GimbsA3hEnVKdw/PQM9XN9krpKVXsZdph0/g=
-github.com/onsi/ginkgo/v2 v2.17.2/go.mod h1:nP2DPOQoNsQmsVyv5rDA8JkXQoCs6goXIvr/PRJ1eCc=
+github.com/onsi/ginkgo/v2 v2.19.0 h1:9Cnnf7UHo57Hy3k6/m5k3dRfGTMXGvxhHFvkDTCTpvA=
+github.com/onsi/ginkgo/v2 v2.19.0/go.mod h1:rlwLi9PilAFJ8jCg9UE1QP6VBpd6/xj3SRC0d6TU0To=
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.33.1 h1:dsYjIxxSR755MDmKVsaFQTE22ChNBcuuTWgkUDSubOk=
@@ -1296,8 +1296,8 @@ golang.org/x/net v0.17.0/go.mod h1:NxSsAGuq816PNPmqtQdLE42eU2Fs7NoRIZrHJAlaCOE=
golang.org/x/net v0.20.0/go.mod h1:z8BVo6PvndSri0LbOE3hAn0apkU+1YvI6E70E9jsnvY=
golang.org/x/net v0.21.0/go.mod h1:bIjVDfnllIU7BJ2DNgfnXvpSvtn8VRwhlsaeUTyUS44=
golang.org/x/net v0.22.0/go.mod h1:JKghWKKOSdJwpW2GEx0Ja7fmaKnMsbu+MWVZTokSYmg=
-golang.org/x/net v0.24.0 h1:1PcaxkF854Fu3+lvBIx5SYn9wRlBzzcnHZSiaFFAb0w=
-golang.org/x/net v0.24.0/go.mod h1:2Q7sJY5mzlzWjKtYUEXSlBWCdyaioyXzRB2RtU8KVE8=
+golang.org/x/net v0.25.0 h1:d/OCCoBEUq33pjydKrGQhw7IlUPI2Oylr+8qLx49kac=
+golang.org/x/net v0.25.0/go.mod h1:JkAGAh7GEvH74S6FOH42FLoXpXbE/aqXSrIQjXgsiwM=
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=
@@ -1569,8 +1569,8 @@ golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc
golang.org/x/tools v0.3.0/go.mod h1:/rWhSS2+zyEVwoJf8YAX6L2f0ntZ7Kn/mGgAWcipA5k=
golang.org/x/tools v0.6.0/go.mod h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU=
golang.org/x/tools v0.7.0/go.mod h1:4pg6aUX35JBAogB10C9AtvVL+qowtN4pT3CGSQex14s=
-golang.org/x/tools v0.20.0 h1:hz/CVckiOxybQvFw6h7b/q80NTr9IUQb4s1IIzW7KNY=
-golang.org/x/tools v0.20.0/go.mod h1:WvitBU7JJf6A4jOdg4S1tviW9bhUxkgeCui/0JHctQg=
+golang.org/x/tools v0.21.0 h1:qc0xYgIbsSDt9EyWz05J5wfa7LOVW0YTLOXrqdLAWIw=
+golang.org/x/tools v0.21.0/go.mod h1:aiJjzUbINMkxbQROHiO6hDPo2LHcIPhhQsa9DLh0yGk=
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=
From 4d3a363caf3a1e0b68d156336ae0894c13a36acf Mon Sep 17 00:00:00 2001
From: k8s-infra-cherrypick-robot
<90416843+k8s-infra-cherrypick-robot@users.noreply.github.com>
Date: Mon, 10 Jun 2024 02:36:26 -0700
Subject: [PATCH 089/265] update golang to 1.22.4 (#11431)
Signed-off-by: James Strong
Co-authored-by: James Strong
---
GOLANG_VERSION | 2 +-
go.mod | 2 +-
go.work.sum | 4 +++-
3 files changed, 5 insertions(+), 3 deletions(-)
diff --git a/GOLANG_VERSION b/GOLANG_VERSION
index 8864ad297..be02b337a 100644
--- a/GOLANG_VERSION
+++ b/GOLANG_VERSION
@@ -1 +1 @@
-1.22.2
\ No newline at end of file
+1.22.4
\ No newline at end of file
diff --git a/go.mod b/go.mod
index 8b00c1a42..d46543159 100644
--- a/go.mod
+++ b/go.mod
@@ -2,7 +2,7 @@ module k8s.io/ingress-nginx
go 1.22.0
-toolchain go1.22.2
+toolchain go1.22.4
require (
dario.cat/mergo v1.0.0
diff --git a/go.work.sum b/go.work.sum
index 51c6a3e66..0fd4fc8e2 100644
--- a/go.work.sum
+++ b/go.work.sum
@@ -779,6 +779,7 @@ github.com/mxk/go-flowrate v0.0.0-20140419014527-cca7078d478f/go.mod h1:ZdcZmHo+
github.com/ncabatoff/fakescraper v0.0.0-20201102132415-4b37ba603d65 h1:Og+dVkxEQNvRGU2vUKeOwYT2UJ+pEaDMWB6tIQnIh6A=
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/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=
@@ -796,7 +797,6 @@ 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/exporter-toolkit v0.11.0 h1:yNTsuZ0aNCNFQ3aFTD2uhPOvr4iD7fdBvKPAEGkNf+g=
-github.com/prometheus/procfs v0.13.0 h1:GqzLlQyfsPbaEHaQkO7tbDlriv/4o5Hudv6OXHGKX7o=
github.com/remyoudompheng/bigfft v0.0.0-20200410134404-eec4a21b6bb0 h1:OdAsTTz6OkFY5QxjkYwrChwuRruF69c169dPK26NUlk=
github.com/rogpeppe/fastuuid v1.2.0 h1:Ppwyp6VYCF1nvBTXL3trRso7mXMlRrw9ooo375wvi2s=
github.com/russross/blackfriday/v2 v2.1.0 h1:JIOH55/0cWyOuilr9/qlrm0BSXldqnqwMsf35Ld67mk=
@@ -903,6 +903,7 @@ golang.org/x/mod v0.14.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c=
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.18.0/go.mod h1:/czyP5RqHAH4odGYxBJ1qz0+CE5WZ+2j1YgoEo8F2jQ=
+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.13.0/go.mod h1:/JMhi4ZRXAf4HG9LiNmxvk+45+96RUlVThiH8FzNBn0=
@@ -921,6 +922,7 @@ golang.org/x/tools v0.4.0/go.mod h1:UE5sM2OK9E/d67R0ANs2xJizIymRP5gJU295PvKXxjQ=
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.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-20231012003039-104605ab7028/go.mod h1:NDW/Ps6MPRej6fsCIbMTohpP40sJ/P/vI1MoTEGwX90=
gonum.org/v1/gonum v0.11.0 h1:f1IJhK4Km5tBJmaiJXtk/PkL4cdVX6J+tGiM187uT5E=
From 8f3968b3962e774a2b32e5ae1cd1c54910efd45f Mon Sep 17 00:00:00 2001
From: k8s-infra-cherrypick-robot
<90416843+k8s-infra-cherrypick-robot@users.noreply.github.com>
Date: Mon, 10 Jun 2024 02:39:04 -0700
Subject: [PATCH 090/265] upgrade to alpine 3.20 (#11438)
Signed-off-by: James Strong
Co-authored-by: James Strong
---
images/cfssl/rootfs/Dockerfile | 2 +-
images/nginx-1.25/rootfs/Dockerfile | 4 ++--
images/nginx/rootfs/Dockerfile | 4 ++--
images/opentelemetry/rootfs/Dockerfile | 2 +-
rootfs/Dockerfile-chroot | 2 +-
test/e2e-image/Dockerfile | 2 +-
6 files changed, 8 insertions(+), 8 deletions(-)
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/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/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/opentelemetry/rootfs/Dockerfile b/images/opentelemetry/rootfs/Dockerfile
index bb88ec760..eb951e5c4 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/
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/test/e2e-image/Dockerfile b/test/e2e-image/Dockerfile
index 6c1fbefc6..0130ca09b 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 \
From ed22643d86b209be744ba564fa99305f9ae25700 Mon Sep 17 00:00:00 2001
From: k8s-infra-cherrypick-robot
<90416843+k8s-infra-cherrypick-robot@users.noreply.github.com>
Date: Mon, 10 Jun 2024 06:45:40 -0700
Subject: [PATCH 091/265] Update index.md (#11445)
add section about how to setup the proxy protocol for scaleway
Co-authored-by: Vadim Bauer
---
docs/deploy/index.md | 2 ++
1 file changed, 2 insertions(+)
diff --git a/docs/deploy/index.md b/docs/deploy/index.md
index d8cc6f875..c70b932c9 100644
--- a/docs/deploy/index.md
+++ b/docs/deploy/index.md
@@ -364,6 +364,8 @@ kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/cont
```console
kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-v1.10.1/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
From 1651900d8a79e99eb1bf115367c18d5a0d4258e9 Mon Sep 17 00:00:00 2001
From: k8s-infra-cherrypick-robot
<90416843+k8s-infra-cherrypick-robot@users.noreply.github.com>
Date: Mon, 10 Jun 2024 06:48:17 -0700
Subject: [PATCH 092/265] fix for docs issue 11432 (#11446)
Co-authored-by: longwuyuan
---
docs/user-guide/nginx-configuration/annotations.md | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/docs/user-guide/nginx-configuration/annotations.md b/docs/user-guide/nginx-configuration/annotations.md
index 1951df6ee..180592574 100755
--- a/docs/user-guide/nginx-configuration/annotations.md
+++ b/docs/user-guide/nginx-configuration/annotations.md
@@ -935,7 +935,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:
@@ -947,7 +947,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"
```
From 7ed3aac270a75c89696bc9ac4940e16a4fe035ee Mon Sep 17 00:00:00 2001
From: k8s-infra-cherrypick-robot
<90416843+k8s-infra-cherrypick-robot@users.noreply.github.com>
Date: Mon, 10 Jun 2024 07:28:11 -0700
Subject: [PATCH 093/265] Bump goreleaser/goreleaser-action from 5.1.0 to 6.0.0
(#11448)
Bumps [goreleaser/goreleaser-action](https://github.com/goreleaser/goreleaser-action) from 5.1.0 to 6.0.0.
- [Release notes](https://github.com/goreleaser/goreleaser-action/releases)
- [Commits](https://github.com/goreleaser/goreleaser-action/compare/5742e2a039330cbb23ebf35f046f814d4c6ff811...286f3b13b1b49da4ac219696163fb8c1c93e1200)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
---
.github/workflows/plugin.yaml | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/.github/workflows/plugin.yaml b/.github/workflows/plugin.yaml
index 137e1dccc..8274a6a99 100644
--- a/.github/workflows/plugin.yaml
+++ b/.github/workflows/plugin.yaml
@@ -27,7 +27,7 @@ jobs:
- name: Run GoReleaser Snapshot
if: ${{ ! startsWith(github.ref, 'refs/tags/') }}
- uses: goreleaser/goreleaser-action@5742e2a039330cbb23ebf35f046f814d4c6ff811 # v5.1.0
+ uses: goreleaser/goreleaser-action@286f3b13b1b49da4ac219696163fb8c1c93e1200 # v6.0.0
with:
version: latest
args: release --snapshot --clean
@@ -36,7 +36,7 @@ jobs:
- name: Run GoReleaser
if: ${{ startsWith(github.ref, 'refs/tags/') }}
- uses: goreleaser/goreleaser-action@5742e2a039330cbb23ebf35f046f814d4c6ff811 # v5.1.0
+ uses: goreleaser/goreleaser-action@286f3b13b1b49da4ac219696163fb8c1c93e1200 # v6.0.0
with:
version: latest
args: release --clean
From a7b4a20a6578d078cbba6f30fd03a961f4a3a0ac Mon Sep 17 00:00:00 2001
From: k8s-infra-cherrypick-robot
<90416843+k8s-infra-cherrypick-robot@users.noreply.github.com>
Date: Mon, 10 Jun 2024 07:31:47 -0700
Subject: [PATCH 094/265] Bump the all group with 3 updates (#11450)
Bumps the all group with 3 updates: [actions/dependency-review-action](https://github.com/actions/dependency-review-action), [github/codeql-action](https://github.com/github/codeql-action) and [aquasecurity/trivy-action](https://github.com/aquasecurity/trivy-action).
Updates `actions/dependency-review-action` from 4.3.2 to 4.3.3
- [Release notes](https://github.com/actions/dependency-review-action/releases)
- [Commits](https://github.com/actions/dependency-review-action/compare/0c155c5e8556a497adf53f2c18edabf945ed8e70...72eb03d02c7872a771aacd928f3123ac62ad6d3a)
Updates `github/codeql-action` from 3.25.7 to 3.25.8
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/github/codeql-action/compare/f079b8493333aace61c81488f8bd40919487bd9f...2e230e8fe0ad3a14a340ad0815ddb96d599d2aff)
Updates `aquasecurity/trivy-action` from 0.21.0 to 0.22.0
- [Release notes](https://github.com/aquasecurity/trivy-action/releases)
- [Commits](https://github.com/aquasecurity/trivy-action/compare/fd25fed6972e341ff0007ddb61f77e88103953c2...595be6a0f6560a0a8fc419ddf630567fc623531d)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
---
.github/workflows/depreview.yaml | 2 +-
.github/workflows/scorecards.yml | 2 +-
.github/workflows/vulnerability-scans.yaml | 4 ++--
3 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/.github/workflows/depreview.yaml b/.github/workflows/depreview.yaml
index fea5a4e4e..2aacbd6cc 100644
--- a/.github/workflows/depreview.yaml
+++ b/.github/workflows/depreview.yaml
@@ -11,4 +11,4 @@ jobs:
- name: 'Checkout Repository'
uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v4.1.6
- name: 'Dependency Review'
- uses: actions/dependency-review-action@0c155c5e8556a497adf53f2c18edabf945ed8e70 # v4.3.2
+ uses: actions/dependency-review-action@72eb03d02c7872a771aacd928f3123ac62ad6d3a # v4.3.3
diff --git a/.github/workflows/scorecards.yml b/.github/workflows/scorecards.yml
index 0cec67927..89ee0b55b 100644
--- a/.github/workflows/scorecards.yml
+++ b/.github/workflows/scorecards.yml
@@ -59,6 +59,6 @@ jobs:
# Upload the results to GitHub's code scanning dashboard.
- name: "Upload to code-scanning"
- uses: github/codeql-action/upload-sarif@f079b8493333aace61c81488f8bd40919487bd9f # v3.25.7
+ uses: github/codeql-action/upload-sarif@2e230e8fe0ad3a14a340ad0815ddb96d599d2aff # v3.25.8
with:
sarif_file: results.sarif
diff --git a/.github/workflows/vulnerability-scans.yaml b/.github/workflows/vulnerability-scans.yaml
index 314f39ac8..19a66053f 100644
--- a/.github/workflows/vulnerability-scans.yaml
+++ b/.github/workflows/vulnerability-scans.yaml
@@ -60,7 +60,7 @@ jobs:
- name: Scan image with AquaSec/Trivy
id: scan
- uses: aquasecurity/trivy-action@fd25fed6972e341ff0007ddb61f77e88103953c2 # v0.21.0
+ uses: aquasecurity/trivy-action@595be6a0f6560a0a8fc419ddf630567fc623531d # v0.22.0
with:
image-ref: registry.k8s.io/ingress-nginx/controller:${{ matrix.versions }}
format: 'sarif'
@@ -75,7 +75,7 @@ jobs:
# This step checks out a copy of your repository.
- name: Upload SARIF file
- uses: github/codeql-action/upload-sarif@f079b8493333aace61c81488f8bd40919487bd9f # v3.25.7
+ uses: github/codeql-action/upload-sarif@2e230e8fe0ad3a14a340ad0815ddb96d599d2aff # v3.25.8
with:
token: ${{ github.token }}
# Path to SARIF file relative to the root of the repository
From ff4a9ff36c1a1493bd1dc47b5f496ed2c9f56a53 Mon Sep 17 00:00:00 2001
From: k8s-infra-cherrypick-robot
<90416843+k8s-infra-cherrypick-robot@users.noreply.github.com>
Date: Mon, 10 Jun 2024 07:41:55 -0700
Subject: [PATCH 095/265] Bump github.com/prometheus/common from 0.53.0 to
0.54.0 (#11447)
Bumps [github.com/prometheus/common](https://github.com/prometheus/common) from 0.53.0 to 0.54.0.
- [Release notes](https://github.com/prometheus/common/releases)
- [Changelog](https://github.com/prometheus/common/blob/main/RELEASE.md)
- [Commits](https://github.com/prometheus/common/compare/v0.53.0...v0.54.0)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
---
go.mod | 2 +-
go.sum | 4 ++--
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/go.mod b/go.mod
index d46543159..8c8383e5a 100644
--- a/go.mod
+++ b/go.mod
@@ -21,7 +21,7 @@ require (
github.com/pmezard/go-difflib v1.0.0
github.com/prometheus/client_golang v1.19.1
github.com/prometheus/client_model v0.6.1
- github.com/prometheus/common v0.53.0
+ github.com/prometheus/common v0.54.0
github.com/spf13/cobra v1.8.0
github.com/spf13/pflag v1.0.5
github.com/stretchr/testify v1.9.0
diff --git a/go.sum b/go.sum
index 995e1248b..e7b722667 100644
--- a/go.sum
+++ b/go.sum
@@ -1042,8 +1042,8 @@ github.com/prometheus/common v0.44.0/go.mod h1:ofAIvZbQ1e/nugmZGz4/qCb9Ap1VoSTIO
github.com/prometheus/common v0.45.0/go.mod h1:YJmSTw9BoKxJplESWWxlbyttQR4uaEcGyv9MZjVOJsY=
github.com/prometheus/common v0.48.0/go.mod h1:0/KsvlIEfPQCQ5I2iNSAWKPZziNCvRs5EC6ILDTlAPc=
github.com/prometheus/common v0.52.3/go.mod h1:BrxBKv3FWBIGXw89Mg1AeBq7FSyRzXWI3l3e7W3RN5U=
-github.com/prometheus/common v0.53.0 h1:U2pL9w9nmJwJDa4qqLQ3ZaePJ6ZTwt7cMD3AG3+aLCE=
-github.com/prometheus/common v0.53.0/go.mod h1:BrxBKv3FWBIGXw89Mg1AeBq7FSyRzXWI3l3e7W3RN5U=
+github.com/prometheus/common v0.54.0 h1:ZlZy0BgJhTwVZUn7dLOkwCZHUkrAqd3WYtcFCWnM1D8=
+github.com/prometheus/common v0.54.0/go.mod h1:/TQgMJP5CuVYveyT7n/0Ix8yLNNXy9yRSkhnLTHPDIQ=
github.com/prometheus/exporter-toolkit v0.11.0/go.mod h1:BVnENhnNecpwoTLiABx7mrPB/OLRIgN74qlQbV+FK1Q=
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=
From 304a7b4c643a17fbd1472b2206fd49e79487d6d5 Mon Sep 17 00:00:00 2001
From: k8s-infra-cherrypick-robot
<90416843+k8s-infra-cherrypick-robot@users.noreply.github.com>
Date: Mon, 10 Jun 2024 08:20:46 -0700
Subject: [PATCH 096/265] Bump sigs.k8s.io/controller-runtime in the all group
(#11449)
Bumps the all group with 1 update: [sigs.k8s.io/controller-runtime](https://github.com/kubernetes-sigs/controller-runtime).
Updates `sigs.k8s.io/controller-runtime` from 0.18.3 to 0.18.4
- [Release notes](https://github.com/kubernetes-sigs/controller-runtime/releases)
- [Changelog](https://github.com/kubernetes-sigs/controller-runtime/blob/main/RELEASE.md)
- [Commits](https://github.com/kubernetes-sigs/controller-runtime/compare/v0.18.3...v0.18.4)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
---
go.mod | 2 +-
go.sum | 4 ++--
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/go.mod b/go.mod
index 8c8383e5a..70777d6b3 100644
--- a/go.mod
+++ b/go.mod
@@ -43,7 +43,7 @@ require (
k8s.io/component-base v0.30.1
k8s.io/klog/v2 v2.120.1
pault.ag/go/sniff v0.0.0-20200207005214-cf7e4d167732
- sigs.k8s.io/controller-runtime v0.18.3
+ sigs.k8s.io/controller-runtime v0.18.4
sigs.k8s.io/mdtoc v1.1.0
)
diff --git a/go.sum b/go.sum
index e7b722667..dc2da1f55 100644
--- a/go.sum
+++ b/go.sum
@@ -1975,8 +1975,8 @@ rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8
rsc.io/pdf v0.1.1/go.mod h1:n8OzWcQ6Sp37PL01nO98y4iUCRdTGarVfzxY20ICaU4=
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.18.3 h1:B5Wmmo8WMWK7izei+2LlXLVDGzMwAHBNLX68lwtlSR4=
-sigs.k8s.io/controller-runtime v0.18.3/go.mod h1:TVoGrfdpbA9VRFaRnKgk9P5/atA0pMwq+f+msb9M8Sg=
+sigs.k8s.io/controller-runtime v0.18.4 h1:87+guW1zhvuPLh1PHybKdYFLU0YJp4FhJRmiHvm5BZw=
+sigs.k8s.io/controller-runtime v0.18.4/go.mod h1:TVoGrfdpbA9VRFaRnKgk9P5/atA0pMwq+f+msb9M8Sg=
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=
From dd86317f9dc059796b43e70b72985bd6f428be5f Mon Sep 17 00:00:00 2001
From: k8s-infra-cherrypick-robot
<90416843+k8s-infra-cherrypick-robot@users.noreply.github.com>
Date: Mon, 10 Jun 2024 08:29:50 -0700
Subject: [PATCH 097/265] Remove unnecessary space character (#11451)
Co-authored-by: Ali Afsharzadeh
---
rootfs/nginx-chroot-wrapper.sh | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
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 "$@"
From 5c6af27dc9624336ad4658db7cadbdfab7a735f4 Mon Sep 17 00:00:00 2001
From: k8s-infra-cherrypick-robot
<90416843+k8s-infra-cherrypick-robot@users.noreply.github.com>
Date: Wed, 12 Jun 2024 01:23:15 -0700
Subject: [PATCH 098/265] fixed fastcgi userguide (#11455)
Co-authored-by: longwuyuan
---
docs/user-guide/fcgi-services.md | 112 ++++++++++++++++++++++++++++---
1 file changed, 101 insertions(+), 11 deletions(-)
diff --git a/docs/user-guide/fcgi-services.md b/docs/user-guide/fcgi-services.md
index db4d9428b..836e9fbaa 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,10 +6,15 @@
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
@@ -23,12 +26,40 @@ labels:
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"`
From d6dad98091ab9c1be5759d439459193c4c14a484 Mon Sep 17 00:00:00 2001
From: k8s-infra-cherrypick-robot
<90416843+k8s-infra-cherrypick-robot@users.noreply.github.com>
Date: Fri, 14 Jun 2024 10:48:22 -0700
Subject: [PATCH 099/265] Owners: Promote Gacko to admin. (#11464)
Co-authored-by: Marco Ebert
---
OWNERS_ALIASES | 1 +
1 file changed, 1 insertion(+)
diff --git a/OWNERS_ALIASES b/OWNERS_ALIASES
index fa10804ce..1b5bb134b 100644
--- a/OWNERS_ALIASES
+++ b/OWNERS_ALIASES
@@ -7,6 +7,7 @@ aliases:
- thockin
ingress-nginx-admins:
+ - Gacko
- rikatz
- strongjz
From c36c8dee263d7520e361bce6d93e5e0ab53319f4 Mon Sep 17 00:00:00 2001
From: Marco Ebert
Date: Sat, 15 Jun 2024 12:07:27 +0200
Subject: [PATCH 100/265] Tests: Replace deprecated `grpc.Dial` by
`grpc.NewClient`. (#11468)
---
test/e2e/annotations/grpc.go | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/test/e2e/annotations/grpc.go b/test/e2e/annotations/grpc.go
index b3be82c2a..c7228cd0e 100644
--- a/test/e2e/annotations/grpc.go
+++ b/test/e2e/annotations/grpc.go
@@ -104,7 +104,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 +165,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 +239,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,
From 6f87f257e522d74b2841e0381418ed36629e96e0 Mon Sep 17 00:00:00 2001
From: k8s-infra-cherrypick-robot
<90416843+k8s-infra-cherrypick-robot@users.noreply.github.com>
Date: Sat, 15 Jun 2024 08:39:29 -0700
Subject: [PATCH 101/265] CI: Bump forgotten Ginkgo versions. (#11469)
Co-authored-by: Marco Ebert
---
build/run-in-docker.sh | 2 +-
go.work.sum | 4 +++
images/kube-webhook-certgen/rootfs/go.mod | 14 ++++-----
images/kube-webhook-certgen/rootfs/go.sum | 35 ++++++++++++-----------
images/test-runner/Makefile | 4 +--
magefiles/go.sum | 7 +++++
test/e2e/run-chart-test.sh | 2 +-
test/e2e/run-kind-e2e.sh | 2 +-
8 files changed, 40 insertions(+), 30 deletions(-)
diff --git a/build/run-in-docker.sh b/build/run-in-docker.sh
index 5d4e82a09..8af3c81b6 100755
--- a/build/run-in-docker.sh
+++ b/build/run-in-docker.sh
@@ -82,7 +82,7 @@ if [[ "$DOCKER_IN_DOCKER_ENABLED" == "true" ]]; then
echo "..reached DIND check TRUE block, inside run-in-docker.sh"
echo "FLAGS=$FLAGS"
#go env
- go install -mod=mod github.com/onsi/ginkgo/v2/ginkgo@v2.17.1
+ go install -mod=mod github.com/onsi/ginkgo/v2/ginkgo@v2.19.0
find / -type f -name ginkgo 2>/dev/null
which ginkgo
/bin/bash -c "${FLAGS}"
diff --git a/go.work.sum b/go.work.sum
index 0fd4fc8e2..e047983dd 100644
--- a/go.work.sum
+++ b/go.work.sum
@@ -125,6 +125,7 @@ cloud.google.com/go/compute v1.23.1/go.mod h1:CqB3xpmPKKt3OJpW2ndFIXnA9A4xAy/F3X
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 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=
@@ -605,6 +606,7 @@ github.com/cncf/xds/go v0.0.0-20230607035331-e9ce68804cb4/go.mod h1:eXthEFrGJvWH
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/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=
@@ -965,6 +967,7 @@ google.golang.org/genproto/googleapis/api v0.0.0-20240205150955-31a09d347014/go.
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/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=
@@ -1005,6 +1008,7 @@ 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=
diff --git a/images/kube-webhook-certgen/rootfs/go.mod b/images/kube-webhook-certgen/rootfs/go.mod
index 94da139a2..9c7f96e1b 100644
--- a/images/kube-webhook-certgen/rootfs/go.mod
+++ b/images/kube-webhook-certgen/rootfs/go.mod
@@ -24,7 +24,6 @@ require (
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,18 +33,17 @@ 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.17.1 // indirect
- github.com/onsi/gomega v1.30.0 // indirect
+ github.com/onsi/ginkgo/v2 v2.19.0 // indirect
+ github.com/onsi/gomega v1.33.1 // indirect
github.com/pkg/errors v0.9.1 // indirect
github.com/spf13/pflag v1.0.5 // indirect
github.com/stretchr/testify v1.9.0 // indirect
- golang.org/x/net v0.23.0 // indirect
+ golang.org/x/net v0.25.0 // indirect
golang.org/x/oauth2 v0.18.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
+ golang.org/x/sys v0.20.0 // indirect
+ golang.org/x/term v0.20.0 // indirect
+ golang.org/x/text v0.15.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
gopkg.in/inf.v0 v0.9.1 // indirect
diff --git a/images/kube-webhook-certgen/rootfs/go.sum b/images/kube-webhook-certgen/rootfs/go.sum
index 613ff3e2e..57b4a450b 100644
--- a/images/kube-webhook-certgen/rootfs/go.sum
+++ b/images/kube-webhook-certgen/rootfs/go.sum
@@ -15,7 +15,8 @@ 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=
@@ -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-20240424215950-a892ee059fd6 h1:k7nVchz72niMH6YLQNvHSdIE7iqsQxK1P41mySCvssg=
+github.com/google/pprof v0.0.0-20240424215950-a892ee059fd6/go.mod h1:kf6iHlnVGwgKolg33glAes7Yg/8iWP8ukqeldJSO7jw=
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.17.1 h1:V++EzdbhI4ZV4ev0UTIj0PzhzOcReJFyJaLjtSF55M8=
-github.com/onsi/ginkgo/v2 v2.17.1/go.mod h1:llBI3WDLL9Z6taip6f33H76YcWtJv+7R3HigUjbIBOs=
-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.19.0 h1:9Cnnf7UHo57Hy3k6/m5k3dRfGTMXGvxhHFvkDTCTpvA=
+github.com/onsi/ginkgo/v2 v2.19.0/go.mod h1:rlwLi9PilAFJ8jCg9UE1QP6VBpd6/xj3SRC0d6TU0To=
+github.com/onsi/gomega v1.33.1 h1:dsYjIxxSR755MDmKVsaFQTE22ChNBcuuTWgkUDSubOk=
+github.com/onsi/gomega v1.33.1/go.mod h1:U4R44UsT+9eLIaYRB2a5qajjtQYn0hauxvRm16AVYg0=
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=
@@ -104,8 +105,8 @@ 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.23.0 h1:7EYJ93RZ9vYSZAIb2x3lnuvqO5zneoD6IvWjuhfxjTs=
-golang.org/x/net v0.23.0/go.mod h1:JKghWKKOSdJwpW2GEx0Ja7fmaKnMsbu+MWVZTokSYmg=
+golang.org/x/net v0.25.0 h1:d/OCCoBEUq33pjydKrGQhw7IlUPI2Oylr+8qLx49kac=
+golang.org/x/net v0.25.0/go.mod h1:JkAGAh7GEvH74S6FOH42FLoXpXbE/aqXSrIQjXgsiwM=
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=
@@ -120,18 +121,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.18.0 h1:DBdB3niSjOA/O0blCZBqDefyWNYveAYMNF1Wum0DYQ4=
-golang.org/x/sys v0.18.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
+golang.org/x/sys v0.20.0 h1:Od9JTbYCk261bKm4M/mw7AklTlFYIa0bIp9BgSm1S8Y=
+golang.org/x/sys v0.20.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/term v0.20.0 h1:VnkxpohqXaOBYJtBmEppKUG6mXpi+4O6purfc2+sMhw=
+golang.org/x/term v0.20.0/go.mod h1:8UkIAJTvZgivsXaD6/pH6U9ecQzZ45awqEOzuCvwpFY=
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.15.0 h1:h1V/4gjBv8v9cjcR6+AR5+/cIYK5N/WAgiv4xlsEtAk=
+golang.org/x/text v0.15.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU=
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 +140,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.21.0 h1:qc0xYgIbsSDt9EyWz05J5wfa7LOVW0YTLOXrqdLAWIw=
+golang.org/x/tools v0.21.0/go.mod h1:aiJjzUbINMkxbQROHiO6hDPo2LHcIPhhQsa9DLh0yGk=
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=
diff --git a/images/test-runner/Makefile b/images/test-runner/Makefile
index d82427140..7e30d432f 100644
--- a/images/test-runner/Makefile
+++ b/images/test-runner/Makefile
@@ -59,7 +59,7 @@ image:
--build-arg YAML_LINT_VERSION=1.33.0 \
--build-arg YAMALE_VERSION=4.0.4 \
--build-arg HELM_VERSION=3.14.4 \
- --build-arg GINKGO_VERSION=2.17.2 \
+ --build-arg GINKGO_VERSION=2.19.0 \
--build-arg GOLINT_VERSION=latest \
-t ${IMAGE}:${TAG} rootfs
@@ -80,7 +80,7 @@ build: ensure-buildx
--build-arg YAML_LINT_VERSION=1.33.0 \
--build-arg YAMALE_VERSION=4.0.4 \
--build-arg HELM_VERSION=3.14.4 \
- --build-arg GINKGO_VERSION=2.17.2 \
+ --build-arg GINKGO_VERSION=2.19.0 \
--build-arg GOLINT_VERSION=latest \
-t ${IMAGE}:${TAG} rootfs
diff --git a/magefiles/go.sum b/magefiles/go.sum
index 5f402c490..16bc8460f 100644
--- a/magefiles/go.sum
+++ b/magefiles/go.sum
@@ -31,6 +31,7 @@ github.com/golang/protobuf v1.4.2/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw
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/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,6 +80,7 @@ github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+
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.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=
@@ -88,6 +90,7 @@ golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8U
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.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=
@@ -98,7 +101,9 @@ golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwY
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.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=
@@ -117,6 +122,7 @@ 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-20220722155257-8c9f86f7a55f/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/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
@@ -163,5 +169,6 @@ gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C
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.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/test/e2e/run-chart-test.sh b/test/e2e/run-chart-test.sh
index dadb5195d..4b5c6eae0 100755
--- a/test/e2e/run-chart-test.sh
+++ b/test/e2e/run-chart-test.sh
@@ -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.17.1
+ go install github.com/onsi/ginkgo/v2/ginkgo@v2.19.0
fi
echo "[dev-env] building image"
make -C ${DIR}/../../ clean-image build image
diff --git a/test/e2e/run-kind-e2e.sh b/test/e2e/run-kind-e2e.sh
index 128964393..640632a1b 100755
--- a/test/e2e/run-kind-e2e.sh
+++ b/test/e2e/run-kind-e2e.sh
@@ -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.17.1
+ go install github.com/onsi/ginkgo/v2/ginkgo@v2.19.0
fi
echo "[dev-env] .. done building controller images"
From df81496a80ba278e3124a01fa0ec6dd329986c09 Mon Sep 17 00:00:00 2001
From: k8s-infra-cherrypick-robot
<90416843+k8s-infra-cherrypick-robot@users.noreply.github.com>
Date: Sat, 15 Jun 2024 10:43:28 -0700
Subject: [PATCH 102/265] Bump golang.org/x/crypto from 0.23.0 to 0.24.0
(#11471)
Bumps [golang.org/x/crypto](https://github.com/golang/crypto) from 0.23.0 to 0.24.0.
- [Commits](https://github.com/golang/crypto/compare/v0.23.0...v0.24.0)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
---
go.mod | 10 +++++-----
go.sum | 20 ++++++++++----------
2 files changed, 15 insertions(+), 15 deletions(-)
diff --git a/go.mod b/go.mod
index 70777d6b3..fd6fa5f22 100644
--- a/go.mod
+++ b/go.mod
@@ -27,7 +27,7 @@ require (
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.23.0
+ golang.org/x/crypto v0.24.0
golang.org/x/exp v0.0.0-20240416160154-fe59bbe5cc7f
google.golang.org/grpc v1.64.0
google.golang.org/grpc/examples v0.0.0-20240223204917-5ccf176a08ab
@@ -111,11 +111,11 @@ require (
golang.org/x/net v0.25.0 // indirect
golang.org/x/oauth2 v0.20.0 // indirect
golang.org/x/sync v0.7.0 // indirect
- golang.org/x/sys v0.20.0 // indirect
- golang.org/x/term v0.20.0 // indirect
- golang.org/x/text v0.15.0 // indirect
+ golang.org/x/sys v0.21.0 // indirect
+ golang.org/x/term v0.21.0 // indirect
+ golang.org/x/text v0.16.0 // indirect
golang.org/x/time v0.5.0 // indirect
- golang.org/x/tools v0.21.0 // indirect
+ golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d // indirect
google.golang.org/genproto/googleapis/rpc v0.0.0-20240429193739-8cf5692501f6 // indirect
google.golang.org/protobuf v1.34.0 // indirect
gopkg.in/evanphx/json-patch.v5 v5.9.0 // indirect
diff --git a/go.sum b/go.sum
index dc2da1f55..a3c4992bd 100644
--- a/go.sum
+++ b/go.sum
@@ -1163,8 +1163,8 @@ golang.org/x/crypto v0.16.0/go.mod h1:gCAAfMLgwOJRpTjQ2zCCt2OcSfYMTeZVSRtQlPC7Nq
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/crypto v0.21.0/go.mod h1:0BP7YvVV9gBbVKyeTG0Gyn+gZm94bibOW5BjDEYAOMs=
-golang.org/x/crypto v0.23.0 h1:dIJU/v2J8Mdglj/8rJ6UUOM3Zc9zLZxVZwwxMooUSAI=
-golang.org/x/crypto v0.23.0/go.mod h1:CKFgDieR+mRhux2Lsu27y0fO304Db0wZe70UKqHu0v8=
+golang.org/x/crypto v0.24.0 h1:mnl8DM0o513X8fdIkmyFE/5hTYxbwYOjDS/+rK6qpRI=
+golang.org/x/crypto v0.24.0/go.mod h1:Z1PMYSOR5nyMcyAVAIQSKCDwalqy85Aqn1x3Ws4L5DM=
golang.org/x/exp v0.0.0-20180321215751-8460e604b9de/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
golang.org/x/exp v0.0.0-20180807140117-3d87b88a115f/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
@@ -1457,8 +1457,8 @@ golang.org/x/sys v0.15.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.17.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
golang.org/x/sys v0.18.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
-golang.org/x/sys v0.20.0 h1:Od9JTbYCk261bKm4M/mw7AklTlFYIa0bIp9BgSm1S8Y=
-golang.org/x/sys v0.20.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
+golang.org/x/sys v0.21.0 h1:rF+pYz3DAGSQAxAu1CbC7catZg4ebC4UIeIhKxBZvws=
+golang.org/x/sys v0.21.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.1.0/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
@@ -1475,8 +1475,8 @@ golang.org/x/term v0.15.0/go.mod h1:BDl952bC7+uMoWR75FIrCDx79TPU9oHkTZ9yRbYOrX0=
golang.org/x/term v0.16.0/go.mod h1:yn7UURbUtPyrVJPGPq404EukNFxcm/foM+bV/bfcDsY=
golang.org/x/term v0.17.0/go.mod h1:lLRBjIVuehSbZlaOtGMbcMncT+aqLLLmKrsjNrUguwk=
golang.org/x/term v0.18.0/go.mod h1:ILwASektA3OnRv7amZ1xhE/KTR+u50pbXfZ03+6Nx58=
-golang.org/x/term v0.20.0 h1:VnkxpohqXaOBYJtBmEppKUG6mXpi+4O6purfc2+sMhw=
-golang.org/x/term v0.20.0/go.mod h1:8UkIAJTvZgivsXaD6/pH6U9ecQzZ45awqEOzuCvwpFY=
+golang.org/x/term v0.21.0 h1:WVXCp+/EBEHOj53Rvu+7KiT/iElMrO8ACK16SMZ3jaA=
+golang.org/x/term v0.21.0/go.mod h1:ooXLefLobQVslOqselCNF4SxFAaoS6KujMbsGzSDmX0=
golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
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=
@@ -1495,8 +1495,8 @@ golang.org/x/text v0.8.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8=
golang.org/x/text v0.9.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8=
golang.org/x/text v0.13.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE=
golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU=
-golang.org/x/text v0.15.0 h1:h1V/4gjBv8v9cjcR6+AR5+/cIYK5N/WAgiv4xlsEtAk=
-golang.org/x/text v0.15.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU=
+golang.org/x/text v0.16.0 h1:a94ExnEXNtEwYLGJSIUxnWoxoRz/ZcCsV63ROupILh4=
+golang.org/x/text v0.16.0/go.mod h1:GhwF1Be+LQoKShO3cGOHzqOgRrGaYc9AvblQOmPVHnI=
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=
@@ -1569,8 +1569,8 @@ golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc
golang.org/x/tools v0.3.0/go.mod h1:/rWhSS2+zyEVwoJf8YAX6L2f0ntZ7Kn/mGgAWcipA5k=
golang.org/x/tools v0.6.0/go.mod h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU=
golang.org/x/tools v0.7.0/go.mod h1:4pg6aUX35JBAogB10C9AtvVL+qowtN4pT3CGSQex14s=
-golang.org/x/tools v0.21.0 h1:qc0xYgIbsSDt9EyWz05J5wfa7LOVW0YTLOXrqdLAWIw=
-golang.org/x/tools v0.21.0/go.mod h1:aiJjzUbINMkxbQROHiO6hDPo2LHcIPhhQsa9DLh0yGk=
+golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d h1:vU5i/LfpvrRCpgM/VPfJLg5KjxD3E+hfT1SH+d9zLwg=
+golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d/go.mod h1:aiJjzUbINMkxbQROHiO6hDPo2LHcIPhhQsa9DLh0yGk=
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=
From 75900979dd4c0fa69bb5aaa4c2b0752926b7865c Mon Sep 17 00:00:00 2001
From: k8s-infra-cherrypick-robot
<90416843+k8s-infra-cherrypick-robot@users.noreply.github.com>
Date: Mon, 17 Jun 2024 04:13:26 -0700
Subject: [PATCH 103/265] Bump the all group with 2 updates (#11477)
Bumps the all group with 2 updates: [actions/checkout](https://github.com/actions/checkout) and [github/codeql-action](https://github.com/github/codeql-action).
Updates `actions/checkout` from 4.1.6 to 4.1.7
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/a5ac7e51b41094c92402da3b24376905380afc29...692973e3d937129bcbf40652eb9f2f61becf3332)
Updates `github/codeql-action` from 3.25.8 to 3.25.10
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/github/codeql-action/compare/2e230e8fe0ad3a14a340ad0815ddb96d599d2aff...23acc5c183826b7a8a97bce3cecc52db901f8251)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
---
.github/workflows/ci.yaml | 10 +++++-----
.github/workflows/depreview.yaml | 2 +-
.github/workflows/docs.yaml | 4 ++--
.github/workflows/golangci-lint.yml | 2 +-
.github/workflows/helm.yaml | 4 ++--
.github/workflows/images.yaml | 8 ++++----
.github/workflows/perftest.yaml | 2 +-
.github/workflows/plugin.yaml | 2 +-
.github/workflows/scorecards.yml | 4 ++--
.github/workflows/vulnerability-scans.yaml | 6 +++---
.github/workflows/zz-tmpl-images.yaml | 6 +++---
.github/workflows/zz-tmpl-k8s-e2e.yaml | 2 +-
12 files changed, 26 insertions(+), 26 deletions(-)
diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml
index 70369418f..a2e036f72 100644
--- a/.github/workflows/ci.yaml
+++ b/.github/workflows/ci.yaml
@@ -47,7 +47,7 @@ jobs:
steps:
- name: Checkout
- uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v4.1.6
+ uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
- uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
id: filter
@@ -77,7 +77,7 @@ jobs:
(needs.changes.outputs.go == 'true')
steps:
- name: Checkout
- uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v4.1.6
+ uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
- name: Get go version
run: echo "GOLANG_VERSION=$(cat GOLANG_VERSION)" >> $GITHUB_ENV
@@ -105,7 +105,7 @@ jobs:
PLATFORMS: linux/amd64
steps:
- name: Checkout
- uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v4.1.6
+ uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
- name: Get go version
id: golangversion
@@ -179,7 +179,7 @@ jobs:
steps:
- name: Checkout
- uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v4.1.6
+ uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
with:
fetch-depth: 0
@@ -239,7 +239,7 @@ jobs:
steps:
- name: Checkout
- uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v4.1.6
+ uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
- name: Setup Go
uses: actions/setup-go@cdcb36043654635271a94b9a6d1392de5bb323a7 # v5.0.1
diff --git a/.github/workflows/depreview.yaml b/.github/workflows/depreview.yaml
index 2aacbd6cc..572121886 100644
--- a/.github/workflows/depreview.yaml
+++ b/.github/workflows/depreview.yaml
@@ -9,6 +9,6 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: 'Checkout Repository'
- uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v4.1.6
+ uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
- name: 'Dependency Review'
uses: actions/dependency-review-action@72eb03d02c7872a771aacd928f3123ac62ad6d3a # v4.3.3
diff --git a/.github/workflows/docs.yaml b/.github/workflows/docs.yaml
index 0e12a0dc7..c1434c7b7 100644
--- a/.github/workflows/docs.yaml
+++ b/.github/workflows/docs.yaml
@@ -23,7 +23,7 @@ jobs:
steps:
- name: Checkout
- uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v4.1.6
+ uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
- uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
id: filter
@@ -47,7 +47,7 @@ jobs:
steps:
- name: Checkout master
- uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v4.1.6
+ uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
- name: Deploy
uses: ./.github/actions/mkdocs
diff --git a/.github/workflows/golangci-lint.yml b/.github/workflows/golangci-lint.yml
index 8e6ec5200..9d91c68fb 100644
--- a/.github/workflows/golangci-lint.yml
+++ b/.github/workflows/golangci-lint.yml
@@ -15,7 +15,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout
- uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v4.1.6
+ uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
- name: Get go version
run: echo "GOLANG_VERSION=$(cat GOLANG_VERSION)" >> $GITHUB_ENV
diff --git a/.github/workflows/helm.yaml b/.github/workflows/helm.yaml
index f3aa7ced8..f7a68af1a 100644
--- a/.github/workflows/helm.yaml
+++ b/.github/workflows/helm.yaml
@@ -27,7 +27,7 @@ jobs:
steps:
- name: Checkout
- uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v4.1.6
+ uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
- name: Run Artifact Hub lint
run: |
@@ -66,7 +66,7 @@ jobs:
steps:
- name: Checkout master
- uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v4.1.6
+ uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
with:
# Fetch entire history. Required for chart-releaser; see https://github.com/helm/chart-releaser-action/issues/13#issuecomment-602063896
fetch-depth: 0
diff --git a/.github/workflows/images.yaml b/.github/workflows/images.yaml
index cd63a376e..4aed94772 100644
--- a/.github/workflows/images.yaml
+++ b/.github/workflows/images.yaml
@@ -41,7 +41,7 @@ jobs:
steps:
- name: Checkout
- uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v4.1.6
+ uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
- uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
id: filter
with:
@@ -144,7 +144,7 @@ jobs:
k8s: [v1.26.14, v1.27.11, v1.28.7, v1.29.2]
steps:
- name: Checkout
- uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v4.1.6
+ uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
- name: Get go version
run: echo "GOLANG_VERSION=$(cat GOLANG_VERSION)" >> $GITHUB_ENV
@@ -178,7 +178,7 @@ jobs:
nginx: ['1.25.3', '1.21.6']
steps:
- name: Checkout
- uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v4.1.6
+ uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
- name: image build
run: |
cd images/opentelemetry && make NGINX_VERSION=${{ matrix.nginx }} build
@@ -195,7 +195,7 @@ jobs:
PLATFORMS: linux/amd64,linux/arm,linux/arm64,linux/s390x
steps:
- name: Checkout
- uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v4.1.6
+ uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
- name: Set up QEMU
uses: docker/setup-qemu-action@68827325e0b33c7199eb31dd4e31fbe9023e06e3 # v3.0.0
- name: Set up Docker Buildx
diff --git a/.github/workflows/perftest.yaml b/.github/workflows/perftest.yaml
index 9a544c645..2e1e01a3e 100644
--- a/.github/workflows/perftest.yaml
+++ b/.github/workflows/perftest.yaml
@@ -19,7 +19,7 @@ jobs:
steps:
- name: Checkout
- uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v4.1.6
+ uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
- name: Install K6
run: |
diff --git a/.github/workflows/plugin.yaml b/.github/workflows/plugin.yaml
index 8274a6a99..3adccc5eb 100644
--- a/.github/workflows/plugin.yaml
+++ b/.github/workflows/plugin.yaml
@@ -12,7 +12,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout
- uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v4.1.6
+ uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
with:
fetch-depth: 0
diff --git a/.github/workflows/scorecards.yml b/.github/workflows/scorecards.yml
index 89ee0b55b..1a40697e7 100644
--- a/.github/workflows/scorecards.yml
+++ b/.github/workflows/scorecards.yml
@@ -27,7 +27,7 @@ jobs:
steps:
- name: "Checkout code"
- uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v4.1.6
+ uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
with:
persist-credentials: false
@@ -59,6 +59,6 @@ jobs:
# Upload the results to GitHub's code scanning dashboard.
- name: "Upload to code-scanning"
- uses: github/codeql-action/upload-sarif@2e230e8fe0ad3a14a340ad0815ddb96d599d2aff # v3.25.8
+ uses: github/codeql-action/upload-sarif@23acc5c183826b7a8a97bce3cecc52db901f8251 # v3.25.10
with:
sarif_file: results.sarif
diff --git a/.github/workflows/vulnerability-scans.yaml b/.github/workflows/vulnerability-scans.yaml
index 19a66053f..f7ceab6c0 100644
--- a/.github/workflows/vulnerability-scans.yaml
+++ b/.github/workflows/vulnerability-scans.yaml
@@ -22,7 +22,7 @@ jobs:
versions: ${{ steps.version.outputs.TAGS }}
steps:
- name: Checkout code
- uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v4.1.6
+ uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
with:
fetch-depth: 0
@@ -52,7 +52,7 @@ jobs:
versions: ${{ fromJSON(needs.version.outputs.versions) }}
steps:
- name: Checkout code
- uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v4.1.6
+ uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
- shell: bash
id: test
@@ -75,7 +75,7 @@ jobs:
# This step checks out a copy of your repository.
- name: Upload SARIF file
- uses: github/codeql-action/upload-sarif@2e230e8fe0ad3a14a340ad0815ddb96d599d2aff # v3.25.8
+ uses: github/codeql-action/upload-sarif@23acc5c183826b7a8a97bce3cecc52db901f8251 # v3.25.10
with:
token: ${{ github.token }}
# Path to SARIF file relative to the root of the repository
diff --git a/.github/workflows/zz-tmpl-images.yaml b/.github/workflows/zz-tmpl-images.yaml
index 17425a468..1ed1bbcdc 100644
--- a/.github/workflows/zz-tmpl-images.yaml
+++ b/.github/workflows/zz-tmpl-images.yaml
@@ -31,7 +31,7 @@ jobs:
steps:
- name: Checkout
- uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v4.1.6
+ uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
- uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
id: filter
with:
@@ -48,7 +48,7 @@ jobs:
steps:
- name: Checkout
- uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v4.1.6
+ uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
- name: Build
run: |
@@ -67,7 +67,7 @@ jobs:
PLATFORMS: ${{ inputs.platforms-publish }}
steps:
- name: Checkout
- uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v4.1.6
+ uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
- name: Login to GitHub Container Registry
uses: docker/login-action@0d4c9c5ea7693da7b068278f7b52bda2a190a446 # v3.2.0
diff --git a/.github/workflows/zz-tmpl-k8s-e2e.yaml b/.github/workflows/zz-tmpl-k8s-e2e.yaml
index 016157aad..fda6f1937 100644
--- a/.github/workflows/zz-tmpl-k8s-e2e.yaml
+++ b/.github/workflows/zz-tmpl-k8s-e2e.yaml
@@ -20,7 +20,7 @@ jobs:
steps:
- name: Checkout
- uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v4.1.6
+ uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
- name: cache
uses: actions/download-artifact@65a9edc5881444af0b9093a5e628f2fe47ea3b2e # v4.1.7
From 1827dcd86a0e2fd199337c769f01f64544e88f27 Mon Sep 17 00:00:00 2001
From: k8s-infra-cherrypick-robot
<90416843+k8s-infra-cherrypick-robot@users.noreply.github.com>
Date: Mon, 17 Jun 2024 05:21:13 -0700
Subject: [PATCH 104/265] Bump the all group with 3 updates (#11478)
Bumps the all group with 3 updates: [github.com/opencontainers/runc](https://github.com/opencontainers/runc), [github.com/spf13/cobra](https://github.com/spf13/cobra) and [k8s.io/component-base](https://github.com/kubernetes/component-base).
Updates `github.com/opencontainers/runc` from 1.1.12 to 1.1.13
- [Release notes](https://github.com/opencontainers/runc/releases)
- [Changelog](https://github.com/opencontainers/runc/blob/main/CHANGELOG.md)
- [Commits](https://github.com/opencontainers/runc/compare/v1.1.12...v1.1.13)
Updates `github.com/spf13/cobra` from 1.8.0 to 1.8.1
- [Release notes](https://github.com/spf13/cobra/releases)
- [Commits](https://github.com/spf13/cobra/compare/v1.8.0...v1.8.1)
Updates `k8s.io/component-base` from 0.30.1 to 0.30.2
- [Commits](https://github.com/kubernetes/component-base/compare/v0.30.1...v0.30.2)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
---
go.mod | 12 ++++++------
go.sum | 26 +++++++++++++-------------
2 files changed, 19 insertions(+), 19 deletions(-)
diff --git a/go.mod b/go.mod
index fd6fa5f22..c6309eda6 100644
--- a/go.mod
+++ b/go.mod
@@ -17,12 +17,12 @@ require (
github.com/moul/pb v0.0.0-20220425114252-bca18df4138c
github.com/ncabatoff/process-exporter v0.7.11
github.com/onsi/ginkgo/v2 v2.19.0
- github.com/opencontainers/runc v1.1.12
+ github.com/opencontainers/runc v1.1.13
github.com/pmezard/go-difflib v1.0.0
github.com/prometheus/client_golang v1.19.1
github.com/prometheus/client_model v0.6.1
github.com/prometheus/common v0.54.0
- github.com/spf13/cobra v1.8.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
@@ -33,14 +33,14 @@ require (
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.30.1
+ k8s.io/api v0.30.2
k8s.io/apiextensions-apiserver v0.30.1
- k8s.io/apimachinery v0.30.1
+ k8s.io/apimachinery v0.30.2
k8s.io/apiserver v0.30.1
k8s.io/cli-runtime v0.30.0
- k8s.io/client-go v0.30.1
+ k8s.io/client-go v0.30.2
k8s.io/code-generator v0.30.1
- k8s.io/component-base v0.30.1
+ k8s.io/component-base v0.30.2
k8s.io/klog/v2 v2.120.1
pault.ag/go/sniff v0.0.0-20200207005214-cf7e4d167732
sigs.k8s.io/controller-runtime v0.18.4
diff --git a/go.sum b/go.sum
index a3c4992bd..0dfe28b71 100644
--- a/go.sum
+++ b/go.sum
@@ -663,7 +663,7 @@ github.com/cncf/xds/go v0.0.0-20230105202645-06c439db220b/go.mod h1:eXthEFrGJvWH
github.com/cncf/xds/go v0.0.0-20230310173818-32f1caf87195/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs=
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/cpuguy83/go-md2man/v2 v2.0.4/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o=
github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E=
github.com/creack/pty v1.1.18 h1:n56/Zwd5o6whRC5PMGretI4IdRLlmBXYNjScPaBgsbY=
github.com/creack/pty v1.1.18/go.mod h1:MOBLtS5ELjhRRrroQr9kyvTxUAFNvYEK993ew/Vr4O4=
@@ -990,8 +990,8 @@ github.com/onsi/gomega v1.7.1/go.mod h1:XdKZgCCFLUoM/7CFJVPcG8C1xQ1AJ0vpAezJrB7J
github.com/onsi/gomega v1.10.1/go.mod h1:iN09h71vgCQne3DLsj+A5owkum+a2tYe+TOCB1ybHNo=
github.com/onsi/gomega v1.33.1 h1:dsYjIxxSR755MDmKVsaFQTE22ChNBcuuTWgkUDSubOk=
github.com/onsi/gomega v1.33.1/go.mod h1:U4R44UsT+9eLIaYRB2a5qajjtQYn0hauxvRm16AVYg0=
-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/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=
@@ -1078,8 +1078,8 @@ github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72/go.mod h1:JwIasO
github.com/spf13/afero v1.3.3/go.mod h1:5KUK8ByomD5Ti5Artl0RtHeI5pTF7MIDuXL3yY520V4=
github.com/spf13/afero v1.6.0/go.mod h1:Ai8FlHk4v/PARR026UzYexafAt9roJ7LcLMAmO6Z93I=
github.com/spf13/afero v1.9.2/go.mod h1:iUV7ddyEEZPO5gA3zD4fJt6iStLlL+Lg4m2cihcDf8Y=
-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=
@@ -1911,22 +1911,22 @@ honnef.co/go/tools v0.0.1-2019.2.3/go.mod h1:a3bituU0lyd329TUQxRnasdCoJDkEUEAqEt
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=
honnef.co/go/tools v0.1.3/go.mod h1:NgwopIslSNH47DimFoV78dnkksY2EFtX0ajyb3K/las=
-k8s.io/api v0.30.1 h1:kCm/6mADMdbAxmIh0LBjS54nQBE+U4KmbCfIkF5CpJY=
-k8s.io/api v0.30.1/go.mod h1:ddbN2C0+0DIiPntan/bye3SW3PdwLa11/0yqwvuRrJM=
+k8s.io/api v0.30.2 h1:+ZhRj+28QT4UOH+BKznu4CBgPWgkXO7XAvMcMl0qKvI=
+k8s.io/api v0.30.2/go.mod h1:ULg5g9JvOev2dG0u2hig4Z7tQ2hHIuS+m8MNZ+X6EmI=
k8s.io/apiextensions-apiserver v0.30.1 h1:4fAJZ9985BmpJG6PkoxVRpXv9vmPUOVzl614xarePws=
k8s.io/apiextensions-apiserver v0.30.1/go.mod h1:R4GuSrlhgq43oRY9sF2IToFh7PVlF1JjfWdoG3pixk4=
-k8s.io/apimachinery v0.30.1 h1:ZQStsEfo4n65yAdlGTfP/uSHMQSoYzU/oeEbkmF7P2U=
-k8s.io/apimachinery v0.30.1/go.mod h1:iexa2somDaxdnj7bha06bhb43Zpa6eWH8N8dbqVjTUc=
+k8s.io/apimachinery v0.30.2 h1:fEMcnBj6qkzzPGSVsAZtQThU62SmQ4ZymlXRC5yFSCg=
+k8s.io/apimachinery v0.30.2/go.mod h1:iexa2somDaxdnj7bha06bhb43Zpa6eWH8N8dbqVjTUc=
k8s.io/apiserver v0.30.1 h1:BEWEe8bzS12nMtDKXzCF5Q5ovp6LjjYkSp8qOPk8LZ8=
k8s.io/apiserver v0.30.1/go.mod h1:i87ZnQ+/PGAmSbD/iEKM68bm1D5reX8fO4Ito4B01mo=
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.30.1 h1:uC/Ir6A3R46wdkgCV3vbLyNOYyCJ8oZnjtJGKfytl/Q=
-k8s.io/client-go v0.30.1/go.mod h1:wrAqLNs2trwiCH/wxxmT/x3hKVH9PuV0GGW0oDoHVqc=
+k8s.io/client-go v0.30.2 h1:sBIVJdojUNPDU/jObC+18tXWcTJVcwyqS9diGdWHk50=
+k8s.io/client-go v0.30.2/go.mod h1:JglKSWULm9xlJLx4KCkfLLQ7XwtlbflV6uFFSHTMgVs=
k8s.io/code-generator v0.30.1 h1:ZsG++q5Vt0ScmKCeLhynUuWgcwFGg1Hl1AGfatqPJBI=
k8s.io/code-generator v0.30.1/go.mod h1:hFgxRsvOUg79mbpbVKfjJvRhVz1qLoe40yZDJ/hwRH4=
-k8s.io/component-base v0.30.1 h1:bvAtlPh1UrdaZL20D9+sWxsJljMi0QZ3Lmw+kmZAaxQ=
-k8s.io/component-base v0.30.1/go.mod h1:e/X9kDiOebwlI41AvBHuWdqFriSRrX50CdwA9TFaHLI=
+k8s.io/component-base v0.30.2 h1:pqGBczYoW1sno8q9ObExUqrYSKhtE5rW3y6gX88GZII=
+k8s.io/component-base v0.30.2/go.mod h1:yQLkQDrkK8J6NtP+MGJOws+/PPeEXNpwFixsUI7h/OE=
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.120.1 h1:QXU6cPEOIslTGvZaXvFWiP9VKyeet3sawzTOvdXb4Vw=
From c268ceeaed794467cd8367b2cee27177be5424ab Mon Sep 17 00:00:00 2001
From: k8s-infra-cherrypick-robot
<90416843+k8s-infra-cherrypick-robot@users.noreply.github.com>
Date: Mon, 17 Jun 2024 06:44:55 -0700
Subject: [PATCH 105/265] Bump k8s.io/klog/v2 from 2.120.1 to 2.130.0 (#11479)
Bumps [k8s.io/klog/v2](https://github.com/kubernetes/klog) from 2.120.1 to 2.130.0.
- [Release notes](https://github.com/kubernetes/klog/releases)
- [Changelog](https://github.com/kubernetes/klog/blob/main/RELEASE.md)
- [Commits](https://github.com/kubernetes/klog/compare/v2.120.1...v2.130.0)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
---
go.mod | 2 +-
go.sum | 4 ++--
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/go.mod b/go.mod
index c6309eda6..1125b4ed1 100644
--- a/go.mod
+++ b/go.mod
@@ -41,7 +41,7 @@ require (
k8s.io/client-go v0.30.2
k8s.io/code-generator v0.30.1
k8s.io/component-base v0.30.2
- k8s.io/klog/v2 v2.120.1
+ k8s.io/klog/v2 v2.130.0
pault.ag/go/sniff v0.0.0-20200207005214-cf7e4d167732
sigs.k8s.io/controller-runtime v0.18.4
sigs.k8s.io/mdtoc v1.1.0
diff --git a/go.sum b/go.sum
index 0dfe28b71..cfe2ce810 100644
--- a/go.sum
+++ b/go.sum
@@ -1929,8 +1929,8 @@ k8s.io/component-base v0.30.2 h1:pqGBczYoW1sno8q9ObExUqrYSKhtE5rW3y6gX88GZII=
k8s.io/component-base v0.30.2/go.mod h1:yQLkQDrkK8J6NtP+MGJOws+/PPeEXNpwFixsUI7h/OE=
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.120.1 h1:QXU6cPEOIslTGvZaXvFWiP9VKyeet3sawzTOvdXb4Vw=
-k8s.io/klog/v2 v2.120.1/go.mod h1:3Jpz1GvMt720eyJH1ckRHK1EDfpxISzJ7I9OYgaDtPE=
+k8s.io/klog/v2 v2.130.0 h1:5nB3+3HpqKqXJIXNtJdtxcDCfaa9KL8StJgMzGJkUkM=
+k8s.io/klog/v2 v2.130.0/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-20240502163921-fe8a2dddb1d0 h1:jgGTlFYnhF1PM1Ax/lAlxUPE+KfCIXHaathvJg1C3ak=
From efde9812a53e69c7f46a20be7c45016ed3fac3c6 Mon Sep 17 00:00:00 2001
From: k8s-infra-cherrypick-robot
<90416843+k8s-infra-cherrypick-robot@users.noreply.github.com>
Date: Mon, 17 Jun 2024 08:05:50 -0700
Subject: [PATCH 106/265] Chores: Align security contacts & chart maintainers
to actual owners. (#11480)
Co-authored-by: Marco Ebert
---
.github/ISSUE_TEMPLATE/cve_report.md | 3 ++-
SECURITY_CONTACTS | 2 +-
charts/ingress-nginx/Chart.yaml | 2 ++
3 files changed, 5 insertions(+), 2 deletions(-)
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
@@ -67,7 +67,7 @@ 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 Constroller](https://kubernetes-sigs.github.io/aws-load-balancer-controller/v2.2/guide/service/annotations/).
+ 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:
@@ -338,7 +338,7 @@ kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/cont
`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)
From 266731de457f94fd4a6dd4397c215355fe7cc904 Mon Sep 17 00:00:00 2001
From: k8s-infra-cherrypick-robot
<90416843+k8s-infra-cherrypick-robot@users.noreply.github.com>
Date: Mon, 5 Aug 2024 07:14:59 -0700
Subject: [PATCH 166/265] Bump the all group with 3 updates (#11729)
Bumps the all group with 3 updates: [docker/setup-buildx-action](https://github.com/docker/setup-buildx-action), [actions/upload-artifact](https://github.com/actions/upload-artifact) and [golangci/golangci-lint-action](https://github.com/golangci/golangci-lint-action).
Updates `docker/setup-buildx-action` from 3.5.0 to 3.6.1
- [Release notes](https://github.com/docker/setup-buildx-action/releases)
- [Commits](https://github.com/docker/setup-buildx-action/compare/aa33708b10e362ff993539393ff100fa93ed6a27...988b5a0280414f521da01fcc63a27aeeb4b104db)
Updates `actions/upload-artifact` from 4.3.4 to 4.3.5
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](https://github.com/actions/upload-artifact/compare/0b2256b8c012f0828dc542b3febcab082c67f72b...89ef406dd8d7e03cfd12d9e0a4a378f454709029)
Updates `golangci/golangci-lint-action` from 6.0.1 to 6.1.0
- [Release notes](https://github.com/golangci/golangci-lint-action/releases)
- [Commits](https://github.com/golangci/golangci-lint-action/compare/a4f60bb28d35aeee14e6880718e0c85ff1882e64...aaa42aa0628b4ae2578232a66b541047968fac86)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
---
.github/workflows/ci.yaml | 4 ++--
.github/workflows/golangci-lint.yml | 2 +-
.github/workflows/images.yaml | 2 +-
.github/workflows/scorecards.yml | 2 +-
.github/workflows/zz-tmpl-k8s-e2e.yaml | 2 +-
5 files changed, 6 insertions(+), 6 deletions(-)
diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml
index 3bd8bbb3d..a9ca9e229 100644
--- a/.github/workflows/ci.yaml
+++ b/.github/workflows/ci.yaml
@@ -124,7 +124,7 @@ jobs:
- name: Set up Docker Buildx
id: buildx
- uses: docker/setup-buildx-action@aa33708b10e362ff993539393ff100fa93ed6a27 # v3.5.0
+ uses: docker/setup-buildx-action@988b5a0280414f521da01fcc63a27aeeb4b104db # v3.6.1
with:
version: latest
@@ -163,7 +163,7 @@ jobs:
| gzip > docker.tar.gz
- name: cache
- uses: actions/upload-artifact@0b2256b8c012f0828dc542b3febcab082c67f72b # v4.3.4
+ uses: actions/upload-artifact@89ef406dd8d7e03cfd12d9e0a4a378f454709029 # v4.3.5
with:
name: docker.tar.gz
path: docker.tar.gz
diff --git a/.github/workflows/golangci-lint.yml b/.github/workflows/golangci-lint.yml
index b40eca1bb..dca8f07db 100644
--- a/.github/workflows/golangci-lint.yml
+++ b/.github/workflows/golangci-lint.yml
@@ -28,6 +28,6 @@ jobs:
check-latest: true
- name: golangci-lint
- uses: golangci/golangci-lint-action@a4f60bb28d35aeee14e6880718e0c85ff1882e64 # v6.0.1
+ uses: golangci/golangci-lint-action@aaa42aa0628b4ae2578232a66b541047968fac86 # v6.1.0
with:
version: v1.56
diff --git a/.github/workflows/images.yaml b/.github/workflows/images.yaml
index 92325c632..fe83f1dd3 100644
--- a/.github/workflows/images.yaml
+++ b/.github/workflows/images.yaml
@@ -200,7 +200,7 @@ jobs:
uses: docker/setup-qemu-action@49b3bc8e6bdd4a60e6116a5414239cba5943d3cf # v3.2.0
- name: Set up Docker Buildx
id: buildx
- uses: docker/setup-buildx-action@aa33708b10e362ff993539393ff100fa93ed6a27 # v3.5.0
+ uses: docker/setup-buildx-action@988b5a0280414f521da01fcc63a27aeeb4b104db # v3.6.1
with:
version: latest
platforms: ${{ env.PLATFORMS }}
diff --git a/.github/workflows/scorecards.yml b/.github/workflows/scorecards.yml
index 83837e312..db419a581 100644
--- a/.github/workflows/scorecards.yml
+++ b/.github/workflows/scorecards.yml
@@ -51,7 +51,7 @@ jobs:
# Upload the results as artifacts (optional). Commenting out will disable uploads of run results in SARIF
# format to the repository Actions tab.
- name: "Upload artifact"
- uses: actions/upload-artifact@0b2256b8c012f0828dc542b3febcab082c67f72b # v4.3.4
+ uses: actions/upload-artifact@89ef406dd8d7e03cfd12d9e0a4a378f454709029 # v4.3.5
with:
name: SARIF file
path: results.sarif
diff --git a/.github/workflows/zz-tmpl-k8s-e2e.yaml b/.github/workflows/zz-tmpl-k8s-e2e.yaml
index 114e1a45f..30502e999 100644
--- a/.github/workflows/zz-tmpl-k8s-e2e.yaml
+++ b/.github/workflows/zz-tmpl-k8s-e2e.yaml
@@ -50,7 +50,7 @@ jobs:
make kind-e2e-test
- name: Upload e2e junit-reports ${{ inputs.variation }}
- uses: actions/upload-artifact@0b2256b8c012f0828dc542b3febcab082c67f72b # v4.3.4
+ uses: actions/upload-artifact@89ef406dd8d7e03cfd12d9e0a4a378f454709029 # v4.3.5
if: success() || failure()
with:
name: e2e-test-reports-${{ inputs.k8s-version }}${{ inputs.variation }}
From 06653e0fbc08dd2cdb92c69d675eab50823f43bb Mon Sep 17 00:00:00 2001
From: k8s-infra-cherrypick-robot
<90416843+k8s-infra-cherrypick-robot@users.noreply.github.com>
Date: Mon, 5 Aug 2024 08:33:35 -0700
Subject: [PATCH 167/265] Go: Bump to v1.22.5. (#11731)
Co-authored-by: Marco Ebert
---
GOLANG_VERSION | 2 +-
go.mod | 4 +---
go.work | 2 +-
images/custom-error-pages/rootfs/go.mod | 2 +-
images/ext-auth-example-authsvc/rootfs/Dockerfile | 4 ++--
images/ext-auth-example-authsvc/rootfs/go.mod | 2 +-
images/fastcgi-helloserver/rootfs/Dockerfile | 4 ++--
images/go-grpc-greeter-server/rootfs/Dockerfile | 4 ++--
images/kube-webhook-certgen/rootfs/go.mod | 2 +-
images/opentelemetry/rootfs/Dockerfile | 10 +++++-----
images/opentelemetry/rootfs/build.sh | 5 ++++-
images/opentelemetry/rootfs/go.mod | 2 +-
magefiles/go.mod | 2 +-
13 files changed, 23 insertions(+), 22 deletions(-)
diff --git a/GOLANG_VERSION b/GOLANG_VERSION
index be02b337a..da9594fd6 100644
--- a/GOLANG_VERSION
+++ b/GOLANG_VERSION
@@ -1 +1 @@
-1.22.4
\ No newline at end of file
+1.22.5
diff --git a/go.mod b/go.mod
index 6274410c1..322045498 100644
--- a/go.mod
+++ b/go.mod
@@ -1,8 +1,6 @@
module k8s.io/ingress-nginx
-go 1.22.0
-
-toolchain go1.22.4
+go 1.22.5
require (
dario.cat/mergo v1.0.0
diff --git a/go.work b/go.work
index c963e3c0e..9da22b9ae 100644
--- a/go.work
+++ b/go.work
@@ -1,4 +1,4 @@
-go 1.22.0
+go 1.22.5
use (
.
diff --git a/images/custom-error-pages/rootfs/go.mod b/images/custom-error-pages/rootfs/go.mod
index eebc562a5..75c488ae9 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.5
require github.com/prometheus/client_golang v1.11.1
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..0079040cb 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.5
require k8s.io/apimachinery v0.23.1
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/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/kube-webhook-certgen/rootfs/go.mod b/images/kube-webhook-certgen/rootfs/go.mod
index b32fd22bd..bbbc44215 100644
--- a/images/kube-webhook-certgen/rootfs/go.mod
+++ b/images/kube-webhook-certgen/rootfs/go.mod
@@ -1,6 +1,6 @@
module github.com/jet/kube-webhook-certgen
-go 1.21
+go 1.22.5
require (
github.com/onrik/logrus v0.11.0
diff --git a/images/opentelemetry/rootfs/Dockerfile b/images/opentelemetry/rootfs/Dockerfile
index eb951e5c4..90135a1e3 100644
--- a/images/opentelemetry/rootfs/Dockerfile
+++ b/images/opentelemetry/rootfs/Dockerfile
@@ -13,7 +13,7 @@
# limitations under the License.
-FROM alpine:3.20.0 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.5-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..c2fb37d60 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.5
diff --git a/magefiles/go.mod b/magefiles/go.mod
index d41baf17e..ef6e89197 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.5
require (
github.com/blang/semver/v4 v4.0.0
From 50108c72bac2a13f444e9ac7cb64cb34026a56e0 Mon Sep 17 00:00:00 2001
From: k8s-infra-cherrypick-robot
<90416843+k8s-infra-cherrypick-robot@users.noreply.github.com>
Date: Mon, 5 Aug 2024 08:33:47 -0700
Subject: [PATCH 168/265] docs: update OpenSSL Roadmap link (#11734)
Co-authored-by: Mmx
---
images/nginx-1.25/README.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/images/nginx-1.25/README.md b/images/nginx-1.25/README.md
index b5c6d593f..35cccc100 100644
--- a/images/nginx-1.25/README.md
+++ b/images/nginx-1.25/README.md
@@ -35,7 +35,7 @@ The next steps will be:
[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://www.openssl.org/roadmap.html):
+ 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
From b881aaf138bb32fc07835f8ccdba4a2a43287b09 Mon Sep 17 00:00:00 2001
From: k8s-infra-cherrypick-robot
<90416843+k8s-infra-cherrypick-robot@users.noreply.github.com>
Date: Mon, 5 Aug 2024 14:36:56 -0700
Subject: [PATCH 169/265] Images: Trigger NGINX build. (#11736)
Co-authored-by: Marco Ebert
---
images/nginx-1.25/TAG | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/images/nginx-1.25/TAG b/images/nginx-1.25/TAG
index 51bbb66dc..3527dbc1b 100644
--- a/images/nginx-1.25/TAG
+++ b/images/nginx-1.25/TAG
@@ -1 +1 @@
-v0.0.10
+v0.0.11
From d600fb49786117efea29b9390b25d71ce1816c5b Mon Sep 17 00:00:00 2001
From: k8s-infra-cherrypick-robot
<90416843+k8s-infra-cherrypick-robot@users.noreply.github.com>
Date: Tue, 6 Aug 2024 09:44:50 -0700
Subject: [PATCH 170/265] Images: Bump `NGINX_BASE` to v0.0.11. (#11744)
Co-authored-by: Marco Ebert
---
NGINX_BASE | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/NGINX_BASE b/NGINX_BASE
index b179689bf..1e1cf7a62 100644
--- a/NGINX_BASE
+++ b/NGINX_BASE
@@ -1 +1 @@
-registry.k8s.io/ingress-nginx/nginx-1.25:v0.0.10@sha256:1686f4cd2e16f09a1e7d27529d21eb74a8b551dc06ef86189ac837d3d6548725
+registry.k8s.io/ingress-nginx/nginx-1.25:v0.0.11@sha256:05bec8b13129c54cf855ad1802b0fe302c5d63c992b76b5b9ba897650938a328
From fd170c23b5bfc86d7a5ae241af7bc0bf897c45b2 Mon Sep 17 00:00:00 2001
From: k8s-infra-cherrypick-robot
<90416843+k8s-infra-cherrypick-robot@users.noreply.github.com>
Date: Thu, 8 Aug 2024 08:04:10 -0700
Subject: [PATCH 171/265] Go: Bump to v1.22.6. (#11748)
Co-authored-by: Marco Ebert
---
GOLANG_VERSION | 2 +-
go.mod | 2 +-
go.work | 2 +-
images/custom-error-pages/rootfs/go.mod | 2 +-
images/ext-auth-example-authsvc/rootfs/go.mod | 2 +-
images/kube-webhook-certgen/rootfs/go.mod | 2 +-
images/opentelemetry/rootfs/Dockerfile | 2 +-
images/opentelemetry/rootfs/go.mod | 2 +-
magefiles/go.mod | 2 +-
9 files changed, 9 insertions(+), 9 deletions(-)
diff --git a/GOLANG_VERSION b/GOLANG_VERSION
index da9594fd6..013173af5 100644
--- a/GOLANG_VERSION
+++ b/GOLANG_VERSION
@@ -1 +1 @@
-1.22.5
+1.22.6
diff --git a/go.mod b/go.mod
index 322045498..4832f8a54 100644
--- a/go.mod
+++ b/go.mod
@@ -1,6 +1,6 @@
module k8s.io/ingress-nginx
-go 1.22.5
+go 1.22.6
require (
dario.cat/mergo v1.0.0
diff --git a/go.work b/go.work
index 9da22b9ae..ac741bb5a 100644
--- a/go.work
+++ b/go.work
@@ -1,4 +1,4 @@
-go 1.22.5
+go 1.22.6
use (
.
diff --git a/images/custom-error-pages/rootfs/go.mod b/images/custom-error-pages/rootfs/go.mod
index 75c488ae9..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.22.5
+go 1.22.6
require github.com/prometheus/client_golang v1.11.1
diff --git a/images/ext-auth-example-authsvc/rootfs/go.mod b/images/ext-auth-example-authsvc/rootfs/go.mod
index 0079040cb..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.22.5
+go 1.22.6
require k8s.io/apimachinery v0.23.1
diff --git a/images/kube-webhook-certgen/rootfs/go.mod b/images/kube-webhook-certgen/rootfs/go.mod
index bbbc44215..34cf0284f 100644
--- a/images/kube-webhook-certgen/rootfs/go.mod
+++ b/images/kube-webhook-certgen/rootfs/go.mod
@@ -1,6 +1,6 @@
module github.com/jet/kube-webhook-certgen
-go 1.22.5
+go 1.22.6
require (
github.com/onrik/logrus v0.11.0
diff --git a/images/opentelemetry/rootfs/Dockerfile b/images/opentelemetry/rootfs/Dockerfile
index 90135a1e3..f67948b86 100644
--- a/images/opentelemetry/rootfs/Dockerfile
+++ b/images/opentelemetry/rootfs/Dockerfile
@@ -31,7 +31,7 @@ FROM base AS nginx
ARG NGINX_VERSION=1.25.3
RUN bash /opt/third_party/build.sh -n ${NGINX_VERSION}
-FROM golang:1.22.5-bullseye AS build-init
+FROM golang:1.22.6-bullseye AS build-init
WORKDIR /go/src/app
COPY . .
diff --git a/images/opentelemetry/rootfs/go.mod b/images/opentelemetry/rootfs/go.mod
index c2fb37d60..115ef686a 100644
--- a/images/opentelemetry/rootfs/go.mod
+++ b/images/opentelemetry/rootfs/go.mod
@@ -1,3 +1,3 @@
module init-otel
-go 1.22.5
+go 1.22.6
diff --git a/magefiles/go.mod b/magefiles/go.mod
index ef6e89197..8e146d70e 100644
--- a/magefiles/go.mod
+++ b/magefiles/go.mod
@@ -1,6 +1,6 @@
module k8s.io/ingress-nginx/magefiles
-go 1.22.5
+go 1.22.6
require (
github.com/blang/semver/v4 v4.0.0
From ce3704217c97db1d327161aa84580e8e6e1c3820 Mon Sep 17 00:00:00 2001
From: k8s-infra-cherrypick-robot
<90416843+k8s-infra-cherrypick-robot@users.noreply.github.com>
Date: Sun, 11 Aug 2024 01:00:26 -0700
Subject: [PATCH 172/265] Cloud Build: Some chores. (#11756)
* Cloud Build: Remove comment.
* Cloud Build: Add newlines at EOF.
* Cloud Build: Align comment.
* Cloud Build: Remove trailing slash.
* Cloud Build: Remove quotes.
* Cloud Build: Align indentation.
* Cloud Build: Improve quotes.
* Cloud Build: Put arguments in one line.
* Cloud Build: Bump image.
* Cloud Build: Reorder entrypoint.
* Cloud Build: Adjust timeouts.
* Cloud Build: Remove useless files.
* Cloud Build: Remove `substitution_option`.
---------
Co-authored-by: Marco Ebert
---
cloudbuild.yaml | 29 ++++--------
images/cfssl/cloudbuild.yaml | 17 ++-----
images/custom-error-pages/README.md | 3 --
images/custom-error-pages/TAG | 2 +-
images/custom-error-pages/cloudbuild.yaml | 18 +++-----
images/e2e-test-echo/TAG | 2 +-
images/ext-auth-example-authsvc/TAG | 2 +-
.../ext-auth-example-authsvc/cloudbuild.yaml | 19 ++------
images/fastcgi-helloserver/TAG | 2 +-
images/fastcgi-helloserver/cloudbuild.yaml | 18 +++-----
images/go-grpc-greeter-server/TAG | 2 +-
images/go-grpc-greeter-server/cloudbuild.yaml | 19 ++------
images/httpbun/TAG | 2 +-
images/httpbun/cloudbuild.yaml | 20 +++------
images/kube-webhook-certgen/cloudbuild.yaml | 33 +++-----------
images/nginx-1.25/cloudbuild.yaml | 17 +++----
images/nginx/cloudbuild.yaml | 17 +++----
images/nginx/rc.yaml | 44 -------------------
images/opentelemetry/README.md | 5 ---
images/opentelemetry/cloudbuild.yaml | 22 +++-------
images/test-runner/cloudbuild.yaml | 18 +++-----
21 files changed, 71 insertions(+), 240 deletions(-)
delete mode 100644 images/custom-error-pages/README.md
delete mode 100644 images/nginx/rc.yaml
delete mode 100644 images/opentelemetry/README.md
diff --git a/cloudbuild.yaml b/cloudbuild.yaml
index d3f1eed62..265947b8b 100644
--- a/cloudbuild.yaml
+++ b/cloudbuild.yaml
@@ -1,25 +1,14 @@
-# See https://cloud.google.com/cloud-build/docs/build-config
-
-timeout: 18000s
-options:
- substitution_option: ALLOW_LOOSE
+substitutions:
+ _PULL_BASE_SHA: "12345"
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
- REPO_INFO=https://github.com/kubernetes/ingress-nginx
- - COMMIT_SHA=$_PULL_BASE_SHA
- - BUILD_ID=$BUILD_ID
- - HOME=/root
- - USER=root
+ - COMMIT_SHA=${_PULL_BASE_SHA}
+ - BUILD_ID=${BUILD_ID}
+ entrypoint: bash
args:
- - -c
- - |
- gcloud auth configure-docker \
- && make release
-substitutions:
- _GIT_TAG: "12345"
- _PULL_BASE_REF: "main"
- _PULL_BASE_SHA: '12345'
+ - -c
+ - gcloud auth configure-docker && make release
+timeout: 1800s
diff --git a/images/cfssl/cloudbuild.yaml b/images/cfssl/cloudbuild.yaml
index 32d91ca83..8ddb22013 100644
--- a/images/cfssl/cloudbuild.yaml
+++ b/images/cfssl/cloudbuild.yaml
@@ -1,17 +1,8 @@
-timeout: 600s
-options:
- 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/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..f9cece58d 100644
--- a/images/custom-error-pages/TAG
+++ b/images/custom-error-pages/TAG
@@ -1 +1 @@
-v0.0.3
\ No newline at end of file
+v0.0.3
diff --git a/images/custom-error-pages/cloudbuild.yaml b/images/custom-error-pages/cloudbuild.yaml
index bb74da6b8..bc1a3dc91 100644
--- a/images/custom-error-pages/cloudbuild.yaml
+++ b/images/custom-error-pages/cloudbuild.yaml
@@ -1,17 +1,9 @@
-timeout: 1800s
-options:
- 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/e2e-test-echo/TAG b/images/e2e-test-echo/TAG
index 8ce995b80..f9cece58d 100644
--- a/images/e2e-test-echo/TAG
+++ b/images/e2e-test-echo/TAG
@@ -1 +1 @@
-v0.0.3
\ No newline at end of file
+v0.0.3
diff --git a/images/ext-auth-example-authsvc/TAG b/images/ext-auth-example-authsvc/TAG
index 8ce995b80..f9cece58d 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
+v0.0.3
diff --git a/images/ext-auth-example-authsvc/cloudbuild.yaml b/images/ext-auth-example-authsvc/cloudbuild.yaml
index 506e20111..4ce8d75d3 100644
--- a/images/ext-auth-example-authsvc/cloudbuild.yaml
+++ b/images/ext-auth-example-authsvc/cloudbuild.yaml
@@ -1,19 +1,8 @@
-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
+ - 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=ext-auth-example-authsvc push
\ No newline at end of file
+ - -c
+ - gcloud auth configure-docker && cd images && make NAME=ext-auth-example-authsvc push
diff --git a/images/fastcgi-helloserver/TAG b/images/fastcgi-helloserver/TAG
index 8ce995b80..f9cece58d 100644
--- a/images/fastcgi-helloserver/TAG
+++ b/images/fastcgi-helloserver/TAG
@@ -1 +1 @@
-v0.0.3
\ No newline at end of file
+v0.0.3
diff --git a/images/fastcgi-helloserver/cloudbuild.yaml b/images/fastcgi-helloserver/cloudbuild.yaml
index e3ab3b375..a74fcfddc 100644
--- a/images/fastcgi-helloserver/cloudbuild.yaml
+++ b/images/fastcgi-helloserver/cloudbuild.yaml
@@ -1,17 +1,9 @@
-timeout: 1800s
-options:
- 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/go-grpc-greeter-server/TAG b/images/go-grpc-greeter-server/TAG
index 8ce995b80..f9cece58d 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
+v0.0.3
diff --git a/images/go-grpc-greeter-server/cloudbuild.yaml b/images/go-grpc-greeter-server/cloudbuild.yaml
index b690ffbec..4ae3139bd 100644
--- a/images/go-grpc-greeter-server/cloudbuild.yaml
+++ b/images/go-grpc-greeter-server/cloudbuild.yaml
@@ -1,19 +1,8 @@
-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
+ - 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=go-grpc-greeter-server push
\ No newline at end of file
+ - -c
+ - gcloud auth configure-docker && cd images && make NAME=go-grpc-greeter-server push
diff --git a/images/httpbun/TAG b/images/httpbun/TAG
index 8ce995b80..f9cece58d 100644
--- a/images/httpbun/TAG
+++ b/images/httpbun/TAG
@@ -1 +1 @@
-v0.0.3
\ No newline at end of file
+v0.0.3
diff --git a/images/httpbun/cloudbuild.yaml b/images/httpbun/cloudbuild.yaml
index c532a3908..e718d319f 100644
--- a/images/httpbun/cloudbuild.yaml
+++ b/images/httpbun/cloudbuild.yaml
@@ -1,19 +1,9 @@
-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
+ - 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/cloudbuild.yaml b/images/kube-webhook-certgen/cloudbuild.yaml
index 690f13126..33f181add 100644
--- a/images/kube-webhook-certgen/cloudbuild.yaml
+++ b/images/kube-webhook-certgen/cloudbuild.yaml
@@ -1,32 +1,9 @@
-
-# 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:
- 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/nginx-1.25/cloudbuild.yaml b/images/nginx-1.25/cloudbuild.yaml
index c94539165..c03425a5a 100644
--- a/images/nginx-1.25/cloudbuild.yaml
+++ b/images/nginx-1.25/cloudbuild.yaml
@@ -1,17 +1,12 @@
-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
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/cloudbuild.yaml b/images/nginx/cloudbuild.yaml
index 71051f26d..871110162 100644
--- a/images/nginx/cloudbuild.yaml
+++ b/images/nginx/cloudbuild.yaml
@@ -1,17 +1,12 @@
-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
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/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/cloudbuild.yaml b/images/opentelemetry/cloudbuild.yaml
index bc48a93f4..95fdabac9 100644
--- a/images/opentelemetry/cloudbuild.yaml
+++ b/images/opentelemetry/cloudbuild.yaml
@@ -1,20 +1,12 @@
-timeout: 10800s
options:
- substitution_option: ALLOW_LOOSE
- # job builds a multi-arch docker image for amd64,arm,arm64 and s390x.
- machineType: E2_HIGHCPU_32
+ # Increase machine type for multi-arch builds.
+ 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/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: 3600s
diff --git a/images/test-runner/cloudbuild.yaml b/images/test-runner/cloudbuild.yaml
index b17de9b31..cd8d73e98 100644
--- a/images/test-runner/cloudbuild.yaml
+++ b/images/test-runner/cloudbuild.yaml
@@ -1,17 +1,9 @@
-timeout: 3600s
-options:
- 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
From f76e9be8d6a0fed34c7623a1e07fb1b405628bb1 Mon Sep 17 00:00:00 2001
From: k8s-infra-cherrypick-robot
<90416843+k8s-infra-cherrypick-robot@users.noreply.github.com>
Date: Sun, 11 Aug 2024 01:05:23 -0700
Subject: [PATCH 173/265] Cloud Build: Fix substitutions. (#11759)
Prow hands in some substitutions via arguments we need to ignore.
Co-authored-by: Marco Ebert
---
cloudbuild.yaml | 5 +++--
images/cfssl/cloudbuild.yaml | 3 +++
images/custom-error-pages/cloudbuild.yaml | 3 +++
images/ext-auth-example-authsvc/cloudbuild.yaml | 3 +++
images/fastcgi-helloserver/cloudbuild.yaml | 3 +++
images/go-grpc-greeter-server/cloudbuild.yaml | 3 +++
images/httpbun/cloudbuild.yaml | 3 +++
images/kube-webhook-certgen/cloudbuild.yaml | 3 +++
images/nginx-1.25/cloudbuild.yaml | 2 ++
images/nginx/cloudbuild.yaml | 2 ++
images/opentelemetry/cloudbuild.yaml | 2 ++
images/test-runner/cloudbuild.yaml | 3 +++
12 files changed, 33 insertions(+), 2 deletions(-)
diff --git a/cloudbuild.yaml b/cloudbuild.yaml
index 265947b8b..494838720 100644
--- a/cloudbuild.yaml
+++ b/cloudbuild.yaml
@@ -1,5 +1,6 @@
-substitutions:
- _PULL_BASE_SHA: "12345"
+options:
+ # Ignore Prow provided substitutions.
+ substitution_option: ALLOW_LOOSE
steps:
- name: gcr.io/k8s-staging-test-infra/gcb-docker-gcloud:v20240523-a15ad90fc9
env:
diff --git a/images/cfssl/cloudbuild.yaml b/images/cfssl/cloudbuild.yaml
index 8ddb22013..6b5b0fc1b 100644
--- a/images/cfssl/cloudbuild.yaml
+++ b/images/cfssl/cloudbuild.yaml
@@ -1,3 +1,6 @@
+options:
+ # Ignore Prow provided substitutions.
+ substitution_option: ALLOW_LOOSE
steps:
- name: gcr.io/k8s-staging-test-infra/gcb-docker-gcloud:v20240523-a15ad90fc9
env:
diff --git a/images/custom-error-pages/cloudbuild.yaml b/images/custom-error-pages/cloudbuild.yaml
index bc1a3dc91..772a7697f 100644
--- a/images/custom-error-pages/cloudbuild.yaml
+++ b/images/custom-error-pages/cloudbuild.yaml
@@ -1,3 +1,6 @@
+options:
+ # Ignore Prow provided substitutions.
+ substitution_option: ALLOW_LOOSE
steps:
- name: gcr.io/k8s-staging-test-infra/gcb-docker-gcloud:v20240523-a15ad90fc9
env:
diff --git a/images/ext-auth-example-authsvc/cloudbuild.yaml b/images/ext-auth-example-authsvc/cloudbuild.yaml
index 4ce8d75d3..09535a5a6 100644
--- a/images/ext-auth-example-authsvc/cloudbuild.yaml
+++ b/images/ext-auth-example-authsvc/cloudbuild.yaml
@@ -1,3 +1,6 @@
+options:
+ # Ignore Prow provided substitutions.
+ substitution_option: ALLOW_LOOSE
steps:
- name: gcr.io/k8s-staging-test-infra/gcb-docker-gcloud:v20240523-a15ad90fc9
env:
diff --git a/images/fastcgi-helloserver/cloudbuild.yaml b/images/fastcgi-helloserver/cloudbuild.yaml
index a74fcfddc..5fb3e3318 100644
--- a/images/fastcgi-helloserver/cloudbuild.yaml
+++ b/images/fastcgi-helloserver/cloudbuild.yaml
@@ -1,3 +1,6 @@
+options:
+ # Ignore Prow provided substitutions.
+ substitution_option: ALLOW_LOOSE
steps:
- name: gcr.io/k8s-staging-test-infra/gcb-docker-gcloud:v20240523-a15ad90fc9
env:
diff --git a/images/go-grpc-greeter-server/cloudbuild.yaml b/images/go-grpc-greeter-server/cloudbuild.yaml
index 4ae3139bd..44e0bef8b 100644
--- a/images/go-grpc-greeter-server/cloudbuild.yaml
+++ b/images/go-grpc-greeter-server/cloudbuild.yaml
@@ -1,3 +1,6 @@
+options:
+ # Ignore Prow provided substitutions.
+ substitution_option: ALLOW_LOOSE
steps:
- name: gcr.io/k8s-staging-test-infra/gcb-docker-gcloud:v20240523-a15ad90fc9
env:
diff --git a/images/httpbun/cloudbuild.yaml b/images/httpbun/cloudbuild.yaml
index e718d319f..3d2662531 100644
--- a/images/httpbun/cloudbuild.yaml
+++ b/images/httpbun/cloudbuild.yaml
@@ -1,3 +1,6 @@
+options:
+ # Ignore Prow provided substitutions.
+ substitution_option: ALLOW_LOOSE
steps:
- name: gcr.io/k8s-staging-test-infra/gcb-docker-gcloud:v20240523-a15ad90fc9
env:
diff --git a/images/kube-webhook-certgen/cloudbuild.yaml b/images/kube-webhook-certgen/cloudbuild.yaml
index 33f181add..8bf139423 100644
--- a/images/kube-webhook-certgen/cloudbuild.yaml
+++ b/images/kube-webhook-certgen/cloudbuild.yaml
@@ -1,3 +1,6 @@
+options:
+ # Ignore Prow provided substitutions.
+ substitution_option: ALLOW_LOOSE
steps:
- name: gcr.io/k8s-staging-test-infra/gcb-docker-gcloud:v20240523-a15ad90fc9
env:
diff --git a/images/nginx-1.25/cloudbuild.yaml b/images/nginx-1.25/cloudbuild.yaml
index c03425a5a..d8bb1f2a9 100644
--- a/images/nginx-1.25/cloudbuild.yaml
+++ b/images/nginx-1.25/cloudbuild.yaml
@@ -1,6 +1,8 @@
options:
# 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:v20240523-a15ad90fc9
env:
diff --git a/images/nginx/cloudbuild.yaml b/images/nginx/cloudbuild.yaml
index 871110162..a5ec1abd8 100644
--- a/images/nginx/cloudbuild.yaml
+++ b/images/nginx/cloudbuild.yaml
@@ -1,6 +1,8 @@
options:
# 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:v20240523-a15ad90fc9
env:
diff --git a/images/opentelemetry/cloudbuild.yaml b/images/opentelemetry/cloudbuild.yaml
index 95fdabac9..98281d8ef 100644
--- a/images/opentelemetry/cloudbuild.yaml
+++ b/images/opentelemetry/cloudbuild.yaml
@@ -1,6 +1,8 @@
options:
# Increase machine type for multi-arch builds.
machineType: E2_HIGHCPU_8
+ # Ignore Prow provided substitutions.
+ substitution_option: ALLOW_LOOSE
steps:
- name: gcr.io/k8s-staging-test-infra/gcb-docker-gcloud:v20240523-a15ad90fc9
env:
diff --git a/images/test-runner/cloudbuild.yaml b/images/test-runner/cloudbuild.yaml
index cd8d73e98..6efe5eeaf 100644
--- a/images/test-runner/cloudbuild.yaml
+++ b/images/test-runner/cloudbuild.yaml
@@ -1,3 +1,6 @@
+options:
+ # Ignore Prow provided substitutions.
+ substitution_option: ALLOW_LOOSE
steps:
- name: gcr.io/k8s-staging-test-infra/gcb-docker-gcloud:v20240523-a15ad90fc9
env:
From cdd03fe5b15a0bbfac8a1563eea07b25f726b31b Mon Sep 17 00:00:00 2001
From: k8s-infra-cherrypick-robot
<90416843+k8s-infra-cherrypick-robot@users.noreply.github.com>
Date: Sun, 11 Aug 2024 01:07:49 -0700
Subject: [PATCH 174/265] Cloud Build: Tweak timeouts. (#11762)
Co-authored-by: Marco Ebert
---
images/opentelemetry/cloudbuild.yaml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/images/opentelemetry/cloudbuild.yaml b/images/opentelemetry/cloudbuild.yaml
index 98281d8ef..df86d37e7 100644
--- a/images/opentelemetry/cloudbuild.yaml
+++ b/images/opentelemetry/cloudbuild.yaml
@@ -11,4 +11,4 @@ steps:
args:
- -c
- gcloud auth configure-docker && cd images/opentelemetry && make NGINX_VERSION=1.21.6 push && make NGINX_VERSION=1.25.3 push
-timeout: 3600s
+timeout: 1800s
From a01effb8e5c92ebc1777944085139dc1fa2f3a70 Mon Sep 17 00:00:00 2001
From: k8s-infra-cherrypick-robot
<90416843+k8s-infra-cherrypick-robot@users.noreply.github.com>
Date: Mon, 12 Aug 2024 06:12:52 -0700
Subject: [PATCH 175/265] Bump golang.org/x/crypto from 0.25.0 to 0.26.0
(#11768)
Bumps [golang.org/x/crypto](https://github.com/golang/crypto) from 0.25.0 to 0.26.0.
- [Commits](https://github.com/golang/crypto/compare/v0.25.0...v0.26.0)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
---
go.mod | 10 +++++-----
go.sum | 20 ++++++++++----------
2 files changed, 15 insertions(+), 15 deletions(-)
diff --git a/go.mod b/go.mod
index 4832f8a54..3c6d41810 100644
--- a/go.mod
+++ b/go.mod
@@ -25,7 +25,7 @@ require (
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.25.0
+ golang.org/x/crypto v0.26.0
golang.org/x/exp v0.0.0-20240416160154-fe59bbe5cc7f
google.golang.org/grpc v1.65.0
google.golang.org/grpc/examples v0.0.0-20240223204917-5ccf176a08ab
@@ -108,10 +108,10 @@ require (
golang.org/x/mod v0.17.0 // indirect
golang.org/x/net v0.26.0 // indirect
golang.org/x/oauth2 v0.21.0 // indirect
- golang.org/x/sync v0.7.0 // indirect
- golang.org/x/sys v0.22.0 // indirect
- golang.org/x/term v0.22.0 // indirect
- golang.org/x/text v0.16.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.21.1-0.20240508182429-e35e4ccd0d2d // indirect
google.golang.org/genproto/googleapis/rpc v0.0.0-20240528184218-531527333157 // indirect
diff --git a/go.sum b/go.sum
index f37a7fc6c..e3b633438 100644
--- a/go.sum
+++ b/go.sum
@@ -228,8 +228,8 @@ golang.org/dl v0.0.0-20190829154251-82a15e2f2ead/go.mod h1:IUMfjQLJQd4UTqG1Z90te
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
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.25.0 h1:ypSNr+bnYL2YhwoMt2zPxHFmbAN1KZs/njMG3hxUp30=
-golang.org/x/crypto v0.25.0/go.mod h1:T+wALwcMOSE0kXgUAnPAHqTLW+XHgcELELW8VaDgm/M=
+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-20240416160154-fe59bbe5cc7f h1:99ci1mjWVBWwJiEKYY6jWa4d2nTQVIEhZIptnrVb1XY=
golang.org/x/exp v0.0.0-20240416160154-fe59bbe5cc7f/go.mod h1:/lliqkxwWAhPjf5oSOIJup2XcqJaw8RGS6k3TGEc7GI=
golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
@@ -250,8 +250,8 @@ golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJ
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=
-golang.org/x/sync v0.7.0 h1:YsImfSBoP9QPYL0xyKJPq0gcaJdG3rInoqxTWbfQu9M=
-golang.org/x/sync v0.7.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk=
+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-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
@@ -266,14 +266,14 @@ golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBc
golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/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.22.0 h1:RI27ohtqKCnwULzJLqkv897zojh5/DwS/ENaMzUOaWI=
-golang.org/x/sys v0.22.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
-golang.org/x/term v0.22.0 h1:BbsgPEJULsl2fV/AT3v15Mjva5yXKQDyKf+TbDz7QJk=
-golang.org/x/term v0.22.0/go.mod h1:F3qCibpT5AMpCRfhfT53vVJwhLtIVHhB9XDjfFvnMI4=
+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.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
-golang.org/x/text v0.16.0 h1:a94ExnEXNtEwYLGJSIUxnWoxoRz/ZcCsV63ROupILh4=
-golang.org/x/text v0.16.0/go.mod h1:GhwF1Be+LQoKShO3cGOHzqOgRrGaYc9AvblQOmPVHnI=
+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=
From b77e9ed3e8dc0395511ab8dcc8432926892d2342 Mon Sep 17 00:00:00 2001
From: k8s-infra-cherrypick-robot
<90416843+k8s-infra-cherrypick-robot@users.noreply.github.com>
Date: Mon, 12 Aug 2024 06:51:38 -0700
Subject: [PATCH 176/265] Bump the all group with 2 updates (#11770)
Bumps the all group with 2 updates: [actions/upload-artifact](https://github.com/actions/upload-artifact) and [github/codeql-action](https://github.com/github/codeql-action).
Updates `actions/upload-artifact` from 4.3.5 to 4.3.6
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](https://github.com/actions/upload-artifact/compare/89ef406dd8d7e03cfd12d9e0a4a378f454709029...834a144ee995460fba8ed112a2fc961b36a5ec5a)
Updates `github/codeql-action` from 3.25.15 to 3.26.0
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/github/codeql-action/compare/afb54ba388a7dca6ecae48f608c4ff05ff4cc77a...eb055d739abdc2e8de2e5f4ba1a8b246daa779aa)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
---
.github/workflows/ci.yaml | 2 +-
.github/workflows/scorecards.yml | 4 ++--
.github/workflows/vulnerability-scans.yaml | 2 +-
.github/workflows/zz-tmpl-k8s-e2e.yaml | 2 +-
4 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml
index a9ca9e229..f3af49d37 100644
--- a/.github/workflows/ci.yaml
+++ b/.github/workflows/ci.yaml
@@ -163,7 +163,7 @@ jobs:
| gzip > docker.tar.gz
- name: cache
- uses: actions/upload-artifact@89ef406dd8d7e03cfd12d9e0a4a378f454709029 # v4.3.5
+ uses: actions/upload-artifact@834a144ee995460fba8ed112a2fc961b36a5ec5a # v4.3.6
with:
name: docker.tar.gz
path: docker.tar.gz
diff --git a/.github/workflows/scorecards.yml b/.github/workflows/scorecards.yml
index db419a581..a6b64d408 100644
--- a/.github/workflows/scorecards.yml
+++ b/.github/workflows/scorecards.yml
@@ -51,7 +51,7 @@ jobs:
# Upload the results as artifacts (optional). Commenting out will disable uploads of run results in SARIF
# format to the repository Actions tab.
- name: "Upload artifact"
- uses: actions/upload-artifact@89ef406dd8d7e03cfd12d9e0a4a378f454709029 # v4.3.5
+ uses: actions/upload-artifact@834a144ee995460fba8ed112a2fc961b36a5ec5a # v4.3.6
with:
name: SARIF file
path: results.sarif
@@ -59,6 +59,6 @@ jobs:
# Upload the results to GitHub's code scanning dashboard.
- name: "Upload to code-scanning"
- uses: github/codeql-action/upload-sarif@afb54ba388a7dca6ecae48f608c4ff05ff4cc77a # v3.25.15
+ uses: github/codeql-action/upload-sarif@eb055d739abdc2e8de2e5f4ba1a8b246daa779aa # v3.26.0
with:
sarif_file: results.sarif
diff --git a/.github/workflows/vulnerability-scans.yaml b/.github/workflows/vulnerability-scans.yaml
index 14d5dc406..cc3240931 100644
--- a/.github/workflows/vulnerability-scans.yaml
+++ b/.github/workflows/vulnerability-scans.yaml
@@ -75,7 +75,7 @@ jobs:
# This step checks out a copy of your repository.
- name: Upload SARIF file
- uses: github/codeql-action/upload-sarif@afb54ba388a7dca6ecae48f608c4ff05ff4cc77a # v3.25.15
+ uses: github/codeql-action/upload-sarif@eb055d739abdc2e8de2e5f4ba1a8b246daa779aa # v3.26.0
with:
token: ${{ github.token }}
# Path to SARIF file relative to the root of the repository
diff --git a/.github/workflows/zz-tmpl-k8s-e2e.yaml b/.github/workflows/zz-tmpl-k8s-e2e.yaml
index 30502e999..adf1dc0e8 100644
--- a/.github/workflows/zz-tmpl-k8s-e2e.yaml
+++ b/.github/workflows/zz-tmpl-k8s-e2e.yaml
@@ -50,7 +50,7 @@ jobs:
make kind-e2e-test
- name: Upload e2e junit-reports ${{ inputs.variation }}
- uses: actions/upload-artifact@89ef406dd8d7e03cfd12d9e0a4a378f454709029 # v4.3.5
+ uses: actions/upload-artifact@834a144ee995460fba8ed112a2fc961b36a5ec5a # v4.3.6
if: success() || failure()
with:
name: e2e-test-reports-${{ inputs.k8s-version }}${{ inputs.variation }}
From 164163ec7f5c2b570e4086c4a762845ee19e3266 Mon Sep 17 00:00:00 2001
From: k8s-infra-cherrypick-robot
<90416843+k8s-infra-cherrypick-robot@users.noreply.github.com>
Date: Mon, 12 Aug 2024 12:47:56 -0700
Subject: [PATCH 177/265] Bump github.com/onsi/ginkgo/v2 from 2.19.1 to 2.20.0
(#11772)
* Bump github.com/onsi/ginkgo/v2 from 2.19.1 to 2.20.0
Bumps [github.com/onsi/ginkgo/v2](https://github.com/onsi/ginkgo) from 2.19.1 to 2.20.0.
- [Release notes](https://github.com/onsi/ginkgo/releases)
- [Changelog](https://github.com/onsi/ginkgo/blob/master/CHANGELOG.md)
- [Commits](https://github.com/onsi/ginkgo/compare/v2.19.1...v2.20.0)
* Bump github.com/onsi/ginkgo/v2 from 2.19.1 to 2.20.0 elsewhere
---------
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Marco Ebert
---
build/run-in-docker.sh | 2 +-
go.mod | 12 ++++----
go.sum | 28 +++++++++----------
images/kube-webhook-certgen/rootfs/go.mod | 12 ++++----
images/kube-webhook-certgen/rootfs/go.sum | 34 ++++++++++++-----------
images/test-runner/Makefile | 4 +--
test/e2e/run-chart-test.sh | 2 +-
test/e2e/run-kind-e2e.sh | 2 +-
8 files changed, 49 insertions(+), 47 deletions(-)
diff --git a/build/run-in-docker.sh b/build/run-in-docker.sh
index 822ff265a..4cc678363 100755
--- a/build/run-in-docker.sh
+++ b/build/run-in-docker.sh
@@ -82,7 +82,7 @@ if [[ "$DOCKER_IN_DOCKER_ENABLED" == "true" ]]; then
echo "..reached DIND check TRUE block, inside run-in-docker.sh"
echo "FLAGS=$FLAGS"
#go env
- go install -mod=mod github.com/onsi/ginkgo/v2/ginkgo@v2.19.1
+ go install -mod=mod github.com/onsi/ginkgo/v2/ginkgo@v2.20.0
find / -type f -name ginkgo 2>/dev/null
which ginkgo
/bin/bash -c "${FLAGS}"
diff --git a/go.mod b/go.mod
index 3c6d41810..a65a3855c 100644
--- a/go.mod
+++ b/go.mod
@@ -14,7 +14,7 @@ require (
github.com/mitchellh/mapstructure v1.5.0
github.com/moul/pb v0.0.0-20220425114252-bca18df4138c
github.com/ncabatoff/process-exporter v0.8.3
- github.com/onsi/ginkgo/v2 v2.19.1
+ github.com/onsi/ginkgo/v2 v2.20.0
github.com/opencontainers/runc v1.1.13
github.com/pmezard/go-difflib v1.0.0
github.com/prometheus/client_golang v1.19.1
@@ -26,7 +26,7 @@ require (
github.com/yudai/gojsondiff v1.0.0
github.com/zakjan/cert-chain-resolver v0.0.0-20221221105603-fcedb00c5b30
golang.org/x/crypto v0.26.0
- golang.org/x/exp v0.0.0-20240416160154-fe59bbe5cc7f
+ 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
@@ -74,7 +74,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-20240424215950-a892ee059fd6 // 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
@@ -105,15 +105,15 @@ require (
github.com/yudai/pp v2.0.1+incompatible // indirect
go.starlark.net v0.0.0-20240123142251-f86470692795 // indirect
go.uber.org/zap v1.27.0 // indirect
- golang.org/x/mod v0.17.0 // indirect
- golang.org/x/net v0.26.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.21.1-0.20240508182429-e35e4ccd0d2d // indirect
+ golang.org/x/tools v0.24.0 // indirect
google.golang.org/genproto/googleapis/rpc v0.0.0-20240528184218-531527333157 // indirect
google.golang.org/protobuf v1.34.2 // indirect
gopkg.in/evanphx/json-patch.v5 v5.9.0 // indirect
diff --git a/go.sum b/go.sum
index e3b633438..197c94cf1 100644
--- a/go.sum
+++ b/go.sum
@@ -87,8 +87,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-20240424215950-a892ee059fd6 h1:k7nVchz72niMH6YLQNvHSdIE7iqsQxK1P41mySCvssg=
-github.com/google/pprof v0.0.0-20240424215950-a892ee059fd6/go.mod h1:kf6iHlnVGwgKolg33glAes7Yg/8iWP8ukqeldJSO7jw=
+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=
@@ -158,12 +158,12 @@ 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.19.1 h1:QXgq3Z8Crl5EL1WBAC98A5sEBHARrAJNzAmMxzLcRF0=
-github.com/onsi/ginkgo/v2 v2.19.1/go.mod h1:O3DtEWQkPa/F7fBMgmZQKKsluAy8pd3rEQdrjkPb9zA=
+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.34.0 h1:eSSPsPNp6ZpsG8X1OVmOTxig+CblTc4AxpPBykhe2Os=
-github.com/onsi/gomega v1.34.0/go.mod h1:MIKI8c+f+QLWk+hxbePD4i0LMJSExPaZOVfkoex4cAo=
+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=
@@ -230,20 +230,20 @@ golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8U
golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
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-20240416160154-fe59bbe5cc7f h1:99ci1mjWVBWwJiEKYY6jWa4d2nTQVIEhZIptnrVb1XY=
-golang.org/x/exp v0.0.0-20240416160154-fe59bbe5cc7f/go.mod h1:/lliqkxwWAhPjf5oSOIJup2XcqJaw8RGS6k3TGEc7GI=
+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.17.0 h1:zY54UmvipHiNd+pm+m0x9KhZ9hl1/7QNMyxXbc6ICqA=
-golang.org/x/mod v0.17.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c=
+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-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
golang.org/x/net v0.0.0-20190620200207-3b0461eec859/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-20200520004742-59133d7f0dd7/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A=
golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU=
-golang.org/x/net v0.26.0 h1:soB7SVo0PWrY4vPW/+ay0jKDNScG2X9wFeYlXIvJsOQ=
-golang.org/x/net v0.26.0/go.mod h1:5YKkiSynbBIh3p6iOc/vibscux0x38BZDkn8sCUPxHE=
+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=
@@ -281,8 +281,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-20201224043029-2b0845dc783e/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA=
golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA=
-golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d h1:vU5i/LfpvrRCpgM/VPfJLg5KjxD3E+hfT1SH+d9zLwg=
-golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d/go.mod h1:aiJjzUbINMkxbQROHiO6hDPo2LHcIPhhQsa9DLh0yGk=
+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=
diff --git a/images/kube-webhook-certgen/rootfs/go.mod b/images/kube-webhook-certgen/rootfs/go.mod
index 34cf0284f..52746ebd9 100644
--- a/images/kube-webhook-certgen/rootfs/go.mod
+++ b/images/kube-webhook-certgen/rootfs/go.mod
@@ -33,16 +33,16 @@ 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.19.1 // indirect
- github.com/onsi/gomega v1.34.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
github.com/stretchr/testify v1.9.0 // indirect
- golang.org/x/net v0.25.0 // indirect
+ golang.org/x/net v0.28.0 // indirect
golang.org/x/oauth2 v0.18.0 // indirect
- golang.org/x/sys v0.21.0 // indirect
- golang.org/x/term v0.20.0 // indirect
- golang.org/x/text v0.15.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
google.golang.org/appengine v1.6.8 // indirect
google.golang.org/protobuf v1.34.1 // indirect
diff --git a/images/kube-webhook-certgen/rootfs/go.sum b/images/kube-webhook-certgen/rootfs/go.sum
index 4229215bd..8ce13c672 100644
--- a/images/kube-webhook-certgen/rootfs/go.sum
+++ b/images/kube-webhook-certgen/rootfs/go.sum
@@ -32,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-20240424215950-a892ee059fd6 h1:k7nVchz72niMH6YLQNvHSdIE7iqsQxK1P41mySCvssg=
-github.com/google/pprof v0.0.0-20240424215950-a892ee059fd6/go.mod h1:kf6iHlnVGwgKolg33glAes7Yg/8iWP8ukqeldJSO7jw=
+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=
@@ -61,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.19.1 h1:QXgq3Z8Crl5EL1WBAC98A5sEBHARrAJNzAmMxzLcRF0=
-github.com/onsi/ginkgo/v2 v2.19.1/go.mod h1:O3DtEWQkPa/F7fBMgmZQKKsluAy8pd3rEQdrjkPb9zA=
-github.com/onsi/gomega v1.34.0 h1:eSSPsPNp6ZpsG8X1OVmOTxig+CblTc4AxpPBykhe2Os=
-github.com/onsi/gomega v1.34.0/go.mod h1:MIKI8c+f+QLWk+hxbePD4i0LMJSExPaZOVfkoex4cAo=
+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=
@@ -96,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=
@@ -105,8 +107,8 @@ 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.25.0 h1:d/OCCoBEUq33pjydKrGQhw7IlUPI2Oylr+8qLx49kac=
-golang.org/x/net v0.25.0/go.mod h1:JkAGAh7GEvH74S6FOH42FLoXpXbE/aqXSrIQjXgsiwM=
+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=
@@ -121,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.21.0 h1:rF+pYz3DAGSQAxAu1CbC7catZg4ebC4UIeIhKxBZvws=
-golang.org/x/sys v0.21.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.20.0 h1:VnkxpohqXaOBYJtBmEppKUG6mXpi+4O6purfc2+sMhw=
-golang.org/x/term v0.20.0/go.mod h1:8UkIAJTvZgivsXaD6/pH6U9ecQzZ45awqEOzuCvwpFY=
+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.15.0 h1:h1V/4gjBv8v9cjcR6+AR5+/cIYK5N/WAgiv4xlsEtAk=
-golang.org/x/text v0.15.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=
@@ -140,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.21.0 h1:qc0xYgIbsSDt9EyWz05J5wfa7LOVW0YTLOXrqdLAWIw=
-golang.org/x/tools v0.21.0/go.mod h1:aiJjzUbINMkxbQROHiO6hDPo2LHcIPhhQsa9DLh0yGk=
+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=
diff --git a/images/test-runner/Makefile b/images/test-runner/Makefile
index 9045b8a53..3d60a5313 100644
--- a/images/test-runner/Makefile
+++ b/images/test-runner/Makefile
@@ -59,7 +59,7 @@ image:
--build-arg YAML_LINT_VERSION=1.33.0 \
--build-arg YAMALE_VERSION=4.0.4 \
--build-arg HELM_VERSION=3.14.4 \
- --build-arg GINKGO_VERSION=2.19.1 \
+ --build-arg GINKGO_VERSION=2.20.0 \
--build-arg GOLINT_VERSION=latest \
-t ${IMAGE}:${TAG} rootfs
@@ -80,7 +80,7 @@ build: ensure-buildx
--build-arg YAML_LINT_VERSION=1.33.0 \
--build-arg YAMALE_VERSION=4.0.4 \
--build-arg HELM_VERSION=3.14.4 \
- --build-arg GINKGO_VERSION=2.19.1 \
+ --build-arg GINKGO_VERSION=2.20.0 \
--build-arg GOLINT_VERSION=latest \
-t ${IMAGE}:${TAG} rootfs
diff --git a/test/e2e/run-chart-test.sh b/test/e2e/run-chart-test.sh
index 106029c77..a3f5e1b4d 100755
--- a/test/e2e/run-chart-test.sh
+++ b/test/e2e/run-chart-test.sh
@@ -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.19.1
+ go install github.com/onsi/ginkgo/v2/ginkgo@v2.20.0
fi
echo "[dev-env] building image"
make -C ${DIR}/../../ clean-image build image
diff --git a/test/e2e/run-kind-e2e.sh b/test/e2e/run-kind-e2e.sh
index 9ef6f5acd..ab2cb2dd7 100755
--- a/test/e2e/run-kind-e2e.sh
+++ b/test/e2e/run-kind-e2e.sh
@@ -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.19.1
+ go install github.com/onsi/ginkgo/v2/ginkgo@v2.20.0
fi
echo "[dev-env] .. done building controller images"
From 819eee899d1574658e831f570fa64af61454def8 Mon Sep 17 00:00:00 2001
From: Marco Ebert
Date: Mon, 12 Aug 2024 22:57:08 +0200
Subject: [PATCH 178/265] Generate correct output on NumCPU() when using
cgroups2 (#11775)
Co-authored-by: Nicholas Orlowsky
---
pkg/util/runtime/cpu_linux.go | 97 +++++++++++++++++++++++++---
test/e2e/cgroups/cgroups.go | 115 ++++++++++++++++++++++++++++++++++
test/e2e/e2e.go | 1 +
3 files changed, 203 insertions(+), 10 deletions(-)
create mode 100644 test/e2e/cgroups/cgroups.go
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/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 25d714f88..631e70ae4 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/endpointslices"
From 0d5f75b2cfb3d3aa247946025ed1c1783b364e2b Mon Sep 17 00:00:00 2001
From: k8s-infra-cherrypick-robot
<90416843+k8s-infra-cherrypick-robot@users.noreply.github.com>
Date: Mon, 12 Aug 2024 14:01:05 -0700
Subject: [PATCH 179/265] Cloud Build: Add missing config, remove unused ones.
(#11776)
Co-authored-by: Marco Ebert
---
.../cloudbuild.yaml | 2 +-
images/go-grpc-greeter-server/cloudbuild.yaml | 11 -----------
2 files changed, 1 insertion(+), 12 deletions(-)
rename images/{ext-auth-example-authsvc => e2e-test-echo}/cloudbuild.yaml (92%)
delete mode 100644 images/go-grpc-greeter-server/cloudbuild.yaml
diff --git a/images/ext-auth-example-authsvc/cloudbuild.yaml b/images/e2e-test-echo/cloudbuild.yaml
similarity index 92%
rename from images/ext-auth-example-authsvc/cloudbuild.yaml
rename to images/e2e-test-echo/cloudbuild.yaml
index 09535a5a6..dc6e1dcf0 100644
--- a/images/ext-auth-example-authsvc/cloudbuild.yaml
+++ b/images/e2e-test-echo/cloudbuild.yaml
@@ -8,4 +8,4 @@ steps:
entrypoint: bash
args:
- -c
- - gcloud auth configure-docker && cd images && make NAME=ext-auth-example-authsvc push
+ - gcloud auth configure-docker && cd images && make NAME=e2e-test-echo push
diff --git a/images/go-grpc-greeter-server/cloudbuild.yaml b/images/go-grpc-greeter-server/cloudbuild.yaml
deleted file mode 100644
index 44e0bef8b..000000000
--- a/images/go-grpc-greeter-server/cloudbuild.yaml
+++ /dev/null
@@ -1,11 +0,0 @@
-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=go-grpc-greeter-server push
From 1b3ea586ab4f0695531091190e57b71fc005fd13 Mon Sep 17 00:00:00 2001
From: k8s-infra-cherrypick-robot
<90416843+k8s-infra-cherrypick-robot@users.noreply.github.com>
Date: Mon, 12 Aug 2024 15:27:22 -0700
Subject: [PATCH 180/265] Images: Trigger NGINX build. (#11780)
Co-authored-by: Marco Ebert
---
images/nginx-1.25/TAG | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/images/nginx-1.25/TAG b/images/nginx-1.25/TAG
index 3527dbc1b..f25246219 100644
--- a/images/nginx-1.25/TAG
+++ b/images/nginx-1.25/TAG
@@ -1 +1 @@
-v0.0.11
+v0.0.12
From a354195cce4442269f889d6cd8abb2dc9c44402a Mon Sep 17 00:00:00 2001
From: k8s-infra-cherrypick-robot
<90416843+k8s-infra-cherrypick-robot@users.noreply.github.com>
Date: Mon, 12 Aug 2024 17:02:26 -0700
Subject: [PATCH 181/265] Images: Bump `NGINX_BASE` to v0.0.12. (#11783)
Co-authored-by: Marco Ebert
---
NGINX_BASE | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/NGINX_BASE b/NGINX_BASE
index 1e1cf7a62..5e32265fa 100644
--- a/NGINX_BASE
+++ b/NGINX_BASE
@@ -1 +1 @@
-registry.k8s.io/ingress-nginx/nginx-1.25:v0.0.11@sha256:05bec8b13129c54cf855ad1802b0fe302c5d63c992b76b5b9ba897650938a328
+registry.k8s.io/ingress-nginx/nginx-1.25:v0.0.12@sha256:2d471b3a34dc43d10c3f3d7f2a6e8a2ecf7654a4197e56374261c1c708b16365
From dc2df247f2e1e34ffa12b5ad5a1f0ca9e4913f82 Mon Sep 17 00:00:00 2001
From: k8s-infra-cherrypick-robot
<90416843+k8s-infra-cherrypick-robot@users.noreply.github.com>
Date: Mon, 12 Aug 2024 23:32:48 -0700
Subject: [PATCH 182/265] Images: Trigger `test-runner` build. (#11786)
Co-authored-by: Marco Ebert
---
images/test-runner/TAG | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/images/test-runner/TAG b/images/test-runner/TAG
index 3ce186fb7..384942600 100644
--- a/images/test-runner/TAG
+++ b/images/test-runner/TAG
@@ -1 +1 @@
-v0.0.8
+v0.0.9
From a76ecf8111b72194e6bd90807975937d875c146c Mon Sep 17 00:00:00 2001
From: k8s-infra-cherrypick-robot
<90416843+k8s-infra-cherrypick-robot@users.noreply.github.com>
Date: Tue, 13 Aug 2024 00:43:41 -0700
Subject: [PATCH 183/265] Tests: Bump `e2e-test-runner` to v20240812-3f0129aa.
(#11791)
Co-authored-by: Marco Ebert
---
build/run-in-docker.sh | 2 +-
test/e2e-image/Makefile | 2 +-
test/e2e/run-chart-test.sh | 2 +-
3 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/build/run-in-docker.sh b/build/run-in-docker.sh
index 4cc678363..fcbf8f6cd 100755
--- a/build/run-in-docker.sh
+++ b/build/run-in-docker.sh
@@ -44,7 +44,7 @@ function cleanup {
}
trap cleanup EXIT
-E2E_IMAGE=${E2E_IMAGE:-registry.k8s.io/ingress-nginx/e2e-test-runner:v20240729-04899b27@sha256:9f067e6c861343da47f5851bf255aecdeb33a61fc5991a6c659fb237a3f619f9}
+E2E_IMAGE=${E2E_IMAGE:-registry.k8s.io/ingress-nginx/e2e-test-runner:v20240812-3f0129aa@sha256:95c2aaf2a66e8cbbf7a7453046f3b024383c273a0988efab841cd96116afd1a9}
if [[ "$RUNTIME" == podman ]]; then
# Podman does not support both tag and digest
diff --git a/test/e2e-image/Makefile b/test/e2e-image/Makefile
index 9ade9961f..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:v20240729-04899b27@sha256:9f067e6c861343da47f5851bf255aecdeb33a61fc5991a6c659fb237a3f619f9"
+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/run-chart-test.sh b/test/e2e/run-chart-test.sh
index a3f5e1b4d..7d388c215 100755
--- a/test/e2e/run-chart-test.sh
+++ b/test/e2e/run-chart-test.sh
@@ -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:v20240729-04899b27@sha256:9f067e6c861343da47f5851bf255aecdeb33a61fc5991a6c659fb237a3f619f9 \
+ registry.k8s.io/ingress-nginx/e2e-test-runner:v20240812-3f0129aa@sha256:95c2aaf2a66e8cbbf7a7453046f3b024383c273a0988efab841cd96116afd1a9 \
ct install \
--charts charts/ingress-nginx \
--helm-extra-args "--timeout 60s"
From 255ee7bacc12e3108a12216736ddf92dc966ff49 Mon Sep 17 00:00:00 2001
From: k8s-infra-cherrypick-robot
<90416843+k8s-infra-cherrypick-robot@users.noreply.github.com>
Date: Tue, 13 Aug 2024 03:00:47 -0700
Subject: [PATCH 184/265] Controller: Fix panic in alternative backend merging.
(#11793)
Co-authored-by: joey
---
internal/ingress/controller/controller.go | 12 +++-
.../ingress/controller/controller_test.go | 68 +++++++++++++++++++
2 files changed, 78 insertions(+), 2 deletions(-)
diff --git a/internal/ingress/controller/controller.go b/internal/ingress/controller/controller.go
index 0588791be..de8eb97fc 100644
--- a/internal/ingress/controller/controller.go
+++ b/internal/ingress/controller/controller.go
@@ -1590,7 +1590,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!",
@@ -1649,7 +1653,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 {
From 591021acd5f67c2971e87c6aa11acdd35168094f Mon Sep 17 00:00:00 2001
From: k8s-infra-cherrypick-robot
<90416843+k8s-infra-cherrypick-robot@users.noreply.github.com>
Date: Tue, 13 Aug 2024 03:37:28 -0700
Subject: [PATCH 185/265] Images: Trigger other builds. (#11797)
Co-authored-by: Marco Ebert
---
images/cfssl/TAG | 2 +-
images/custom-error-pages/TAG | 2 +-
images/e2e-test-echo/TAG | 2 +-
images/ext-auth-example-authsvc/TAG | 2 +-
images/fastcgi-helloserver/TAG | 2 +-
images/go-grpc-greeter-server/TAG | 2 +-
images/httpbun/TAG | 2 +-
images/kube-webhook-certgen/TAG | 2 +-
images/nginx/TAG | 2 +-
images/opentelemetry/TAG | 2 +-
10 files changed, 10 insertions(+), 10 deletions(-)
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/custom-error-pages/TAG b/images/custom-error-pages/TAG
index f9cece58d..0ec25f750 100644
--- a/images/custom-error-pages/TAG
+++ b/images/custom-error-pages/TAG
@@ -1 +1 @@
-v0.0.3
+v1.0.0
diff --git a/images/e2e-test-echo/TAG b/images/e2e-test-echo/TAG
index f9cece58d..0ec25f750 100644
--- a/images/e2e-test-echo/TAG
+++ b/images/e2e-test-echo/TAG
@@ -1 +1 @@
-v0.0.3
+v1.0.0
diff --git a/images/ext-auth-example-authsvc/TAG b/images/ext-auth-example-authsvc/TAG
index f9cece58d..0ec25f750 100644
--- a/images/ext-auth-example-authsvc/TAG
+++ b/images/ext-auth-example-authsvc/TAG
@@ -1 +1 @@
-v0.0.3
+v1.0.0
diff --git a/images/fastcgi-helloserver/TAG b/images/fastcgi-helloserver/TAG
index f9cece58d..0ec25f750 100644
--- a/images/fastcgi-helloserver/TAG
+++ b/images/fastcgi-helloserver/TAG
@@ -1 +1 @@
-v0.0.3
+v1.0.0
diff --git a/images/go-grpc-greeter-server/TAG b/images/go-grpc-greeter-server/TAG
index f9cece58d..0ec25f750 100644
--- a/images/go-grpc-greeter-server/TAG
+++ b/images/go-grpc-greeter-server/TAG
@@ -1 +1 @@
-v0.0.3
+v1.0.0
diff --git a/images/httpbun/TAG b/images/httpbun/TAG
index f9cece58d..0ec25f750 100644
--- a/images/httpbun/TAG
+++ b/images/httpbun/TAG
@@ -1 +1 @@
-v0.0.3
+v1.0.0
diff --git a/images/kube-webhook-certgen/TAG b/images/kube-webhook-certgen/TAG
index c432e90f2..92f76b423 100644
--- a/images/kube-webhook-certgen/TAG
+++ b/images/kube-webhook-certgen/TAG
@@ -1 +1 @@
-v1.4.2
+v1.4.3
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/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
From eff40aca50916e40d3216db4e8bd284277d65ab0 Mon Sep 17 00:00:00 2001
From: k8s-infra-cherrypick-robot
<90416843+k8s-infra-cherrypick-robot@users.noreply.github.com>
Date: Tue, 13 Aug 2024 11:58:42 -0700
Subject: [PATCH 186/265] Images: Trigger failed builds. (#11801)
Co-authored-by: Marco Ebert
---
images/custom-error-pages/TAG | 2 +-
images/fastcgi-helloserver/TAG | 2 +-
images/httpbun/TAG | 2 +-
3 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/images/custom-error-pages/TAG b/images/custom-error-pages/TAG
index 0ec25f750..b18d46540 100644
--- a/images/custom-error-pages/TAG
+++ b/images/custom-error-pages/TAG
@@ -1 +1 @@
-v1.0.0
+v1.0.1
diff --git a/images/fastcgi-helloserver/TAG b/images/fastcgi-helloserver/TAG
index 0ec25f750..b18d46540 100644
--- a/images/fastcgi-helloserver/TAG
+++ b/images/fastcgi-helloserver/TAG
@@ -1 +1 @@
-v1.0.0
+v1.0.1
diff --git a/images/httpbun/TAG b/images/httpbun/TAG
index 0ec25f750..b18d46540 100644
--- a/images/httpbun/TAG
+++ b/images/httpbun/TAG
@@ -1 +1 @@
-v1.0.0
+v1.0.1
From 5862677a1b28fbda6f0562cd3ed6adde350bd68a Mon Sep 17 00:00:00 2001
From: Marco Ebert
Date: Thu, 15 Aug 2024 08:26:51 +0200
Subject: [PATCH 187/265] Tests & Docs: Bump images. (#11804)
* Tests: Bump CFSSL.
* Docs: Bump Custom Error Pages.
* Tests: Bump FastCGI HelloServer.
* Tests: Bump HTTPBun.
* Docs: Bump OpenTelemetry.
---
.../custom-errors/custom-default-backend.helm.values.yaml | 4 ++--
.../customization/custom-errors/custom-default-backend.yaml | 2 +-
docs/user-guide/third-party-addons/opentelemetry.md | 2 +-
images/test-runner/rootfs/Dockerfile | 4 ++--
test/e2e/HTTPBUN_IMAGE | 2 +-
test/e2e/framework/fastcgi_helloserver.go | 2 +-
test/e2e/settings/ocsp/ocsp.go | 2 +-
7 files changed, 9 insertions(+), 9 deletions(-)
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/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/images/test-runner/rootfs/Dockerfile b/images/test-runner/rootfs/Dockerfile
index ff031182d..fd664f2e5 100644
--- a/images/test-runner/rootfs/Dockerfile
+++ b/images/test-runner/rootfs/Dockerfile
@@ -66,8 +66,8 @@ RUN apk update && apk upgrade && apk add --no-cache \
openssl \
cfssl@testing \
tzdata \
- libc6-compat \
- sqlite-dev
+ 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/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/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/settings/ocsp/ocsp.go b/test/e2e/settings/ocsp/ocsp.go
index 21cda3008..ef3bfb58a 100644
--- a/test/e2e/settings/ocsp/ocsp.go
+++ b/test/e2e/settings/ocsp/ocsp.go
@@ -295,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",
From 648cbcca7c793ced48162f7fc271fc0e2370f693 Mon Sep 17 00:00:00 2001
From: Marco Ebert
Date: Thu, 15 Aug 2024 10:54:07 +0200
Subject: [PATCH 188/265] Images: Trigger controller build. (#11808)
---
TAG | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/TAG b/TAG
index d9c8fd407..66acda7a3 100644
--- a/TAG
+++ b/TAG
@@ -1 +1 @@
-v1.10.3
+v1.10.4
From 71ecd17faa7e4bdd5e71a24f2c80565e9539b7fa Mon Sep 17 00:00:00 2001
From: k8s-infra-cherrypick-robot
<90416843+k8s-infra-cherrypick-robot@users.noreply.github.com>
Date: Thu, 15 Aug 2024 05:53:18 -0700
Subject: [PATCH 189/265] Chart: Bump Kube Webhook CertGen & OpenTelemetry.
(#11811)
Co-authored-by: Marco Ebert
---
charts/ingress-nginx/README.md | 10 +++++-----
charts/ingress-nginx/values.yaml | 10 +++++-----
2 files changed, 10 insertions(+), 10 deletions(-)
diff --git a/charts/ingress-nginx/README.md b/charts/ingress-nginx/README.md
index ef7fad7b8..3ad6eead1 100644
--- a/charts/ingress-nginx/README.md
+++ b/charts/ingress-nginx/README.md
@@ -253,11 +253,11 @@ As of version `1.26.0` of this chart, by simply not providing any clusterIP valu
| controller.admissionWebhooks.namespaceSelector | object | `{}` | |
| controller.admissionWebhooks.objectSelector | object | `{}` | |
| controller.admissionWebhooks.patch.enabled | bool | `true` | |
-| controller.admissionWebhooks.patch.image.digest | string | `"sha256:36d05b4077fb8e3d13663702fa337f124675ba8667cbd949c03a8e8ea6fa4366"` | |
+| controller.admissionWebhooks.patch.image.digest | string | `"sha256:a320a50cc91bd15fd2d6fa6de58bd98c1bd64b9a6f926ce23a600d87043455a3"` | |
| controller.admissionWebhooks.patch.image.image | string | `"ingress-nginx/kube-webhook-certgen"` | |
| controller.admissionWebhooks.patch.image.pullPolicy | string | `"IfNotPresent"` | |
| controller.admissionWebhooks.patch.image.registry | string | `"registry.k8s.io"` | |
-| controller.admissionWebhooks.patch.image.tag | string | `"v1.4.1"` | |
+| controller.admissionWebhooks.patch.image.tag | string | `"v1.4.3"` | |
| controller.admissionWebhooks.patch.labels | object | `{}` | Labels to be added to patch job resources |
| controller.admissionWebhooks.patch.networkPolicy.enabled | bool | `false` | Enable 'networkPolicy' or not |
| controller.admissionWebhooks.patch.nodeSelector."kubernetes.io/os" | string | `"linux"` | |
@@ -390,11 +390,11 @@ As of version `1.26.0` of this chart, by simply not providing any clusterIP valu
| controller.opentelemetry.containerSecurityContext.runAsUser | int | `65532` | The image's default user, inherited from its base image `cgr.dev/chainguard/static`. |
| controller.opentelemetry.containerSecurityContext.seccompProfile.type | string | `"RuntimeDefault"` | |
| controller.opentelemetry.enabled | bool | `false` | |
-| controller.opentelemetry.image.digest | string | `"sha256:13bee3f5223883d3ca62fee7309ad02d22ec00ff0d7033e3e9aca7a9f60fd472"` | |
+| controller.opentelemetry.image.digest | string | `"sha256:f7604ac0547ed64d79b98d92133234e66c2c8aade3c1f4809fed5eec1fb7f922"` | |
| controller.opentelemetry.image.distroless | bool | `true` | |
-| controller.opentelemetry.image.image | string | `"ingress-nginx/opentelemetry"` | |
+| controller.opentelemetry.image.image | string | `"ingress-nginx/opentelemetry-1.25.3"` | |
| controller.opentelemetry.image.registry | string | `"registry.k8s.io"` | |
-| controller.opentelemetry.image.tag | string | `"v20230721-3e2062ee5"` | |
+| controller.opentelemetry.image.tag | string | `"v20240813-b933310d"` | |
| controller.opentelemetry.name | string | `"opentelemetry"` | |
| controller.opentelemetry.resources | object | `{}` | |
| controller.podAnnotations | object | `{}` | Annotations to be added to controller pods # |
diff --git a/charts/ingress-nginx/values.yaml b/charts/ingress-nginx/values.yaml
index 4b0cd4e6c..333ffff8c 100644
--- a/charts/ingress-nginx/values.yaml
+++ b/charts/ingress-nginx/values.yaml
@@ -692,12 +692,12 @@ controller:
name: opentelemetry
image:
registry: registry.k8s.io
- image: ingress-nginx/opentelemetry
+ image: ingress-nginx/opentelemetry-1.25.3
## for backwards compatibility consider setting the full image url via the repository value below
## use *either* current default registry/image or repository format or installing chart by providing the values.yaml will fail
## repository:
- tag: "v20230721-3e2062ee5"
- digest: sha256:13bee3f5223883d3ca62fee7309ad02d22ec00ff0d7033e3e9aca7a9f60fd472
+ tag: v20240813-b933310d
+ digest: sha256:f7604ac0547ed64d79b98d92133234e66c2c8aade3c1f4809fed5eec1fb7f922
distroless: true
containerSecurityContext:
runAsNonRoot: true
@@ -790,8 +790,8 @@ controller:
## for backwards compatibility consider setting the full image url via the repository value below
## use *either* current default registry/image or repository format or installing chart by providing the values.yaml will fail
## repository:
- tag: v1.4.1
- digest: sha256:36d05b4077fb8e3d13663702fa337f124675ba8667cbd949c03a8e8ea6fa4366
+ tag: v1.4.3
+ digest: sha256:a320a50cc91bd15fd2d6fa6de58bd98c1bd64b9a6f926ce23a600d87043455a3
pullPolicy: IfNotPresent
# -- Provide a priority class name to the webhook patching job
##
From f08a1c4fdac2e0ef6053333b24191c50cc51f30c Mon Sep 17 00:00:00 2001
From: Marco Ebert
Date: Fri, 16 Aug 2024 08:54:28 +0200
Subject: [PATCH 190/265] Release controller v1.10.4 & chart v4.10.4. (#11815)
---
README.md | 1 +
changelog/controller-1.10.4.md | 53 +++++++++++++++++++
charts/ingress-nginx/Chart.yaml | 6 +--
charts/ingress-nginx/README.md | 8 +--
.../changelog/helm-chart-4.10.4.md | 9 ++++
charts/ingress-nginx/values.yaml | 6 +--
deploy/static/provider/aws/deploy.yaml | 48 ++++++++---------
.../aws/nlb-with-tls-termination/deploy.yaml | 48 ++++++++---------
deploy/static/provider/baremetal/deploy.yaml | 48 ++++++++---------
deploy/static/provider/cloud/deploy.yaml | 48 ++++++++---------
deploy/static/provider/do/deploy.yaml | 48 ++++++++---------
deploy/static/provider/exoscale/deploy.yaml | 48 ++++++++---------
deploy/static/provider/kind/deploy.yaml | 48 ++++++++---------
deploy/static/provider/oracle/deploy.yaml | 48 ++++++++---------
deploy/static/provider/scw/deploy.yaml | 48 ++++++++---------
docs/deploy/index.md | 20 +++----
docs/e2e-tests.md | 3 ++
17 files changed, 302 insertions(+), 236 deletions(-)
create mode 100644 changelog/controller-1.10.4.md
create mode 100644 charts/ingress-nginx/changelog/helm-chart-4.10.4.md
diff --git a/README.md b/README.md
index 374f7894a..21ec07ef8 100644
--- a/README.md
+++ b/README.md
@@ -37,6 +37,7 @@ the versions listed. Ingress-Nginx versions **may** work on older versions, but
| Supported | Ingress-NGINX version | k8s supported version | Alpine Version | Nginx Version | Helm Chart Version |
| :-------: | --------------------- | ----------------------------- | -------------- | ------------- | ------------------ |
+| 🔄 | **v1.10.4** | 1.30, 1.29, 1.28, 1.27, 1.26 | 3.20.0 | 1.25.5 | 4.10.4 |
| 🔄 | **v1.10.3** | 1.30, 1.29, 1.28, 1.27, 1.26 | 3.20.0 | 1.25.5 | 4.10.3 |
| 🔄 | **v1.10.2** | 1.30, 1.29, 1.28, 1.27, 1.26 | 3.20.0 | 1.25.5 | 4.10.2 |
| 🔄 | **v1.10.1** | 1.30, 1.29, 1.28, 1.27, 1.26 | 3.19.1 | 1.25.3 | 4.10.1 |
diff --git a/changelog/controller-1.10.4.md b/changelog/controller-1.10.4.md
new file mode 100644
index 000000000..9a4e8025b
--- /dev/null
+++ b/changelog/controller-1.10.4.md
@@ -0,0 +1,53 @@
+# Changelog
+
+### controller-v1.10.4
+
+Images:
+
+* registry.k8s.io/ingress-nginx/controller:v1.10.4@sha256:505b9048c02dde3d6c8667bf0b52aba7b36adf7b03da34c47d5fa312d2d4c6fc
+* registry.k8s.io/ingress-nginx/controller-chroot:v1.10.4@sha256:bf71acf6e71830a4470e2183e3bc93c4f006b954f8a05fb434242ef0f8a24858
+
+### All changes:
+
+* Chart: Bump Kube Webhook CertGen & OpenTelemetry. (#11811)
+* Images: Trigger controller build. (#11808)
+* Tests & Docs: Bump images. (#11804)
+* Images: Trigger failed builds. (#11801)
+* Images: Trigger other builds. (#11797)
+* Controller: Fix panic in alternative backend merging. (#11793)
+* Tests: Bump `e2e-test-runner` to v20240812-3f0129aa. (#11791)
+* Images: Trigger `test-runner` build. (#11786)
+* Images: Bump `NGINX_BASE` to v0.0.12. (#11783)
+* Images: Trigger NGINX build. (#11780)
+* Cloud Build: Add missing config, remove unused ones. (#11776)
+* Generate correct output on NumCPU() when using cgroups2 (#11775)
+* Cloud Build: Tweak timeouts. (#11762)
+* Cloud Build: Fix substitutions. (#11759)
+* Cloud Build: Some chores. (#11756)
+* Go: Bump to v1.22.6. (#11748)
+* Images: Bump `NGINX_BASE` to v0.0.11. (#11744)
+* Images: Trigger NGINX build. (#11736)
+* docs: update OpenSSL Roadmap link (#11734)
+* Go: Bump to v1.22.5. (#11731)
+* Docs: Fix typo in AWS LB Controller reference (#11724)
+* Perform some cleaning operations on line breaks. (#11722)
+* Missing anchors in regular expression. (#11718)
+* Docs: Fix `from-to-www` redirect description. (#11715)
+* Chart: Remove `isControllerTagValid`. (#11714)
+* Tests: Bump `e2e-test-runner` to v20240729-04899b27. (#11704)
+* Docs: Clarify `from-to-www` redirect direction. (#11692)
+* added real-client-ip faq (#11665)
+* Docs: Format NGINX configuration table. (#11660)
+
+### Dependency updates:
+
+* Bump github.com/onsi/ginkgo/v2 from 2.19.1 to 2.20.0 (#11772)
+* Bump the all group with 2 updates (#11770)
+* Bump golang.org/x/crypto from 0.25.0 to 0.26.0 (#11768)
+* Bump the all group with 3 updates (#11729)
+* Bump github.com/onsi/ginkgo/v2 from 2.19.0 to 2.19.1 in the all group (#11700)
+* Bump the all group with 2 updates (#11697)
+* Bump the all group with 4 updates (#11676)
+* Bump the all group with 2 updates (#11674)
+
+**Full Changelog**: https://github.com/kubernetes/ingress-nginx/compare/controller-v1.10.3...controller-v1.10.4
diff --git a/charts/ingress-nginx/Chart.yaml b/charts/ingress-nginx/Chart.yaml
index 0a68559a2..bf7fc6ee1 100644
--- a/charts/ingress-nginx/Chart.yaml
+++ b/charts/ingress-nginx/Chart.yaml
@@ -1,9 +1,9 @@
annotations:
artifacthub.io/changes: |
- - Update Ingress-Nginx version controller-v1.10.3
+ - Update Ingress-Nginx version controller-v1.10.4
artifacthub.io/prerelease: "false"
apiVersion: v2
-appVersion: 1.10.3
+appVersion: 1.10.4
description: Ingress controller for Kubernetes using NGINX as a reverse proxy and
load balancer
home: https://github.com/kubernetes/ingress-nginx
@@ -22,4 +22,4 @@ maintainers:
name: ingress-nginx
sources:
- https://github.com/kubernetes/ingress-nginx
-version: 4.10.3
+version: 4.10.4
diff --git a/charts/ingress-nginx/README.md b/charts/ingress-nginx/README.md
index 3ad6eead1..a66c1e102 100644
--- a/charts/ingress-nginx/README.md
+++ b/charts/ingress-nginx/README.md
@@ -2,7 +2,7 @@
[ingress-nginx](https://github.com/kubernetes/ingress-nginx) Ingress controller for Kubernetes using NGINX as a reverse proxy and load balancer
- 
+ 
To use, add `ingressClassName: nginx` spec field or the `kubernetes.io/ingress.class: nginx` annotation to your Ingress resources.
@@ -317,8 +317,8 @@ As of version `1.26.0` of this chart, by simply not providing any clusterIP valu
| controller.hostname | object | `{}` | Optionally customize the pod hostname. |
| controller.image.allowPrivilegeEscalation | bool | `false` | |
| controller.image.chroot | bool | `false` | |
-| controller.image.digest | string | `"sha256:b5a5082f8e508cc1aac1c0ef101dc2f87b63d51598a5747d81d6cf6e7ba058fd"` | |
-| controller.image.digestChroot | string | `"sha256:9033e04bd3cd01f92414f8d5999c5095734d4caceb4923942298152a38373d4b"` | |
+| controller.image.digest | string | `"sha256:505b9048c02dde3d6c8667bf0b52aba7b36adf7b03da34c47d5fa312d2d4c6fc"` | |
+| controller.image.digestChroot | string | `"sha256:bf71acf6e71830a4470e2183e3bc93c4f006b954f8a05fb434242ef0f8a24858"` | |
| controller.image.image | string | `"ingress-nginx/controller"` | |
| controller.image.pullPolicy | string | `"IfNotPresent"` | |
| controller.image.readOnlyRootFilesystem | bool | `false` | |
@@ -326,7 +326,7 @@ As of version `1.26.0` of this chart, by simply not providing any clusterIP valu
| controller.image.runAsNonRoot | bool | `true` | |
| controller.image.runAsUser | int | `101` | |
| controller.image.seccompProfile.type | string | `"RuntimeDefault"` | |
-| controller.image.tag | string | `"v1.10.3"` | |
+| controller.image.tag | string | `"v1.10.4"` | |
| controller.ingressClass | string | `"nginx"` | For backwards compatibility with ingress.class annotation, use ingressClass. Algorithm is as follows, first ingressClassName is considered, if not present, controller looks for ingress.class annotation |
| controller.ingressClassByName | bool | `false` | Process IngressClass per name (additionally as per spec.controller). |
| controller.ingressClassResource | object | `{"controllerValue":"k8s.io/ingress-nginx","default":false,"enabled":true,"name":"nginx","parameters":{}}` | This section refers to the creation of the IngressClass resource. IngressClasses are immutable and cannot be changed after creation. We do not support namespaced IngressClasses, yet, so a ClusterRole and a ClusterRoleBinding is required. |
diff --git a/charts/ingress-nginx/changelog/helm-chart-4.10.4.md b/charts/ingress-nginx/changelog/helm-chart-4.10.4.md
new file mode 100644
index 000000000..661d3c9bb
--- /dev/null
+++ b/charts/ingress-nginx/changelog/helm-chart-4.10.4.md
@@ -0,0 +1,9 @@
+# Changelog
+
+This file documents all notable changes to [ingress-nginx](https://github.com/kubernetes/ingress-nginx) Helm Chart. The release numbering uses [semantic versioning](http://semver.org).
+
+### 4.10.4
+
+* Update Ingress-Nginx version controller-v1.10.4
+
+**Full Changelog**: https://github.com/kubernetes/ingress-nginx/compare/helm-chart-4.10.3...helm-chart-4.10.4
diff --git a/charts/ingress-nginx/values.yaml b/charts/ingress-nginx/values.yaml
index 333ffff8c..588072d29 100644
--- a/charts/ingress-nginx/values.yaml
+++ b/charts/ingress-nginx/values.yaml
@@ -26,9 +26,9 @@ controller:
## for backwards compatibility consider setting the full image url via the repository value below
## use *either* current default registry/image or repository format or installing chart by providing the values.yaml will fail
## repository:
- tag: "v1.10.3"
- digest: sha256:b5a5082f8e508cc1aac1c0ef101dc2f87b63d51598a5747d81d6cf6e7ba058fd
- digestChroot: sha256:9033e04bd3cd01f92414f8d5999c5095734d4caceb4923942298152a38373d4b
+ tag: "v1.10.4"
+ digest: sha256:505b9048c02dde3d6c8667bf0b52aba7b36adf7b03da34c47d5fa312d2d4c6fc
+ digestChroot: sha256:bf71acf6e71830a4470e2183e3bc93c4f006b954f8a05fb434242ef0f8a24858
pullPolicy: IfNotPresent
runAsNonRoot: true
# www-data -> uid 101
diff --git a/deploy/static/provider/aws/deploy.yaml b/deploy/static/provider/aws/deploy.yaml
index f6fb251e3..e76e53bf8 100644
--- a/deploy/static/provider/aws/deploy.yaml
+++ b/deploy/static/provider/aws/deploy.yaml
@@ -15,7 +15,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.3
+ app.kubernetes.io/version: 1.10.4
name: ingress-nginx
namespace: ingress-nginx
---
@@ -27,7 +27,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.3
+ app.kubernetes.io/version: 1.10.4
name: ingress-nginx-admission
namespace: ingress-nginx
---
@@ -39,7 +39,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.3
+ app.kubernetes.io/version: 1.10.4
name: ingress-nginx
namespace: ingress-nginx
rules:
@@ -129,7 +129,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.3
+ app.kubernetes.io/version: 1.10.4
name: ingress-nginx-admission
namespace: ingress-nginx
rules:
@@ -148,7 +148,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.3
+ app.kubernetes.io/version: 1.10.4
name: ingress-nginx
rules:
- apiGroups:
@@ -230,7 +230,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.3
+ app.kubernetes.io/version: 1.10.4
name: ingress-nginx-admission
rules:
- apiGroups:
@@ -249,7 +249,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.3
+ app.kubernetes.io/version: 1.10.4
name: ingress-nginx
namespace: ingress-nginx
roleRef:
@@ -269,7 +269,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.3
+ app.kubernetes.io/version: 1.10.4
name: ingress-nginx-admission
namespace: ingress-nginx
roleRef:
@@ -288,7 +288,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.3
+ app.kubernetes.io/version: 1.10.4
name: ingress-nginx
roleRef:
apiGroup: rbac.authorization.k8s.io
@@ -307,7 +307,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.3
+ app.kubernetes.io/version: 1.10.4
name: ingress-nginx-admission
roleRef:
apiGroup: rbac.authorization.k8s.io
@@ -328,7 +328,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.3
+ app.kubernetes.io/version: 1.10.4
name: ingress-nginx-controller
namespace: ingress-nginx
---
@@ -344,7 +344,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.3
+ app.kubernetes.io/version: 1.10.4
name: ingress-nginx-controller
namespace: ingress-nginx
spec:
@@ -377,7 +377,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.3
+ app.kubernetes.io/version: 1.10.4
name: ingress-nginx-controller-admission
namespace: ingress-nginx
spec:
@@ -400,7 +400,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.3
+ app.kubernetes.io/version: 1.10.4
name: ingress-nginx-controller
namespace: ingress-nginx
spec:
@@ -422,7 +422,7 @@ spec:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.3
+ app.kubernetes.io/version: 1.10.4
spec:
containers:
- args:
@@ -447,7 +447,7 @@ spec:
fieldPath: metadata.namespace
- name: LD_PRELOAD
value: /usr/local/lib/libmimalloc.so
- image: registry.k8s.io/ingress-nginx/controller:v1.10.3@sha256:b5a5082f8e508cc1aac1c0ef101dc2f87b63d51598a5747d81d6cf6e7ba058fd
+ image: registry.k8s.io/ingress-nginx/controller:v1.10.4@sha256:505b9048c02dde3d6c8667bf0b52aba7b36adf7b03da34c47d5fa312d2d4c6fc
imagePullPolicy: IfNotPresent
lifecycle:
preStop:
@@ -523,7 +523,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.3
+ app.kubernetes.io/version: 1.10.4
name: ingress-nginx-admission-create
namespace: ingress-nginx
spec:
@@ -534,7 +534,7 @@ spec:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.3
+ app.kubernetes.io/version: 1.10.4
name: ingress-nginx-admission-create
spec:
containers:
@@ -548,7 +548,7 @@ spec:
valueFrom:
fieldRef:
fieldPath: metadata.namespace
- image: registry.k8s.io/ingress-nginx/kube-webhook-certgen:v1.4.1@sha256:36d05b4077fb8e3d13663702fa337f124675ba8667cbd949c03a8e8ea6fa4366
+ image: registry.k8s.io/ingress-nginx/kube-webhook-certgen:v1.4.3@sha256:a320a50cc91bd15fd2d6fa6de58bd98c1bd64b9a6f926ce23a600d87043455a3
imagePullPolicy: IfNotPresent
name: create
securityContext:
@@ -574,7 +574,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.3
+ app.kubernetes.io/version: 1.10.4
name: ingress-nginx-admission-patch
namespace: ingress-nginx
spec:
@@ -585,7 +585,7 @@ spec:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.3
+ app.kubernetes.io/version: 1.10.4
name: ingress-nginx-admission-patch
spec:
containers:
@@ -601,7 +601,7 @@ spec:
valueFrom:
fieldRef:
fieldPath: metadata.namespace
- image: registry.k8s.io/ingress-nginx/kube-webhook-certgen:v1.4.1@sha256:36d05b4077fb8e3d13663702fa337f124675ba8667cbd949c03a8e8ea6fa4366
+ image: registry.k8s.io/ingress-nginx/kube-webhook-certgen:v1.4.3@sha256:a320a50cc91bd15fd2d6fa6de58bd98c1bd64b9a6f926ce23a600d87043455a3
imagePullPolicy: IfNotPresent
name: patch
securityContext:
@@ -627,7 +627,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.3
+ app.kubernetes.io/version: 1.10.4
name: nginx
spec:
controller: k8s.io/ingress-nginx
@@ -640,7 +640,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.3
+ app.kubernetes.io/version: 1.10.4
name: ingress-nginx-admission
webhooks:
- admissionReviewVersions:
diff --git a/deploy/static/provider/aws/nlb-with-tls-termination/deploy.yaml b/deploy/static/provider/aws/nlb-with-tls-termination/deploy.yaml
index 91ab3710b..b31e7c6d7 100644
--- a/deploy/static/provider/aws/nlb-with-tls-termination/deploy.yaml
+++ b/deploy/static/provider/aws/nlb-with-tls-termination/deploy.yaml
@@ -15,7 +15,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.3
+ app.kubernetes.io/version: 1.10.4
name: ingress-nginx
namespace: ingress-nginx
---
@@ -27,7 +27,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.3
+ app.kubernetes.io/version: 1.10.4
name: ingress-nginx-admission
namespace: ingress-nginx
---
@@ -39,7 +39,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.3
+ app.kubernetes.io/version: 1.10.4
name: ingress-nginx
namespace: ingress-nginx
rules:
@@ -129,7 +129,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.3
+ app.kubernetes.io/version: 1.10.4
name: ingress-nginx-admission
namespace: ingress-nginx
rules:
@@ -148,7 +148,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.3
+ app.kubernetes.io/version: 1.10.4
name: ingress-nginx
rules:
- apiGroups:
@@ -230,7 +230,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.3
+ app.kubernetes.io/version: 1.10.4
name: ingress-nginx-admission
rules:
- apiGroups:
@@ -249,7 +249,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.3
+ app.kubernetes.io/version: 1.10.4
name: ingress-nginx
namespace: ingress-nginx
roleRef:
@@ -269,7 +269,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.3
+ app.kubernetes.io/version: 1.10.4
name: ingress-nginx-admission
namespace: ingress-nginx
roleRef:
@@ -288,7 +288,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.3
+ app.kubernetes.io/version: 1.10.4
name: ingress-nginx
roleRef:
apiGroup: rbac.authorization.k8s.io
@@ -307,7 +307,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.3
+ app.kubernetes.io/version: 1.10.4
name: ingress-nginx-admission
roleRef:
apiGroup: rbac.authorization.k8s.io
@@ -335,7 +335,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.3
+ app.kubernetes.io/version: 1.10.4
name: ingress-nginx-controller
namespace: ingress-nginx
---
@@ -353,7 +353,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.3
+ app.kubernetes.io/version: 1.10.4
name: ingress-nginx-controller
namespace: ingress-nginx
spec:
@@ -386,7 +386,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.3
+ app.kubernetes.io/version: 1.10.4
name: ingress-nginx-controller-admission
namespace: ingress-nginx
spec:
@@ -409,7 +409,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.3
+ app.kubernetes.io/version: 1.10.4
name: ingress-nginx-controller
namespace: ingress-nginx
spec:
@@ -431,7 +431,7 @@ spec:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.3
+ app.kubernetes.io/version: 1.10.4
spec:
containers:
- args:
@@ -456,7 +456,7 @@ spec:
fieldPath: metadata.namespace
- name: LD_PRELOAD
value: /usr/local/lib/libmimalloc.so
- image: registry.k8s.io/ingress-nginx/controller:v1.10.3@sha256:b5a5082f8e508cc1aac1c0ef101dc2f87b63d51598a5747d81d6cf6e7ba058fd
+ image: registry.k8s.io/ingress-nginx/controller:v1.10.4@sha256:505b9048c02dde3d6c8667bf0b52aba7b36adf7b03da34c47d5fa312d2d4c6fc
imagePullPolicy: IfNotPresent
lifecycle:
preStop:
@@ -535,7 +535,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.3
+ app.kubernetes.io/version: 1.10.4
name: ingress-nginx-admission-create
namespace: ingress-nginx
spec:
@@ -546,7 +546,7 @@ spec:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.3
+ app.kubernetes.io/version: 1.10.4
name: ingress-nginx-admission-create
spec:
containers:
@@ -560,7 +560,7 @@ spec:
valueFrom:
fieldRef:
fieldPath: metadata.namespace
- image: registry.k8s.io/ingress-nginx/kube-webhook-certgen:v1.4.1@sha256:36d05b4077fb8e3d13663702fa337f124675ba8667cbd949c03a8e8ea6fa4366
+ image: registry.k8s.io/ingress-nginx/kube-webhook-certgen:v1.4.3@sha256:a320a50cc91bd15fd2d6fa6de58bd98c1bd64b9a6f926ce23a600d87043455a3
imagePullPolicy: IfNotPresent
name: create
securityContext:
@@ -586,7 +586,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.3
+ app.kubernetes.io/version: 1.10.4
name: ingress-nginx-admission-patch
namespace: ingress-nginx
spec:
@@ -597,7 +597,7 @@ spec:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.3
+ app.kubernetes.io/version: 1.10.4
name: ingress-nginx-admission-patch
spec:
containers:
@@ -613,7 +613,7 @@ spec:
valueFrom:
fieldRef:
fieldPath: metadata.namespace
- image: registry.k8s.io/ingress-nginx/kube-webhook-certgen:v1.4.1@sha256:36d05b4077fb8e3d13663702fa337f124675ba8667cbd949c03a8e8ea6fa4366
+ image: registry.k8s.io/ingress-nginx/kube-webhook-certgen:v1.4.3@sha256:a320a50cc91bd15fd2d6fa6de58bd98c1bd64b9a6f926ce23a600d87043455a3
imagePullPolicy: IfNotPresent
name: patch
securityContext:
@@ -639,7 +639,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.3
+ app.kubernetes.io/version: 1.10.4
name: nginx
spec:
controller: k8s.io/ingress-nginx
@@ -652,7 +652,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.3
+ app.kubernetes.io/version: 1.10.4
name: ingress-nginx-admission
webhooks:
- admissionReviewVersions:
diff --git a/deploy/static/provider/baremetal/deploy.yaml b/deploy/static/provider/baremetal/deploy.yaml
index 9b8189935..984a1a835 100644
--- a/deploy/static/provider/baremetal/deploy.yaml
+++ b/deploy/static/provider/baremetal/deploy.yaml
@@ -15,7 +15,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.3
+ app.kubernetes.io/version: 1.10.4
name: ingress-nginx
namespace: ingress-nginx
---
@@ -27,7 +27,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.3
+ app.kubernetes.io/version: 1.10.4
name: ingress-nginx-admission
namespace: ingress-nginx
---
@@ -39,7 +39,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.3
+ app.kubernetes.io/version: 1.10.4
name: ingress-nginx
namespace: ingress-nginx
rules:
@@ -129,7 +129,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.3
+ app.kubernetes.io/version: 1.10.4
name: ingress-nginx-admission
namespace: ingress-nginx
rules:
@@ -148,7 +148,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.3
+ app.kubernetes.io/version: 1.10.4
name: ingress-nginx
rules:
- apiGroups:
@@ -230,7 +230,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.3
+ app.kubernetes.io/version: 1.10.4
name: ingress-nginx-admission
rules:
- apiGroups:
@@ -249,7 +249,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.3
+ app.kubernetes.io/version: 1.10.4
name: ingress-nginx
namespace: ingress-nginx
roleRef:
@@ -269,7 +269,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.3
+ app.kubernetes.io/version: 1.10.4
name: ingress-nginx-admission
namespace: ingress-nginx
roleRef:
@@ -288,7 +288,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.3
+ app.kubernetes.io/version: 1.10.4
name: ingress-nginx
roleRef:
apiGroup: rbac.authorization.k8s.io
@@ -307,7 +307,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.3
+ app.kubernetes.io/version: 1.10.4
name: ingress-nginx-admission
roleRef:
apiGroup: rbac.authorization.k8s.io
@@ -328,7 +328,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.3
+ app.kubernetes.io/version: 1.10.4
name: ingress-nginx-controller
namespace: ingress-nginx
---
@@ -340,7 +340,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.3
+ app.kubernetes.io/version: 1.10.4
name: ingress-nginx-controller
namespace: ingress-nginx
spec:
@@ -372,7 +372,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.3
+ app.kubernetes.io/version: 1.10.4
name: ingress-nginx-controller-admission
namespace: ingress-nginx
spec:
@@ -395,7 +395,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.3
+ app.kubernetes.io/version: 1.10.4
name: ingress-nginx-controller
namespace: ingress-nginx
spec:
@@ -417,7 +417,7 @@ spec:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.3
+ app.kubernetes.io/version: 1.10.4
spec:
containers:
- args:
@@ -441,7 +441,7 @@ spec:
fieldPath: metadata.namespace
- name: LD_PRELOAD
value: /usr/local/lib/libmimalloc.so
- image: registry.k8s.io/ingress-nginx/controller:v1.10.3@sha256:b5a5082f8e508cc1aac1c0ef101dc2f87b63d51598a5747d81d6cf6e7ba058fd
+ image: registry.k8s.io/ingress-nginx/controller:v1.10.4@sha256:505b9048c02dde3d6c8667bf0b52aba7b36adf7b03da34c47d5fa312d2d4c6fc
imagePullPolicy: IfNotPresent
lifecycle:
preStop:
@@ -517,7 +517,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.3
+ app.kubernetes.io/version: 1.10.4
name: ingress-nginx-admission-create
namespace: ingress-nginx
spec:
@@ -528,7 +528,7 @@ spec:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.3
+ app.kubernetes.io/version: 1.10.4
name: ingress-nginx-admission-create
spec:
containers:
@@ -542,7 +542,7 @@ spec:
valueFrom:
fieldRef:
fieldPath: metadata.namespace
- image: registry.k8s.io/ingress-nginx/kube-webhook-certgen:v1.4.1@sha256:36d05b4077fb8e3d13663702fa337f124675ba8667cbd949c03a8e8ea6fa4366
+ image: registry.k8s.io/ingress-nginx/kube-webhook-certgen:v1.4.3@sha256:a320a50cc91bd15fd2d6fa6de58bd98c1bd64b9a6f926ce23a600d87043455a3
imagePullPolicy: IfNotPresent
name: create
securityContext:
@@ -568,7 +568,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.3
+ app.kubernetes.io/version: 1.10.4
name: ingress-nginx-admission-patch
namespace: ingress-nginx
spec:
@@ -579,7 +579,7 @@ spec:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.3
+ app.kubernetes.io/version: 1.10.4
name: ingress-nginx-admission-patch
spec:
containers:
@@ -595,7 +595,7 @@ spec:
valueFrom:
fieldRef:
fieldPath: metadata.namespace
- image: registry.k8s.io/ingress-nginx/kube-webhook-certgen:v1.4.1@sha256:36d05b4077fb8e3d13663702fa337f124675ba8667cbd949c03a8e8ea6fa4366
+ image: registry.k8s.io/ingress-nginx/kube-webhook-certgen:v1.4.3@sha256:a320a50cc91bd15fd2d6fa6de58bd98c1bd64b9a6f926ce23a600d87043455a3
imagePullPolicy: IfNotPresent
name: patch
securityContext:
@@ -621,7 +621,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.3
+ app.kubernetes.io/version: 1.10.4
name: nginx
spec:
controller: k8s.io/ingress-nginx
@@ -634,7 +634,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.3
+ app.kubernetes.io/version: 1.10.4
name: ingress-nginx-admission
webhooks:
- admissionReviewVersions:
diff --git a/deploy/static/provider/cloud/deploy.yaml b/deploy/static/provider/cloud/deploy.yaml
index 2c0fd5596..599959005 100644
--- a/deploy/static/provider/cloud/deploy.yaml
+++ b/deploy/static/provider/cloud/deploy.yaml
@@ -15,7 +15,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.3
+ app.kubernetes.io/version: 1.10.4
name: ingress-nginx
namespace: ingress-nginx
---
@@ -27,7 +27,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.3
+ app.kubernetes.io/version: 1.10.4
name: ingress-nginx-admission
namespace: ingress-nginx
---
@@ -39,7 +39,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.3
+ app.kubernetes.io/version: 1.10.4
name: ingress-nginx
namespace: ingress-nginx
rules:
@@ -129,7 +129,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.3
+ app.kubernetes.io/version: 1.10.4
name: ingress-nginx-admission
namespace: ingress-nginx
rules:
@@ -148,7 +148,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.3
+ app.kubernetes.io/version: 1.10.4
name: ingress-nginx
rules:
- apiGroups:
@@ -230,7 +230,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.3
+ app.kubernetes.io/version: 1.10.4
name: ingress-nginx-admission
rules:
- apiGroups:
@@ -249,7 +249,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.3
+ app.kubernetes.io/version: 1.10.4
name: ingress-nginx
namespace: ingress-nginx
roleRef:
@@ -269,7 +269,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.3
+ app.kubernetes.io/version: 1.10.4
name: ingress-nginx-admission
namespace: ingress-nginx
roleRef:
@@ -288,7 +288,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.3
+ app.kubernetes.io/version: 1.10.4
name: ingress-nginx
roleRef:
apiGroup: rbac.authorization.k8s.io
@@ -307,7 +307,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.3
+ app.kubernetes.io/version: 1.10.4
name: ingress-nginx-admission
roleRef:
apiGroup: rbac.authorization.k8s.io
@@ -328,7 +328,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.3
+ app.kubernetes.io/version: 1.10.4
name: ingress-nginx-controller
namespace: ingress-nginx
---
@@ -340,7 +340,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.3
+ app.kubernetes.io/version: 1.10.4
name: ingress-nginx-controller
namespace: ingress-nginx
spec:
@@ -373,7 +373,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.3
+ app.kubernetes.io/version: 1.10.4
name: ingress-nginx-controller-admission
namespace: ingress-nginx
spec:
@@ -396,7 +396,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.3
+ app.kubernetes.io/version: 1.10.4
name: ingress-nginx-controller
namespace: ingress-nginx
spec:
@@ -418,7 +418,7 @@ spec:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.3
+ app.kubernetes.io/version: 1.10.4
spec:
containers:
- args:
@@ -443,7 +443,7 @@ spec:
fieldPath: metadata.namespace
- name: LD_PRELOAD
value: /usr/local/lib/libmimalloc.so
- image: registry.k8s.io/ingress-nginx/controller:v1.10.3@sha256:b5a5082f8e508cc1aac1c0ef101dc2f87b63d51598a5747d81d6cf6e7ba058fd
+ image: registry.k8s.io/ingress-nginx/controller:v1.10.4@sha256:505b9048c02dde3d6c8667bf0b52aba7b36adf7b03da34c47d5fa312d2d4c6fc
imagePullPolicy: IfNotPresent
lifecycle:
preStop:
@@ -519,7 +519,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.3
+ app.kubernetes.io/version: 1.10.4
name: ingress-nginx-admission-create
namespace: ingress-nginx
spec:
@@ -530,7 +530,7 @@ spec:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.3
+ app.kubernetes.io/version: 1.10.4
name: ingress-nginx-admission-create
spec:
containers:
@@ -544,7 +544,7 @@ spec:
valueFrom:
fieldRef:
fieldPath: metadata.namespace
- image: registry.k8s.io/ingress-nginx/kube-webhook-certgen:v1.4.1@sha256:36d05b4077fb8e3d13663702fa337f124675ba8667cbd949c03a8e8ea6fa4366
+ image: registry.k8s.io/ingress-nginx/kube-webhook-certgen:v1.4.3@sha256:a320a50cc91bd15fd2d6fa6de58bd98c1bd64b9a6f926ce23a600d87043455a3
imagePullPolicy: IfNotPresent
name: create
securityContext:
@@ -570,7 +570,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.3
+ app.kubernetes.io/version: 1.10.4
name: ingress-nginx-admission-patch
namespace: ingress-nginx
spec:
@@ -581,7 +581,7 @@ spec:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.3
+ app.kubernetes.io/version: 1.10.4
name: ingress-nginx-admission-patch
spec:
containers:
@@ -597,7 +597,7 @@ spec:
valueFrom:
fieldRef:
fieldPath: metadata.namespace
- image: registry.k8s.io/ingress-nginx/kube-webhook-certgen:v1.4.1@sha256:36d05b4077fb8e3d13663702fa337f124675ba8667cbd949c03a8e8ea6fa4366
+ image: registry.k8s.io/ingress-nginx/kube-webhook-certgen:v1.4.3@sha256:a320a50cc91bd15fd2d6fa6de58bd98c1bd64b9a6f926ce23a600d87043455a3
imagePullPolicy: IfNotPresent
name: patch
securityContext:
@@ -623,7 +623,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.3
+ app.kubernetes.io/version: 1.10.4
name: nginx
spec:
controller: k8s.io/ingress-nginx
@@ -636,7 +636,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.3
+ app.kubernetes.io/version: 1.10.4
name: ingress-nginx-admission
webhooks:
- admissionReviewVersions:
diff --git a/deploy/static/provider/do/deploy.yaml b/deploy/static/provider/do/deploy.yaml
index 976f31c9a..cb486b632 100644
--- a/deploy/static/provider/do/deploy.yaml
+++ b/deploy/static/provider/do/deploy.yaml
@@ -15,7 +15,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.3
+ app.kubernetes.io/version: 1.10.4
name: ingress-nginx
namespace: ingress-nginx
---
@@ -27,7 +27,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.3
+ app.kubernetes.io/version: 1.10.4
name: ingress-nginx-admission
namespace: ingress-nginx
---
@@ -39,7 +39,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.3
+ app.kubernetes.io/version: 1.10.4
name: ingress-nginx
namespace: ingress-nginx
rules:
@@ -129,7 +129,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.3
+ app.kubernetes.io/version: 1.10.4
name: ingress-nginx-admission
namespace: ingress-nginx
rules:
@@ -148,7 +148,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.3
+ app.kubernetes.io/version: 1.10.4
name: ingress-nginx
rules:
- apiGroups:
@@ -230,7 +230,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.3
+ app.kubernetes.io/version: 1.10.4
name: ingress-nginx-admission
rules:
- apiGroups:
@@ -249,7 +249,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.3
+ app.kubernetes.io/version: 1.10.4
name: ingress-nginx
namespace: ingress-nginx
roleRef:
@@ -269,7 +269,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.3
+ app.kubernetes.io/version: 1.10.4
name: ingress-nginx-admission
namespace: ingress-nginx
roleRef:
@@ -288,7 +288,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.3
+ app.kubernetes.io/version: 1.10.4
name: ingress-nginx
roleRef:
apiGroup: rbac.authorization.k8s.io
@@ -307,7 +307,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.3
+ app.kubernetes.io/version: 1.10.4
name: ingress-nginx-admission
roleRef:
apiGroup: rbac.authorization.k8s.io
@@ -329,7 +329,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.3
+ app.kubernetes.io/version: 1.10.4
name: ingress-nginx-controller
namespace: ingress-nginx
---
@@ -343,7 +343,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.3
+ app.kubernetes.io/version: 1.10.4
name: ingress-nginx-controller
namespace: ingress-nginx
spec:
@@ -376,7 +376,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.3
+ app.kubernetes.io/version: 1.10.4
name: ingress-nginx-controller-admission
namespace: ingress-nginx
spec:
@@ -399,7 +399,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.3
+ app.kubernetes.io/version: 1.10.4
name: ingress-nginx-controller
namespace: ingress-nginx
spec:
@@ -421,7 +421,7 @@ spec:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.3
+ app.kubernetes.io/version: 1.10.4
spec:
containers:
- args:
@@ -446,7 +446,7 @@ spec:
fieldPath: metadata.namespace
- name: LD_PRELOAD
value: /usr/local/lib/libmimalloc.so
- image: registry.k8s.io/ingress-nginx/controller:v1.10.3@sha256:b5a5082f8e508cc1aac1c0ef101dc2f87b63d51598a5747d81d6cf6e7ba058fd
+ image: registry.k8s.io/ingress-nginx/controller:v1.10.4@sha256:505b9048c02dde3d6c8667bf0b52aba7b36adf7b03da34c47d5fa312d2d4c6fc
imagePullPolicy: IfNotPresent
lifecycle:
preStop:
@@ -522,7 +522,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.3
+ app.kubernetes.io/version: 1.10.4
name: ingress-nginx-admission-create
namespace: ingress-nginx
spec:
@@ -533,7 +533,7 @@ spec:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.3
+ app.kubernetes.io/version: 1.10.4
name: ingress-nginx-admission-create
spec:
containers:
@@ -547,7 +547,7 @@ spec:
valueFrom:
fieldRef:
fieldPath: metadata.namespace
- image: registry.k8s.io/ingress-nginx/kube-webhook-certgen:v1.4.1@sha256:36d05b4077fb8e3d13663702fa337f124675ba8667cbd949c03a8e8ea6fa4366
+ image: registry.k8s.io/ingress-nginx/kube-webhook-certgen:v1.4.3@sha256:a320a50cc91bd15fd2d6fa6de58bd98c1bd64b9a6f926ce23a600d87043455a3
imagePullPolicy: IfNotPresent
name: create
securityContext:
@@ -573,7 +573,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.3
+ app.kubernetes.io/version: 1.10.4
name: ingress-nginx-admission-patch
namespace: ingress-nginx
spec:
@@ -584,7 +584,7 @@ spec:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.3
+ app.kubernetes.io/version: 1.10.4
name: ingress-nginx-admission-patch
spec:
containers:
@@ -600,7 +600,7 @@ spec:
valueFrom:
fieldRef:
fieldPath: metadata.namespace
- image: registry.k8s.io/ingress-nginx/kube-webhook-certgen:v1.4.1@sha256:36d05b4077fb8e3d13663702fa337f124675ba8667cbd949c03a8e8ea6fa4366
+ image: registry.k8s.io/ingress-nginx/kube-webhook-certgen:v1.4.3@sha256:a320a50cc91bd15fd2d6fa6de58bd98c1bd64b9a6f926ce23a600d87043455a3
imagePullPolicy: IfNotPresent
name: patch
securityContext:
@@ -626,7 +626,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.3
+ app.kubernetes.io/version: 1.10.4
name: nginx
spec:
controller: k8s.io/ingress-nginx
@@ -639,7 +639,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.3
+ app.kubernetes.io/version: 1.10.4
name: ingress-nginx-admission
webhooks:
- admissionReviewVersions:
diff --git a/deploy/static/provider/exoscale/deploy.yaml b/deploy/static/provider/exoscale/deploy.yaml
index 2473fa73f..d3acf466b 100644
--- a/deploy/static/provider/exoscale/deploy.yaml
+++ b/deploy/static/provider/exoscale/deploy.yaml
@@ -15,7 +15,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.3
+ app.kubernetes.io/version: 1.10.4
name: ingress-nginx
namespace: ingress-nginx
---
@@ -27,7 +27,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.3
+ app.kubernetes.io/version: 1.10.4
name: ingress-nginx-admission
namespace: ingress-nginx
---
@@ -39,7 +39,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.3
+ app.kubernetes.io/version: 1.10.4
name: ingress-nginx
namespace: ingress-nginx
rules:
@@ -129,7 +129,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.3
+ app.kubernetes.io/version: 1.10.4
name: ingress-nginx-admission
namespace: ingress-nginx
rules:
@@ -148,7 +148,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.3
+ app.kubernetes.io/version: 1.10.4
name: ingress-nginx
rules:
- apiGroups:
@@ -230,7 +230,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.3
+ app.kubernetes.io/version: 1.10.4
name: ingress-nginx-admission
rules:
- apiGroups:
@@ -249,7 +249,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.3
+ app.kubernetes.io/version: 1.10.4
name: ingress-nginx
namespace: ingress-nginx
roleRef:
@@ -269,7 +269,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.3
+ app.kubernetes.io/version: 1.10.4
name: ingress-nginx-admission
namespace: ingress-nginx
roleRef:
@@ -288,7 +288,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.3
+ app.kubernetes.io/version: 1.10.4
name: ingress-nginx
roleRef:
apiGroup: rbac.authorization.k8s.io
@@ -307,7 +307,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.3
+ app.kubernetes.io/version: 1.10.4
name: ingress-nginx-admission
roleRef:
apiGroup: rbac.authorization.k8s.io
@@ -328,7 +328,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.3
+ app.kubernetes.io/version: 1.10.4
name: ingress-nginx-controller
namespace: ingress-nginx
---
@@ -349,7 +349,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.3
+ app.kubernetes.io/version: 1.10.4
name: ingress-nginx-controller
namespace: ingress-nginx
spec:
@@ -382,7 +382,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.3
+ app.kubernetes.io/version: 1.10.4
name: ingress-nginx-controller-admission
namespace: ingress-nginx
spec:
@@ -405,7 +405,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.3
+ app.kubernetes.io/version: 1.10.4
name: ingress-nginx-controller
namespace: ingress-nginx
spec:
@@ -423,7 +423,7 @@ spec:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.3
+ app.kubernetes.io/version: 1.10.4
spec:
containers:
- args:
@@ -448,7 +448,7 @@ spec:
fieldPath: metadata.namespace
- name: LD_PRELOAD
value: /usr/local/lib/libmimalloc.so
- image: registry.k8s.io/ingress-nginx/controller:v1.10.3@sha256:b5a5082f8e508cc1aac1c0ef101dc2f87b63d51598a5747d81d6cf6e7ba058fd
+ image: registry.k8s.io/ingress-nginx/controller:v1.10.4@sha256:505b9048c02dde3d6c8667bf0b52aba7b36adf7b03da34c47d5fa312d2d4c6fc
imagePullPolicy: IfNotPresent
lifecycle:
preStop:
@@ -528,7 +528,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.3
+ app.kubernetes.io/version: 1.10.4
name: ingress-nginx-admission-create
namespace: ingress-nginx
spec:
@@ -539,7 +539,7 @@ spec:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.3
+ app.kubernetes.io/version: 1.10.4
name: ingress-nginx-admission-create
spec:
containers:
@@ -553,7 +553,7 @@ spec:
valueFrom:
fieldRef:
fieldPath: metadata.namespace
- image: registry.k8s.io/ingress-nginx/kube-webhook-certgen:v1.4.1@sha256:36d05b4077fb8e3d13663702fa337f124675ba8667cbd949c03a8e8ea6fa4366
+ image: registry.k8s.io/ingress-nginx/kube-webhook-certgen:v1.4.3@sha256:a320a50cc91bd15fd2d6fa6de58bd98c1bd64b9a6f926ce23a600d87043455a3
imagePullPolicy: IfNotPresent
name: create
securityContext:
@@ -579,7 +579,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.3
+ app.kubernetes.io/version: 1.10.4
name: ingress-nginx-admission-patch
namespace: ingress-nginx
spec:
@@ -590,7 +590,7 @@ spec:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.3
+ app.kubernetes.io/version: 1.10.4
name: ingress-nginx-admission-patch
spec:
containers:
@@ -606,7 +606,7 @@ spec:
valueFrom:
fieldRef:
fieldPath: metadata.namespace
- image: registry.k8s.io/ingress-nginx/kube-webhook-certgen:v1.4.1@sha256:36d05b4077fb8e3d13663702fa337f124675ba8667cbd949c03a8e8ea6fa4366
+ image: registry.k8s.io/ingress-nginx/kube-webhook-certgen:v1.4.3@sha256:a320a50cc91bd15fd2d6fa6de58bd98c1bd64b9a6f926ce23a600d87043455a3
imagePullPolicy: IfNotPresent
name: patch
securityContext:
@@ -632,7 +632,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.3
+ app.kubernetes.io/version: 1.10.4
name: nginx
spec:
controller: k8s.io/ingress-nginx
@@ -645,7 +645,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.3
+ app.kubernetes.io/version: 1.10.4
name: ingress-nginx-admission
webhooks:
- admissionReviewVersions:
diff --git a/deploy/static/provider/kind/deploy.yaml b/deploy/static/provider/kind/deploy.yaml
index 3f0bccff7..a8ef3d3a6 100644
--- a/deploy/static/provider/kind/deploy.yaml
+++ b/deploy/static/provider/kind/deploy.yaml
@@ -15,7 +15,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.3
+ app.kubernetes.io/version: 1.10.4
name: ingress-nginx
namespace: ingress-nginx
---
@@ -27,7 +27,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.3
+ app.kubernetes.io/version: 1.10.4
name: ingress-nginx-admission
namespace: ingress-nginx
---
@@ -39,7 +39,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.3
+ app.kubernetes.io/version: 1.10.4
name: ingress-nginx
namespace: ingress-nginx
rules:
@@ -129,7 +129,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.3
+ app.kubernetes.io/version: 1.10.4
name: ingress-nginx-admission
namespace: ingress-nginx
rules:
@@ -148,7 +148,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.3
+ app.kubernetes.io/version: 1.10.4
name: ingress-nginx
rules:
- apiGroups:
@@ -230,7 +230,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.3
+ app.kubernetes.io/version: 1.10.4
name: ingress-nginx-admission
rules:
- apiGroups:
@@ -249,7 +249,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.3
+ app.kubernetes.io/version: 1.10.4
name: ingress-nginx
namespace: ingress-nginx
roleRef:
@@ -269,7 +269,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.3
+ app.kubernetes.io/version: 1.10.4
name: ingress-nginx-admission
namespace: ingress-nginx
roleRef:
@@ -288,7 +288,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.3
+ app.kubernetes.io/version: 1.10.4
name: ingress-nginx
roleRef:
apiGroup: rbac.authorization.k8s.io
@@ -307,7 +307,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.3
+ app.kubernetes.io/version: 1.10.4
name: ingress-nginx-admission
roleRef:
apiGroup: rbac.authorization.k8s.io
@@ -328,7 +328,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.3
+ app.kubernetes.io/version: 1.10.4
name: ingress-nginx-controller
namespace: ingress-nginx
---
@@ -340,7 +340,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.3
+ app.kubernetes.io/version: 1.10.4
name: ingress-nginx-controller
namespace: ingress-nginx
spec:
@@ -372,7 +372,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.3
+ app.kubernetes.io/version: 1.10.4
name: ingress-nginx-controller-admission
namespace: ingress-nginx
spec:
@@ -395,7 +395,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.3
+ app.kubernetes.io/version: 1.10.4
name: ingress-nginx-controller
namespace: ingress-nginx
spec:
@@ -417,7 +417,7 @@ spec:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.3
+ app.kubernetes.io/version: 1.10.4
spec:
containers:
- args:
@@ -443,7 +443,7 @@ spec:
fieldPath: metadata.namespace
- name: LD_PRELOAD
value: /usr/local/lib/libmimalloc.so
- image: registry.k8s.io/ingress-nginx/controller:v1.10.3@sha256:b5a5082f8e508cc1aac1c0ef101dc2f87b63d51598a5747d81d6cf6e7ba058fd
+ image: registry.k8s.io/ingress-nginx/controller:v1.10.4@sha256:505b9048c02dde3d6c8667bf0b52aba7b36adf7b03da34c47d5fa312d2d4c6fc
imagePullPolicy: IfNotPresent
lifecycle:
preStop:
@@ -529,7 +529,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.3
+ app.kubernetes.io/version: 1.10.4
name: ingress-nginx-admission-create
namespace: ingress-nginx
spec:
@@ -540,7 +540,7 @@ spec:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.3
+ app.kubernetes.io/version: 1.10.4
name: ingress-nginx-admission-create
spec:
containers:
@@ -554,7 +554,7 @@ spec:
valueFrom:
fieldRef:
fieldPath: metadata.namespace
- image: registry.k8s.io/ingress-nginx/kube-webhook-certgen:v1.4.1@sha256:36d05b4077fb8e3d13663702fa337f124675ba8667cbd949c03a8e8ea6fa4366
+ image: registry.k8s.io/ingress-nginx/kube-webhook-certgen:v1.4.3@sha256:a320a50cc91bd15fd2d6fa6de58bd98c1bd64b9a6f926ce23a600d87043455a3
imagePullPolicy: IfNotPresent
name: create
securityContext:
@@ -580,7 +580,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.3
+ app.kubernetes.io/version: 1.10.4
name: ingress-nginx-admission-patch
namespace: ingress-nginx
spec:
@@ -591,7 +591,7 @@ spec:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.3
+ app.kubernetes.io/version: 1.10.4
name: ingress-nginx-admission-patch
spec:
containers:
@@ -607,7 +607,7 @@ spec:
valueFrom:
fieldRef:
fieldPath: metadata.namespace
- image: registry.k8s.io/ingress-nginx/kube-webhook-certgen:v1.4.1@sha256:36d05b4077fb8e3d13663702fa337f124675ba8667cbd949c03a8e8ea6fa4366
+ image: registry.k8s.io/ingress-nginx/kube-webhook-certgen:v1.4.3@sha256:a320a50cc91bd15fd2d6fa6de58bd98c1bd64b9a6f926ce23a600d87043455a3
imagePullPolicy: IfNotPresent
name: patch
securityContext:
@@ -633,7 +633,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.3
+ app.kubernetes.io/version: 1.10.4
name: nginx
spec:
controller: k8s.io/ingress-nginx
@@ -646,7 +646,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.3
+ app.kubernetes.io/version: 1.10.4
name: ingress-nginx-admission
webhooks:
- admissionReviewVersions:
diff --git a/deploy/static/provider/oracle/deploy.yaml b/deploy/static/provider/oracle/deploy.yaml
index 42adda6d1..43ba449c0 100644
--- a/deploy/static/provider/oracle/deploy.yaml
+++ b/deploy/static/provider/oracle/deploy.yaml
@@ -15,7 +15,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.3
+ app.kubernetes.io/version: 1.10.4
name: ingress-nginx
namespace: ingress-nginx
---
@@ -27,7 +27,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.3
+ app.kubernetes.io/version: 1.10.4
name: ingress-nginx-admission
namespace: ingress-nginx
---
@@ -39,7 +39,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.3
+ app.kubernetes.io/version: 1.10.4
name: ingress-nginx
namespace: ingress-nginx
rules:
@@ -129,7 +129,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.3
+ app.kubernetes.io/version: 1.10.4
name: ingress-nginx-admission
namespace: ingress-nginx
rules:
@@ -148,7 +148,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.3
+ app.kubernetes.io/version: 1.10.4
name: ingress-nginx
rules:
- apiGroups:
@@ -230,7 +230,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.3
+ app.kubernetes.io/version: 1.10.4
name: ingress-nginx-admission
rules:
- apiGroups:
@@ -249,7 +249,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.3
+ app.kubernetes.io/version: 1.10.4
name: ingress-nginx
namespace: ingress-nginx
roleRef:
@@ -269,7 +269,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.3
+ app.kubernetes.io/version: 1.10.4
name: ingress-nginx-admission
namespace: ingress-nginx
roleRef:
@@ -288,7 +288,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.3
+ app.kubernetes.io/version: 1.10.4
name: ingress-nginx
roleRef:
apiGroup: rbac.authorization.k8s.io
@@ -307,7 +307,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.3
+ app.kubernetes.io/version: 1.10.4
name: ingress-nginx-admission
roleRef:
apiGroup: rbac.authorization.k8s.io
@@ -328,7 +328,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.3
+ app.kubernetes.io/version: 1.10.4
name: ingress-nginx-controller
namespace: ingress-nginx
---
@@ -344,7 +344,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.3
+ app.kubernetes.io/version: 1.10.4
name: ingress-nginx-controller
namespace: ingress-nginx
spec:
@@ -377,7 +377,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.3
+ app.kubernetes.io/version: 1.10.4
name: ingress-nginx-controller-admission
namespace: ingress-nginx
spec:
@@ -400,7 +400,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.3
+ app.kubernetes.io/version: 1.10.4
name: ingress-nginx-controller
namespace: ingress-nginx
spec:
@@ -422,7 +422,7 @@ spec:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.3
+ app.kubernetes.io/version: 1.10.4
spec:
containers:
- args:
@@ -447,7 +447,7 @@ spec:
fieldPath: metadata.namespace
- name: LD_PRELOAD
value: /usr/local/lib/libmimalloc.so
- image: registry.k8s.io/ingress-nginx/controller:v1.10.3@sha256:b5a5082f8e508cc1aac1c0ef101dc2f87b63d51598a5747d81d6cf6e7ba058fd
+ image: registry.k8s.io/ingress-nginx/controller:v1.10.4@sha256:505b9048c02dde3d6c8667bf0b52aba7b36adf7b03da34c47d5fa312d2d4c6fc
imagePullPolicy: IfNotPresent
lifecycle:
preStop:
@@ -523,7 +523,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.3
+ app.kubernetes.io/version: 1.10.4
name: ingress-nginx-admission-create
namespace: ingress-nginx
spec:
@@ -534,7 +534,7 @@ spec:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.3
+ app.kubernetes.io/version: 1.10.4
name: ingress-nginx-admission-create
spec:
containers:
@@ -548,7 +548,7 @@ spec:
valueFrom:
fieldRef:
fieldPath: metadata.namespace
- image: registry.k8s.io/ingress-nginx/kube-webhook-certgen:v1.4.1@sha256:36d05b4077fb8e3d13663702fa337f124675ba8667cbd949c03a8e8ea6fa4366
+ image: registry.k8s.io/ingress-nginx/kube-webhook-certgen:v1.4.3@sha256:a320a50cc91bd15fd2d6fa6de58bd98c1bd64b9a6f926ce23a600d87043455a3
imagePullPolicy: IfNotPresent
name: create
securityContext:
@@ -574,7 +574,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.3
+ app.kubernetes.io/version: 1.10.4
name: ingress-nginx-admission-patch
namespace: ingress-nginx
spec:
@@ -585,7 +585,7 @@ spec:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.3
+ app.kubernetes.io/version: 1.10.4
name: ingress-nginx-admission-patch
spec:
containers:
@@ -601,7 +601,7 @@ spec:
valueFrom:
fieldRef:
fieldPath: metadata.namespace
- image: registry.k8s.io/ingress-nginx/kube-webhook-certgen:v1.4.1@sha256:36d05b4077fb8e3d13663702fa337f124675ba8667cbd949c03a8e8ea6fa4366
+ image: registry.k8s.io/ingress-nginx/kube-webhook-certgen:v1.4.3@sha256:a320a50cc91bd15fd2d6fa6de58bd98c1bd64b9a6f926ce23a600d87043455a3
imagePullPolicy: IfNotPresent
name: patch
securityContext:
@@ -627,7 +627,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.3
+ app.kubernetes.io/version: 1.10.4
name: nginx
spec:
controller: k8s.io/ingress-nginx
@@ -640,7 +640,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.3
+ app.kubernetes.io/version: 1.10.4
name: ingress-nginx-admission
webhooks:
- admissionReviewVersions:
diff --git a/deploy/static/provider/scw/deploy.yaml b/deploy/static/provider/scw/deploy.yaml
index 4d5d5153d..3f1dae380 100644
--- a/deploy/static/provider/scw/deploy.yaml
+++ b/deploy/static/provider/scw/deploy.yaml
@@ -15,7 +15,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.3
+ app.kubernetes.io/version: 1.10.4
name: ingress-nginx
namespace: ingress-nginx
---
@@ -27,7 +27,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.3
+ app.kubernetes.io/version: 1.10.4
name: ingress-nginx-admission
namespace: ingress-nginx
---
@@ -39,7 +39,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.3
+ app.kubernetes.io/version: 1.10.4
name: ingress-nginx
namespace: ingress-nginx
rules:
@@ -129,7 +129,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.3
+ app.kubernetes.io/version: 1.10.4
name: ingress-nginx-admission
namespace: ingress-nginx
rules:
@@ -148,7 +148,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.3
+ app.kubernetes.io/version: 1.10.4
name: ingress-nginx
rules:
- apiGroups:
@@ -230,7 +230,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.3
+ app.kubernetes.io/version: 1.10.4
name: ingress-nginx-admission
rules:
- apiGroups:
@@ -249,7 +249,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.3
+ app.kubernetes.io/version: 1.10.4
name: ingress-nginx
namespace: ingress-nginx
roleRef:
@@ -269,7 +269,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.3
+ app.kubernetes.io/version: 1.10.4
name: ingress-nginx-admission
namespace: ingress-nginx
roleRef:
@@ -288,7 +288,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.3
+ app.kubernetes.io/version: 1.10.4
name: ingress-nginx
roleRef:
apiGroup: rbac.authorization.k8s.io
@@ -307,7 +307,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.3
+ app.kubernetes.io/version: 1.10.4
name: ingress-nginx-admission
roleRef:
apiGroup: rbac.authorization.k8s.io
@@ -329,7 +329,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.3
+ app.kubernetes.io/version: 1.10.4
name: ingress-nginx-controller
namespace: ingress-nginx
---
@@ -343,7 +343,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.3
+ app.kubernetes.io/version: 1.10.4
name: ingress-nginx-controller
namespace: ingress-nginx
spec:
@@ -376,7 +376,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.3
+ app.kubernetes.io/version: 1.10.4
name: ingress-nginx-controller-admission
namespace: ingress-nginx
spec:
@@ -399,7 +399,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.3
+ app.kubernetes.io/version: 1.10.4
name: ingress-nginx-controller
namespace: ingress-nginx
spec:
@@ -421,7 +421,7 @@ spec:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.3
+ app.kubernetes.io/version: 1.10.4
spec:
containers:
- args:
@@ -446,7 +446,7 @@ spec:
fieldPath: metadata.namespace
- name: LD_PRELOAD
value: /usr/local/lib/libmimalloc.so
- image: registry.k8s.io/ingress-nginx/controller:v1.10.3@sha256:b5a5082f8e508cc1aac1c0ef101dc2f87b63d51598a5747d81d6cf6e7ba058fd
+ image: registry.k8s.io/ingress-nginx/controller:v1.10.4@sha256:505b9048c02dde3d6c8667bf0b52aba7b36adf7b03da34c47d5fa312d2d4c6fc
imagePullPolicy: IfNotPresent
lifecycle:
preStop:
@@ -522,7 +522,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.3
+ app.kubernetes.io/version: 1.10.4
name: ingress-nginx-admission-create
namespace: ingress-nginx
spec:
@@ -533,7 +533,7 @@ spec:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.3
+ app.kubernetes.io/version: 1.10.4
name: ingress-nginx-admission-create
spec:
containers:
@@ -547,7 +547,7 @@ spec:
valueFrom:
fieldRef:
fieldPath: metadata.namespace
- image: registry.k8s.io/ingress-nginx/kube-webhook-certgen:v1.4.1@sha256:36d05b4077fb8e3d13663702fa337f124675ba8667cbd949c03a8e8ea6fa4366
+ image: registry.k8s.io/ingress-nginx/kube-webhook-certgen:v1.4.3@sha256:a320a50cc91bd15fd2d6fa6de58bd98c1bd64b9a6f926ce23a600d87043455a3
imagePullPolicy: IfNotPresent
name: create
securityContext:
@@ -573,7 +573,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.3
+ app.kubernetes.io/version: 1.10.4
name: ingress-nginx-admission-patch
namespace: ingress-nginx
spec:
@@ -584,7 +584,7 @@ spec:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.3
+ app.kubernetes.io/version: 1.10.4
name: ingress-nginx-admission-patch
spec:
containers:
@@ -600,7 +600,7 @@ spec:
valueFrom:
fieldRef:
fieldPath: metadata.namespace
- image: registry.k8s.io/ingress-nginx/kube-webhook-certgen:v1.4.1@sha256:36d05b4077fb8e3d13663702fa337f124675ba8667cbd949c03a8e8ea6fa4366
+ image: registry.k8s.io/ingress-nginx/kube-webhook-certgen:v1.4.3@sha256:a320a50cc91bd15fd2d6fa6de58bd98c1bd64b9a6f926ce23a600d87043455a3
imagePullPolicy: IfNotPresent
name: patch
securityContext:
@@ -626,7 +626,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.3
+ app.kubernetes.io/version: 1.10.4
name: nginx
spec:
controller: k8s.io/ingress-nginx
@@ -639,7 +639,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.3
+ app.kubernetes.io/version: 1.10.4
name: ingress-nginx-admission
webhooks:
- admissionReviewVersions:
diff --git a/docs/deploy/index.md b/docs/deploy/index.md
index c569bc5ed..6ef9d4971 100644
--- a/docs/deploy/index.md
+++ b/docs/deploy/index.md
@@ -87,7 +87,7 @@ helm show values ingress-nginx --repo https://kubernetes.github.io/ingress-nginx
**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.3/deploy/static/provider/cloud/deploy.yaml
+kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-v1.10.4/deploy/static/provider/cloud/deploy.yaml
```
!!! info
@@ -270,7 +270,7 @@ In AWS, we use a Network load balancer (NLB) to expose the Ingress-Nginx Control
##### Network Load Balancer (NLB)
```console
-kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-v1.10.3/deploy/static/provider/aws/deploy.yaml
+kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-v1.10.4/deploy/static/provider/aws/deploy.yaml
```
##### TLS termination in AWS Load Balancer (NLB)
@@ -278,10 +278,10 @@ kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/cont
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.3/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.10.4/deploy/static/provider/aws/nlb-with-tls-termination/deploy.yaml) template
```console
- wget https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-v1.10.3/deploy/static/provider/aws/nlb-with-tls-termination/deploy.yaml
+ wget https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-v1.10.4/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:
@@ -329,7 +329,7 @@ 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.3/deploy/static/provider/cloud/deploy.yaml
+kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-v1.10.4/deploy/static/provider/cloud/deploy.yaml
```
!!! warning
@@ -346,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.3/deploy/static/provider/cloud/deploy.yaml
+kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-v1.10.4/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).
@@ -354,7 +354,7 @@ 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.3/deploy/static/provider/do/deploy.yaml
+kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-v1.10.4/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.
@@ -362,7 +362,7 @@ kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/cont
#### Scaleway
```console
-kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-v1.10.3/deploy/static/provider/scw/deploy.yaml
+kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-v1.10.4/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.
@@ -379,7 +379,7 @@ The full list of annotations supported by Exoscale is available in the Exoscale
#### Oracle Cloud Infrastructure
```console
-kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-v1.10.3/deploy/static/provider/cloud/deploy.yaml
+kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-v1.10.4/deploy/static/provider/cloud/deploy.yaml
```
A
@@ -406,7 +406,7 @@ For quick testing, you can use a
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.3/deploy/static/provider/baremetal/deploy.yaml
+kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-v1.10.4/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),
diff --git a/docs/e2e-tests.md b/docs/e2e-tests.md
index 666d40ae3..ec069672d 100644
--- a/docs/e2e-tests.md
+++ b/docs/e2e-tests.md
@@ -262,6 +262,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)
From 0486f013fe8adbfdfd4692f04bad5d71b37cb076 Mon Sep 17 00:00:00 2001
From: Marco Ebert
Date: Wed, 21 Aug 2024 09:38:34 +0200
Subject: [PATCH 191/265] Auto-generate annotation docs (#11835)
Co-authored-by: Ricardo Katz
---
.github/workflows/ci.yaml | 23 +++
Makefile | 3 +
cmd/annotations/annotations.tmpl | 7 +
cmd/annotations/main.go | 91 +++++++++++
.../nginx-configuration/annotations-risk.md | 141 ++++++++++++++++++
hack/update-annotation-doc.sh | 23 +++
hack/verify-annotation-docs.sh | 46 ++++++
internal/ingress/annotations/annotations.go | 105 ++++++-------
internal/ingress/annotations/parser/main.go | 15 ++
mkdocs.yml | 1 +
10 files changed, 404 insertions(+), 51 deletions(-)
create mode 100644 cmd/annotations/annotations.tmpl
create mode 100644 cmd/annotations/main.go
create mode 100755 docs/user-guide/nginx-configuration/annotations-risk.md
create mode 100755 hack/update-annotation-doc.sh
create mode 100755 hack/verify-annotation-docs.sh
diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml
index f3af49d37..49b39a7a3 100644
--- a/.github/workflows/ci.yaml
+++ b/.github/workflows/ci.yaml
@@ -69,6 +69,8 @@ jobs:
baseimage:
- 'NGINX_BASE'
- 'images/nginx-1.25/**'
+ docs:
+ - '**/*.md'
test-go:
runs-on: ubuntu-latest
@@ -92,6 +94,27 @@ jobs:
- name: Run test
run: make test
+
+ verify-docs:
+ name: Verify Doc generation
+ runs-on: ubuntu-latest
+ needs: changes
+ if: |
+ (needs.changes.outputs.go == 'true') || (needs.changes.outputs.docs == 'true') || ${{ github.event.workflow_dispatch.run_e2e == 'true' }}
+ steps:
+ - name: Checkout
+ uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
+ - name: Get go version
+ run: echo "GOLANG_VERSION=$(cat GOLANG_VERSION)" >> $GITHUB_ENV
+ - name: Set up Go
+ id: go
+ uses: actions/setup-go@0a12ed9d6a96ab950c8f026ed9f722fe0da7ef32 # v5.0.2
+ with:
+ go-version: ${{ env.GOLANG_VERSION }}
+ check-latest: true
+ - name: Verify Docs
+ run: make verify-docs
+
build:
name: Build
runs-on: ubuntu-latest
diff --git a/Makefile b/Makefile
index a99e1540c..1c35c12b2 100644
--- a/Makefile
+++ b/Makefile
@@ -124,6 +124,9 @@ build: ## Build ingress controller, debug tool and pre-stop hook.
clean: ## Remove .gocache directory.
rm -rf bin/ .gocache/ .cache/
+.PHONY: verify-docs
+verify-docs: ## Verify doc generation
+ hack/verify-annotation-docs.sh
.PHONY: static-check
static-check: ## Run verification script for boilerplate, codegen, gofmt, golint, lualint and chart-lint.
diff --git a/cmd/annotations/annotations.tmpl b/cmd/annotations/annotations.tmpl
new file mode 100644
index 000000000..91dd21de8
--- /dev/null
+++ b/cmd/annotations/annotations.tmpl
@@ -0,0 +1,7 @@
+# Annotations Scope and Risk
+
+|Group |Annotation | Risk | Scope |
+|--------|------------------|------|-------|
+{{- range $doc := . }}
+| {{ $doc.Group }} | {{ $doc.Annotation }} | {{ $doc.Risk }} | {{ $doc.Scope }} |
+{{- end }}
diff --git a/cmd/annotations/main.go b/cmd/annotations/main.go
new file mode 100644
index 000000000..78f26099c
--- /dev/null
+++ b/cmd/annotations/main.go
@@ -0,0 +1,91 @@
+/*
+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 main
+
+import (
+ "bytes"
+ "embed"
+ "flag"
+ "fmt"
+ "os"
+ "slices"
+ "strings"
+ "text/template"
+
+ anns "k8s.io/ingress-nginx/internal/ingress/annotations"
+)
+
+type Documentation struct {
+ Group string
+ Annotation string
+ Risk string
+ Scope string
+}
+
+var output string
+
+//go:embed annotations.tmpl
+var content embed.FS
+
+func main() {
+ flag.StringVar(&output, "output", "", "where to write documentation")
+ flag.Parse()
+ if output == "" {
+ panic(fmt.Errorf("output field is required"))
+ }
+ docEntries := make([]Documentation, 0)
+ annotationFactory := anns.NewAnnotationFactory(nil)
+ for group, val := range annotationFactory {
+ annotations := val.GetDocumentation()
+ intermediateDocs := make([]Documentation, len(annotations))
+ i := 0
+ for annotation, values := range annotations {
+ doc := Documentation{
+ Group: group,
+ Annotation: annotation,
+ Scope: string(values.Scope),
+ Risk: values.Risk.ToString(),
+ }
+ intermediateDocs[i] = doc
+ i++
+ }
+ slices.SortStableFunc(intermediateDocs, func(a, b Documentation) int {
+ return strings.Compare(a.Annotation, b.Annotation)
+ })
+ docEntries = append(docEntries, intermediateDocs...)
+ }
+ slices.SortStableFunc(docEntries, func(a, b Documentation) int {
+ return strings.Compare(a.Group, b.Group)
+ })
+
+ tmpl, err := template.New("annotations.tmpl").ParseFS(content, "annotations.tmpl")
+ if err != nil {
+ panic(fmt.Errorf("error parsing template: %s", err))
+ }
+
+ tplBuffer := new(bytes.Buffer)
+ err = tmpl.Execute(tplBuffer, docEntries)
+ if err != nil {
+ panic(err)
+ }
+ tplBuffer.WriteString("\n")
+
+ //nolint:gosec // no need to check file permission here
+ if err := os.WriteFile(output, tplBuffer.Bytes(), 0o755); err != nil {
+ panic(err)
+ }
+}
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..d3dad666f
--- /dev/null
+++ b/docs/user-guide/nginx-configuration/annotations-risk.md
@@ -0,0 +1,141 @@
+# 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 |
+| 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/hack/update-annotation-doc.sh b/hack/update-annotation-doc.sh
new file mode 100755
index 000000000..c4feb41ce
--- /dev/null
+++ b/hack/update-annotation-doc.sh
@@ -0,0 +1,23 @@
+#!/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
+
+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/internal/ingress/annotations/annotations.go b/internal/ingress/annotations/annotations.go
index 302f0b4b1..14d6b6b1e 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,13 @@ 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/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 +45,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 +59,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"
@@ -124,51 +123,55 @@ 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),
+ "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/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/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"
From 59705e17881945b24572595c3509f213b7a54b4c Mon Sep 17 00:00:00 2001
From: k8s-infra-cherrypick-robot
<90416843+k8s-infra-cherrypick-robot@users.noreply.github.com>
Date: Wed, 21 Aug 2024 00:39:27 -0700
Subject: [PATCH 192/265] Bump github/codeql-action from 3.26.0 to 3.26.2 in
the all group (#11833)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
---
.github/workflows/scorecards.yml | 2 +-
.github/workflows/vulnerability-scans.yaml | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/.github/workflows/scorecards.yml b/.github/workflows/scorecards.yml
index a6b64d408..3301b12cf 100644
--- a/.github/workflows/scorecards.yml
+++ b/.github/workflows/scorecards.yml
@@ -59,6 +59,6 @@ jobs:
# Upload the results to GitHub's code scanning dashboard.
- name: "Upload to code-scanning"
- uses: github/codeql-action/upload-sarif@eb055d739abdc2e8de2e5f4ba1a8b246daa779aa # v3.26.0
+ uses: github/codeql-action/upload-sarif@429e1977040da7a23b6822b13c129cd1ba93dbb2 # v3.26.2
with:
sarif_file: results.sarif
diff --git a/.github/workflows/vulnerability-scans.yaml b/.github/workflows/vulnerability-scans.yaml
index cc3240931..dcf012368 100644
--- a/.github/workflows/vulnerability-scans.yaml
+++ b/.github/workflows/vulnerability-scans.yaml
@@ -75,7 +75,7 @@ jobs:
# This step checks out a copy of your repository.
- name: Upload SARIF file
- uses: github/codeql-action/upload-sarif@eb055d739abdc2e8de2e5f4ba1a8b246daa779aa # v3.26.0
+ uses: github/codeql-action/upload-sarif@429e1977040da7a23b6822b13c129cd1ba93dbb2 # v3.26.2
with:
token: ${{ github.token }}
# Path to SARIF file relative to the root of the repository
From 9e9134612a21c424bf4a24992b55bdbe1f1d0128 Mon Sep 17 00:00:00 2001
From: Marco Ebert
Date: Thu, 22 Aug 2024 11:28:59 +0200
Subject: [PATCH 193/265] Bump k8s.io/component-base from 0.30.3 to 0.31.0
(#11841)
Signed-off-by: dependabot[bot]
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
---
go.mod | 22 ++++++++++++++--------
go.sum | 40 ++++++++++++++++++++++++----------------
2 files changed, 38 insertions(+), 24 deletions(-)
diff --git a/go.mod b/go.mod
index a65a3855c..1f955b7e9 100644
--- a/go.mod
+++ b/go.mod
@@ -16,7 +16,7 @@ require (
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.0
+ github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2
github.com/prometheus/client_golang v1.19.1
github.com/prometheus/client_model v0.6.1
github.com/prometheus/common v0.55.0
@@ -31,20 +31,26 @@ require (
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.30.3
+ k8s.io/api v0.31.0
k8s.io/apiextensions-apiserver v0.30.1
- k8s.io/apimachinery v0.30.3
+ k8s.io/apimachinery v0.31.0
k8s.io/apiserver v0.30.1
k8s.io/cli-runtime v0.30.0
- k8s.io/client-go v0.30.3
+ k8s.io/client-go v0.31.0
k8s.io/code-generator v0.30.1
- k8s.io/component-base v0.30.3
+ 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.18.4
sigs.k8s.io/mdtoc v1.1.0
)
+require (
+ github.com/fxamacker/cbor/v2 v2.7.0 // indirect
+ github.com/x448/float16 v0.8.4 // indirect
+ gopkg.in/evanphx/json-patch.v4 v4.12.0 // indirect
+)
+
require (
github.com/Azure/go-ansiterm v0.0.0-20230124172434-306776ec8161 // indirect
github.com/BurntSushi/toml v1.3.2 // indirect
@@ -53,7 +59,7 @@ require (
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.12.0 // indirect
github.com/evanphx/json-patch v5.9.0+incompatible // indirect
@@ -114,7 +120,7 @@ require (
golang.org/x/text v0.17.0 // indirect
golang.org/x/time v0.5.0 // indirect
golang.org/x/tools v0.24.0 // indirect
- google.golang.org/genproto/googleapis/rpc v0.0.0-20240528184218-531527333157 // 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
@@ -123,7 +129,7 @@ require (
gopkg.in/yaml.v3 v3.0.1 // 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-20240502163921-fe8a2dddb1d0 // 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 197c94cf1..ff22fa7f8 100644
--- a/go.sum
+++ b/go.sum
@@ -21,8 +21,9 @@ github.com/creack/pty v1.1.18/go.mod h1:MOBLtS5ELjhRRrroQr9kyvTxUAFNvYEK993ew/Vr
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=
@@ -40,6 +41,8 @@ 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-logr/logr v1.4.2 h1:6pFjapn8bFcIbiKo3XT4j/BhANplGihG6tvd+8rYgrY=
@@ -172,8 +175,9 @@ github.com/peterbourgon/diskv v2.0.1+incompatible h1:UBdAOUP5p4RWqPBg048CAvpKN+v
github.com/peterbourgon/diskv v2.0.1+incompatible/go.mod h1:uqqh8zWWbv1HBMNONnaR/tNboyR3/BZd58JJSHlUSCU=
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/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.19.1 h1:wZWJDwK+NameRJuPGDhlnFgx8e8HN3XHQeLaYJFJBOE=
github.com/prometheus/client_golang v1.19.1/go.mod h1:mP78NwGzrVks5S2H6ab8+ZZGJLZUq1hoULYBAYBw1Ho=
github.com/prometheus/client_model v0.6.1 h1:ZKSh/rekM+n3CeS952MLRAdFwIKqeY8b62p8ais2e9E=
@@ -182,8 +186,8 @@ github.com/prometheus/common v0.55.0 h1:KEi6DK7lXW/m7Ig5i47x0vRzuBsHuvJdi5ee6Y3G
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.11.0 h1:cWPaGQEPrBb5/AsnsZesgZZ9yb1OQ+GOISoDNXVBh4M=
-github.com/rogpeppe/go-internal v1.11.0/go.mod h1:ddIwULY96R17DhadqLgMfk9H9tvdUzkipdSkR5nkCZA=
+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=
@@ -204,6 +208,8 @@ github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/
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=
@@ -289,8 +295,8 @@ golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8T
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/genproto/googleapis/rpc v0.0.0-20240528184218-531527333157 h1:Zy9XzmMEflZ/MAaA7vNcoebnRAld7FsPW1EeBB7V0m8=
-google.golang.org/genproto/googleapis/rpc v0.0.0-20240528184218-531527333157/go.mod h1:EfXuqaE1J41VCDicxHzUDm+8rk+7ZdXzHV0IhO/I6s0=
+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=
@@ -307,6 +313,8 @@ gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8
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/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=
@@ -329,30 +337,30 @@ 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.30.3 h1:ImHwK9DCsPA9uoU3rVh4QHAHHK5dTSv1nxJUapx8hoQ=
-k8s.io/api v0.30.3/go.mod h1:GPc8jlzoe5JG3pb0KJCSLX5oAFIW3/qNJITlDj8BH04=
+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.30.1 h1:4fAJZ9985BmpJG6PkoxVRpXv9vmPUOVzl614xarePws=
k8s.io/apiextensions-apiserver v0.30.1/go.mod h1:R4GuSrlhgq43oRY9sF2IToFh7PVlF1JjfWdoG3pixk4=
-k8s.io/apimachinery v0.30.3 h1:q1laaWCmrszyQuSQCfNB8cFgCuDAoPszKY4ucAjDwHc=
-k8s.io/apimachinery v0.30.3/go.mod h1:iexa2somDaxdnj7bha06bhb43Zpa6eWH8N8dbqVjTUc=
+k8s.io/apimachinery v0.31.0 h1:m9jOiSr3FoSSL5WO9bjm1n6B9KROYYgNZOb4tyZ1lBc=
+k8s.io/apimachinery v0.31.0/go.mod h1:rsPdaZJfTfLsNJSQzNHQvYoTmxhoOEofxtOsF3rtsMo=
k8s.io/apiserver v0.30.1 h1:BEWEe8bzS12nMtDKXzCF5Q5ovp6LjjYkSp8qOPk8LZ8=
k8s.io/apiserver v0.30.1/go.mod h1:i87ZnQ+/PGAmSbD/iEKM68bm1D5reX8fO4Ito4B01mo=
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.30.3 h1:bHrJu3xQZNXIi8/MoxYtZBBWQQXwy16zqJwloXXfD3k=
-k8s.io/client-go v0.30.3/go.mod h1:8d4pf8vYu665/kUbsxWAQ/JDBNWqfFeZnvFiVdmx89U=
+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.30.1 h1:ZsG++q5Vt0ScmKCeLhynUuWgcwFGg1Hl1AGfatqPJBI=
k8s.io/code-generator v0.30.1/go.mod h1:hFgxRsvOUg79mbpbVKfjJvRhVz1qLoe40yZDJ/hwRH4=
-k8s.io/component-base v0.30.3 h1:Ci0UqKWf4oiwy8hr1+E3dsnliKnkMLZMVbWzeorlk7s=
-k8s.io/component-base v0.30.3/go.mod h1:C1SshT3rGPCuNtBs14RmVD2xW0EhRSeLvBh7AGk1quA=
+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-20240502163921-fe8a2dddb1d0 h1:jgGTlFYnhF1PM1Ax/lAlxUPE+KfCIXHaathvJg1C3ak=
-k8s.io/utils v0.0.0-20240502163921-fe8a2dddb1d0/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0=
+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=
sigs.k8s.io/controller-runtime v0.18.4 h1:87+guW1zhvuPLh1PHybKdYFLU0YJp4FhJRmiHvm5BZw=
From aaea916903db05080b5f02d6d74ca3d5da1e64d3 Mon Sep 17 00:00:00 2001
From: Marco Ebert
Date: Thu, 22 Aug 2024 11:34:24 +0200
Subject: [PATCH 194/265] Bump dario.cat/mergo from 1.0.0 to 1.0.1 in the all
group (#11846)
Signed-off-by: dependabot[bot]
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
---
go.mod | 2 +-
go.sum | 4 ++--
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/go.mod b/go.mod
index 1f955b7e9..5d1c4b762 100644
--- a/go.mod
+++ b/go.mod
@@ -3,7 +3,7 @@ module k8s.io/ingress-nginx
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
diff --git a/go.sum b/go.sum
index ff22fa7f8..46cbd4117 100644
--- a/go.sum
+++ b/go.sum
@@ -1,5 +1,5 @@
-dario.cat/mergo v1.0.0 h1:AGCNq9Evsj31mOgNPcLyXc+4PNABt905YmuqPYYpBWk=
-dario.cat/mergo v1.0.0/go.mod h1:uNxQE+84aUszobStD9th8a29P2fMDhsBdgRYvZOxGmk=
+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/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=
From 5f265d0b6ea892f3ee097ce7bc38471b7e8284c2 Mon Sep 17 00:00:00 2001
From: k8s-infra-cherrypick-robot
<90416843+k8s-infra-cherrypick-robot@users.noreply.github.com>
Date: Thu, 22 Aug 2024 02:36:13 -0700
Subject: [PATCH 195/265] Bump sigs.k8s.io/controller-runtime from 0.18.4 to
0.19.0 (#11847)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
---
go.mod | 8 ++++----
go.sum | 16 ++++++++--------
2 files changed, 12 insertions(+), 12 deletions(-)
diff --git a/go.mod b/go.mod
index 5d1c4b762..34f939ed8 100644
--- a/go.mod
+++ b/go.mod
@@ -32,16 +32,16 @@ require (
gopkg.in/go-playground/pool.v3 v3.1.1
gopkg.in/mcuadros/go-syslog.v2 v2.3.0
k8s.io/api v0.31.0
- k8s.io/apiextensions-apiserver v0.30.1
+ k8s.io/apiextensions-apiserver v0.31.0
k8s.io/apimachinery v0.31.0
- k8s.io/apiserver v0.30.1
+ 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.30.1
+ 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.18.4
+ sigs.k8s.io/controller-runtime v0.19.0
sigs.k8s.io/mdtoc v1.1.0
)
diff --git a/go.sum b/go.sum
index 46cbd4117..dfabaf5e5 100644
--- a/go.sum
+++ b/go.sum
@@ -339,18 +339,18 @@ 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.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.30.1 h1:4fAJZ9985BmpJG6PkoxVRpXv9vmPUOVzl614xarePws=
-k8s.io/apiextensions-apiserver v0.30.1/go.mod h1:R4GuSrlhgq43oRY9sF2IToFh7PVlF1JjfWdoG3pixk4=
+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.30.1 h1:BEWEe8bzS12nMtDKXzCF5Q5ovp6LjjYkSp8qOPk8LZ8=
-k8s.io/apiserver v0.30.1/go.mod h1:i87ZnQ+/PGAmSbD/iEKM68bm1D5reX8fO4Ito4B01mo=
+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.30.1 h1:ZsG++q5Vt0ScmKCeLhynUuWgcwFGg1Hl1AGfatqPJBI=
-k8s.io/code-generator v0.30.1/go.mod h1:hFgxRsvOUg79mbpbVKfjJvRhVz1qLoe40yZDJ/hwRH4=
+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=
@@ -363,8 +363,8 @@ k8s.io/utils v0.0.0-20240711033017-18e509b52bc8 h1:pUdcCO1Lk/tbT5ztQWOBi5HBgbBP1
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=
-sigs.k8s.io/controller-runtime v0.18.4 h1:87+guW1zhvuPLh1PHybKdYFLU0YJp4FhJRmiHvm5BZw=
-sigs.k8s.io/controller-runtime v0.18.4/go.mod h1:TVoGrfdpbA9VRFaRnKgk9P5/atA0pMwq+f+msb9M8Sg=
+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=
From f6e211acde3b7dca72ca5f4582dece6c25b6ebe4 Mon Sep 17 00:00:00 2001
From: k8s-infra-cherrypick-robot
<90416843+k8s-infra-cherrypick-robot@users.noreply.github.com>
Date: Thu, 22 Aug 2024 02:37:55 -0700
Subject: [PATCH 196/265] Bump github.com/prometheus/client_golang from 1.19.1
to 1.20.1 (#11848)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
---
go.mod | 3 ++-
go.sum | 6 ++++--
2 files changed, 6 insertions(+), 3 deletions(-)
diff --git a/go.mod b/go.mod
index 34f939ed8..ae1c412e5 100644
--- a/go.mod
+++ b/go.mod
@@ -17,7 +17,7 @@ require (
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.19.1
+ 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
@@ -47,6 +47,7 @@ require (
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
)
diff --git a/go.sum b/go.sum
index dfabaf5e5..79e213628 100644
--- a/go.sum
+++ b/go.sum
@@ -109,6 +109,8 @@ github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnr
github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo=
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/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.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE=
github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk=
@@ -178,8 +180,8 @@ github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINE
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
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.19.1 h1:wZWJDwK+NameRJuPGDhlnFgx8e8HN3XHQeLaYJFJBOE=
-github.com/prometheus/client_golang v1.19.1/go.mod h1:mP78NwGzrVks5S2H6ab8+ZZGJLZUq1hoULYBAYBw1Ho=
+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=
From fb81aff398bcf08f6b637ad54601f43be0857cb8 Mon Sep 17 00:00:00 2001
From: k8s-infra-cherrypick-robot
<90416843+k8s-infra-cherrypick-robot@users.noreply.github.com>
Date: Sat, 24 Aug 2024 06:30:20 -0700
Subject: [PATCH 197/265] Replace deprecated queue method (#11858)
Co-authored-by: Ricardo Katz
---
internal/task/queue.go | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/internal/task/queue.go b/internal/task/queue.go
index f92f2a501..8753bed34 100644
--- a/internal/task/queue.go
+++ b/internal/task/queue.go
@@ -36,7 +36,7 @@ var keyFunc = cache.DeletionHandlingMetaNamespaceKeyFunc
// which timestamp is older than the last successful get operation.
type Queue struct {
// queue is the work queue the worker polls
- queue workqueue.RateLimitingInterface
+ queue workqueue.TypedRateLimitingInterface[any]
// sync is called for each item in the queue
sync func(interface{}) error
// workerDone is closed when the worker exits
@@ -172,7 +172,7 @@ func NewTaskQueue(syncFn func(interface{}) error) *Queue {
// NewCustomTaskQueue creates a new custom task queue with the given sync function.
func NewCustomTaskQueue(syncFn func(interface{}) error, fn func(interface{}) (interface{}, error)) *Queue {
q := &Queue{
- queue: workqueue.NewRateLimitingQueue(workqueue.DefaultControllerRateLimiter()),
+ queue: workqueue.NewTypedRateLimitingQueue(workqueue.DefaultTypedControllerRateLimiter[any]()),
sync: syncFn,
workerDone: make(chan bool),
fn: fn,
From a480113f18e25a6402401e766dfb6167aa2d11af Mon Sep 17 00:00:00 2001
From: Marco Ebert
Date: Mon, 26 Aug 2024 18:48:35 +0200
Subject: [PATCH 198/265] Go: Sync `go.work.sum`. (#11876)
---
go.work.sum | 71 +++++++++++++++++++++++++++++++++++++++++++++++++++--
1 file changed, 69 insertions(+), 2 deletions(-)
diff --git a/go.work.sum b/go.work.sum
index 3a38ab8ec..5a6fe2480 100644
--- a/go.work.sum
+++ b/go.work.sum
@@ -1,3 +1,4 @@
+cel.dev/expr v0.15.0 h1:O1jzfJCQBfL5BFoYktaxwIhuttaQPsVWerH9/EEKx0w=
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=
@@ -123,6 +124,7 @@ cloud.google.com/go/cloudtasks v1.12.6/go.mod h1:b7c7fe4+TJsFZfDyzO51F7cjq7HLUlR
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 h1:6sVlXXBmbd7jNX0Ipq0trII3e4n1/MsADLK6a+aiVlk=
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=
@@ -569,6 +571,8 @@ github.com/andybalholm/brotli v1.0.4 h1:V7DdXeJtZscaqfNuAdSRuRFzuiKlHSC/Zh3zl9qY
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/antlr4-go/antlr/v4 v4.13.0 h1:lxCg3LAv+EUK6t1i0y1V6/SLeUi0eKEKdhQAlS8TVTI=
+github.com/antlr4-go/antlr/v4 v4.13.0/go.mod h1:pfChB/xh/Unjila75QW7+VU4TSnWnnk9UTnmpPaOR2g=
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=
@@ -583,6 +587,8 @@ 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/cenkalti/backoff/v4 v4.3.0 h1:MyRJ/UdXutAwSAT+s3wNd7MfTIcy71VQueUuFK343L8=
+github.com/cenkalti/backoff/v4 v4.3.0/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=
@@ -615,6 +621,7 @@ github.com/cncf/xds/go v0.0.0-20231109132714-523115ebc101/go.mod h1:eXthEFrGJvWH
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 h1:ga8SEFjZ60pxLcmhnThWgvH2wg8376yUJmPhEH4H3kw=
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=
@@ -624,6 +631,7 @@ github.com/coreos/go-semver v0.3.1 h1:yi21YpKnrx1gt5R+la8n5WgS0kCrsPp33dmEyHReZr
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/cpuguy83/go-md2man/v2 v2.0.4 h1:wfIWP927BUkWJb2NmU/kNDYIBTh/ziUX91+lVfRxZq4=
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=
@@ -642,6 +650,7 @@ github.com/envoyproxy/protoc-gen-validate v1.0.4/go.mod h1:qys6tmnRsYrQqIhm2bvKZ
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 h1:NFTV2Zj1bL4mc9sqWACXbQFVBBg2W3GPvqp8/ESS2Wg=
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=
@@ -678,6 +687,7 @@ github.com/go-openapi/jsonpointer v0.19.6/go.mod h1:osyAmYz/mB/C3I+WsTTSgw1ONzaL
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.4/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=
@@ -703,6 +713,7 @@ github.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0 h1:DACJavvAHhabrF0
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/glog v1.2.1 h1:OptwRhECazUx5ix5TTWC3EZhsZEHWcYWY4FQHTIubm4=
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=
@@ -711,6 +722,8 @@ github.com/google/btree v1.0.1/go.mod h1:xXMiIv4Fb/0kKde4SpL7qlzvu5cMJDRkFDxJfI9
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/cel-go v0.20.1 h1:nDx9r8S3L4pE61eDdt8igGj8rf5kjYR3ILxWIpWNi84=
+github.com/google/cel-go v0.20.1/go.mod h1:kWcIzTsPX0zmQ+H3TirHstLLf9ep5QTsZBN9u4dOYLg=
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/gofuzz v1.1.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg=
@@ -718,6 +731,8 @@ github.com/google/martian v2.1.0+incompatible h1:/CP5g8u/VJHijgedC/Legn3BAbAaWPg
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/pprof v0.0.0-20210720184732-4bb14d4b1be1/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE=
+github.com/google/pprof v0.0.0-20240424215950-a892ee059fd6/go.mod h1:kf6iHlnVGwgKolg33glAes7Yg/8iWP8ukqeldJSO7jw=
+github.com/google/pprof v0.0.0-20240525223248-4bfdf5a9a2af/go.mod h1:K1liHPHnj73Fdn/EKuT8nrFqBihUSKXoLYU0BuatOYo=
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=
@@ -743,6 +758,8 @@ github.com/grpc-ecosystem/grpc-gateway v1.16.0 h1:gmcG1KaJ57LophUzW0Hy8NmPhnMZb4
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/grpc-ecosystem/grpc-gateway/v2 v2.20.0 h1:bkypFPDjIYGfCYD5mRBvpqxfYX1YCS1PXdKYWi8FsN0=
+github.com/grpc-ecosystem/grpc-gateway/v2 v2.20.0/go.mod h1:P+Lt/0by1T8bfcF3z737NnSbmxQAppXMRziHUxPOC8k=
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=
@@ -795,6 +812,8 @@ github.com/minio/asm2plan9s v0.0.0-20200509001527-cdd76441f9d8 h1:AMFGa4R4MiIpsp
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/moby/spdystream v0.4.0 h1:Vy79D6mHeJJjiPdFEL2yku1kl0chZpJfZcPpb16BRl8=
+github.com/moby/spdystream v0.4.0/go.mod h1:xBAYlnt/ay+11ShkdFKNAG7LsyK/tmNBVvVOwrfMgdI=
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=
@@ -871,8 +890,6 @@ github.com/vishvananda/netlink v1.1.0 h1:1iyaYNBLmP6L0220aDnYQpo1QEV4t4hJ+xEEhhJ
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=
@@ -883,50 +900,84 @@ 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/bbolt v1.3.9 h1:8x7aARPEXiXbHmtUwAIv7eV2fQFHrLLavdiJ3uzJXoI=
+go.etcd.io/bbolt v1.3.9/go.mod h1:zaO32+Ti0PK1ivdPtgMESzuzL2VPoIG1PCQNvOdo/dE=
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/api/v3 v3.5.14 h1:vHObSCxyB9zlF60w7qzAdTcGaglbJOpSj1Xj9+WGxq0=
+go.etcd.io/etcd/api/v3 v3.5.14/go.mod h1:BmtWcRlQvwa1h3G2jvKYwIQy4PkHlDej5t7uLMUdJUU=
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/pkg/v3 v3.5.14 h1:SaNH6Y+rVEdxfpA2Jr5wkEvN6Zykme5+YnbCkxvuWxQ=
+go.etcd.io/etcd/client/pkg/v3 v3.5.14/go.mod h1:8uMgAokyG1czCtIdsq+AGyYQMvpIKnSvPjFMunkgeZI=
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/v2 v2.305.13 h1:RWfV1SX5jTU0lbCvpVQe3iPQeAHETWdOTb6pxhd77C8=
+go.etcd.io/etcd/client/v2 v2.305.13/go.mod h1:iQnL7fepbiomdXMb3om1rHq96htNNGv2sJkEcZGDRRg=
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/client/v3 v3.5.14 h1:CWfRs4FDaDoSz81giL7zPpZH2Z35tbOrAJkkjMqOupg=
+go.etcd.io/etcd/client/v3 v3.5.14/go.mod h1:k3XfdV/VIHy/97rqWjoUzrj9tk7GgJGH9J8L4dNXmAk=
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/pkg/v3 v3.5.13 h1:st9bDWNsKkBNpP4PR1MvM/9NqUPfvYZx/YXegsYEH8M=
+go.etcd.io/etcd/pkg/v3 v3.5.13/go.mod h1:N+4PLrp7agI/Viy+dUYpX7iRtSPvKq+w8Y14d1vX+m0=
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/raft/v3 v3.5.13 h1:7r/NKAOups1YnKcfro2RvGGo2PTuizF/xh26Z2CTAzA=
+go.etcd.io/etcd/raft/v3 v3.5.13/go.mod h1:uUFibGLn2Ksm2URMxN1fICGhk8Wu96EfDQyuLhAcAmw=
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.etcd.io/etcd/server/v3 v3.5.13 h1:V6KG+yMfMSqWt+lGnhFpP5z5dRUj1BDRJ5k1fQ9DFok=
+go.etcd.io/etcd/server/v3 v3.5.13/go.mod h1:K/8nbsGupHqmr5MkgaZpLlH1QdX1pcNQLAkODy44XcQ=
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/google.golang.org/grpc/otelgrpc v0.53.0 h1:9G6E0TXzGFVfTnawRzrPl83iHOAV7L8NJiR8RSGYV1g=
+go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.53.0/go.mod h1:azvtTADFQJA8mX80jIH/akaE7h+dbm/sVuaHqN13w74=
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/contrib/instrumentation/net/http/otelhttp v0.53.0 h1:4K4tsIXefpVJtvA/8srF4V4y0akAoPHkIslgAkjixJA=
+go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.53.0/go.mod h1:jjdQuTGVsXV4vSs+CJ2qYDeDPf9yIJV23qlIzBm73Vg=
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 v1.28.0 h1:/SqNcYk+idO0CxKEUOtKQClMK/MimZihKYMruSMViUo=
+go.opentelemetry.io/otel v1.28.0/go.mod h1:q68ijF8Fc8CnMHKyzqL6akLO46ePnjkgfIMIjUIX9z4=
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 v1.28.0 h1:3Q/xZUyC1BBkualc9ROb4G8qkH90LXEIICcs5zv1OYY=
+go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.28.0/go.mod h1:s75jGIWA9OfCMzF0xr+ZgfrB5FEbbV7UuYo32ahUiFI=
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/exporters/otlp/otlptrace/otlptracegrpc v1.27.0 h1:qFffATk0X+HD+f1Z8lswGiOQYKHRlzfmdJm0wEaVrFA=
+go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.27.0/go.mod h1:MOiCmryaYtc+V0Ei+Tx9o5S1ZjA7kzLucuVuyzBZloQ=
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/metric v1.28.0 h1:f0HGvSl1KRAU1DLgLGFjrwVyismPlnuU6JD6bOeuA5Q=
+go.opentelemetry.io/otel/metric v1.28.0/go.mod h1:Fb1eVBFZmLVTMb6PPohq3TO9IIhUisDsbJoL/+uQW4s=
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/sdk v1.28.0 h1:b9d7hIry8yZsgtbmM0DKyPWMMUMlK9NEKuIG4aBqWyE=
+go.opentelemetry.io/otel/sdk v1.28.0/go.mod h1:oYj7ClPUA7Iw3m+r7GeEjz0qckQRJK2B8zjcZEfu7Pg=
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/otel/trace v1.28.0 h1:GhQ9cUuQGmNDd5BTCP2dAvv75RdMxEfTmYejp+lkx9g=
+go.opentelemetry.io/otel/trace v1.28.0/go.mod h1:jPyXzNPg6da9+38HEwElrQiHlVMTnVfM3/yv2OlIHaI=
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.opentelemetry.io/proto/otlp v1.3.1 h1:TrMUixzpM0yuc/znrFTP9MMRh8trP93mkCiDVeXrui0=
+go.opentelemetry.io/proto/otlp v1.3.1/go.mod h1:0X1WI4de4ZsLrrJNLAQbFeLCm3T7yBkR0XqQ7niQU+8=
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=
@@ -944,6 +995,7 @@ golang.org/x/mobile v0.0.0-20190719004257-d2bd2a29d028 h1:4+4C/Iv2U4fMZBiMCc98MG
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/mod v0.14.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c=
+golang.org/x/mod v0.17.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=
@@ -951,6 +1003,8 @@ golang.org/x/net v0.18.0/go.mod h1:/czyP5RqHAH4odGYxBJ1qz0+CE5WZ+2j1YgoEo8F2jQ=
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/net v0.26.0/go.mod h1:5YKkiSynbBIh3p6iOc/vibscux0x38BZDkn8sCUPxHE=
+golang.org/x/net v0.27.0/go.mod h1:dDi0PyhWNoiUOrAS8uXv/vnScO4wnHQO4mj9fn/RytE=
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.13.0/go.mod h1:/JMhi4ZRXAf4HG9LiNmxvk+45+96RUlVThiH8FzNBn0=
@@ -958,18 +1012,24 @@ golang.org/x/oauth2 v0.14.0/go.mod h1:lAtNWgaWfL4cm7j2OV8TxGi9Qb7ECORx8DktCY74Ow
golang.org/x/oauth2 v0.15.0/go.mod h1:q48ptWNTY5XWf+JNten23lcvHpLJ0ZSxF5ttTHKVCAM=
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.7.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk=
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.14.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/sys v0.21.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
+golang.org/x/sys v0.22.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
golang.org/x/telemetry v0.0.0-20240208230135-b75ee8823808/go.mod h1:KG1lNk5ZFNssSZLrpVb4sMXKMpGwGXOxSG3rnu2gZQQ=
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/telemetry v0.0.0-20240521205824-bda55230c457 h1:zf5N6UOrA487eEFacMePxjXAJctxKmyjKUsjA11Uzuk=
+golang.org/x/telemetry v0.0.0-20240521205824-bda55230c457/go.mod h1:pRgIJT+bRLFKnoM1ldnzKoxTIn14Yxz928LQRYYgIN0=
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.16.0/go.mod h1:GhwF1Be+LQoKShO3cGOHzqOgRrGaYc9AvblQOmPVHnI=
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.12.0/go.mod h1:Sc0INKfu04TlqNoRA1hgpFZbhYXHPr4V5DzpSBTPqQM=
@@ -977,6 +1037,8 @@ 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/tools v0.21.1-0.20240508182429-e35e4ccd0d2d/go.mod h1:aiJjzUbINMkxbQROHiO6hDPo2LHcIPhhQsa9DLh0yGk=
+golang.org/x/tools v0.23.0/go.mod h1:pnu6ufv6vQkll6szChhK3C3L/ruaIv5eBeztNG8wtsI=
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=
@@ -1022,6 +1084,7 @@ google.golang.org/genproto/googleapis/api v0.0.0-20240213162025-012b6fc9bca9/go.
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 h1:7whR9kGa5LUwFtpLm2ArCEejtnxlGeLbAyjFY8sGNFw=
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=
@@ -1064,6 +1127,8 @@ 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/kms v0.31.0 h1:KchILPfB1ZE+ka7223mpU5zeFNkmb45jl7RHnlImUaI=
+k8s.io/kms v0.31.0/go.mod h1:OZKwl1fan3n3N5FFxnW5C4V3ygrah/3YXeJWS3O6+94=
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=
@@ -1088,6 +1153,8 @@ 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/apiserver-network-proxy/konnectivity-client v0.30.3 h1:2770sDpzrjjsAtVhSeUFseziht227YAWYHLGNM8QPwY=
+sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.30.3/go.mod h1:Ve9uj1L+deCXFrPOk1LpFXqTg7LCFzFso6PA48q/XZw=
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=
From 886ba107dd0247775f989018add9c533eb40c114 Mon Sep 17 00:00:00 2001
From: k8s-infra-cherrypick-robot
<90416843+k8s-infra-cherrypick-robot@users.noreply.github.com>
Date: Mon, 26 Aug 2024 13:31:28 -0700
Subject: [PATCH 199/265] Update maxmind post link about geolite2 license
changes (#11880)
Signed-off-by: Seonghyeon Cho
Co-authored-by: Seonghyeon Cho
---
Changelog.md | 2 +-
charts/ingress-nginx/README.md | 2 +-
charts/ingress-nginx/values.yaml | 2 +-
docs/user-guide/cli-arguments.md | 2 +-
docs/user-guide/nginx-configuration/configmap.md | 2 +-
pkg/flags/flags.go | 2 +-
6 files changed, 6 insertions(+), 6 deletions(-)
diff --git a/Changelog.md b/Changelog.md
index 400c187f7..f74ff8119 100644
--- a/Changelog.md
+++ b/Changelog.md
@@ -2057,7 +2057,7 @@ _Breaking Changes:_
```
Due to upcoming data privacy regulations, we are making significant changes to how you access free GeoLite2 databases starting December 30, 2019.
- Learn more on our blog https://blog.maxmind.com/2019/12/18/significant-changes-to-accessing-and-using-geolite2-databases/
+ Learn more on our blog https://blog.maxmind.com/2019/12/significant-changes-to-accessing-and-using-geolite2-databases/
```
Because of this change, it is not clear we can provide the databases directly from the docker image.
diff --git a/charts/ingress-nginx/README.md b/charts/ingress-nginx/README.md
index a66c1e102..48bc20771 100644
--- a/charts/ingress-nginx/README.md
+++ b/charts/ingress-nginx/README.md
@@ -356,7 +356,7 @@ As of version `1.26.0` of this chart, by simply not providing any clusterIP valu
| controller.livenessProbe.periodSeconds | int | `10` | |
| controller.livenessProbe.successThreshold | int | `1` | |
| controller.livenessProbe.timeoutSeconds | int | `1` | |
-| controller.maxmindLicenseKey | string | `""` | Maxmind license key to download GeoLite2 Databases. # https://blog.maxmind.com/2019/12/18/significant-changes-to-accessing-and-using-geolite2-databases |
+| controller.maxmindLicenseKey | string | `""` | Maxmind license key to download GeoLite2 Databases. # https://blog.maxmind.com/2019/12/significant-changes-to-accessing-and-using-geolite2-databases/ |
| controller.metrics.enabled | bool | `false` | |
| controller.metrics.port | int | `10254` | |
| controller.metrics.portName | string | `"metrics"` | |
diff --git a/charts/ingress-nginx/values.yaml b/charts/ingress-nginx/values.yaml
index 588072d29..d822eca10 100644
--- a/charts/ingress-nginx/values.yaml
+++ b/charts/ingress-nginx/values.yaml
@@ -180,7 +180,7 @@ controller:
# -- Annotations to be added to the udp config configmap
annotations: {}
# -- Maxmind license key to download GeoLite2 Databases.
- ## https://blog.maxmind.com/2019/12/18/significant-changes-to-accessing-and-using-geolite2-databases
+ ## https://blog.maxmind.com/2019/12/significant-changes-to-accessing-and-using-geolite2-databases/
maxmindLicenseKey: ""
# -- Additional command line arguments to pass to Ingress-Nginx Controller
# E.g. to specify the default SSL certificate you can use
diff --git a/docs/user-guide/cli-arguments.md b/docs/user-guide/cli-arguments.md
index 07a17a271..edc6b3e3a 100644
--- a/docs/user-guide/cli-arguments.md
+++ b/docs/user-guide/cli-arguments.md
@@ -41,7 +41,7 @@ They are set in the container spec of the `ingress-nginx-controller` Deployment
| `--maxmind-edition-ids` | Maxmind edition ids to download GeoLite2 Databases. (default "GeoLite2-City,GeoLite2-ASN") |
| `--maxmind-retries-timeout` | Maxmind downloading delay between 1st and 2nd attempt, 0s - do not retry to download if something went wrong. (default 0s) |
| `--maxmind-retries-count` | Number of attempts to download the GeoIP DB. (default 1) |
-| `--maxmind-license-key` | Maxmind license key to download GeoLite2 Databases. https://blog.maxmind.com/2019/12/18/significant-changes-to-accessing-and-using-geolite2-databases . |
+| `--maxmind-license-key` | Maxmind license key to download GeoLite2 Databases. https://blog.maxmind.com/2019/12/significant-changes-to-accessing-and-using-geolite2-databases/ . |
| `--maxmind-mirror` | Maxmind mirror url (example: http://geoip.local/databases. |
| `--metrics-per-host` | Export metrics per-host. (default true) |
| `--monitor-max-batch-size` | Max batch size of NGINX metrics. (default 10000)|
diff --git a/docs/user-guide/nginx-configuration/configmap.md b/docs/user-guide/nginx-configuration/configmap.md
index cfaccee43..5c6495dab 100644
--- a/docs/user-guide/nginx-configuration/configmap.md
+++ b/docs/user-guide/nginx-configuration/configmap.md
@@ -721,7 +721,7 @@ _**default:**_ true
## use-geoip2
Enables the [geoip2 module](https://github.com/leev/ngx_http_geoip2_module) for NGINX.
-Since `0.27.0` and due to a [change in the MaxMind databases](https://blog.maxmind.com/2019/12/18/significant-changes-to-accessing-and-using-geolite2-databases) a license is required to have access to the databases.
+Since `0.27.0` and due to a [change in the MaxMind databases](https://blog.maxmind.com/2019/12/significant-changes-to-accessing-and-using-geolite2-databases/) a license is required to have access to the databases.
For this reason, it is required to define a new flag `--maxmind-license-key` in the ingress controller deployment to download the databases needed during the initialization of the ingress controller.
Alternatively, it is possible to use a volume to mount the files `/etc/ingress-controller/geoip/GeoLite2-City.mmdb` and `/etc/ingress-controller/geoip/GeoLite2-ASN.mmdb`, avoiding the overhead of the download.
diff --git a/pkg/flags/flags.go b/pkg/flags/flags.go
index d3bc4ee86..86c188880 100644
--- a/pkg/flags/flags.go
+++ b/pkg/flags/flags.go
@@ -226,7 +226,7 @@ Takes the form ":port". If not provided, no admission controller is starte
flags.StringVar(&nginx.MaxmindMirror, "maxmind-mirror", "", `Maxmind mirror url (example: http://geoip.local/databases.`)
flags.StringVar(&nginx.MaxmindLicenseKey, "maxmind-license-key", "", `Maxmind license key to download GeoLite2 Databases.
-https://blog.maxmind.com/2019/12/18/significant-changes-to-accessing-and-using-geolite2-databases .`)
+https://blog.maxmind.com/2019/12/significant-changes-to-accessing-and-using-geolite2-databases/ .`)
flags.StringVar(&nginx.MaxmindEditionIDs, "maxmind-edition-ids", "GeoLite2-City,GeoLite2-ASN", `Maxmind edition ids to download GeoLite2 Databases.`)
flags.IntVar(&nginx.MaxmindRetriesCount, "maxmind-retries-count", 1, "Number of attempts to download the GeoIP DB.")
flags.DurationVar(&nginx.MaxmindRetriesTimeout, "maxmind-retries-timeout", time.Second*0, "Maxmind downloading delay between 1st and 2nd attempt, 0s - do not retry to download if something went wrong.")
From 5dca112a79a6694eb1bc9912a9b8604f4ca497da Mon Sep 17 00:00:00 2001
From: k8s-infra-cherrypick-robot
<90416843+k8s-infra-cherrypick-robot@users.noreply.github.com>
Date: Mon, 26 Aug 2024 13:32:08 -0700
Subject: [PATCH 200/265] Bump github/codeql-action from 3.26.2 to 3.26.5 in
the all group (#11869)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
---
.github/workflows/scorecards.yml | 2 +-
.github/workflows/vulnerability-scans.yaml | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/.github/workflows/scorecards.yml b/.github/workflows/scorecards.yml
index 3301b12cf..2a1489f5d 100644
--- a/.github/workflows/scorecards.yml
+++ b/.github/workflows/scorecards.yml
@@ -59,6 +59,6 @@ jobs:
# Upload the results to GitHub's code scanning dashboard.
- name: "Upload to code-scanning"
- uses: github/codeql-action/upload-sarif@429e1977040da7a23b6822b13c129cd1ba93dbb2 # v3.26.2
+ uses: github/codeql-action/upload-sarif@2c779ab0d087cd7fe7b826087247c2c81f27bfa6 # v3.26.5
with:
sarif_file: results.sarif
diff --git a/.github/workflows/vulnerability-scans.yaml b/.github/workflows/vulnerability-scans.yaml
index dcf012368..2d135695d 100644
--- a/.github/workflows/vulnerability-scans.yaml
+++ b/.github/workflows/vulnerability-scans.yaml
@@ -75,7 +75,7 @@ jobs:
# This step checks out a copy of your repository.
- name: Upload SARIF file
- uses: github/codeql-action/upload-sarif@429e1977040da7a23b6822b13c129cd1ba93dbb2 # v3.26.2
+ uses: github/codeql-action/upload-sarif@2c779ab0d087cd7fe7b826087247c2c81f27bfa6 # v3.26.5
with:
token: ${{ github.token }}
# Path to SARIF file relative to the root of the repository
From 7b1c88dc84873c87bf0277d1ba18bfd3d6875200 Mon Sep 17 00:00:00 2001
From: k8s-infra-cherrypick-robot
<90416843+k8s-infra-cherrypick-robot@users.noreply.github.com>
Date: Mon, 26 Aug 2024 13:32:48 -0700
Subject: [PATCH 201/265] Bump the all group with 2 updates (#11870)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
---
go.mod | 4 ++--
go.sum | 8 ++++----
2 files changed, 6 insertions(+), 6 deletions(-)
diff --git a/go.mod b/go.mod
index ae1c412e5..537e0b05a 100644
--- a/go.mod
+++ b/go.mod
@@ -14,10 +14,10 @@ require (
github.com/mitchellh/mapstructure v1.5.0
github.com/moul/pb v0.0.0-20220425114252-bca18df4138c
github.com/ncabatoff/process-exporter v0.8.3
- github.com/onsi/ginkgo/v2 v2.20.0
+ github.com/onsi/ginkgo/v2 v2.20.1
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_golang v1.20.2
github.com/prometheus/client_model v0.6.1
github.com/prometheus/common v0.55.0
github.com/spf13/cobra v1.8.1
diff --git a/go.sum b/go.sum
index 79e213628..94b85f1fc 100644
--- a/go.sum
+++ b/go.sum
@@ -163,8 +163,8 @@ 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.20.0 h1:PE84V2mHqoT1sglvHc8ZdQtPcwmvvt29WLEEO3xmdZw=
-github.com/onsi/ginkgo/v2 v2.20.0/go.mod h1:lG9ey2Z29hR41WMVthyJBGUBcBhGOtoPF2VFMvBXFCI=
+github.com/onsi/ginkgo/v2 v2.20.1 h1:YlVIbqct+ZmnEph770q9Q7NVAz4wwIiVNahee6JyUzo=
+github.com/onsi/ginkgo/v2 v2.20.1/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.34.1 h1:EUMJIKUjM8sKjYbtxQI9A4z2o+rruxnzNvpknOXie6k=
@@ -180,8 +180,8 @@ github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINE
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
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_golang v1.20.2 h1:5ctymQzZlyOON1666svgwn3s6IKWgfbjsejTMiXIyjg=
+github.com/prometheus/client_golang v1.20.2/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=
From 8543b719439196713c83b7d0cd46a4ff97863322 Mon Sep 17 00:00:00 2001
From: k8s-infra-cherrypick-robot
<90416843+k8s-infra-cherrypick-robot@users.noreply.github.com>
Date: Mon, 26 Aug 2024 14:42:48 -0700
Subject: [PATCH 202/265] CI: Grant checks write permissions to E2E Test
Report. (#11884)
Signed-off-by: Seonghyeon Cho
Co-authored-by: Seonghyeon Cho
---
.github/workflows/junit-reports.yaml | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/.github/workflows/junit-reports.yaml b/.github/workflows/junit-reports.yaml
index 947b90c25..e2a82910e 100644
--- a/.github/workflows/junit-reports.yaml
+++ b/.github/workflows/junit-reports.yaml
@@ -5,6 +5,10 @@ on:
workflows: ['CI'] # runs after CI workflow
types:
- completed
+
+permissions:
+ checks: write
+
jobs:
report:
runs-on: ubuntu-latest
From fc00ca8cfa461c62a0a904ac35eb37d5234b5873 Mon Sep 17 00:00:00 2001
From: k8s-infra-cherrypick-robot
<90416843+k8s-infra-cherrypick-robot@users.noreply.github.com>
Date: Mon, 26 Aug 2024 16:01:36 -0700
Subject: [PATCH 203/265] Annotations: Allow commas in URLs. (#11886)
Signed-off-by: James Strong
Co-authored-by: James Strong
---
internal/ingress/annotations/parser/validators.go | 2 +-
internal/ingress/annotations/parser/validators_test.go | 5 +++++
2 files changed, 6 insertions(+), 1 deletion(-)
diff --git a/internal/ingress/annotations/parser/validators.go b/internal/ingress/annotations/parser/validators.go
index ffb4d9ba9..31524508f 100644
--- a/internal/ingress/annotations/parser/validators.go
+++ b/internal/ingress/annotations/parser/validators.go
@@ -44,7 +44,7 @@ var (
alphaNumericChars = `\-\.\_\~a-zA-Z0-9\/:`
extendedAlphaNumeric = alphaNumericChars + ", "
regexEnabledChars = regexp.QuoteMeta(`^$[](){}*+?|&=\`)
- urlEnabledChars = regexp.QuoteMeta(`:?&=`)
+ urlEnabledChars = regexp.QuoteMeta(`,:?&=`)
)
// IsValidRegex checks if the tested string can be used as a regex, but without any weird character.
diff --git a/internal/ingress/annotations/parser/validators_test.go b/internal/ingress/annotations/parser/validators_test.go
index ed8449452..6c88342e4 100644
--- a/internal/ingress/annotations/parser/validators_test.go
+++ b/internal/ingress/annotations/parser/validators_test.go
@@ -55,6 +55,11 @@ func TestValidateArrayOfServerName(t *testing.T) {
value: "*.so*mething.com,bla.com",
wantErr: false,
},
+ {
+ name: "should allow comma separated query params",
+ value: "https://oauth.example/oauth2/auth?allowed_groups=gid1,gid2",
+ wantErr: false,
+ },
{
name: "should deny names with weird characters",
value: "something.com,lolo;xpto.com,nothing.com",
From 883cc88da683469e23ae8c81344b8d12633f5c3a Mon Sep 17 00:00:00 2001
From: k8s-infra-cherrypick-robot
<90416843+k8s-infra-cherrypick-robot@users.noreply.github.com>
Date: Tue, 27 Aug 2024 02:30:14 -0700
Subject: [PATCH 204/265] Chart: Add tests for `PrometheusRule` &
`ServiceMonitor`. (#11888)
Co-authored-by: Marco Ebert
---
charts/ingress-nginx/README.md | 2 +-
...es.yaml => controller-prometheusrule.yaml} | 0
.../tests/controller-prometheusrule_test.yaml | 17 +++++++++++
.../tests/controller-servicemonitor_test.yaml | 29 +++++++++++++++++++
charts/ingress-nginx/values.yaml | 1 +
5 files changed, 48 insertions(+), 1 deletion(-)
rename charts/ingress-nginx/templates/{controller-prometheusrules.yaml => controller-prometheusrule.yaml} (100%)
create mode 100644 charts/ingress-nginx/tests/controller-prometheusrule_test.yaml
create mode 100644 charts/ingress-nginx/tests/controller-servicemonitor_test.yaml
diff --git a/charts/ingress-nginx/README.md b/charts/ingress-nginx/README.md
index 48bc20771..4d1abf1e6 100644
--- a/charts/ingress-nginx/README.md
+++ b/charts/ingress-nginx/README.md
@@ -370,7 +370,7 @@ As of version `1.26.0` of this chart, by simply not providing any clusterIP valu
| controller.metrics.service.servicePort | int | `10254` | |
| controller.metrics.service.type | string | `"ClusterIP"` | |
| controller.metrics.serviceMonitor.additionalLabels | object | `{}` | |
-| controller.metrics.serviceMonitor.annotations | object | `{}` | |
+| controller.metrics.serviceMonitor.annotations | object | `{}` | Annotations to be added to the ServiceMonitor. |
| controller.metrics.serviceMonitor.enabled | bool | `false` | |
| controller.metrics.serviceMonitor.metricRelabelings | list | `[]` | |
| controller.metrics.serviceMonitor.namespace | string | `""` | |
diff --git a/charts/ingress-nginx/templates/controller-prometheusrules.yaml b/charts/ingress-nginx/templates/controller-prometheusrule.yaml
similarity index 100%
rename from charts/ingress-nginx/templates/controller-prometheusrules.yaml
rename to charts/ingress-nginx/templates/controller-prometheusrule.yaml
diff --git a/charts/ingress-nginx/tests/controller-prometheusrule_test.yaml b/charts/ingress-nginx/tests/controller-prometheusrule_test.yaml
new file mode 100644
index 000000000..d60a98315
--- /dev/null
+++ b/charts/ingress-nginx/tests/controller-prometheusrule_test.yaml
@@ -0,0 +1,17 @@
+suite: Controller > PrometheusRule
+templates:
+ - controller-prometheusrule.yaml
+
+tests:
+ - it: should create a PrometheusRule if `controller.metrics.prometheusRule.enabled` is true
+ set:
+ controller.metrics.enabled: true
+ controller.metrics.prometheusRule.enabled: true
+ asserts:
+ - hasDocuments:
+ count: 1
+ - isKind:
+ of: PrometheusRule
+ - equal:
+ path: metadata.name
+ value: RELEASE-NAME-ingress-nginx-controller
diff --git a/charts/ingress-nginx/tests/controller-servicemonitor_test.yaml b/charts/ingress-nginx/tests/controller-servicemonitor_test.yaml
new file mode 100644
index 000000000..310097c1a
--- /dev/null
+++ b/charts/ingress-nginx/tests/controller-servicemonitor_test.yaml
@@ -0,0 +1,29 @@
+suite: Controller > ServiceMonitor
+templates:
+ - controller-servicemonitor.yaml
+
+tests:
+ - it: should create a ServiceMonitor if `controller.metrics.serviceMonitor.enabled` is true
+ set:
+ controller.metrics.enabled: true
+ controller.metrics.serviceMonitor.enabled: true
+ asserts:
+ - hasDocuments:
+ count: 1
+ - isKind:
+ of: ServiceMonitor
+ - equal:
+ path: metadata.name
+ value: RELEASE-NAME-ingress-nginx-controller
+
+ - it: should create a ServiceMonitor with annotations if `controller.metrics.serviceMonitor.annotations` is set
+ set:
+ controller.metrics.enabled: true
+ controller.metrics.serviceMonitor.enabled: true
+ controller.metrics.serviceMonitor.annotations:
+ my-little-annotation: test-value
+ asserts:
+ - equal:
+ path: metadata.annotations
+ value:
+ my-little-annotation: test-value
diff --git a/charts/ingress-nginx/values.yaml b/charts/ingress-nginx/values.yaml
index d822eca10..ee497213f 100644
--- a/charts/ingress-nginx/values.yaml
+++ b/charts/ingress-nginx/values.yaml
@@ -847,6 +847,7 @@ controller:
serviceMonitor:
enabled: false
additionalLabels: {}
+ # -- Annotations to be added to the ServiceMonitor.
annotations: {}
## The label to use to retrieve the job name from.
## jobLabel: "app.kubernetes.io/name"
From ff5c2be7abc0194435065ae8aa57d416e7cee55d Mon Sep 17 00:00:00 2001
From: k8s-infra-cherrypick-robot
<90416843+k8s-infra-cherrypick-robot@users.noreply.github.com>
Date: Thu, 29 Aug 2024 06:00:30 -0700
Subject: [PATCH 205/265] Bump github/codeql-action from 3.26.5 to 3.26.6 in
the all group (#11905)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
---
.github/workflows/scorecards.yml | 2 +-
.github/workflows/vulnerability-scans.yaml | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/.github/workflows/scorecards.yml b/.github/workflows/scorecards.yml
index 2a1489f5d..aa8981aa3 100644
--- a/.github/workflows/scorecards.yml
+++ b/.github/workflows/scorecards.yml
@@ -59,6 +59,6 @@ jobs:
# Upload the results to GitHub's code scanning dashboard.
- name: "Upload to code-scanning"
- uses: github/codeql-action/upload-sarif@2c779ab0d087cd7fe7b826087247c2c81f27bfa6 # v3.26.5
+ uses: github/codeql-action/upload-sarif@4dd16135b69a43b6c8efb853346f8437d92d3c93 # v3.26.6
with:
sarif_file: results.sarif
diff --git a/.github/workflows/vulnerability-scans.yaml b/.github/workflows/vulnerability-scans.yaml
index 2d135695d..d4a53a352 100644
--- a/.github/workflows/vulnerability-scans.yaml
+++ b/.github/workflows/vulnerability-scans.yaml
@@ -75,7 +75,7 @@ jobs:
# This step checks out a copy of your repository.
- name: Upload SARIF file
- uses: github/codeql-action/upload-sarif@2c779ab0d087cd7fe7b826087247c2c81f27bfa6 # v3.26.5
+ uses: github/codeql-action/upload-sarif@4dd16135b69a43b6c8efb853346f8437d92d3c93 # v3.26.6
with:
token: ${{ github.token }}
# Path to SARIF file relative to the root of the repository
From b5981b94c900cc1d809ce0e147cddedd5e6fc1bb Mon Sep 17 00:00:00 2001
From: k8s-infra-cherrypick-robot
<90416843+k8s-infra-cherrypick-robot@users.noreply.github.com>
Date: Thu, 29 Aug 2024 07:02:30 -0700
Subject: [PATCH 206/265] Bump github.com/prometheus/common from 0.55.0 to
0.57.0 (#11906)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
---
go.mod | 2 +-
go.sum | 4 ++--
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/go.mod b/go.mod
index 537e0b05a..d4ff0acd6 100644
--- a/go.mod
+++ b/go.mod
@@ -19,7 +19,7 @@ require (
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2
github.com/prometheus/client_golang v1.20.2
github.com/prometheus/client_model v0.6.1
- github.com/prometheus/common v0.55.0
+ github.com/prometheus/common v0.57.0
github.com/spf13/cobra v1.8.1
github.com/spf13/pflag v1.0.5
github.com/stretchr/testify v1.9.0
diff --git a/go.sum b/go.sum
index 94b85f1fc..5ef95dcd1 100644
--- a/go.sum
+++ b/go.sum
@@ -184,8 +184,8 @@ github.com/prometheus/client_golang v1.20.2 h1:5ctymQzZlyOON1666svgwn3s6IKWgfbjs
github.com/prometheus/client_golang v1.20.2/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/common v0.57.0 h1:Ro/rKjwdq9mZn1K5QPctzh+MA4Lp0BuYk5ZZEVhoNcY=
+github.com/prometheus/common v0.57.0/go.mod h1:7uRPFSUTbfZWsJ7MHY56sqt7hLQu3bxXHDnNhl8E9qI=
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=
From 3020ea8004c291ed8999382ed3724b7d4e0dc472 Mon Sep 17 00:00:00 2001
From: k8s-infra-cherrypick-robot
<90416843+k8s-infra-cherrypick-robot@users.noreply.github.com>
Date: Thu, 29 Aug 2024 07:02:48 -0700
Subject: [PATCH 207/265] Bump google.golang.org/grpc from 1.65.0 to 1.66.0
(#11907)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
---
go.mod | 2 +-
go.sum | 4 ++--
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/go.mod b/go.mod
index d4ff0acd6..a6bad6550 100644
--- a/go.mod
+++ b/go.mod
@@ -27,7 +27,7 @@ require (
github.com/zakjan/cert-chain-resolver v0.0.0-20221221105603-fcedb00c5b30
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 v1.66.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
diff --git a/go.sum b/go.sum
index 5ef95dcd1..3457bf290 100644
--- a/go.sum
+++ b/go.sum
@@ -299,8 +299,8 @@ 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/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 v1.66.0 h1:DibZuoBznOxbDQxRINckZcUvnCEvrW9pcWIE2yF9r1c=
+google.golang.org/grpc v1.66.0/go.mod h1:s3/l6xSSCURdVfAnL+TqCNMyTDAGN6+lZeVxnZR128Y=
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=
From b8ef31499e3b050e0705d02808a0caeba2a909f4 Mon Sep 17 00:00:00 2001
From: k8s-infra-cherrypick-robot
<90416843+k8s-infra-cherrypick-robot@users.noreply.github.com>
Date: Thu, 29 Aug 2024 08:19:31 -0700
Subject: [PATCH 208/265] Bump github.com/onsi/ginkgo/v2 from 2.20.1 to 2.20.2
in the all group (#11912)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Marco Ebert
---
build/run-in-docker.sh | 2 +-
go.mod | 6 +++---
go.sum | 12 ++++++------
go.work.sum | 4 ++++
images/kube-webhook-certgen/rootfs/go.mod | 4 ++--
images/kube-webhook-certgen/rootfs/go.sum | 12 ++++++------
images/test-runner/Makefile | 4 ++--
test/e2e/run-chart-test.sh | 2 +-
test/e2e/run-kind-e2e.sh | 2 +-
9 files changed, 26 insertions(+), 22 deletions(-)
diff --git a/build/run-in-docker.sh b/build/run-in-docker.sh
index fcbf8f6cd..0c965666c 100755
--- a/build/run-in-docker.sh
+++ b/build/run-in-docker.sh
@@ -82,7 +82,7 @@ if [[ "$DOCKER_IN_DOCKER_ENABLED" == "true" ]]; then
echo "..reached DIND check TRUE block, inside run-in-docker.sh"
echo "FLAGS=$FLAGS"
#go env
- go install -mod=mod github.com/onsi/ginkgo/v2/ginkgo@v2.20.0
+ go install -mod=mod github.com/onsi/ginkgo/v2/ginkgo@v2.20.2
find / -type f -name ginkgo 2>/dev/null
which ginkgo
/bin/bash -c "${FLAGS}"
diff --git a/go.mod b/go.mod
index a6bad6550..38a5e1308 100644
--- a/go.mod
+++ b/go.mod
@@ -14,7 +14,7 @@ require (
github.com/mitchellh/mapstructure v1.5.0
github.com/moul/pb v0.0.0-20220425114252-bca18df4138c
github.com/ncabatoff/process-exporter v0.8.3
- github.com/onsi/ginkgo/v2 v2.20.1
+ github.com/onsi/ginkgo/v2 v2.20.2
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.2
@@ -81,7 +81,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-20240727154555-813a5fbdbec8 // indirect
+ github.com/google/pprof v0.0.0-20240827171923-fa2c70bbbfe5 // 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
@@ -116,7 +116,7 @@ require (
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/sys v0.24.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
diff --git a/go.sum b/go.sum
index 3457bf290..016c5f7ad 100644
--- a/go.sum
+++ b/go.sum
@@ -90,8 +90,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-20240727154555-813a5fbdbec8 h1:FKHo8hFI3A+7w0aUQuYXQ+6EN5stWmeY/AZqtM8xk9k=
-github.com/google/pprof v0.0.0-20240727154555-813a5fbdbec8/go.mod h1:K1liHPHnj73Fdn/EKuT8nrFqBihUSKXoLYU0BuatOYo=
+github.com/google/pprof v0.0.0-20240827171923-fa2c70bbbfe5 h1:5iH8iuqE5apketRbSFBy+X1V0o+l+8NF1avt4HWl7cA=
+github.com/google/pprof v0.0.0-20240827171923-fa2c70bbbfe5/go.mod h1:vavhavw2zAxS5dIdcRluK6cSGGPlZynqzFM8NdvU144=
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=
@@ -163,8 +163,8 @@ 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.20.1 h1:YlVIbqct+ZmnEph770q9Q7NVAz4wwIiVNahee6JyUzo=
-github.com/onsi/ginkgo/v2 v2.20.1/go.mod h1:lG9ey2Z29hR41WMVthyJBGUBcBhGOtoPF2VFMvBXFCI=
+github.com/onsi/ginkgo/v2 v2.20.2 h1:7NVCeyIWROIAheY21RLS+3j2bb52W0W82tkberYytp4=
+github.com/onsi/ginkgo/v2 v2.20.2/go.mod h1:K9gyxPIlb+aIvnZ8bd9Ak+YP18w3APlR+5coaZoE2ag=
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.34.1 h1:EUMJIKUjM8sKjYbtxQI9A4z2o+rruxnzNvpknOXie6k=
@@ -274,8 +274,8 @@ golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBc
golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/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.23.0 h1:YfKFowiIMvtgl1UERQoTPPToxltDeZfbj4H7dVUCwmM=
-golang.org/x/sys v0.23.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
+golang.org/x/sys v0.24.0 h1:Twjiwq9dn6R1fQcyiK+wQyHWfaz/BJB+YIpzU/Cv3Xg=
+golang.org/x/sys v0.24.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=
diff --git a/go.work.sum b/go.work.sum
index 5a6fe2480..8b186c739 100644
--- a/go.work.sum
+++ b/go.work.sum
@@ -644,6 +644,7 @@ github.com/emicklei/go-restful/v3 v3.11.0/go.mod h1:6n3XBCmQQb25CM2LCACGz8ukIrRr
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/go-control-plane v0.12.1-0.20240621013728-1eb8caab5155/go.mod h1:5Wkq+JduFtdAXihLmeTJf+tRYIT4KBc2vPXDhwVo1pA=
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=
@@ -844,6 +845,7 @@ 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/planetscale/vtprotobuf v0.6.1-0.20240319094008-0393e58bdf10/go.mod h1:t/avpk3KcrXxUnYOhZhMXJlSEyie6gQbtLq5NM3loB8=
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/exporter-toolkit v0.11.0 h1:yNTsuZ0aNCNFQ3aFTD2uhPOvr4iD7fdBvKPAEGkNf+g=
@@ -1020,6 +1022,7 @@ 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/sys v0.21.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
golang.org/x/sys v0.22.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
+golang.org/x/sys v0.23.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
golang.org/x/telemetry v0.0.0-20240208230135-b75ee8823808/go.mod h1:KG1lNk5ZFNssSZLrpVb4sMXKMpGwGXOxSG3rnu2gZQQ=
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=
@@ -1086,6 +1089,7 @@ google.golang.org/genproto/googleapis/api v0.0.0-20240227224415-6ceb2ff114de/go.
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 h1:7whR9kGa5LUwFtpLm2ArCEejtnxlGeLbAyjFY8sGNFw=
google.golang.org/genproto/googleapis/api v0.0.0-20240528184218-531527333157/go.mod h1:99sLkeliLXfdj2J75X3Ho+rrVCaJze0uwN7zDDkjPVU=
+google.golang.org/genproto/googleapis/api v0.0.0-20240604185151-ef581f913117/go.mod h1:OimBR/bc1wPO9iV4NC2bpyjy3VnAwZh5EBPQdtaE5oo=
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=
diff --git a/images/kube-webhook-certgen/rootfs/go.mod b/images/kube-webhook-certgen/rootfs/go.mod
index 52746ebd9..0270c0d87 100644
--- a/images/kube-webhook-certgen/rootfs/go.mod
+++ b/images/kube-webhook-certgen/rootfs/go.mod
@@ -33,14 +33,14 @@ 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.20.0 // indirect
+ github.com/onsi/ginkgo/v2 v2.20.2 // 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
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/sys v0.24.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
diff --git a/images/kube-webhook-certgen/rootfs/go.sum b/images/kube-webhook-certgen/rootfs/go.sum
index 8ce13c672..f96347108 100644
--- a/images/kube-webhook-certgen/rootfs/go.sum
+++ b/images/kube-webhook-certgen/rootfs/go.sum
@@ -32,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-20240727154555-813a5fbdbec8 h1:FKHo8hFI3A+7w0aUQuYXQ+6EN5stWmeY/AZqtM8xk9k=
-github.com/google/pprof v0.0.0-20240727154555-813a5fbdbec8/go.mod h1:K1liHPHnj73Fdn/EKuT8nrFqBihUSKXoLYU0BuatOYo=
+github.com/google/pprof v0.0.0-20240827171923-fa2c70bbbfe5 h1:5iH8iuqE5apketRbSFBy+X1V0o+l+8NF1avt4HWl7cA=
+github.com/google/pprof v0.0.0-20240827171923-fa2c70bbbfe5/go.mod h1:vavhavw2zAxS5dIdcRluK6cSGGPlZynqzFM8NdvU144=
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=
@@ -61,8 +61,8 @@ 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.20.0 h1:PE84V2mHqoT1sglvHc8ZdQtPcwmvvt29WLEEO3xmdZw=
-github.com/onsi/ginkgo/v2 v2.20.0/go.mod h1:lG9ey2Z29hR41WMVthyJBGUBcBhGOtoPF2VFMvBXFCI=
+github.com/onsi/ginkgo/v2 v2.20.2 h1:7NVCeyIWROIAheY21RLS+3j2bb52W0W82tkberYytp4=
+github.com/onsi/ginkgo/v2 v2.20.2/go.mod h1:K9gyxPIlb+aIvnZ8bd9Ak+YP18w3APlR+5coaZoE2ag=
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=
@@ -123,8 +123,8 @@ 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.23.0 h1:YfKFowiIMvtgl1UERQoTPPToxltDeZfbj4H7dVUCwmM=
-golang.org/x/sys v0.23.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
+golang.org/x/sys v0.24.0 h1:Twjiwq9dn6R1fQcyiK+wQyHWfaz/BJB+YIpzU/Cv3Xg=
+golang.org/x/sys v0.24.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.23.0 h1:F6D4vR+EHoL9/sWAWgAR1H2DcHr4PareCbAaCo1RpuU=
diff --git a/images/test-runner/Makefile b/images/test-runner/Makefile
index 3d60a5313..74da2082f 100644
--- a/images/test-runner/Makefile
+++ b/images/test-runner/Makefile
@@ -59,7 +59,7 @@ image:
--build-arg YAML_LINT_VERSION=1.33.0 \
--build-arg YAMALE_VERSION=4.0.4 \
--build-arg HELM_VERSION=3.14.4 \
- --build-arg GINKGO_VERSION=2.20.0 \
+ --build-arg GINKGO_VERSION=2.20.2 \
--build-arg GOLINT_VERSION=latest \
-t ${IMAGE}:${TAG} rootfs
@@ -80,7 +80,7 @@ build: ensure-buildx
--build-arg YAML_LINT_VERSION=1.33.0 \
--build-arg YAMALE_VERSION=4.0.4 \
--build-arg HELM_VERSION=3.14.4 \
- --build-arg GINKGO_VERSION=2.20.0 \
+ --build-arg GINKGO_VERSION=2.20.2 \
--build-arg GOLINT_VERSION=latest \
-t ${IMAGE}:${TAG} rootfs
diff --git a/test/e2e/run-chart-test.sh b/test/e2e/run-chart-test.sh
index 7d388c215..0069af02b 100755
--- a/test/e2e/run-chart-test.sh
+++ b/test/e2e/run-chart-test.sh
@@ -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.20.0
+ go install github.com/onsi/ginkgo/v2/ginkgo@v2.20.2
fi
echo "[dev-env] building image"
make -C ${DIR}/../../ clean-image build image
diff --git a/test/e2e/run-kind-e2e.sh b/test/e2e/run-kind-e2e.sh
index ab2cb2dd7..c20fbfc5b 100755
--- a/test/e2e/run-kind-e2e.sh
+++ b/test/e2e/run-kind-e2e.sh
@@ -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.20.0
+ go install github.com/onsi/ginkgo/v2/ginkgo@v2.20.2
fi
echo "[dev-env] .. done building controller images"
From cdc3abe6bc669bce151ccd48b40fb29e9ddbe3c1 Mon Sep 17 00:00:00 2001
From: k8s-infra-cherrypick-robot
<90416843+k8s-infra-cherrypick-robot@users.noreply.github.com>
Date: Thu, 29 Aug 2024 11:27:36 -0700
Subject: [PATCH 209/265] Images: Trigger `test-runner` build. (#11918)
Co-authored-by: Marco Ebert
---
images/test-runner/TAG | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/images/test-runner/TAG b/images/test-runner/TAG
index 384942600..0ec25f750 100644
--- a/images/test-runner/TAG
+++ b/images/test-runner/TAG
@@ -1 +1 @@
-v0.0.9
+v1.0.0
From 20440ac3d5f0bdfcd6e52001c51481cfc1372d18 Mon Sep 17 00:00:00 2001
From: k8s-infra-cherrypick-robot
<90416843+k8s-infra-cherrypick-robot@users.noreply.github.com>
Date: Thu, 29 Aug 2024 14:49:31 -0700
Subject: [PATCH 210/265] Tests: Bump `e2e-test-runner` to v20240829-2c421762.
(#11920)
Co-authored-by: Marco Ebert
---
build/run-in-docker.sh | 2 +-
test/e2e-image/Makefile | 2 +-
test/e2e/run-chart-test.sh | 2 +-
3 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/build/run-in-docker.sh b/build/run-in-docker.sh
index 0c965666c..915c29d7a 100755
--- a/build/run-in-docker.sh
+++ b/build/run-in-docker.sh
@@ -44,7 +44,7 @@ function cleanup {
}
trap cleanup EXIT
-E2E_IMAGE=${E2E_IMAGE:-registry.k8s.io/ingress-nginx/e2e-test-runner:v20240812-3f0129aa@sha256:95c2aaf2a66e8cbbf7a7453046f3b024383c273a0988efab841cd96116afd1a9}
+E2E_IMAGE=${E2E_IMAGE:-registry.k8s.io/ingress-nginx/e2e-test-runner:v20240829-2c421762@sha256:5b7809bfe9cbd9cd6bcb8033ca27576ca704f05ce729fe4dcb574810f7a25785}
if [[ "$RUNTIME" == podman ]]; then
# Podman does not support both tag and digest
diff --git a/test/e2e-image/Makefile b/test/e2e-image/Makefile
index 74f3cc437..8e3040177 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:v20240812-3f0129aa@sha256:95c2aaf2a66e8cbbf7a7453046f3b024383c273a0988efab841cd96116afd1a9"
+E2E_BASE_IMAGE ?= "registry.k8s.io/ingress-nginx/e2e-test-runner:v20240829-2c421762@sha256:5b7809bfe9cbd9cd6bcb8033ca27576ca704f05ce729fe4dcb574810f7a25785"
image:
echo "..entered Makefile in /test/e2e-image"
diff --git a/test/e2e/run-chart-test.sh b/test/e2e/run-chart-test.sh
index 0069af02b..95465ee32 100755
--- a/test/e2e/run-chart-test.sh
+++ b/test/e2e/run-chart-test.sh
@@ -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:v20240812-3f0129aa@sha256:95c2aaf2a66e8cbbf7a7453046f3b024383c273a0988efab841cd96116afd1a9 \
+ registry.k8s.io/ingress-nginx/e2e-test-runner:v20240829-2c421762@sha256:5b7809bfe9cbd9cd6bcb8033ca27576ca704f05ce729fe4dcb574810f7a25785 \
ct install \
--charts charts/ingress-nginx \
--helm-extra-args "--timeout 60s"
From a6c74dd2cd3048283eaac7b9d233798b43d1ad5d Mon Sep 17 00:00:00 2001
From: k8s-infra-cherrypick-robot
<90416843+k8s-infra-cherrypick-robot@users.noreply.github.com>
Date: Mon, 2 Sep 2024 10:09:15 -0700
Subject: [PATCH 211/265] Bump the all group with 2 updates (#11924)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
---
.github/workflows/ci.yaml | 4 ++--
.github/workflows/scorecards.yml | 2 +-
.github/workflows/zz-tmpl-k8s-e2e.yaml | 2 +-
3 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml
index 49b39a7a3..5a8e7a2da 100644
--- a/.github/workflows/ci.yaml
+++ b/.github/workflows/ci.yaml
@@ -186,7 +186,7 @@ jobs:
| gzip > docker.tar.gz
- name: cache
- uses: actions/upload-artifact@834a144ee995460fba8ed112a2fc961b36a5ec5a # v4.3.6
+ uses: actions/upload-artifact@50769540e7f4bd5e21e526ee35c689e35e0d6874 # v4.4.0
with:
name: docker.tar.gz
path: docker.tar.gz
@@ -209,7 +209,7 @@ jobs:
- name: Set up Helm
uses: azure/setup-helm@fe7b79cd5ee1e45176fcad797de68ecaf3ca4814 # v4.2.0
- - uses: actions/setup-python@39cd14951b08e74b54015e9e001cdefcf80e669f # v5.1.1
+ - uses: actions/setup-python@f677139bbe7f9c59b41e40162b753c062f5d49a3 # v5.2.0
with:
python-version: '3.x'
diff --git a/.github/workflows/scorecards.yml b/.github/workflows/scorecards.yml
index aa8981aa3..a1e9c4ecc 100644
--- a/.github/workflows/scorecards.yml
+++ b/.github/workflows/scorecards.yml
@@ -51,7 +51,7 @@ jobs:
# Upload the results as artifacts (optional). Commenting out will disable uploads of run results in SARIF
# format to the repository Actions tab.
- name: "Upload artifact"
- uses: actions/upload-artifact@834a144ee995460fba8ed112a2fc961b36a5ec5a # v4.3.6
+ uses: actions/upload-artifact@50769540e7f4bd5e21e526ee35c689e35e0d6874 # v4.4.0
with:
name: SARIF file
path: results.sarif
diff --git a/.github/workflows/zz-tmpl-k8s-e2e.yaml b/.github/workflows/zz-tmpl-k8s-e2e.yaml
index adf1dc0e8..de982df46 100644
--- a/.github/workflows/zz-tmpl-k8s-e2e.yaml
+++ b/.github/workflows/zz-tmpl-k8s-e2e.yaml
@@ -50,7 +50,7 @@ jobs:
make kind-e2e-test
- name: Upload e2e junit-reports ${{ inputs.variation }}
- uses: actions/upload-artifact@834a144ee995460fba8ed112a2fc961b36a5ec5a # v4.3.6
+ uses: actions/upload-artifact@50769540e7f4bd5e21e526ee35c689e35e0d6874 # v4.4.0
if: success() || failure()
with:
name: e2e-test-reports-${{ inputs.k8s-version }}${{ inputs.variation }}
From 37d25c7040f041e85a0e6a41369479c5bb1e9813 Mon Sep 17 00:00:00 2001
From: k8s-infra-cherrypick-robot
<90416843+k8s-infra-cherrypick-robot@users.noreply.github.com>
Date: Wed, 4 Sep 2024 04:21:26 -0700
Subject: [PATCH 212/265] Bump github.com/opencontainers/runc from 1.1.13 to
1.1.14 (#11929)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
---
go.mod | 2 +-
go.sum | 4 ++--
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/go.mod b/go.mod
index 38a5e1308..3e61a5805 100644
--- a/go.mod
+++ b/go.mod
@@ -15,7 +15,7 @@ require (
github.com/moul/pb v0.0.0-20220425114252-bca18df4138c
github.com/ncabatoff/process-exporter v0.8.3
github.com/onsi/ginkgo/v2 v2.20.2
- github.com/opencontainers/runc v1.1.13
+ github.com/opencontainers/runc v1.1.14
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2
github.com/prometheus/client_golang v1.20.2
github.com/prometheus/client_model v0.6.1
diff --git a/go.sum b/go.sum
index 016c5f7ad..ce8ea5ecc 100644
--- a/go.sum
+++ b/go.sum
@@ -169,8 +169,8 @@ github.com/onsi/gomega v1.7.1/go.mod h1:XdKZgCCFLUoM/7CFJVPcG8C1xQ1AJ0vpAezJrB7J
github.com/onsi/gomega v1.10.1/go.mod h1:iN09h71vgCQne3DLsj+A5owkum+a2tYe+TOCB1ybHNo=
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/runc v1.1.14 h1:rgSuzbmgz5DUJjeSnw337TxDbRuqjs6iqQck/2weR6w=
+github.com/opencontainers/runc v1.1.14/go.mod h1:E4C2z+7BxR7GHXp0hAY53mek+x49X1LjPNeMTfRGvOA=
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=
From 47b86617c1ccdd401d0dc797f3a026fb4a1c5adc Mon Sep 17 00:00:00 2001
From: k8s-infra-cherrypick-robot
<90416843+k8s-infra-cherrypick-robot@users.noreply.github.com>
Date: Wed, 4 Sep 2024 15:34:11 -0700
Subject: [PATCH 213/265] Chart: Implement
`controller.admissionWebhooks.service.servicePort`. (#11933)
Co-authored-by: Ramiro Algozino
---
.../validating-webhook.yaml | 1 +
.../templates/controller-service-webhook.yaml | 2 +-
.../validating-webhook_test.yaml | 32 +++++++++++++++++++
.../controller-service-webhook_test.yaml | 32 +++++++++++++++++++
4 files changed, 66 insertions(+), 1 deletion(-)
create mode 100644 charts/ingress-nginx/tests/admission-webhooks/validating-webhook_test.yaml
create mode 100644 charts/ingress-nginx/tests/controller-service-webhook_test.yaml
diff --git a/charts/ingress-nginx/templates/admission-webhooks/validating-webhook.yaml b/charts/ingress-nginx/templates/admission-webhooks/validating-webhook.yaml
index 4cd36a62e..0949cea75 100644
--- a/charts/ingress-nginx/templates/admission-webhooks/validating-webhook.yaml
+++ b/charts/ingress-nginx/templates/admission-webhooks/validating-webhook.yaml
@@ -40,6 +40,7 @@ webhooks:
service:
name: {{ include "ingress-nginx.controller.fullname" . }}-admission
namespace: {{ include "ingress-nginx.namespace" . }}
+ port: {{ .Values.controller.admissionWebhooks.service.servicePort }}
path: /networking/v1/ingresses
{{- if .Values.controller.admissionWebhooks.timeoutSeconds }}
timeoutSeconds: {{ .Values.controller.admissionWebhooks.timeoutSeconds }}
diff --git a/charts/ingress-nginx/templates/controller-service-webhook.yaml b/charts/ingress-nginx/templates/controller-service-webhook.yaml
index 6dcf1a10a..67aac0d9a 100644
--- a/charts/ingress-nginx/templates/controller-service-webhook.yaml
+++ b/charts/ingress-nginx/templates/controller-service-webhook.yaml
@@ -29,7 +29,7 @@ spec:
{{- end }}
ports:
- name: https-webhook
- port: 443
+ port: {{ .Values.controller.admissionWebhooks.service.servicePort }}
targetPort: webhook
{{- if semverCompare ">=1.20.0-0" .Capabilities.KubeVersion.Version }}
appProtocol: https
diff --git a/charts/ingress-nginx/tests/admission-webhooks/validating-webhook_test.yaml b/charts/ingress-nginx/tests/admission-webhooks/validating-webhook_test.yaml
new file mode 100644
index 000000000..b9d6d780b
--- /dev/null
+++ b/charts/ingress-nginx/tests/admission-webhooks/validating-webhook_test.yaml
@@ -0,0 +1,32 @@
+suite: Admission Webhooks > ValidatingWebhookConfiguration
+templates:
+ - admission-webhooks/validating-webhook.yaml
+
+tests:
+ - it: should not create a ValidatingWebhookConfiguration if `controller.admissionWebhooks.enabled` is false
+ set:
+ controller.admissionWebhooks.enabled: false
+ asserts:
+ - hasDocuments:
+ count: 0
+
+ - it: should create a ValidatingWebhookConfiguration if `controller.admissionWebhooks.enabled` is true
+ set:
+ controller.admissionWebhooks.enabled: true
+ asserts:
+ - hasDocuments:
+ count: 1
+ - isKind:
+ of: ValidatingWebhookConfiguration
+ - equal:
+ path: metadata.name
+ value: RELEASE-NAME-admission
+
+ - it: should create a ValidatingWebhookConfiguration with a custom port if `controller.admissionWebhooks.service.servicePort` is set
+ set:
+ controller.admissionWebhooks.enabled: true
+ controller.admissionWebhooks.service.servicePort: 9443
+ asserts:
+ - equal:
+ path: webhooks[0].clientConfig.service.port
+ value: 9443
diff --git a/charts/ingress-nginx/tests/controller-service-webhook_test.yaml b/charts/ingress-nginx/tests/controller-service-webhook_test.yaml
new file mode 100644
index 000000000..1c759edbe
--- /dev/null
+++ b/charts/ingress-nginx/tests/controller-service-webhook_test.yaml
@@ -0,0 +1,32 @@
+suite: Controller > Service > Webhook
+templates:
+ - controller-service-webhook.yaml
+
+tests:
+ - it: should not create a webhook Service if `controller.admissionWebhooks.enabled` is false
+ set:
+ controller.admissionWebhooks.enabled: false
+ asserts:
+ - hasDocuments:
+ count: 0
+
+ - it: should create a webhook Service if `controller.admissionWebhooks.enabled` is true
+ set:
+ controller.admissionWebhooks.enabled: true
+ asserts:
+ - hasDocuments:
+ count: 1
+ - isKind:
+ of: Service
+ - equal:
+ path: metadata.name
+ value: RELEASE-NAME-ingress-nginx-controller-admission
+
+ - it: should create a webhook Service with a custom port if `controller.admissionWebhooks.service.servicePort` is set
+ set:
+ controller.admissionWebhooks.enabled: true
+ controller.admissionWebhooks.service.servicePort: 9443
+ asserts:
+ - equal:
+ path: spec.ports[0].port
+ value: 9443
From d06029e3c51e93b080552c8d343a289166118df0 Mon Sep 17 00:00:00 2001
From: Marco Ebert
Date: Fri, 6 Sep 2024 23:19:46 +0200
Subject: [PATCH 214/265] Fix minor typos (#11940)
Co-authored-by: Nathan Baulch
---
.github/workflows/zz-tmpl-images.yaml | 2 +-
.github/workflows/zz-tmpl-k8s-e2e.yaml | 2 +-
Changelog.md | 52 +++++++++----------
MANUAL_RELEASE.md | 16 +++---
NEW_CONTRIBUTOR.md | 10 ++--
build/run-ingress-controller.sh | 2 +-
changelog/controller-1.6.4.md | 2 +-
changelog/controller-1.7.1.md | 2 +-
changelog/controller-1.8.0.md | 2 +-
changelog/controller-1.9.0-beta.0.md | 2 +-
changelog/controller-1.9.0.md | 2 +-
.../changelog/helm-chart-4.1.2.md | 2 +-
.../changelog/helm-chart-4.7.0.md | 2 +-
cmd/plugin/request/request.go | 2 +-
docs/e2e-tests.md | 2 +-
docs/examples/index.md | 2 +-
docs/examples/openpolicyagent/README.md | 20 +++----
docs/examples/openpolicyagent/template.yaml | 10 ++--
.../third-party-addons/opentelemetry.md | 6 +--
.../rootfs/pkg/k8s/k8s_test.go | 2 +-
internal/admission/controller/server.go | 2 +-
.../ingress/annotations/loadbalancing/main.go | 14 ++---
.../ingress/annotations/mirror/main_test.go | 2 +-
.../ingress/annotations/serversnippet/main.go | 2 +-
.../annotations/serviceupstream/main.go | 2 +-
internal/ingress/annotations/snippet/main.go | 2 +-
.../ingress/annotations/streamsnippet/main.go | 2 +-
internal/ingress/controller/config/config.go | 8 +--
internal/ingress/controller/endpointslices.go | 2 +-
internal/ingress/controller/nginx_test.go | 2 +-
.../controller/store/endpointslice_test.go | 4 +-
.../ingress/controller/store/store_test.go | 6 +--
internal/ingress/controller/util.go | 2 +-
.../ingress/metric/collectors/controller.go | 6 +--
internal/ingress/resolver/main.go | 6 +--
internal/ingress/resolver/mock.go | 6 +--
internal/net/ssl/ssl.go | 4 +-
pkg/apis/ingress/types.go | 8 +--
.../nginx/lua/test/balancer/sticky_test.lua | 2 +-
test/e2e/endpointslices/topology.go | 2 +-
test/e2e/framework/deployment.go | 2 +-
test/e2e/framework/framework.go | 2 +-
test/e2e/gracefulshutdown/shutdown.go | 2 +-
test/e2e/settings/global_external_auth.go | 6 +--
test/k6/loadtest.js | 4 +-
test/k6/smoketest.js | 6 +--
46 files changed, 124 insertions(+), 124 deletions(-)
diff --git a/.github/workflows/zz-tmpl-images.yaml b/.github/workflows/zz-tmpl-images.yaml
index 4594a1de4..6d5a4ef17 100644
--- a/.github/workflows/zz-tmpl-images.yaml
+++ b/.github/workflows/zz-tmpl-images.yaml
@@ -1,5 +1,5 @@
#### THIS IS A TEMPLATE ####
-# This workflow is created to be a template for every time an e2e teest is required,
+# This workflow is created to be a template for every time an e2e test is required,
on:
workflow_call:
diff --git a/.github/workflows/zz-tmpl-k8s-e2e.yaml b/.github/workflows/zz-tmpl-k8s-e2e.yaml
index de982df46..6d3e943ae 100644
--- a/.github/workflows/zz-tmpl-k8s-e2e.yaml
+++ b/.github/workflows/zz-tmpl-k8s-e2e.yaml
@@ -1,5 +1,5 @@
#### THIS IS A TEMPLATE ####
-# This workflow is created to be a template for every time an e2e teest is required,
+# This workflow is created to be a template for every time an e2e test is required,
on:
workflow_call:
diff --git a/Changelog.md b/Changelog.md
index f74ff8119..f049654ee 100644
--- a/Changelog.md
+++ b/Changelog.md
@@ -2,7 +2,7 @@
All New change are in [Changelog](./changelog)
-### 1.5.1
+### 1.5.1
* Upgrade NGINX to 1.21.6
* Upgrade Golang 1.19.2
@@ -102,18 +102,18 @@ Images:
### Community Updates
We will discuss the results of our Community Survey, progress on the stabilization project, and ideas going
-forward with the project at
-[Kubecon NA 2022 in Detroit](https://events.linuxfoundation.org/kubecon-cloudnativecon-north-america/). Come join us
+forward with the project at
+[Kubecon NA 2022 in Detroit](https://events.linuxfoundation.org/kubecon-cloudnativecon-north-america/). Come join us
and let us hear what you'd like to see in the future for ingress-nginx.
https://kccncna2022.sched.com/event/18lgl?iframe=no
[**Kubernetes Registry change notice**](https://twitter.com/BenTheElder/status/1575898507235323904)
-The [@kubernetesio](https://twitter.com/kubernetesio) container image host http://k8s.gcr.io is
-*actually* getting redirected to the community controlled http://registry.k8s.io starting with a small portion of
+The [@kubernetesio](https://twitter.com/kubernetesio) container image host http://k8s.gcr.io is
+*actually* getting redirected to the community controlled http://registry.k8s.io starting with a small portion of
traffic on October 3rd.
-If you notice any issues, *please* ping [Ben Elder](https://twitter.com/BenTheElder),
+If you notice any issues, *please* ping [Ben Elder](https://twitter.com/BenTheElder),
[@thockin](https://twitter.com/thockin), [@ameukam](https://twitter.com/ameukam),or report issues in slack to
[sig-k8s-infra slack channel](https://kubernetes.slack.com/archives/CCK68P2Q2).
@@ -123,7 +123,7 @@ If you notice any issues, *please* ping [Ben Elder](https://twitter.com/BenTheEl
[8890](https://github.com/kubernetes/ingress-nginx/pull/8890)
* Update to Prometheus metric names, more information [available here]( https://github.com/kubernetes/ingress-nginx/pull/8728
)
-* Deprecated Kubernetes versions 1.20-1.21, Added support for, 1.25, currently supported versions v1.22, v1.23, v1.24, v1.25
+* Deprecated Kubernetes versions 1.20-1.21, Added support for, 1.25, currently supported versions v1.22, v1.23, v1.24, v1.25
ADDED
* `_request_duration_seconds` Histogram
@@ -203,11 +203,11 @@ Images:
### 1.3.1
-In v1.3.1 leader elections will be done entirely using the Lease API and no longer using configmaps.
+In v1.3.1 leader elections will be done entirely using the Lease API and no longer using configmaps.
v1.3.0 is a safe transition version, using v1.3.0 can automatically complete the merging of election locks, and then you can safely upgrade to v1.3.1.
-Also, *important note*, with the Release of Kubernetes v1.25 we are dropping support for the legacy branches,
-Also, *important note*, with the release of Kubernetes v1.25, we are dropping support for the legacy edition,
+Also, *important note*, with the Release of Kubernetes v1.25 we are dropping support for the legacy branches,
+Also, *important note*, with the release of Kubernetes v1.25, we are dropping support for the legacy edition,
that means all version <1.0.0 of the ingress-nginx-controller.
## Image:
@@ -277,11 +277,11 @@ All other Changes
### 1.3.0
-Image:
+Image:
- registry.k8s.io/ingress-nginx/controller:v1.3.0@sha256:d1707ca76d3b044ab8a28277a2466a02100ee9f58a86af1535a3edf9323ea1b5
- registry.k8s.io/ingress-nginx/controller-chroot:v1.3.0@sha256:0fcb91216a22aae43b374fc2e6a03b8afe9e8c78cbf07a09d75636dc4ea3c191
-_IMPORTANT CHANGES:_
+_IMPORTANT CHANGES:_
* This release removes support for Kubernetes v1.19.0
* This release adds support for Kubernetes v1.24.0
* Starting with this release, we will need permissions on the `coordination.k8s.io/leases` resource for leaderelection lock
@@ -352,11 +352,11 @@ _Changes:_
### 1.2.0
-Image:
+Image:
- k8s.gcr.io/ingress-nginx/controller:v1.2.0@sha256:d8196e3bc1e72547c5dec66d6556c0ff92a23f6d0919b206be170bc90d5f9185
- k8s.gcr.io/ingress-nginx/controller-chroot:v1.2.0@sha256:fb17f1700b77d4fcc52ca6f83ffc2821861ae887dbb87149cf5cbc52bea425e5
-This minor version release, introduces 2 breaking changes. For the first time, an option to jail/chroot the nginx process, inside the controller container, is being introduced.. This provides an additional layer of security, for sensitive information like K8S serviceaccounts. This release also brings a special new feature of deep inspection into objects. The inspection is a walk through of all the spec, checking for possible attempts to escape configs. Currently such an inspection only occurs for `networking.Ingress`. Additionally there are fixes for the recently announced CVEs on busybox & ssl_client. And there is a fix to a recently introduced redirection related bug, that was setting the protocol on URLs to "nil".
+This minor version release, introduces 2 breaking changes. For the first time, an option to jail/chroot the nginx process, inside the controller container, is being introduced. This provides an additional layer of security, for sensitive information like K8S serviceaccounts. This release also brings a special new feature of deep inspection into objects. The inspection is a walk through of all the spec, checking for possible attempts to escape configs. Currently such an inspection only occurs for `networking.Ingress`. Additionally there are fixes for the recently announced CVEs on busybox & ssl_client. And there is a fix to a recently introduced redirection related bug, that was setting the protocol on URLs to "nil".
_Changes:_
@@ -419,7 +419,7 @@ _Changes:_
**Image:**
- k8s.gcr.io/ingress-nginx/controller:v1.1.3@sha256:31f47c1e202b39fadecf822a9b76370bd4baed199a005b3e7d4d1455f4fd3fe2
-This release upgrades Alpine to 3.14.4 and nginx to 1.19.10
+This release upgrades Alpine to 3.14.4 and nginx to 1.19.10
Patches [OpenSSL CVE-2022-0778](https://github.com/kubernetes/ingress-nginx/issues/8339)
@@ -460,7 +460,7 @@ _Changes:_
### 1.1.2
-**Image:**
+**Image:**
- k8s.gcr.io/ingress-nginx/controller:v1.1.2@sha256:28b11ce69e57843de44e3db6413e98d09de0f6688e33d4bd384002a44f78405c
This release bumps grpc version to 1.44.0 & runc to version 1.1.0. The release also re-introduces the ingress.class annotation, which was previously declared as deprecated. Besides that, several bug fixes and improvements are listed below.
@@ -502,7 +502,7 @@ _Changes:_
### 1.1.1
-**Image:**
+**Image:**
- k8s.gcr.io/ingress-nginx/controller:v1.1.1@sha256:0bc88eb15f9e7f84e8e56c14fa5735aaa488b840983f87bd79b1054190e660de
This release contains several fixes and improvements. This image is now built using Go v1.17.6 and gRPC v1.43.0. See detailed list below.
@@ -571,9 +571,9 @@ _Changes:_
_Possible Breaking Change_
We now implement string sanitization in annotation values. This means that words like "location", "by_lua" and
-others will drop the reconciliation of an Ingress object.
+others will drop the reconciliation of an Ingress object.
-Users from mod_security and other features should be aware that some blocked values may be used by those features
+Users from mod_security and other features should be aware that some blocked values may be used by those features
and must be manually unblocked by the Ingress Administrator.
For more details please check [https://kubernetes.github.io/ingress-nginx/user-guide/nginx-configuration/configmap/#annotation-value-word-blocklist]
@@ -592,7 +592,7 @@ _Changes:_
- k8s.gcr.io/ingress-nginx/controller:v1.0.4@sha256:545cff00370f28363dad31e3b59a94ba377854d3a11f18988f5f9e56841ef9ef
_Possible Breaking Change_
-We have disabled the builtin ssl_session_cache due to possible memory fragmentation. This should not impact the majority of users, but please let us know
+We have disabled the builtin ssl_session_cache due to possible memory fragmentation. This should not impact the majority of users, but please let us know
if you face any problem
_Changes:_
@@ -608,7 +608,7 @@ _Changes:_
- k8s.gcr.io/ingress-nginx/controller:v1.0.3@sha256:4ade87838eb8256b094fbb5272d7dda9b6c7fa8b759e6af5383c1300996a7452
**Known Issues**
-* Ingress controller now (starting from v1.0.0) mandates cluster scoped access to IngressClass. This leads to problems when updating old Ingress controller to newest version, as described [here](https://github.com/kubernetes/ingress-nginx/issues/7510). We plan to fix it in v1.0.4, see [this](https://github.com/kubernetes/ingress-nginx/pull/7578).
+* Ingress controller now (starting from v1.0.0) mandates cluster scoped access to IngressClass. This leads to problems when updating old Ingress controller to newest version, as described [here](https://github.com/kubernetes/ingress-nginx/issues/7510). We plan to fix it in v1.0.4, see [this](https://github.com/kubernetes/ingress-nginx/pull/7578).
_New Features:_
@@ -624,7 +624,7 @@ _Changes:_
- k8s.gcr.io/ingress-nginx/controller:v1.0.2@sha256:85b53b493d6d658d8c013449223b0ffd739c76d76dc9bf9000786669ec04e049
**Known Issues**
-* Ingress controller now (starting from v1.0.0) mandates cluster scoped access to IngressClass. This leads to problems when updating old Ingress controller to newest version, as described [here](https://github.com/kubernetes/ingress-nginx/issues/7510). We plan to fix it in v1.0.3, see [this](https://github.com/kubernetes/ingress-nginx/pull/7578).
+* Ingress controller now (starting from v1.0.0) mandates cluster scoped access to IngressClass. This leads to problems when updating old Ingress controller to newest version, as described [here](https://github.com/kubernetes/ingress-nginx/issues/7510). We plan to fix it in v1.0.3, see [this](https://github.com/kubernetes/ingress-nginx/pull/7578).
_New Features:_
@@ -640,7 +640,7 @@ _Changes:_
- k8s.gcr.io/ingress-nginx/controller:v1.0.1@sha256:26bbd57f32bac3b30f90373005ef669aae324a4de4c19588a13ddba399c6664e
**Known Issues**
-* Ingress controller now (starting from v1.0.0) mandates cluster scoped access to IngressClass. This leads to problems when updating old Ingress controller to newest version, as described [here](https://github.com/kubernetes/ingress-nginx/issues/7510). We plan to fix it in v1.0.2, see [this](https://github.com/kubernetes/ingress-nginx/pull/7578).
+* Ingress controller now (starting from v1.0.0) mandates cluster scoped access to IngressClass. This leads to problems when updating old Ingress controller to newest version, as described [here](https://github.com/kubernetes/ingress-nginx/issues/7510). We plan to fix it in v1.0.2, see [this](https://github.com/kubernetes/ingress-nginx/pull/7578).
_New Features:_
@@ -883,7 +883,7 @@ _Changes:_
test #7255
- [X] [#7216](https://github.com/kubernetes/ingress-nginx/pull/7216) Admission: Skip validation checks if an ingress
is marked as deleted #7216
-
+
### 1.0.0-beta.3
** This is a breaking change**
@@ -2193,7 +2193,7 @@ _New Features:_
If the active connections end before that, the pod will terminate gracefully at that time.
- To efectively take advantage of this feature, the Configmap feature [worker-shutdown-timeout](https://kubernetes.github.io/ingress-nginx/user-guide/nginx-configuration/configmap/#worker-shutdown-timeout) new value is `240s` instead of `10s`.
+ To effectively take advantage of this feature, the Configmap feature [worker-shutdown-timeout](https://kubernetes.github.io/ingress-nginx/user-guide/nginx-configuration/configmap/#worker-shutdown-timeout) new value is `240s` instead of `10s`.
**IMPORTANT:** this value has a side effect during reloads, consuming more memory until the old NGINX workers are replaced.
@@ -2603,7 +2603,7 @@ _New Features:_
_Breaking changes:_
- The NGINX server listening in port 18080 was removed. It was replaced by a server using an unix socket as port [#3684](https://github.com/kubernetes/ingress-nginx/pull/3684)
- This server was internal to the ingress controller. In case this was being acceded from the outside, you can restore the old server using the `http-snipet` feature in the configuration configmap like:
+ This server was internal to the ingress controller. In case this was being acceded from the outside, you can restore the old server using the `http-snippet` feature in the configuration configmap like:
```yaml
http-snippet: |
diff --git a/MANUAL_RELEASE.md b/MANUAL_RELEASE.md
index d7144b85d..b1c1fd068 100644
--- a/MANUAL_RELEASE.md
+++ b/MANUAL_RELEASE.md
@@ -177,21 +177,21 @@ Promoting the images basically means that images, that were pushed to staging co
```
- The -L 38 was used for 2 reasons.
- Default number of results is 30 and there were more than 30 PRs merged while releasing v1.1.1. If you see the current/soon-to-be-old changelog, you can look at the most recent PR number that has been accounted for already, and start from after that last accounted for PR.
- - The other reason to use -L 38 was to ommit the 39th, the 40th and the 41st line in the resulting list. These were non-relevant PRs.
+ - The other reason to use -L 38 was to omit the 39th, the 40th and the 41st line in the resulting list. These were non-relevant PRs.
- If you save the output of above command to a file called prlist.txt. It looks somewhat like this ;
```
- % cat ~/Downloads/prlist.txt
+ % cat ~/Downloads/prlist.txt
8129 fix syntax in docs for multi-tls example
8120 Update go in runner and release v1.1.1
8119 Update to go v1.17.6
8118 Remove deprecated libraries, update other libs
8117 Fix codegen errors
- 8115 chart/ghaction: set the correct permission to have access to push a release
+ 8115 chart/ghaction: set the correct permission to have access to push a release
....
```
You can delete the lines, that refer to PRs of the release process itself. We only need to list the feature/bugfix PRs. You can also delete the lines that are housekeeping or not really worth mentioning in the changelog.
- - you use some easy automation in bash/python/other, to get the PR-List that can be used in the changelog. For example, its possible to use a bash scripty way, seen below, to convert those plaintext PR numbers into clickable links.
+ - you use some easy automation in bash/python/other, to get the PR-List that can be used in the changelog. For example, it's possible to use a bash scripty way, seen below, to convert those plaintext PR numbers into clickable links.
```
#!/usr/bin/bash
@@ -205,7 +205,7 @@ Promoting the images basically means that images, that were pushed to staging co
done <$file
```
- - There was a parsing issue and path issue on MacOS, so above scrpt had to be modified and MacOS monterey compatible script is below ;
+ - There was a parsing issue and path issue on MacOS, so above script had to be modified and MacOS monterey compatible script is below ;
```
#!/bin/bash
@@ -231,7 +231,7 @@ Promoting the images basically means that images, that were pushed to staging co
- tag
- digest
- - [helm-docs](https://github.com/norwoodj/helm-docs) is a tool that generates the README.md for a helm-chart automatically. In the CI pipeline workflow of github actions (/.github/workflows/ci.yaml), you can see how helm-docs is used. But the CI pipeline is not designed to make commits back into the project. So we need to run helm-docs manually, and check in the resulting autogenerated README.md at the path /charts/ingress-nginx/README.md
+ - [helm-docs](https://github.com/norwoodj/helm-docs) is a tool that generates the README.md for a helm-chart automatically. In the CI pipeline workflow of github actions (/.github/workflows/ci.yaml), you can see how helm-docs is used. But the CI pipeline is not designed to make commits back into the project. So we need to run helm-docs manually, and check in the resulting autogenerated README.md at the path /charts/ingress-nginx/README.md
```
GOBIN=$PWD GO111MODULE=on go install github.com/norwoodj/helm-docs/cmd/helm-docs@v1.11.0
./helm-docs --chart-search-root=${GITHUB_WORKSPACE}/charts
@@ -274,7 +274,7 @@ Promoting the images basically means that images, that were pushed to staging co
### h. Update README.md
-- Update the table in README.md in the root of the projet to reflect the support matrix. Add the new release version and details in there.
+- Update the table in README.md in the root of the project to reflect the support matrix. Add the new release version and details in there.
## 5. RELEASE new version
@@ -291,7 +291,7 @@ Promoting the images basically means that images, that were pushed to staging co
- `helm repo update`
- `helm search repo ingress-nginx`
-## 6. Github release
+## 6. GitHub release
- Release to github
diff --git a/NEW_CONTRIBUTOR.md b/NEW_CONTRIBUTOR.md
index e89c1ba88..20c4e3daa 100644
--- a/NEW_CONTRIBUTOR.md
+++ b/NEW_CONTRIBUTOR.md
@@ -20,14 +20,14 @@ It all starts with the OSI model...
### Approaching the problem
-Not everybody knows everything. But the factors that help are a love/passion for this to begin. But to move forward, its the approach and not the knowledge that sustains prolonged joy, while working on issues. If the approach is simple and powered by good-wishes-for-community, then info & tools are forthcoming and easy.
+Not everybody knows everything. But the factors that help are a love/passion for this to begin. But to move forward, it's the approach and not the knowledge that sustains prolonged joy, while working on issues. If the approach is simple and powered by good-wishes-for-community, then info & tools are forthcoming and easy.
Here we take a bird's eye-view of the hops in the network plumbing, that a packet takes, from source to destination, when we run `curl`, from a laptop to a nginx webserver process, running in a container, inside a pod, inside a Kubernetes cluster, created using `kind` or `minikube` or any other cluster-management tool.
### [Kind](https://kind.sigs.k8s.io/) cluster example on a Linux Host
#### TL;DR
-The destination of the packet from the curl command, is looked up, in the `routing table`. Based on the route, the the packet first travels to the virtual bridge `172.18.0.1` interface, created by docker, when we created the kind cluster on a laptop. Next the packet is forwarded to `172.18.0.2`(See below on how we got this IP address), within the kind cluster. The `kube-proxy` container creates iptables rules that make sure the packet goes to the correct pod ip in this case `10.244.0.5`
+The destination of the packet from the curl command, is looked up, in the `routing table`. Based on the route, the packet first travels to the virtual bridge `172.18.0.1` interface, created by docker, when we created the kind cluster on a laptop. Next the packet is forwarded to `172.18.0.2`(See below on how we got this IP address), within the kind cluster. The `kube-proxy` container creates iptables rules that make sure the packet goes to the correct pod ip in this case `10.244.0.5`
Command:
```
@@ -435,7 +435,7 @@ virbr0: flags=4163 mtu 1500
```
Output Relevance: From the above output you can see there are two Virtual Bridges created by minikube when we created the cluster on the network. Here, `virbr0` is the default NAT network bridge while `virbr2` is a isolated network bridge on which the pods run.
-Minikube creates a Virtual Machine, to enter the virtual machine we can simple do:
+Minikube creates a Virtual Machine, to enter the virtual machine we can simply do:
```
# minikube ssh
```
@@ -707,7 +707,7 @@ NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
httpd ClusterIP 10.104.111.0 80/TCP 13s
```
-Once we have this we can now create a n ingress using the following
+Once we have this we can now create an ingress using the following
```
kubectl -n httpd create ingress httpd --class nginx --rule httpd.dev.leonnunes.com/"*"=httpd:80
```
@@ -771,7 +771,7 @@ Hypertext Transfer Protocol
[Response in frame: 6]
```
-The above output shows the information that the `httpd` pod recieves. The `curl` command sends the host header, `Host: httpd.dev.leonnunes.com`, to the nginx controller, that then matches the rule and sends the information to the right controller
+The above output shows the information that the `httpd` pod receives. The `curl` command sends the host header, `Host: httpd.dev.leonnunes.com`, to the nginx controller, that then matches the rule and sends the information to the right controller
The following output shows what is sent via the laptop.
```
diff --git a/build/run-ingress-controller.sh b/build/run-ingress-controller.sh
index 29338241f..99f598b1f 100755
--- a/build/run-ingress-controller.sh
+++ b/build/run-ingress-controller.sh
@@ -49,7 +49,7 @@ fi
SSL_VOLUME=$(mktemp -d)
function cleanup {
- echo -e "${BGREEN}Stoping kubectl proxy${NC}"
+ echo -e "${BGREEN}Stopping kubectl proxy${NC}"
rm -rf "${SSL_VOLUME}"
kill "$proxy_pid"
}
diff --git a/changelog/controller-1.6.4.md b/changelog/controller-1.6.4.md
index 256e5ec09..15b3f671a 100644
--- a/changelog/controller-1.6.4.md
+++ b/changelog/controller-1.6.4.md
@@ -83,7 +83,7 @@ Images:
* ModSecurity dependencies update to avoid Memory Leaks (#9330)
* fix(hpa): deprecated api version, bump to v2 (#9348)
* fix(typo): pluralize provider (#9346)
-* removed deprecation messsage for ingressClass annotation (#9357)
+* removed deprecation message for ingressClass annotation (#9357)
* added ginkgo junit reports (#9350)
* Fix typos found by codespell (#9353)
* bumped ginkgo to v2.5.1 in testrunner (#9340)
diff --git a/changelog/controller-1.7.1.md b/changelog/controller-1.7.1.md
index 632ffe963..a7a5c4bbf 100644
--- a/changelog/controller-1.7.1.md
+++ b/changelog/controller-1.7.1.md
@@ -15,7 +15,7 @@ Images:
* Add support for --container flag (#9703)
* Fix typo in OpenTelemetry (#9903)
* ensure make lua-test runs locally (#9902)
-* update k8s.io dependecies to v0.26.4 (#9893)
+* update k8s.io dependencies to v0.26.4 (#9893)
* Adding resource type to default HPA configuration to resolve issues with Terraform helm chart usage (#9803)
* I have not been able to fulfill my maintainer responsibilities for a while already, making it official now. (#9883)
* Update k8s versions (#9879)
diff --git a/changelog/controller-1.8.0.md b/changelog/controller-1.8.0.md
index 48b4cdefa..f335777d6 100644
--- a/changelog/controller-1.8.0.md
+++ b/changelog/controller-1.8.0.md
@@ -39,7 +39,7 @@ on our new [ingress-nginx-dev mailing list](https://groups.google.com/a/kubernet
* Correct annotations in monitoring docs (#9976)
* fix: avoid builds and tests for changes to markdown (#9962)
* Validate path types (#9967)
-* HPA: Use capabilites & align manifests. (#9521)
+* HPA: Use capabilities & align manifests. (#9521)
* Use dl.k8s.io instead of hardcoded GCS URIs (#9946)
* add option for annotations in PodDisruptionBudget (#9843)
* chore: update httpbin to httpbun (#9919)
diff --git a/changelog/controller-1.9.0-beta.0.md b/changelog/controller-1.9.0-beta.0.md
index 79ecf596e..5ca5cfeeb 100644
--- a/changelog/controller-1.9.0-beta.0.md
+++ b/changelog/controller-1.9.0-beta.0.md
@@ -26,7 +26,7 @@ Images:
* Add golangci github action and replace the deprecated golint (#10187)
* BUGFIX incorrect indentation (#10254)
* Upgrade OpenTelemetry to v1.11.0 and gRPC to v1.57.0 (#10352)
-* fix: path with sepecial characters warning #10281 #10308 (#10330)
+* fix: path with special characters warning #10281 #10308 (#10330)
* Fix golangci-lint errors (#10196)
* chore(build): Fix Run make dev-env syntax error (#10294)
* Add firewall configuration to quick start documentation (#10357)
diff --git a/changelog/controller-1.9.0.md b/changelog/controller-1.9.0.md
index 25442894f..d6b000acc 100644
--- a/changelog/controller-1.9.0.md
+++ b/changelog/controller-1.9.0.md
@@ -26,7 +26,7 @@ Images:
* Add golangci github action and replace the deprecated golint (#10187)
* BUGFIX incorrect indentation (#10254)
* Upgrade OpenTelemetry to v1.11.0 and gRPC to v1.57.0 (#10352)
-* fix: path with sepecial characters warning #10281 #10308 (#10330)
+* fix: path with special characters warning #10281 #10308 (#10330)
* Fix golangci-lint errors (#10196)
* chore(build): Fix Run make dev-env syntax error (#10294)
* Add firewall configuration to quick start documentation (#10357)
diff --git a/charts/ingress-nginx/changelog/helm-chart-4.1.2.md b/charts/ingress-nginx/changelog/helm-chart-4.1.2.md
index 0a1d80cf1..20618557f 100644
--- a/charts/ingress-nginx/changelog/helm-chart-4.1.2.md
+++ b/charts/ingress-nginx/changelog/helm-chart-4.1.2.md
@@ -5,7 +5,7 @@ This file documents all notable changes to [ingress-nginx](https://github.com/ku
### 4.1.2
* [8587](https://github.com/kubernetes/ingress-nginx/pull/8587) Add CAP_SYS_CHROOT to DS/PSP when needed
-* [8458](https://github.com/kubernetes/ingress-nginx/pull/8458) Add portNamePreffix Helm chart parameter
+* [8458](https://github.com/kubernetes/ingress-nginx/pull/8458) Add portNamePrefix Helm chart parameter
* [8522](https://github.com/kubernetes/ingress-nginx/pull/8522) Add documentation for controller.service.loadBalancerIP in Helm chart
**Full Changelog**: https://github.com/kubernetes/ingress-nginx/compare/helm-chart-4.1.0...helm-chart-4.1.2
diff --git a/charts/ingress-nginx/changelog/helm-chart-4.7.0.md b/charts/ingress-nginx/changelog/helm-chart-4.7.0.md
index 7399da777..9d5407053 100644
--- a/charts/ingress-nginx/changelog/helm-chart-4.7.0.md
+++ b/charts/ingress-nginx/changelog/helm-chart-4.7.0.md
@@ -6,7 +6,7 @@ This file documents all notable changes to [ingress-nginx](https://github.com/ku
* helm: Fix opentelemetry module installation for daemonset (#9792)
* Update charts/* to keep project name display aligned (#9931)
-* HPA: Use capabilites & align manifests. (#9521)
+* HPA: Use capabilities & align manifests. (#9521)
* PodDisruptionBudget spec logic update (#9904)
* add option for annotations in PodDisruptionBudget (#9843)
* Update Ingress-Nginx version controller-v1.8.0
diff --git a/cmd/plugin/request/request.go b/cmd/plugin/request/request.go
index 55df85d5e..57b02827e 100644
--- a/cmd/plugin/request/request.go
+++ b/cmd/plugin/request/request.go
@@ -131,7 +131,7 @@ func GetIngressDefinitions(flags *genericclioptions.ConfigFlags, namespace strin
return pods.Items, nil
}
-// GetNumEndpoints counts the number of endpointslices adresses for the service with the given name
+// GetNumEndpoints counts the number of endpointslices addresses for the service with the given name
func GetNumEndpoints(flags *genericclioptions.ConfigFlags, namespace, serviceName string) (*int, error) {
epss, err := GetEndpointSlicesByName(flags, namespace, serviceName)
if err != nil {
diff --git a/docs/e2e-tests.md b/docs/e2e-tests.md
index ec069672d..b83f609fd 100644
--- a/docs/e2e-tests.md
+++ b/docs/e2e-tests.md
@@ -286,7 +286,7 @@ Do not try to edit it manually.
### [[Shutdown] Grace period shutdown](https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/gracefulshutdown/grace_period.go#L32)
- [/healthz should return status code 500 during shutdown grace period](https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/gracefulshutdown/grace_period.go#L35)
### [[Shutdown] ingress controller](https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/gracefulshutdown/shutdown.go#L30)
-- [should shutdown in less than 60 secons without pending connections](https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/gracefulshutdown/shutdown.go#L40)
+- [should shutdown in less than 60 seconds without pending connections](https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/gracefulshutdown/shutdown.go#L40)
### [[Shutdown] Graceful shutdown with pending request](https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/gracefulshutdown/slow_requests.go#L25)
- [should let slow requests finish before shutting down](https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/gracefulshutdown/slow_requests.go#L33)
### [[Ingress] DeepInspection](https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/ingress/deep_inspection.go#L27)
diff --git a/docs/examples/index.md b/docs/examples/index.md
index 59745e014..4efdae39f 100644
--- a/docs/examples/index.md
+++ b/docs/examples/index.md
@@ -23,7 +23,7 @@ Customization | [External authentication with response header propagation](custo
Customization | [Sysctl tuning](customization/sysctl/README.md) | TODO | TODO
Features | [Rewrite](rewrite/README.md) | TODO | TODO
Features | [Session stickiness](affinity/cookie/README.md) | route requests consistently to the same endpoint | Advanced
-Features | [Canary Deployments](canary/README.md) | weighted canary routing to a seperate deployment | Intermediate
+Features | [Canary Deployments](canary/README.md) | weighted canary routing to a separate deployment | Intermediate
Scaling | [Static IP](static-ip/README.md) | a single ingress gets a single static IP | Intermediate
TLS | [Multi TLS certificate termination](multi-tls/README.md) | TODO | TODO
TLS | [TLS termination](tls-termination/README.md) | TODO | TODO
diff --git a/docs/examples/openpolicyagent/README.md b/docs/examples/openpolicyagent/README.md
index 2d653a90c..8d6337a38 100644
--- a/docs/examples/openpolicyagent/README.md
+++ b/docs/examples/openpolicyagent/README.md
@@ -1,25 +1,25 @@
# OpenPolicyAgent and pathType enforcing
-Ingress API allows users to specify different [pathType](https://kubernetes.io/docs/concepts/services-networking/ingress/#path-types)
-on Ingress object.
+Ingress API allows users to specify different [pathType](https://kubernetes.io/docs/concepts/services-networking/ingress/#path-types)
+on Ingress object.
While pathType `Exact` and `Prefix` should allow only a small set of characters, pathType `ImplementationSpecific`
-allows any characters, as it may contain regexes, variables and other features that may be specific of the Ingress
+allows any characters, as it may contain regexes, variables and other features that may be specific of the Ingress
Controller being used.
-This means that the Ingress Admins (the persona who deployed the Ingress Controller) should trust the users
-allowed to use `pathType: ImplementationSpecific`, as this may allow arbitrary configuration, and this
+This means that the Ingress Admins (the persona who deployed the Ingress Controller) should trust the users
+allowed to use `pathType: ImplementationSpecific`, as this may allow arbitrary configuration, and this
configuration may end on the proxy (aka Nginx) configuration.
## Example
-The example in this repo uses [Gatekeeper](https://open-policy-agent.github.io/gatekeeper/website/) to block the usage of `pathType: ImplementationSpecific`,
+The example in this repo uses [Gatekeeper](https://open-policy-agent.github.io/gatekeeper/website/) to block the usage of `pathType: ImplementationSpecific`,
allowing just a specific list of namespaces to use it.
It is recommended that the admin modifies this rules to enforce a specific set of characters when the usage of ImplementationSpecific
is allowed, or in ways that best suits their needs.
-First, the `ConstraintTemplate` from [template.yaml](template.yaml) will define a rule that validates if the Ingress object
-is being created on an excempted namespace, and case not, will validate its pathType.
+First, the `ConstraintTemplate` from [template.yaml](template.yaml) will define a rule that validates if the Ingress object
+is being created on an exempted namespace, and case not, will validate its pathType.
-Then, the rule `K8sBlockIngressPathType` contained in [rule.yaml](rule.yaml) will define the parameters: what kind of
-object should be verified (Ingress), what are the excempted namespaces, and what kinds of pathType are blocked.
+Then, the rule `K8sBlockIngressPathType` contained in [rule.yaml](rule.yaml) will define the parameters: what kind of
+object should be verified (Ingress), what are the exempted namespaces, and what kinds of pathType are blocked.
diff --git a/docs/examples/openpolicyagent/template.yaml b/docs/examples/openpolicyagent/template.yaml
index ed2a6ba1c..4302415a2 100644
--- a/docs/examples/openpolicyagent/template.yaml
+++ b/docs/examples/openpolicyagent/template.yaml
@@ -17,11 +17,11 @@ spec:
properties:
blockedTypes:
type: array
- items:
- type: string
+ items:
+ type: string
namespacesExceptions:
type: array
- items:
+ items:
type: string
targets:
- target: admission.k8s.gatekeeper.sh
@@ -31,8 +31,8 @@ spec:
violation[{"msg": msg}] {
input.review.kind.kind == "Ingress"
ns := input.review.object.metadata.namespace
- excemptNS := [good | excempts = input.parameters.namespacesExceptions[_] ; good = excempts == ns]
- not any(excemptNS)
+ exemptNS := [good | exempts = input.parameters.namespacesExceptions[_] ; good = exempts == ns]
+ not any(exemptNS)
pathType := object.get(input.review.object.spec.rules[_].http.paths[_], "pathType", "")
blockedPath := [blocked | blockedTypes = input.parameters.blockedTypes[_] ; blocked = blockedTypes == pathType]
any(blockedPath)
diff --git a/docs/user-guide/third-party-addons/opentelemetry.md b/docs/user-guide/third-party-addons/opentelemetry.md
index 4d71ff675..d2cf56bf5 100644
--- a/docs/user-guide/third-party-addons/opentelemetry.md
+++ b/docs/user-guide/third-party-addons/opentelemetry.md
@@ -65,7 +65,7 @@ otel-max-queuesize
# The delay interval in milliseconds between two consecutive exports.
otel-schedule-delay-millis
-
+
# How long the export can run before it is cancelled.
otel-schedule-delay-millis
@@ -112,7 +112,7 @@ graph TB
end
subgraph otel
- otc["Otel Collector"]
+ otc["Otel Collector"]
end
subgraph observability
@@ -190,7 +190,7 @@ To install the example and collectors run:
helm repo add open-telemetry https://open-telemetry.github.io/opentelemetry-helm-charts
helm repo add grafana https://grafana.github.io/helm-charts
helm repo update
- # deply cert-manager needed for OpenTelemetry collector operator
+ # deploy cert-manager needed for OpenTelemetry collector operator
kubectl apply -f https://github.com/cert-manager/cert-manager/releases/download/v1.9.1/cert-manager.yaml
# create observability namespace
kubectl apply -f https://raw.githubusercontent.com/esigo/nginx-example/main/observability/namespace.yaml
diff --git a/images/kube-webhook-certgen/rootfs/pkg/k8s/k8s_test.go b/images/kube-webhook-certgen/rootfs/pkg/k8s/k8s_test.go
index f11bef981..b326697b6 100644
--- a/images/kube-webhook-certgen/rootfs/pkg/k8s/k8s_test.go
+++ b/images/kube-webhook-certgen/rootfs/pkg/k8s/k8s_test.go
@@ -186,7 +186,7 @@ func Test_Patching_objects(t *testing.T) {
})
// This is to preserve old behavior and log format, it could be improved.
- t.Run("diffent_non_empty_names_are_specified_for_validating_and_mutating_webhook", func(t *testing.T) {
+ t.Run("different_non_empty_names_are_specified_for_validating_and_mutating_webhook", func(t *testing.T) {
t.Parallel()
k := testK8sWithUnpatchedObjects()
diff --git a/internal/admission/controller/server.go b/internal/admission/controller/server.go
index 7fc61bcbb..74f55fd01 100644
--- a/internal/admission/controller/server.go
+++ b/internal/admission/controller/server.go
@@ -47,7 +47,7 @@ type AdmissionControllerServer struct {
AdmissionController AdmissionController
}
-// NewAdmissionControllerServer instanciates an admission controller server with
+// NewAdmissionControllerServer instantiates an admission controller server with
// a default codec
func NewAdmissionControllerServer(ac AdmissionController) *AdmissionControllerServer {
return &AdmissionControllerServer{
diff --git a/internal/ingress/annotations/loadbalancing/main.go b/internal/ingress/annotations/loadbalancing/main.go
index ee89d2c1b..0e5ca8bd8 100644
--- a/internal/ingress/annotations/loadbalancing/main.go
+++ b/internal/ingress/annotations/loadbalancing/main.go
@@ -23,22 +23,22 @@ import (
"k8s.io/ingress-nginx/internal/ingress/resolver"
)
-// LB Alghorithms are defined in https://github.com/kubernetes/ingress-nginx/blob/d3e75b056f77be54e01bdb18675f1bb46caece31/rootfs/etc/nginx/lua/balancer.lua#L28
+// LB Algorithms are defined in https://github.com/kubernetes/ingress-nginx/blob/d3e75b056f77be54e01bdb18675f1bb46caece31/rootfs/etc/nginx/lua/balancer.lua#L28
const (
- loadBalanceAlghoritmAnnotation = "load-balance"
+ loadBalanceAlgorithmAnnotation = "load-balance"
)
-var loadBalanceAlghoritms = []string{"round_robin", "chash", "chashsubset", "sticky_balanced", "sticky_persistent", "ewma"}
+var loadBalanceAlgorithms = []string{"round_robin", "chash", "chashsubset", "sticky_balanced", "sticky_persistent", "ewma"}
var loadBalanceAnnotations = parser.Annotation{
Group: "backend",
Annotations: parser.AnnotationFields{
- loadBalanceAlghoritmAnnotation: {
- Validator: parser.ValidateOptions(loadBalanceAlghoritms, true, true),
+ loadBalanceAlgorithmAnnotation: {
+ Validator: parser.ValidateOptions(loadBalanceAlgorithms, true, true),
Scope: parser.AnnotationScopeLocation,
Risk: parser.AnnotationRiskLow,
- Documentation: `This annotation allows setting the load balancing alghorithm that should be used. If none is specified, defaults to
+ Documentation: `This annotation allows setting the load balancing algorithm that should be used. If none is specified, defaults to
the default configured by Ingress admin, otherwise to round_robin`,
},
},
@@ -61,7 +61,7 @@ func NewParser(r resolver.Resolver) parser.IngressAnnotation {
// used to indicate if the location/s contains a fragment of
// configuration to be included inside the paths of the rules
func (a loadbalancing) Parse(ing *networking.Ingress) (interface{}, error) {
- return parser.GetStringAnnotation(loadBalanceAlghoritmAnnotation, ing, a.annotationConfig.Annotations)
+ return parser.GetStringAnnotation(loadBalanceAlgorithmAnnotation, ing, a.annotationConfig.Annotations)
}
func (a loadbalancing) GetDocumentation() parser.AnnotationFields {
diff --git a/internal/ingress/annotations/mirror/main_test.go b/internal/ingress/annotations/mirror/main_test.go
index 1f6b44d61..805f1ef6d 100644
--- a/internal/ingress/annotations/mirror/main_test.go
+++ b/internal/ingress/annotations/mirror/main_test.go
@@ -90,7 +90,7 @@ func TestParse(t *testing.T) {
Target: "http://some.test.env.com:2121/$someparam=1&$someotherparam=2",
Host: "some.test.env.com",
}},
- {map[string]string{backendURL: "http://some.test.env.com", host: "someInvalidParm.%^&*()_=!@#'\""}, &Config{
+ {map[string]string{backendURL: "http://some.test.env.com", host: "someInvalidParam.%^&*()_=!@#'\""}, &Config{
Source: ngxURI,
RequestBody: "on",
Target: "http://some.test.env.com",
diff --git a/internal/ingress/annotations/serversnippet/main.go b/internal/ingress/annotations/serversnippet/main.go
index aa15608d0..bce764e69 100644
--- a/internal/ingress/annotations/serversnippet/main.go
+++ b/internal/ingress/annotations/serversnippet/main.go
@@ -33,7 +33,7 @@ var serverSnippetAnnotations = parser.Annotation{
serverSnippetAnnotation: {
Validator: parser.ValidateNull,
Scope: parser.AnnotationScopeIngress,
- Risk: parser.AnnotationRiskCritical, // Critical, this annotation is not validated at all and allows arbitrary configutations
+ Risk: parser.AnnotationRiskCritical, // Critical, this annotation is not validated at all and allows arbitrary configurations
Documentation: `This annotation allows setting a custom NGINX configuration on a server block. This annotation does not contain any validation and it's usage is not recommended!`,
},
},
diff --git a/internal/ingress/annotations/serviceupstream/main.go b/internal/ingress/annotations/serviceupstream/main.go
index d1851bc7b..7819d87d8 100644
--- a/internal/ingress/annotations/serviceupstream/main.go
+++ b/internal/ingress/annotations/serviceupstream/main.go
@@ -34,7 +34,7 @@ var serviceUpstreamAnnotations = parser.Annotation{
serviceUpstreamAnnotation: {
Validator: parser.ValidateBool,
Scope: parser.AnnotationScopeIngress,
- Risk: parser.AnnotationRiskLow, // Critical, this annotation is not validated at all and allows arbitrary configutations
+ Risk: parser.AnnotationRiskLow, // Critical, this annotation is not validated at all and allows arbitrary configurations
Documentation: `This annotation makes NGINX use Service's Cluster IP and Port instead of Endpoints as the backend endpoints`,
},
},
diff --git a/internal/ingress/annotations/snippet/main.go b/internal/ingress/annotations/snippet/main.go
index 2406093c5..c2df84cdd 100644
--- a/internal/ingress/annotations/snippet/main.go
+++ b/internal/ingress/annotations/snippet/main.go
@@ -33,7 +33,7 @@ var configurationSnippetAnnotations = parser.Annotation{
configurationSnippetAnnotation: {
Validator: parser.ValidateNull,
Scope: parser.AnnotationScopeLocation,
- Risk: parser.AnnotationRiskCritical, // Critical, this annotation is not validated at all and allows arbitrary configutations
+ Risk: parser.AnnotationRiskCritical, // Critical, this annotation is not validated at all and allows arbitrary configurations
Documentation: `This annotation allows setting a custom NGINX configuration on a location block. This annotation does not contain any validation and it's usage is not recommended!`,
},
},
diff --git a/internal/ingress/annotations/streamsnippet/main.go b/internal/ingress/annotations/streamsnippet/main.go
index 71ff3b140..7743d3fee 100644
--- a/internal/ingress/annotations/streamsnippet/main.go
+++ b/internal/ingress/annotations/streamsnippet/main.go
@@ -33,7 +33,7 @@ var streamSnippetAnnotations = parser.Annotation{
streamSnippetAnnotation: {
Validator: parser.ValidateNull,
Scope: parser.AnnotationScopeIngress,
- Risk: parser.AnnotationRiskCritical, // Critical, this annotation is not validated at all and allows arbitrary configutations
+ Risk: parser.AnnotationRiskCritical, // Critical, this annotation is not validated at all and allows arbitrary configurations
Documentation: `This annotation allows setting a custom NGINX configuration on a stream block. This annotation does not contain any validation and it's usage is not recommended!`,
},
},
diff --git a/internal/ingress/controller/config/config.go b/internal/ingress/controller/config/config.go
index 3098f5cba..00ab83f16 100644
--- a/internal/ingress/controller/config/config.go
+++ b/internal/ingress/controller/config/config.go
@@ -120,7 +120,7 @@ type Configuration struct {
// By default this is disabled
AllowBackendServerHeader bool `json:"allow-backend-server-header"`
- // AccessLogParams sets additionals params for access_log
+ // AccessLogParams sets additional params for access_log
// http://nginx.org/en/docs/http/ngx_http_log_module.html#access_log
// By default it's empty
AccessLogParams string `json:"access-log-params,omitempty"`
@@ -424,7 +424,7 @@ type Configuration struct {
// Example '60s'
ProxyProtocolHeaderTimeout time.Duration `json:"proxy-protocol-header-timeout,omitempty"`
- // Enables or disables the directive aio_write that writes files files asynchronously
+ // Enables or disables the directive aio_write that writes files asynchronously
// https://nginx.org/en/docs/http/ngx_http_core_module.html#aio_write
EnableAioWrite bool `json:"enable-aio-write,omitempty"`
@@ -607,7 +607,7 @@ type Configuration struct {
// Default: 0.01
OtelSamplerRatio float32 `json:"otel-sampler-ratio"`
- // OtelSamplerParentBased specifies the parent based sampler to be use for any traces created
+ // OtelSamplerParentBased specifies the parent based sampler to be used for any traces created
// Default: true
OtelSamplerParentBased bool `json:"otel-sampler-parent-based"`
@@ -704,7 +704,7 @@ type Configuration struct {
DefaultSSLCertificate *ingress.SSLCert `json:"-"`
// ProxySSLLocationOnly controls whether the proxy-ssl parameters defined in the
- // proxy-ssl-* annotations are applied on on location level only in the nginx.conf file
+ // proxy-ssl-* annotations are applied on location level only in the nginx.conf file
// Default is that those are applied on server level, too
ProxySSLLocationOnly bool `json:"proxy-ssl-location-only"`
diff --git a/internal/ingress/controller/endpointslices.go b/internal/ingress/controller/endpointslices.go
index 4f98e3ce7..ed46e2c85 100644
--- a/internal/ingress/controller/endpointslices.go
+++ b/internal/ingress/controller/endpointslices.go
@@ -115,7 +115,7 @@ func getEndpointsFromSlices(s *corev1.Service, port *corev1.ServicePort, proto c
useTopologyHints = false
if zoneForHints != emptyZone {
useTopologyHints = true
- // check if all endpointslices has zone hints
+ // check if all endpointslices have zone hints
for _, ep := range eps.Endpoints {
if ep.Hints == nil || len(ep.Hints.ForZones) == 0 {
useTopologyHints = false
diff --git a/internal/ingress/controller/nginx_test.go b/internal/ingress/controller/nginx_test.go
index 27180e066..7b00916c7 100644
--- a/internal/ingress/controller/nginx_test.go
+++ b/internal/ingress/controller/nginx_test.go
@@ -410,7 +410,7 @@ func TestCleanTempNginxCfg(t *testing.T) {
}
}
-//nolint:unparam // Ingnore `network` always receives `"tcp"` error
+//nolint:unparam // Ignore `network` always receives `"tcp"` error
func tryListen(network, address string) (l net.Listener, err error) {
condFunc := func() (bool, error) {
l, err = net.Listen(network, address)
diff --git a/internal/ingress/controller/store/endpointslice_test.go b/internal/ingress/controller/store/endpointslice_test.go
index 5d423a3a6..0bdb3aa33 100644
--- a/internal/ingress/controller/store/endpointslice_test.go
+++ b/internal/ingress/controller/store/endpointslice_test.go
@@ -88,7 +88,7 @@ func TestEndpointSliceLister(t *testing.T) {
}
eps, err := el.MatchByKey(key)
if err != nil {
- t.Errorf("unexpeted error %v", err)
+ t.Errorf("unexpected error %v", err)
}
if err == nil && len(eps) != 1 {
t.Errorf("expected one slice %v, error, got %d slices", endpointSlice, len(eps))
@@ -130,7 +130,7 @@ func TestEndpointSliceLister(t *testing.T) {
}
eps, err := el.MatchByKey(key)
if err != nil {
- t.Errorf("unexpeted error %v", err)
+ t.Errorf("unexpected error %v", err)
}
if len(eps) != 1 {
t.Errorf("expected one slice %v, error, got %d slices", endpointSlice, len(eps))
diff --git a/internal/ingress/controller/store/store_test.go b/internal/ingress/controller/store/store_test.go
index 317c0f36c..9c719af3b 100644
--- a/internal/ingress/controller/store/store_test.go
+++ b/internal/ingress/controller/store/store_test.go
@@ -1208,13 +1208,13 @@ func TestStore(t *testing.T) {
}
}(updateCh)
- namesapceSelector, err := labels.Parse("foo=bar")
+ namespaceSelector, err := labels.Parse("foo=bar")
if err != nil {
t.Errorf("unexpected error: %v", err)
}
storer := New(
ns,
- namesapceSelector,
+ namespaceSelector,
fmt.Sprintf("%v/config", ns),
fmt.Sprintf("%v/tcp", ns),
fmt.Sprintf("%v/udp", ns),
@@ -1274,7 +1274,7 @@ func TestStore(t *testing.T) {
t.Errorf("expected 0 events of type Delete but %v occurred", del)
}
})
- // test add ingress with secret it doesn't exists and then add secret
+ // test add ingress with secret it doesn't exist and then add secret
// check secret is generated on fs
// check ocsp
// check invalid secret (missing crt)
diff --git a/internal/ingress/controller/util.go b/internal/ingress/controller/util.go
index 8851f323f..79bf931ef 100644
--- a/internal/ingress/controller/util.go
+++ b/internal/ingress/controller/util.go
@@ -129,7 +129,7 @@ func NewNginxCommand() NginxCommand {
return command
}
-// ExecCommand instanciates an exec.Cmd object to call nginx program
+// ExecCommand instantiates an exec.Cmd object to call nginx program
func (nc NginxCommand) ExecCommand(args ...string) *exec.Cmd {
cmdArgs := []string{}
diff --git a/internal/ingress/metric/collectors/controller.go b/internal/ingress/metric/collectors/controller.go
index 4ee84bc56..697b57ca8 100644
--- a/internal/ingress/metric/collectors/controller.go
+++ b/internal/ingress/metric/collectors/controller.go
@@ -225,7 +225,7 @@ func (cm *Controller) IncCheckErrorCount(namespace, name string) {
cm.checkIngressOperationErrors.MustCurryWith(cm.constLabels).With(labels).Inc()
}
-// IncOrphanIngress sets the the orphaned ingress gauge to one
+// IncOrphanIngress sets the orphaned ingress gauge to one
func (cm *Controller) IncOrphanIngress(namespace, name, orphanityType string) {
labels := prometheus.Labels{
"namespace": namespace,
@@ -235,7 +235,7 @@ func (cm *Controller) IncOrphanIngress(namespace, name, orphanityType string) {
cm.OrphanIngress.MustCurryWith(cm.constLabels).With(labels).Set(1.0)
}
-// DecOrphanIngress sets the the orphaned ingress gauge to zero (all services has their endpoints)
+// DecOrphanIngress sets the orphaned ingress gauge to zero (all services has their endpoints)
func (cm *Controller) DecOrphanIngress(namespace, name, orphanityType string) {
labels := prometheus.Labels{
"namespace": namespace,
@@ -311,7 +311,7 @@ func (cm *Controller) SetSSLExpireTime(servers []*ingress.Server) {
}
}
-// SetSSLInfo creates a metric with all certificates informations
+// SetSSLInfo creates a metric with all certificate information
func (cm *Controller) SetSSLInfo(servers []*ingress.Server) {
for _, s := range servers {
if s.SSLCert == nil || s.SSLCert.Certificate == nil || s.SSLCert.Certificate.SerialNumber == nil {
diff --git a/internal/ingress/resolver/main.go b/internal/ingress/resolver/main.go
index 7d17f4e16..259f44e49 100644
--- a/internal/ingress/resolver/main.go
+++ b/internal/ingress/resolver/main.go
@@ -29,10 +29,10 @@ type Resolver interface {
// GetSecurityConfiguration returns the configuration options from Ingress
GetSecurityConfiguration() defaults.SecurityConfiguration
- // GetConfigMap searches for configmap containing the namespace and name usting the character /
+ // GetConfigMap searches for configmap containing the namespace and name using the character /
GetConfigMap(string) (*apiv1.ConfigMap, error)
- // GetSecret searches for secrets containing the namespace and name using a the character /
+ // GetSecret searches for secrets containing the namespace and name using the character /
GetSecret(string) (*apiv1.Secret, error)
// GetAuthCertificate resolves a given secret name into an SSL certificate and CRL.
@@ -42,7 +42,7 @@ type Resolver interface {
// ca.crl: contains the revocation list used for authentication
GetAuthCertificate(string) (*AuthSSLCert, error)
- // GetService searches for services containing the namespace and name using a the character /
+ // GetService searches for services containing the namespace and name using the character /
GetService(string) (*apiv1.Service, error)
}
diff --git a/internal/ingress/resolver/mock.go b/internal/ingress/resolver/mock.go
index 679c3b13c..64c4c79a7 100644
--- a/internal/ingress/resolver/mock.go
+++ b/internal/ingress/resolver/mock.go
@@ -47,7 +47,7 @@ func (m Mock) GetSecurityConfiguration() defaults.SecurityConfiguration {
}
}
-// GetSecret searches for secrets contenating the namespace and name using a the character /
+// GetSecret searches for secrets containing the namespace and name using the character /
func (m Mock) GetSecret(string) (*apiv1.Secret, error) {
return nil, nil
}
@@ -60,12 +60,12 @@ func (m Mock) GetAuthCertificate(string) (*AuthSSLCert, error) {
return nil, nil
}
-// GetService searches for services contenating the namespace and name using a the character /
+// GetService searches for services containing the namespace and name using the character /
func (m Mock) GetService(string) (*apiv1.Service, error) {
return nil, nil
}
-// GetConfigMap searches for configMaps contenating the namespace and name using a the character /
+// GetConfigMap searches for configMaps containing the namespace and name using the character /
func (m Mock) GetConfigMap(name string) (*apiv1.ConfigMap, error) {
if v, ok := m.ConfigMaps[name]; ok {
return v, nil
diff --git a/internal/net/ssl/ssl.go b/internal/net/ssl/ssl.go
index f8bac2377..0592303bc 100644
--- a/internal/net/ssl/ssl.go
+++ b/internal/net/ssl/ssl.go
@@ -442,7 +442,7 @@ func getFakeHostSSLCert(host string) (cert, key []byte) {
// fullChainCert checks if a certificate file contains issues in the intermediate CA chain
// Returns a new certificate with the intermediate certificates.
-// If the certificate does not contains issues with the chain it return an empty byte array
+// If the certificate does not contain issues with the chain it returns an empty byte array
func fullChainCert(in []byte) ([]byte, error) {
cert, err := certUtil.DecodeCertificate(in)
if err != nil {
@@ -523,7 +523,7 @@ func (tl *TLSListener) GetCertificate(*tls.ClientHelloInfo) (*tls.Certificate, e
return tl.certificate, tl.err
}
-// TLSConfig instanciates a TLS configuration, always providing an up to date certificate
+// TLSConfig instantiates a TLS configuration, always providing an up to date certificate
func (tl *TLSListener) TLSConfig() *tls.Config {
return &tls.Config{
GetCertificate: tl.GetCertificate,
diff --git a/pkg/apis/ingress/types.go b/pkg/apis/ingress/types.go
index ca5df56c9..1f337fdeb 100644
--- a/pkg/apis/ingress/types.go
+++ b/pkg/apis/ingress/types.go
@@ -198,10 +198,10 @@ type Server struct {
Aliases []string `json:"aliases,omitempty"`
// RedirectFromToWWW returns if a redirect to/from prefix www is required
RedirectFromToWWW bool `json:"redirectFromToWWW,omitempty"`
- // CertificateAuth indicates the this server requires mutual authentication
+ // CertificateAuth indicates this server requires mutual authentication
// +optional
CertificateAuth authtls.Config `json:"certificateAuth"`
- // ProxySSL indicates the this server uses client certificate to access backends
+ // ProxySSL indicates this server uses client certificate to access backends
// +optional
ProxySSL proxyssl.Config `json:"proxySSL"`
// ServerSnippet returns the snippet of server
@@ -219,7 +219,7 @@ type Server struct {
// Location describes an URI inside a server.
// Also contains additional information about annotations in the Ingress.
//
-// In some cases when more than one annotations is defined a particular order in the execution
+// In some cases when more than one annotation is defined a particular order in the execution
// is required.
// The chain in the execution order of annotations should be:
// - Denylist
@@ -345,7 +345,7 @@ type Location struct {
// CustomHTTPErrors specifies the error codes that should be intercepted.
// +optional
CustomHTTPErrors []int `json:"custom-http-errors"`
- // ProxyInterceptErrors disables error intecepting when using CustomHTTPErrors
+ // ProxyInterceptErrors disables error interception when using CustomHTTPErrors
// e.g. custom 404 and 503 when service-a does not exist or is not available
// but service-a can return 404 and 503 error codes without intercept
// +optional
diff --git a/rootfs/etc/nginx/lua/test/balancer/sticky_test.lua b/rootfs/etc/nginx/lua/test/balancer/sticky_test.lua
index 80d0c0d0e..70723143b 100644
--- a/rootfs/etc/nginx/lua/test/balancer/sticky_test.lua
+++ b/rootfs/etc/nginx/lua/test/balancer/sticky_test.lua
@@ -357,7 +357,7 @@ describe("Sticky", function()
for _ = 1, 100 do
local new_upstream = sticky_balancer_instance:balance()
if change_on_failure == false then
- -- upstream should be the same inspite of error, if change_on_failure option is false
+ -- upstream should be the same in spite of error, if change_on_failure option is false
assert.equal(new_upstream, old_upstream)
else
-- upstream should change after error, if change_on_failure option is true
diff --git a/test/e2e/endpointslices/topology.go b/test/e2e/endpointslices/topology.go
index 38c5f8b76..70f7ff86b 100644
--- a/test/e2e/endpointslices/topology.go
+++ b/test/e2e/endpointslices/topology.go
@@ -84,7 +84,7 @@ var _ = framework.IngressNginxDescribeSerial("[TopologyHints] topology aware rou
}
if gotHints {
- // we have 2 replics, if there is just one backend it means that we are routing according slices hints to same zone as controller is
+ // we have 2 replicas, if there is just one backend it means that we are routing according slices hints to same zone as controller is
assert.Equal(ginkgo.GinkgoT(), 1, gotBackends)
} else {
// two replicas should have two endpoints without topology hints
diff --git a/test/e2e/framework/deployment.go b/test/e2e/framework/deployment.go
index 08a5353b2..9eaf42565 100644
--- a/test/e2e/framework/deployment.go
+++ b/test/e2e/framework/deployment.go
@@ -43,7 +43,7 @@ const HTTPBunService = "httpbun"
// NipService name of external service using nip.io
const NIPService = "external-nip"
-// HTTPBunImage is the default image that is used to deploy HTTPBun with the framwork
+// HTTPBunImage is the default image that is used to deploy HTTPBun with the framework
var HTTPBunImage = os.Getenv("HTTPBUN_IMAGE")
// EchoImage is the default image to be used by the echo service
diff --git a/test/e2e/framework/framework.go b/test/e2e/framework/framework.go
index b71d84baa..65f10ba5d 100644
--- a/test/e2e/framework/framework.go
+++ b/test/e2e/framework/framework.go
@@ -100,7 +100,7 @@ func NewDefaultFramework(baseName string, opts ...func(*Framework)) *Framework {
}
// NewSimpleFramework makes a new framework that allows the usage of a namespace
-// for arbitraty tests.
+// for arbitrary tests.
func NewSimpleFramework(baseName string, opts ...func(*Framework)) *Framework {
defer ginkgo.GinkgoRecover()
diff --git a/test/e2e/gracefulshutdown/shutdown.go b/test/e2e/gracefulshutdown/shutdown.go
index 604143da8..e9883338f 100644
--- a/test/e2e/gracefulshutdown/shutdown.go
+++ b/test/e2e/gracefulshutdown/shutdown.go
@@ -37,7 +37,7 @@ var _ = framework.IngressNginxDescribe("[Shutdown] ingress controller", func() {
f.NewSlowEchoDeployment()
})
- ginkgo.It("should shutdown in less than 60 secons without pending connections", func() {
+ ginkgo.It("should shutdown in less than 60 seconds without pending connections", func() {
f.EnsureIngress(framework.NewSingleIngress(host, "/", host, f.Namespace, framework.SlowEchoService, 80, nil))
f.WaitForNginxServer(host,
diff --git a/test/e2e/settings/global_external_auth.go b/test/e2e/settings/global_external_auth.go
index 741e6f955..f589a63e9 100644
--- a/test/e2e/settings/global_external_auth.go
+++ b/test/e2e/settings/global_external_auth.go
@@ -32,8 +32,8 @@ import (
)
const (
- disable = "false"
- noAuthLocaltionSetting = "no-auth-locations"
+ disable = "false"
+ noAuthLocationSetting = "no-auth-locations"
)
var _ = framework.DescribeSetting("[Security] global-auth-url", func() {
@@ -51,7 +51,7 @@ var _ = framework.DescribeSetting("[Security] global-auth-url", func() {
fooPath := "/foo"
barPath := "/bar"
- noAuthSetting := noAuthLocaltionSetting
+ noAuthSetting := noAuthLocationSetting
noAuthLocations := barPath
enableGlobalExternalAuthAnnotation := "nginx.ingress.kubernetes.io/enable-global-auth"
diff --git a/test/k6/loadtest.js b/test/k6/loadtest.js
index 2396948fc..51801765e 100644
--- a/test/k6/loadtest.js
+++ b/test/k6/loadtest.js
@@ -1,6 +1,6 @@
// This is a loadtest under development
// Test here is spec'd to have 100virtual-users
-// Other specs currently similar to smoktest
+// Other specs currently similar to smoketest
// But loadtest needs testplan that likely uses auth & data-transfer
import http from 'k6/http';
@@ -35,7 +35,7 @@ export default function () {
const req3 = {
params: {
headers: {
- 'Content-Type': 'application/x-www-form-urlencoded'
+ 'Content-Type': 'application/x-www-form-urlencoded'
},
},
method: 'POST',
diff --git a/test/k6/smoketest.js b/test/k6/smoketest.js
index 8fe9e950a..12691b63a 100644
--- a/test/k6/smoketest.js
+++ b/test/k6/smoketest.js
@@ -1,4 +1,4 @@
-// smotest.js edited after copy/pasting from https://k6.io docs
+// smoketest.js edited after copy/pasting from https://k6.io docs
// Using this like loadtest because of limited cpu/memory/other
import http from 'k6/http';
@@ -22,7 +22,7 @@ export const options = {
};
export default function () {
- // docs of k6 say this is how to adds host header
+ // docs of k6 say this is how to add host header
// needed as ingress is created with this host value
const params = {
headers: {'host': 'test.ingress-nginx-controller.ga'},
@@ -39,7 +39,7 @@ export default function () {
const req3 = {
params: {
headers: {
- 'Content-Type': 'application/json'
+ 'Content-Type': 'application/json'
},
},
method: 'POST',
From 951248422ee9fe94018908e0442520a11f565c98 Mon Sep 17 00:00:00 2001
From: k8s-infra-cherrypick-robot
<90416843+k8s-infra-cherrypick-robot@users.noreply.github.com>
Date: Sat, 7 Sep 2024 20:43:20 -0700
Subject: [PATCH 215/265] Images: Use latest Alpine 3.20 everywhere. (#11945)
Co-authored-by: Marco Ebert
---
docs/examples/customization/sysctl/patch.json | 2 +-
images/cfssl/rootfs/Dockerfile | 4 ++--
images/nginx-1.25/rootfs/Dockerfile | 4 ++--
images/nginx/rootfs/Dockerfile | 4 ++--
images/opentelemetry/rootfs/Dockerfile | 2 +-
images/test-runner/rootfs/Dockerfile | 2 +-
rootfs/Dockerfile-chroot | 2 +-
test/e2e-image/Dockerfile | 2 +-
8 files changed, 11 insertions(+), 11 deletions(-)
diff --git a/docs/examples/customization/sysctl/patch.json b/docs/examples/customization/sysctl/patch.json
index e87c9affa..fb4fc057f 100644
--- a/docs/examples/customization/sysctl/patch.json
+++ b/docs/examples/customization/sysctl/patch.json
@@ -4,7 +4,7 @@
"spec": {
"initContainers": [{
"name": "sysctl",
- "image": "alpine:3.18",
+ "image": "alpine:3.20",
"securityContext": {
"privileged": true
},
diff --git a/images/cfssl/rootfs/Dockerfile b/images/cfssl/rootfs/Dockerfile
index c23f66d49..7f7003f10 100644
--- a/images/cfssl/rootfs/Dockerfile
+++ b/images/cfssl/rootfs/Dockerfile
@@ -12,9 +12,9 @@
# See the License for the specific language governing permissions and
# limitations under the License.
-FROM alpine:3.20.0
+FROM alpine:3.20
-RUN echo "@testing http://nl.alpinelinux.org/alpine/edge/testing" >> /etc/apk/repositories
+RUN echo "@testing https://dl-cdn.alpinelinux.org/alpine/edge/testing" >> /etc/apk/repositories
RUN apk update \
&& apk upgrade && \
apk add --no-cache \
diff --git a/images/nginx-1.25/rootfs/Dockerfile b/images/nginx-1.25/rootfs/Dockerfile
index 13dcec33d..1d2b6b623 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.20.0 as builder
+FROM alpine:3.20 as builder
COPY . /
@@ -21,7 +21,7 @@ RUN apk update \
&& /build.sh
# Use a multi-stage build
-FROM alpine:3.20.0
+FROM alpine:3.20
ENV PATH=$PATH:/usr/local/luajit/bin:/usr/local/nginx/sbin:/usr/local/nginx/bin
diff --git a/images/nginx/rootfs/Dockerfile b/images/nginx/rootfs/Dockerfile
index f3d61017e..245bb353b 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.20.0 as builder
+FROM alpine:3.20 as builder
COPY . /
@@ -21,7 +21,7 @@ RUN apk update \
&& /build.sh
# Use a multi-stage build
-FROM alpine:3.20.0
+FROM alpine:3.20
ENV PATH=$PATH:/usr/local/luajit/bin:/usr/local/nginx/sbin:/usr/local/nginx/bin
diff --git a/images/opentelemetry/rootfs/Dockerfile b/images/opentelemetry/rootfs/Dockerfile
index f67948b86..9f3cb2eae 100644
--- a/images/opentelemetry/rootfs/Dockerfile
+++ b/images/opentelemetry/rootfs/Dockerfile
@@ -13,7 +13,7 @@
# limitations under the License.
-FROM alpine:3.20.0 AS base
+FROM alpine:3.20 AS base
RUN mkdir -p /opt/third_party/install
COPY . /opt/third_party/
diff --git a/images/test-runner/rootfs/Dockerfile b/images/test-runner/rootfs/Dockerfile
index fd664f2e5..7bcc2f25c 100644
--- a/images/test-runner/rootfs/Dockerfile
+++ b/images/test-runner/rootfs/Dockerfile
@@ -48,7 +48,7 @@ RUN mkdir -p "$GOPATH/src" "$GOPATH/bin" && chmod -R 777 "$GOPATH"
COPY --from=etcd /usr/local/bin/etcd /usr/local/bin/etcd
-RUN echo "@testing https://nl.alpinelinux.org/alpine/edge/testing" >> /etc/apk/repositories
+RUN echo "@testing https://dl-cdn.alpinelinux.org/alpine/edge/testing" >> /etc/apk/repositories
RUN apk update && apk upgrade && apk add --no-cache \
bash \
diff --git a/rootfs/Dockerfile-chroot b/rootfs/Dockerfile-chroot
index c06db2252..b719f2fc3 100644
--- a/rootfs/Dockerfile-chroot
+++ b/rootfs/Dockerfile-chroot
@@ -23,7 +23,7 @@ RUN apk update \
&& apk upgrade \
&& /chroot.sh
-FROM alpine:3.20.0
+FROM alpine:3.20
ARG TARGETARCH
ARG VERSION
diff --git a/test/e2e-image/Dockerfile b/test/e2e-image/Dockerfile
index 7bd7c9c1c..5e7417477 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.20.0
+FROM alpine:3.20
RUN apk update \
&& apk upgrade && apk add -U --no-cache \
From 660df32cfd36065c39877a1875dafc1250cc1974 Mon Sep 17 00:00:00 2001
From: k8s-infra-cherrypick-robot
<90416843+k8s-infra-cherrypick-robot@users.noreply.github.com>
Date: Sat, 7 Sep 2024 22:17:20 -0700
Subject: [PATCH 216/265] Docs: Add note about `--watch-namespace`. (#11948)
Co-authored-by: longwuyuan
---
docs/deploy/index.md | 5 ++---
1 file changed, 2 insertions(+), 3 deletions(-)
diff --git a/docs/deploy/index.md b/docs/deploy/index.md
index 6ef9d4971..9847cdc00 100644
--- a/docs/deploy/index.md
+++ b/docs/deploy/index.md
@@ -266,7 +266,6 @@ In AWS, we use a Network load balancer (NLB) to expose the Ingress-Nginx Control
[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
@@ -364,8 +363,8 @@ kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/cont
```console
kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-v1.10.4/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.
+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
@@ -428,7 +427,7 @@ kubectl exec $POD_NAME -n $POD_NAMESPACE -- /nginx-ingress-controller --version
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.
+namespace. Although the use of this flag is not popular, one important fact to note is that the secret containing the default-ssl-certificate needs to also be present in the watched namespace(s).
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)
From 905f8edb0d28f0f40f3e75baf080e935184818da Mon Sep 17 00:00:00 2001
From: k8s-infra-cherrypick-robot
<90416843+k8s-infra-cherrypick-robot@users.noreply.github.com>
Date: Sun, 8 Sep 2024 03:23:20 -0700
Subject: [PATCH 217/265] Images: Bump OpenTelemetry C++ Contrib. (#11950)
Co-authored-by: Damien Mehala
---
images/nginx-1.25/rootfs/build.sh | 2 +-
images/opentelemetry/rootfs/build.sh | 4 ++--
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/images/nginx-1.25/rootfs/build.sh b/images/nginx-1.25/rootfs/build.sh
index f60a260f9..f9ea3840b 100755
--- a/images/nginx-1.25/rootfs/build.sh
+++ b/images/nginx-1.25/rootfs/build.sh
@@ -518,7 +518,7 @@ make
make modules
make install
-export OPENTELEMETRY_CONTRIB_COMMIT=aaa51e2297bcb34297f3c7aa44fa790497d2f7f3
+export OPENTELEMETRY_CONTRIB_COMMIT=e11348bb400d5472bf1da5d6128bead66fa111ff
cd "$BUILD_PATH"
git clone https://github.com/open-telemetry/opentelemetry-cpp-contrib.git opentelemetry-cpp-contrib-${OPENTELEMETRY_CONTRIB_COMMIT}
diff --git a/images/opentelemetry/rootfs/build.sh b/images/opentelemetry/rootfs/build.sh
index 649595a75..6f803fc9f 100755
--- a/images/opentelemetry/rootfs/build.sh
+++ b/images/opentelemetry/rootfs/build.sh
@@ -116,8 +116,8 @@ install_otel()
install_nginx()
{
- # Check for recent changes: https://github.com/open-telemetry/opentelemetry-cpp-contrib/compare/2656a4...main
- export OPENTELEMETRY_CONTRIB_COMMIT=aaa51e2297bcb34297f3c7aa44fa790497d2f7f3
+ # Check for recent changes: https://github.com/open-telemetry/opentelemetry-cpp-contrib/compare/e11348bb400d5472bf1da5d6128bead66fa111ff...main
+ export OPENTELEMETRY_CONTRIB_COMMIT=e11348bb400d5472bf1da5d6128bead66fa111ff
mkdir -p /etc/nginx
cd "$BUILD_PATH"
From 1614970907c72d7f2563c218d0d0281eb11a1612 Mon Sep 17 00:00:00 2001
From: k8s-infra-cherrypick-robot
<90416843+k8s-infra-cherrypick-robot@users.noreply.github.com>
Date: Mon, 9 Sep 2024 07:26:13 -0700
Subject: [PATCH 218/265] [release-1.10] Bump
github.com/prometheus/client_golang from 1.20.2 to 1.20.3 in the all group
(#11956)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
---
go.mod | 2 +-
go.sum | 4 ++--
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/go.mod b/go.mod
index 3e61a5805..4f586fd29 100644
--- a/go.mod
+++ b/go.mod
@@ -17,7 +17,7 @@ require (
github.com/onsi/ginkgo/v2 v2.20.2
github.com/opencontainers/runc v1.1.14
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2
- github.com/prometheus/client_golang v1.20.2
+ github.com/prometheus/client_golang v1.20.3
github.com/prometheus/client_model v0.6.1
github.com/prometheus/common v0.57.0
github.com/spf13/cobra v1.8.1
diff --git a/go.sum b/go.sum
index ce8ea5ecc..13eced819 100644
--- a/go.sum
+++ b/go.sum
@@ -180,8 +180,8 @@ github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINE
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
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.2 h1:5ctymQzZlyOON1666svgwn3s6IKWgfbjsejTMiXIyjg=
-github.com/prometheus/client_golang v1.20.2/go.mod h1:PIEt8X02hGcP8JWbeHyeZ53Y/jReSnHgO035n//V5WE=
+github.com/prometheus/client_golang v1.20.3 h1:oPksm4K8B+Vt35tUhw6GbSNSgVlVSBH0qELP/7u83l4=
+github.com/prometheus/client_golang v1.20.3/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.57.0 h1:Ro/rKjwdq9mZn1K5QPctzh+MA4Lp0BuYk5ZZEVhoNcY=
From dc7f2a0fe7fe6c86d3e88af7372f15dd24fac4b4 Mon Sep 17 00:00:00 2001
From: k8s-infra-cherrypick-robot
<90416843+k8s-infra-cherrypick-robot@users.noreply.github.com>
Date: Mon, 9 Sep 2024 07:26:27 -0700
Subject: [PATCH 219/265] Bump golang.org/x/crypto from 0.26.0 to 0.27.0
(#11959)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
---
go.mod | 8 ++++----
go.sum | 16 ++++++++--------
2 files changed, 12 insertions(+), 12 deletions(-)
diff --git a/go.mod b/go.mod
index 4f586fd29..84f1ace17 100644
--- a/go.mod
+++ b/go.mod
@@ -25,7 +25,7 @@ require (
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.26.0
+ golang.org/x/crypto v0.27.0
golang.org/x/exp v0.0.0-20240719175910-8a7402abbf56
google.golang.org/grpc v1.66.0
google.golang.org/grpc/examples v0.0.0-20240223204917-5ccf176a08ab
@@ -116,9 +116,9 @@ require (
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.24.0 // indirect
- golang.org/x/term v0.23.0 // indirect
- golang.org/x/text v0.17.0 // indirect
+ golang.org/x/sys v0.25.0 // indirect
+ golang.org/x/term v0.24.0 // indirect
+ golang.org/x/text v0.18.0 // indirect
golang.org/x/time v0.5.0 // indirect
golang.org/x/tools v0.24.0 // indirect
google.golang.org/genproto/googleapis/rpc v0.0.0-20240701130421-f6361c86f094 // indirect
diff --git a/go.sum b/go.sum
index 13eced819..c1b19e3dc 100644
--- a/go.sum
+++ b/go.sum
@@ -236,8 +236,8 @@ golang.org/dl v0.0.0-20190829154251-82a15e2f2ead/go.mod h1:IUMfjQLJQd4UTqG1Z90te
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
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.26.0 h1:RrRspgV4mU+YwB4FYnuBoKsUapNIL5cohGAmSH3azsw=
-golang.org/x/crypto v0.26.0/go.mod h1:GY7jblb9wI+FOo5y8/S2oY4zWP07AkOJ4+jxCqdqn54=
+golang.org/x/crypto v0.27.0 h1:GXm2NjJrPaiv/h1tb2UH8QfgC/hOf/+z0p6PT8o1w7A=
+golang.org/x/crypto v0.27.0/go.mod h1:1Xngt8kV6Dvbssa53Ziq6Eqn0HqbZi5Z6R0ZpwQzt70=
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=
@@ -274,14 +274,14 @@ golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBc
golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/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.24.0 h1:Twjiwq9dn6R1fQcyiK+wQyHWfaz/BJB+YIpzU/Cv3Xg=
-golang.org/x/sys v0.24.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/sys v0.25.0 h1:r+8e+loiHxRqhXVl6ML1nO3l1+oFoWbnlu2Ehimmi34=
+golang.org/x/sys v0.25.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
+golang.org/x/term v0.24.0 h1:Mh5cbb+Zk2hqqXNO7S1iTjEphVL+jb8ZWaqh/g+JWkM=
+golang.org/x/term v0.24.0/go.mod h1:lOBK/LVxemqiMij05LGJ0tzNr8xlmwBRJ81PX6wVLH8=
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.17.0 h1:XtiM5bkSOt+ewxlOE/aE/AKEHibwj/6gvWMl9Rsh0Qc=
-golang.org/x/text v0.17.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY=
+golang.org/x/text v0.18.0 h1:XvMDiNzPAl0jr17s6W9lcaIhGUfUORdGCNsuLmPG224=
+golang.org/x/text v0.18.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=
From 73a091a2f0b8d68b88bae83e961b58dc2961f536 Mon Sep 17 00:00:00 2001
From: k8s-infra-cherrypick-robot
<90416843+k8s-infra-cherrypick-robot@users.noreply.github.com>
Date: Tue, 10 Sep 2024 03:29:49 -0700
Subject: [PATCH 220/265] Bump github.com/prometheus/common from 0.57.0 to
0.59.1 (#11960)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
---
go.mod | 4 ++--
go.sum | 8 ++++----
2 files changed, 6 insertions(+), 6 deletions(-)
diff --git a/go.mod b/go.mod
index 84f1ace17..218b66f33 100644
--- a/go.mod
+++ b/go.mod
@@ -19,7 +19,7 @@ require (
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2
github.com/prometheus/client_golang v1.20.3
github.com/prometheus/client_model v0.6.1
- github.com/prometheus/common v0.57.0
+ github.com/prometheus/common v0.59.1
github.com/spf13/cobra v1.8.1
github.com/spf13/pflag v1.0.5
github.com/stretchr/testify v1.9.0
@@ -114,7 +114,7 @@ require (
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/oauth2 v0.22.0 // indirect
golang.org/x/sync v0.8.0 // indirect
golang.org/x/sys v0.25.0 // indirect
golang.org/x/term v0.24.0 // indirect
diff --git a/go.sum b/go.sum
index c1b19e3dc..7a6f6be2c 100644
--- a/go.sum
+++ b/go.sum
@@ -184,8 +184,8 @@ github.com/prometheus/client_golang v1.20.3 h1:oPksm4K8B+Vt35tUhw6GbSNSgVlVSBH0q
github.com/prometheus/client_golang v1.20.3/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.57.0 h1:Ro/rKjwdq9mZn1K5QPctzh+MA4Lp0BuYk5ZZEVhoNcY=
-github.com/prometheus/common v0.57.0/go.mod h1:7uRPFSUTbfZWsJ7MHY56sqt7hLQu3bxXHDnNhl8E9qI=
+github.com/prometheus/common v0.59.1 h1:LXb1quJHWm1P6wq/U824uxYi4Sg0oGvNeUm1z5dJoX0=
+github.com/prometheus/common v0.59.1/go.mod h1:GpWM7dewqmVYcd7SmRaiWVe9SSqjf0UrwnYnpEZNuT0=
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=
@@ -252,8 +252,8 @@ 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.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/oauth2 v0.22.0 h1:BzDx2FehcG7jJwgWLELCdmLuxk2i+x9UDpSiss2u0ZA=
+golang.org/x/oauth2 v0.22.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-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
From 2b0fc22348a9aa3696b18678ab121f00a22de66a Mon Sep 17 00:00:00 2001
From: k8s-infra-cherrypick-robot
<90416843+k8s-infra-cherrypick-robot@users.noreply.github.com>
Date: Fri, 13 Sep 2024 10:07:14 -0700
Subject: [PATCH 221/265] Go: Bump to v1.22.7. (#11969)
Co-authored-by: Marco Ebert
---
GOLANG_VERSION | 2 +-
go.mod | 2 +-
go.work | 2 +-
images/custom-error-pages/rootfs/go.mod | 2 +-
images/ext-auth-example-authsvc/rootfs/go.mod | 2 +-
images/kube-webhook-certgen/rootfs/go.mod | 2 +-
images/opentelemetry/rootfs/Dockerfile | 2 +-
images/opentelemetry/rootfs/go.mod | 2 +-
magefiles/go.mod | 2 +-
9 files changed, 9 insertions(+), 9 deletions(-)
diff --git a/GOLANG_VERSION b/GOLANG_VERSION
index 013173af5..87b26e8b1 100644
--- a/GOLANG_VERSION
+++ b/GOLANG_VERSION
@@ -1 +1 @@
-1.22.6
+1.22.7
diff --git a/go.mod b/go.mod
index 218b66f33..5312dc118 100644
--- a/go.mod
+++ b/go.mod
@@ -1,6 +1,6 @@
module k8s.io/ingress-nginx
-go 1.22.6
+go 1.22.7
require (
dario.cat/mergo v1.0.1
diff --git a/go.work b/go.work
index ac741bb5a..f0095c758 100644
--- a/go.work
+++ b/go.work
@@ -1,4 +1,4 @@
-go 1.22.6
+go 1.22.7
use (
.
diff --git a/images/custom-error-pages/rootfs/go.mod b/images/custom-error-pages/rootfs/go.mod
index 264ebf427..34363c50a 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.22.6
+go 1.22.7
require github.com/prometheus/client_golang v1.11.1
diff --git a/images/ext-auth-example-authsvc/rootfs/go.mod b/images/ext-auth-example-authsvc/rootfs/go.mod
index a3396b358..366e19639 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.22.6
+go 1.22.7
require k8s.io/apimachinery v0.23.1
diff --git a/images/kube-webhook-certgen/rootfs/go.mod b/images/kube-webhook-certgen/rootfs/go.mod
index 0270c0d87..9bbb5b391 100644
--- a/images/kube-webhook-certgen/rootfs/go.mod
+++ b/images/kube-webhook-certgen/rootfs/go.mod
@@ -1,6 +1,6 @@
module github.com/jet/kube-webhook-certgen
-go 1.22.6
+go 1.22.7
require (
github.com/onrik/logrus v0.11.0
diff --git a/images/opentelemetry/rootfs/Dockerfile b/images/opentelemetry/rootfs/Dockerfile
index 9f3cb2eae..4b64b96a6 100644
--- a/images/opentelemetry/rootfs/Dockerfile
+++ b/images/opentelemetry/rootfs/Dockerfile
@@ -31,7 +31,7 @@ FROM base AS nginx
ARG NGINX_VERSION=1.25.3
RUN bash /opt/third_party/build.sh -n ${NGINX_VERSION}
-FROM golang:1.22.6-bullseye AS build-init
+FROM golang:1.22.7-bullseye AS build-init
WORKDIR /go/src/app
COPY . .
diff --git a/images/opentelemetry/rootfs/go.mod b/images/opentelemetry/rootfs/go.mod
index 115ef686a..207d1d914 100644
--- a/images/opentelemetry/rootfs/go.mod
+++ b/images/opentelemetry/rootfs/go.mod
@@ -1,3 +1,3 @@
module init-otel
-go 1.22.6
+go 1.22.7
diff --git a/magefiles/go.mod b/magefiles/go.mod
index 8e146d70e..913522823 100644
--- a/magefiles/go.mod
+++ b/magefiles/go.mod
@@ -1,6 +1,6 @@
module k8s.io/ingress-nginx/magefiles
-go 1.22.6
+go 1.22.7
require (
github.com/blang/semver/v4 v4.0.0
From d3bc077c7b1a3aab24a64af607f3f9f9dd4950dc Mon Sep 17 00:00:00 2001
From: k8s-infra-cherrypick-robot
<90416843+k8s-infra-cherrypick-robot@users.noreply.github.com>
Date: Sun, 15 Sep 2024 08:01:48 -0700
Subject: [PATCH 222/265] Chart: Improve default backend service account.
(#11973)
Co-authored-by: Marco Ebert
---
charts/ingress-nginx/templates/_helpers.tpl | 2 +-
.../ingress-nginx/templates/default-backend-deployment.yaml | 2 +-
.../templates/default-backend-serviceaccount.yaml | 4 ++--
3 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/charts/ingress-nginx/templates/_helpers.tpl b/charts/ingress-nginx/templates/_helpers.tpl
index 113989a88..8862a6eaf 100644
--- a/charts/ingress-nginx/templates/_helpers.tpl
+++ b/charts/ingress-nginx/templates/_helpers.tpl
@@ -192,7 +192,7 @@ We truncate at 63 chars because some Kubernetes name fields are limited to this
{{- end -}}
{{/*
-Create the name of the backend service account to use - only used when podsecuritypolicy is also enabled
+Create the name of the default backend service account to use
*/}}
{{- define "ingress-nginx.defaultBackend.serviceAccountName" -}}
{{- if .Values.defaultBackend.serviceAccount.create -}}
diff --git a/charts/ingress-nginx/templates/default-backend-deployment.yaml b/charts/ingress-nginx/templates/default-backend-deployment.yaml
index d342c8c35..8e02d0198 100644
--- a/charts/ingress-nginx/templates/default-backend-deployment.yaml
+++ b/charts/ingress-nginx/templates/default-backend-deployment.yaml
@@ -102,7 +102,7 @@ spec:
{{- if .Values.defaultBackend.nodeSelector }}
nodeSelector: {{ toYaml .Values.defaultBackend.nodeSelector | nindent 8 }}
{{- end }}
- serviceAccountName: {{ template "ingress-nginx.defaultBackend.serviceAccountName" . }}
+ serviceAccountName: {{ include "ingress-nginx.defaultBackend.serviceAccountName" . }}
{{- if .Values.defaultBackend.tolerations }}
tolerations: {{ toYaml .Values.defaultBackend.tolerations | nindent 8 }}
{{- end }}
diff --git a/charts/ingress-nginx/templates/default-backend-serviceaccount.yaml b/charts/ingress-nginx/templates/default-backend-serviceaccount.yaml
index 2afaf0c04..6fd2d6234 100644
--- a/charts/ingress-nginx/templates/default-backend-serviceaccount.yaml
+++ b/charts/ingress-nginx/templates/default-backend-serviceaccount.yaml
@@ -1,4 +1,4 @@
-{{- if and .Values.defaultBackend.enabled .Values.defaultBackend.serviceAccount.create -}}
+{{- if and .Values.defaultBackend.enabled .Values.defaultBackend.serviceAccount.create -}}
apiVersion: v1
kind: ServiceAccount
metadata:
@@ -8,7 +8,7 @@ metadata:
{{- with .Values.defaultBackend.labels }}
{{- toYaml . | nindent 4 }}
{{- end }}
- name: {{ template "ingress-nginx.defaultBackend.serviceAccountName" . }}
+ name: {{ include "ingress-nginx.defaultBackend.serviceAccountName" . }}
namespace: {{ include "ingress-nginx.namespace" . }}
automountServiceAccountToken: {{ .Values.defaultBackend.serviceAccount.automountServiceAccountToken }}
{{- end }}
From f88f90757fb790afbb7fe13347f8bb17fff5a971 Mon Sep 17 00:00:00 2001
From: k8s-infra-cherrypick-robot
<90416843+k8s-infra-cherrypick-robot@users.noreply.github.com>
Date: Mon, 16 Sep 2024 04:40:05 -0700
Subject: [PATCH 223/265] Bump github/codeql-action from 3.26.6 to 3.26.7 in
the all group (#11978)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
---
.github/workflows/scorecards.yml | 2 +-
.github/workflows/vulnerability-scans.yaml | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/.github/workflows/scorecards.yml b/.github/workflows/scorecards.yml
index a1e9c4ecc..4affccb2d 100644
--- a/.github/workflows/scorecards.yml
+++ b/.github/workflows/scorecards.yml
@@ -59,6 +59,6 @@ jobs:
# Upload the results to GitHub's code scanning dashboard.
- name: "Upload to code-scanning"
- uses: github/codeql-action/upload-sarif@4dd16135b69a43b6c8efb853346f8437d92d3c93 # v3.26.6
+ uses: github/codeql-action/upload-sarif@8214744c546c1e5c8f03dde8fab3a7353211988d # v3.26.7
with:
sarif_file: results.sarif
diff --git a/.github/workflows/vulnerability-scans.yaml b/.github/workflows/vulnerability-scans.yaml
index d4a53a352..bed49e46f 100644
--- a/.github/workflows/vulnerability-scans.yaml
+++ b/.github/workflows/vulnerability-scans.yaml
@@ -75,7 +75,7 @@ jobs:
# This step checks out a copy of your repository.
- name: Upload SARIF file
- uses: github/codeql-action/upload-sarif@4dd16135b69a43b6c8efb853346f8437d92d3c93 # v3.26.6
+ uses: github/codeql-action/upload-sarif@8214744c546c1e5c8f03dde8fab3a7353211988d # v3.26.7
with:
token: ${{ github.token }}
# Path to SARIF file relative to the root of the repository
From cb182e8595edbc924352316f57e83328dbe267de Mon Sep 17 00:00:00 2001
From: k8s-infra-cherrypick-robot
<90416843+k8s-infra-cherrypick-robot@users.noreply.github.com>
Date: Mon, 16 Sep 2024 04:40:17 -0700
Subject: [PATCH 224/265] Bump the all group with 2 updates (#11979)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
---
go.mod | 10 +++++-----
go.sum | 20 ++++++++++----------
2 files changed, 15 insertions(+), 15 deletions(-)
diff --git a/go.mod b/go.mod
index 5312dc118..dfd3e4751 100644
--- a/go.mod
+++ b/go.mod
@@ -27,18 +27,18 @@ require (
github.com/zakjan/cert-chain-resolver v0.0.0-20221221105603-fcedb00c5b30
golang.org/x/crypto v0.27.0
golang.org/x/exp v0.0.0-20240719175910-8a7402abbf56
- google.golang.org/grpc v1.66.0
+ google.golang.org/grpc v1.66.2
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.31.0
+ k8s.io/api v0.31.1
k8s.io/apiextensions-apiserver v0.31.0
- k8s.io/apimachinery v0.31.0
+ k8s.io/apimachinery v0.31.1
k8s.io/apiserver v0.31.0
k8s.io/cli-runtime v0.30.0
- k8s.io/client-go v0.31.0
+ k8s.io/client-go v0.31.1
k8s.io/code-generator v0.31.0
- k8s.io/component-base v0.31.0
+ k8s.io/component-base v0.31.1
k8s.io/klog/v2 v2.130.1
pault.ag/go/sniff v0.0.0-20200207005214-cf7e4d167732
sigs.k8s.io/controller-runtime v0.19.0
diff --git a/go.sum b/go.sum
index 7a6f6be2c..f1f4748bd 100644
--- a/go.sum
+++ b/go.sum
@@ -299,8 +299,8 @@ 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/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.66.0 h1:DibZuoBznOxbDQxRINckZcUvnCEvrW9pcWIE2yF9r1c=
-google.golang.org/grpc v1.66.0/go.mod h1:s3/l6xSSCURdVfAnL+TqCNMyTDAGN6+lZeVxnZR128Y=
+google.golang.org/grpc v1.66.2 h1:3QdXkuq3Bkh7w+ywLdLvM56cmGvQHUMZpiCzt6Rqaoo=
+google.golang.org/grpc v1.66.2/go.mod h1:s3/l6xSSCURdVfAnL+TqCNMyTDAGN6+lZeVxnZR128Y=
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=
@@ -339,22 +339,22 @@ 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.31.0 h1:b9LiSjR2ym/SzTOlfMHm1tr7/21aD7fSkqgD/CVJBCo=
-k8s.io/api v0.31.0/go.mod h1:0YiFF+JfFxMM6+1hQei8FY8M7s1Mth+z/q7eF1aJkTE=
+k8s.io/api v0.31.1 h1:Xe1hX/fPW3PXYYv8BlozYqw63ytA92snr96zMW9gWTU=
+k8s.io/api v0.31.1/go.mod h1:sbN1g6eY6XVLeqNsZGLnI5FwVseTrZX7Fv3O26rhAaI=
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/apimachinery v0.31.1 h1:mhcUBbj7KUjaVhyXILglcVjuS4nYXiwC+KKFBgIVy7U=
+k8s.io/apimachinery v0.31.1/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/client-go v0.31.1 h1:f0ugtWSbWpxHR7sjVpQwuvw9a3ZKLXX0u0itkFXufb0=
+k8s.io/client-go v0.31.1/go.mod h1:sKI8871MJN2OyeqRlmA4W4KM9KBdBUpDLu/43eGemCg=
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/component-base v0.31.1 h1:UpOepcrX3rQ3ab5NB6g5iP0tvsgJWzxTyAo20sgYSy8=
+k8s.io/component-base v0.31.1/go.mod h1:WGeaw7t/kTsqpVTaCoVEtillbqAhF2/JgvO0LDOMa0w=
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=
From ff9275bc15a0212a3890ae93c7e8d2a8211b3472 Mon Sep 17 00:00:00 2001
From: k8s-infra-cherrypick-robot
<90416843+k8s-infra-cherrypick-robot@users.noreply.github.com>
Date: Tue, 17 Sep 2024 13:40:43 -0700
Subject: [PATCH 225/265] Metrics: Fix namespace in
`nginx_ingress_controller_ssl_expire_time_seconds`. (#11985)
Co-authored-by: Aleksey Gavrilov
---
internal/ingress/metric/collectors/controller.go | 1 +
internal/ingress/metric/collectors/controller_test.go | 4 +++-
2 files changed, 4 insertions(+), 1 deletion(-)
diff --git a/internal/ingress/metric/collectors/controller.go b/internal/ingress/metric/collectors/controller.go
index 697b57ca8..0df04c1d0 100644
--- a/internal/ingress/metric/collectors/controller.go
+++ b/internal/ingress/metric/collectors/controller.go
@@ -305,6 +305,7 @@ func (cm *Controller) SetSSLExpireTime(servers []*ingress.Server) {
}
labels["host"] = s.Hostname
labels["secret_name"] = s.SSLCert.Name
+ labels["namespace"] = s.SSLCert.Namespace
labels["identifier"] = s.SSLCert.Identifier()
cm.sslExpireTime.With(labels).Set(float64(s.SSLCert.ExpireTime.Unix()))
diff --git a/internal/ingress/metric/collectors/controller_test.go b/internal/ingress/metric/collectors/controller_test.go
index 7c7ea8a67..a77293c20 100644
--- a/internal/ingress/metric/collectors/controller_test.go
+++ b/internal/ingress/metric/collectors/controller_test.go
@@ -88,6 +88,8 @@ func TestControllerCounters(t *testing.T) {
Hostname: "demo",
SSLCert: &ingress.SSLCert{
ExpireTime: t1,
+ Name: "secret-name",
+ Namespace: "secret-namespace",
Certificate: &x509.Certificate{
PublicKeyAlgorithm: x509.ECDSA,
Issuer: pkix.Name{
@@ -111,7 +113,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",identifier="abcd1234-100",namespace="default",secret_name=""} 1.351807721e+09
+ nginx_ingress_controller_ssl_expire_time_seconds{class="nginx",host="demo",identifier="abcd1234-100",namespace="secret-namespace",secret_name="secret-name"} 1.351807721e+09
`,
metrics: []string{"nginx_ingress_controller_ssl_expire_time_seconds"},
},
From b3fb2a6239d9c6b1903923dbb32b627da420087b Mon Sep 17 00:00:00 2001
From: k8s-infra-cherrypick-robot
<90416843+k8s-infra-cherrypick-robot@users.noreply.github.com>
Date: Fri, 20 Sep 2024 05:20:05 -0700
Subject: [PATCH 226/265] Chart: Align default backend `PodDisruptionBudget`.
(#11998)
Co-authored-by: Marco Ebert
---
charts/ingress-nginx/README.md | 2 +-
.../default-backend-poddisruptionbudget.yaml | 6 ++-
...ault-backend-poddisruptionbudget_test.yaml | 48 +++++++++++++++++++
charts/ingress-nginx/values.yaml | 1 +
4 files changed, 55 insertions(+), 2 deletions(-)
create mode 100644 charts/ingress-nginx/tests/default-backend-poddisruptionbudget_test.yaml
diff --git a/charts/ingress-nginx/README.md b/charts/ingress-nginx/README.md
index 4d1abf1e6..ec69a0401 100644
--- a/charts/ingress-nginx/README.md
+++ b/charts/ingress-nginx/README.md
@@ -505,7 +505,7 @@ As of version `1.26.0` of this chart, by simply not providing any clusterIP valu
| defaultBackend.livenessProbe.periodSeconds | int | `10` | |
| defaultBackend.livenessProbe.successThreshold | int | `1` | |
| defaultBackend.livenessProbe.timeoutSeconds | int | `5` | |
-| defaultBackend.minAvailable | int | `1` | |
+| defaultBackend.minAvailable | int | `1` | Minimum available pods set in PodDisruptionBudget. |
| defaultBackend.minReadySeconds | int | `0` | `minReadySeconds` to avoid killing pods before we are ready # |
| defaultBackend.name | string | `"defaultbackend"` | |
| defaultBackend.networkPolicy.enabled | bool | `false` | Enable 'networkPolicy' or not |
diff --git a/charts/ingress-nginx/templates/default-backend-poddisruptionbudget.yaml b/charts/ingress-nginx/templates/default-backend-poddisruptionbudget.yaml
index f869e4530..c8363fd4b 100644
--- a/charts/ingress-nginx/templates/default-backend-poddisruptionbudget.yaml
+++ b/charts/ingress-nginx/templates/default-backend-poddisruptionbudget.yaml
@@ -1,5 +1,9 @@
{{- if .Values.defaultBackend.enabled -}}
-{{- if or (gt (.Values.defaultBackend.replicaCount | int) 1) (gt (.Values.defaultBackend.autoscaling.minReplicas | int) 1) }}
+{{- $replicas := .Values.defaultBackend.replicaCount }}
+{{- if .Values.defaultBackend.autoscaling.enabled }}
+{{- $replicas = .Values.defaultBackend.autoscaling.minReplicas }}
+{{- end }}
+{{- if gt ($replicas | int) 1 }}
apiVersion: {{ ternary "policy/v1" "policy/v1beta1" (semverCompare ">=1.21.0-0" .Capabilities.KubeVersion.Version) }}
kind: PodDisruptionBudget
metadata:
diff --git a/charts/ingress-nginx/tests/default-backend-poddisruptionbudget_test.yaml b/charts/ingress-nginx/tests/default-backend-poddisruptionbudget_test.yaml
new file mode 100644
index 000000000..095801862
--- /dev/null
+++ b/charts/ingress-nginx/tests/default-backend-poddisruptionbudget_test.yaml
@@ -0,0 +1,48 @@
+suite: Default Backend > PodDisruptionBudget
+templates:
+ - default-backend-poddisruptionbudget.yaml
+
+tests:
+ - it: should create a PodDisruptionBudget if `defaultBackend.replicaCount` is greater than 1
+ set:
+ defaultBackend.enabled: true
+ defaultBackend.replicaCount: 2
+ asserts:
+ - hasDocuments:
+ count: 1
+ - isKind:
+ of: PodDisruptionBudget
+ - equal:
+ path: metadata.name
+ value: RELEASE-NAME-ingress-nginx-defaultbackend
+
+ - it: should not create a PodDisruptionBudget if `defaultBackend.replicaCount` is less than or equal 1
+ set:
+ defaultBackend.enabled: true
+ defaultBackend.replicaCount: 1
+ asserts:
+ - hasDocuments:
+ count: 0
+
+ - it: should create a PodDisruptionBudget if `defaultBackend.autoscaling.enabled` is true and `defaultBackend.autoscaling.minReplicas` is greater than 1
+ set:
+ defaultBackend.enabled: true
+ defaultBackend.autoscaling.enabled: true
+ defaultBackend.autoscaling.minReplicas: 2
+ asserts:
+ - hasDocuments:
+ count: 1
+ - isKind:
+ of: PodDisruptionBudget
+ - equal:
+ path: metadata.name
+ value: RELEASE-NAME-ingress-nginx-defaultbackend
+
+ - it: should not create a PodDisruptionBudget if `defaultBackend.autoscaling.enabled` is true and `defaultBackend.autoscaling.minReplicas` is less than or equal 1
+ set:
+ defaultBackend.enabled: true
+ defaultBackend.autoscaling.enabled: true
+ defaultBackend.autoscaling.minReplicas: 1
+ asserts:
+ - hasDocuments:
+ count: 0
diff --git a/charts/ingress-nginx/values.yaml b/charts/ingress-nginx/values.yaml
index ee497213f..e347da54e 100644
--- a/charts/ingress-nginx/values.yaml
+++ b/charts/ingress-nginx/values.yaml
@@ -1004,6 +1004,7 @@ defaultBackend:
##
podAnnotations: {}
replicaCount: 1
+ # -- Minimum available pods set in PodDisruptionBudget.
minAvailable: 1
resources: {}
# limits:
From befe02e97c9451b5e1efee6dd70d75774a7d8b9b Mon Sep 17 00:00:00 2001
From: k8s-infra-cherrypick-robot
<90416843+k8s-infra-cherrypick-robot@users.noreply.github.com>
Date: Fri, 20 Sep 2024 05:21:02 -0700
Subject: [PATCH 227/265] Chart: Test `controller.minAvailable` &
`controller.maxUnavailable`. (#12001)
Co-authored-by: Marco Ebert
---
.../controller-poddisruptionbudget_test.yaml | 16 ++++++++++++++++
1 file changed, 16 insertions(+)
diff --git a/charts/ingress-nginx/tests/controller-poddisruptionbudget_test.yaml b/charts/ingress-nginx/tests/controller-poddisruptionbudget_test.yaml
index 48b4fafcc..f215f3520 100644
--- a/charts/ingress-nginx/tests/controller-poddisruptionbudget_test.yaml
+++ b/charts/ingress-nginx/tests/controller-poddisruptionbudget_test.yaml
@@ -71,3 +71,19 @@ tests:
asserts:
- hasDocuments:
count: 0
+
+ - it: should create a PodDisruptionBudget without `minAvailable` and with `maxUnavailable` if `controller.minAvailable` and `controller.maxUnavailable` are set
+ set:
+ controller.replicaCount: 2
+ controller.minAvailable: 1
+ controller.maxUnavailable: 1
+ asserts:
+ - hasDocuments:
+ count: 1
+ - isKind:
+ of: PodDisruptionBudget
+ - notExists:
+ path: spec.minAvailable
+ - equal:
+ path: spec.maxUnavailable
+ value: 1
From e191dd729c1fbee196ce3369d6a0802966d47833 Mon Sep 17 00:00:00 2001
From: Marco Ebert
Date: Mon, 23 Sep 2024 10:46:38 +0200
Subject: [PATCH 228/265] Docs: Convert `opentelemetry.md` from CRLF to LF.
(#12007)
---
.../third-party-addons/opentelemetry.md | 628 +++++++++---------
1 file changed, 314 insertions(+), 314 deletions(-)
diff --git a/docs/user-guide/third-party-addons/opentelemetry.md b/docs/user-guide/third-party-addons/opentelemetry.md
index d2cf56bf5..af7fd2b14 100644
--- a/docs/user-guide/third-party-addons/opentelemetry.md
+++ b/docs/user-guide/third-party-addons/opentelemetry.md
@@ -1,314 +1,314 @@
-# OpenTelemetry
-
-Enables requests served by NGINX for distributed telemetry via The OpenTelemetry Project.
-
-Using the third party module [opentelemetry-cpp-contrib/nginx](https://github.com/open-telemetry/opentelemetry-cpp-contrib/tree/main/instrumentation/nginx) the Ingress-Nginx Controller can configure NGINX to enable [OpenTelemetry](http://opentelemetry.io) instrumentation.
-By default this feature is disabled.
-
-Check out this demo showcasing OpenTelemetry in Ingress NGINX. The video provides an overview and
-practical demonstration of how OpenTelemetry can be utilized in Ingress NGINX for observability
-and monitoring purposes.
-
-
-
-
-
-
-
-Demo: OpenTelemetry in Ingress NGINX.
-
-## Usage
-
-To enable the instrumentation we must enable OpenTelemetry in the configuration ConfigMap:
-```yaml
-data:
- enable-opentelemetry: "true"
-```
-
-To enable or disable instrumentation for a single Ingress, use
-the `enable-opentelemetry` annotation:
-```yaml
-kind: Ingress
-metadata:
- annotations:
- nginx.ingress.kubernetes.io/enable-opentelemetry: "true"
-```
-
-We must also set the host to use when uploading traces:
-
-```yaml
-otlp-collector-host: "otel-coll-collector.otel.svc"
-```
-NOTE: While the option is called `otlp-collector-host`, you will need to point this to any backend that receives otlp-grpc.
-
-Next you will need to deploy a distributed telemetry system which uses OpenTelemetry.
-[opentelemetry-collector](https://github.com/open-telemetry/opentelemetry-collector), [Jaeger](https://www.jaegertracing.io/)
-[Tempo](https://github.com/grafana/tempo), and [zipkin](https://zipkin.io/)
-have been tested.
-
-Other optional configuration options:
-```yaml
-# specifies the name to use for the server span
-opentelemetry-operation-name
-
-# sets whether or not to trust incoming telemetry spans
-opentelemetry-trust-incoming-span
-
-# specifies the port to use when uploading traces, Default: 4317
-otlp-collector-port
-
-# specifies the service name to use for any traces created, Default: nginx
-otel-service-name
-
-# The maximum queue size. After the size is reached data are dropped.
-otel-max-queuesize
-
-# The delay interval in milliseconds between two consecutive exports.
-otel-schedule-delay-millis
-
-# How long the export can run before it is cancelled.
-otel-schedule-delay-millis
-
-# The maximum batch size of every export. It must be smaller or equal to maxQueueSize.
-otel-max-export-batch-size
-
-# specifies sample rate for any traces created, Default: 0.01
-otel-sampler-ratio
-
-# specifies the sampler to be used when sampling traces.
-# The available samplers are: AlwaysOn, AlwaysOff, TraceIdRatioBased, Default: AlwaysOff
-otel-sampler
-
-# Uses sampler implementation which by default will take a sample if parent Activity is sampled, Default: false
-otel-sampler-parent-based
-```
-
-Note that you can also set whether to trust incoming spans (global default is true) per-location using annotations like the following:
-```yaml
-kind: Ingress
-metadata:
- annotations:
- nginx.ingress.kubernetes.io/opentelemetry-trust-incoming-span: "true"
-```
-
-## Examples
-
-The following examples show how to deploy and test different distributed telemetry systems. These example can be performed using Docker Desktop.
-
-In the [esigo/nginx-example](https://github.com/esigo/nginx-example)
-GitHub repository is an example of a simple hello service:
-
-```mermaid
-graph TB
- subgraph Browser
- start["http://esigo.dev/hello/nginx"]
- end
-
- subgraph app
- sa[service-a]
- sb[service-b]
- sa --> |name: nginx| sb
- sb --> |hello nginx!| sa
- end
-
- subgraph otel
- otc["Otel Collector"]
- end
-
- subgraph observability
- tempo["Tempo"]
- grafana["Grafana"]
- backend["Jaeger"]
- zipkin["Zipkin"]
- end
-
- subgraph ingress-nginx
- ngx[nginx]
- end
-
- subgraph ngx[nginx]
- ng[nginx]
- om[OpenTelemetry module]
- end
-
- subgraph Node
- app
- otel
- observability
- ingress-nginx
- om --> |otlp-gRPC| otc --> |jaeger| backend
- otc --> |zipkin| zipkin
- otc --> |otlp-gRPC| tempo --> grafana
- sa --> |otlp-gRPC| otc
- sb --> |otlp-gRPC| otc
- start --> ng --> sa
- end
-```
-
-To install the example and collectors run:
-
-1. Enable Ingress addon with:
-
- ```yaml
- opentelemetry:
- enabled: true
- image: registry.k8s.io/ingress-nginx/opentelemetry-1.25.3:v20240813-b933310d@sha256:f7604ac0547ed64d79b98d92133234e66c2c8aade3c1f4809fed5eec1fb7f922
- containerSecurityContext:
- allowPrivilegeEscalation: false
- ```
-
-2. Enable OpenTelemetry and set the otlp-collector-host:
-
- ```yaml
- $ echo '
- apiVersion: v1
- kind: ConfigMap
- data:
- enable-opentelemetry: "true"
- opentelemetry-config: "/etc/nginx/opentelemetry.toml"
- opentelemetry-operation-name: "HTTP $request_method $service_name $uri"
- opentelemetry-trust-incoming-span: "true"
- otlp-collector-host: "otel-coll-collector.otel.svc"
- otlp-collector-port: "4317"
- otel-max-queuesize: "2048"
- otel-schedule-delay-millis: "5000"
- otel-max-export-batch-size: "512"
- otel-service-name: "nginx-proxy" # Opentelemetry resource name
- otel-sampler: "AlwaysOn" # Also: AlwaysOff, TraceIdRatioBased
- otel-sampler-ratio: "1.0"
- otel-sampler-parent-based: "false"
- metadata:
- name: ingress-nginx-controller
- namespace: ingress-nginx
- ' | kubectl replace -f -
- ```
-
-4. Deploy otel-collector, grafana and Jaeger backend:
-
- ```bash
- # add helm charts needed for grafana and OpenTelemetry collector
- helm repo add open-telemetry https://open-telemetry.github.io/opentelemetry-helm-charts
- helm repo add grafana https://grafana.github.io/helm-charts
- helm repo update
- # deploy cert-manager needed for OpenTelemetry collector operator
- kubectl apply -f https://github.com/cert-manager/cert-manager/releases/download/v1.9.1/cert-manager.yaml
- # create observability namespace
- kubectl apply -f https://raw.githubusercontent.com/esigo/nginx-example/main/observability/namespace.yaml
- # install OpenTelemetry collector operator
- helm upgrade --install otel-collector-operator -n otel --create-namespace open-telemetry/opentelemetry-operator
- # deploy OpenTelemetry collector
- kubectl apply -f https://raw.githubusercontent.com/esigo/nginx-example/main/observability/collector.yaml
- # deploy Jaeger all-in-one
- kubectl apply -f https://github.com/jaegertracing/jaeger-operator/releases/download/v1.37.0/jaeger-operator.yaml -n observability
- kubectl apply -f https://raw.githubusercontent.com/esigo/nginx-example/main/observability/jaeger.yaml -n observability
- # deploy zipkin
- kubectl apply -f https://raw.githubusercontent.com/esigo/nginx-example/main/observability/zipkin.yaml -n observability
- # deploy tempo and grafana
- helm upgrade --install tempo grafana/tempo --create-namespace -n observability
- helm upgrade -f https://raw.githubusercontent.com/esigo/nginx-example/main/observability/grafana/grafana-values.yaml --install grafana grafana/grafana --create-namespace -n observability
- ```
-
-3. Build and deploy demo app:
-
- ```bash
- # build images
- make images
-
- # deploy demo app:
- make deploy-app
- ```
-
-5. Make a few requests to the Service:
-
- ```bash
- kubectl port-forward --namespace=ingress-nginx service/ingress-nginx-controller 8090:80
- curl http://esigo.dev:8090/hello/nginx
-
-
- StatusCode : 200
- StatusDescription : OK
- Content : {"v":"hello nginx!"}
-
- RawContent : HTTP/1.1 200 OK
- Connection: keep-alive
- Content-Length: 21
- Content-Type: text/plain; charset=utf-8
- Date: Mon, 10 Oct 2022 17:43:33 GMT
-
- {"v":"hello nginx!"}
-
- Forms : {}
- Headers : {[Connection, keep-alive], [Content-Length, 21], [Content-Type, text/plain; charset=utf-8], [Date,
- Mon, 10 Oct 2022 17:43:33 GMT]}
- Images : {}
- InputFields : {}
- Links : {}
- ParsedHtml : System.__ComObject
- RawContentLength : 21
- ```
-
-6. View the Grafana UI:
-
- ```bash
- kubectl port-forward --namespace=observability service/grafana 3000:80
- ```
- In the Grafana interface we can see the details:
- 
-
-7. View the Jaeger UI:
-
- ```bash
- kubectl port-forward --namespace=observability service/jaeger-all-in-one-query 16686:16686
- ```
- In the Jaeger interface we can see the details:
- 
-
-8. View the Zipkin UI:
-
- ```bash
- kubectl port-forward --namespace=observability service/zipkin 9411:9411
- ```
- In the Zipkin interface we can see the details:
- 
-
-## Migration from OpenTracing, Jaeger, Zipkin and Datadog
-
-If you are migrating from OpenTracing, Jaeger, Zipkin, or Datadog to OpenTelemetry,
-you may need to update various annotations and configurations. Here are the mappings
-for common annotations and configurations:
-
-### Annotations
-
-| Legacy | OpenTelemetry |
-|---------------------------------------------------------------|-----------------------------------------------------------------|
-| `nginx.ingress.kubernetes.io/enable-opentracing` | `nginx.ingress.kubernetes.io/enable-opentelemetry` |
-| `nginx.ingress.kubernetes.io/opentracing-trust-incoming-span` | `nginx.ingress.kubernetes.io/opentelemetry-trust-incoming-span` |
-
-### Configs
-
-| Legacy | OpenTelemetry |
-|---------------------------------------|----------------------------------------------|
-| `opentracing-operation-name` | `opentelemetry-operation-name` |
-| `opentracing-location-operation-name` | `opentelemetry-operation-name` |
-| `opentracing-trust-incoming-span` | `opentelemetry-trust-incoming-span` |
-| `zipkin-collector-port` | `otlp-collector-port` |
-| `zipkin-service-name` | `otel-service-name` |
-| `zipkin-sample-rate` | `otel-sampler-ratio` |
-| `jaeger-collector-port` | `otlp-collector-port` |
-| `jaeger-endpoint` | `otlp-collector-port`, `otlp-collector-host` |
-| `jaeger-service-name` | `otel-service-name` |
-| `jaeger-propagation-format` | `N/A` |
-| `jaeger-sampler-type` | `otel-sampler` |
-| `jaeger-sampler-param` | `otel-sampler` |
-| `jaeger-sampler-host` | `N/A` |
-| `jaeger-sampler-port` | `N/A` |
-| `jaeger-trace-context-header-name` | `N/A` |
-| `jaeger-debug-header` | `N/A` |
-| `jaeger-baggage-header` | `N/A` |
-| `jaeger-tracer-baggage-header-prefix` | `N/A` |
-| `datadog-collector-port` | `otlp-collector-port` |
-| `datadog-service-name` | `otel-service-name` |
-| `datadog-environment` | `N/A` |
-| `datadog-operation-name-override` | `N/A` |
-| `datadog-priority-sampling` | `otel-sampler` |
-| `datadog-sample-rate` | `otel-sampler-ratio` |
+# OpenTelemetry
+
+Enables requests served by NGINX for distributed telemetry via The OpenTelemetry Project.
+
+Using the third party module [opentelemetry-cpp-contrib/nginx](https://github.com/open-telemetry/opentelemetry-cpp-contrib/tree/main/instrumentation/nginx) the Ingress-Nginx Controller can configure NGINX to enable [OpenTelemetry](http://opentelemetry.io) instrumentation.
+By default this feature is disabled.
+
+Check out this demo showcasing OpenTelemetry in Ingress NGINX. The video provides an overview and
+practical demonstration of how OpenTelemetry can be utilized in Ingress NGINX for observability
+and monitoring purposes.
+
+
+
+
+
+
+
+Demo: OpenTelemetry in Ingress NGINX.
+
+## Usage
+
+To enable the instrumentation we must enable OpenTelemetry in the configuration ConfigMap:
+```yaml
+data:
+ enable-opentelemetry: "true"
+```
+
+To enable or disable instrumentation for a single Ingress, use
+the `enable-opentelemetry` annotation:
+```yaml
+kind: Ingress
+metadata:
+ annotations:
+ nginx.ingress.kubernetes.io/enable-opentelemetry: "true"
+```
+
+We must also set the host to use when uploading traces:
+
+```yaml
+otlp-collector-host: "otel-coll-collector.otel.svc"
+```
+NOTE: While the option is called `otlp-collector-host`, you will need to point this to any backend that receives otlp-grpc.
+
+Next you will need to deploy a distributed telemetry system which uses OpenTelemetry.
+[opentelemetry-collector](https://github.com/open-telemetry/opentelemetry-collector), [Jaeger](https://www.jaegertracing.io/)
+[Tempo](https://github.com/grafana/tempo), and [zipkin](https://zipkin.io/)
+have been tested.
+
+Other optional configuration options:
+```yaml
+# specifies the name to use for the server span
+opentelemetry-operation-name
+
+# sets whether or not to trust incoming telemetry spans
+opentelemetry-trust-incoming-span
+
+# specifies the port to use when uploading traces, Default: 4317
+otlp-collector-port
+
+# specifies the service name to use for any traces created, Default: nginx
+otel-service-name
+
+# The maximum queue size. After the size is reached data are dropped.
+otel-max-queuesize
+
+# The delay interval in milliseconds between two consecutive exports.
+otel-schedule-delay-millis
+
+# How long the export can run before it is cancelled.
+otel-schedule-delay-millis
+
+# The maximum batch size of every export. It must be smaller or equal to maxQueueSize.
+otel-max-export-batch-size
+
+# specifies sample rate for any traces created, Default: 0.01
+otel-sampler-ratio
+
+# specifies the sampler to be used when sampling traces.
+# The available samplers are: AlwaysOn, AlwaysOff, TraceIdRatioBased, Default: AlwaysOff
+otel-sampler
+
+# Uses sampler implementation which by default will take a sample if parent Activity is sampled, Default: false
+otel-sampler-parent-based
+```
+
+Note that you can also set whether to trust incoming spans (global default is true) per-location using annotations like the following:
+```yaml
+kind: Ingress
+metadata:
+ annotations:
+ nginx.ingress.kubernetes.io/opentelemetry-trust-incoming-span: "true"
+```
+
+## Examples
+
+The following examples show how to deploy and test different distributed telemetry systems. These example can be performed using Docker Desktop.
+
+In the [esigo/nginx-example](https://github.com/esigo/nginx-example)
+GitHub repository is an example of a simple hello service:
+
+```mermaid
+graph TB
+ subgraph Browser
+ start["http://esigo.dev/hello/nginx"]
+ end
+
+ subgraph app
+ sa[service-a]
+ sb[service-b]
+ sa --> |name: nginx| sb
+ sb --> |hello nginx!| sa
+ end
+
+ subgraph otel
+ otc["Otel Collector"]
+ end
+
+ subgraph observability
+ tempo["Tempo"]
+ grafana["Grafana"]
+ backend["Jaeger"]
+ zipkin["Zipkin"]
+ end
+
+ subgraph ingress-nginx
+ ngx[nginx]
+ end
+
+ subgraph ngx[nginx]
+ ng[nginx]
+ om[OpenTelemetry module]
+ end
+
+ subgraph Node
+ app
+ otel
+ observability
+ ingress-nginx
+ om --> |otlp-gRPC| otc --> |jaeger| backend
+ otc --> |zipkin| zipkin
+ otc --> |otlp-gRPC| tempo --> grafana
+ sa --> |otlp-gRPC| otc
+ sb --> |otlp-gRPC| otc
+ start --> ng --> sa
+ end
+```
+
+To install the example and collectors run:
+
+1. Enable Ingress addon with:
+
+ ```yaml
+ opentelemetry:
+ enabled: true
+ image: registry.k8s.io/ingress-nginx/opentelemetry-1.25.3:v20240813-b933310d@sha256:f7604ac0547ed64d79b98d92133234e66c2c8aade3c1f4809fed5eec1fb7f922
+ containerSecurityContext:
+ allowPrivilegeEscalation: false
+ ```
+
+2. Enable OpenTelemetry and set the otlp-collector-host:
+
+ ```yaml
+ $ echo '
+ apiVersion: v1
+ kind: ConfigMap
+ data:
+ enable-opentelemetry: "true"
+ opentelemetry-config: "/etc/nginx/opentelemetry.toml"
+ opentelemetry-operation-name: "HTTP $request_method $service_name $uri"
+ opentelemetry-trust-incoming-span: "true"
+ otlp-collector-host: "otel-coll-collector.otel.svc"
+ otlp-collector-port: "4317"
+ otel-max-queuesize: "2048"
+ otel-schedule-delay-millis: "5000"
+ otel-max-export-batch-size: "512"
+ otel-service-name: "nginx-proxy" # Opentelemetry resource name
+ otel-sampler: "AlwaysOn" # Also: AlwaysOff, TraceIdRatioBased
+ otel-sampler-ratio: "1.0"
+ otel-sampler-parent-based: "false"
+ metadata:
+ name: ingress-nginx-controller
+ namespace: ingress-nginx
+ ' | kubectl replace -f -
+ ```
+
+4. Deploy otel-collector, grafana and Jaeger backend:
+
+ ```bash
+ # add helm charts needed for grafana and OpenTelemetry collector
+ helm repo add open-telemetry https://open-telemetry.github.io/opentelemetry-helm-charts
+ helm repo add grafana https://grafana.github.io/helm-charts
+ helm repo update
+ # deploy cert-manager needed for OpenTelemetry collector operator
+ kubectl apply -f https://github.com/cert-manager/cert-manager/releases/download/v1.9.1/cert-manager.yaml
+ # create observability namespace
+ kubectl apply -f https://raw.githubusercontent.com/esigo/nginx-example/main/observability/namespace.yaml
+ # install OpenTelemetry collector operator
+ helm upgrade --install otel-collector-operator -n otel --create-namespace open-telemetry/opentelemetry-operator
+ # deploy OpenTelemetry collector
+ kubectl apply -f https://raw.githubusercontent.com/esigo/nginx-example/main/observability/collector.yaml
+ # deploy Jaeger all-in-one
+ kubectl apply -f https://github.com/jaegertracing/jaeger-operator/releases/download/v1.37.0/jaeger-operator.yaml -n observability
+ kubectl apply -f https://raw.githubusercontent.com/esigo/nginx-example/main/observability/jaeger.yaml -n observability
+ # deploy zipkin
+ kubectl apply -f https://raw.githubusercontent.com/esigo/nginx-example/main/observability/zipkin.yaml -n observability
+ # deploy tempo and grafana
+ helm upgrade --install tempo grafana/tempo --create-namespace -n observability
+ helm upgrade -f https://raw.githubusercontent.com/esigo/nginx-example/main/observability/grafana/grafana-values.yaml --install grafana grafana/grafana --create-namespace -n observability
+ ```
+
+3. Build and deploy demo app:
+
+ ```bash
+ # build images
+ make images
+
+ # deploy demo app:
+ make deploy-app
+ ```
+
+5. Make a few requests to the Service:
+
+ ```bash
+ kubectl port-forward --namespace=ingress-nginx service/ingress-nginx-controller 8090:80
+ curl http://esigo.dev:8090/hello/nginx
+
+
+ StatusCode : 200
+ StatusDescription : OK
+ Content : {"v":"hello nginx!"}
+
+ RawContent : HTTP/1.1 200 OK
+ Connection: keep-alive
+ Content-Length: 21
+ Content-Type: text/plain; charset=utf-8
+ Date: Mon, 10 Oct 2022 17:43:33 GMT
+
+ {"v":"hello nginx!"}
+
+ Forms : {}
+ Headers : {[Connection, keep-alive], [Content-Length, 21], [Content-Type, text/plain; charset=utf-8], [Date,
+ Mon, 10 Oct 2022 17:43:33 GMT]}
+ Images : {}
+ InputFields : {}
+ Links : {}
+ ParsedHtml : System.__ComObject
+ RawContentLength : 21
+ ```
+
+6. View the Grafana UI:
+
+ ```bash
+ kubectl port-forward --namespace=observability service/grafana 3000:80
+ ```
+ In the Grafana interface we can see the details:
+ 
+
+7. View the Jaeger UI:
+
+ ```bash
+ kubectl port-forward --namespace=observability service/jaeger-all-in-one-query 16686:16686
+ ```
+ In the Jaeger interface we can see the details:
+ 
+
+8. View the Zipkin UI:
+
+ ```bash
+ kubectl port-forward --namespace=observability service/zipkin 9411:9411
+ ```
+ In the Zipkin interface we can see the details:
+ 
+
+## Migration from OpenTracing, Jaeger, Zipkin and Datadog
+
+If you are migrating from OpenTracing, Jaeger, Zipkin, or Datadog to OpenTelemetry,
+you may need to update various annotations and configurations. Here are the mappings
+for common annotations and configurations:
+
+### Annotations
+
+| Legacy | OpenTelemetry |
+|---------------------------------------------------------------|-----------------------------------------------------------------|
+| `nginx.ingress.kubernetes.io/enable-opentracing` | `nginx.ingress.kubernetes.io/enable-opentelemetry` |
+| `nginx.ingress.kubernetes.io/opentracing-trust-incoming-span` | `nginx.ingress.kubernetes.io/opentelemetry-trust-incoming-span` |
+
+### Configs
+
+| Legacy | OpenTelemetry |
+|---------------------------------------|----------------------------------------------|
+| `opentracing-operation-name` | `opentelemetry-operation-name` |
+| `opentracing-location-operation-name` | `opentelemetry-operation-name` |
+| `opentracing-trust-incoming-span` | `opentelemetry-trust-incoming-span` |
+| `zipkin-collector-port` | `otlp-collector-port` |
+| `zipkin-service-name` | `otel-service-name` |
+| `zipkin-sample-rate` | `otel-sampler-ratio` |
+| `jaeger-collector-port` | `otlp-collector-port` |
+| `jaeger-endpoint` | `otlp-collector-port`, `otlp-collector-host` |
+| `jaeger-service-name` | `otel-service-name` |
+| `jaeger-propagation-format` | `N/A` |
+| `jaeger-sampler-type` | `otel-sampler` |
+| `jaeger-sampler-param` | `otel-sampler` |
+| `jaeger-sampler-host` | `N/A` |
+| `jaeger-sampler-port` | `N/A` |
+| `jaeger-trace-context-header-name` | `N/A` |
+| `jaeger-debug-header` | `N/A` |
+| `jaeger-baggage-header` | `N/A` |
+| `jaeger-tracer-baggage-header-prefix` | `N/A` |
+| `datadog-collector-port` | `otlp-collector-port` |
+| `datadog-service-name` | `otel-service-name` |
+| `datadog-environment` | `N/A` |
+| `datadog-operation-name-override` | `N/A` |
+| `datadog-priority-sampling` | `otel-sampler` |
+| `datadog-sample-rate` | `otel-sampler-ratio` |
From ca0b309379661d18fd5001e1b7c7b54db57066c4 Mon Sep 17 00:00:00 2001
From: k8s-infra-cherrypick-robot
<90416843+k8s-infra-cherrypick-robot@users.noreply.github.com>
Date: Mon, 23 Sep 2024 05:16:03 -0700
Subject: [PATCH 229/265] Bump github.com/prometheus/client_golang from 1.20.3
to 1.20.4 in the all group (#12011)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
---
go.mod | 2 +-
go.sum | 4 ++--
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/go.mod b/go.mod
index dfd3e4751..42fd2dc3d 100644
--- a/go.mod
+++ b/go.mod
@@ -17,7 +17,7 @@ require (
github.com/onsi/ginkgo/v2 v2.20.2
github.com/opencontainers/runc v1.1.14
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2
- github.com/prometheus/client_golang v1.20.3
+ github.com/prometheus/client_golang v1.20.4
github.com/prometheus/client_model v0.6.1
github.com/prometheus/common v0.59.1
github.com/spf13/cobra v1.8.1
diff --git a/go.sum b/go.sum
index f1f4748bd..029ca4b97 100644
--- a/go.sum
+++ b/go.sum
@@ -180,8 +180,8 @@ github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINE
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
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.3 h1:oPksm4K8B+Vt35tUhw6GbSNSgVlVSBH0qELP/7u83l4=
-github.com/prometheus/client_golang v1.20.3/go.mod h1:PIEt8X02hGcP8JWbeHyeZ53Y/jReSnHgO035n//V5WE=
+github.com/prometheus/client_golang v1.20.4 h1:Tgh3Yr67PaOv/uTqloMsCEdeuFTatm5zIq5+qNN23vI=
+github.com/prometheus/client_golang v1.20.4/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.59.1 h1:LXb1quJHWm1P6wq/U824uxYi4Sg0oGvNeUm1z5dJoX0=
From dbfe7c4738aea1011e6b444e69bb91568975cc1a Mon Sep 17 00:00:00 2001
From: k8s-infra-cherrypick-robot
<90416843+k8s-infra-cherrypick-robot@users.noreply.github.com>
Date: Mon, 23 Sep 2024 05:16:21 -0700
Subject: [PATCH 230/265] Bump google.golang.org/grpc from 1.66.2 to 1.67.0
(#12013)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
---
go.mod | 4 ++--
go.sum | 8 ++++----
2 files changed, 6 insertions(+), 6 deletions(-)
diff --git a/go.mod b/go.mod
index 42fd2dc3d..1f92bb98d 100644
--- a/go.mod
+++ b/go.mod
@@ -27,7 +27,7 @@ require (
github.com/zakjan/cert-chain-resolver v0.0.0-20221221105603-fcedb00c5b30
golang.org/x/crypto v0.27.0
golang.org/x/exp v0.0.0-20240719175910-8a7402abbf56
- google.golang.org/grpc v1.66.2
+ google.golang.org/grpc v1.67.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
@@ -121,7 +121,7 @@ require (
golang.org/x/text v0.18.0 // indirect
golang.org/x/time v0.5.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/genproto/googleapis/rpc v0.0.0-20240814211410-ddb44dafa142 // 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
diff --git a/go.sum b/go.sum
index 029ca4b97..bfd3f7fe8 100644
--- a/go.sum
+++ b/go.sum
@@ -297,10 +297,10 @@ golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8T
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/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.66.2 h1:3QdXkuq3Bkh7w+ywLdLvM56cmGvQHUMZpiCzt6Rqaoo=
-google.golang.org/grpc v1.66.2/go.mod h1:s3/l6xSSCURdVfAnL+TqCNMyTDAGN6+lZeVxnZR128Y=
+google.golang.org/genproto/googleapis/rpc v0.0.0-20240814211410-ddb44dafa142 h1:e7S5W7MGGLaSu8j3YjdezkZ+m1/Nm0uRVRMEMGk26Xs=
+google.golang.org/genproto/googleapis/rpc v0.0.0-20240814211410-ddb44dafa142/go.mod h1:UqMtugtsSgubUsoxbuAoiCXvqvErP7Gf0so0mK9tHxU=
+google.golang.org/grpc v1.67.0 h1:IdH9y6PF5MPSdAntIcpjQ+tXO41pcQsfZV2RxtQgVcw=
+google.golang.org/grpc v1.67.0/go.mod h1:1gLDyUQU7CTLJI90u3nXZ9ekeghjeM7pTDZlqFNg2AA=
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=
From 8a893c58a374cf4f23c6de87b3926a9dd21a53ea Mon Sep 17 00:00:00 2001
From: k8s-infra-cherrypick-robot
<90416843+k8s-infra-cherrypick-robot@users.noreply.github.com>
Date: Mon, 23 Sep 2024 05:16:31 -0700
Subject: [PATCH 231/265] Bump github/codeql-action from 3.26.7 to 3.26.8 in
the all group (#12015)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
---
.github/workflows/scorecards.yml | 2 +-
.github/workflows/vulnerability-scans.yaml | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/.github/workflows/scorecards.yml b/.github/workflows/scorecards.yml
index 4affccb2d..ad0317845 100644
--- a/.github/workflows/scorecards.yml
+++ b/.github/workflows/scorecards.yml
@@ -59,6 +59,6 @@ jobs:
# Upload the results to GitHub's code scanning dashboard.
- name: "Upload to code-scanning"
- uses: github/codeql-action/upload-sarif@8214744c546c1e5c8f03dde8fab3a7353211988d # v3.26.7
+ uses: github/codeql-action/upload-sarif@294a9d92911152fe08befb9ec03e240add280cb3 # v3.26.8
with:
sarif_file: results.sarif
diff --git a/.github/workflows/vulnerability-scans.yaml b/.github/workflows/vulnerability-scans.yaml
index bed49e46f..e35ee0a65 100644
--- a/.github/workflows/vulnerability-scans.yaml
+++ b/.github/workflows/vulnerability-scans.yaml
@@ -75,7 +75,7 @@ jobs:
# This step checks out a copy of your repository.
- name: Upload SARIF file
- uses: github/codeql-action/upload-sarif@8214744c546c1e5c8f03dde8fab3a7353211988d # v3.26.7
+ uses: github/codeql-action/upload-sarif@294a9d92911152fe08befb9ec03e240add280cb3 # v3.26.8
with:
token: ${{ github.token }}
# Path to SARIF file relative to the root of the repository
From d68a1abaca3572f75adc10ea75258cc4ada0b63d Mon Sep 17 00:00:00 2001
From: k8s-infra-cherrypick-robot
<90416843+k8s-infra-cherrypick-robot@users.noreply.github.com>
Date: Thu, 26 Sep 2024 04:04:01 -0700
Subject: [PATCH 232/265] Docs: Add health check annotations for AWS. (#12021)
Co-authored-by: longwuyuan
---
docs/deploy/index.md | 9 +++++++--
1 file changed, 7 insertions(+), 2 deletions(-)
diff --git a/docs/deploy/index.md b/docs/deploy/index.md
index 9847cdc00..ddbd2f97f 100644
--- a/docs/deploy/index.md
+++ b/docs/deploy/index.md
@@ -68,13 +68,18 @@ 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:
+ Examples of some annotations recommended (healthecheck ones are required for target-type IP) for the service resource of `--type LoadBalancer` on AWS are below:
```yaml
annotations:
+ service.beta.kubernetes.io/aws-load-balancer-target-group-attributes: deregistration_delay.timeout_seconds=270
+ service.beta.kubernetes.io/aws-load-balancer-nlb-target-type: ip
+ service.beta.kubernetes.io/aws-load-balancer-healthcheck-path: /healthz
+ service.beta.kubernetes.io/aws-load-balancer-healthcheck-port: "10254"
+ service.beta.kubernetes.io/aws-load-balancer-healthcheck-protocol: http
+ service.beta.kubernetes.io/aws-load-balancer-healthcheck-success-codes: 200-299
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"
From c954339710c1a91f9a977e113518f7bae54ee542 Mon Sep 17 00:00:00 2001
From: Marco Ebert
Date: Sat, 28 Sep 2024 13:14:33 +0200
Subject: [PATCH 233/265] Chart: Extend image tests. (#12026)
---
.../tests/controller-daemonset_test.yaml | 28 ++++++++++++++--
.../tests/controller-deployment_test.yaml | 26 +++++++++++++--
.../default-backend-deployment_test.yaml | 32 +++++++++++++++++++
3 files changed, 80 insertions(+), 6 deletions(-)
diff --git a/charts/ingress-nginx/tests/controller-daemonset_test.yaml b/charts/ingress-nginx/tests/controller-daemonset_test.yaml
index 454ff8e3a..1eb26705d 100644
--- a/charts/ingress-nginx/tests/controller-daemonset_test.yaml
+++ b/charts/ingress-nginx/tests/controller-daemonset_test.yaml
@@ -96,12 +96,34 @@ tests:
maxSkew: 1
whenUnsatisfiable: ScheduleAnyway
- - it: should create a DaemonSet with a custom tag if `controller.image.tag` is set
+ - it: should create a DaemonSet with a custom registry if `controller.image.registry` is set
set:
controller.kind: DaemonSet
- controller.image.tag: my-little-custom-tag
+ controller.image.registry: custom.registry.io
+ controller.image.tag: v1.0.0-dev
controller.image.digest: sha256:faa2d18687f734994b6bd9e309e7a73852a81c30e1b8f63165fcd4f0a087e3cd
asserts:
- equal:
path: spec.template.spec.containers[0].image
- value: registry.k8s.io/ingress-nginx/controller:my-little-custom-tag@sha256:faa2d18687f734994b6bd9e309e7a73852a81c30e1b8f63165fcd4f0a087e3cd
+ value: custom.registry.io/ingress-nginx/controller:v1.0.0-dev@sha256:faa2d18687f734994b6bd9e309e7a73852a81c30e1b8f63165fcd4f0a087e3cd
+
+ - it: should create a DaemonSet with a custom image if `controller.image.image` is set
+ set:
+ controller.kind: DaemonSet
+ controller.image.image: custom-repo/custom-image
+ controller.image.tag: v1.0.0-dev
+ controller.image.digest: sha256:faa2d18687f734994b6bd9e309e7a73852a81c30e1b8f63165fcd4f0a087e3cd
+ asserts:
+ - equal:
+ path: spec.template.spec.containers[0].image
+ value: registry.k8s.io/custom-repo/custom-image:v1.0.0-dev@sha256:faa2d18687f734994b6bd9e309e7a73852a81c30e1b8f63165fcd4f0a087e3cd
+
+ - it: should create a DaemonSet with a custom tag if `controller.image.tag` is set
+ set:
+ controller.kind: DaemonSet
+ controller.image.tag: custom-tag
+ controller.image.digest: sha256:faa2d18687f734994b6bd9e309e7a73852a81c30e1b8f63165fcd4f0a087e3cd
+ asserts:
+ - equal:
+ path: spec.template.spec.containers[0].image
+ value: registry.k8s.io/ingress-nginx/controller:custom-tag@sha256:faa2d18687f734994b6bd9e309e7a73852a81c30e1b8f63165fcd4f0a087e3cd
diff --git a/charts/ingress-nginx/tests/controller-deployment_test.yaml b/charts/ingress-nginx/tests/controller-deployment_test.yaml
index 8d786d113..af4471201 100644
--- a/charts/ingress-nginx/tests/controller-deployment_test.yaml
+++ b/charts/ingress-nginx/tests/controller-deployment_test.yaml
@@ -119,11 +119,31 @@ tests:
maxSkew: 1
whenUnsatisfiable: ScheduleAnyway
- - it: should create a Deployment with a custom tag if `controller.image.tag` is set
+ - it: should create a Deployment with a custom registry if `controller.image.registry` is set
set:
- controller.image.tag: my-little-custom-tag
+ controller.image.registry: custom.registry.io
+ controller.image.tag: v1.0.0-dev
controller.image.digest: sha256:faa2d18687f734994b6bd9e309e7a73852a81c30e1b8f63165fcd4f0a087e3cd
asserts:
- equal:
path: spec.template.spec.containers[0].image
- value: registry.k8s.io/ingress-nginx/controller:my-little-custom-tag@sha256:faa2d18687f734994b6bd9e309e7a73852a81c30e1b8f63165fcd4f0a087e3cd
+ value: custom.registry.io/ingress-nginx/controller:v1.0.0-dev@sha256:faa2d18687f734994b6bd9e309e7a73852a81c30e1b8f63165fcd4f0a087e3cd
+
+ - it: should create a Deployment with a custom image if `controller.image.image` is set
+ set:
+ controller.image.image: custom-repo/custom-image
+ controller.image.tag: v1.0.0-dev
+ controller.image.digest: sha256:faa2d18687f734994b6bd9e309e7a73852a81c30e1b8f63165fcd4f0a087e3cd
+ asserts:
+ - equal:
+ path: spec.template.spec.containers[0].image
+ value: registry.k8s.io/custom-repo/custom-image:v1.0.0-dev@sha256:faa2d18687f734994b6bd9e309e7a73852a81c30e1b8f63165fcd4f0a087e3cd
+
+ - it: should create a Deployment with a custom tag if `controller.image.tag` is set
+ set:
+ controller.image.tag: custom-tag
+ controller.image.digest: sha256:faa2d18687f734994b6bd9e309e7a73852a81c30e1b8f63165fcd4f0a087e3cd
+ asserts:
+ - equal:
+ path: spec.template.spec.containers[0].image
+ value: registry.k8s.io/ingress-nginx/controller:custom-tag@sha256:faa2d18687f734994b6bd9e309e7a73852a81c30e1b8f63165fcd4f0a087e3cd
diff --git a/charts/ingress-nginx/tests/default-backend-deployment_test.yaml b/charts/ingress-nginx/tests/default-backend-deployment_test.yaml
index 0593cfb55..a602a4889 100644
--- a/charts/ingress-nginx/tests/default-backend-deployment_test.yaml
+++ b/charts/ingress-nginx/tests/default-backend-deployment_test.yaml
@@ -51,3 +51,35 @@ tests:
- equal:
path: spec.template.spec.containers[0].resources.limits.memory
value: 512Mi
+
+ - it: should create a Deployment with a custom registry if `defaultBackend.image.registry` is set
+ set:
+ defaultBackend.enabled: true
+ defaultBackend.image.registry: custom.registry.io
+ defaultBackend.image.tag: v1.0.0-dev
+ defaultBackend.image.digest: sha256:faa2d18687f734994b6bd9e309e7a73852a81c30e1b8f63165fcd4f0a087e3cd
+ asserts:
+ - equal:
+ path: spec.template.spec.containers[0].image
+ value: custom.registry.io/defaultbackend-amd64:v1.0.0-dev@sha256:faa2d18687f734994b6bd9e309e7a73852a81c30e1b8f63165fcd4f0a087e3cd
+
+ - it: should create a Deployment with a custom image if `defaultBackend.image.image` is set
+ set:
+ defaultBackend.enabled: true
+ defaultBackend.image.image: custom-repo/custom-image
+ defaultBackend.image.tag: v1.0.0-dev
+ defaultBackend.image.digest: sha256:faa2d18687f734994b6bd9e309e7a73852a81c30e1b8f63165fcd4f0a087e3cd
+ asserts:
+ - equal:
+ path: spec.template.spec.containers[0].image
+ value: registry.k8s.io/custom-repo/custom-image:v1.0.0-dev@sha256:faa2d18687f734994b6bd9e309e7a73852a81c30e1b8f63165fcd4f0a087e3cd
+
+ - it: should create a Deployment with a custom tag if `defaultBackend.image.tag` is set
+ set:
+ defaultBackend.enabled: true
+ defaultBackend.image.tag: custom-tag
+ defaultBackend.image.digest: sha256:faa2d18687f734994b6bd9e309e7a73852a81c30e1b8f63165fcd4f0a087e3cd
+ asserts:
+ - equal:
+ path: spec.template.spec.containers[0].image
+ value: registry.k8s.io/defaultbackend-amd64:custom-tag@sha256:faa2d18687f734994b6bd9e309e7a73852a81c30e1b8f63165fcd4f0a087e3cd
From bb594ab3f40916c78e1753c79669d376e2ff972e Mon Sep 17 00:00:00 2001
From: k8s-infra-cherrypick-robot
<90416843+k8s-infra-cherrypick-robot@users.noreply.github.com>
Date: Sat, 28 Sep 2024 07:38:02 -0700
Subject: [PATCH 234/265] Chart: Improve CI. (#12029)
Co-authored-by: Marco Ebert
---
.github/workflows/chart.yaml | 64 ++++++++++
.github/workflows/ci.yaml | 110 +++++++-----------
.github/workflows/helm.yaml | 88 --------------
.gitignore | 1 -
MANUAL_RELEASE.md | 11 +-
...mission-webhooks-cert-manager-values.yaml} | 8 +-
...ler-admission-tls-cert-manager-values.yaml | 6 -
...ontroller-configmap-addheaders-values.yaml | 11 ++
...troller-configmap-proxyheaders-values.yaml | 11 ++
....yaml => controller-configmap-values.yaml} | 9 +-
.../controller-custom-ingressclass-flags.yaml | 7 --
...roller-daemonset-extra-modules-values.yaml | 30 +++++
... controller-daemonset-metrics-values.yaml} | 9 +-
...oller-daemonset-opentelemetry-values.yaml} | 4 +
...ller-daemonset-podannotations-values.yaml} | 13 +--
....yaml => controller-daemonset-values.yaml} | 4 +-
...oller-deployment-extra-modules-values.yaml | 30 +++++
...controller-deployment-metrics-values.yaml} | 8 +-
...ller-deployment-opentelemetry-values.yaml} | 10 +-
...ler-deployment-podannotations-values.yaml} | 12 +-
.../ci/controller-deployment-values.yaml | 10 ++
...values.yaml => controller-hpa-values.yaml} | 12 +-
.../ci/controller-ingressclass-values.yaml | 15 +++
...> controller-service-internal-values.yaml} | 5 +-
...es.yaml => controller-service-values.yaml} | 10 +-
.../ci/daemonset-customconfig-values.yaml | 14 ---
.../ci/daemonset-customnodeport-values.yaml | 22 ----
.../ci/daemonset-extra-modules.yaml | 13 ---
.../ci/daemonset-headers-values.yaml | 14 ---
.../ci/daemonset-nodeport-values.yaml | 10 --
...set-tcp-udp-configMapNamespace-values.yaml | 20 ----
...emonset-tcp-udp-portNamePrefix-values.yaml | 18 ---
.../ci/daemonset-tcp-udp-values.yaml | 16 ---
.../ci/daemonset-tcp-values.yaml | 14 ---
.../ci/deamonset-metrics-values.yaml | 12 --
.../ci/deployment-autoscaling-values.yaml | 11 --
...modules-default-container-sec-context.yaml | 15 ---
...odules-specific-container-sec-context.yaml | 15 ---
.../ci/deployment-extra-modules.yaml | 13 ---
.../ci/deployment-headers-values.yaml | 13 ---
.../ci/deployment-internal-lb-values.yaml | 19 ---
.../ci/deployment-nodeport-values.yaml | 9 --
...ent-tcp-udp-configMapNamespace-values.yaml | 19 ---
...loyment-tcp-udp-portNamePrefix-values.yaml | 17 ---
.../ci/deployment-tcp-udp-values.yaml | 15 ---
.../ci/deployment-tcp-values.yaml | 11 --
.../deployment-webhook-extraEnvs-values.yaml | 12 --
.../deployment-webhook-resources-values.yaml | 23 ----
.../third-party-addons/opentelemetry.md | 2 +-
magefiles/steps/helm.go | 4 +-
test/e2e/run-chart-test.sh | 41 ++++---
51 files changed, 306 insertions(+), 584 deletions(-)
create mode 100644 .github/workflows/chart.yaml
delete mode 100644 .github/workflows/helm.yaml
rename charts/ingress-nginx/ci/{deamonset-default-values.yaml => admission-webhooks-cert-manager-values.yaml} (79%)
delete mode 100644 charts/ingress-nginx/ci/controller-admission-tls-cert-manager-values.yaml
create mode 100644 charts/ingress-nginx/ci/controller-configmap-addheaders-values.yaml
create mode 100644 charts/ingress-nginx/ci/controller-configmap-proxyheaders-values.yaml
rename charts/ingress-nginx/ci/{deployment-customconfig-values.yaml => controller-configmap-values.yaml} (70%)
delete mode 100644 charts/ingress-nginx/ci/controller-custom-ingressclass-flags.yaml
create mode 100644 charts/ingress-nginx/ci/controller-daemonset-extra-modules-values.yaml
rename charts/ingress-nginx/ci/{deamonset-webhook-values.yaml => controller-daemonset-metrics-values.yaml} (89%)
rename charts/ingress-nginx/ci/{deployment-opentelemetry-customregistry-values.yaml => controller-daemonset-opentelemetry-values.yaml} (88%)
rename charts/ingress-nginx/ci/{daemonset-podannotations-values.yaml => controller-daemonset-podannotations-values.yaml} (81%)
rename charts/ingress-nginx/ci/{deployment-default-values.yaml => controller-daemonset-values.yaml} (78%)
create mode 100644 charts/ingress-nginx/ci/controller-deployment-extra-modules-values.yaml
rename charts/ingress-nginx/ci/{deployment-webhook-values.yaml => controller-deployment-metrics-values.yaml} (82%)
rename charts/ingress-nginx/ci/{deployment-metrics-values.yaml => controller-deployment-opentelemetry-values.yaml} (74%)
rename charts/ingress-nginx/ci/{deployment-podannotations-values.yaml => controller-deployment-podannotations-values.yaml} (80%)
create mode 100644 charts/ingress-nginx/ci/controller-deployment-values.yaml
rename charts/ingress-nginx/ci/{deployment-autoscaling-behavior-values.yaml => controller-hpa-values.yaml} (71%)
create mode 100644 charts/ingress-nginx/ci/controller-ingressclass-values.yaml
rename charts/ingress-nginx/ci/{daemonset-internal-lb-values.yaml => controller-service-internal-values.yaml} (81%)
rename charts/ingress-nginx/ci/{deployment-customnodeport-values.yaml => controller-service-values.yaml} (69%)
delete mode 100644 charts/ingress-nginx/ci/daemonset-customconfig-values.yaml
delete mode 100644 charts/ingress-nginx/ci/daemonset-customnodeport-values.yaml
delete mode 100644 charts/ingress-nginx/ci/daemonset-extra-modules.yaml
delete mode 100644 charts/ingress-nginx/ci/daemonset-headers-values.yaml
delete mode 100644 charts/ingress-nginx/ci/daemonset-nodeport-values.yaml
delete mode 100644 charts/ingress-nginx/ci/daemonset-tcp-udp-configMapNamespace-values.yaml
delete mode 100644 charts/ingress-nginx/ci/daemonset-tcp-udp-portNamePrefix-values.yaml
delete mode 100644 charts/ingress-nginx/ci/daemonset-tcp-udp-values.yaml
delete mode 100644 charts/ingress-nginx/ci/daemonset-tcp-values.yaml
delete mode 100644 charts/ingress-nginx/ci/deamonset-metrics-values.yaml
delete mode 100644 charts/ingress-nginx/ci/deployment-autoscaling-values.yaml
delete mode 100644 charts/ingress-nginx/ci/deployment-extra-modules-default-container-sec-context.yaml
delete mode 100644 charts/ingress-nginx/ci/deployment-extra-modules-specific-container-sec-context.yaml
delete mode 100644 charts/ingress-nginx/ci/deployment-extra-modules.yaml
delete mode 100644 charts/ingress-nginx/ci/deployment-headers-values.yaml
delete mode 100644 charts/ingress-nginx/ci/deployment-internal-lb-values.yaml
delete mode 100644 charts/ingress-nginx/ci/deployment-nodeport-values.yaml
delete mode 100644 charts/ingress-nginx/ci/deployment-tcp-udp-configMapNamespace-values.yaml
delete mode 100644 charts/ingress-nginx/ci/deployment-tcp-udp-portNamePrefix-values.yaml
delete mode 100644 charts/ingress-nginx/ci/deployment-tcp-udp-values.yaml
delete mode 100644 charts/ingress-nginx/ci/deployment-tcp-values.yaml
delete mode 100644 charts/ingress-nginx/ci/deployment-webhook-extraEnvs-values.yaml
delete mode 100644 charts/ingress-nginx/ci/deployment-webhook-resources-values.yaml
diff --git a/.github/workflows/chart.yaml b/.github/workflows/chart.yaml
new file mode 100644
index 000000000..b99374a90
--- /dev/null
+++ b/.github/workflows/chart.yaml
@@ -0,0 +1,64 @@
+name: Chart
+
+on:
+ push:
+ branches:
+ - main
+ - release-*
+ paths:
+ - charts/ingress-nginx/Chart.yaml
+
+ workflow_dispatch:
+
+permissions:
+ contents: read
+
+jobs:
+ release:
+ name: Release
+ runs-on: ubuntu-latest
+
+ permissions:
+ contents: write
+
+ steps:
+ - name: Set up Python
+ uses: actions/setup-python@f677139bbe7f9c59b41e40162b753c062f5d49a3 # v5.2.0
+ with:
+ python-version: 3.x
+
+ - name: Set up Helm
+ uses: azure/setup-helm@fe7b79cd5ee1e45176fcad797de68ecaf3ca4814 # v4.2.0
+
+ - name: Set up Helm Chart Testing
+ uses: helm/chart-testing-action@e6669bcd63d7cb57cb4380c33043eebe5d111992 # v2.6.1
+
+ - name: Set up Artifact Hub
+ run: |
+ curl --fail --location https://github.com/artifacthub/hub/releases/download/v1.19.0/ah_1.19.0_linux_amd64.tar.gz --output /tmp/ah.tar.gz
+ echo "0e430493521ce387ca04d79b26646a86f92886dbcceb44985bb71082a9530ca5 /tmp/ah.tar.gz" | shasum --check
+ sudo tar --extract --file /tmp/ah.tar.gz --directory /usr/local/bin ah
+
+ - name: Set up Git
+ run: |
+ git config --global user.name "${GITHUB_ACTOR}"
+ git config --global user.email "${GITHUB_ACTOR}@users.noreply.github.com"
+
+ - name: Checkout code
+ uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
+ with:
+ fetch-depth: 0
+
+ - name: Lint chart
+ run: |
+ ct lint --config .ct.yaml
+ ah lint --path charts/ingress-nginx
+
+ - name: Release chart
+ uses: helm/chart-releaser-action@a917fd15b20e8b64b94d9158ad54cd6345335584 # v1.6.0
+ env:
+ CR_TOKEN: ${{ secrets.GITHUB_TOKEN }}
+ CR_RELEASE_NAME_TEMPLATE: helm-chart-{{ .Version }}
+ CR_SKIP_EXISTING: true
+ with:
+ charts_dir: charts
diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml
index 5a8e7a2da..2dafb7c1d 100644
--- a/.github/workflows/ci.yaml
+++ b/.github/workflows/ci.yaml
@@ -192,112 +192,88 @@ jobs:
path: docker.tar.gz
retention-days: 5
- helm-lint:
- name: Helm chart lint
+ chart-lint:
+ name: Chart / Lint
runs-on: ubuntu-latest
needs:
- changes
- if: |
- (needs.changes.outputs.charts == 'true') || (needs.changes.outputs.baseimage == 'true') || ${{ github.event.workflow_dispatch.run_e2e == 'true' }}
+
+ if: fromJSON(needs.changes.outputs.charts) || fromJSON(needs.changes.outputs.baseimage) || fromJSON(github.event.workflow_dispatch.run_e2e)
steps:
- - name: Checkout
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
+ - name: Set up Python
+ uses: actions/setup-python@f677139bbe7f9c59b41e40162b753c062f5d49a3 # v5.2.0
with:
- fetch-depth: 0
+ python-version: 3.x
- name: Set up Helm
uses: azure/setup-helm@fe7b79cd5ee1e45176fcad797de68ecaf3ca4814 # v4.2.0
- - uses: actions/setup-python@f677139bbe7f9c59b41e40162b753c062f5d49a3 # v5.2.0
- with:
- python-version: '3.x'
-
- - name: Set up chart-testing
+ - name: Set up Helm Chart Testing
uses: helm/chart-testing-action@e6669bcd63d7cb57cb4380c33043eebe5d111992 # v2.6.1
- - name: Install Helm Unit Test Plugin
+ - name: Set up Artifact Hub
run: |
- helm plugin install https://github.com/helm-unittest/helm-unittest
+ curl --fail --location https://github.com/artifacthub/hub/releases/download/v1.19.0/ah_1.19.0_linux_amd64.tar.gz --output /tmp/ah.tar.gz
+ echo "0e430493521ce387ca04d79b26646a86f92886dbcceb44985bb71082a9530ca5 /tmp/ah.tar.gz" | shasum --check
+ sudo tar --extract --file /tmp/ah.tar.gz --directory /usr/local/bin ah
- - name: Run Helm Unit Tests
+ - name: Set up Helm Docs
+ uses: gabe565/setup-helm-docs-action@d5c35bdc9133cfbea3b671acadf50a29029e87c2 # v1.0.4
+
+ - name: Set up Helm Unit Test
+ run: helm plugin install https://github.com/helm-unittest/helm-unittest
+
+ - name: Checkout code
+ uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
+ with:
+ fetch-depth: 0
+
+ - name: Lint chart
run: |
- helm unittest charts/ingress-nginx -d
+ ct lint --config .ct.yaml
+ ah lint --path charts/ingress-nginx
- - name: Run chart-testing (lint)
- run: ct lint --config ./.ct.yaml
-
- - name: Run helm-docs
+ - name: Check docs
run: |
- GOBIN=$PWD GO111MODULE=on go install github.com/norwoodj/helm-docs/cmd/helm-docs@v1.11.0
- ./helm-docs --chart-search-root=${GITHUB_WORKSPACE}/charts
- DIFF=$(git diff ${GITHUB_WORKSPACE}/charts/ingress-nginx/README.md)
- if [ ! -z "$DIFF" ]; then
- echo "Please use helm-docs in your clone, of your fork, of the project, and commit a updated README.md for the chart. https://github.com/kubernetes/ingress-nginx/blob/main/RELEASE.md#d-edit-the-valuesyaml-and-run-helm-docs"
- fi
- git diff --exit-code
- rm -f ./helm-docs
+ helm-docs --chart-search-root charts
+ git diff --exit-code charts/ingress-nginx/README.md
- - name: Run Artifact Hub lint
- run: |
- wget https://github.com/artifacthub/hub/releases/download/v1.5.0/ah_1.5.0_linux_amd64.tar.gz
- echo 'ad0e44c6ea058ab6b85dbf582e88bad9fdbc64ded0d1dd4edbac65133e5c87da *ah_1.5.0_linux_amd64.tar.gz' | shasum -c
- tar -xzvf ah_1.5.0_linux_amd64.tar.gz ah
- ./ah lint -p charts/ingress-nginx || exit 1
- rm -f ./ah ./ah_1.5.0_linux_amd64.tar.gz
+ - name: Run tests
+ run: helm unittest charts/ingress-nginx
- helm-test:
- name: Helm chart testing
+ chart-test:
+ name: Chart / Test
runs-on: ubuntu-latest
needs:
- changes
- build
- - helm-lint
- if: |
- (needs.changes.outputs.charts == 'true') || (needs.changes.outputs.baseimage == 'true') || ${{ github.event.workflow_dispatch.run_e2e == 'true' }}
+ - chart-lint
+
+ if: fromJSON(needs.changes.outputs.charts) || fromJSON(needs.changes.outputs.baseimage) || fromJSON(github.event.workflow_dispatch.run_e2e)
strategy:
matrix:
k8s: [v1.26.15, v1.27.13, v1.28.9, v1.29.4, v1.30.0]
steps:
- - name: Checkout
+ - name: Checkout code
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
- - name: Setup Go
- uses: actions/setup-go@0a12ed9d6a96ab950c8f026ed9f722fe0da7ef32 # v5.0.2
- with:
- go-version: ${{ needs.build.outputs.golangversion }}
- check-latest: true
-
- - name: cache
+ - name: Download cache
uses: actions/download-artifact@fa0a91b85d4f404e444e00e005971372dc801d16 # v4.1.8
with:
name: docker.tar.gz
- - name: fix permissions
- run: |
- sudo mkdir -p $HOME/.kube
- sudo chmod -R 777 $HOME/.kube
+ - name: Load cache
+ run: gzip --decompress --stdout docker.tar.gz | docker load
- - name: Create Kubernetes ${{ matrix.k8s }} cluster
- id: kind
- run: |
- kind create cluster --image=kindest/node:${{ matrix.k8s }}
-
- - name: Load images from cache
- run: |
- echo "loading docker images..."
- gzip -dc docker.tar.gz | docker load
-
- - name: Test
+ - name: Run tests
env:
- KIND_CLUSTER_NAME: kind
- SKIP_CLUSTER_CREATION: true
+ K8S_VERSION: ${{ matrix.k8s }}
SKIP_IMAGE_CREATION: true
- SKIP_INGRESS_IMAGE_CREATION: true
run: |
- kind get kubeconfig > $HOME/.kube/kind-config-kind
+ sudo mkdir -pm 777 "${HOME}/.kube"
make kind-e2e-chart-tests
kubernetes:
diff --git a/.github/workflows/helm.yaml b/.github/workflows/helm.yaml
deleted file mode 100644
index f7a68af1a..000000000
--- a/.github/workflows/helm.yaml
+++ /dev/null
@@ -1,88 +0,0 @@
-name: Helm
-
-on:
- push:
- branches:
- - main
- - release-*
-
- workflow_dispatch:
-
-permissions:
- contents: read
-
-jobs:
-
- changes:
- runs-on: ubuntu-latest
-
- permissions:
- contents: read # for dorny/paths-filter to fetch a list of changed files
-
- if: github.repository == 'kubernetes/ingress-nginx'
-
- outputs:
- docs: ${{ steps.filter.outputs.docs }}
- charts: ${{ steps.filter.outputs.charts }}
-
- steps:
- - name: Checkout
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
-
- - name: Run Artifact Hub lint
- run: |
- wget https://github.com/artifacthub/hub/releases/download/v1.5.0/ah_1.5.0_linux_amd64.tar.gz
- echo 'ad0e44c6ea058ab6b85dbf582e88bad9fdbc64ded0d1dd4edbac65133e5c87da *ah_1.5.0_linux_amd64.tar.gz' | shasum -c
- tar -xzvf ah_1.5.0_linux_amd64.tar.gz ah
- ./ah lint -p charts/ingress-nginx || exit 1
- rm -f ./ah ./ah_1.5.0_linux_amd64.tar.gz
-
- - name: Set up chart-testing
- uses: helm/chart-testing-action@e6669bcd63d7cb57cb4380c33043eebe5d111992 # v2.6.1
-
- - name: Run chart-testing (lint)
- run: ct lint --target-branch ${{ github.ref_name }} --config ./.ct.yaml
-
- - uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
- id: filter
- with:
- token: ${{ secrets.GITHUB_TOKEN }}
- filters: |
- charts:
- - 'charts/ingress-nginx/Chart.yaml'
- - 'charts/ingress-nginx/values.yaml'
-
- chart:
- name: Release Chart
- runs-on: ubuntu-latest
-
- permissions:
- contents: write # needed to write releases
-
- needs:
- - changes
-
- if: ${{ needs.changes.outputs.charts == 'true' }}
-
- steps:
- - name: Checkout master
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
- with:
- # Fetch entire history. Required for chart-releaser; see https://github.com/helm/chart-releaser-action/issues/13#issuecomment-602063896
- fetch-depth: 0
- ref: ${{ github.ref_name }}
-
- - name: Setup
- shell: bash
- run: |
- git config --global user.name "$GITHUB_ACTOR"
- git config --global user.email "$GITHUB_ACTOR@users.noreply.github.com"
-
- - name: Helm Chart Releaser
- uses: helm/chart-releaser-action@a917fd15b20e8b64b94d9158ad54cd6345335584 # v1.6.0
- env:
- CR_SKIP_EXISTING: true
- CR_TOKEN: "${{ secrets.GITHUB_TOKEN }}"
- CR_RELEASE_NAME_TEMPLATE: "helm-chart-{{ .Version }}"
- with:
- charts_dir: charts
diff --git a/.gitignore b/.gitignore
index 73108f627..5eac1a800 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,4 +1,3 @@
-helm-docs
# OSX
._*
.DS_Store
diff --git a/MANUAL_RELEASE.md b/MANUAL_RELEASE.md
index b1c1fd068..8a6b10bc1 100644
--- a/MANUAL_RELEASE.md
+++ b/MANUAL_RELEASE.md
@@ -226,19 +226,18 @@ Promoting the images basically means that images, that were pushed to staging co
```
### d. Edit the values.yaml and run helm-docs
+
- [Fields to edit in values.yaml](https://github.com/kubernetes/ingress-nginx/blob/main/charts/ingress-nginx/values.yaml)
- tag
- digest
- - [helm-docs](https://github.com/norwoodj/helm-docs) is a tool that generates the README.md for a helm-chart automatically. In the CI pipeline workflow of github actions (/.github/workflows/ci.yaml), you can see how helm-docs is used. But the CI pipeline is not designed to make commits back into the project. So we need to run helm-docs manually, and check in the resulting autogenerated README.md at the path /charts/ingress-nginx/README.md
+ - [helm-docs](https://github.com/norwoodj/helm-docs) is a tool that generates the README.md for a Helm chart automatically. In the CI pipeline workflow of GitHub actions (.github/workflows/ci.yaml), you can see how helm-docs is used. The CI pipeline is not designed to make commits back into the project, so we need to run helm-docs manually and commit the resulting generated README.md. You can obtain a recent version of the helm-docs binary here: https://github.com/norwoodj/helm-docs/releases.
```
- GOBIN=$PWD GO111MODULE=on go install github.com/norwoodj/helm-docs/cmd/helm-docs@v1.11.0
- ./helm-docs --chart-search-root=${GITHUB_WORKSPACE}/charts
- git diff --exit-code
- rm -f ./helm-docs
+ helm-docs --chart-search-root charts
+ git diff charts/ingress-nginx/README.md
```
- Watchout for mistakes like leaving the helm-docs executable in your clone workspace or not checking the new README.md manually etc.
+ Take care of not leaving the helm-docs executable in your clone workspace or not committing the new README.md.
### e. Edit the static manifests
diff --git a/charts/ingress-nginx/ci/deamonset-default-values.yaml b/charts/ingress-nginx/ci/admission-webhooks-cert-manager-values.yaml
similarity index 79%
rename from charts/ingress-nginx/ci/deamonset-default-values.yaml
rename to charts/ingress-nginx/ci/admission-webhooks-cert-manager-values.yaml
index 82fa23e85..7eafd0c5b 100644
--- a/charts/ingress-nginx/ci/deamonset-default-values.yaml
+++ b/charts/ingress-nginx/ci/admission-webhooks-cert-manager-values.yaml
@@ -1,10 +1,12 @@
controller:
- kind: DaemonSet
image:
repository: ingress-controller/controller
tag: 1.0.0-dev
digest: null
- admissionWebhooks:
- enabled: false
+
service:
type: ClusterIP
+
+ admissionWebhooks:
+ certManager:
+ enabled: true
diff --git a/charts/ingress-nginx/ci/controller-admission-tls-cert-manager-values.yaml b/charts/ingress-nginx/ci/controller-admission-tls-cert-manager-values.yaml
deleted file mode 100644
index a13241cd4..000000000
--- a/charts/ingress-nginx/ci/controller-admission-tls-cert-manager-values.yaml
+++ /dev/null
@@ -1,6 +0,0 @@
-controller:
- admissionWebhooks:
- certManager:
- enabled: true
- service:
- type: ClusterIP
diff --git a/charts/ingress-nginx/ci/controller-configmap-addheaders-values.yaml b/charts/ingress-nginx/ci/controller-configmap-addheaders-values.yaml
new file mode 100644
index 000000000..460a610ba
--- /dev/null
+++ b/charts/ingress-nginx/ci/controller-configmap-addheaders-values.yaml
@@ -0,0 +1,11 @@
+controller:
+ image:
+ repository: ingress-controller/controller
+ tag: 1.0.0-dev
+ digest: null
+
+ service:
+ type: ClusterIP
+
+ addHeaders:
+ X-Frame-Options: deny
diff --git a/charts/ingress-nginx/ci/controller-configmap-proxyheaders-values.yaml b/charts/ingress-nginx/ci/controller-configmap-proxyheaders-values.yaml
new file mode 100644
index 000000000..e23a13c0c
--- /dev/null
+++ b/charts/ingress-nginx/ci/controller-configmap-proxyheaders-values.yaml
@@ -0,0 +1,11 @@
+controller:
+ image:
+ repository: ingress-controller/controller
+ tag: 1.0.0-dev
+ digest: null
+
+ service:
+ type: ClusterIP
+
+ proxySetHeaders:
+ X-Forwarded-Proto: https
diff --git a/charts/ingress-nginx/ci/deployment-customconfig-values.yaml b/charts/ingress-nginx/ci/controller-configmap-values.yaml
similarity index 70%
rename from charts/ingress-nginx/ci/deployment-customconfig-values.yaml
rename to charts/ingress-nginx/ci/controller-configmap-values.yaml
index 174941848..a7029895c 100644
--- a/charts/ingress-nginx/ci/deployment-customconfig-values.yaml
+++ b/charts/ingress-nginx/ci/controller-configmap-values.yaml
@@ -3,10 +3,9 @@ controller:
repository: ingress-controller/controller
tag: 1.0.0-dev
digest: null
- config:
- use-proxy-protocol: "true"
- allowSnippetAnnotations: false
- admissionWebhooks:
- enabled: false
+
service:
type: ClusterIP
+
+ config:
+ use-proxy-protocol: "true"
diff --git a/charts/ingress-nginx/ci/controller-custom-ingressclass-flags.yaml b/charts/ingress-nginx/ci/controller-custom-ingressclass-flags.yaml
deleted file mode 100644
index b28a2326e..000000000
--- a/charts/ingress-nginx/ci/controller-custom-ingressclass-flags.yaml
+++ /dev/null
@@ -1,7 +0,0 @@
-controller:
- watchIngressWithoutClass: true
- ingressClassResource:
- name: custom-nginx
- enabled: true
- default: true
- controllerValue: "k8s.io/custom-nginx"
diff --git a/charts/ingress-nginx/ci/controller-daemonset-extra-modules-values.yaml b/charts/ingress-nginx/ci/controller-daemonset-extra-modules-values.yaml
new file mode 100644
index 000000000..edf12e77e
--- /dev/null
+++ b/charts/ingress-nginx/ci/controller-daemonset-extra-modules-values.yaml
@@ -0,0 +1,30 @@
+controller:
+ image:
+ repository: ingress-controller/controller
+ tag: 1.0.0-dev
+ digest: null
+
+ service:
+ type: ClusterIP
+
+ kind: DaemonSet
+
+ extraModules:
+ - name: opentelemetry
+ image:
+ registry: registry.k8s.io
+ image: ingress-nginx/opentelemetry-1.25.3
+ tag: v20240813-b933310d
+ digest: sha256:f7604ac0547ed64d79b98d92133234e66c2c8aade3c1f4809fed5eec1fb7f922
+ distroless: true
+ containerSecurityContext:
+ runAsNonRoot: true
+ runAsUser: 65532
+ runAsGroup: 65532
+ allowPrivilegeEscalation: false
+ seccompProfile:
+ type: RuntimeDefault
+ capabilities:
+ drop:
+ - ALL
+ readOnlyRootFilesystem: true
diff --git a/charts/ingress-nginx/ci/deamonset-webhook-values.yaml b/charts/ingress-nginx/ci/controller-daemonset-metrics-values.yaml
similarity index 89%
rename from charts/ingress-nginx/ci/deamonset-webhook-values.yaml
rename to charts/ingress-nginx/ci/controller-daemonset-metrics-values.yaml
index 54d364df1..7a98580cd 100644
--- a/charts/ingress-nginx/ci/deamonset-webhook-values.yaml
+++ b/charts/ingress-nginx/ci/controller-daemonset-metrics-values.yaml
@@ -1,10 +1,13 @@
controller:
- kind: DaemonSet
image:
repository: ingress-controller/controller
tag: 1.0.0-dev
digest: null
- admissionWebhooks:
- enabled: true
+
service:
type: ClusterIP
+
+ kind: DaemonSet
+
+ metrics:
+ enabled: true
diff --git a/charts/ingress-nginx/ci/deployment-opentelemetry-customregistry-values.yaml b/charts/ingress-nginx/ci/controller-daemonset-opentelemetry-values.yaml
similarity index 88%
rename from charts/ingress-nginx/ci/deployment-opentelemetry-customregistry-values.yaml
rename to charts/ingress-nginx/ci/controller-daemonset-opentelemetry-values.yaml
index fb3ef4446..179ab2a85 100644
--- a/charts/ingress-nginx/ci/deployment-opentelemetry-customregistry-values.yaml
+++ b/charts/ingress-nginx/ci/controller-daemonset-opentelemetry-values.yaml
@@ -3,7 +3,11 @@ controller:
repository: ingress-controller/controller
tag: 1.0.0-dev
digest: null
+
service:
type: ClusterIP
+
+ kind: DaemonSet
+
opentelemetry:
enabled: true
diff --git a/charts/ingress-nginx/ci/daemonset-podannotations-values.yaml b/charts/ingress-nginx/ci/controller-daemonset-podannotations-values.yaml
similarity index 81%
rename from charts/ingress-nginx/ci/daemonset-podannotations-values.yaml
rename to charts/ingress-nginx/ci/controller-daemonset-podannotations-values.yaml
index 0b55306a1..405992ef3 100644
--- a/charts/ingress-nginx/ci/daemonset-podannotations-values.yaml
+++ b/charts/ingress-nginx/ci/controller-daemonset-podannotations-values.yaml
@@ -1,17 +1,16 @@
controller:
- kind: DaemonSet
image:
repository: ingress-controller/controller
tag: 1.0.0-dev
digest: null
- admissionWebhooks:
- enabled: false
- metrics:
- enabled: true
+
service:
type: ClusterIP
+
+ kind: DaemonSet
+
podAnnotations:
- prometheus.io/path: /metrics
+ prometheus.io/scrape: "true"
prometheus.io/port: "10254"
prometheus.io/scheme: http
- prometheus.io/scrape: "true"
+ prometheus.io/path: /metrics
diff --git a/charts/ingress-nginx/ci/deployment-default-values.yaml b/charts/ingress-nginx/ci/controller-daemonset-values.yaml
similarity index 78%
rename from charts/ingress-nginx/ci/deployment-default-values.yaml
rename to charts/ingress-nginx/ci/controller-daemonset-values.yaml
index 9f46b4e7e..d34025c80 100644
--- a/charts/ingress-nginx/ci/deployment-default-values.yaml
+++ b/charts/ingress-nginx/ci/controller-daemonset-values.yaml
@@ -1,8 +1,10 @@
-# Left blank to test default values
controller:
image:
repository: ingress-controller/controller
tag: 1.0.0-dev
digest: null
+
service:
type: ClusterIP
+
+ kind: DaemonSet
diff --git a/charts/ingress-nginx/ci/controller-deployment-extra-modules-values.yaml b/charts/ingress-nginx/ci/controller-deployment-extra-modules-values.yaml
new file mode 100644
index 000000000..d4083cc37
--- /dev/null
+++ b/charts/ingress-nginx/ci/controller-deployment-extra-modules-values.yaml
@@ -0,0 +1,30 @@
+controller:
+ image:
+ repository: ingress-controller/controller
+ tag: 1.0.0-dev
+ digest: null
+
+ service:
+ type: ClusterIP
+
+ kind: Deployment
+
+ extraModules:
+ - name: opentelemetry
+ image:
+ registry: registry.k8s.io
+ image: ingress-nginx/opentelemetry-1.25.3
+ tag: v20240813-b933310d
+ digest: sha256:f7604ac0547ed64d79b98d92133234e66c2c8aade3c1f4809fed5eec1fb7f922
+ distroless: true
+ containerSecurityContext:
+ runAsNonRoot: true
+ runAsUser: 65532
+ runAsGroup: 65532
+ allowPrivilegeEscalation: false
+ seccompProfile:
+ type: RuntimeDefault
+ capabilities:
+ drop:
+ - ALL
+ readOnlyRootFilesystem: true
diff --git a/charts/ingress-nginx/ci/deployment-webhook-values.yaml b/charts/ingress-nginx/ci/controller-deployment-metrics-values.yaml
similarity index 82%
rename from charts/ingress-nginx/ci/deployment-webhook-values.yaml
rename to charts/ingress-nginx/ci/controller-deployment-metrics-values.yaml
index 76669a530..9c95d347c 100644
--- a/charts/ingress-nginx/ci/deployment-webhook-values.yaml
+++ b/charts/ingress-nginx/ci/controller-deployment-metrics-values.yaml
@@ -3,7 +3,11 @@ controller:
repository: ingress-controller/controller
tag: 1.0.0-dev
digest: null
- admissionWebhooks:
- enabled: true
+
service:
type: ClusterIP
+
+ kind: Deployment
+
+ metrics:
+ enabled: true
diff --git a/charts/ingress-nginx/ci/deployment-metrics-values.yaml b/charts/ingress-nginx/ci/controller-deployment-opentelemetry-values.yaml
similarity index 74%
rename from charts/ingress-nginx/ci/deployment-metrics-values.yaml
rename to charts/ingress-nginx/ci/controller-deployment-opentelemetry-values.yaml
index 9209ad5a6..9443ddefc 100644
--- a/charts/ingress-nginx/ci/deployment-metrics-values.yaml
+++ b/charts/ingress-nginx/ci/controller-deployment-opentelemetry-values.yaml
@@ -3,9 +3,11 @@ controller:
repository: ingress-controller/controller
tag: 1.0.0-dev
digest: null
- admissionWebhooks:
- enabled: false
- metrics:
- enabled: true
+
service:
type: ClusterIP
+
+ kind: Deployment
+
+ opentelemetry:
+ enabled: true
diff --git a/charts/ingress-nginx/ci/deployment-podannotations-values.yaml b/charts/ingress-nginx/ci/controller-deployment-podannotations-values.yaml
similarity index 80%
rename from charts/ingress-nginx/ci/deployment-podannotations-values.yaml
rename to charts/ingress-nginx/ci/controller-deployment-podannotations-values.yaml
index b48d93c46..cf1f2611e 100644
--- a/charts/ingress-nginx/ci/deployment-podannotations-values.yaml
+++ b/charts/ingress-nginx/ci/controller-deployment-podannotations-values.yaml
@@ -3,14 +3,14 @@ controller:
repository: ingress-controller/controller
tag: 1.0.0-dev
digest: null
- admissionWebhooks:
- enabled: false
- metrics:
- enabled: true
+
service:
type: ClusterIP
+
+ kind: Deployment
+
podAnnotations:
- prometheus.io/path: /metrics
+ prometheus.io/scrape: "true"
prometheus.io/port: "10254"
prometheus.io/scheme: http
- prometheus.io/scrape: "true"
+ prometheus.io/path: /metrics
diff --git a/charts/ingress-nginx/ci/controller-deployment-values.yaml b/charts/ingress-nginx/ci/controller-deployment-values.yaml
new file mode 100644
index 000000000..1b092dc0c
--- /dev/null
+++ b/charts/ingress-nginx/ci/controller-deployment-values.yaml
@@ -0,0 +1,10 @@
+controller:
+ image:
+ repository: ingress-controller/controller
+ tag: 1.0.0-dev
+ digest: null
+
+ service:
+ type: ClusterIP
+
+ kind: Deployment
diff --git a/charts/ingress-nginx/ci/deployment-autoscaling-behavior-values.yaml b/charts/ingress-nginx/ci/controller-hpa-values.yaml
similarity index 71%
rename from charts/ingress-nginx/ci/deployment-autoscaling-behavior-values.yaml
rename to charts/ingress-nginx/ci/controller-hpa-values.yaml
index dca3f35f8..54a0d2f75 100644
--- a/charts/ingress-nginx/ci/deployment-autoscaling-behavior-values.yaml
+++ b/charts/ingress-nginx/ci/controller-hpa-values.yaml
@@ -1,4 +1,12 @@
controller:
+ image:
+ repository: ingress-controller/controller
+ tag: 1.0.0-dev
+ digest: null
+
+ service:
+ type: ClusterIP
+
autoscaling:
enabled: true
behavior:
@@ -8,7 +16,3 @@ controller:
- type: Pods
value: 1
periodSeconds: 180
- admissionWebhooks:
- enabled: false
- service:
- type: ClusterIP
diff --git a/charts/ingress-nginx/ci/controller-ingressclass-values.yaml b/charts/ingress-nginx/ci/controller-ingressclass-values.yaml
new file mode 100644
index 000000000..c06429f97
--- /dev/null
+++ b/charts/ingress-nginx/ci/controller-ingressclass-values.yaml
@@ -0,0 +1,15 @@
+controller:
+ image:
+ repository: ingress-controller/controller
+ tag: 1.0.0-dev
+ digest: null
+
+ service:
+ type: ClusterIP
+
+ ingressClassResource:
+ name: custom-nginx
+ default: true
+ controllerValue: k8s.io/custom-nginx
+
+ watchIngressWithoutClass: true
diff --git a/charts/ingress-nginx/ci/daemonset-internal-lb-values.yaml b/charts/ingress-nginx/ci/controller-service-internal-values.yaml
similarity index 81%
rename from charts/ingress-nginx/ci/daemonset-internal-lb-values.yaml
rename to charts/ingress-nginx/ci/controller-service-internal-values.yaml
index 0a200a746..11108fbce 100644
--- a/charts/ingress-nginx/ci/daemonset-internal-lb-values.yaml
+++ b/charts/ingress-nginx/ci/controller-service-internal-values.yaml
@@ -1,13 +1,12 @@
controller:
- kind: DaemonSet
image:
repository: ingress-controller/controller
tag: 1.0.0-dev
digest: null
- admissionWebhooks:
- enabled: false
+
service:
type: ClusterIP
+
internal:
enabled: true
annotations:
diff --git a/charts/ingress-nginx/ci/deployment-customnodeport-values.yaml b/charts/ingress-nginx/ci/controller-service-values.yaml
similarity index 69%
rename from charts/ingress-nginx/ci/deployment-customnodeport-values.yaml
rename to charts/ingress-nginx/ci/controller-service-values.yaml
index a564eaf93..9039368c2 100644
--- a/charts/ingress-nginx/ci/deployment-customnodeport-values.yaml
+++ b/charts/ingress-nginx/ci/controller-service-values.yaml
@@ -3,18 +3,20 @@ controller:
repository: ingress-controller/controller
tag: 1.0.0-dev
digest: null
- admissionWebhooks:
- enabled: false
+
service:
type: NodePort
+
nodePorts:
tcp:
9000: 30090
udp:
9001: 30091
+portNamePrefix: port
+
tcp:
- 9000: "default/test:8080"
+ 9000: default/test:8080
udp:
- 9001: "default/test:8080"
+ 9001: default/test:8080
diff --git a/charts/ingress-nginx/ci/daemonset-customconfig-values.yaml b/charts/ingress-nginx/ci/daemonset-customconfig-values.yaml
deleted file mode 100644
index 4393a5bc0..000000000
--- a/charts/ingress-nginx/ci/daemonset-customconfig-values.yaml
+++ /dev/null
@@ -1,14 +0,0 @@
-controller:
- image:
- repository: ingress-controller/controller
- tag: 1.0.0-dev
- digest: null
- kind: DaemonSet
- allowSnippetAnnotations: false
- admissionWebhooks:
- enabled: false
- service:
- type: ClusterIP
-
- config:
- use-proxy-protocol: "true"
diff --git a/charts/ingress-nginx/ci/daemonset-customnodeport-values.yaml b/charts/ingress-nginx/ci/daemonset-customnodeport-values.yaml
deleted file mode 100644
index 1d94be219..000000000
--- a/charts/ingress-nginx/ci/daemonset-customnodeport-values.yaml
+++ /dev/null
@@ -1,22 +0,0 @@
-controller:
- kind: DaemonSet
- image:
- repository: ingress-controller/controller
- tag: 1.0.0-dev
- digest: null
- admissionWebhooks:
- enabled: false
-
- service:
- type: NodePort
- nodePorts:
- tcp:
- 9000: 30090
- udp:
- 9001: 30091
-
-tcp:
- 9000: "default/test:8080"
-
-udp:
- 9001: "default/test:8080"
diff --git a/charts/ingress-nginx/ci/daemonset-extra-modules.yaml b/charts/ingress-nginx/ci/daemonset-extra-modules.yaml
deleted file mode 100644
index 52a32fcbd..000000000
--- a/charts/ingress-nginx/ci/daemonset-extra-modules.yaml
+++ /dev/null
@@ -1,13 +0,0 @@
-controller:
- kind: DaemonSet
- image:
- repository: ingress-controller/controller
- tag: 1.0.0-dev
- service:
- type: ClusterIP
- extraModules:
- - name: opentelemetry
- image:
- registry: registry.k8s.io
- image: busybox
- tag: latest
diff --git a/charts/ingress-nginx/ci/daemonset-headers-values.yaml b/charts/ingress-nginx/ci/daemonset-headers-values.yaml
deleted file mode 100644
index ab7d47bd4..000000000
--- a/charts/ingress-nginx/ci/daemonset-headers-values.yaml
+++ /dev/null
@@ -1,14 +0,0 @@
-controller:
- kind: DaemonSet
- image:
- repository: ingress-controller/controller
- tag: 1.0.0-dev
- digest: null
- admissionWebhooks:
- enabled: false
- addHeaders:
- X-Frame-Options: deny
- proxySetHeaders:
- X-Forwarded-Proto: https
- service:
- type: ClusterIP
diff --git a/charts/ingress-nginx/ci/daemonset-nodeport-values.yaml b/charts/ingress-nginx/ci/daemonset-nodeport-values.yaml
deleted file mode 100644
index 3b7aa2fcd..000000000
--- a/charts/ingress-nginx/ci/daemonset-nodeport-values.yaml
+++ /dev/null
@@ -1,10 +0,0 @@
-controller:
- kind: DaemonSet
- image:
- repository: ingress-controller/controller
- tag: 1.0.0-dev
- digest: null
- admissionWebhooks:
- enabled: false
- service:
- type: NodePort
diff --git a/charts/ingress-nginx/ci/daemonset-tcp-udp-configMapNamespace-values.yaml b/charts/ingress-nginx/ci/daemonset-tcp-udp-configMapNamespace-values.yaml
deleted file mode 100644
index acd86a77a..000000000
--- a/charts/ingress-nginx/ci/daemonset-tcp-udp-configMapNamespace-values.yaml
+++ /dev/null
@@ -1,20 +0,0 @@
-controller:
- kind: DaemonSet
- image:
- repository: ingress-controller/controller
- tag: 1.0.0-dev
- digest: null
- admissionWebhooks:
- enabled: false
- service:
- type: ClusterIP
- tcp:
- configMapNamespace: default
- udp:
- configMapNamespace: default
-
-tcp:
- 9000: "default/test:8080"
-
-udp:
- 9001: "default/test:8080"
diff --git a/charts/ingress-nginx/ci/daemonset-tcp-udp-portNamePrefix-values.yaml b/charts/ingress-nginx/ci/daemonset-tcp-udp-portNamePrefix-values.yaml
deleted file mode 100644
index 90b0f57a5..000000000
--- a/charts/ingress-nginx/ci/daemonset-tcp-udp-portNamePrefix-values.yaml
+++ /dev/null
@@ -1,18 +0,0 @@
-controller:
- kind: DaemonSet
- image:
- repository: ingress-controller/controller
- tag: 1.0.0-dev
- digest: null
- admissionWebhooks:
- enabled: false
- service:
- type: ClusterIP
-
-tcp:
- 9000: "default/test:8080"
-
-udp:
- 9001: "default/test:8080"
-
-portNamePrefix: "port"
diff --git a/charts/ingress-nginx/ci/daemonset-tcp-udp-values.yaml b/charts/ingress-nginx/ci/daemonset-tcp-udp-values.yaml
deleted file mode 100644
index 25ee64d85..000000000
--- a/charts/ingress-nginx/ci/daemonset-tcp-udp-values.yaml
+++ /dev/null
@@ -1,16 +0,0 @@
-controller:
- kind: DaemonSet
- image:
- repository: ingress-controller/controller
- tag: 1.0.0-dev
- digest: null
- admissionWebhooks:
- enabled: false
- service:
- type: ClusterIP
-
-tcp:
- 9000: "default/test:8080"
-
-udp:
- 9001: "default/test:8080"
diff --git a/charts/ingress-nginx/ci/daemonset-tcp-values.yaml b/charts/ingress-nginx/ci/daemonset-tcp-values.yaml
deleted file mode 100644
index 380c8b4b1..000000000
--- a/charts/ingress-nginx/ci/daemonset-tcp-values.yaml
+++ /dev/null
@@ -1,14 +0,0 @@
-controller:
- kind: DaemonSet
- image:
- repository: ingress-controller/controller
- tag: 1.0.0-dev
- digest: null
- admissionWebhooks:
- enabled: false
- service:
- type: ClusterIP
-
-tcp:
- 9000: "default/test:8080"
- 9001: "default/test:8080"
diff --git a/charts/ingress-nginx/ci/deamonset-metrics-values.yaml b/charts/ingress-nginx/ci/deamonset-metrics-values.yaml
deleted file mode 100644
index cb3cb54be..000000000
--- a/charts/ingress-nginx/ci/deamonset-metrics-values.yaml
+++ /dev/null
@@ -1,12 +0,0 @@
-controller:
- kind: DaemonSet
- image:
- repository: ingress-controller/controller
- tag: 1.0.0-dev
- digest: null
- admissionWebhooks:
- enabled: false
- metrics:
- enabled: true
- service:
- type: ClusterIP
diff --git a/charts/ingress-nginx/ci/deployment-autoscaling-values.yaml b/charts/ingress-nginx/ci/deployment-autoscaling-values.yaml
deleted file mode 100644
index b8b3ac686..000000000
--- a/charts/ingress-nginx/ci/deployment-autoscaling-values.yaml
+++ /dev/null
@@ -1,11 +0,0 @@
-controller:
- image:
- repository: ingress-controller/controller
- tag: 1.0.0-dev
- digest: null
- autoscaling:
- enabled: true
- admissionWebhooks:
- enabled: false
- service:
- type: ClusterIP
diff --git a/charts/ingress-nginx/ci/deployment-extra-modules-default-container-sec-context.yaml b/charts/ingress-nginx/ci/deployment-extra-modules-default-container-sec-context.yaml
deleted file mode 100644
index 91b1b98a8..000000000
--- a/charts/ingress-nginx/ci/deployment-extra-modules-default-container-sec-context.yaml
+++ /dev/null
@@ -1,15 +0,0 @@
-controller:
- image:
- repository: ingress-controller/controller
- tag: 1.0.0-dev
- digest: null
- service:
- type: ClusterIP
- containerSecurityContext:
- allowPrivilegeEscalation: false
- extraModules:
- - name: opentelemetry
- image:
- registry: registry.k8s.io
- image: busybox
- tag: latest
diff --git a/charts/ingress-nginx/ci/deployment-extra-modules-specific-container-sec-context.yaml b/charts/ingress-nginx/ci/deployment-extra-modules-specific-container-sec-context.yaml
deleted file mode 100644
index b6013c7d0..000000000
--- a/charts/ingress-nginx/ci/deployment-extra-modules-specific-container-sec-context.yaml
+++ /dev/null
@@ -1,15 +0,0 @@
-controller:
- image:
- repository: ingress-controller/controller
- tag: 1.0.0-dev
- digest: null
- service:
- type: ClusterIP
- extraModules:
- - name: opentelemetry
- image:
- registry: registry.k8s.io
- image: busybox
- tag: latest
- containerSecurityContext:
- allowPrivilegeEscalation: false
diff --git a/charts/ingress-nginx/ci/deployment-extra-modules.yaml b/charts/ingress-nginx/ci/deployment-extra-modules.yaml
deleted file mode 100644
index 2fbe1cc01..000000000
--- a/charts/ingress-nginx/ci/deployment-extra-modules.yaml
+++ /dev/null
@@ -1,13 +0,0 @@
-controller:
- image:
- repository: ingress-controller/controller
- tag: 1.0.0-dev
- digest: null
- service:
- type: ClusterIP
- extraModules:
- - name: opentelemetry
- image:
- registry: registry.k8s.io
- image: busybox
- tag: latest
diff --git a/charts/ingress-nginx/ci/deployment-headers-values.yaml b/charts/ingress-nginx/ci/deployment-headers-values.yaml
deleted file mode 100644
index 17a11ac37..000000000
--- a/charts/ingress-nginx/ci/deployment-headers-values.yaml
+++ /dev/null
@@ -1,13 +0,0 @@
-controller:
- image:
- repository: ingress-controller/controller
- tag: 1.0.0-dev
- digest: null
- admissionWebhooks:
- enabled: false
- addHeaders:
- X-Frame-Options: deny
- proxySetHeaders:
- X-Forwarded-Proto: https
- service:
- type: ClusterIP
diff --git a/charts/ingress-nginx/ci/deployment-internal-lb-values.yaml b/charts/ingress-nginx/ci/deployment-internal-lb-values.yaml
deleted file mode 100644
index 663ccb9d1..000000000
--- a/charts/ingress-nginx/ci/deployment-internal-lb-values.yaml
+++ /dev/null
@@ -1,19 +0,0 @@
-controller:
- image:
- repository: ingress-controller/controller
- tag: 1.0.0-dev
- digest: null
- admissionWebhooks:
- enabled: false
- service:
- type: ClusterIP
- internal:
- enabled: true
- annotations:
- service.beta.kubernetes.io/aws-load-balancer-internal: "true"
- ports:
- http: 443
- https: 80
- targetPorts:
- http: 443
- https: 80
diff --git a/charts/ingress-nginx/ci/deployment-nodeport-values.yaml b/charts/ingress-nginx/ci/deployment-nodeport-values.yaml
deleted file mode 100644
index cd9b32352..000000000
--- a/charts/ingress-nginx/ci/deployment-nodeport-values.yaml
+++ /dev/null
@@ -1,9 +0,0 @@
-controller:
- image:
- repository: ingress-controller/controller
- tag: 1.0.0-dev
- digest: null
- admissionWebhooks:
- enabled: false
- service:
- type: NodePort
diff --git a/charts/ingress-nginx/ci/deployment-tcp-udp-configMapNamespace-values.yaml b/charts/ingress-nginx/ci/deployment-tcp-udp-configMapNamespace-values.yaml
deleted file mode 100644
index c51a4e91f..000000000
--- a/charts/ingress-nginx/ci/deployment-tcp-udp-configMapNamespace-values.yaml
+++ /dev/null
@@ -1,19 +0,0 @@
-controller:
- image:
- repository: ingress-controller/controller
- tag: 1.0.0-dev
- digest: null
- admissionWebhooks:
- enabled: false
- service:
- type: ClusterIP
- tcp:
- configMapNamespace: default
- udp:
- configMapNamespace: default
-
-tcp:
- 9000: "default/test:8080"
-
-udp:
- 9001: "default/test:8080"
diff --git a/charts/ingress-nginx/ci/deployment-tcp-udp-portNamePrefix-values.yaml b/charts/ingress-nginx/ci/deployment-tcp-udp-portNamePrefix-values.yaml
deleted file mode 100644
index 56323c5ee..000000000
--- a/charts/ingress-nginx/ci/deployment-tcp-udp-portNamePrefix-values.yaml
+++ /dev/null
@@ -1,17 +0,0 @@
-controller:
- image:
- repository: ingress-controller/controller
- tag: 1.0.0-dev
- digest: null
- admissionWebhooks:
- enabled: false
- service:
- type: ClusterIP
-
-tcp:
- 9000: "default/test:8080"
-
-udp:
- 9001: "default/test:8080"
-
-portNamePrefix: "port"
diff --git a/charts/ingress-nginx/ci/deployment-tcp-udp-values.yaml b/charts/ingress-nginx/ci/deployment-tcp-udp-values.yaml
deleted file mode 100644
index 5b45b69dc..000000000
--- a/charts/ingress-nginx/ci/deployment-tcp-udp-values.yaml
+++ /dev/null
@@ -1,15 +0,0 @@
-controller:
- image:
- repository: ingress-controller/controller
- tag: 1.0.0-dev
- digest: null
- admissionWebhooks:
- enabled: false
- service:
- type: ClusterIP
-
-tcp:
- 9000: "default/test:8080"
-
-udp:
- 9001: "default/test:8080"
diff --git a/charts/ingress-nginx/ci/deployment-tcp-values.yaml b/charts/ingress-nginx/ci/deployment-tcp-values.yaml
deleted file mode 100644
index ac0b6e60e..000000000
--- a/charts/ingress-nginx/ci/deployment-tcp-values.yaml
+++ /dev/null
@@ -1,11 +0,0 @@
-controller:
- image:
- repository: ingress-controller/controller
- tag: 1.0.0-dev
- digest: null
- service:
- type: ClusterIP
-
-tcp:
- 9000: "default/test:8080"
- 9001: "default/test:8080"
diff --git a/charts/ingress-nginx/ci/deployment-webhook-extraEnvs-values.yaml b/charts/ingress-nginx/ci/deployment-webhook-extraEnvs-values.yaml
deleted file mode 100644
index 95487b071..000000000
--- a/charts/ingress-nginx/ci/deployment-webhook-extraEnvs-values.yaml
+++ /dev/null
@@ -1,12 +0,0 @@
-controller:
- service:
- type: ClusterIP
- admissionWebhooks:
- enabled: true
- extraEnvs:
- - name: FOO
- value: foo
- - name: TEST
- value: test
- patch:
- enabled: true
diff --git a/charts/ingress-nginx/ci/deployment-webhook-resources-values.yaml b/charts/ingress-nginx/ci/deployment-webhook-resources-values.yaml
deleted file mode 100644
index 49ebbb02c..000000000
--- a/charts/ingress-nginx/ci/deployment-webhook-resources-values.yaml
+++ /dev/null
@@ -1,23 +0,0 @@
-controller:
- service:
- type: ClusterIP
- admissionWebhooks:
- enabled: true
- createSecretJob:
- resources:
- limits:
- cpu: 10m
- memory: 20Mi
- requests:
- cpu: 10m
- memory: 20Mi
- patchWebhookJob:
- resources:
- limits:
- cpu: 10m
- memory: 20Mi
- requests:
- cpu: 10m
- memory: 20Mi
- patch:
- enabled: true
diff --git a/docs/user-guide/third-party-addons/opentelemetry.md b/docs/user-guide/third-party-addons/opentelemetry.md
index af7fd2b14..32b17d2ca 100644
--- a/docs/user-guide/third-party-addons/opentelemetry.md
+++ b/docs/user-guide/third-party-addons/opentelemetry.md
@@ -191,7 +191,7 @@ To install the example and collectors run:
helm repo add grafana https://grafana.github.io/helm-charts
helm repo update
# deploy cert-manager needed for OpenTelemetry collector operator
- kubectl apply -f https://github.com/cert-manager/cert-manager/releases/download/v1.9.1/cert-manager.yaml
+ kubectl apply -f https://github.com/cert-manager/cert-manager/releases/download/v1.15.3/cert-manager.yaml
# create observability namespace
kubectl apply -f https://raw.githubusercontent.com/esigo/nginx-example/main/observability/namespace.yaml
# install OpenTelemetry collector operator
diff --git a/magefiles/steps/helm.go b/magefiles/steps/helm.go
index 245f5e1c0..73c9b0b3b 100644
--- a/magefiles/steps/helm.go
+++ b/magefiles/steps/helm.go
@@ -170,7 +170,7 @@ func runHelmDocs() error {
if err != nil {
return err
}
- err = sh.RunV("helm-docs", "--chart-search-root=${PWD}/charts")
+ err = sh.RunV("helm-docs", "--chart-search-root", "${PWD}/charts")
if err != nil {
return err
}
@@ -181,7 +181,7 @@ func installHelmDocs() error {
utils.Info("HELM Install HelmDocs")
g0 := sh.RunCmd("go")
- err := g0("install", "github.com/norwoodj/helm-docs/cmd/helm-docs@v1.11.0")
+ err := g0("install", "github.com/norwoodj/helm-docs/cmd/helm-docs@latest")
if err != nil {
return err
}
diff --git a/test/e2e/run-chart-test.sh b/test/e2e/run-chart-test.sh
index 95465ee32..b6748f129 100755
--- a/test/e2e/run-chart-test.sh
+++ b/test/e2e/run-chart-test.sh
@@ -91,25 +91,28 @@ echo "[dev-env] copying docker images to cluster..."
kind load docker-image --name="${KIND_CLUSTER_NAME}" --nodes=${KIND_WORKERS} ${REGISTRY}/controller:${TAG}
if [ "${SKIP_CERT_MANAGER_CREATION:-false}" = "false" ]; then
- curl -fsSL -o cmctl.tar.gz https://github.com/cert-manager/cert-manager/releases/download/v1.11.1/cmctl-linux-amd64.tar.gz
- tar xzf cmctl.tar.gz
- chmod +x cmctl
- ./cmctl help
- echo "[dev-env] apply cert-manager ..."
- kubectl apply --wait -f https://github.com/cert-manager/cert-manager/releases/download/v1.11.0/cert-manager.yaml
- kubectl wait --timeout=30s --for=condition=available deployment/cert-manager -n cert-manager
- kubectl get validatingwebhookconfigurations cert-manager-webhook -ojson | jq '.webhooks[].clientConfig'
- kubectl get endpoints -n cert-manager cert-manager-webhook
- ./cmctl check api --wait=2m
+ echo "[dev-env] deploying cert-manager..."
+
+ # Get OS & platform for downloading cmctl.
+ os="$(uname -o | tr "[:upper:]" "[:lower:]" | sed "s/gnu\///")"
+ platform="$(uname -m | sed "s/aarch64/arm64/;s/x86_64/amd64/")"
+
+ # Download cmctl. Cannot validate checksum as OS & platform may vary.
+ curl --fail --location "https://github.com/cert-manager/cmctl/releases/download/v2.1.1/cmctl_${os}_${platform}.tar.gz" | tar --extract --gzip cmctl
+
+ # Install cert-manager.
+ ./cmctl x install
+ ./cmctl check api --wait 1m
fi
echo "[dev-env] running helm chart e2e tests..."
-docker run --rm --interactive --network host \
- --name ct \
- --volume $KUBECONFIG:/root/.kube/config \
- --volume "${DIR}/../../":/workdir \
- --workdir /workdir \
- registry.k8s.io/ingress-nginx/e2e-test-runner:v20240829-2c421762@sha256:5b7809bfe9cbd9cd6bcb8033ca27576ca704f05ce729fe4dcb574810f7a25785 \
- ct install \
- --charts charts/ingress-nginx \
- --helm-extra-args "--timeout 60s"
+docker run \
+ --name ct \
+ --volume "${KUBECONFIG}:/root/.kube/config:ro" \
+ --volume "${DIR}/../../:/workdir" \
+ --network host \
+ --workdir /workdir \
+ --entrypoint ct \
+ --rm \
+ registry.k8s.io/ingress-nginx/e2e-test-runner:v20240829-2c421762@sha256:5b7809bfe9cbd9cd6bcb8033ca27576ca704f05ce729fe4dcb574810f7a25785 \
+ install --charts charts/ingress-nginx
From 022e43c4e512225448ba344defc7d0c450a176e9 Mon Sep 17 00:00:00 2001
From: Marco Ebert
Date: Mon, 30 Sep 2024 12:52:29 +0200
Subject: [PATCH 235/265] Bump the all group with 2 updates (#12035)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
---
.github/workflows/chart.yaml | 2 +-
.github/workflows/ci.yaml | 12 ++++++------
.github/workflows/depreview.yaml | 2 +-
.github/workflows/docs.yaml | 4 ++--
.github/workflows/golangci-lint.yml | 2 +-
.github/workflows/images.yaml | 6 +++---
.github/workflows/perftest.yaml | 2 +-
.github/workflows/plugin.yaml | 2 +-
.github/workflows/scorecards.yml | 4 ++--
.github/workflows/vulnerability-scans.yaml | 6 +++---
.github/workflows/zz-tmpl-images.yaml | 6 +++---
.github/workflows/zz-tmpl-k8s-e2e.yaml | 2 +-
12 files changed, 25 insertions(+), 25 deletions(-)
diff --git a/.github/workflows/chart.yaml b/.github/workflows/chart.yaml
index b99374a90..a546801a0 100644
--- a/.github/workflows/chart.yaml
+++ b/.github/workflows/chart.yaml
@@ -45,7 +45,7 @@ jobs:
git config --global user.email "${GITHUB_ACTOR}@users.noreply.github.com"
- name: Checkout code
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
+ uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0
with:
fetch-depth: 0
diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml
index 2dafb7c1d..e6748f1ae 100644
--- a/.github/workflows/ci.yaml
+++ b/.github/workflows/ci.yaml
@@ -47,7 +47,7 @@ jobs:
steps:
- name: Checkout
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
+ uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0
- uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
id: filter
@@ -79,7 +79,7 @@ jobs:
(needs.changes.outputs.go == 'true') || ${{ github.event.workflow_dispatch.run_e2e == 'true' }}
steps:
- name: Checkout
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
+ uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0
- name: Get go version
run: echo "GOLANG_VERSION=$(cat GOLANG_VERSION)" >> $GITHUB_ENV
@@ -103,7 +103,7 @@ jobs:
(needs.changes.outputs.go == 'true') || (needs.changes.outputs.docs == 'true') || ${{ github.event.workflow_dispatch.run_e2e == 'true' }}
steps:
- name: Checkout
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
+ uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0
- name: Get go version
run: echo "GOLANG_VERSION=$(cat GOLANG_VERSION)" >> $GITHUB_ENV
- name: Set up Go
@@ -128,7 +128,7 @@ jobs:
PLATFORMS: linux/amd64
steps:
- name: Checkout
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
+ uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0
- name: Get go version
id: golangversion
@@ -225,7 +225,7 @@ jobs:
run: helm plugin install https://github.com/helm-unittest/helm-unittest
- name: Checkout code
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
+ uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0
with:
fetch-depth: 0
@@ -258,7 +258,7 @@ jobs:
steps:
- name: Checkout code
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
+ uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0
- name: Download cache
uses: actions/download-artifact@fa0a91b85d4f404e444e00e005971372dc801d16 # v4.1.8
diff --git a/.github/workflows/depreview.yaml b/.github/workflows/depreview.yaml
index 913b995bd..857411f79 100644
--- a/.github/workflows/depreview.yaml
+++ b/.github/workflows/depreview.yaml
@@ -9,6 +9,6 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: 'Checkout Repository'
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
+ uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0
- name: 'Dependency Review'
uses: actions/dependency-review-action@5a2ce3f5b92ee19cbb1541a4984c76d921601d7c # v4.3.4
diff --git a/.github/workflows/docs.yaml b/.github/workflows/docs.yaml
index c1434c7b7..479c139aa 100644
--- a/.github/workflows/docs.yaml
+++ b/.github/workflows/docs.yaml
@@ -23,7 +23,7 @@ jobs:
steps:
- name: Checkout
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
+ uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0
- uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
id: filter
@@ -47,7 +47,7 @@ jobs:
steps:
- name: Checkout master
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
+ uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0
- name: Deploy
uses: ./.github/actions/mkdocs
diff --git a/.github/workflows/golangci-lint.yml b/.github/workflows/golangci-lint.yml
index dca8f07db..93db7fbb7 100644
--- a/.github/workflows/golangci-lint.yml
+++ b/.github/workflows/golangci-lint.yml
@@ -15,7 +15,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
+ uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0
- name: Get go version
run: echo "GOLANG_VERSION=$(cat GOLANG_VERSION)" >> $GITHUB_ENV
diff --git a/.github/workflows/images.yaml b/.github/workflows/images.yaml
index fe83f1dd3..b6975f5e2 100644
--- a/.github/workflows/images.yaml
+++ b/.github/workflows/images.yaml
@@ -41,7 +41,7 @@ jobs:
steps:
- name: Checkout
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
+ uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0
- uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
id: filter
with:
@@ -144,7 +144,7 @@ jobs:
k8s: [v1.26.15, v1.27.13, v1.28.9, v1.29.4, v1.30.0]
steps:
- name: Checkout
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
+ uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0
- name: Get go version
run: echo "GOLANG_VERSION=$(cat GOLANG_VERSION)" >> $GITHUB_ENV
@@ -195,7 +195,7 @@ jobs:
PLATFORMS: linux/amd64,linux/arm,linux/arm64,linux/s390x
steps:
- name: Checkout
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
+ uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0
- name: Set up QEMU
uses: docker/setup-qemu-action@49b3bc8e6bdd4a60e6116a5414239cba5943d3cf # v3.2.0
- name: Set up Docker Buildx
diff --git a/.github/workflows/perftest.yaml b/.github/workflows/perftest.yaml
index 2e1e01a3e..eb086538e 100644
--- a/.github/workflows/perftest.yaml
+++ b/.github/workflows/perftest.yaml
@@ -19,7 +19,7 @@ jobs:
steps:
- name: Checkout
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
+ uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0
- name: Install K6
run: |
diff --git a/.github/workflows/plugin.yaml b/.github/workflows/plugin.yaml
index 63b8c19bf..0ae13a2df 100644
--- a/.github/workflows/plugin.yaml
+++ b/.github/workflows/plugin.yaml
@@ -12,7 +12,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
+ uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0
with:
fetch-depth: 0
diff --git a/.github/workflows/scorecards.yml b/.github/workflows/scorecards.yml
index ad0317845..764126450 100644
--- a/.github/workflows/scorecards.yml
+++ b/.github/workflows/scorecards.yml
@@ -27,7 +27,7 @@ jobs:
steps:
- name: "Checkout code"
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
+ uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0
with:
persist-credentials: false
@@ -59,6 +59,6 @@ jobs:
# Upload the results to GitHub's code scanning dashboard.
- name: "Upload to code-scanning"
- uses: github/codeql-action/upload-sarif@294a9d92911152fe08befb9ec03e240add280cb3 # v3.26.8
+ uses: github/codeql-action/upload-sarif@461ef6c76dfe95d5c364de2f431ddbd31a417628 # v3.26.9
with:
sarif_file: results.sarif
diff --git a/.github/workflows/vulnerability-scans.yaml b/.github/workflows/vulnerability-scans.yaml
index e35ee0a65..9b038de98 100644
--- a/.github/workflows/vulnerability-scans.yaml
+++ b/.github/workflows/vulnerability-scans.yaml
@@ -22,7 +22,7 @@ jobs:
versions: ${{ steps.version.outputs.TAGS }}
steps:
- name: Checkout code
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
+ uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0
with:
fetch-depth: 0
@@ -52,7 +52,7 @@ jobs:
versions: ${{ fromJSON(needs.version.outputs.versions) }}
steps:
- name: Checkout code
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
+ uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0
- shell: bash
id: test
@@ -75,7 +75,7 @@ jobs:
# This step checks out a copy of your repository.
- name: Upload SARIF file
- uses: github/codeql-action/upload-sarif@294a9d92911152fe08befb9ec03e240add280cb3 # v3.26.8
+ uses: github/codeql-action/upload-sarif@461ef6c76dfe95d5c364de2f431ddbd31a417628 # v3.26.9
with:
token: ${{ github.token }}
# Path to SARIF file relative to the root of the repository
diff --git a/.github/workflows/zz-tmpl-images.yaml b/.github/workflows/zz-tmpl-images.yaml
index 6d5a4ef17..2efc039d6 100644
--- a/.github/workflows/zz-tmpl-images.yaml
+++ b/.github/workflows/zz-tmpl-images.yaml
@@ -31,7 +31,7 @@ jobs:
steps:
- name: Checkout
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
+ uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0
- uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
id: filter
with:
@@ -48,7 +48,7 @@ jobs:
steps:
- name: Checkout
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
+ uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0
- name: Build
run: |
@@ -67,7 +67,7 @@ jobs:
PLATFORMS: ${{ inputs.platforms-publish }}
steps:
- name: Checkout
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
+ uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0
- name: Login to GitHub Container Registry
uses: docker/login-action@9780b0c442fbb1117ed29e0efdff1e18412f7567 # v3.3.0
diff --git a/.github/workflows/zz-tmpl-k8s-e2e.yaml b/.github/workflows/zz-tmpl-k8s-e2e.yaml
index 6d3e943ae..8d94e37fe 100644
--- a/.github/workflows/zz-tmpl-k8s-e2e.yaml
+++ b/.github/workflows/zz-tmpl-k8s-e2e.yaml
@@ -20,7 +20,7 @@ jobs:
steps:
- name: Checkout
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
+ uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0
- name: cache
uses: actions/download-artifact@fa0a91b85d4f404e444e00e005971372dc801d16 # v4.1.8
From 12c88851eb18f187d3b5e48cecdab1c1b62ba19d Mon Sep 17 00:00:00 2001
From: k8s-infra-cherrypick-robot
<90416843+k8s-infra-cherrypick-robot@users.noreply.github.com>
Date: Mon, 30 Sep 2024 05:23:23 -0700
Subject: [PATCH 236/265] [release-1.10] GitHub: Improve Dependabot. (#12037)
Co-authored-by: Marco Ebert
---
.github/dependabot.yml | 54 ++++++++++++++++++++++--------------------
1 file changed, 28 insertions(+), 26 deletions(-)
diff --git a/.github/dependabot.yml b/.github/dependabot.yml
index 69d1ba161..deb434675 100644
--- a/.github/dependabot.yml
+++ b/.github/dependabot.yml
@@ -1,33 +1,7 @@
----
version: 2
updates:
- - package-ecosystem: "gomod"
- directory: "/"
- schedule:
- interval: "weekly"
- labels:
- - "area/dependency"
- - "release-note-none"
- - "ok-to-test"
- groups:
- all:
- update-types:
- - "patch"
- package-ecosystem: "github-actions"
directory: "/"
- schedule:
- interval: "weekly"
- labels:
- - "area/dependency"
- - "release-note-none"
- - "ok-to-test"
- groups:
- all:
- update-types:
- - "minor"
- - "patch"
- - package-ecosystem: "docker"
- directory: "/images"
schedule:
interval: "weekly"
labels:
@@ -39,3 +13,31 @@ updates:
update-types:
- "minor"
- "patch"
+ - package-ecosystem: "docker"
+ directories:
+ - "**/rootfs"
+ schedule:
+ interval: "weekly"
+ labels:
+ - "area/dependency"
+ - "release-note-none"
+ - "ok-to-test"
+ groups:
+ docker:
+ update-types:
+ - "minor"
+ - "patch"
+ - package-ecosystem: "gomod"
+ directories:
+ - "/"
+ - "**/rootfs"
+ schedule:
+ interval: "weekly"
+ labels:
+ - "area/dependency"
+ - "release-note-none"
+ - "ok-to-test"
+ groups:
+ go:
+ update-types:
+ - "patch"
From 97e185578c7fc3dab932e20940fd431406dd69f6 Mon Sep 17 00:00:00 2001
From: k8s-infra-cherrypick-robot
<90416843+k8s-infra-cherrypick-robot@users.noreply.github.com>
Date: Mon, 30 Sep 2024 05:35:04 -0700
Subject: [PATCH 237/265] Bump github.com/prometheus/client_golang from 1.11.1
to 1.20.4 in /images/custom-error-pages/rootfs (#12045)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
---
images/custom-error-pages/rootfs/go.mod | 18 +--
images/custom-error-pages/rootfs/go.sum | 161 ++++--------------------
2 files changed, 31 insertions(+), 148 deletions(-)
diff --git a/images/custom-error-pages/rootfs/go.mod b/images/custom-error-pages/rootfs/go.mod
index 34363c50a..bd24d4e1c 100644
--- a/images/custom-error-pages/rootfs/go.mod
+++ b/images/custom-error-pages/rootfs/go.mod
@@ -2,16 +2,16 @@ module k8s.io/ingress-nginx/custom-error-pages
go 1.22.7
-require github.com/prometheus/client_golang v1.11.1
+require github.com/prometheus/client_golang v1.20.4
require (
github.com/beorn7/perks v1.0.1 // indirect
- github.com/cespare/xxhash/v2 v2.1.1 // indirect
- github.com/golang/protobuf v1.5.0 // indirect
- github.com/matttproud/golang_protobuf_extensions v1.0.1 // indirect
- github.com/prometheus/client_model v0.2.0 // indirect
- github.com/prometheus/common v0.26.0 // indirect
- github.com/prometheus/procfs v0.6.0 // indirect
- golang.org/x/sys v0.1.0 // indirect
- google.golang.org/protobuf v1.33.0 // indirect
+ github.com/cespare/xxhash/v2 v2.3.0 // indirect
+ github.com/klauspost/compress v1.17.9 // indirect
+ github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect
+ github.com/prometheus/client_model v0.6.1 // indirect
+ github.com/prometheus/common v0.55.0 // indirect
+ github.com/prometheus/procfs v0.15.1 // indirect
+ golang.org/x/sys v0.22.0 // indirect
+ google.golang.org/protobuf v1.34.2 // indirect
)
diff --git a/images/custom-error-pages/rootfs/go.sum b/images/custom-error-pages/rootfs/go.sum
index 99c959a36..a228b18fb 100644
--- a/images/custom-error-pages/rootfs/go.sum
+++ b/images/custom-error-pages/rootfs/go.sum
@@ -1,141 +1,24 @@
-cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw=
-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/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/cespare/xxhash/v2 v2.1.1 h1:6MnRN8NT7+YBpUIWxHtefFZOKTAPgGjpQSxqLNn0+qY=
-github.com/cespare/xxhash/v2 v2.1.1/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs=
-github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
-github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
-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-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY=
-github.com/gogo/protobuf v1.1.1/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ=
-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.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.2/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI=
-github.com/golang/protobuf v1.4.3/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI=
-github.com/golang/protobuf v1.5.0 h1:LUVKkCeviFUMKqHa4tXIIij/lbhnMbP7Fn5wKdKkRh4=
-github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk=
-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.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
-github.com/google/go-cmp v0.5.5 h1:Khx7svrCpmxxtHBq5j2mp/xVjsi8hQMfNLvJFAlrGgU=
-github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
-github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg=
-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/julienschmidt/httprouter v1.2.0/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7VTCxuUUipMqKk8s4w=
-github.com/julienschmidt/httprouter v1.3.0/go.mod h1:JR6WtHb+2LUe8TCKY3cZOxFyyO8IZAc4RVcycCCAKdM=
-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/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo=
-github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ=
-github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI=
-github.com/matttproud/golang_protobuf_extensions v1.0.1 h1:4hp9jkHxhMHkqkrB3Ix0jegS5sx/RkqARlsWZ6pIwiU=
-github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0=
-github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q=
-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/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/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/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
-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.1 h1:+4eQaD7vAZ6DsfsxB15hbE0odUjGI5ARs9yskGu1v4s=
-github.com/prometheus/client_golang v1.11.1/go.mod h1:Z6t4BnS23TR94PD6BsDNk8yVqroYurpAkEiz0P2BEV0=
-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.2.0 h1:uq5h0d+GuxiXLJLNABMgp2qUWDPiLvgCzz2dUR+/W/M=
-github.com/prometheus/client_model v0.2.0/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA=
-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 h1:iMAkS2TDoNWnKM+Kopnx/8tnEStIfpYA0ur0xQzzhMQ=
-github.com/prometheus/common v0.26.0/go.mod h1:M7rCNAaPfAosfx8veZJCuw84e35h3Cfd9VFqTh1DIvc=
-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 h1:mxy4L2jP6qMonqmq+aTtOx1ifVWUgG/TAmntgbh3xv4=
-github.com/prometheus/procfs v0.6.0/go.mod h1:cz+aTbrPOrUb4q7XlbU9ygM+/jj0fzG6c1xBZuNvfVA=
-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/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/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=
-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-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
-golang.org/x/net v0.0.0-20180724234803-3673e40ba225/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-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
-golang.org/x/net v0.0.0-20190613194153-d28f0bde5980/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
-golang.org/x/net v0.0.0-20200625001655-4c5254603344/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA=
-golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
-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-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
-golang.org/x/sync v0.0.0-20201207232520-09787c993a3a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
-golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/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-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-20200106162015-b016eb3dc98e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/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-20210124154548-22da62e12c0c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20210603081109-ebe580a85c40/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
-golang.org/x/sys v0.1.0 h1:kunALQeHf1/185U1i0GOB/fy1IPRDDpuoOOqRReG57U=
-golang.org/x/sys v0.1.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
-golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
-golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk=
-golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
-golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543 h1:E7g+9GITq07hpfrRu66IVDexMakfv52eLZ2CXBWiKr4=
-golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
-google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4=
-google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8=
-google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0=
-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.23.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU=
-google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw=
-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=
-gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
-gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
-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.3.0/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
+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/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI=
+github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY=
+github.com/klauspost/compress v1.17.9 h1:6KIumPrER1LHsvBVuDa0r5xaG0Es51mhhB9BQB2qeMA=
+github.com/klauspost/compress v1.17.9/go.mod h1:Di0epgTjJY877eYKx5yC51cX2A2Vl2ibi7bDH9ttBbw=
+github.com/kylelemons/godebug v1.1.0 h1:RPNrshWIDI6G2gRW9EHilWtl7Z6Sb1BR0xunSBf0SNc=
+github.com/kylelemons/godebug v1.1.0/go.mod h1:9/0rRGxNHcop5bhtWyNeEfOS8JIWk580+fNqagV/RAw=
+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/prometheus/client_golang v1.20.4 h1:Tgh3Yr67PaOv/uTqloMsCEdeuFTatm5zIq5+qNN23vI=
+github.com/prometheus/client_golang v1.20.4/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=
+golang.org/x/sys v0.22.0 h1:RI27ohtqKCnwULzJLqkv897zojh5/DwS/ENaMzUOaWI=
+golang.org/x/sys v0.22.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
+google.golang.org/protobuf v1.34.2 h1:6xV6lTsCfpGD21XK49h7MhtcApnLqkfYgPcdHftf6hg=
+google.golang.org/protobuf v1.34.2/go.mod h1:qYOHts0dSfpeUzUFpOMr/WGzszTmLH+DiWniOlNbLDw=
From e6e7790ddefbe5f6cf633bef2a84b7e34a31cd93 Mon Sep 17 00:00:00 2001
From: k8s-infra-cherrypick-robot
<90416843+k8s-infra-cherrypick-robot@users.noreply.github.com>
Date: Mon, 30 Sep 2024 05:38:02 -0700
Subject: [PATCH 238/265] Bump k8s.io/apimachinery from 0.23.1 to 0.31.1 in
/images/ext-auth-example-authsvc/rootfs (#12044)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
---
images/ext-auth-example-authsvc/rootfs/go.mod | 4 +-
images/ext-auth-example-authsvc/rootfs/go.sum | 219 +-----------------
2 files changed, 6 insertions(+), 217 deletions(-)
diff --git a/images/ext-auth-example-authsvc/rootfs/go.mod b/images/ext-auth-example-authsvc/rootfs/go.mod
index 366e19639..908da4b2e 100644
--- a/images/ext-auth-example-authsvc/rootfs/go.mod
+++ b/images/ext-auth-example-authsvc/rootfs/go.mod
@@ -2,6 +2,6 @@ module example.com/authsvc
go 1.22.7
-require k8s.io/apimachinery v0.23.1
+require k8s.io/apimachinery v0.31.1
-require github.com/google/uuid v1.1.2 // indirect
+require github.com/google/uuid v1.6.0 // indirect
diff --git a/images/ext-auth-example-authsvc/rootfs/go.sum b/images/ext-auth-example-authsvc/rootfs/go.sum
index 6e3fab295..a3b9e420d 100644
--- a/images/ext-auth-example-authsvc/rootfs/go.sum
+++ b/images/ext-auth-example-authsvc/rootfs/go.sum
@@ -1,215 +1,4 @@
-cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw=
-github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU=
-github.com/NYTimes/gziphandler v0.0.0-20170623195520-56545f4a5d46/go.mod h1:3wb06e3pkSAbeQ52E9H9iFoQsEEwGN64994WTCIhntQ=
-github.com/PuerkitoBio/purell v1.1.1/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbtSwDGJws/X0=
-github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578/go.mod h1:uGdkoq3SwY9Y+13GIhn11/XLaGBb4BfwItxLd5jeuXE=
-github.com/asaskevich/govalidator v0.0.0-20190424111038-f61b66f89f4a/go.mod h1:lB+ZfQJz7igIIfQNfa7Ml4HSf2uFQQRzpGGRXenZAgY=
-github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU=
-github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw=
-github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E=
-github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
-github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
-github.com/docopt/docopt-go v0.0.0-20180111231733-ee0de3bc6815/go.mod h1:WwZ+bS3ebgob9U8Nd0kOddGdZWjyMGR8Wziv+TBNwSE=
-github.com/elazarl/goproxy v0.0.0-20180725130230-947c36da3153/go.mod h1:/Zj4wYkgs4iZTTu3o/KG3Itv/qCCa8VVMlb3i9OVuzc=
-github.com/emicklei/go-restful v0.0.0-20170410110728-ff4f55a20633/go.mod h1:otzb+WCGbkyDHkqmQmT5YD2WR4BBwUdeQoFo8l/7tVs=
-github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4=
-github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c=
-github.com/evanphx/json-patch v4.12.0+incompatible/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk=
-github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo=
-github.com/fsnotify/fsnotify v1.4.9/go.mod h1:znqG4EE+3YCdAaPaxE2ZRY/06pZUdp0tY4IgpuI1SZQ=
-github.com/getkin/kin-openapi v0.76.0/go.mod h1:660oXbgy5JFMKreazJaQTw7o+X00qeSyhcnluiMv+Xg=
-github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04=
-github.com/go-logr/logr v0.1.0/go.mod h1:ixOQHD9gLJUVQQ2ZOR7zLEifBX6tGkNJF4QyIY7sIas=
-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-openapi/jsonpointer v0.19.3/go.mod h1:Pl9vOtqEWErmShwVjC8pYs9cog34VGT37dQOVbmoatg=
-github.com/go-openapi/jsonpointer v0.19.5/go.mod h1:Pl9vOtqEWErmShwVjC8pYs9cog34VGT37dQOVbmoatg=
-github.com/go-openapi/jsonreference v0.19.3/go.mod h1:rjx6GuL8TTa9VaixXglHmQmIL98+wF9xc8zWvFonSJ8=
-github.com/go-openapi/swag v0.19.5/go.mod h1:POnQmlKehdgb5mhVOsnJFsivZCEZ/vjK9gh66Z9tfKk=
-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/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A=
-github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
-github.com/golang/protobuf v1.3.2/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
-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.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk=
-github.com/golang/protobuf v1.5.2/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY=
-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.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
-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/uuid v1.1.2 h1:EVhdT+1Kseyi1/pUmXKaFxYsDNy9RQYkMWRH68J/W7Y=
-github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
-github.com/googleapis/gnostic v0.5.1/go.mod h1:6U4PtQXGIEt/Z3h5MAT7FNofLnw9vXk2cUuW7uA/OeU=
-github.com/googleapis/gnostic v0.5.5/go.mod h1:7+EbHbldMins07ALC74bsA81Ovc97DwqyJO1AENw9kA=
-github.com/gorilla/mux v1.8.0/go.mod h1:DVbg23sWSpFRCP0SfiEN6jmj59UnW/n46BH5rLB71So=
-github.com/gorilla/websocket v1.4.2/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE=
-github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU=
-github.com/json-iterator/go v1.1.6/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU=
-github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo=
-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/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo=
-github.com/kr/pretty v0.2.0/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI=
-github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ=
-github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI=
-github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE=
-github.com/mailru/easyjson v0.0.0-20190614124828-94de47d64c63/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc=
-github.com/mailru/easyjson v0.0.0-20190626092158-b2ccc519800e/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc=
-github.com/mitchellh/mapstructure v1.1.2/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y=
-github.com/moby/spdystream v0.2.0/go.mod h1:f7i0iNDQJ059oMTcWxx8MA/zKFIuD/lY+0GqbN2Wy8c=
-github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q=
-github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q=
-github.com/modern-go/reflect2 v1.0.1/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0=
-github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk=
-github.com/munnerz/goautoneg v0.0.0-20120707110453-a547fc61f48d/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ=
-github.com/mxk/go-flowrate v0.0.0-20140419014527-cca7078d478f/go.mod h1:ZdcZmHo+o7JKHSa8/e818NopupXU1YMK5fe1lsApnBw=
-github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e/go.mod h1:zD1mROLANZcx1PVRCS0qkT7pwLkGfwJo4zjcN/Tysno=
-github.com/nxadm/tail v1.4.4/go.mod h1:kenIhsEOeOJmVchQTgglprH7qJGnHDVpk1VPCcaMI8A=
-github.com/onsi/ginkgo v0.0.0-20170829012221-11459a886d9c/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE=
-github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE=
-github.com/onsi/ginkgo v1.12.1/go.mod h1:zj2OWP4+oCPe1qIXoGWkgMRwljMUYCdkwsT2108oapk=
-github.com/onsi/ginkgo v1.14.0/go.mod h1:iSB4RoI2tjJc9BBv4NKIKWKya62Rps+oPG/Lv9klQyY=
-github.com/onsi/gomega v0.0.0-20170829124025-dcabb60a477c/go.mod h1:C1qb7wdrVGGVU+Z6iS04AVkA3Q65CEZX59MT0QO5uiA=
-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/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
-github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
-github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA=
-github.com/spf13/afero v1.2.2/go.mod h1:9ZxEEn6pIJ8Rxe320qSDBk6AsU0r9pR7Q4OcevTdifk=
-github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg=
-github.com/stoewer/go-strcase v1.2.0/go.mod h1:IBiWB2sKIp3wVVQ3Y035++gc+knqhUQag1KpM8ahLw8=
-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.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5cxcmMvtA=
-github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
-github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
-github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
-github.com/yuin/goldmark v1.3.5/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k=
-golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
-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/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
-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-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc=
-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.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
-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/net v0.0.0-20180906233101-161cd47e91fd/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-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
-golang.org/x/net v0.0.0-20190827160401-ba9fcec4b297/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-20200520004742-59133d7f0dd7/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A=
-golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU=
-golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM=
-golang.org/x/net v0.0.0-20211209124913-491a49abca63/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
-golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
-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-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=
-golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
-golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
-golang.org/x/sys v0.0.0-20180909124046-d0be0721c37e/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-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20190904154756-749cb33beabd/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-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20200519105757-fe76b779f299/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-20210330210617-4fbd30eecc44/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20210510120138-977fb7262007/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
-golang.org/x/sys v0.0.0-20210831042530-f4d43177bf5e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
-golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
-golang.org/x/text v0.3.0/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.5/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/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-20190524140312-2c0ae7006135/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q=
-golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
-golang.org/x/tools v0.0.0-20200505023115-26f46d2f7ef8/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-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA=
-golang.org/x/tools v0.1.5/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk=
-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=
-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/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc=
-google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc=
-google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013/go.mod h1:NbSheEEYHJ7i3ixzK3sjbqSGDJWnxyFXZblF3eUsNvo=
-google.golang.org/genproto v0.0.0-20201019141844-1ed22bb0c154/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
-google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c=
-google.golang.org/grpc v1.23.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg=
-google.golang.org/grpc v1.27.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk=
-google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8=
-google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0=
-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.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.27.1/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc=
-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-20200227125254-8fa46927fb4f/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
-gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMys=
-gopkg.in/inf.v0 v0.9.1/go.mod h1:cWUDdTG/fYaXco+Dcufb5Vnc6Gp2YChqWtbxRZE0mXw=
-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.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/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.0-20200615113413-eeeca48fe776/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
-gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b/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-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
-k8s.io/apimachinery v0.23.1 h1:sfBjlDFwj2onG0Ijx5C+SrAoeUscPrmghm7wHP+uXlo=
-k8s.io/apimachinery v0.23.1/go.mod h1:SADt2Kl8/sttJ62RRsi9MIV4o8f5S3coArm0Iu3fBno=
-k8s.io/gengo v0.0.0-20210813121822-485abfe95c7c/go.mod h1:FiNAH4ZV3gBg2Kwh89tzAEV2be7d5xI0vBa/VySYy3E=
-k8s.io/klog/v2 v2.0.0/go.mod h1:PBfzABfn139FHAV07az/IF9Wp1bkk3vpT2XSJ76fSDE=
-k8s.io/klog/v2 v2.2.0/go.mod h1:Od+F08eJP+W3HUb4pSrPpgp9DGU4GzlpG/TmITuYh/Y=
-k8s.io/klog/v2 v2.30.0/go.mod h1:y1WjHnz7Dj687irZUWR/WLkLc5N1YHtjLdmgWjndZn0=
-k8s.io/kube-openapi v0.0.0-20211115234752-e816edb12b65/go.mod h1:sX9MT8g7NVZM5lVL/j8QyCCJe8YSMW30QvGZWaCIDIk=
-k8s.io/utils v0.0.0-20210802155522-efc7438f0176/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA=
-k8s.io/utils v0.0.0-20210930125809-cb0fa318a74b/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA=
-sigs.k8s.io/json v0.0.0-20211020170558-c049b76a60c6/go.mod h1:p4QtZmO4uMYipTQNzagwnNoseA6OxSUutVw05NhYDRs=
-sigs.k8s.io/structured-merge-diff/v4 v4.0.2/go.mod h1:bJZC9H9iH24zzfZ/41RGcq60oK1F7G282QMXDPYydCw=
-sigs.k8s.io/structured-merge-diff/v4 v4.1.2/go.mod h1:j/nl6xW8vLS49O8YvXW1ocPhZawJtm+Yrr7PPRQ0Vg4=
-sigs.k8s.io/yaml v1.2.0/go.mod h1:yfXDCHCao9+ENCvLSE62v9VSji2MKu5jeNfTrofGhJc=
+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=
+k8s.io/apimachinery v0.31.1 h1:mhcUBbj7KUjaVhyXILglcVjuS4nYXiwC+KKFBgIVy7U=
+k8s.io/apimachinery v0.31.1/go.mod h1:rsPdaZJfTfLsNJSQzNHQvYoTmxhoOEofxtOsF3rtsMo=
From ed2c28ae543db3d74f84644ad2001d72b875feaa Mon Sep 17 00:00:00 2001
From: k8s-infra-cherrypick-robot
<90416843+k8s-infra-cherrypick-robot@users.noreply.github.com>
Date: Mon, 30 Sep 2024 05:40:04 -0700
Subject: [PATCH 239/265] Bump k8s.io/kube-aggregator from 0.29.3 to 0.31.1 in
/images/kube-webhook-certgen/rootfs (#12048)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
---
images/kube-webhook-certgen/rootfs/go.mod | 29 ++++----
images/kube-webhook-certgen/rootfs/go.sum | 83 +++++++++--------------
2 files changed, 48 insertions(+), 64 deletions(-)
diff --git a/images/kube-webhook-certgen/rootfs/go.mod b/images/kube-webhook-certgen/rootfs/go.mod
index 9bbb5b391..c9f1c827c 100644
--- a/images/kube-webhook-certgen/rootfs/go.mod
+++ b/images/kube-webhook-certgen/rootfs/go.mod
@@ -5,17 +5,17 @@ go 1.22.7
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.3
- k8s.io/apimachinery v0.29.3
- k8s.io/client-go v0.29.3
- k8s.io/kube-aggregator v0.29.3
+ github.com/spf13/cobra v1.8.1
+ k8s.io/api v0.31.1
+ k8s.io/apimachinery v0.31.1
+ k8s.io/client-go v0.31.1
+ k8s.io/kube-aggregator v0.31.1
)
require (
- github.com/davecgh/go-spew v1.1.1 // indirect
+ github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect
github.com/emicklei/go-restful/v3 v3.11.3 // indirect
- github.com/evanphx/json-patch v5.9.0+incompatible // indirect
+ github.com/fxamacker/cbor/v2 v2.7.0 // 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
@@ -23,6 +23,7 @@ require (
github.com/gogo/protobuf v1.3.2 // indirect
github.com/golang/protobuf v1.5.4 // indirect
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/uuid v1.6.0 // indirect
github.com/imdario/mergo v0.3.16 // indirect
@@ -37,21 +38,21 @@ require (
github.com/onsi/gomega v1.34.1 // indirect
github.com/pkg/errors v0.9.1 // indirect
github.com/spf13/pflag v1.0.5 // indirect
- github.com/stretchr/testify v1.9.0 // indirect
+ github.com/x448/float16 v0.8.4 // indirect
golang.org/x/net v0.28.0 // indirect
- golang.org/x/oauth2 v0.18.0 // indirect
+ golang.org/x/oauth2 v0.21.0 // indirect
golang.org/x/sys v0.24.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
- google.golang.org/appengine v1.6.8 // indirect
- google.golang.org/protobuf v1.34.1 // indirect
+ google.golang.org/protobuf v1.34.2 // indirect
+ gopkg.in/evanphx/json-patch.v4 v4.12.0 // 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/klog/v2 v2.120.1 // indirect
- k8s.io/kube-openapi v0.0.0-20240224005224-582cce78233b // indirect
- k8s.io/utils v0.0.0-20240102154912-e7106e64919e // indirect
+ k8s.io/klog/v2 v2.130.1 // indirect
+ k8s.io/kube-openapi v0.0.0-20240228011516-70dd3763d340 // indirect
+ k8s.io/utils v0.0.0-20240711033017-18e509b52bc8 // indirect
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd // indirect
sigs.k8s.io/structured-merge-diff/v4 v4.4.1 // indirect
sigs.k8s.io/yaml v1.4.0 // indirect
diff --git a/images/kube-webhook-certgen/rootfs/go.sum b/images/kube-webhook-certgen/rootfs/go.sum
index f96347108..da633e6db 100644
--- a/images/kube-webhook-certgen/rootfs/go.sum
+++ b/images/kube-webhook-certgen/rootfs/go.sum
@@ -1,11 +1,12 @@
-github.com/cpuguy83/go-md2man/v2 v2.0.3/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o=
+github.com/cpuguy83/go-md2man/v2 v2.0.4/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o=
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/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/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/fxamacker/cbor/v2 v2.7.0 h1:iM5WgngdRBanHcxugY4JySA0nk1wZorNOpTgCMedv5E=
+github.com/fxamacker/cbor/v2 v2.7.0/go.mod h1:pxXPTn3joSm21Gbwsv0w9OSA2y1HFR9qXEeXQVeNoDQ=
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=
@@ -14,18 +15,14 @@ github.com/go-openapi/jsonreference v0.20.4 h1:bKlDxQxQJgwpUSgOENiMPzCTBVuc7vTdX
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-task/slim-sprig v0.0.0-20230315185526-52ccab3ef572 h1:tfuBGBXKqDEevZMzYi5KSi8KkcZtzBcTgAUUtapy0OI=
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.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=
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=
@@ -67,15 +64,16 @@ 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=
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
-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/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/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=
@@ -89,50 +87,38 @@ github.com/tidwall/match v1.1.1 h1:+Ho715JplO36QYgwN9PGYNhgZvoUSc9X2c80KVTi+GA=
github.com/tidwall/match v1.1.1/go.mod h1:eRSPERbgtNPcGhD8UCthc6PmLEQXEWd3PRB5JTxsfmM=
github.com/tidwall/pretty v1.2.0 h1:RWIZEg2iJ8/g6fDDYzMpobmaoGh5OLl4AXtGUGPcqCs=
github.com/tidwall/pretty v1.2.0/go.mod h1:ITEVvHYasfjBbM0u2Pg8T2nJnzm8xPwvNhhsoaGGjNU=
+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/yuin/goldmark v1.1.27/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=
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
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=
golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
golang.org/x/net v0.0.0-20190620200207-3b0461eec859/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-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.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/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-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=
-golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20190412213103-97732733099d/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-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-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.24.0 h1:Twjiwq9dn6R1fQcyiK+wQyHWfaz/BJB+YIpzU/Cv3Xg=
golang.org/x/sys v0.24.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.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.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=
@@ -141,22 +127,19 @@ golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGm
golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
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.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=
-google.golang.org/appengine v1.6.8 h1:IhEN5q69dyKagZPYMSdIjS2HqprW324FRQZJcGqPAsM=
-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.34.1 h1:9ddQBjfCyZPOHPUiPxpYESBLc+T8P3E+Vo4IbKZgFWg=
-google.golang.org/protobuf v1.34.1/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos=
+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-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk=
gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q=
+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/inf.v0 v0.9.1 h1:73M5CoZyi3ZLMOyDlQh031Cx6N9NDJ2Vvfl76EDAgDc=
gopkg.in/inf.v0 v0.9.1/go.mod h1:cWUDdTG/fYaXco+Dcufb5Vnc6Gp2YChqWtbxRZE0mXw=
gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
@@ -165,20 +148,20 @@ 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.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.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=
-k8s.io/utils v0.0.0-20240102154912-e7106e64919e/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0=
+k8s.io/api v0.31.1 h1:Xe1hX/fPW3PXYYv8BlozYqw63ytA92snr96zMW9gWTU=
+k8s.io/api v0.31.1/go.mod h1:sbN1g6eY6XVLeqNsZGLnI5FwVseTrZX7Fv3O26rhAaI=
+k8s.io/apimachinery v0.31.1 h1:mhcUBbj7KUjaVhyXILglcVjuS4nYXiwC+KKFBgIVy7U=
+k8s.io/apimachinery v0.31.1/go.mod h1:rsPdaZJfTfLsNJSQzNHQvYoTmxhoOEofxtOsF3rtsMo=
+k8s.io/client-go v0.31.1 h1:f0ugtWSbWpxHR7sjVpQwuvw9a3ZKLXX0u0itkFXufb0=
+k8s.io/client-go v0.31.1/go.mod h1:sKI8871MJN2OyeqRlmA4W4KM9KBdBUpDLu/43eGemCg=
+k8s.io/klog/v2 v2.130.1 h1:n9Xl7H1Xvksem4KFG4PYbdQCQxqc/tTUyrgXaOhHSzk=
+k8s.io/klog/v2 v2.130.1/go.mod h1:3Jpz1GvMt720eyJH1ckRHK1EDfpxISzJ7I9OYgaDtPE=
+k8s.io/kube-aggregator v0.31.1 h1:vrYBTTs3xMrpiEsmBjsLETZE9uuX67oQ8B3i1BFfMPw=
+k8s.io/kube-aggregator v0.31.1/go.mod h1:+aW4NX50uneozN+BtoCxI4g7ND922p8Wy3tWKFDiWVk=
+k8s.io/kube-openapi v0.0.0-20240228011516-70dd3763d340 h1:BZqlfIlq5YbRMFko6/PM7FjZpUb45WallggurYhKGag=
+k8s.io/kube-openapi v0.0.0-20240228011516-70dd3763d340/go.mod h1:yD4MZYeKMBwQKVht279WycxKyM84kkAx2DPrTXaeb98=
+k8s.io/utils v0.0.0-20240711033017-18e509b52bc8 h1:pUdcCO1Lk/tbT5ztQWOBi5HBgbBP1J8+AsQnQCKsi8A=
+k8s.io/utils v0.0.0-20240711033017-18e509b52bc8/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0=
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/structured-merge-diff/v4 v4.4.1 h1:150L+0vs/8DA78h1u02ooW1/fFq/Lwr+sGiqlzvrtq4=
From 7c58cc96960157dac9f17d069af22a5d163cbe27 Mon Sep 17 00:00:00 2001
From: k8s-infra-cherrypick-robot
<90416843+k8s-infra-cherrypick-robot@users.noreply.github.com>
Date: Mon, 30 Sep 2024 07:30:03 -0700
Subject: [PATCH 240/265] Bump the go group across 1 directory with 3 updates
(#12052)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
---
go.mod | 6 +++---
go.sum | 12 ++++++------
2 files changed, 9 insertions(+), 9 deletions(-)
diff --git a/go.mod b/go.mod
index 1f92bb98d..7657fc560 100644
--- a/go.mod
+++ b/go.mod
@@ -32,12 +32,12 @@ require (
gopkg.in/go-playground/pool.v3 v3.1.1
gopkg.in/mcuadros/go-syslog.v2 v2.3.0
k8s.io/api v0.31.1
- k8s.io/apiextensions-apiserver v0.31.0
+ k8s.io/apiextensions-apiserver v0.31.1
k8s.io/apimachinery v0.31.1
- k8s.io/apiserver v0.31.0
+ k8s.io/apiserver v0.31.1
k8s.io/cli-runtime v0.30.0
k8s.io/client-go v0.31.1
- k8s.io/code-generator v0.31.0
+ k8s.io/code-generator v0.31.1
k8s.io/component-base v0.31.1
k8s.io/klog/v2 v2.130.1
pault.ag/go/sniff v0.0.0-20200207005214-cf7e4d167732
diff --git a/go.sum b/go.sum
index bfd3f7fe8..43df65e5f 100644
--- a/go.sum
+++ b/go.sum
@@ -341,18 +341,18 @@ 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.31.1 h1:Xe1hX/fPW3PXYYv8BlozYqw63ytA92snr96zMW9gWTU=
k8s.io/api v0.31.1/go.mod h1:sbN1g6eY6XVLeqNsZGLnI5FwVseTrZX7Fv3O26rhAaI=
-k8s.io/apiextensions-apiserver v0.31.0 h1:fZgCVhGwsclj3qCw1buVXCV6khjRzKC5eCFt24kyLSk=
-k8s.io/apiextensions-apiserver v0.31.0/go.mod h1:b9aMDEYaEe5sdK+1T0KU78ApR/5ZVp4i56VacZYEHxk=
+k8s.io/apiextensions-apiserver v0.31.1 h1:L+hwULvXx+nvTYX/MKM3kKMZyei+UiSXQWciX/N6E40=
+k8s.io/apiextensions-apiserver v0.31.1/go.mod h1:tWMPR3sgW+jsl2xm9v7lAyRF1rYEK71i9G5dRtkknoQ=
k8s.io/apimachinery v0.31.1 h1:mhcUBbj7KUjaVhyXILglcVjuS4nYXiwC+KKFBgIVy7U=
k8s.io/apimachinery v0.31.1/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/apiserver v0.31.1 h1:Sars5ejQDCRBY5f7R3QFHdqN3s61nhkpaX8/k1iEw1c=
+k8s.io/apiserver v0.31.1/go.mod h1:lzDhpeToamVZJmmFlaLwdYZwd7zB+WYRYIboqA1kGxM=
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.1 h1:f0ugtWSbWpxHR7sjVpQwuvw9a3ZKLXX0u0itkFXufb0=
k8s.io/client-go v0.31.1/go.mod h1:sKI8871MJN2OyeqRlmA4W4KM9KBdBUpDLu/43eGemCg=
-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/code-generator v0.31.1 h1:GvkRZEP2g2UnB2QKT2Dgc/kYxIkDxCHENv2Q1itioVs=
+k8s.io/code-generator v0.31.1/go.mod h1:oL2ky46L48osNqqZAeOcWWy0S5BXj50vVdwOtTefqIs=
k8s.io/component-base v0.31.1 h1:UpOepcrX3rQ3ab5NB6g5iP0tvsgJWzxTyAo20sgYSy8=
k8s.io/component-base v0.31.1/go.mod h1:WGeaw7t/kTsqpVTaCoVEtillbqAhF2/JgvO0LDOMa0w=
k8s.io/gengo/v2 v2.0.0-20240404160639-a0386bf69313 h1:bKcdZJOPICVmIIuaM9+MXmapE94dn5AYv5ODs1jA43o=
From fe6e276ba1c60f72776b33ca6f5a511cf2fa1bce Mon Sep 17 00:00:00 2001
From: k8s-infra-cherrypick-robot
<90416843+k8s-infra-cherrypick-robot@users.noreply.github.com>
Date: Mon, 30 Sep 2024 08:12:03 -0700
Subject: [PATCH 241/265] Bump github/codeql-action from 3.26.9 to 3.26.10 in
the actions group (#12054)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
---
.github/workflows/scorecards.yml | 2 +-
.github/workflows/vulnerability-scans.yaml | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/.github/workflows/scorecards.yml b/.github/workflows/scorecards.yml
index 764126450..4038f1158 100644
--- a/.github/workflows/scorecards.yml
+++ b/.github/workflows/scorecards.yml
@@ -59,6 +59,6 @@ jobs:
# Upload the results to GitHub's code scanning dashboard.
- name: "Upload to code-scanning"
- uses: github/codeql-action/upload-sarif@461ef6c76dfe95d5c364de2f431ddbd31a417628 # v3.26.9
+ uses: github/codeql-action/upload-sarif@e2b3eafc8d227b0241d48be5f425d47c2d750a13 # v3.26.10
with:
sarif_file: results.sarif
diff --git a/.github/workflows/vulnerability-scans.yaml b/.github/workflows/vulnerability-scans.yaml
index 9b038de98..adf8a593f 100644
--- a/.github/workflows/vulnerability-scans.yaml
+++ b/.github/workflows/vulnerability-scans.yaml
@@ -75,7 +75,7 @@ jobs:
# This step checks out a copy of your repository.
- name: Upload SARIF file
- uses: github/codeql-action/upload-sarif@461ef6c76dfe95d5c364de2f431ddbd31a417628 # v3.26.9
+ uses: github/codeql-action/upload-sarif@e2b3eafc8d227b0241d48be5f425d47c2d750a13 # v3.26.10
with:
token: ${{ github.token }}
# Path to SARIF file relative to the root of the repository
From 27f93dec50d596c61c408781550ef50949e827ed Mon Sep 17 00:00:00 2001
From: Marco Ebert
Date: Tue, 1 Oct 2024 12:42:44 +0200
Subject: [PATCH 242/265] Images: Remove NGINX v1.21. (#12057)
---
.github/workflows/ci.yaml | 12 +-
.github/workflows/images.yaml | 11 +-
images/nginx-1.25/Makefile | 59 --
images/nginx-1.25/README.md | 47 --
images/nginx-1.25/TAG | 1 -
images/nginx-1.25/cloudbuild.yaml | 14 -
images/nginx-1.25/rootfs/Dockerfile | 74 ---
images/nginx-1.25/rootfs/build.sh | 628 ------------------
images/nginx/Makefile | 4 +-
images/nginx/README.md | 60 +-
images/nginx/TAG | 2 +-
images/nginx/rootfs/Dockerfile | 7 +-
images/nginx/rootfs/build.sh | 493 ++++++--------
.../rootfs/patches/00_drop-alias-root.patch | 0
.../01_nginx-1.25.3-win32_max_err_str.patch | 0
..._nginx-1.25.3-stream_balancer_export.patch | 0
...stream_proxy_get_next_upstream_tries.patch | 0
...x-1.25.3-stream_proxy_timeout_fields.patch | 0
...nx-1.25.3-stream_ssl_preread_no_skip.patch | 0
...6_nginx-1.25.3-resolver_conf_parsing.patch | 0
.../07_nginx-1.25.3-daemon_destroy_pool.patch | 0
...nginx-1.25.3-init_cycle_pool_release.patch | 0
...09_nginx-1.25.3-balancer_status_code.patch | 0
...0_nginx-1.25.3-delayed_posted_events.patch | 0
...ginx-1.25.3-privileged_agent_process.patch | 0
...privileged_agent_process_connections.patch | 0
...privileged_agent_process_thread_pool.patch | 0
...-1.25.3-single_process_graceful_exit.patch | 0
.../15_nginx-1.25.3-intercept_error_log.patch | 0
.../16_nginx-1.25.3-upstream_pipelining.patch | 0
.../17_nginx-1.25.3-no_error_pages.patch | 0
.../patches/18_nginx-1.25.3-no_Werror.patch | 0
...19_nginx-1.25.3-log_escape_non_ascii.patch | 0
...20_nginx-1.25.3-proxy_host_port_vars.patch | 0
.../21_nginx-1.25.3-cache_manager_exit.patch | 0
...22_nginx-1.25.3-larger_max_error_str.patch | 0
.../23_nginx-1.25.3-pcre_conf_opt.patch | 0
....25.3-always_enable_cc_feature_tests.patch | 0
.../25_nginx-1.25.3-ssl_cert_cb_yield.patch | 0
.../26_nginx-1.25.3-ssl_sess_cb_yield.patch | 0
...inx-1.25.3-ssl_client_hello_cb_yield.patch | 0
...nginx-1.25.3-upstream_timeout_fields.patch | 0
...inx-1.25.3-safe_resolver_ipv6_option.patch | 0
.../30_nginx-1.25.3-socket_cloexec.patch | 0
...nx-1.25.3-reuseport_close_unused_fds.patch | 0
.../rootfs/patches/drop-alias-root.patch | 144 ----
.../nginx-1.21.4-balancer_status_code.patch | 72 --
.../nginx-1.21.4-cache_manager_exit.patch | 19 -
.../nginx-1.21.4-delayed_posted_events.patch | 98 ---
.../patches/nginx-1.21.4-hash_overflow.patch | 20 -
.../rootfs/patches/nginx-1.21.4-http2.patch | 57 --
...nginx-1.21.4-init_cycle_pool_release.patch | 59 --
.../nginx-1.21.4-larger_max_error_str.patch | 13 -
.../patches/nginx-1.21.4-no_Werror.patch | 36 -
.../nginx-1.21.4-proxy_host_port_vars.patch | 19 -
.../nginx-1.21.4-resolver_conf_parsing.patch | 263 --------
...nx-1.21.4-reuseport_close_unused_fds.patch | 38 --
...-1.21.4-single_process_graceful_exit.patch | 75 ---
.../patches/nginx-1.21.4-socket_cloexec.patch | 185 ------
.../nginx-1.21.4-ssl_cert_cb_yield.patch | 64 --
.../nginx-1.21.4-ssl_sess_cb_yield.patch | 41 --
...stream_proxy_get_next_upstream_tries.patch | 31 -
...nx-1.21.4-stream_ssl_preread_no_skip.patch | 13 -
.../nginx-1.21.4-upstream_pipelining.patch | 23 -
...nginx-1.21.4-upstream_timeout_fields.patch | 112 ----
65 files changed, 247 insertions(+), 2547 deletions(-)
delete mode 100644 images/nginx-1.25/Makefile
delete mode 100644 images/nginx-1.25/README.md
delete mode 100644 images/nginx-1.25/TAG
delete mode 100644 images/nginx-1.25/cloudbuild.yaml
delete mode 100644 images/nginx-1.25/rootfs/Dockerfile
delete mode 100755 images/nginx-1.25/rootfs/build.sh
rename images/{nginx-1.25 => nginx}/rootfs/patches/00_drop-alias-root.patch (100%)
rename images/{nginx-1.25 => nginx}/rootfs/patches/01_nginx-1.25.3-win32_max_err_str.patch (100%)
rename images/{nginx-1.25 => nginx}/rootfs/patches/02_nginx-1.25.3-stream_balancer_export.patch (100%)
rename images/{nginx-1.25 => nginx}/rootfs/patches/03_nginx-1.25.3-stream_proxy_get_next_upstream_tries.patch (100%)
rename images/{nginx-1.25 => nginx}/rootfs/patches/04_nginx-1.25.3-stream_proxy_timeout_fields.patch (100%)
rename images/{nginx-1.25 => nginx}/rootfs/patches/05_nginx-1.25.3-stream_ssl_preread_no_skip.patch (100%)
rename images/{nginx-1.25 => nginx}/rootfs/patches/06_nginx-1.25.3-resolver_conf_parsing.patch (100%)
rename images/{nginx-1.25 => nginx}/rootfs/patches/07_nginx-1.25.3-daemon_destroy_pool.patch (100%)
rename images/{nginx-1.25 => nginx}/rootfs/patches/08_nginx-1.25.3-init_cycle_pool_release.patch (100%)
rename images/{nginx-1.25 => nginx}/rootfs/patches/09_nginx-1.25.3-balancer_status_code.patch (100%)
rename images/{nginx-1.25 => nginx}/rootfs/patches/10_nginx-1.25.3-delayed_posted_events.patch (100%)
rename images/{nginx-1.25 => nginx}/rootfs/patches/11_nginx-1.25.3-privileged_agent_process.patch (100%)
rename images/{nginx-1.25 => nginx}/rootfs/patches/12_nginx-1.25.3-privileged_agent_process_connections.patch (100%)
rename images/{nginx-1.25 => nginx}/rootfs/patches/13_nginx-1.25.3-privileged_agent_process_thread_pool.patch (100%)
rename images/{nginx-1.25 => nginx}/rootfs/patches/14_nginx-1.25.3-single_process_graceful_exit.patch (100%)
rename images/{nginx-1.25 => nginx}/rootfs/patches/15_nginx-1.25.3-intercept_error_log.patch (100%)
rename images/{nginx-1.25 => nginx}/rootfs/patches/16_nginx-1.25.3-upstream_pipelining.patch (100%)
rename images/{nginx-1.25 => nginx}/rootfs/patches/17_nginx-1.25.3-no_error_pages.patch (100%)
rename images/{nginx-1.25 => nginx}/rootfs/patches/18_nginx-1.25.3-no_Werror.patch (100%)
rename images/{nginx-1.25 => nginx}/rootfs/patches/19_nginx-1.25.3-log_escape_non_ascii.patch (100%)
rename images/{nginx-1.25 => nginx}/rootfs/patches/20_nginx-1.25.3-proxy_host_port_vars.patch (100%)
rename images/{nginx-1.25 => nginx}/rootfs/patches/21_nginx-1.25.3-cache_manager_exit.patch (100%)
rename images/{nginx-1.25 => nginx}/rootfs/patches/22_nginx-1.25.3-larger_max_error_str.patch (100%)
rename images/{nginx-1.25 => nginx}/rootfs/patches/23_nginx-1.25.3-pcre_conf_opt.patch (100%)
rename images/{nginx-1.25 => nginx}/rootfs/patches/24_nginx-1.25.3-always_enable_cc_feature_tests.patch (100%)
rename images/{nginx-1.25 => nginx}/rootfs/patches/25_nginx-1.25.3-ssl_cert_cb_yield.patch (100%)
rename images/{nginx-1.25 => nginx}/rootfs/patches/26_nginx-1.25.3-ssl_sess_cb_yield.patch (100%)
rename images/{nginx-1.25 => nginx}/rootfs/patches/27_nginx-1.25.3-ssl_client_hello_cb_yield.patch (100%)
rename images/{nginx-1.25 => nginx}/rootfs/patches/28_nginx-1.25.3-upstream_timeout_fields.patch (100%)
rename images/{nginx-1.25 => nginx}/rootfs/patches/29_nginx-1.25.3-safe_resolver_ipv6_option.patch (100%)
rename images/{nginx-1.25 => nginx}/rootfs/patches/30_nginx-1.25.3-socket_cloexec.patch (100%)
rename images/{nginx-1.25 => nginx}/rootfs/patches/31_nginx-1.25.3-reuseport_close_unused_fds.patch (100%)
delete mode 100644 images/nginx/rootfs/patches/drop-alias-root.patch
delete mode 100644 images/nginx/rootfs/patches/nginx-1.21.4-balancer_status_code.patch
delete mode 100644 images/nginx/rootfs/patches/nginx-1.21.4-cache_manager_exit.patch
delete mode 100644 images/nginx/rootfs/patches/nginx-1.21.4-delayed_posted_events.patch
delete mode 100644 images/nginx/rootfs/patches/nginx-1.21.4-hash_overflow.patch
delete mode 100644 images/nginx/rootfs/patches/nginx-1.21.4-http2.patch
delete mode 100644 images/nginx/rootfs/patches/nginx-1.21.4-init_cycle_pool_release.patch
delete mode 100644 images/nginx/rootfs/patches/nginx-1.21.4-larger_max_error_str.patch
delete mode 100644 images/nginx/rootfs/patches/nginx-1.21.4-no_Werror.patch
delete mode 100644 images/nginx/rootfs/patches/nginx-1.21.4-proxy_host_port_vars.patch
delete mode 100644 images/nginx/rootfs/patches/nginx-1.21.4-resolver_conf_parsing.patch
delete mode 100644 images/nginx/rootfs/patches/nginx-1.21.4-reuseport_close_unused_fds.patch
delete mode 100644 images/nginx/rootfs/patches/nginx-1.21.4-single_process_graceful_exit.patch
delete mode 100644 images/nginx/rootfs/patches/nginx-1.21.4-socket_cloexec.patch
delete mode 100644 images/nginx/rootfs/patches/nginx-1.21.4-ssl_cert_cb_yield.patch
delete mode 100644 images/nginx/rootfs/patches/nginx-1.21.4-ssl_sess_cb_yield.patch
delete mode 100644 images/nginx/rootfs/patches/nginx-1.21.4-stream_proxy_get_next_upstream_tries.patch
delete mode 100644 images/nginx/rootfs/patches/nginx-1.21.4-stream_ssl_preread_no_skip.patch
delete mode 100644 images/nginx/rootfs/patches/nginx-1.21.4-upstream_pipelining.patch
delete mode 100644 images/nginx/rootfs/patches/nginx-1.21.4-upstream_timeout_fields.patch
diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml
index e6748f1ae..3314c059f 100644
--- a/.github/workflows/ci.yaml
+++ b/.github/workflows/ci.yaml
@@ -9,7 +9,7 @@ on:
- 'deploy/**'
- '**.md'
- 'images/**' # Images changes should be tested on their own workflow
- - '!images/nginx-1.25/**'
+ - '!images/nginx/**'
push:
branches:
@@ -68,7 +68,7 @@ jobs:
- 'NGINX_BASE'
baseimage:
- 'NGINX_BASE'
- - 'images/nginx-1.25/**'
+ - 'images/nginx/**'
docs:
- '**/*.md'
@@ -164,8 +164,8 @@ jobs:
if: |
needs.changes.outputs.baseimage == 'true'
run: |
- export TAG=$(cat images/nginx-1.25/TAG)
- cd images/nginx-1.25/rootfs && docker buildx build --platform=${{ env.PLATFORMS }} --load -t registry.k8s.io/ingress-nginx/nginx-1.25:${TAG} .
+ export TAG=$(cat images/nginx/TAG)
+ cd images/nginx/rootfs && docker buildx build --platform=${{ env.PLATFORMS }} --load -t registry.k8s.io/ingress-nginx/nginx:${TAG} .
- name: Build images
env:
@@ -174,8 +174,8 @@ jobs:
REGISTRY: ingress-controller
run: |
echo "building images..."
- export TAGNGINX=$(cat images/nginx-1.25/TAG)
- make BASE_IMAGE=registry.k8s.io/ingress-nginx/nginx-1.25:${TAGNGINX} clean-image build image image-chroot
+ export TAGNGINX=$(cat images/nginx/TAG)
+ make BASE_IMAGE=registry.k8s.io/ingress-nginx/nginx:${TAGNGINX} clean-image build image image-chroot
make -C test/e2e-image image
echo "creating images cache..."
diff --git a/.github/workflows/images.yaml b/.github/workflows/images.yaml
index b6975f5e2..2ec6d8471 100644
--- a/.github/workflows/images.yaml
+++ b/.github/workflows/images.yaml
@@ -36,7 +36,6 @@ jobs:
kube-webhook-certgen: ${{ steps.filter.outputs.kube-webhook-certgen }}
ext-auth-example-authsvc: ${{ steps.filter.outputs.ext-auth-example-authsvc }}
nginx: ${{ steps.filter.outputs.nginx }}
- nginx125: ${{ steps.filter.outputs.nginx125 }}
opentelemetry: ${{ steps.filter.outputs.opentelemetry }}
steps:
@@ -67,8 +66,6 @@ jobs:
- 'images/nginx/**'
opentelemetry:
- 'images/opentelemetry/**'
- nginx125:
- - 'images/nginx-1.25/TAG'
#### TODO: Make the below jobs 'less dumb' and use the job name as parameter (the github.job context does not work here)
cfssl:
@@ -183,14 +180,14 @@ jobs:
run: |
cd images/opentelemetry && make NGINX_VERSION=${{ matrix.nginx }} build
- nginx125:
+ nginx:
permissions:
contents: write
packages: write
runs-on: ubuntu-latest
needs: changes
if: |
- (github.event_name == 'push' && github.ref == 'refs/heads/main' && needs.changes.outputs.nginx125 == 'true')
+ (github.event_name == 'push' && github.ref == 'refs/heads/main' && needs.changes.outputs.nginx == 'true')
env:
PLATFORMS: linux/amd64,linux/arm,linux/arm64,linux/s390x
steps:
@@ -211,5 +208,5 @@ jobs:
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: build-image
run: |
- export TAG=$(cat images/nginx-1.25/TAG)
- cd images/nginx-1.25/rootfs && docker buildx build --platform=${{ env.PLATFORMS }} --push -t ingressnginx/nginx-1.25:${TAG} .
+ export TAG=$(cat images/nginx/TAG)
+ cd images/nginx/rootfs && docker buildx build --platform=${{ env.PLATFORMS }} --push -t ingressnginx/nginx:${TAG} .
diff --git a/images/nginx-1.25/Makefile b/images/nginx-1.25/Makefile
deleted file mode 100644
index cdd3e2a3c..000000000
--- a/images/nginx-1.25/Makefile
+++ /dev/null
@@ -1,59 +0,0 @@
-# Copyright 2024 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.
-
-.DEFAULT_GOAL:=build
-
-# set default shell
-SHELL=/bin/bash -o pipefail -o errexit
-
-DIR:=$(strip $(shell dirname $(realpath $(lastword $(MAKEFILE_LIST)))))
-INIT_BUILDX=$(DIR)/../../hack/init-buildx.sh
-
-# 0.0.0 shouldn't clobber any released builds
-SHORT_SHA ?=$(shell git rev-parse --short HEAD)
-TAG ?=$(shell cat TAG)
-
-REGISTRY ?= gcr.io/k8s-staging-ingress-nginx
-
-IMAGE = $(REGISTRY)/nginx-1.25
-
-# required to enable buildx
-export DOCKER_CLI_EXPERIMENTAL=enabled
-
-# build with buildx
-PLATFORMS?=linux/amd64,linux/arm,linux/arm64,linux/s390x
-OUTPUT=
-PROGRESS=plain
-build: ensure-buildx
- docker buildx build \
- --platform=${PLATFORMS} $(OUTPUT) \
- --progress=$(PROGRESS) \
- --pull \
- --tag $(IMAGE):$(TAG) rootfs
-
-# push the cross built image
-push: OUTPUT=--push
-push: build
-
-# enable buildx
-ensure-buildx:
-# this is required for cloudbuild
-ifeq ("$(wildcard $(INIT_BUILDX))","")
- @curl -sSL https://raw.githubusercontent.com/kubernetes/ingress-nginx/main/hack/init-buildx.sh | bash
-else
- @exec $(INIT_BUILDX)
-endif
- @echo "done"
-
-.PHONY: build push ensure-buildx
\ No newline at end of file
diff --git a/images/nginx-1.25/README.md b/images/nginx-1.25/README.md
deleted file mode 100644
index 35cccc100..000000000
--- a/images/nginx-1.25/README.md
+++ /dev/null
@@ -1,47 +0,0 @@
-NGINX 1.25 base image
-
-### 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
deleted file mode 100644
index f25246219..000000000
--- a/images/nginx-1.25/TAG
+++ /dev/null
@@ -1 +0,0 @@
-v0.0.12
diff --git a/images/nginx-1.25/cloudbuild.yaml b/images/nginx-1.25/cloudbuild.yaml
deleted file mode 100644
index d8bb1f2a9..000000000
--- a/images/nginx-1.25/cloudbuild.yaml
+++ /dev/null
@@ -1,14 +0,0 @@
-options:
- # 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:v20240523-a15ad90fc9
- env:
- - REGISTRY=gcr.io/k8s-staging-ingress-nginx
- entrypoint: bash
- args:
- - -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
deleted file mode 100644
index 1d2b6b623..000000000
--- a/images/nginx-1.25/rootfs/Dockerfile
+++ /dev/null
@@ -1,74 +0,0 @@
-# Copyright 2024 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.
-FROM alpine:3.20 as builder
-
-COPY . /
-
-RUN apk update \
- && apk upgrade \
- && apk add -U bash --no-cache \
- && /build.sh
-
-# Use a multi-stage build
-FROM alpine:3.20
-
-ENV PATH=$PATH:/usr/local/luajit/bin:/usr/local/nginx/sbin:/usr/local/nginx/bin
-
-ENV LUA_PATH="/usr/local/share/luajit-2.1.0-beta3/?.lua;/usr/local/share/lua/5.1/?.lua;/usr/local/lib/lua/?.lua;;"
-ENV LUA_CPATH="/usr/local/lib/lua/?/?.so;/usr/local/lib/lua/?.so;;"
-
-COPY --from=builder /usr/local /usr/local
-COPY --from=builder /usr/lib/libopentelemetry* /usr/local/lib
-COPY --from=builder /opt /opt
-COPY --from=builder /etc/nginx /etc/nginx
-
-RUN apk update \
- && apk upgrade \
- && apk add -U --no-cache \
- bash \
- openssl \
- pcre \
- zlib \
- ca-certificates \
- patch \
- yajl \
- lmdb \
- libxml2 \
- libmaxminddb \
- yaml-cpp \
- dumb-init \
- tzdata \
- grpc-cpp \
- libprotobuf \
- && ln -s /usr/local/nginx/sbin/nginx /sbin/nginx \
- && adduser -S -D -H -u 101 -h /usr/local/nginx \
- -s /sbin/nologin -G www-data -g www-data www-data \
- && bash -eu -c ' \
- writeDirs=( \
- /var/log/nginx \
- /var/lib/nginx/body \
- /var/lib/nginx/fastcgi \
- /var/lib/nginx/proxy \
- /var/lib/nginx/scgi \
- /var/lib/nginx/uwsgi \
- /var/log/audit \
- ); \
- for dir in "${writeDirs[@]}"; do \
- mkdir -p ${dir}; \
- chown -R www-data.www-data ${dir}; \
- done'
-
-EXPOSE 80 443
-
-CMD ["nginx", "-g", "daemon off;"]
diff --git a/images/nginx-1.25/rootfs/build.sh b/images/nginx-1.25/rootfs/build.sh
deleted file mode 100755
index f9ea3840b..000000000
--- a/images/nginx-1.25/rootfs/build.sh
+++ /dev/null
@@ -1,628 +0,0 @@
-#!/bin/bash
-
-# 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.
-
-set -o errexit
-set -o nounset
-set -o pipefail
-
-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
-
-# Check for recent changes: https://github.com/openresty/set-misc-nginx-module/compare/v0.33...master
-export SETMISC_VERSION=796f5a3e518748eb29a93bd450324e0ad45b704e
-
-# Check for recent changes: https://github.com/openresty/headers-more-nginx-module/compare/v0.37...master
-export MORE_HEADERS_VERSION=v0.37
-
-# Check for recent changes: https://github.com/atomx/nginx-http-auth-digest/compare/v1.0.0...atomx:master
-export NGINX_DIGEST_AUTH=v1.0.0
-
-# Check for recent changes: https://github.com/yaoweibin/ngx_http_substitutions_filter_module/compare/v0.6.4...master
-export NGINX_SUBSTITUTIONS=e12e965ac1837ca709709f9a26f572a54d83430e
-
-# Check for recent changes: https://github.com/SpiderLabs/ModSecurity-nginx/compare/v1.0.3...master
-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.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.26``...master
-export LUA_NGX_VERSION=v0.10.26
-
-# 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.13...openresty:master
-export LUA_CJSON_VERSION=2.1.0.13
-
-# 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-20240314...v2.1-agentzh
-export LUAJIT_VERSION=v2.1-20240314
-
-# 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/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/f418d77082eaef48331302e84330488fdc810ef4...master
-export LUA_RESTY_COOKIE_VERSION=f418d77082eaef48331302e84330488fdc810ef4
-
-# 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.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
-export LUA_RESTY_LOCK=405d0bf4cbfa74d742c6ed3158d442221e6212a9
-
-# Check for recent changes: https://github.com/openresty/lua-resty-upload/compare/v0.11...master
-export LUA_RESTY_UPLOAD_VERSION=979372cce011f3176af3c9aff53fd0e992c4bfd3
-
-# Check for recent changes: https://github.com/openresty/lua-resty-string/compare/v0.15...master
-export LUA_RESTY_STRING_VERSION=6f1bc21d86daef804df3cc34d6427ef68da26844
-
-# Check for recent changes: https://github.com/openresty/lua-resty-memcached/compare/v0.17...master
-export LUA_RESTY_MEMCACHED_VERSION=2f02b68bf65fa2332cce070674a93a69a6c7239b
-
-# Check for recent changes: https://github.com/openresty/lua-resty-redis/compare/v0.30...master
-export LUA_RESTY_REDIS_VERSION=8641b9f1b6f75cca50c90cf8ca5c502ad8950aa8
-
-# Check for recent changes: https://github.com/api7/lua-resty-ipmatcher/compare/v0.6.1...master
-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/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"
-# Check on https://github.com/open-telemetry/opentelemetry-proto
-export OPENTELEMETRY_PROTO_VERSION="v1.1.0"
-
-export BUILD_PATH=/tmp/build
-
-ARCH=$(uname -m)
-
-get_src()
-{
- hash="$1"
- url="$2"
- dest="${3-}"
- ARGS=""
- f=$(basename "$url")
-
- echo "Downloading $url"
-
- curl -sSL "$url" -o "$f"
- # TODO: Reenable checksum verification but make it smarter
- # echo "$hash $f" | sha256sum -c - || exit 10
- if [ ! -z "$dest" ]; then
- mkdir ${BUILD_PATH}/${dest}
- ARGS="-C ${BUILD_PATH}/${dest} --strip-components=1"
- fi
- tar xvzf "$f" $ARGS
- rm -rf "$f"
-}
-
-# install required packages to build
-# Dependencies from "ninja" and below are OTEL dependencies
-apk add \
- bash \
- gcc \
- clang \
- libc-dev \
- make \
- automake \
- openssl-dev \
- pcre-dev \
- zlib-dev \
- linux-headers \
- libxslt-dev \
- gd-dev \
- perl-dev \
- libedit-dev \
- mercurial \
- alpine-sdk \
- findutils \
- curl \
- ca-certificates \
- patch \
- libaio-dev \
- openssl \
- cmake \
- util-linux \
- lmdb-tools \
- wget \
- curl-dev \
- libprotobuf \
- git g++ pkgconf flex bison doxygen yajl-dev lmdb-dev libtool autoconf libxml2 libxml2-dev \
- python3 \
- libmaxminddb-dev \
- bc \
- unzip \
- dos2unix \
- yaml-cpp \
- coreutils \
- ninja \
- gtest-dev \
- git \
- build-base \
- pkgconfig \
- c-ares-dev \
- re2-dev \
- grpc-dev \
- protobuf-dev
-
-# apk add -X http://dl-cdn.alpinelinux.org/alpine/edge/testing opentelemetry-cpp-dev
-
-# There is some bug with some platforms and git, so force HTTP/1.1
-git config --global http.version HTTP/1.1
-git config --global http.postBuffer 157286400
-
-mkdir -p /etc/nginx
-
-mkdir --verbose -p "$BUILD_PATH"
-cd "$BUILD_PATH"
-
-# download, verify and extract the source files
-get_src 66dc7081488811e9f925719e34d1b4504c2801c81dee2920e5452a86b11405ae \
- "https://nginx.org/download/nginx-$NGINX_VERSION.tar.gz"
-
-get_src aa961eafb8317e0eb8da37eb6e2c9ff42267edd18b56947384e719b85188f58b \
- "https://github.com/vision5/ngx_devel_kit/archive/$NDK_VERSION.tar.gz" "ngx_devel_kit"
-
-get_src abc123 \
- "https://github.com/open-telemetry/opentelemetry-cpp/archive/$OPENTELEMETRY_CPP_VERSION.tar.gz" "opentelemetry-cpp"
-
-get_src abc123 \
- "https://github.com/open-telemetry/opentelemetry-proto/archive/$OPENTELEMETRY_PROTO_VERSION.tar.gz" "opentelemetry-proto"
-
-get_src cd5e2cc834bcfa30149e7511f2b5a2183baf0b70dc091af717a89a64e44a2985 \
- "https://github.com/openresty/set-misc-nginx-module/archive/$SETMISC_VERSION.tar.gz" "set-misc-nginx-module"
-
-get_src 0c0d2ced2ce895b3f45eb2b230cd90508ab2a773299f153de14a43e44c1209b3 \
- "https://github.com/openresty/headers-more-nginx-module/archive/$MORE_HEADERS_VERSION.tar.gz" "headers-more-nginx-module"
-
-get_src f09851e6309560a8ff3e901548405066c83f1f6ff88aa7171e0763bd9514762b \
- "https://github.com/atomx/nginx-http-auth-digest/archive/$NGINX_DIGEST_AUTH.tar.gz" "nginx-http-auth-digest"
-
-get_src a98b48947359166326d58700ccdc27256d2648218072da138ab6b47de47fbd8f \
- "https://github.com/yaoweibin/ngx_http_substitutions_filter_module/archive/$NGINX_SUBSTITUTIONS.tar.gz" "ngx_http_substitutions_filter_module"
-
-get_src 32a42256616cc674dca24c8654397390adff15b888b77eb74e0687f023c8751b \
- "https://github.com/SpiderLabs/ModSecurity-nginx/archive/$MODSECURITY_VERSION.tar.gz" "ModSecurity-nginx"
-
-get_src bc764db42830aeaf74755754b900253c233ad57498debe7a441cee2c6f4b07c2 \
- "https://github.com/openresty/lua-nginx-module/archive/$LUA_NGX_VERSION.tar.gz" "lua-nginx-module"
-
-get_src 01b715754a8248cc7228e0c8f97f7488ae429d90208de0481394e35d24cef32f \
- "https://github.com/openresty/stream-lua-nginx-module/archive/$LUA_STREAM_NGX_VERSION.tar.gz" "stream-lua-nginx-module"
-
-get_src a92c9ee6682567605ece55d4eed5d1d54446ba6fba748cff0a2482aea5713d5f \
- "https://github.com/openresty/lua-upstream-nginx-module/archive/$LUA_UPSTREAM_VERSION.tar.gz" "lua-upstream-nginx-module"
-
-get_src 77bbcbb24c3c78f51560017288f3118d995fe71240aa379f5818ff6b166712ff \
- "https://github.com/openresty/luajit2/archive/$LUAJIT_VERSION.tar.gz" "luajit2"
-
-get_src b6c9c09fd43eb34a71e706ad780b2ead26549a9a9f59280fe558f5b7b980b7c6 \
- "https://github.com/leev/ngx_http_geoip2_module/archive/$GEOIP2_VERSION.tar.gz" "ngx_http_geoip2_module"
-
-get_src deb4ab1ffb9f3d962c4b4a2c4bdff692b86a209e3835ae71ebdf3b97189e40a9 \
- "https://github.com/openresty/lua-resty-upload/archive/$LUA_RESTY_UPLOAD_VERSION.tar.gz" "lua-resty-upload"
-
-get_src bdbf271003d95aa91cab0a92f24dca129e99b33f79c13ebfcdbbcbb558129491 \
- "https://github.com/openresty/lua-resty-string/archive/$LUA_RESTY_STRING_VERSION.tar.gz" "lua-resty-string"
-
-get_src 16d72ed133f0c6df376a327386c3ef4e9406cf51003a700737c3805770ade7c5 \
- "https://github.com/openresty/lua-resty-balancer/archive/$LUA_RESTY_BALANCER.tar.gz" "lua-resty-balancer"
-
-get_src 39baab9e2b31cc48cecf896cea40ef6e80559054fd8a6e440cc804a858ea84d4 \
- "https://github.com/openresty/lua-resty-core/archive/$LUA_RESTY_CORE.tar.gz" "lua-resty-core"
-
-get_src a77b9de160d81712f2f442e1de8b78a5a7ef0d08f13430ff619f79235db974d4 \
- "https://github.com/openresty/lua-cjson/archive/$LUA_CJSON_VERSION.tar.gz" "lua-cjson"
-
-get_src 5ed48c36231e2622b001308622d46a0077525ac2f751e8cc0c9905914254baa4 \
- "https://github.com/cloudflare/lua-resty-cookie/archive/$LUA_RESTY_COOKIE_VERSION.tar.gz" "lua-resty-cookie"
-
-get_src 573184006b98ccee2594b0d134fa4d05e5d2afd5141cbad315051ccf7e9b6403 \
- "https://github.com/openresty/lua-resty-lrucache/archive/$LUA_RESTY_CACHE.tar.gz" "lua-resty-lrucache"
-
-get_src b4ddcd47db347e9adf5c1e1491a6279a6ae2a3aff3155ef77ea0a65c998a69c1 \
- "https://github.com/openresty/lua-resty-lock/archive/$LUA_RESTY_LOCK.tar.gz" "lua-resty-lock"
-
-get_src 70e9a01eb32ccade0d5116a25bcffde0445b94ad35035ce06b94ccd260ad1bf0 \
- "https://github.com/openresty/lua-resty-dns/archive/$LUA_RESTY_DNS.tar.gz" "lua-resty-dns"
-
-get_src 9fcb6db95bc37b6fce77d3b3dc740d593f9d90dce0369b405eb04844d56ac43f \
- "https://github.com/ledgetech/lua-resty-http/archive/$LUA_RESTY_HTTP.tar.gz" "lua-resty-http"
-
-get_src 02733575c4aed15f6cab662378e4b071c0a4a4d07940c4ef19a7319e9be943d4 \
- "https://github.com/openresty/lua-resty-memcached/archive/$LUA_RESTY_MEMCACHED_VERSION.tar.gz" "lua-resty-memcached"
-
-get_src c15aed1a01c88a3a6387d9af67a957dff670357f5fdb4ee182beb44635eef3f1 \
- "https://github.com/openresty/lua-resty-redis/archive/$LUA_RESTY_REDIS_VERSION.tar.gz" "lua-resty-redis"
-
-get_src efb767487ea3f6031577b9b224467ddbda2ad51a41c5867a47582d4ad85d609e \
- "https://github.com/api7/lua-resty-ipmatcher/archive/$LUA_RESTY_IPMATCHER_VERSION.tar.gz" "lua-resty-ipmatcher"
-
-get_src 0fb790e394510e73fdba1492e576aaec0b8ee9ef08e3e821ce253a07719cf7ea \
- "https://github.com/ElvinEfendi/lua-resty-global-throttle/archive/$LUA_RESTY_GLOBAL_THROTTLE_VERSION.tar.gz" "lua-resty-global-throttle"
-
-get_src d74f86ada2329016068bc5a243268f1f555edd620b6a7d6ce89295e7d6cf18da \
- "https://github.com/microsoft/mimalloc/archive/${MIMALOC_VERSION}.tar.gz" "mimalloc"
-
-# improve compilation times
-CORES=$(($(grep -c ^processor /proc/cpuinfo) - 1))
-
-export MAKEFLAGS=-j${CORES}
-export CTEST_BUILD_FLAGS=${MAKEFLAGS}
-
-# Install luajit from openresty fork
-export LUAJIT_LIB=/usr/local/lib
-export LUA_LIB_DIR="$LUAJIT_LIB/lua"
-export LUAJIT_INC=/usr/local/include/luajit-2.1
-
-cd "$BUILD_PATH/luajit2"
-make CCDEBUG=-g
-make install
-
-ln -s /usr/local/bin/luajit /usr/local/bin/lua
-ln -s "$LUAJIT_INC" /usr/local/include/lua
-
-cd "$BUILD_PATH/opentelemetry-cpp"
-export CXXFLAGS="-DBENCHMARK_HAS_NO_INLINE_ASSEMBLY"
-cmake -B build -G Ninja -Wno-dev \
- -DOTELCPP_PROTO_PATH="${BUILD_PATH}/opentelemetry-proto/" \
- -DCMAKE_INSTALL_PREFIX=/usr \
- -DBUILD_SHARED_LIBS=ON \
- -DBUILD_TESTING="OFF" \
- -DBUILD_W3CTRACECONTEXT_TEST="OFF" \
- -DCMAKE_BUILD_TYPE=None \
- -DWITH_ABSEIL=ON \
- -DWITH_STL=ON \
- -DWITH_EXAMPLES=OFF \
- -DWITH_ZPAGES=OFF \
- -DWITH_OTLP_GRPC=ON \
- -DWITH_OTLP_HTTP=ON \
- -DWITH_ZIPKIN=ON \
- -DWITH_PROMETHEUS=OFF \
- -DWITH_ASYNC_EXPORT_PREVIEW=OFF \
- -DWITH_METRICS_EXEMPLAR_PREVIEW=OFF
- cmake --build build
- cmake --install build
-
-# Git tuning
-git config --global --add core.compression -1
-
-# Get Brotli source and deps
-cd "$BUILD_PATH"
-git clone --depth=100 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
-
-cd "$BUILD_PATH"
-git clone --depth=1 https://github.com/ssdeep-project/ssdeep
-cd ssdeep/
-
-./bootstrap
-./configure
-
-make
-make install
-
-# build modsecurity library
-cd "$BUILD_PATH"
-git clone -n https://github.com/SpiderLabs/ModSecurity
-cd ModSecurity/
-git checkout $MODSECURITY_LIB_VERSION
-git submodule init
-git submodule update
-
-sh build.sh
-
-# https://github.com/SpiderLabs/ModSecurity/issues/1909#issuecomment-465926762
-sed -i '115i LUA_CFLAGS="${LUA_CFLAGS} -DWITH_LUA_JIT_2_1"' build/lua.m4
-sed -i '117i AC_SUBST(LUA_CFLAGS)' build/lua.m4
-
-./configure \
- --disable-doxygen-doc \
- --disable-doxygen-html \
- --disable-examples
-
-make
-make install
-
-mkdir -p /etc/nginx/modsecurity
-cp modsecurity.conf-recommended /etc/nginx/modsecurity/modsecurity.conf
-cp unicode.mapping /etc/nginx/modsecurity/unicode.mapping
-
-# Replace serial logging with concurrent
-sed -i 's|SecAuditLogType Serial|SecAuditLogType Concurrent|g' /etc/nginx/modsecurity/modsecurity.conf
-
-# Concurrent logging implies the log is stored in several files
-echo "SecAuditLogStorageDir /var/log/audit/" >> /etc/nginx/modsecurity/modsecurity.conf
-
-# Download owasp modsecurity crs
-cd /etc/nginx/
-
-git clone -b $OWASP_MODSECURITY_CRS_VERSION https://github.com/coreruleset/coreruleset
-mv coreruleset owasp-modsecurity-crs
-cd owasp-modsecurity-crs
-
-mv crs-setup.conf.example crs-setup.conf
-mv rules/REQUEST-900-EXCLUSION-RULES-BEFORE-CRS.conf.example rules/REQUEST-900-EXCLUSION-RULES-BEFORE-CRS.conf
-mv rules/RESPONSE-999-EXCLUSION-RULES-AFTER-CRS.conf.example rules/RESPONSE-999-EXCLUSION-RULES-AFTER-CRS.conf
-cd ..
-
-# 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-905-COMMON-EXCEPTIONS.conf
-Include /etc/nginx/owasp-modsecurity-crs/rules/REQUEST-911-METHOD-ENFORCEMENT.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
-Include /etc/nginx/owasp-modsecurity-crs/rules/REQUEST-922-MULTIPART-ATTACK.conf
-Include /etc/nginx/owasp-modsecurity-crs/rules/REQUEST-930-APPLICATION-ATTACK-LFI.conf
-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-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
-Include /etc/nginx/owasp-modsecurity-crs/rules/REQUEST-944-APPLICATION-ATTACK-JAVA.conf
-Include /etc/nginx/owasp-modsecurity-crs/rules/REQUEST-949-BLOCKING-EVALUATION.conf
-Include /etc/nginx/owasp-modsecurity-crs/rules/RESPONSE-950-DATA-LEAKAGES.conf
-Include /etc/nginx/owasp-modsecurity-crs/rules/RESPONSE-951-DATA-LEAKAGES-SQL.conf
-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
-" > /etc/nginx/owasp-modsecurity-crs/nginx-modsecurity.conf
-
-# build nginx
-cd "$BUILD_PATH/nginx-$NGINX_VERSION"
-
-# apply nginx patches
-for PATCH in `ls /patches`;do
- echo "Patch: $PATCH"
- if [[ "$PATCH" == *.txt ]]; then
- patch -p0 < /patches/$PATCH
- else
- patch -p1 < /patches/$PATCH
- fi
-done
-
-WITH_FLAGS="--with-debug \
- --with-compat \
- --with-pcre-jit \
- --with-http_ssl_module \
- --with-http_stub_status_module \
- --with-http_realip_module \
- --with-http_auth_request_module \
- --with-http_addition_module \
- --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 \
- --with-stream_ssl_preread_module \
- --with-threads \
- --with-http_secure_link_module \
- --with-http_gunzip_module"
-
-# "Combining -flto with -g is currently experimental and expected to produce unexpected results."
-# https://gcc.gnu.org/onlinedocs/gcc/Optimize-Options.html
-CC_OPT="-g -O2 -fPIE -fstack-protector-strong \
- -Wformat \
- -Werror=format-security \
- -Wno-deprecated-declarations \
- -fno-strict-aliasing \
- -D_FORTIFY_SOURCE=2 \
- --param=ssp-buffer-size=4 \
- -DTCP_FASTOPEN=23 \
- -fPIC \
- -Wno-cast-function-type"
-
-LD_OPT="-fPIE -fPIC -pie -Wl,-z,relro -Wl,-z,now"
-
-if [[ ${ARCH} != "aarch64" ]]; then
- WITH_FLAGS+=" --with-file-aio"
-fi
-
-if [[ ${ARCH} == "x86_64" ]]; then
- CC_OPT+=' -m64 -mtune=generic'
-fi
-
-WITH_MODULES=" \
- --add-module=$BUILD_PATH/ngx_devel_kit \
- --add-module=$BUILD_PATH/set-misc-nginx-module \
- --add-module=$BUILD_PATH/headers-more-nginx-module \
- --add-module=$BUILD_PATH/ngx_http_substitutions_filter_module \
- --add-module=$BUILD_PATH/lua-nginx-module \
- --add-module=$BUILD_PATH/stream-lua-nginx-module \
- --add-module=$BUILD_PATH/lua-upstream-nginx-module \
- --add-dynamic-module=$BUILD_PATH/nginx-http-auth-digest \
- --add-dynamic-module=$BUILD_PATH/ModSecurity-nginx \
- --add-dynamic-module=$BUILD_PATH/ngx_http_geoip2_module \
- --add-dynamic-module=$BUILD_PATH/ngx_brotli"
-
-./configure \
- --prefix=/usr/local/nginx \
- --conf-path=/etc/nginx/nginx.conf \
- --modules-path=/etc/nginx/modules \
- --http-log-path=/var/log/nginx/access.log \
- --error-log-path=/var/log/nginx/error.log \
- --lock-path=/var/lock/nginx.lock \
- --pid-path=/run/nginx.pid \
- --http-client-body-temp-path=/var/lib/nginx/body \
- --http-fastcgi-temp-path=/var/lib/nginx/fastcgi \
- --http-proxy-temp-path=/var/lib/nginx/proxy \
- --http-scgi-temp-path=/var/lib/nginx/scgi \
- --http-uwsgi-temp-path=/var/lib/nginx/uwsgi \
- ${WITH_FLAGS} \
- --without-mail_pop3_module \
- --without-mail_smtp_module \
- --without-mail_imap_module \
- --without-http_uwsgi_module \
- --without-http_scgi_module \
- --with-cc-opt="${CC_OPT}" \
- --with-ld-opt="${LD_OPT}" \
- --user=www-data \
- --group=www-data \
- ${WITH_MODULES}
-
-make
-make modules
-make install
-
-export OPENTELEMETRY_CONTRIB_COMMIT=e11348bb400d5472bf1da5d6128bead66fa111ff
-cd "$BUILD_PATH"
-
-git clone https://github.com/open-telemetry/opentelemetry-cpp-contrib.git opentelemetry-cpp-contrib-${OPENTELEMETRY_CONTRIB_COMMIT}
-
-cd ${BUILD_PATH}/opentelemetry-cpp-contrib-${OPENTELEMETRY_CONTRIB_COMMIT}
-git reset --hard ${OPENTELEMETRY_CONTRIB_COMMIT}
-
-export OTEL_TEMP_INSTALL=/tmp/otel
-mkdir -p ${OTEL_TEMP_INSTALL}
-
-cd ${BUILD_PATH}/opentelemetry-cpp-contrib-${OPENTELEMETRY_CONTRIB_COMMIT}/instrumentation/nginx
-mkdir -p build
-cd build
-cmake -DCMAKE_BUILD_TYPE=Release \
- -G Ninja \
- -DCMAKE_CXX_STANDARD=17 \
- -DCMAKE_INSTALL_PREFIX=${OTEL_TEMP_INSTALL} \
- -DBUILD_SHARED_LIBS=ON \
- -DNGINX_VERSION=${NGINX_VERSION} \
- ..
-cmake --build . -j ${CORES} --target install
-
-mkdir -p /etc/nginx/modules
-cp ${OTEL_TEMP_INSTALL}/otel_ngx_module.so /etc/nginx/modules/otel_ngx_module.so
-
-
-cd "$BUILD_PATH/lua-resty-core"
-make install
-
-cd "$BUILD_PATH/lua-resty-balancer"
-make all
-make install
-
-export LUA_INCLUDE_DIR=/usr/local/include/luajit-2.1
-ln -s $LUA_INCLUDE_DIR /usr/include/lua5.1
-
-cd "$BUILD_PATH/lua-cjson"
-make all
-make install
-
-cd "$BUILD_PATH/lua-resty-cookie"
-make all
-make install
-
-cd "$BUILD_PATH/lua-resty-lrucache"
-make install
-
-cd "$BUILD_PATH/lua-resty-dns"
-make install
-
-cd "$BUILD_PATH/lua-resty-lock"
-make install
-
-# required for OCSP verification
-cd "$BUILD_PATH/lua-resty-http"
-make install
-
-cd "$BUILD_PATH/lua-resty-upload"
-make install
-
-cd "$BUILD_PATH/lua-resty-string"
-make install
-
-cd "$BUILD_PATH/lua-resty-memcached"
-make install
-
-cd "$BUILD_PATH/lua-resty-redis"
-make install
-
-cd "$BUILD_PATH/lua-resty-ipmatcher"
-INST_LUADIR=/usr/local/lib/lua make install
-
-cd "$BUILD_PATH/lua-resty-global-throttle"
-make install
-
-cd "$BUILD_PATH/mimalloc"
-mkdir -p out/release
-cd out/release
-
-cmake ../..
-
-make
-make install
-
-# update image permissions
-writeDirs=( \
- /etc/nginx \
- /usr/local/nginx \
- /opt/modsecurity/var/log \
- /opt/modsecurity/var/upload \
- /opt/modsecurity/var/audit \
- /var/log/audit \
- /var/log/nginx \
-);
-
-adduser -S -D -H -u 101 -h /usr/local/nginx -s /sbin/nologin -G www-data -g www-data www-data
-
-for dir in "${writeDirs[@]}"; do
- mkdir -p ${dir};
- chown -R www-data.www-data ${dir};
-done
-
-rm -rf /etc/nginx/owasp-modsecurity-crs/.git
-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/Makefile b/images/nginx/Makefile
index b54a7739b..103ba217f 100644
--- a/images/nginx/Makefile
+++ b/images/nginx/Makefile
@@ -1,4 +1,4 @@
-# Copyright 2017 The Kubernetes Authors. All rights reserved.
+# Copyright 2024 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.
@@ -22,7 +22,7 @@ INIT_BUILDX=$(DIR)/../../hack/init-buildx.sh
# 0.0.0 shouldn't clobber any released builds
SHORT_SHA ?=$(shell git rev-parse --short HEAD)
-TAG ?=v$(shell date +%Y%m%d)-$(SHORT_SHA)
+TAG ?=$(shell cat TAG)
REGISTRY ?= gcr.io/k8s-staging-ingress-nginx
diff --git a/images/nginx/README.md b/images/nginx/README.md
index da6994fb5..768077215 100644
--- a/images/nginx/README.md
+++ b/images/nginx/README.md
@@ -1,27 +1,47 @@
-NGINX base image using [alpine](https://www.alpinelinux.org/)
+NGINX base image
-This custom image contains:
+### HTTP/3 Support
-- [nginx-http-auth-digest](https://github.com/atomx/nginx-http-auth-digest)
-- [ngx_http_substitutions_filter_module](https://github.com/yaoweibin/ngx_http_substitutions_filter_module)
-- [OpenTelemetry-CPP](https://github.com/open-telemetry/opentelemetry-cpp)
-- [OpenTelemetry-CPP-Nginx](https://github.com/open-telemetry/opentelemetry-cpp-contrib/tree/main/instrumentation/nginx)
-- [nginx-opentracing](https://github.com/opentracing-contrib/nginx-opentracing)
-- [opentracing-cpp](https://github.com/opentracing/opentracing-cpp)
-- [zipkin-cpp-opentracing](https://github.com/rnburn/zipkin-cpp-opentracing)
-- [dd-opentracing-cpp](https://github.com/DataDog/dd-opentracing-cpp)
-- [ModSecurity-nginx](https://github.com/SpiderLabs/ModSecurity-nginx) (only supported in x86_64)
-- [brotli](https://github.com/google/brotli)
-- [geoip2](https://github.com/leev/ngx_http_geoip2_module)
+**HTTP/3 support is experimental and under development**
-**How to use this image:**
-This image provides a default configuration file with no backend servers.
+[HTTP/3](https://datatracker.ietf.org/doc/html/rfc9114)\
+[QUIC](https://datatracker.ietf.org/doc/html/rfc9000)
-_Using docker_
+[According to the documentation, NGINX 1.25.0 or higher supports HTTP/3:](https://nginx.org/en/docs/quic.html)
-NGINX base image we use is defined in NGINX_BASE file at the root of the project
+> Support for QUIC and HTTP/3 protocols is available since 1.25.0.
-```console
-docker run -v /some/nginx.conf:/etc/nginx/nginx.conf:ro $(cat ../../NGINX_BASE)
-```
+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/TAG b/images/nginx/TAG
index 0ec25f750..f25246219 100644
--- a/images/nginx/TAG
+++ b/images/nginx/TAG
@@ -1 +1 @@
-v1.0.0
+v0.0.12
diff --git a/images/nginx/rootfs/Dockerfile b/images/nginx/rootfs/Dockerfile
index 245bb353b..1d2b6b623 100644
--- a/images/nginx/rootfs/Dockerfile
+++ b/images/nginx/rootfs/Dockerfile
@@ -1,4 +1,4 @@
-# Copyright 2015 The Kubernetes Authors. All rights reserved.
+# Copyright 2024 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.
@@ -29,11 +29,10 @@ ENV LUA_PATH="/usr/local/share/luajit-2.1.0-beta3/?.lua;/usr/local/share/lua/5.1
ENV LUA_CPATH="/usr/local/lib/lua/?/?.so;/usr/local/lib/lua/?.so;;"
COPY --from=builder /usr/local /usr/local
+COPY --from=builder /usr/lib/libopentelemetry* /usr/local/lib
COPY --from=builder /opt /opt
COPY --from=builder /etc/nginx /etc/nginx
-LABEL org.opencontainers.image.source=https://github.com/kubernetes/ingress-nginx
-
RUN apk update \
&& apk upgrade \
&& apk add -U --no-cache \
@@ -50,6 +49,8 @@ RUN apk update \
yaml-cpp \
dumb-init \
tzdata \
+ grpc-cpp \
+ libprotobuf \
&& ln -s /usr/local/nginx/sbin/nginx /sbin/nginx \
&& adduser -S -D -H -u 101 -h /usr/local/nginx \
-s /sbin/nologin -G www-data -g www-data www-data \
diff --git a/images/nginx/rootfs/build.sh b/images/nginx/rootfs/build.sh
index 2f5f3c66f..f9ea3840b 100755
--- a/images/nginx/rootfs/build.sh
+++ b/images/nginx/rootfs/build.sh
@@ -1,6 +1,6 @@
#!/bin/bash
-# Copyright 2015 The Kubernetes Authors.
+# 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.
@@ -18,139 +18,124 @@ set -o errexit
set -o nounset
set -o pipefail
-export NGINX_VERSION=1.21.6
+export NGINX_VERSION=1.25.5
-# Check for recent changes: https://github.com/vision5/ngx_devel_kit/compare/v0.3.2...master
-export NDK_VERSION=0.3.2
+# Check for recent changes: https://github.com/vision5/ngx_devel_kit/compare/v0.3.3...master
+export NDK_VERSION=v0.3.3
# Check for recent changes: https://github.com/openresty/set-misc-nginx-module/compare/v0.33...master
-export SETMISC_VERSION=0.33
+export SETMISC_VERSION=796f5a3e518748eb29a93bd450324e0ad45b704e
# Check for recent changes: https://github.com/openresty/headers-more-nginx-module/compare/v0.37...master
-export MORE_HEADERS_VERSION=0.37
+export MORE_HEADERS_VERSION=v0.37
# Check for recent changes: https://github.com/atomx/nginx-http-auth-digest/compare/v1.0.0...atomx:master
-export NGINX_DIGEST_AUTH=1.0.0
+export NGINX_DIGEST_AUTH=v1.0.0
# Check for recent changes: https://github.com/yaoweibin/ngx_http_substitutions_filter_module/compare/v0.6.4...master
-export NGINX_SUBSTITUTIONS=b8a71eacc7f986ba091282ab8b1bbbc6ae1807e0
-
-# Check for recent changes: https://github.com/opentracing-contrib/nginx-opentracing/compare/v0.19.0...master
-export NGINX_OPENTRACING_VERSION=0.19.0
-
-#Check for recent changes: https://github.com/opentracing/opentracing-cpp/compare/v1.6.0...master
-export OPENTRACING_CPP_VERSION=f86b33f3d9e7322b1298ba62d5ffa7a9519c4c41
-
-# Check for recent changes: https://github.com/rnburn/zipkin-cpp-opentracing/compare/v0.5.2...master
-export ZIPKIN_CPP_VERSION=f69593138ff84ca2f6bc115992e18ca3d35f344a
-
-# Check for recent changes: https://github.com/jbeder/yaml-cpp/compare/yaml-cpp-0.7.0...master
-export YAML_CPP_VERSION=yaml-cpp-0.7.0
-
-# Check for recent changes: https://github.com/jaegertracing/jaeger-client-cpp/compare/v0.7.0...master
-export JAEGER_VERSION=0.7.0
-
-# Check for recent changes: https://github.com/msgpack/msgpack-c/compare/cpp-3.3.0...master
-export MSGPACK_VERSION=3.3.0
-
-# Check for recent changes: https://github.com/DataDog/dd-opentracing-cpp/compare/v1.3.7...master
-export DATADOG_CPP_VERSION=1.3.7
+export NGINX_SUBSTITUTIONS=e12e965ac1837ca709709f9a26f572a54d83430e
# Check for recent changes: https://github.com/SpiderLabs/ModSecurity-nginx/compare/v1.0.3...master
-export MODSECURITY_VERSION=1.0.3
+export MODSECURITY_VERSION=v1.0.3
-# Check for recent changes: https://github.com/SpiderLabs/ModSecurity/compare/v3.0.11...v3/master
-export MODSECURITY_LIB_VERSION=bbde9381cbccb49ea73f6194b08b478adc53f3bc
+# 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
-export LUA_NGX_VERSION=0.10.25
+# 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=0.0.13
+# 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=8aa93ead98ba2060d4efd594ae33a35d153589bf
+export LUA_UPSTREAM_VERSION=542be0893543a4e42d89f6dd85372972f5ff2a36
-# Check for recent changes: https://github.com/openresty/lua-cjson/compare/2.1.0.11...openresty:master
-export LUA_CJSON_VERSION=2.1.0.11
+# 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=2.1-20230410
+# 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
-export LUA_RESTY_BALANCER=0.04
+# 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
-export LUA_RESTY_CACHE=0.13
+# 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=0.1.27
+export LUA_RESTY_CORE=v0.1.28
-# Check for recent changes: https://github.com/utix/lua-resty-cookie/compare/9533f47...master
-export LUA_RESTY_COOKIE_VERSION=9533f479371663107b515590fc9daf00d61ebf11
+# 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
-export LUA_RESTY_DNS=0.22
+# 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
-export LUA_RESTY_HTTP=0ce55d6d15da140ecc5966fa848204c6fd9074e8
+# 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
-export LUA_RESTY_LOCK=0.09
+export LUA_RESTY_LOCK=405d0bf4cbfa74d742c6ed3158d442221e6212a9
# Check for recent changes: https://github.com/openresty/lua-resty-upload/compare/v0.11...master
-export LUA_RESTY_UPLOAD_VERSION=0.11
+export LUA_RESTY_UPLOAD_VERSION=979372cce011f3176af3c9aff53fd0e992c4bfd3
# Check for recent changes: https://github.com/openresty/lua-resty-string/compare/v0.15...master
-export LUA_RESTY_STRING_VERSION=0.15
+export LUA_RESTY_STRING_VERSION=6f1bc21d86daef804df3cc34d6427ef68da26844
# Check for recent changes: https://github.com/openresty/lua-resty-memcached/compare/v0.17...master
-export LUA_RESTY_MEMCACHED_VERSION=0.17
+export LUA_RESTY_MEMCACHED_VERSION=2f02b68bf65fa2332cce070674a93a69a6c7239b
# Check for recent changes: https://github.com/openresty/lua-resty-redis/compare/v0.30...master
-export LUA_RESTY_REDIS_VERSION=0.30
+export LUA_RESTY_REDIS_VERSION=8641b9f1b6f75cca50c90cf8ca5c502ad8950aa8
# Check for recent changes: https://github.com/api7/lua-resty-ipmatcher/compare/v0.6.1...master
-export LUA_RESTY_IPMATCHER_VERSION=0.6.1
+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=0.2.0
+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=1.7.6
+# 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"
+# Check on https://github.com/open-telemetry/opentelemetry-proto
+export OPENTELEMETRY_PROTO_VERSION="v1.1.0"
export BUILD_PATH=/tmp/build
ARCH=$(uname -m)
-if [[ ${ARCH} == "s390x" ]]; then
- export LUAJIT_VERSION=9d5750d28478abfdcaefdfdc408f87752a21e431
- export LUA_RESTY_CORE=0.1.17
- export LUA_NGX_VERSION=0.10.15
- export LUA_STREAM_NGX_VERSION=0.0.7
-fi
-
get_src()
{
hash="$1"
url="$2"
+ dest="${3-}"
+ ARGS=""
f=$(basename "$url")
echo "Downloading $url"
curl -sSL "$url" -o "$f"
- echo "$hash $f" | sha256sum -c - || exit 10
- tar xzf "$f"
+ # TODO: Reenable checksum verification but make it smarter
+ # echo "$hash $f" | sha256sum -c - || exit 10
+ if [ ! -z "$dest" ]; then
+ mkdir ${BUILD_PATH}/${dest}
+ ARGS="-C ${BUILD_PATH}/${dest} --strip-components=1"
+ fi
+ tar xvzf "$f" $ARGS
rm -rf "$f"
}
# install required packages to build
+# Dependencies from "ninja" and below are OTEL dependencies
apk add \
bash \
gcc \
@@ -187,7 +172,22 @@ apk add \
unzip \
dos2unix \
yaml-cpp \
- coreutils
+ coreutils \
+ ninja \
+ gtest-dev \
+ git \
+ build-base \
+ pkgconfig \
+ c-ares-dev \
+ re2-dev \
+ grpc-dev \
+ protobuf-dev
+
+# apk add -X http://dl-cdn.alpinelinux.org/alpine/edge/testing opentelemetry-cpp-dev
+
+# There is some bug with some platforms and git, so force HTTP/1.1
+git config --global http.version HTTP/1.1
+git config --global http.postBuffer 157286400
mkdir -p /etc/nginx
@@ -199,274 +199,138 @@ get_src 66dc7081488811e9f925719e34d1b4504c2801c81dee2920e5452a86b11405ae \
"https://nginx.org/download/nginx-$NGINX_VERSION.tar.gz"
get_src aa961eafb8317e0eb8da37eb6e2c9ff42267edd18b56947384e719b85188f58b \
- "https://github.com/vision5/ngx_devel_kit/archive/v$NDK_VERSION.tar.gz"
+ "https://github.com/vision5/ngx_devel_kit/archive/$NDK_VERSION.tar.gz" "ngx_devel_kit"
+
+get_src abc123 \
+ "https://github.com/open-telemetry/opentelemetry-cpp/archive/$OPENTELEMETRY_CPP_VERSION.tar.gz" "opentelemetry-cpp"
+
+get_src abc123 \
+ "https://github.com/open-telemetry/opentelemetry-proto/archive/$OPENTELEMETRY_PROTO_VERSION.tar.gz" "opentelemetry-proto"
get_src cd5e2cc834bcfa30149e7511f2b5a2183baf0b70dc091af717a89a64e44a2985 \
- "https://github.com/openresty/set-misc-nginx-module/archive/v$SETMISC_VERSION.tar.gz"
+ "https://github.com/openresty/set-misc-nginx-module/archive/$SETMISC_VERSION.tar.gz" "set-misc-nginx-module"
-get_src cf6e169d6b350c06d0c730b0eaf4973394026ad40094cddd3b3a5b346577019d \
- "https://github.com/openresty/headers-more-nginx-module/archive/v$MORE_HEADERS_VERSION.tar.gz"
+get_src 0c0d2ced2ce895b3f45eb2b230cd90508ab2a773299f153de14a43e44c1209b3 \
+ "https://github.com/openresty/headers-more-nginx-module/archive/$MORE_HEADERS_VERSION.tar.gz" "headers-more-nginx-module"
get_src f09851e6309560a8ff3e901548405066c83f1f6ff88aa7171e0763bd9514762b \
- "https://github.com/atomx/nginx-http-auth-digest/archive/v$NGINX_DIGEST_AUTH.tar.gz"
+ "https://github.com/atomx/nginx-http-auth-digest/archive/$NGINX_DIGEST_AUTH.tar.gz" "nginx-http-auth-digest"
get_src a98b48947359166326d58700ccdc27256d2648218072da138ab6b47de47fbd8f \
- "https://github.com/yaoweibin/ngx_http_substitutions_filter_module/archive/$NGINX_SUBSTITUTIONS.tar.gz"
-
-get_src 6f97776ebdf019b105a755c7736b70bdbd7e575c7f0d39db5fe127873c7abf17 \
- "https://github.com/opentracing-contrib/nginx-opentracing/archive/v$NGINX_OPENTRACING_VERSION.tar.gz"
-
-get_src cbe625cba85291712253db5bc3870d60c709acfad9a8af5a302673d3d201e3ea \
- "https://github.com/opentracing/opentracing-cpp/archive/$OPENTRACING_CPP_VERSION.tar.gz"
-
-get_src 71de3d0658935db7ccea20e006b35e58ddc7e4c18878b9523f2addc2371e9270 \
- "https://github.com/rnburn/zipkin-cpp-opentracing/archive/$ZIPKIN_CPP_VERSION.tar.gz"
+ "https://github.com/yaoweibin/ngx_http_substitutions_filter_module/archive/$NGINX_SUBSTITUTIONS.tar.gz" "ngx_http_substitutions_filter_module"
get_src 32a42256616cc674dca24c8654397390adff15b888b77eb74e0687f023c8751b \
- "https://github.com/SpiderLabs/ModSecurity-nginx/archive/v$MODSECURITY_VERSION.tar.gz"
+ "https://github.com/SpiderLabs/ModSecurity-nginx/archive/$MODSECURITY_VERSION.tar.gz" "ModSecurity-nginx"
-get_src 43e6a9fcb146ad871515f0d0873947e5d497a1c9c60c58cb102a97b47208b7c3 \
- "https://github.com/jbeder/yaml-cpp/archive/$YAML_CPP_VERSION.tar.gz"
-
-get_src 3a3a03060bf5e3fef52c9a2de02e6035cb557f389453d8f3b0c1d3d570636994 \
- "https://github.com/jaegertracing/jaeger-client-cpp/archive/v$JAEGER_VERSION.tar.gz"
-
-get_src 754c3ace499a63e45b77ef4bcab4ee602c2c414f58403bce826b76ffc2f77d0b \
- "https://github.com/msgpack/msgpack-c/archive/cpp-$MSGPACK_VERSION.tar.gz"
-
-if [[ ${ARCH} == "s390x" ]]; then
-get_src 7d5f3439c8df56046d0564b5857fd8a30296ab1bd6df0f048aed7afb56a0a4c2 \
- "https://github.com/openresty/lua-nginx-module/archive/v$LUA_NGX_VERSION.tar.gz"
-get_src 99c47c75c159795c9faf76bbb9fa58e5a50b75286c86565ffcec8514b1c74bf9 \
- "https://github.com/openresty/stream-lua-nginx-module/archive/v$LUA_STREAM_NGX_VERSION.tar.gz"
-else
get_src bc764db42830aeaf74755754b900253c233ad57498debe7a441cee2c6f4b07c2 \
- "https://github.com/openresty/lua-nginx-module/archive/v$LUA_NGX_VERSION.tar.gz"
+ "https://github.com/openresty/lua-nginx-module/archive/$LUA_NGX_VERSION.tar.gz" "lua-nginx-module"
get_src 01b715754a8248cc7228e0c8f97f7488ae429d90208de0481394e35d24cef32f \
- "https://github.com/openresty/stream-lua-nginx-module/archive/v$LUA_STREAM_NGX_VERSION.tar.gz"
-
-fi
+ "https://github.com/openresty/stream-lua-nginx-module/archive/$LUA_STREAM_NGX_VERSION.tar.gz" "stream-lua-nginx-module"
get_src a92c9ee6682567605ece55d4eed5d1d54446ba6fba748cff0a2482aea5713d5f \
- "https://github.com/openresty/lua-upstream-nginx-module/archive/$LUA_UPSTREAM_VERSION.tar.gz"
+ "https://github.com/openresty/lua-upstream-nginx-module/archive/$LUA_UPSTREAM_VERSION.tar.gz" "lua-upstream-nginx-module"
-if [[ ${ARCH} == "s390x" ]]; then
-get_src 266ed1abb70a9806d97cb958537a44b67db6afb33d3b32292a2d68a2acedea75 \
- "https://github.com/openresty/luajit2/archive/$LUAJIT_VERSION.tar.gz"
-else
get_src 77bbcbb24c3c78f51560017288f3118d995fe71240aa379f5818ff6b166712ff \
- "https://github.com/openresty/luajit2/archive/v$LUAJIT_VERSION.tar.gz"
-fi
-
-get_src 8d39c6b23f941a2d11571daaccc04e69539a3fcbcc50a631837560d5861a7b96 \
- "https://github.com/DataDog/dd-opentracing-cpp/archive/v$DATADOG_CPP_VERSION.tar.gz"
+ "https://github.com/openresty/luajit2/archive/$LUAJIT_VERSION.tar.gz" "luajit2"
get_src b6c9c09fd43eb34a71e706ad780b2ead26549a9a9f59280fe558f5b7b980b7c6 \
- "https://github.com/leev/ngx_http_geoip2_module/archive/$GEOIP2_VERSION.tar.gz"
+ "https://github.com/leev/ngx_http_geoip2_module/archive/$GEOIP2_VERSION.tar.gz" "ngx_http_geoip2_module"
get_src deb4ab1ffb9f3d962c4b4a2c4bdff692b86a209e3835ae71ebdf3b97189e40a9 \
- "https://github.com/openresty/lua-resty-upload/archive/v$LUA_RESTY_UPLOAD_VERSION.tar.gz"
+ "https://github.com/openresty/lua-resty-upload/archive/$LUA_RESTY_UPLOAD_VERSION.tar.gz" "lua-resty-upload"
get_src bdbf271003d95aa91cab0a92f24dca129e99b33f79c13ebfcdbbcbb558129491 \
- "https://github.com/openresty/lua-resty-string/archive/v$LUA_RESTY_STRING_VERSION.tar.gz"
+ "https://github.com/openresty/lua-resty-string/archive/$LUA_RESTY_STRING_VERSION.tar.gz" "lua-resty-string"
get_src 16d72ed133f0c6df376a327386c3ef4e9406cf51003a700737c3805770ade7c5 \
- "https://github.com/openresty/lua-resty-balancer/archive/v$LUA_RESTY_BALANCER.tar.gz"
+ "https://github.com/openresty/lua-resty-balancer/archive/$LUA_RESTY_BALANCER.tar.gz" "lua-resty-balancer"
-if [[ ${ARCH} == "s390x" ]]; then
-get_src 8f5f76d2689a3f6b0782f0a009c56a65e4c7a4382be86422c9b3549fe95b0dc4 \
- "https://github.com/openresty/lua-resty-core/archive/v$LUA_RESTY_CORE.tar.gz"
-else
get_src 39baab9e2b31cc48cecf896cea40ef6e80559054fd8a6e440cc804a858ea84d4 \
- "https://github.com/openresty/lua-resty-core/archive/v$LUA_RESTY_CORE.tar.gz"
-fi
+ "https://github.com/openresty/lua-resty-core/archive/$LUA_RESTY_CORE.tar.gz" "lua-resty-core"
get_src a77b9de160d81712f2f442e1de8b78a5a7ef0d08f13430ff619f79235db974d4 \
- "https://github.com/openresty/lua-cjson/archive/$LUA_CJSON_VERSION.tar.gz"
+ "https://github.com/openresty/lua-cjson/archive/$LUA_CJSON_VERSION.tar.gz" "lua-cjson"
-get_src a404c790553617424d743b82a9f01feccd0d2930b306b370c665ca3b7c09ccb6 \
- "https://github.com/utix/lua-resty-cookie/archive/$LUA_RESTY_COOKIE_VERSION.tar.gz"
+get_src 5ed48c36231e2622b001308622d46a0077525ac2f751e8cc0c9905914254baa4 \
+ "https://github.com/cloudflare/lua-resty-cookie/archive/$LUA_RESTY_COOKIE_VERSION.tar.gz" "lua-resty-cookie"
get_src 573184006b98ccee2594b0d134fa4d05e5d2afd5141cbad315051ccf7e9b6403 \
- "https://github.com/openresty/lua-resty-lrucache/archive/v$LUA_RESTY_CACHE.tar.gz"
+ "https://github.com/openresty/lua-resty-lrucache/archive/$LUA_RESTY_CACHE.tar.gz" "lua-resty-lrucache"
get_src b4ddcd47db347e9adf5c1e1491a6279a6ae2a3aff3155ef77ea0a65c998a69c1 \
- "https://github.com/openresty/lua-resty-lock/archive/v$LUA_RESTY_LOCK.tar.gz"
+ "https://github.com/openresty/lua-resty-lock/archive/$LUA_RESTY_LOCK.tar.gz" "lua-resty-lock"
get_src 70e9a01eb32ccade0d5116a25bcffde0445b94ad35035ce06b94ccd260ad1bf0 \
- "https://github.com/openresty/lua-resty-dns/archive/v$LUA_RESTY_DNS.tar.gz"
+ "https://github.com/openresty/lua-resty-dns/archive/$LUA_RESTY_DNS.tar.gz" "lua-resty-dns"
get_src 9fcb6db95bc37b6fce77d3b3dc740d593f9d90dce0369b405eb04844d56ac43f \
- "https://github.com/ledgetech/lua-resty-http/archive/$LUA_RESTY_HTTP.tar.gz"
+ "https://github.com/ledgetech/lua-resty-http/archive/$LUA_RESTY_HTTP.tar.gz" "lua-resty-http"
get_src 02733575c4aed15f6cab662378e4b071c0a4a4d07940c4ef19a7319e9be943d4 \
- "https://github.com/openresty/lua-resty-memcached/archive/v$LUA_RESTY_MEMCACHED_VERSION.tar.gz"
+ "https://github.com/openresty/lua-resty-memcached/archive/$LUA_RESTY_MEMCACHED_VERSION.tar.gz" "lua-resty-memcached"
get_src c15aed1a01c88a3a6387d9af67a957dff670357f5fdb4ee182beb44635eef3f1 \
- "https://github.com/openresty/lua-resty-redis/archive/v$LUA_RESTY_REDIS_VERSION.tar.gz"
+ "https://github.com/openresty/lua-resty-redis/archive/$LUA_RESTY_REDIS_VERSION.tar.gz" "lua-resty-redis"
get_src efb767487ea3f6031577b9b224467ddbda2ad51a41c5867a47582d4ad85d609e \
- "https://github.com/api7/lua-resty-ipmatcher/archive/v$LUA_RESTY_IPMATCHER_VERSION.tar.gz"
+ "https://github.com/api7/lua-resty-ipmatcher/archive/$LUA_RESTY_IPMATCHER_VERSION.tar.gz" "lua-resty-ipmatcher"
get_src 0fb790e394510e73fdba1492e576aaec0b8ee9ef08e3e821ce253a07719cf7ea \
- "https://github.com/ElvinEfendi/lua-resty-global-throttle/archive/v$LUA_RESTY_GLOBAL_THROTTLE_VERSION.tar.gz"
+ "https://github.com/ElvinEfendi/lua-resty-global-throttle/archive/$LUA_RESTY_GLOBAL_THROTTLE_VERSION.tar.gz" "lua-resty-global-throttle"
get_src d74f86ada2329016068bc5a243268f1f555edd620b6a7d6ce89295e7d6cf18da \
- "https://github.com/microsoft/mimalloc/archive/refs/tags/v${MIMALOC_VERSION}.tar.gz"
+ "https://github.com/microsoft/mimalloc/archive/${MIMALOC_VERSION}.tar.gz" "mimalloc"
# improve compilation times
CORES=$(($(grep -c ^processor /proc/cpuinfo) - 1))
export MAKEFLAGS=-j${CORES}
export CTEST_BUILD_FLAGS=${MAKEFLAGS}
-export HUNTER_JOBS_NUMBER=${CORES}
-export HUNTER_USE_CACHE_SERVERS=true
# Install luajit from openresty fork
export LUAJIT_LIB=/usr/local/lib
export LUA_LIB_DIR="$LUAJIT_LIB/lua"
export LUAJIT_INC=/usr/local/include/luajit-2.1
-cd "$BUILD_PATH/luajit2-$LUAJIT_VERSION"
+cd "$BUILD_PATH/luajit2"
make CCDEBUG=-g
make install
ln -s /usr/local/bin/luajit /usr/local/bin/lua
ln -s "$LUAJIT_INC" /usr/local/include/lua
-cd "$BUILD_PATH"
+cd "$BUILD_PATH/opentelemetry-cpp"
+export CXXFLAGS="-DBENCHMARK_HAS_NO_INLINE_ASSEMBLY"
+cmake -B build -G Ninja -Wno-dev \
+ -DOTELCPP_PROTO_PATH="${BUILD_PATH}/opentelemetry-proto/" \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING="OFF" \
+ -DBUILD_W3CTRACECONTEXT_TEST="OFF" \
+ -DCMAKE_BUILD_TYPE=None \
+ -DWITH_ABSEIL=ON \
+ -DWITH_STL=ON \
+ -DWITH_EXAMPLES=OFF \
+ -DWITH_ZPAGES=OFF \
+ -DWITH_OTLP_GRPC=ON \
+ -DWITH_OTLP_HTTP=ON \
+ -DWITH_ZIPKIN=ON \
+ -DWITH_PROMETHEUS=OFF \
+ -DWITH_ASYNC_EXPORT_PREVIEW=OFF \
+ -DWITH_METRICS_EXEMPLAR_PREVIEW=OFF
+ cmake --build build
+ cmake --install build
# Git tuning
git config --global --add core.compression -1
-# build opentracing lib
-cd "$BUILD_PATH/opentracing-cpp-$OPENTRACING_CPP_VERSION"
-mkdir .build
-cd .build
-
-cmake -DCMAKE_BUILD_TYPE=Release \
- -DBUILD_TESTING=OFF \
- -DBUILD_SHARED_LIBS=OFF \
- -DBUILD_MOCKTRACER=OFF \
- -DBUILD_STATIC_LIBS=ON \
- -DCMAKE_POSITION_INDEPENDENT_CODE:BOOL=true \
- ..
-
-make
-make install
-
-# build yaml-cpp
-# TODO @timmysilv: remove this and jaeger sed calls once it is fixed in jaeger-client-cpp
-cd "$BUILD_PATH/yaml-cpp-$YAML_CPP_VERSION"
-mkdir .build
-cd .build
-
-cmake -DCMAKE_BUILD_TYPE=Release \
- -DCMAKE_POSITION_INDEPENDENT_CODE:BOOL=true \
- -DYAML_BUILD_SHARED_LIBS=ON \
- -DYAML_CPP_BUILD_TESTS=OFF \
- -DYAML_CPP_BUILD_TOOLS=OFF \
- ..
-
-make
-make install
-
-# build jaeger lib
-cd "$BUILD_PATH/jaeger-client-cpp-$JAEGER_VERSION"
-sed -i 's/-Werror/-Wno-psabi/' CMakeLists.txt
-# use the above built yaml-cpp instead until a new version of jaeger-client-cpp fixes the yaml-cpp issue
-# tl;dr new hunter is needed for new yaml-cpp, but new hunter has a conflict with old Thrift and new Boost
-sed -i 's/hunter_add_package(yaml-cpp)/#hunter_add_package(yaml-cpp)/' CMakeLists.txt
-sed -i 's/yaml-cpp::yaml-cpp/yaml-cpp/' CMakeLists.txt
-
-cat < export.map
-{
- global:
- OpenTracingMakeTracerFactory;
- local: *;
-};
-EOF
-
-mkdir .build
-cd .build
-
-cmake -DCMAKE_BUILD_TYPE=Release \
- -DBUILD_TESTING=OFF \
- -DJAEGERTRACING_BUILD_EXAMPLES=OFF \
- -DJAEGERTRACING_BUILD_CROSSDOCK=OFF \
- -DJAEGERTRACING_COVERAGE=OFF \
- -DJAEGERTRACING_PLUGIN=ON \
- -DHUNTER_CONFIGURATION_TYPES=Release \
- -DBUILD_SHARED_LIBS=OFF \
- -DJAEGERTRACING_WITH_YAML_CPP=ON \
- -DCMAKE_POSITION_INDEPENDENT_CODE:BOOL=true \
- ..
-
-make
-make install
-
-export HUNTER_INSTALL_DIR=$(cat _3rdParty/Hunter/install-root-dir) \
-
-mv libjaegertracing_plugin.so /usr/local/lib/libjaegertracing_plugin.so
-
-
-# build zipkin lib
-cd "$BUILD_PATH/zipkin-cpp-opentracing-$ZIPKIN_CPP_VERSION"
-
-cat < export.map
-{
- global:
- OpenTracingMakeTracerFactory;
- local: *;
-};
-EOF
-
-mkdir .build
-cd .build
-
-cmake -DCMAKE_BUILD_TYPE=Release \
- -DBUILD_SHARED_LIBS=OFF \
- -DBUILD_PLUGIN=ON \
- -DBUILD_TESTING=OFF \
- -DCMAKE_POSITION_INDEPENDENT_CODE:BOOL=true \
- ..
-
-make
-make install
-
-# build msgpack lib
-cd "$BUILD_PATH/msgpack-c-cpp-$MSGPACK_VERSION"
-
-mkdir .build
-cd .build
-cmake -DCMAKE_BUILD_TYPE=Release \
- -DBUILD_SHARED_LIBS=OFF \
- -DMSGPACK_BUILD_EXAMPLES=OFF \
- -DCMAKE_POSITION_INDEPENDENT_CODE:BOOL=true \
- ..
-
-make
-make install
-
-# build datadog lib
-cd "$BUILD_PATH/dd-opentracing-cpp-$DATADOG_CPP_VERSION"
-
-mkdir .build
-cd .build
-
-cmake -DCMAKE_BUILD_TYPE=Release \
- -DBUILD_TESTING=OFF \
- -DCMAKE_POSITION_INDEPENDENT_CODE:BOOL=true \
- ..
-
-make
-make install
-
# Get Brotli source and deps
cd "$BUILD_PATH"
-git clone --depth=1 https://github.com/google/ngx_brotli.git
+git clone --depth=100 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
@@ -524,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
@@ -543,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
@@ -554,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
@@ -583,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 \
@@ -602,10 +464,9 @@ CC_OPT="-g -O2 -fPIE -fstack-protector-strong \
--param=ssp-buffer-size=4 \
-DTCP_FASTOPEN=23 \
-fPIC \
- -I$HUNTER_INSTALL_DIR/include \
-Wno-cast-function-type"
-LD_OPT="-fPIE -fPIC -pie -Wl,-z,relro -Wl,-z,now -L$HUNTER_INSTALL_DIR/lib"
+LD_OPT="-fPIE -fPIC -pie -Wl,-z,relro -Wl,-z,now"
if [[ ${ARCH} != "aarch64" ]]; then
WITH_FLAGS+=" --with-file-aio"
@@ -616,17 +477,16 @@ if [[ ${ARCH} == "x86_64" ]]; then
fi
WITH_MODULES=" \
- --add-module=$BUILD_PATH/ngx_devel_kit-$NDK_VERSION \
- --add-module=$BUILD_PATH/set-misc-nginx-module-$SETMISC_VERSION \
- --add-module=$BUILD_PATH/headers-more-nginx-module-$MORE_HEADERS_VERSION \
- --add-module=$BUILD_PATH/ngx_http_substitutions_filter_module-$NGINX_SUBSTITUTIONS \
- --add-module=$BUILD_PATH/lua-nginx-module-$LUA_NGX_VERSION \
- --add-module=$BUILD_PATH/stream-lua-nginx-module-$LUA_STREAM_NGX_VERSION \
- --add-module=$BUILD_PATH/lua-upstream-nginx-module-$LUA_UPSTREAM_VERSION \
- --add-dynamic-module=$BUILD_PATH/nginx-http-auth-digest-$NGINX_DIGEST_AUTH \
- --add-dynamic-module=$BUILD_PATH/nginx-opentracing-$NGINX_OPENTRACING_VERSION/opentracing \
- --add-dynamic-module=$BUILD_PATH/ModSecurity-nginx-$MODSECURITY_VERSION \
- --add-dynamic-module=$BUILD_PATH/ngx_http_geoip2_module-${GEOIP2_VERSION} \
+ --add-module=$BUILD_PATH/ngx_devel_kit \
+ --add-module=$BUILD_PATH/set-misc-nginx-module \
+ --add-module=$BUILD_PATH/headers-more-nginx-module \
+ --add-module=$BUILD_PATH/ngx_http_substitutions_filter_module \
+ --add-module=$BUILD_PATH/lua-nginx-module \
+ --add-module=$BUILD_PATH/stream-lua-nginx-module \
+ --add-module=$BUILD_PATH/lua-upstream-nginx-module \
+ --add-dynamic-module=$BUILD_PATH/nginx-http-auth-digest \
+ --add-dynamic-module=$BUILD_PATH/ModSecurity-nginx \
+ --add-dynamic-module=$BUILD_PATH/ngx_http_geoip2_module \
--add-dynamic-module=$BUILD_PATH/ngx_brotli"
./configure \
@@ -658,56 +518,83 @@ make
make modules
make install
-cd "$BUILD_PATH/lua-resty-core-$LUA_RESTY_CORE"
+export OPENTELEMETRY_CONTRIB_COMMIT=e11348bb400d5472bf1da5d6128bead66fa111ff
+cd "$BUILD_PATH"
+
+git clone https://github.com/open-telemetry/opentelemetry-cpp-contrib.git opentelemetry-cpp-contrib-${OPENTELEMETRY_CONTRIB_COMMIT}
+
+cd ${BUILD_PATH}/opentelemetry-cpp-contrib-${OPENTELEMETRY_CONTRIB_COMMIT}
+git reset --hard ${OPENTELEMETRY_CONTRIB_COMMIT}
+
+export OTEL_TEMP_INSTALL=/tmp/otel
+mkdir -p ${OTEL_TEMP_INSTALL}
+
+cd ${BUILD_PATH}/opentelemetry-cpp-contrib-${OPENTELEMETRY_CONTRIB_COMMIT}/instrumentation/nginx
+mkdir -p build
+cd build
+cmake -DCMAKE_BUILD_TYPE=Release \
+ -G Ninja \
+ -DCMAKE_CXX_STANDARD=17 \
+ -DCMAKE_INSTALL_PREFIX=${OTEL_TEMP_INSTALL} \
+ -DBUILD_SHARED_LIBS=ON \
+ -DNGINX_VERSION=${NGINX_VERSION} \
+ ..
+cmake --build . -j ${CORES} --target install
+
+mkdir -p /etc/nginx/modules
+cp ${OTEL_TEMP_INSTALL}/otel_ngx_module.so /etc/nginx/modules/otel_ngx_module.so
+
+
+cd "$BUILD_PATH/lua-resty-core"
make install
-cd "$BUILD_PATH/lua-resty-balancer-$LUA_RESTY_BALANCER"
+cd "$BUILD_PATH/lua-resty-balancer"
make all
make install
export LUA_INCLUDE_DIR=/usr/local/include/luajit-2.1
ln -s $LUA_INCLUDE_DIR /usr/include/lua5.1
-cd "$BUILD_PATH/lua-cjson-$LUA_CJSON_VERSION"
+cd "$BUILD_PATH/lua-cjson"
make all
make install
-cd "$BUILD_PATH/lua-resty-cookie-$LUA_RESTY_COOKIE_VERSION"
+cd "$BUILD_PATH/lua-resty-cookie"
make all
make install
-cd "$BUILD_PATH/lua-resty-lrucache-$LUA_RESTY_CACHE"
+cd "$BUILD_PATH/lua-resty-lrucache"
make install
-cd "$BUILD_PATH/lua-resty-dns-$LUA_RESTY_DNS"
+cd "$BUILD_PATH/lua-resty-dns"
make install
-cd "$BUILD_PATH/lua-resty-lock-$LUA_RESTY_LOCK"
+cd "$BUILD_PATH/lua-resty-lock"
make install
# required for OCSP verification
-cd "$BUILD_PATH/lua-resty-http-$LUA_RESTY_HTTP"
+cd "$BUILD_PATH/lua-resty-http"
make install
-cd "$BUILD_PATH/lua-resty-upload-$LUA_RESTY_UPLOAD_VERSION"
+cd "$BUILD_PATH/lua-resty-upload"
make install
-cd "$BUILD_PATH/lua-resty-string-$LUA_RESTY_STRING_VERSION"
+cd "$BUILD_PATH/lua-resty-string"
make install
-cd "$BUILD_PATH/lua-resty-memcached-$LUA_RESTY_MEMCACHED_VERSION"
+cd "$BUILD_PATH/lua-resty-memcached"
make install
-cd "$BUILD_PATH/lua-resty-redis-$LUA_RESTY_REDIS_VERSION"
+cd "$BUILD_PATH/lua-resty-redis"
make install
-cd "$BUILD_PATH/lua-resty-ipmatcher-$LUA_RESTY_IPMATCHER_VERSION"
+cd "$BUILD_PATH/lua-resty-ipmatcher"
INST_LUADIR=/usr/local/lib/lua make install
-cd "$BUILD_PATH/lua-resty-global-throttle-$LUA_RESTY_GLOBAL_THROTTLE_VERSION"
+cd "$BUILD_PATH/lua-resty-global-throttle"
make install
-cd "$BUILD_PATH/mimalloc-$MIMALOC_VERSION"
+cd "$BUILD_PATH/mimalloc"
mkdir -p out/release
cd out/release
diff --git a/images/nginx-1.25/rootfs/patches/00_drop-alias-root.patch b/images/nginx/rootfs/patches/00_drop-alias-root.patch
similarity index 100%
rename from images/nginx-1.25/rootfs/patches/00_drop-alias-root.patch
rename to images/nginx/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/rootfs/patches/01_nginx-1.25.3-win32_max_err_str.patch
similarity index 100%
rename from images/nginx-1.25/rootfs/patches/01_nginx-1.25.3-win32_max_err_str.patch
rename to images/nginx/rootfs/patches/01_nginx-1.25.3-win32_max_err_str.patch
diff --git a/images/nginx-1.25/rootfs/patches/02_nginx-1.25.3-stream_balancer_export.patch b/images/nginx/rootfs/patches/02_nginx-1.25.3-stream_balancer_export.patch
similarity index 100%
rename from images/nginx-1.25/rootfs/patches/02_nginx-1.25.3-stream_balancer_export.patch
rename to images/nginx/rootfs/patches/02_nginx-1.25.3-stream_balancer_export.patch
diff --git a/images/nginx-1.25/rootfs/patches/03_nginx-1.25.3-stream_proxy_get_next_upstream_tries.patch b/images/nginx/rootfs/patches/03_nginx-1.25.3-stream_proxy_get_next_upstream_tries.patch
similarity index 100%
rename from images/nginx-1.25/rootfs/patches/03_nginx-1.25.3-stream_proxy_get_next_upstream_tries.patch
rename to images/nginx/rootfs/patches/03_nginx-1.25.3-stream_proxy_get_next_upstream_tries.patch
diff --git a/images/nginx-1.25/rootfs/patches/04_nginx-1.25.3-stream_proxy_timeout_fields.patch b/images/nginx/rootfs/patches/04_nginx-1.25.3-stream_proxy_timeout_fields.patch
similarity index 100%
rename from images/nginx-1.25/rootfs/patches/04_nginx-1.25.3-stream_proxy_timeout_fields.patch
rename to images/nginx/rootfs/patches/04_nginx-1.25.3-stream_proxy_timeout_fields.patch
diff --git a/images/nginx-1.25/rootfs/patches/05_nginx-1.25.3-stream_ssl_preread_no_skip.patch b/images/nginx/rootfs/patches/05_nginx-1.25.3-stream_ssl_preread_no_skip.patch
similarity index 100%
rename from images/nginx-1.25/rootfs/patches/05_nginx-1.25.3-stream_ssl_preread_no_skip.patch
rename to images/nginx/rootfs/patches/05_nginx-1.25.3-stream_ssl_preread_no_skip.patch
diff --git a/images/nginx-1.25/rootfs/patches/06_nginx-1.25.3-resolver_conf_parsing.patch b/images/nginx/rootfs/patches/06_nginx-1.25.3-resolver_conf_parsing.patch
similarity index 100%
rename from images/nginx-1.25/rootfs/patches/06_nginx-1.25.3-resolver_conf_parsing.patch
rename to images/nginx/rootfs/patches/06_nginx-1.25.3-resolver_conf_parsing.patch
diff --git a/images/nginx-1.25/rootfs/patches/07_nginx-1.25.3-daemon_destroy_pool.patch b/images/nginx/rootfs/patches/07_nginx-1.25.3-daemon_destroy_pool.patch
similarity index 100%
rename from images/nginx-1.25/rootfs/patches/07_nginx-1.25.3-daemon_destroy_pool.patch
rename to images/nginx/rootfs/patches/07_nginx-1.25.3-daemon_destroy_pool.patch
diff --git a/images/nginx-1.25/rootfs/patches/08_nginx-1.25.3-init_cycle_pool_release.patch b/images/nginx/rootfs/patches/08_nginx-1.25.3-init_cycle_pool_release.patch
similarity index 100%
rename from images/nginx-1.25/rootfs/patches/08_nginx-1.25.3-init_cycle_pool_release.patch
rename to images/nginx/rootfs/patches/08_nginx-1.25.3-init_cycle_pool_release.patch
diff --git a/images/nginx-1.25/rootfs/patches/09_nginx-1.25.3-balancer_status_code.patch b/images/nginx/rootfs/patches/09_nginx-1.25.3-balancer_status_code.patch
similarity index 100%
rename from images/nginx-1.25/rootfs/patches/09_nginx-1.25.3-balancer_status_code.patch
rename to images/nginx/rootfs/patches/09_nginx-1.25.3-balancer_status_code.patch
diff --git a/images/nginx-1.25/rootfs/patches/10_nginx-1.25.3-delayed_posted_events.patch b/images/nginx/rootfs/patches/10_nginx-1.25.3-delayed_posted_events.patch
similarity index 100%
rename from images/nginx-1.25/rootfs/patches/10_nginx-1.25.3-delayed_posted_events.patch
rename to images/nginx/rootfs/patches/10_nginx-1.25.3-delayed_posted_events.patch
diff --git a/images/nginx-1.25/rootfs/patches/11_nginx-1.25.3-privileged_agent_process.patch b/images/nginx/rootfs/patches/11_nginx-1.25.3-privileged_agent_process.patch
similarity index 100%
rename from images/nginx-1.25/rootfs/patches/11_nginx-1.25.3-privileged_agent_process.patch
rename to images/nginx/rootfs/patches/11_nginx-1.25.3-privileged_agent_process.patch
diff --git a/images/nginx-1.25/rootfs/patches/12_nginx-1.25.3-privileged_agent_process_connections.patch b/images/nginx/rootfs/patches/12_nginx-1.25.3-privileged_agent_process_connections.patch
similarity index 100%
rename from images/nginx-1.25/rootfs/patches/12_nginx-1.25.3-privileged_agent_process_connections.patch
rename to images/nginx/rootfs/patches/12_nginx-1.25.3-privileged_agent_process_connections.patch
diff --git a/images/nginx-1.25/rootfs/patches/13_nginx-1.25.3-privileged_agent_process_thread_pool.patch b/images/nginx/rootfs/patches/13_nginx-1.25.3-privileged_agent_process_thread_pool.patch
similarity index 100%
rename from images/nginx-1.25/rootfs/patches/13_nginx-1.25.3-privileged_agent_process_thread_pool.patch
rename to images/nginx/rootfs/patches/13_nginx-1.25.3-privileged_agent_process_thread_pool.patch
diff --git a/images/nginx-1.25/rootfs/patches/14_nginx-1.25.3-single_process_graceful_exit.patch b/images/nginx/rootfs/patches/14_nginx-1.25.3-single_process_graceful_exit.patch
similarity index 100%
rename from images/nginx-1.25/rootfs/patches/14_nginx-1.25.3-single_process_graceful_exit.patch
rename to images/nginx/rootfs/patches/14_nginx-1.25.3-single_process_graceful_exit.patch
diff --git a/images/nginx-1.25/rootfs/patches/15_nginx-1.25.3-intercept_error_log.patch b/images/nginx/rootfs/patches/15_nginx-1.25.3-intercept_error_log.patch
similarity index 100%
rename from images/nginx-1.25/rootfs/patches/15_nginx-1.25.3-intercept_error_log.patch
rename to images/nginx/rootfs/patches/15_nginx-1.25.3-intercept_error_log.patch
diff --git a/images/nginx-1.25/rootfs/patches/16_nginx-1.25.3-upstream_pipelining.patch b/images/nginx/rootfs/patches/16_nginx-1.25.3-upstream_pipelining.patch
similarity index 100%
rename from images/nginx-1.25/rootfs/patches/16_nginx-1.25.3-upstream_pipelining.patch
rename to images/nginx/rootfs/patches/16_nginx-1.25.3-upstream_pipelining.patch
diff --git a/images/nginx-1.25/rootfs/patches/17_nginx-1.25.3-no_error_pages.patch b/images/nginx/rootfs/patches/17_nginx-1.25.3-no_error_pages.patch
similarity index 100%
rename from images/nginx-1.25/rootfs/patches/17_nginx-1.25.3-no_error_pages.patch
rename to images/nginx/rootfs/patches/17_nginx-1.25.3-no_error_pages.patch
diff --git a/images/nginx-1.25/rootfs/patches/18_nginx-1.25.3-no_Werror.patch b/images/nginx/rootfs/patches/18_nginx-1.25.3-no_Werror.patch
similarity index 100%
rename from images/nginx-1.25/rootfs/patches/18_nginx-1.25.3-no_Werror.patch
rename to images/nginx/rootfs/patches/18_nginx-1.25.3-no_Werror.patch
diff --git a/images/nginx-1.25/rootfs/patches/19_nginx-1.25.3-log_escape_non_ascii.patch b/images/nginx/rootfs/patches/19_nginx-1.25.3-log_escape_non_ascii.patch
similarity index 100%
rename from images/nginx-1.25/rootfs/patches/19_nginx-1.25.3-log_escape_non_ascii.patch
rename to images/nginx/rootfs/patches/19_nginx-1.25.3-log_escape_non_ascii.patch
diff --git a/images/nginx-1.25/rootfs/patches/20_nginx-1.25.3-proxy_host_port_vars.patch b/images/nginx/rootfs/patches/20_nginx-1.25.3-proxy_host_port_vars.patch
similarity index 100%
rename from images/nginx-1.25/rootfs/patches/20_nginx-1.25.3-proxy_host_port_vars.patch
rename to images/nginx/rootfs/patches/20_nginx-1.25.3-proxy_host_port_vars.patch
diff --git a/images/nginx-1.25/rootfs/patches/21_nginx-1.25.3-cache_manager_exit.patch b/images/nginx/rootfs/patches/21_nginx-1.25.3-cache_manager_exit.patch
similarity index 100%
rename from images/nginx-1.25/rootfs/patches/21_nginx-1.25.3-cache_manager_exit.patch
rename to images/nginx/rootfs/patches/21_nginx-1.25.3-cache_manager_exit.patch
diff --git a/images/nginx-1.25/rootfs/patches/22_nginx-1.25.3-larger_max_error_str.patch b/images/nginx/rootfs/patches/22_nginx-1.25.3-larger_max_error_str.patch
similarity index 100%
rename from images/nginx-1.25/rootfs/patches/22_nginx-1.25.3-larger_max_error_str.patch
rename to images/nginx/rootfs/patches/22_nginx-1.25.3-larger_max_error_str.patch
diff --git a/images/nginx-1.25/rootfs/patches/23_nginx-1.25.3-pcre_conf_opt.patch b/images/nginx/rootfs/patches/23_nginx-1.25.3-pcre_conf_opt.patch
similarity index 100%
rename from images/nginx-1.25/rootfs/patches/23_nginx-1.25.3-pcre_conf_opt.patch
rename to images/nginx/rootfs/patches/23_nginx-1.25.3-pcre_conf_opt.patch
diff --git a/images/nginx-1.25/rootfs/patches/24_nginx-1.25.3-always_enable_cc_feature_tests.patch b/images/nginx/rootfs/patches/24_nginx-1.25.3-always_enable_cc_feature_tests.patch
similarity index 100%
rename from images/nginx-1.25/rootfs/patches/24_nginx-1.25.3-always_enable_cc_feature_tests.patch
rename to images/nginx/rootfs/patches/24_nginx-1.25.3-always_enable_cc_feature_tests.patch
diff --git a/images/nginx-1.25/rootfs/patches/25_nginx-1.25.3-ssl_cert_cb_yield.patch b/images/nginx/rootfs/patches/25_nginx-1.25.3-ssl_cert_cb_yield.patch
similarity index 100%
rename from images/nginx-1.25/rootfs/patches/25_nginx-1.25.3-ssl_cert_cb_yield.patch
rename to images/nginx/rootfs/patches/25_nginx-1.25.3-ssl_cert_cb_yield.patch
diff --git a/images/nginx-1.25/rootfs/patches/26_nginx-1.25.3-ssl_sess_cb_yield.patch b/images/nginx/rootfs/patches/26_nginx-1.25.3-ssl_sess_cb_yield.patch
similarity index 100%
rename from images/nginx-1.25/rootfs/patches/26_nginx-1.25.3-ssl_sess_cb_yield.patch
rename to images/nginx/rootfs/patches/26_nginx-1.25.3-ssl_sess_cb_yield.patch
diff --git a/images/nginx-1.25/rootfs/patches/27_nginx-1.25.3-ssl_client_hello_cb_yield.patch b/images/nginx/rootfs/patches/27_nginx-1.25.3-ssl_client_hello_cb_yield.patch
similarity index 100%
rename from images/nginx-1.25/rootfs/patches/27_nginx-1.25.3-ssl_client_hello_cb_yield.patch
rename to images/nginx/rootfs/patches/27_nginx-1.25.3-ssl_client_hello_cb_yield.patch
diff --git a/images/nginx-1.25/rootfs/patches/28_nginx-1.25.3-upstream_timeout_fields.patch b/images/nginx/rootfs/patches/28_nginx-1.25.3-upstream_timeout_fields.patch
similarity index 100%
rename from images/nginx-1.25/rootfs/patches/28_nginx-1.25.3-upstream_timeout_fields.patch
rename to images/nginx/rootfs/patches/28_nginx-1.25.3-upstream_timeout_fields.patch
diff --git a/images/nginx-1.25/rootfs/patches/29_nginx-1.25.3-safe_resolver_ipv6_option.patch b/images/nginx/rootfs/patches/29_nginx-1.25.3-safe_resolver_ipv6_option.patch
similarity index 100%
rename from images/nginx-1.25/rootfs/patches/29_nginx-1.25.3-safe_resolver_ipv6_option.patch
rename to images/nginx/rootfs/patches/29_nginx-1.25.3-safe_resolver_ipv6_option.patch
diff --git a/images/nginx-1.25/rootfs/patches/30_nginx-1.25.3-socket_cloexec.patch b/images/nginx/rootfs/patches/30_nginx-1.25.3-socket_cloexec.patch
similarity index 100%
rename from images/nginx-1.25/rootfs/patches/30_nginx-1.25.3-socket_cloexec.patch
rename to images/nginx/rootfs/patches/30_nginx-1.25.3-socket_cloexec.patch
diff --git a/images/nginx-1.25/rootfs/patches/31_nginx-1.25.3-reuseport_close_unused_fds.patch b/images/nginx/rootfs/patches/31_nginx-1.25.3-reuseport_close_unused_fds.patch
similarity index 100%
rename from images/nginx-1.25/rootfs/patches/31_nginx-1.25.3-reuseport_close_unused_fds.patch
rename to images/nginx/rootfs/patches/31_nginx-1.25.3-reuseport_close_unused_fds.patch
diff --git a/images/nginx/rootfs/patches/drop-alias-root.patch b/images/nginx/rootfs/patches/drop-alias-root.patch
deleted file mode 100644
index a92e08bd0..000000000
--- a/images/nginx/rootfs/patches/drop-alias-root.patch
+++ /dev/null
@@ -1,144 +0,0 @@
-:100644 100644 c7463dcd 00000000 M src/http/ngx_http_core_module.c
-diff --git a/src/http/ngx_http_core_module.c b/src/http/ngx_http_core_module.c
-index c7463dcd..e2e45931 100644
---- a/src/http/ngx_http_core_module.c
-+++ b/src/http/ngx_http_core_module.c
-@@ -55,7 +55,6 @@ static char *ngx_http_core_listen(ngx_conf_t *cf, ngx_command_t *cmd,
- void *conf);
- static char *ngx_http_core_server_name(ngx_conf_t *cf, ngx_command_t *cmd,
- void *conf);
--static char *ngx_http_core_root(ngx_conf_t *cf, ngx_command_t *cmd, void *conf);
- static char *ngx_http_core_limit_except(ngx_conf_t *cf, ngx_command_t *cmd,
- void *conf);
- static char *ngx_http_core_set_aio(ngx_conf_t *cf, ngx_command_t *cmd,
-@@ -323,21 +322,6 @@ static ngx_command_t ngx_http_core_commands[] = {
- offsetof(ngx_http_core_loc_conf_t, default_type),
- NULL },
-
-- { ngx_string("root"),
-- NGX_HTTP_MAIN_CONF|NGX_HTTP_SRV_CONF|NGX_HTTP_LOC_CONF|NGX_HTTP_LIF_CONF
-- |NGX_CONF_TAKE1,
-- ngx_http_core_root,
-- NGX_HTTP_LOC_CONF_OFFSET,
-- 0,
-- NULL },
--
-- { ngx_string("alias"),
-- NGX_HTTP_LOC_CONF|NGX_CONF_TAKE1,
-- ngx_http_core_root,
-- NGX_HTTP_LOC_CONF_OFFSET,
-- 0,
-- NULL },
--
- { ngx_string("limit_except"),
- NGX_HTTP_LOC_CONF|NGX_CONF_BLOCK|NGX_CONF_1MORE,
- ngx_http_core_limit_except,
-@@ -4312,108 +4296,6 @@ ngx_http_core_server_name(ngx_conf_t *cf, ngx_command_t *cmd, void *conf)
- }
-
-
--static char *
--ngx_http_core_root(ngx_conf_t *cf, ngx_command_t *cmd, void *conf)
--{
-- ngx_http_core_loc_conf_t *clcf = conf;
--
-- ngx_str_t *value;
-- ngx_int_t alias;
-- ngx_uint_t n;
-- ngx_http_script_compile_t sc;
--
-- alias = (cmd->name.len == sizeof("alias") - 1) ? 1 : 0;
--
-- if (clcf->root.data) {
--
-- if ((clcf->alias != 0) == alias) {
-- return "is duplicate";
-- }
--
-- ngx_conf_log_error(NGX_LOG_EMERG, cf, 0,
-- "\"%V\" directive is duplicate, "
-- "\"%s\" directive was specified earlier",
-- &cmd->name, clcf->alias ? "alias" : "root");
--
-- return NGX_CONF_ERROR;
-- }
--
-- if (clcf->named && alias) {
-- ngx_conf_log_error(NGX_LOG_EMERG, cf, 0,
-- "the \"alias\" directive cannot be used "
-- "inside the named location");
--
-- return NGX_CONF_ERROR;
-- }
--
-- value = cf->args->elts;
--
-- if (ngx_strstr(value[1].data, "$document_root")
-- || ngx_strstr(value[1].data, "${document_root}"))
-- {
-- ngx_conf_log_error(NGX_LOG_EMERG, cf, 0,
-- "the $document_root variable cannot be used "
-- "in the \"%V\" directive",
-- &cmd->name);
--
-- return NGX_CONF_ERROR;
-- }
--
-- if (ngx_strstr(value[1].data, "$realpath_root")
-- || ngx_strstr(value[1].data, "${realpath_root}"))
-- {
-- ngx_conf_log_error(NGX_LOG_EMERG, cf, 0,
-- "the $realpath_root variable cannot be used "
-- "in the \"%V\" directive",
-- &cmd->name);
--
-- return NGX_CONF_ERROR;
-- }
--
-- clcf->alias = alias ? clcf->name.len : 0;
-- clcf->root = value[1];
--
-- if (!alias && clcf->root.len > 0
-- && clcf->root.data[clcf->root.len - 1] == '/')
-- {
-- clcf->root.len--;
-- }
--
-- if (clcf->root.data[0] != '$') {
-- if (ngx_conf_full_name(cf->cycle, &clcf->root, 0) != NGX_OK) {
-- return NGX_CONF_ERROR;
-- }
-- }
--
-- n = ngx_http_script_variables_count(&clcf->root);
--
-- ngx_memzero(&sc, sizeof(ngx_http_script_compile_t));
-- sc.variables = n;
--
--#if (NGX_PCRE)
-- if (alias && clcf->regex) {
-- clcf->alias = NGX_MAX_SIZE_T_VALUE;
-- n = 1;
-- }
--#endif
--
-- if (n) {
-- sc.cf = cf;
-- sc.source = &clcf->root;
-- sc.lengths = &clcf->root_lengths;
-- sc.values = &clcf->root_values;
-- sc.complete_lengths = 1;
-- sc.complete_values = 1;
--
-- if (ngx_http_script_compile(&sc) != NGX_OK) {
-- return NGX_CONF_ERROR;
-- }
-- }
--
-- return NGX_CONF_OK;
--}
--
--
- static ngx_http_method_name_t ngx_methods_names[] = {
- { (u_char *) "GET", (uint32_t) ~NGX_HTTP_GET },
- { (u_char *) "HEAD", (uint32_t) ~NGX_HTTP_HEAD },
diff --git a/images/nginx/rootfs/patches/nginx-1.21.4-balancer_status_code.patch b/images/nginx/rootfs/patches/nginx-1.21.4-balancer_status_code.patch
deleted file mode 100644
index c4d87e2fb..000000000
--- a/images/nginx/rootfs/patches/nginx-1.21.4-balancer_status_code.patch
+++ /dev/null
@@ -1,72 +0,0 @@
-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/rootfs/patches/nginx-1.21.4-cache_manager_exit.patch b/images/nginx/rootfs/patches/nginx-1.21.4-cache_manager_exit.patch
deleted file mode 100644
index 91ee63a26..000000000
--- a/images/nginx/rootfs/patches/nginx-1.21.4-cache_manager_exit.patch
+++ /dev/null
@@ -1,19 +0,0 @@
-# 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/rootfs/patches/nginx-1.21.4-delayed_posted_events.patch b/images/nginx/rootfs/patches/nginx-1.21.4-delayed_posted_events.patch
deleted file mode 100644
index 687584324..000000000
--- a/images/nginx/rootfs/patches/nginx-1.21.4-delayed_posted_events.patch
+++ /dev/null
@@ -1,98 +0,0 @@
-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/rootfs/patches/nginx-1.21.4-hash_overflow.patch b/images/nginx/rootfs/patches/nginx-1.21.4-hash_overflow.patch
deleted file mode 100644
index 449d214ba..000000000
--- a/images/nginx/rootfs/patches/nginx-1.21.4-hash_overflow.patch
+++ /dev/null
@@ -1,20 +0,0 @@
-# HG changeset patch
-# User Yichun Zhang
-# Date 1412276417 25200
-# Thu Oct 02 12:00:17 2014 -0700
-# Node ID 4032b992f23b054c1a2cfb0be879330d2c6708e5
-# Parent 1ff0f68d9376e3d184d65814a6372856bf65cfcd
-Hash: buffer overflow might happen when exceeding the pre-configured limits.
-
-diff -r 1ff0f68d9376 -r 4032b992f23b src/core/ngx_hash.c
---- a/src/core/ngx_hash.c Tue Sep 30 15:50:28 2014 -0700
-+++ b/src/core/ngx_hash.c Thu Oct 02 12:00:17 2014 -0700
-@@ -312,6 +312,8 @@ ngx_hash_init(ngx_hash_init_t *hinit, ng
- continue;
- }
-
-+ size--;
-+
- ngx_log_error(NGX_LOG_WARN, hinit->pool->log, 0,
- "could not build optimal %s, you should increase "
- "either %s_max_size: %i or %s_bucket_size: %i; "
diff --git a/images/nginx/rootfs/patches/nginx-1.21.4-http2.patch b/images/nginx/rootfs/patches/nginx-1.21.4-http2.patch
deleted file mode 100644
index 3b9d57736..000000000
--- a/images/nginx/rootfs/patches/nginx-1.21.4-http2.patch
+++ /dev/null
@@ -1,57 +0,0 @@
-#commit 6ceef192e7af1c507826ac38a2d43f08bf265fb9
-#repository: https://github.com/nginx/nginx
-#Author: Maxim Dounin
-#Date: Tue Oct 10 15:13:39 2023 +0300
-diff --git a/src/http/v2/ngx_http_v2.c b/src/http/v2/ngx_http_v2.c
-index 7c05ff1e7..410a8be24 100644
---- a/src/http/v2/ngx_http_v2.c
-+++ b/src/http/v2/ngx_http_v2.c
-@@ -347,6 +347,7 @@ ngx_http_v2_read_handler(ngx_event_t *rev)
- ngx_log_debug0(NGX_LOG_DEBUG_HTTP, c->log, 0, "http2 read handler");
-
- h2c->blocked = 1;
-+ h2c->new_streams = 0;
-
- if (c->close) {
- c->close = 0;
-@@ -1284,6 +1285,14 @@ ngx_http_v2_state_headers(ngx_http_v2_connection_t *h2c, u_char *pos,
- goto rst_stream;
- }
-
-+ if (h2c->new_streams++ >= 2 * h2scf->concurrent_streams) {
-+ ngx_log_error(NGX_LOG_INFO, h2c->connection->log, 0,
-+ "client sent too many streams at once");
-+
-+ status = NGX_HTTP_V2_REFUSED_STREAM;
-+ goto rst_stream;
-+ }
-+
- if (!h2c->settings_ack
- && !(h2c->state.flags & NGX_HTTP_V2_END_STREAM_FLAG)
- && h2scf->preread_size < NGX_HTTP_V2_DEFAULT_WINDOW)
-@@ -1349,6 +1358,12 @@ ngx_http_v2_state_headers(ngx_http_v2_connection_t *h2c, u_char *pos,
-
- rst_stream:
-
-+ if (h2c->refused_streams++ > ngx_max(h2scf->concurrent_streams, 100)) {
-+ ngx_log_error(NGX_LOG_INFO, h2c->connection->log, 0,
-+ "client sent too many refused streams");
-+ return ngx_http_v2_connection_error(h2c, NGX_HTTP_V2_NO_ERROR);
-+ }
-+
- if (ngx_http_v2_send_rst_stream(h2c, h2c->state.sid, status) != NGX_OK) {
- return ngx_http_v2_connection_error(h2c, NGX_HTTP_V2_INTERNAL_ERROR);
- }
-diff --git a/src/http/v2/ngx_http_v2.h b/src/http/v2/ngx_http_v2.h
-index cb9014ccf..6751b3026 100644
---- a/src/http/v2/ngx_http_v2.h
-+++ b/src/http/v2/ngx_http_v2.h
-@@ -131,6 +131,8 @@ struct ngx_http_v2_connection_s {
- ngx_uint_t processing;
- ngx_uint_t frames;
- ngx_uint_t idle;
-+ ngx_uint_t new_streams;
-+ ngx_uint_t refused_streams;
- ngx_uint_t priority_limit;
-
- size_t send_window;
\ No newline at end of file
diff --git a/images/nginx/rootfs/patches/nginx-1.21.4-init_cycle_pool_release.patch b/images/nginx/rootfs/patches/nginx-1.21.4-init_cycle_pool_release.patch
deleted file mode 100644
index 9cfa4f7cb..000000000
--- a/images/nginx/rootfs/patches/nginx-1.21.4-init_cycle_pool_release.patch
+++ /dev/null
@@ -1,59 +0,0 @@
-diff -rup nginx-1.21.4/src/core/nginx.c nginx-1.21.4-patched/src/core/nginx.c
---- nginx-1.21.4/src/core/nginx.c 2017-12-17 00:00:38.136470108 -0800
-+++ nginx-1.21.4-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.21.4/src/core/ngx_core.h nginx-1.21.4-patched/src/core/ngx_core.h
---- nginx-1.21.4/src/core/ngx_core.h 2017-10-10 08:22:51.000000000 -0700
-+++ nginx-1.21.4-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.21.4/src/core/ngx_cycle.c nginx-1.21.4-patched/src/core/ngx_cycle.c
---- nginx-1.21.4/src/core/ngx_cycle.c 2017-10-10 08:22:51.000000000 -0700
-+++ nginx-1.21.4-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.21.4/src/os/unix/ngx_process_cycle.c nginx-1.21.4-patched/src/os/unix/ngx_process_cycle.c
---- nginx-1.21.4/src/os/unix/ngx_process_cycle.c 2017-12-17 00:00:38.142469762 -0800
-+++ nginx-1.21.4-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/rootfs/patches/nginx-1.21.4-larger_max_error_str.patch b/images/nginx/rootfs/patches/nginx-1.21.4-larger_max_error_str.patch
deleted file mode 100644
index c89032c9f..000000000
--- a/images/nginx/rootfs/patches/nginx-1.21.4-larger_max_error_str.patch
+++ /dev/null
@@ -1,13 +0,0 @@
---- nginx-1.21.4/src/core/ngx_log.h 2013-10-08 05:07:14.000000000 -0700
-+++ nginx-1.21.4-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/rootfs/patches/nginx-1.21.4-no_Werror.patch b/images/nginx/rootfs/patches/nginx-1.21.4-no_Werror.patch
deleted file mode 100644
index f4d6fd0e5..000000000
--- a/images/nginx/rootfs/patches/nginx-1.21.4-no_Werror.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-diff -urp nginx-1.21.4/auto/cc/clang nginx-1.21.4-patched/auto/cc/clang
---- nginx-1.21.4/auto/cc/clang 2014-03-04 03:39:24.000000000 -0800
-+++ nginx-1.21.4-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.21.4/auto/cc/gcc nginx-1.21.4-patched/auto/cc/gcc
---- nginx-1.21.4/auto/cc/gcc 2014-03-04 03:39:24.000000000 -0800
-+++ nginx-1.21.4-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.21.4/auto/cc/icc nginx-1.21.4-patched/auto/cc/icc
---- nginx-1.21.4/auto/cc/icc 2014-03-04 03:39:24.000000000 -0800
-+++ nginx-1.21.4-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/rootfs/patches/nginx-1.21.4-proxy_host_port_vars.patch b/images/nginx/rootfs/patches/nginx-1.21.4-proxy_host_port_vars.patch
deleted file mode 100644
index 01cebd65a..000000000
--- a/images/nginx/rootfs/patches/nginx-1.21.4-proxy_host_port_vars.patch
+++ /dev/null
@@ -1,19 +0,0 @@
---- nginx-1.21.4/src/http/modules/ngx_http_proxy_module.c 2017-07-16 14:02:51.000000000 +0800
-+++ nginx-1.21.4-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/rootfs/patches/nginx-1.21.4-resolver_conf_parsing.patch b/images/nginx/rootfs/patches/nginx-1.21.4-resolver_conf_parsing.patch
deleted file mode 100644
index 8638cdf2a..000000000
--- a/images/nginx/rootfs/patches/nginx-1.21.4-resolver_conf_parsing.patch
+++ /dev/null
@@ -1,263 +0,0 @@
-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/rootfs/patches/nginx-1.21.4-reuseport_close_unused_fds.patch b/images/nginx/rootfs/patches/nginx-1.21.4-reuseport_close_unused_fds.patch
deleted file mode 100644
index ff4a36fd2..000000000
--- a/images/nginx/rootfs/patches/nginx-1.21.4-reuseport_close_unused_fds.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-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/rootfs/patches/nginx-1.21.4-single_process_graceful_exit.patch b/images/nginx/rootfs/patches/nginx-1.21.4-single_process_graceful_exit.patch
deleted file mode 100644
index 2754fc2fe..000000000
--- a/images/nginx/rootfs/patches/nginx-1.21.4-single_process_graceful_exit.patch
+++ /dev/null
@@ -1,75 +0,0 @@
-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/rootfs/patches/nginx-1.21.4-socket_cloexec.patch b/images/nginx/rootfs/patches/nginx-1.21.4-socket_cloexec.patch
deleted file mode 100644
index 8ffe4c167..000000000
--- a/images/nginx/rootfs/patches/nginx-1.21.4-socket_cloexec.patch
+++ /dev/null
@@ -1,185 +0,0 @@
-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/rootfs/patches/nginx-1.21.4-ssl_cert_cb_yield.patch b/images/nginx/rootfs/patches/nginx-1.21.4-ssl_cert_cb_yield.patch
deleted file mode 100644
index 89773c05e..000000000
--- a/images/nginx/rootfs/patches/nginx-1.21.4-ssl_cert_cb_yield.patch
+++ /dev/null
@@ -1,64 +0,0 @@
-# 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/rootfs/patches/nginx-1.21.4-ssl_sess_cb_yield.patch b/images/nginx/rootfs/patches/nginx-1.21.4-ssl_sess_cb_yield.patch
deleted file mode 100644
index ac5fe65eb..000000000
--- a/images/nginx/rootfs/patches/nginx-1.21.4-ssl_sess_cb_yield.patch
+++ /dev/null
@@ -1,41 +0,0 @@
-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/rootfs/patches/nginx-1.21.4-stream_proxy_get_next_upstream_tries.patch b/images/nginx/rootfs/patches/nginx-1.21.4-stream_proxy_get_next_upstream_tries.patch
deleted file mode 100644
index cb881f070..000000000
--- a/images/nginx/rootfs/patches/nginx-1.21.4-stream_proxy_get_next_upstream_tries.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-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/rootfs/patches/nginx-1.21.4-stream_ssl_preread_no_skip.patch b/images/nginx/rootfs/patches/nginx-1.21.4-stream_ssl_preread_no_skip.patch
deleted file mode 100644
index e45e9f69a..000000000
--- a/images/nginx/rootfs/patches/nginx-1.21.4-stream_ssl_preread_no_skip.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-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/rootfs/patches/nginx-1.21.4-upstream_pipelining.patch b/images/nginx/rootfs/patches/nginx-1.21.4-upstream_pipelining.patch
deleted file mode 100644
index aed80365a..000000000
--- a/images/nginx/rootfs/patches/nginx-1.21.4-upstream_pipelining.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-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/rootfs/patches/nginx-1.21.4-upstream_timeout_fields.patch b/images/nginx/rootfs/patches/nginx-1.21.4-upstream_timeout_fields.patch
deleted file mode 100644
index 2314ddf80..000000000
--- a/images/nginx/rootfs/patches/nginx-1.21.4-upstream_timeout_fields.patch
+++ /dev/null
@@ -1,112 +0,0 @@
-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;
From c26db188eef681eefc27c6d09c65302021d8f013 Mon Sep 17 00:00:00 2001
From: k8s-infra-cherrypick-robot
<90416843+k8s-infra-cherrypick-robot@users.noreply.github.com>
Date: Tue, 1 Oct 2024 23:04:59 -0700
Subject: [PATCH 243/265] Images: Trigger NGINX build. (#12077)
Co-authored-by: Marco Ebert
---
images/nginx/TAG | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/images/nginx/TAG b/images/nginx/TAG
index f25246219..b82608c0b 100644
--- a/images/nginx/TAG
+++ b/images/nginx/TAG
@@ -1 +1 @@
-v0.0.12
+v0.1.0
From ecd9bf80ea47775ddeeec01c6bc33fcff3666e8a Mon Sep 17 00:00:00 2001
From: Marco Ebert
Date: Wed, 2 Oct 2024 13:02:24 +0200
Subject: [PATCH 244/265] Images: Bump `NGINX_BASE` to v0.1.0. (#12079)
---
NGINX_BASE | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/NGINX_BASE b/NGINX_BASE
index 5e32265fa..2a95b1089 100644
--- a/NGINX_BASE
+++ b/NGINX_BASE
@@ -1 +1 @@
-registry.k8s.io/ingress-nginx/nginx-1.25:v0.0.12@sha256:2d471b3a34dc43d10c3f3d7f2a6e8a2ecf7654a4197e56374261c1c708b16365
+registry.k8s.io/ingress-nginx/nginx:v0.1.0@sha256:87dcd5ed0206161b86f3767ccdc592716617481e3eac89bfc46ec515419c0b94
From 9a88ccdc493fe72d014f7cbe482b166ea320d07e Mon Sep 17 00:00:00 2001
From: k8s-infra-cherrypick-robot
<90416843+k8s-infra-cherrypick-robot@users.noreply.github.com>
Date: Wed, 2 Oct 2024 09:53:49 -0700
Subject: [PATCH 245/265] Bump k8s.io/cli-runtime from 0.30.0 to 0.31.1
(#12082)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
---
go.mod | 8 +++-----
go.sum | 16 ++++++----------
2 files changed, 9 insertions(+), 15 deletions(-)
diff --git a/go.mod b/go.mod
index 7657fc560..d5d0dc5a2 100644
--- a/go.mod
+++ b/go.mod
@@ -35,7 +35,7 @@ require (
k8s.io/apiextensions-apiserver v0.31.1
k8s.io/apimachinery v0.31.1
k8s.io/apiserver v0.31.1
- k8s.io/cli-runtime v0.30.0
+ k8s.io/cli-runtime v0.31.1
k8s.io/client-go v0.31.1
k8s.io/code-generator v0.31.1
k8s.io/component-base v0.31.1
@@ -63,7 +63,6 @@ require (
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.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
@@ -123,7 +122,6 @@ require (
golang.org/x/tools v0.24.0 // indirect
google.golang.org/genproto/googleapis/rpc v0.0.0-20240814211410-ddb44dafa142 // 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
@@ -132,8 +130,8 @@ require (
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
+ sigs.k8s.io/kustomize/api v0.17.2 // indirect
+ sigs.k8s.io/kustomize/kyaml v0.17.1 // indirect
sigs.k8s.io/structured-merge-diff/v4 v4.4.1 // indirect
sigs.k8s.io/yaml v1.4.0 // indirect
)
diff --git a/go.sum b/go.sum
index 43df65e5f..7d6ebcfb6 100644
--- a/go.sum
+++ b/go.sum
@@ -30,8 +30,6 @@ 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.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=
github.com/evanphx/json-patch/v5 v5.9.0/go.mod h1:VNkHZ/282BpEyt/tObQO8s5CMPmYYq14uClGH4abBuQ=
github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo=
@@ -317,8 +315,6 @@ gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntN
gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q=
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=
gopkg.in/go-playground/assert.v1 v1.2.1 h1:xoYuJVE7KT85PYWrN730RguIQO0ePzVRfFMXadIrXTM=
gopkg.in/go-playground/assert.v1 v1.2.1/go.mod h1:9RXL0bg/zibRAgZUYszZSwO/z8Y/a8bDuhia5mkpMnE=
@@ -347,8 +343,8 @@ k8s.io/apimachinery v0.31.1 h1:mhcUBbj7KUjaVhyXILglcVjuS4nYXiwC+KKFBgIVy7U=
k8s.io/apimachinery v0.31.1/go.mod h1:rsPdaZJfTfLsNJSQzNHQvYoTmxhoOEofxtOsF3rtsMo=
k8s.io/apiserver v0.31.1 h1:Sars5ejQDCRBY5f7R3QFHdqN3s61nhkpaX8/k1iEw1c=
k8s.io/apiserver v0.31.1/go.mod h1:lzDhpeToamVZJmmFlaLwdYZwd7zB+WYRYIboqA1kGxM=
-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/cli-runtime v0.31.1 h1:/ZmKhmZ6hNqDM+yf9s3Y4KEYakNXUn5sod2LWGGwCuk=
+k8s.io/cli-runtime v0.31.1/go.mod h1:pKv1cDIaq7ehWGuXQ+A//1OIF+7DI+xudXtExMCbe9U=
k8s.io/client-go v0.31.1 h1:f0ugtWSbWpxHR7sjVpQwuvw9a3ZKLXX0u0itkFXufb0=
k8s.io/client-go v0.31.1/go.mod h1:sKI8871MJN2OyeqRlmA4W4KM9KBdBUpDLu/43eGemCg=
k8s.io/code-generator v0.31.1 h1:GvkRZEP2g2UnB2QKT2Dgc/kYxIkDxCHENv2Q1itioVs=
@@ -369,10 +365,10 @@ sigs.k8s.io/controller-runtime v0.19.0 h1:nWVM7aq+Il2ABxwiCizrVDSlmDcshi9llbaFbC
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=
-sigs.k8s.io/kustomize/api v0.16.0/go.mod h1:MnFZ7IP2YqVyVwMWoRxPtgl/5hpA+eCCrQR/866cm5c=
-sigs.k8s.io/kustomize/kyaml v0.16.0 h1:6J33uKSoATlKZH16unr2XOhDI+otoe2sR3M8PDzW3K0=
-sigs.k8s.io/kustomize/kyaml v0.16.0/go.mod h1:xOK/7i+vmE14N2FdFyugIshB8eF6ALpy7jI87Q2nRh4=
+sigs.k8s.io/kustomize/api v0.17.2 h1:E7/Fjk7V5fboiuijoZHgs4aHuexi5Y2loXlVOAVAG5g=
+sigs.k8s.io/kustomize/api v0.17.2/go.mod h1:UWTz9Ct+MvoeQsHcJ5e+vziRRkwimm3HytpZgIYqye0=
+sigs.k8s.io/kustomize/kyaml v0.17.1 h1:TnxYQxFXzbmNG6gOINgGWQt09GghzgTP6mIurOgrLCQ=
+sigs.k8s.io/kustomize/kyaml v0.17.1/go.mod h1:9V0mCjIEYjlXuCdYsSXvyoy2BTsLESH7TlGV81S282U=
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=
From c996fa04e308c957ea3866b7b161440b3c40a0d4 Mon Sep 17 00:00:00 2001
From: k8s-infra-cherrypick-robot
<90416843+k8s-infra-cherrypick-robot@users.noreply.github.com>
Date: Wed, 2 Oct 2024 10:05:49 -0700
Subject: [PATCH 246/265] Bump google.golang.org/grpc from 1.67.0 to 1.67.1 in
the go group across 1 directory (#12084)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
---
go.mod | 2 +-
go.sum | 4 ++--
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/go.mod b/go.mod
index d5d0dc5a2..cb341d4a2 100644
--- a/go.mod
+++ b/go.mod
@@ -27,7 +27,7 @@ require (
github.com/zakjan/cert-chain-resolver v0.0.0-20221221105603-fcedb00c5b30
golang.org/x/crypto v0.27.0
golang.org/x/exp v0.0.0-20240719175910-8a7402abbf56
- google.golang.org/grpc v1.67.0
+ google.golang.org/grpc v1.67.1
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
diff --git a/go.sum b/go.sum
index 7d6ebcfb6..bfcdd55d1 100644
--- a/go.sum
+++ b/go.sum
@@ -297,8 +297,8 @@ 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/genproto/googleapis/rpc v0.0.0-20240814211410-ddb44dafa142 h1:e7S5W7MGGLaSu8j3YjdezkZ+m1/Nm0uRVRMEMGk26Xs=
google.golang.org/genproto/googleapis/rpc v0.0.0-20240814211410-ddb44dafa142/go.mod h1:UqMtugtsSgubUsoxbuAoiCXvqvErP7Gf0so0mK9tHxU=
-google.golang.org/grpc v1.67.0 h1:IdH9y6PF5MPSdAntIcpjQ+tXO41pcQsfZV2RxtQgVcw=
-google.golang.org/grpc v1.67.0/go.mod h1:1gLDyUQU7CTLJI90u3nXZ9ekeghjeM7pTDZlqFNg2AA=
+google.golang.org/grpc v1.67.1 h1:zWnc1Vrcno+lHZCOofnIMvycFcc0QRGIzm9dhnDX68E=
+google.golang.org/grpc v1.67.1/go.mod h1:1gLDyUQU7CTLJI90u3nXZ9ekeghjeM7pTDZlqFNg2AA=
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=
From 324419cdfe82347980be4a6b4783f4ffb4df2037 Mon Sep 17 00:00:00 2001
From: k8s-infra-cherrypick-robot
<90416843+k8s-infra-cherrypick-robot@users.noreply.github.com>
Date: Wed, 2 Oct 2024 10:09:49 -0700
Subject: [PATCH 247/265] Bump github.com/prometheus/common from 0.59.1 to
0.60.0 (#12086)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
---
go.mod | 6 +++---
go.sum | 12 ++++++------
2 files changed, 9 insertions(+), 9 deletions(-)
diff --git a/go.mod b/go.mod
index cb341d4a2..604ec8c60 100644
--- a/go.mod
+++ b/go.mod
@@ -19,7 +19,7 @@ require (
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2
github.com/prometheus/client_golang v1.20.4
github.com/prometheus/client_model v0.6.1
- github.com/prometheus/common v0.59.1
+ github.com/prometheus/common v0.60.0
github.com/spf13/cobra v1.8.1
github.com/spf13/pflag v1.0.5
github.com/stretchr/testify v1.9.0
@@ -112,8 +112,8 @@ require (
go.starlark.net v0.0.0-20240123142251-f86470692795 // 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.22.0 // indirect
+ golang.org/x/net v0.29.0 // indirect
+ golang.org/x/oauth2 v0.23.0 // indirect
golang.org/x/sync v0.8.0 // indirect
golang.org/x/sys v0.25.0 // indirect
golang.org/x/term v0.24.0 // indirect
diff --git a/go.sum b/go.sum
index bfcdd55d1..22642603f 100644
--- a/go.sum
+++ b/go.sum
@@ -182,8 +182,8 @@ github.com/prometheus/client_golang v1.20.4 h1:Tgh3Yr67PaOv/uTqloMsCEdeuFTatm5zI
github.com/prometheus/client_golang v1.20.4/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.59.1 h1:LXb1quJHWm1P6wq/U824uxYi4Sg0oGvNeUm1z5dJoX0=
-github.com/prometheus/common v0.59.1/go.mod h1:GpWM7dewqmVYcd7SmRaiWVe9SSqjf0UrwnYnpEZNuT0=
+github.com/prometheus/common v0.60.0 h1:+V9PAREWNvJMAuJ1x1BaWl9dewMW4YrHZQbx0sJNllA=
+github.com/prometheus/common v0.60.0/go.mod h1:h0LYf1R1deLSKtD4Vdg8gy4RuOvENW2J/h19V5NADQw=
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=
@@ -248,10 +248,10 @@ golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLL
golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
golang.org/x/net v0.0.0-20200520004742-59133d7f0dd7/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A=
golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU=
-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.22.0 h1:BzDx2FehcG7jJwgWLELCdmLuxk2i+x9UDpSiss2u0ZA=
-golang.org/x/oauth2 v0.22.0/go.mod h1:XYTD2NtWslqkgxebSiOHnXEap4TF09sJSc7H1sXbhtI=
+golang.org/x/net v0.29.0 h1:5ORfpBpCs4HzDYoodCDBbwHzdR5UrLBZ3sOnUJmFoHo=
+golang.org/x/net v0.29.0/go.mod h1:gLkgy8jTGERgjzMic6DS9+SP0ajcu6Xu3Orq/SpETg0=
+golang.org/x/oauth2 v0.23.0 h1:PbgcYx2W7i4LvjJWEbf0ngHV6qJYr86PkAV3bXdLEbs=
+golang.org/x/oauth2 v0.23.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-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
From 70918bf836c804d14aa287f22b1a72413a920304 Mon Sep 17 00:00:00 2001
From: Marco Ebert
Date: Wed, 2 Oct 2024 20:09:49 +0200
Subject: [PATCH 248/265] Bump sigs.k8s.io/mdtoc from 1.1.0 to 1.4.0 (#12088)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
---
go.mod | 6 ++++--
go.sum | 15 ++++++++-------
2 files changed, 12 insertions(+), 9 deletions(-)
diff --git a/go.mod b/go.mod
index 604ec8c60..e42a46898 100644
--- a/go.mod
+++ b/go.mod
@@ -42,14 +42,16 @@ require (
k8s.io/klog/v2 v2.130.1
pault.ag/go/sniff v0.0.0-20200207005214-cf7e4d167732
sigs.k8s.io/controller-runtime v0.19.0
- sigs.k8s.io/mdtoc v1.1.0
+ sigs.k8s.io/mdtoc v1.4.0
)
require (
+ github.com/common-nighthawk/go-figure v0.0.0-20210622060536-734e95fb86be // indirect
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
+ sigs.k8s.io/release-utils v0.8.3 // indirect
)
require (
@@ -75,7 +77,7 @@ require (
github.com/gogo/protobuf v1.3.2 // indirect
github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect
github.com/golang/protobuf v1.5.4 // indirect
- github.com/gomarkdown/markdown v0.0.0-20231222211730-1d6d20845b47 // indirect
+ github.com/gomarkdown/markdown v0.0.0-20240328165702-4d01890c35c0 // indirect
github.com/google/btree v1.1.2 // indirect
github.com/google/gnostic-models v0.6.8 // indirect
github.com/google/go-cmp v0.6.0 // indirect
diff --git a/go.sum b/go.sum
index 22642603f..fefc79b41 100644
--- a/go.sum
+++ b/go.sum
@@ -2,7 +2,6 @@ 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/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/armon/go-proxyproto v0.1.0 h1:TWWcSsjco7o2itn6r25/5AqKBiWmsiuzsUDLT/MTl7k=
@@ -13,6 +12,8 @@ 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/cespare/xxhash/v2 v2.3.0 h1:UL815xU9SqsFlibzuggzjXhog7bL6oX9BbNZnL2UFvs=
github.com/cespare/xxhash/v2 v2.3.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs=
+github.com/common-nighthawk/go-figure v0.0.0-20210622060536-734e95fb86be h1:J5BL2kskAlV9ckgEsNQXscjIaLiOYiZ75d4e94E6dcQ=
+github.com/common-nighthawk/go-figure v0.0.0-20210622060536-734e95fb86be/go.mod h1:mk5IQ+Y0ZeO87b858TlA645sVcEcbiX6YqP98kt+7+w=
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.4/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o=
@@ -72,9 +73,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.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/gomarkdown/markdown v0.0.0-20240328165702-4d01890c35c0 h1:4gjrh/PN2MuWCCElk8/I4OCKRKWCCo2zEct3VKCbibU=
+github.com/gomarkdown/markdown v0.0.0-20240328165702-4d01890c35c0/go.mod h1:JDGcbDT52eL4fju3sZ4TeHGsQwhG9nbDV21aMyhwPoA=
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=
@@ -230,7 +230,6 @@ 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.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-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
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=
@@ -369,8 +368,10 @@ sigs.k8s.io/kustomize/api v0.17.2 h1:E7/Fjk7V5fboiuijoZHgs4aHuexi5Y2loXlVOAVAG5g
sigs.k8s.io/kustomize/api v0.17.2/go.mod h1:UWTz9Ct+MvoeQsHcJ5e+vziRRkwimm3HytpZgIYqye0=
sigs.k8s.io/kustomize/kyaml v0.17.1 h1:TnxYQxFXzbmNG6gOINgGWQt09GghzgTP6mIurOgrLCQ=
sigs.k8s.io/kustomize/kyaml v0.17.1/go.mod h1:9V0mCjIEYjlXuCdYsSXvyoy2BTsLESH7TlGV81S282U=
-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/mdtoc v1.4.0 h1:2pDEwJSjoVrGr5BPkG+LoLkYLKvgtGYurrBY8ul3SxQ=
+sigs.k8s.io/mdtoc v1.4.0/go.mod h1:KVnRRtK1rX9aQ95qF0rt3x2ytTxf3r7W7N41H+0KF0k=
+sigs.k8s.io/release-utils v0.8.3 h1:KtOtA4qDmzJyeQ2zkDsFVI25+NViwms/o5eL2NftFdA=
+sigs.k8s.io/release-utils v0.8.3/go.mod h1:fp82Fma06OXBhEJ+GUJKqvcplDBomruK1R/1fWJnsrQ=
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.4.0 h1:Mk1wCc2gy/F0THH0TAp1QYyJNzRm2KCLy3o5ASXVI5E=
From 553c4961ea3557b64a056956228bd2a1c6274489 Mon Sep 17 00:00:00 2001
From: Marco Ebert
Date: Fri, 4 Oct 2024 13:41:45 +0200
Subject: [PATCH 249/265] Go: Bump to v1.22.8. (#12093)
---
GOLANG_VERSION | 2 +-
go.mod | 2 +-
go.work | 2 +-
images/custom-error-pages/rootfs/go.mod | 2 +-
images/ext-auth-example-authsvc/rootfs/go.mod | 2 +-
images/kube-webhook-certgen/rootfs/go.mod | 2 +-
images/opentelemetry/rootfs/Dockerfile | 2 +-
images/opentelemetry/rootfs/go.mod | 2 +-
magefiles/go.mod | 2 +-
9 files changed, 9 insertions(+), 9 deletions(-)
diff --git a/GOLANG_VERSION b/GOLANG_VERSION
index 87b26e8b1..229a27c6f 100644
--- a/GOLANG_VERSION
+++ b/GOLANG_VERSION
@@ -1 +1 @@
-1.22.7
+1.22.8
diff --git a/go.mod b/go.mod
index e42a46898..df3f3e19e 100644
--- a/go.mod
+++ b/go.mod
@@ -1,6 +1,6 @@
module k8s.io/ingress-nginx
-go 1.22.7
+go 1.22.8
require (
dario.cat/mergo v1.0.1
diff --git a/go.work b/go.work
index f0095c758..b98909b34 100644
--- a/go.work
+++ b/go.work
@@ -1,4 +1,4 @@
-go 1.22.7
+go 1.22.8
use (
.
diff --git a/images/custom-error-pages/rootfs/go.mod b/images/custom-error-pages/rootfs/go.mod
index bd24d4e1c..4cee1baf5 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.22.7
+go 1.22.8
require github.com/prometheus/client_golang v1.20.4
diff --git a/images/ext-auth-example-authsvc/rootfs/go.mod b/images/ext-auth-example-authsvc/rootfs/go.mod
index 908da4b2e..7e488b484 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.22.7
+go 1.22.8
require k8s.io/apimachinery v0.31.1
diff --git a/images/kube-webhook-certgen/rootfs/go.mod b/images/kube-webhook-certgen/rootfs/go.mod
index c9f1c827c..5caee19a2 100644
--- a/images/kube-webhook-certgen/rootfs/go.mod
+++ b/images/kube-webhook-certgen/rootfs/go.mod
@@ -1,6 +1,6 @@
module github.com/jet/kube-webhook-certgen
-go 1.22.7
+go 1.22.8
require (
github.com/onrik/logrus v0.11.0
diff --git a/images/opentelemetry/rootfs/Dockerfile b/images/opentelemetry/rootfs/Dockerfile
index 4b64b96a6..9da180f84 100644
--- a/images/opentelemetry/rootfs/Dockerfile
+++ b/images/opentelemetry/rootfs/Dockerfile
@@ -31,7 +31,7 @@ FROM base AS nginx
ARG NGINX_VERSION=1.25.3
RUN bash /opt/third_party/build.sh -n ${NGINX_VERSION}
-FROM golang:1.22.7-bullseye AS build-init
+FROM golang:1.22.8-bullseye AS build-init
WORKDIR /go/src/app
COPY . .
diff --git a/images/opentelemetry/rootfs/go.mod b/images/opentelemetry/rootfs/go.mod
index 207d1d914..be474cc0b 100644
--- a/images/opentelemetry/rootfs/go.mod
+++ b/images/opentelemetry/rootfs/go.mod
@@ -1,3 +1,3 @@
module init-otel
-go 1.22.7
+go 1.22.8
diff --git a/magefiles/go.mod b/magefiles/go.mod
index 913522823..8c58b526c 100644
--- a/magefiles/go.mod
+++ b/magefiles/go.mod
@@ -1,6 +1,6 @@
module k8s.io/ingress-nginx/magefiles
-go 1.22.7
+go 1.22.8
require (
github.com/blang/semver/v4 v4.0.0
From cb9445a3f1aaab815accaa0ff1fb6ca040804991 Mon Sep 17 00:00:00 2001
From: k8s-infra-cherrypick-robot
<90416843+k8s-infra-cherrypick-robot@users.noreply.github.com>
Date: Fri, 4 Oct 2024 04:43:35 -0700
Subject: [PATCH 250/265] Bump the actions group with 3 updates (#12096)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
---
.github/workflows/ci.yaml | 2 +-
.github/workflows/golangci-lint.yml | 2 +-
.github/workflows/images.yaml | 2 +-
.github/workflows/scorecards.yml | 2 +-
.github/workflows/vulnerability-scans.yaml | 2 +-
5 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml
index 3314c059f..8081fe4a0 100644
--- a/.github/workflows/ci.yaml
+++ b/.github/workflows/ci.yaml
@@ -147,7 +147,7 @@ jobs:
- name: Set up Docker Buildx
id: buildx
- uses: docker/setup-buildx-action@988b5a0280414f521da01fcc63a27aeeb4b104db # v3.6.1
+ uses: docker/setup-buildx-action@c47758b77c9736f4b2ef4073d4d51994fabfe349 # v3.7.1
with:
version: latest
diff --git a/.github/workflows/golangci-lint.yml b/.github/workflows/golangci-lint.yml
index 93db7fbb7..4ef7e9085 100644
--- a/.github/workflows/golangci-lint.yml
+++ b/.github/workflows/golangci-lint.yml
@@ -28,6 +28,6 @@ jobs:
check-latest: true
- name: golangci-lint
- uses: golangci/golangci-lint-action@aaa42aa0628b4ae2578232a66b541047968fac86 # v6.1.0
+ uses: golangci/golangci-lint-action@971e284b6050e8a5849b72094c50ab08da042db8 # v6.1.1
with:
version: v1.56
diff --git a/.github/workflows/images.yaml b/.github/workflows/images.yaml
index 2ec6d8471..813dfc918 100644
--- a/.github/workflows/images.yaml
+++ b/.github/workflows/images.yaml
@@ -197,7 +197,7 @@ jobs:
uses: docker/setup-qemu-action@49b3bc8e6bdd4a60e6116a5414239cba5943d3cf # v3.2.0
- name: Set up Docker Buildx
id: buildx
- uses: docker/setup-buildx-action@988b5a0280414f521da01fcc63a27aeeb4b104db # v3.6.1
+ uses: docker/setup-buildx-action@c47758b77c9736f4b2ef4073d4d51994fabfe349 # v3.7.1
with:
version: latest
platforms: ${{ env.PLATFORMS }}
diff --git a/.github/workflows/scorecards.yml b/.github/workflows/scorecards.yml
index 4038f1158..9eaf091ee 100644
--- a/.github/workflows/scorecards.yml
+++ b/.github/workflows/scorecards.yml
@@ -59,6 +59,6 @@ jobs:
# Upload the results to GitHub's code scanning dashboard.
- name: "Upload to code-scanning"
- uses: github/codeql-action/upload-sarif@e2b3eafc8d227b0241d48be5f425d47c2d750a13 # v3.26.10
+ uses: github/codeql-action/upload-sarif@6db8d6351fd0be61f9ed8ebd12ccd35dcec51fea # v3.26.11
with:
sarif_file: results.sarif
diff --git a/.github/workflows/vulnerability-scans.yaml b/.github/workflows/vulnerability-scans.yaml
index adf8a593f..0cd02552d 100644
--- a/.github/workflows/vulnerability-scans.yaml
+++ b/.github/workflows/vulnerability-scans.yaml
@@ -75,7 +75,7 @@ jobs:
# This step checks out a copy of your repository.
- name: Upload SARIF file
- uses: github/codeql-action/upload-sarif@e2b3eafc8d227b0241d48be5f425d47c2d750a13 # v3.26.10
+ uses: github/codeql-action/upload-sarif@6db8d6351fd0be61f9ed8ebd12ccd35dcec51fea # v3.26.11
with:
token: ${{ github.token }}
# Path to SARIF file relative to the root of the repository
From 4090075a1840a0cb2b90483a4662709065ee016e Mon Sep 17 00:00:00 2001
From: k8s-infra-cherrypick-robot
<90416843+k8s-infra-cherrypick-robot@users.noreply.github.com>
Date: Fri, 4 Oct 2024 04:51:30 -0700
Subject: [PATCH 251/265] Docs: Add a multi-tenant warning. (#12098)
Co-authored-by: James Strong
---
README.md | 2 ++
docs/deploy/hardening-guide.md | 2 ++
docs/faq.md | 10 ++++++++++
3 files changed, 14 insertions(+)
diff --git a/README.md b/README.md
index 21ec07ef8..a8bf65d06 100644
--- a/README.md
+++ b/README.md
@@ -17,6 +17,8 @@ balancer.
See the [Getting Started](https://kubernetes.github.io/ingress-nginx/deploy/) document.
+Do not use in multi-tenant Kubernetes production installations. This project assumes that users that can create Ingress objects are administrators of the cluster. See the [FAQ](https://kubernetes.github.io/ingress-nginx/faq/#faq) for more.
+
## Troubleshooting
If you encounter issues, review the [troubleshooting docs](docs/troubleshooting.md),
diff --git a/docs/deploy/hardening-guide.md b/docs/deploy/hardening-guide.md
index cfbdb1466..2726b1a07 100644
--- a/docs/deploy/hardening-guide.md
+++ b/docs/deploy/hardening-guide.md
@@ -1,6 +1,8 @@
# Hardening Guide
+Do not use in multi-tenant Kubernetes production installations. This project assumes that users that can create Ingress objects are administrators of the cluster.
+
## Overview
There are several ways to do hardening and securing of nginx. In this documentation two guides are used, the guides are
overlapping in some points:
diff --git a/docs/faq.md b/docs/faq.md
index 020474d5c..97d3325ca 100644
--- a/docs/faq.md
+++ b/docs/faq.md
@@ -1,6 +1,16 @@
# FAQ
+## Multi-tenant Kubernetes
+
+Do not use in multi-tenant Kubernetes production installations. This project assumes that users that can create Ingress objects are administrators of the cluster.
+
+For example, the Ingress NGINX control plane has global and per Ingress configuration options that make it insecure, if enabled, in a multi-tenant environment.
+
+For example, enabling snippets, a global configuration, allows any Ingress object to run arbitrary Lua code that could affect the security of all Ingress objects that a controller is running.
+
+We changed the default to allow snippets to `false` in https://github.com/kubernetes/ingress-nginx/pull/10393.
+
## Multiple controller in one cluster
Question - How can I easily install multiple instances of the ingress-nginx controller in the same cluster?
From 44cdacd24a1d491b18dfbea8fbc47b79c85b0595 Mon Sep 17 00:00:00 2001
From: k8s-infra-cherrypick-robot
<90416843+k8s-infra-cherrypick-robot@users.noreply.github.com>
Date: Fri, 4 Oct 2024 04:58:58 -0700
Subject: [PATCH 252/265] Images: Trigger `test-runner` build. (#12101)
Co-authored-by: Marco Ebert
---
images/test-runner/TAG | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/images/test-runner/TAG b/images/test-runner/TAG
index 0ec25f750..795460fce 100644
--- a/images/test-runner/TAG
+++ b/images/test-runner/TAG
@@ -1 +1 @@
-v1.0.0
+v1.1.0
From a95d09751d60b4717546f703106fc0b0bbdd6694 Mon Sep 17 00:00:00 2001
From: k8s-infra-cherrypick-robot
<90416843+k8s-infra-cherrypick-robot@users.noreply.github.com>
Date: Fri, 4 Oct 2024 11:38:27 -0700
Subject: [PATCH 253/265] Tests: Bump `e2e-test-runner` to v20241004-114a6abb.
(#12104)
Co-authored-by: Marco Ebert
---
build/run-in-docker.sh | 2 +-
test/e2e-image/Makefile | 2 +-
test/e2e/run-chart-test.sh | 2 +-
3 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/build/run-in-docker.sh b/build/run-in-docker.sh
index 915c29d7a..095e09b91 100755
--- a/build/run-in-docker.sh
+++ b/build/run-in-docker.sh
@@ -44,7 +44,7 @@ function cleanup {
}
trap cleanup EXIT
-E2E_IMAGE=${E2E_IMAGE:-registry.k8s.io/ingress-nginx/e2e-test-runner:v20240829-2c421762@sha256:5b7809bfe9cbd9cd6bcb8033ca27576ca704f05ce729fe4dcb574810f7a25785}
+E2E_IMAGE=${E2E_IMAGE:-registry.k8s.io/ingress-nginx/e2e-test-runner:v20241004-114a6abb@sha256:1389ec0589abbf5c431c9290c4c307437c8396995c63dda5eac26abd70963dc8}
if [[ "$RUNTIME" == podman ]]; then
# Podman does not support both tag and digest
diff --git a/test/e2e-image/Makefile b/test/e2e-image/Makefile
index 8e3040177..e3b0d609f 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:v20240829-2c421762@sha256:5b7809bfe9cbd9cd6bcb8033ca27576ca704f05ce729fe4dcb574810f7a25785"
+E2E_BASE_IMAGE ?= "registry.k8s.io/ingress-nginx/e2e-test-runner:v20241004-114a6abb@sha256:1389ec0589abbf5c431c9290c4c307437c8396995c63dda5eac26abd70963dc8"
image:
echo "..entered Makefile in /test/e2e-image"
diff --git a/test/e2e/run-chart-test.sh b/test/e2e/run-chart-test.sh
index b6748f129..587dbe98b 100755
--- a/test/e2e/run-chart-test.sh
+++ b/test/e2e/run-chart-test.sh
@@ -114,5 +114,5 @@ docker run \
--workdir /workdir \
--entrypoint ct \
--rm \
- registry.k8s.io/ingress-nginx/e2e-test-runner:v20240829-2c421762@sha256:5b7809bfe9cbd9cd6bcb8033ca27576ca704f05ce729fe4dcb574810f7a25785 \
+ registry.k8s.io/ingress-nginx/e2e-test-runner:v20241004-114a6abb@sha256:1389ec0589abbf5c431c9290c4c307437c8396995c63dda5eac26abd70963dc8 \
install --charts charts/ingress-nginx
From c09dd15259f4766ec50bde9fc3bf13f5ea7289c3 Mon Sep 17 00:00:00 2001
From: k8s-infra-cherrypick-robot
<90416843+k8s-infra-cherrypick-robot@users.noreply.github.com>
Date: Sat, 5 Oct 2024 00:38:03 -0700
Subject: [PATCH 254/265] Bump golang.org/x/crypto from 0.27.0 to 0.28.0
(#12108)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
---
go.mod | 8 ++++----
go.sum | 16 ++++++++--------
2 files changed, 12 insertions(+), 12 deletions(-)
diff --git a/go.mod b/go.mod
index df3f3e19e..d8f387729 100644
--- a/go.mod
+++ b/go.mod
@@ -25,7 +25,7 @@ require (
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.27.0
+ golang.org/x/crypto v0.28.0
golang.org/x/exp v0.0.0-20240719175910-8a7402abbf56
google.golang.org/grpc v1.67.1
google.golang.org/grpc/examples v0.0.0-20240223204917-5ccf176a08ab
@@ -117,9 +117,9 @@ require (
golang.org/x/net v0.29.0 // indirect
golang.org/x/oauth2 v0.23.0 // indirect
golang.org/x/sync v0.8.0 // indirect
- golang.org/x/sys v0.25.0 // indirect
- golang.org/x/term v0.24.0 // indirect
- golang.org/x/text v0.18.0 // indirect
+ golang.org/x/sys v0.26.0 // indirect
+ golang.org/x/term v0.25.0 // indirect
+ golang.org/x/text v0.19.0 // indirect
golang.org/x/time v0.5.0 // indirect
golang.org/x/tools v0.24.0 // indirect
google.golang.org/genproto/googleapis/rpc v0.0.0-20240814211410-ddb44dafa142 // indirect
diff --git a/go.sum b/go.sum
index fefc79b41..1b23948c1 100644
--- a/go.sum
+++ b/go.sum
@@ -233,8 +233,8 @@ go.uber.org/zap v1.27.0/go.mod h1:GB2qFLM7cTU87MWRP2mPIjqfIDnGu+VIO4V/SdhGo2E=
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
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.27.0 h1:GXm2NjJrPaiv/h1tb2UH8QfgC/hOf/+z0p6PT8o1w7A=
-golang.org/x/crypto v0.27.0/go.mod h1:1Xngt8kV6Dvbssa53Ziq6Eqn0HqbZi5Z6R0ZpwQzt70=
+golang.org/x/crypto v0.28.0 h1:GBDwsMXVQi34v5CCYUm2jkJvu4cbtru2U4TN2PSyQnw=
+golang.org/x/crypto v0.28.0/go.mod h1:rmgy+3RHxRZMyY0jjAJShp2zgEdOqj2AO7U0pYmeQ7U=
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=
@@ -271,14 +271,14 @@ golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBc
golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/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.25.0 h1:r+8e+loiHxRqhXVl6ML1nO3l1+oFoWbnlu2Ehimmi34=
-golang.org/x/sys v0.25.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
-golang.org/x/term v0.24.0 h1:Mh5cbb+Zk2hqqXNO7S1iTjEphVL+jb8ZWaqh/g+JWkM=
-golang.org/x/term v0.24.0/go.mod h1:lOBK/LVxemqiMij05LGJ0tzNr8xlmwBRJ81PX6wVLH8=
+golang.org/x/sys v0.26.0 h1:KHjCJyddX0LoSTb3J+vWpupP9p0oznkqVk/IfjymZbo=
+golang.org/x/sys v0.26.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
+golang.org/x/term v0.25.0 h1:WtHI/ltw4NvSUig5KARz9h521QvRC8RmF/cuYqifU24=
+golang.org/x/term v0.25.0/go.mod h1:RPyXicDX+6vLxogjjRxjgD2TKtmAO6NZBsBRfrOLu7M=
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.18.0 h1:XvMDiNzPAl0jr17s6W9lcaIhGUfUORdGCNsuLmPG224=
-golang.org/x/text v0.18.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY=
+golang.org/x/text v0.19.0 h1:kTxAhCbGbxhK0IwgSKiMO5awPoDQ0RpfiVYBfK860YM=
+golang.org/x/text v0.19.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=
From 1983e0ef388c769bc40fd0de3c96d35fe921c230 Mon Sep 17 00:00:00 2001
From: k8s-infra-cherrypick-robot
<90416843+k8s-infra-cherrypick-robot@users.noreply.github.com>
Date: Sat, 5 Oct 2024 15:09:35 -0700
Subject: [PATCH 255/265] Images: Trigger other builds. (#12111)
Co-authored-by: Marco Ebert
---
cloudbuild.yaml | 1 -
images/cfssl/TAG | 2 +-
images/custom-error-pages/TAG | 2 +-
images/custom-error-pages/cloudbuild.yaml | 1 -
images/fastcgi-helloserver/TAG | 2 +-
images/fastcgi-helloserver/cloudbuild.yaml | 1 -
images/httpbun/TAG | 2 +-
images/httpbun/cloudbuild.yaml | 1 -
images/kube-webhook-certgen/TAG | 2 +-
images/kube-webhook-certgen/cloudbuild.yaml | 1 -
images/test-runner/cloudbuild.yaml | 1 -
11 files changed, 5 insertions(+), 11 deletions(-)
diff --git a/cloudbuild.yaml b/cloudbuild.yaml
index 494838720..96e8990eb 100644
--- a/cloudbuild.yaml
+++ b/cloudbuild.yaml
@@ -12,4 +12,3 @@ steps:
args:
- -c
- gcloud auth configure-docker && make release
-timeout: 1800s
diff --git a/images/cfssl/TAG b/images/cfssl/TAG
index 0ec25f750..b18d46540 100644
--- a/images/cfssl/TAG
+++ b/images/cfssl/TAG
@@ -1 +1 @@
-v1.0.0
+v1.0.1
diff --git a/images/custom-error-pages/TAG b/images/custom-error-pages/TAG
index b18d46540..570c79651 100644
--- a/images/custom-error-pages/TAG
+++ b/images/custom-error-pages/TAG
@@ -1 +1 @@
-v1.0.1
+v1.0.2
diff --git a/images/custom-error-pages/cloudbuild.yaml b/images/custom-error-pages/cloudbuild.yaml
index 772a7697f..a8bd4c815 100644
--- a/images/custom-error-pages/cloudbuild.yaml
+++ b/images/custom-error-pages/cloudbuild.yaml
@@ -9,4 +9,3 @@ steps:
args:
- -c
- gcloud auth configure-docker && cd images && make NAME=custom-error-pages push
-timeout: 3600s
diff --git a/images/fastcgi-helloserver/TAG b/images/fastcgi-helloserver/TAG
index b18d46540..570c79651 100644
--- a/images/fastcgi-helloserver/TAG
+++ b/images/fastcgi-helloserver/TAG
@@ -1 +1 @@
-v1.0.1
+v1.0.2
diff --git a/images/fastcgi-helloserver/cloudbuild.yaml b/images/fastcgi-helloserver/cloudbuild.yaml
index 5fb3e3318..cfa07b4d7 100644
--- a/images/fastcgi-helloserver/cloudbuild.yaml
+++ b/images/fastcgi-helloserver/cloudbuild.yaml
@@ -9,4 +9,3 @@ steps:
args:
- -c
- gcloud auth configure-docker && cd images && make NAME=fastcgi-helloserver push
-timeout: 3600s
diff --git a/images/httpbun/TAG b/images/httpbun/TAG
index b18d46540..570c79651 100644
--- a/images/httpbun/TAG
+++ b/images/httpbun/TAG
@@ -1 +1 @@
-v1.0.1
+v1.0.2
diff --git a/images/httpbun/cloudbuild.yaml b/images/httpbun/cloudbuild.yaml
index 3d2662531..7a3f6c8d0 100644
--- a/images/httpbun/cloudbuild.yaml
+++ b/images/httpbun/cloudbuild.yaml
@@ -9,4 +9,3 @@ steps:
args:
- -c
- gcloud auth configure-docker && cd images && make NAME=httpbun push
-timeout: 3600s
diff --git a/images/kube-webhook-certgen/TAG b/images/kube-webhook-certgen/TAG
index 92f76b423..61919cdd8 100644
--- a/images/kube-webhook-certgen/TAG
+++ b/images/kube-webhook-certgen/TAG
@@ -1 +1 @@
-v1.4.3
+v1.4.4
diff --git a/images/kube-webhook-certgen/cloudbuild.yaml b/images/kube-webhook-certgen/cloudbuild.yaml
index 8bf139423..e9a5dd5cc 100644
--- a/images/kube-webhook-certgen/cloudbuild.yaml
+++ b/images/kube-webhook-certgen/cloudbuild.yaml
@@ -9,4 +9,3 @@ steps:
args:
- -c
- gcloud auth configure-docker && cd images && make NAME=kube-webhook-certgen push
-timeout: 1800s
diff --git a/images/test-runner/cloudbuild.yaml b/images/test-runner/cloudbuild.yaml
index 6efe5eeaf..878821289 100644
--- a/images/test-runner/cloudbuild.yaml
+++ b/images/test-runner/cloudbuild.yaml
@@ -9,4 +9,3 @@ steps:
args:
- -c
- gcloud auth configure-docker && cd images/test-runner && make push
-timeout: 1800s
From d2b02549024b497d736423cefa26304e1f14b6d0 Mon Sep 17 00:00:00 2001
From: Marco Ebert
Date: Sun, 6 Oct 2024 00:55:22 +0200
Subject: [PATCH 256/265] Cloud Build: Bump `gcb-docker-gcloud` to
v20240718-5ef92b5c36. (#12116)
---
cloudbuild.yaml | 2 +-
images/cfssl/cloudbuild.yaml | 2 +-
images/custom-error-pages/cloudbuild.yaml | 2 +-
images/e2e-test-echo/cloudbuild.yaml | 2 +-
images/fastcgi-helloserver/cloudbuild.yaml | 2 +-
images/httpbun/cloudbuild.yaml | 2 +-
images/kube-webhook-certgen/cloudbuild.yaml | 2 +-
images/nginx/cloudbuild.yaml | 2 +-
images/opentelemetry/cloudbuild.yaml | 3 +--
images/test-runner/cloudbuild.yaml | 2 +-
10 files changed, 10 insertions(+), 11 deletions(-)
diff --git a/cloudbuild.yaml b/cloudbuild.yaml
index 96e8990eb..0948b1f05 100644
--- a/cloudbuild.yaml
+++ b/cloudbuild.yaml
@@ -2,7 +2,7 @@ options:
# Ignore Prow provided substitutions.
substitution_option: ALLOW_LOOSE
steps:
- - name: gcr.io/k8s-staging-test-infra/gcb-docker-gcloud:v20240523-a15ad90fc9
+ - name: gcr.io/k8s-staging-test-infra/gcb-docker-gcloud:v20240718-5ef92b5c36
env:
- REGISTRY=gcr.io/k8s-staging-ingress-nginx
- REPO_INFO=https://github.com/kubernetes/ingress-nginx
diff --git a/images/cfssl/cloudbuild.yaml b/images/cfssl/cloudbuild.yaml
index 6b5b0fc1b..a17f86196 100644
--- a/images/cfssl/cloudbuild.yaml
+++ b/images/cfssl/cloudbuild.yaml
@@ -2,7 +2,7 @@ options:
# Ignore Prow provided substitutions.
substitution_option: ALLOW_LOOSE
steps:
- - name: gcr.io/k8s-staging-test-infra/gcb-docker-gcloud:v20240523-a15ad90fc9
+ - name: gcr.io/k8s-staging-test-infra/gcb-docker-gcloud:v20240718-5ef92b5c36
env:
- REGISTRY=gcr.io/k8s-staging-ingress-nginx
entrypoint: bash
diff --git a/images/custom-error-pages/cloudbuild.yaml b/images/custom-error-pages/cloudbuild.yaml
index a8bd4c815..99a8d78b6 100644
--- a/images/custom-error-pages/cloudbuild.yaml
+++ b/images/custom-error-pages/cloudbuild.yaml
@@ -2,7 +2,7 @@ options:
# Ignore Prow provided substitutions.
substitution_option: ALLOW_LOOSE
steps:
- - name: gcr.io/k8s-staging-test-infra/gcb-docker-gcloud:v20240523-a15ad90fc9
+ - name: gcr.io/k8s-staging-test-infra/gcb-docker-gcloud:v20240718-5ef92b5c36
env:
- REGISTRY=gcr.io/k8s-staging-ingress-nginx
entrypoint: bash
diff --git a/images/e2e-test-echo/cloudbuild.yaml b/images/e2e-test-echo/cloudbuild.yaml
index dc6e1dcf0..1d525e413 100644
--- a/images/e2e-test-echo/cloudbuild.yaml
+++ b/images/e2e-test-echo/cloudbuild.yaml
@@ -2,7 +2,7 @@ options:
# Ignore Prow provided substitutions.
substitution_option: ALLOW_LOOSE
steps:
- - name: gcr.io/k8s-staging-test-infra/gcb-docker-gcloud:v20240523-a15ad90fc9
+ - name: gcr.io/k8s-staging-test-infra/gcb-docker-gcloud:v20240718-5ef92b5c36
env:
- REGISTRY=gcr.io/k8s-staging-ingress-nginx
entrypoint: bash
diff --git a/images/fastcgi-helloserver/cloudbuild.yaml b/images/fastcgi-helloserver/cloudbuild.yaml
index cfa07b4d7..7eb047612 100644
--- a/images/fastcgi-helloserver/cloudbuild.yaml
+++ b/images/fastcgi-helloserver/cloudbuild.yaml
@@ -2,7 +2,7 @@ options:
# Ignore Prow provided substitutions.
substitution_option: ALLOW_LOOSE
steps:
- - name: gcr.io/k8s-staging-test-infra/gcb-docker-gcloud:v20240523-a15ad90fc9
+ - name: gcr.io/k8s-staging-test-infra/gcb-docker-gcloud:v20240718-5ef92b5c36
env:
- REGISTRY=gcr.io/k8s-staging-ingress-nginx
entrypoint: bash
diff --git a/images/httpbun/cloudbuild.yaml b/images/httpbun/cloudbuild.yaml
index 7a3f6c8d0..4df9d090c 100644
--- a/images/httpbun/cloudbuild.yaml
+++ b/images/httpbun/cloudbuild.yaml
@@ -2,7 +2,7 @@ options:
# Ignore Prow provided substitutions.
substitution_option: ALLOW_LOOSE
steps:
- - name: gcr.io/k8s-staging-test-infra/gcb-docker-gcloud:v20240523-a15ad90fc9
+ - name: gcr.io/k8s-staging-test-infra/gcb-docker-gcloud:v20240718-5ef92b5c36
env:
- REGISTRY=gcr.io/k8s-staging-ingress-nginx
entrypoint: bash
diff --git a/images/kube-webhook-certgen/cloudbuild.yaml b/images/kube-webhook-certgen/cloudbuild.yaml
index e9a5dd5cc..74f4a04a1 100644
--- a/images/kube-webhook-certgen/cloudbuild.yaml
+++ b/images/kube-webhook-certgen/cloudbuild.yaml
@@ -2,7 +2,7 @@ options:
# Ignore Prow provided substitutions.
substitution_option: ALLOW_LOOSE
steps:
- - name: gcr.io/k8s-staging-test-infra/gcb-docker-gcloud:v20240523-a15ad90fc9
+ - name: gcr.io/k8s-staging-test-infra/gcb-docker-gcloud:v20240718-5ef92b5c36
env:
- REGISTRY=gcr.io/k8s-staging-ingress-nginx
entrypoint: bash
diff --git a/images/nginx/cloudbuild.yaml b/images/nginx/cloudbuild.yaml
index a5ec1abd8..c53259ad1 100644
--- a/images/nginx/cloudbuild.yaml
+++ b/images/nginx/cloudbuild.yaml
@@ -4,7 +4,7 @@ options:
# Ignore Prow provided substitutions.
substitution_option: ALLOW_LOOSE
steps:
- - name: gcr.io/k8s-staging-test-infra/gcb-docker-gcloud:v20240523-a15ad90fc9
+ - name: gcr.io/k8s-staging-test-infra/gcb-docker-gcloud:v20240718-5ef92b5c36
env:
- REGISTRY=gcr.io/k8s-staging-ingress-nginx
entrypoint: bash
diff --git a/images/opentelemetry/cloudbuild.yaml b/images/opentelemetry/cloudbuild.yaml
index df86d37e7..e530071ce 100644
--- a/images/opentelemetry/cloudbuild.yaml
+++ b/images/opentelemetry/cloudbuild.yaml
@@ -4,11 +4,10 @@ options:
# Ignore Prow provided substitutions.
substitution_option: ALLOW_LOOSE
steps:
- - name: gcr.io/k8s-staging-test-infra/gcb-docker-gcloud:v20240523-a15ad90fc9
+ - name: gcr.io/k8s-staging-test-infra/gcb-docker-gcloud:v20240718-5ef92b5c36
env:
- REGISTRY=gcr.io/k8s-staging-ingress-nginx
entrypoint: bash
args:
- -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/test-runner/cloudbuild.yaml b/images/test-runner/cloudbuild.yaml
index 878821289..b9df15a5e 100644
--- a/images/test-runner/cloudbuild.yaml
+++ b/images/test-runner/cloudbuild.yaml
@@ -2,7 +2,7 @@ options:
# Ignore Prow provided substitutions.
substitution_option: ALLOW_LOOSE
steps:
- - name: gcr.io/k8s-staging-test-infra/gcb-docker-gcloud:v20240523-a15ad90fc9
+ - name: gcr.io/k8s-staging-test-infra/gcb-docker-gcloud:v20240718-5ef92b5c36
env:
- REGISTRY=gcr.io/k8s-staging-ingress-nginx
entrypoint: bash
From 45f8b682bb4a3b6b5d0b20ad082947d7c31db347 Mon Sep 17 00:00:00 2001
From: k8s-infra-cherrypick-robot
<90416843+k8s-infra-cherrypick-robot@users.noreply.github.com>
Date: Sun, 6 Oct 2024 01:02:05 -0700
Subject: [PATCH 257/265] Tests & Docs: Bump images. (#12120)
Co-authored-by: Marco Ebert
---
.../custom-errors/custom-default-backend.helm.values.yaml | 2 +-
.../customization/custom-errors/custom-default-backend.yaml | 2 +-
test/e2e/HTTPBUN_IMAGE | 2 +-
test/e2e/framework/fastcgi_helloserver.go | 2 +-
test/e2e/settings/ocsp/ocsp.go | 2 +-
5 files changed, 5 insertions(+), 5 deletions(-)
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 e6c3e2169..fb07ac9fe 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
@@ -6,7 +6,7 @@ defaultBackend:
image:
registry: registry.k8s.io
image: ingress-nginx/custom-error-pages
- tag: v1.0.1@sha256:d8ab7de384cf41bdaa696354e19f1d0efbb0c9ac69f8682ffc0cc008a252eb76
+ tag: v1.0.2@sha256:b2259cf6bfda813548a64bded551b1854cb600c4f095738b49b4c5cdf8ab9d21
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 a47805ad7..805cf90ab 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/custom-error-pages:v1.0.1@sha256:d8ab7de384cf41bdaa696354e19f1d0efbb0c9ac69f8682ffc0cc008a252eb76
+ image: registry.k8s.io/ingress-nginx/custom-error-pages:v1.0.2@sha256:b2259cf6bfda813548a64bded551b1854cb600c4f095738b49b4c5cdf8ab9d21
ports:
- containerPort: 8080
# Setting the environment variable DEBUG we can see the headers sent
diff --git a/test/e2e/HTTPBUN_IMAGE b/test/e2e/HTTPBUN_IMAGE
index 7deb1e1cb..7ea3fdc70 100644
--- a/test/e2e/HTTPBUN_IMAGE
+++ b/test/e2e/HTTPBUN_IMAGE
@@ -1 +1 @@
-registry.k8s.io/ingress-nginx/httpbun:v1.0.1@sha256:264371edd5b19ddc2da9333bb4d87c0ce3c0cf37c73c4adeb8bc641b872bc9da
+registry.k8s.io/ingress-nginx/httpbun:v1.0.2@sha256:d4079f3027dba27e2a1d7fcfb3144d6dd9e15307fb7fa80ca649232d08e90d16
diff --git a/test/e2e/framework/fastcgi_helloserver.go b/test/e2e/framework/fastcgi_helloserver.go
index 60482c067..804bb7898 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/fastcgi-helloserver:v1.0.1@sha256:bfcce5866d106450f41af15af868886c953c3661373f34aa6d99bcc6f44c6ba6",
+ Image: "registry.k8s.io/ingress-nginx/fastcgi-helloserver:v1.0.2@sha256:dc400fc69d7e0b27dcfe86be29946e19c2a853391305e2790f387267c2e6473e",
Env: []corev1.EnvVar{},
Ports: []corev1.ContainerPort{
{
diff --git a/test/e2e/settings/ocsp/ocsp.go b/test/e2e/settings/ocsp/ocsp.go
index ef3bfb58a..51ab4d5b9 100644
--- a/test/e2e/settings/ocsp/ocsp.go
+++ b/test/e2e/settings/ocsp/ocsp.go
@@ -295,7 +295,7 @@ func ocspserveDeployment(namespace string) (*appsv1.Deployment, *corev1.Service)
Containers: []corev1.Container{
{
Name: name,
- Image: "registry.k8s.io/ingress-nginx/cfssl:v1.0.0@sha256:fffd36e2f1c8fd485ec6fd24c6d55f0817b54352274293d2a247b8a0d924c5b0",
+ Image: "registry.k8s.io/ingress-nginx/cfssl:v1.0.1@sha256:12425bab3f5e41ed20b850fd1e3737a48474f9ad48363efb116243a853db754a",
Command: []string{
"/bin/bash",
"-c",
From 520d47f5e8b1548672d5c87c89d38d84f73014f8 Mon Sep 17 00:00:00 2001
From: Marco Ebert
Date: Sun, 6 Oct 2024 16:20:57 +0200
Subject: [PATCH 258/265] Chart: Bump Kube Webhook CertGen. (#12122)
---
charts/ingress-nginx/README.md | 4 ++--
charts/ingress-nginx/values.yaml | 4 ++--
2 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/charts/ingress-nginx/README.md b/charts/ingress-nginx/README.md
index ec69a0401..a8fd1125f 100644
--- a/charts/ingress-nginx/README.md
+++ b/charts/ingress-nginx/README.md
@@ -253,11 +253,11 @@ As of version `1.26.0` of this chart, by simply not providing any clusterIP valu
| controller.admissionWebhooks.namespaceSelector | object | `{}` | |
| controller.admissionWebhooks.objectSelector | object | `{}` | |
| controller.admissionWebhooks.patch.enabled | bool | `true` | |
-| controller.admissionWebhooks.patch.image.digest | string | `"sha256:a320a50cc91bd15fd2d6fa6de58bd98c1bd64b9a6f926ce23a600d87043455a3"` | |
+| controller.admissionWebhooks.patch.image.digest | string | `"sha256:a9f03b34a3cbfbb26d103a14046ab2c5130a80c3d69d526ff8063d2b37b9fd3f"` | |
| controller.admissionWebhooks.patch.image.image | string | `"ingress-nginx/kube-webhook-certgen"` | |
| controller.admissionWebhooks.patch.image.pullPolicy | string | `"IfNotPresent"` | |
| controller.admissionWebhooks.patch.image.registry | string | `"registry.k8s.io"` | |
-| controller.admissionWebhooks.patch.image.tag | string | `"v1.4.3"` | |
+| controller.admissionWebhooks.patch.image.tag | string | `"v1.4.4"` | |
| controller.admissionWebhooks.patch.labels | object | `{}` | Labels to be added to patch job resources |
| controller.admissionWebhooks.patch.networkPolicy.enabled | bool | `false` | Enable 'networkPolicy' or not |
| controller.admissionWebhooks.patch.nodeSelector."kubernetes.io/os" | string | `"linux"` | |
diff --git a/charts/ingress-nginx/values.yaml b/charts/ingress-nginx/values.yaml
index e347da54e..12269258b 100644
--- a/charts/ingress-nginx/values.yaml
+++ b/charts/ingress-nginx/values.yaml
@@ -790,8 +790,8 @@ controller:
## for backwards compatibility consider setting the full image url via the repository value below
## use *either* current default registry/image or repository format or installing chart by providing the values.yaml will fail
## repository:
- tag: v1.4.3
- digest: sha256:a320a50cc91bd15fd2d6fa6de58bd98c1bd64b9a6f926ce23a600d87043455a3
+ tag: v1.4.4
+ digest: sha256:a9f03b34a3cbfbb26d103a14046ab2c5130a80c3d69d526ff8063d2b37b9fd3f
pullPolicy: IfNotPresent
# -- Provide a priority class name to the webhook patching job
##
From 6c2fb5e1078d13a4c2f3814901eea8c05b9edb2d Mon Sep 17 00:00:00 2001
From: k8s-infra-cherrypick-robot
<90416843+k8s-infra-cherrypick-robot@users.noreply.github.com>
Date: Sun, 6 Oct 2024 07:55:17 -0700
Subject: [PATCH 259/265] Images: Build `s390x` controller. (#12128)
Co-authored-by: Marco Ebert
---
Makefile | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/Makefile b/Makefile
index 1c35c12b2..033577e14 100644
--- a/Makefile
+++ b/Makefile
@@ -240,8 +240,8 @@ ensure-buildx:
show-version:
echo -n $(TAG)
-PLATFORMS ?= amd64 arm arm64
-BUILDX_PLATFORMS ?= linux/amd64,linux/arm,linux/arm64
+PLATFORMS ?= amd64 arm arm64 s390x
+BUILDX_PLATFORMS ?= linux/amd64,linux/arm,linux/arm64,linux/s390x
.PHONY: release # Build a multi-arch docker image
release: ensure-buildx clean
From c0d9c46ff331ac85a28b13c1473f91b7cc0bed2f Mon Sep 17 00:00:00 2001
From: k8s-infra-cherrypick-robot
<90416843+k8s-infra-cherrypick-robot@users.noreply.github.com>
Date: Mon, 7 Oct 2024 06:42:21 -0700
Subject: [PATCH 260/265] Images: Drop `s390x`. (#12139)
Co-authored-by: Marco Ebert
---
.github/workflows/images.yaml | 2 +-
Makefile | 4 ++--
hack/init-buildx.sh | 5 ++---
images/Makefile | 2 +-
images/nginx/Makefile | 2 +-
5 files changed, 7 insertions(+), 8 deletions(-)
diff --git a/.github/workflows/images.yaml b/.github/workflows/images.yaml
index 813dfc918..ce643e4b7 100644
--- a/.github/workflows/images.yaml
+++ b/.github/workflows/images.yaml
@@ -189,7 +189,7 @@ jobs:
if: |
(github.event_name == 'push' && github.ref == 'refs/heads/main' && needs.changes.outputs.nginx == 'true')
env:
- PLATFORMS: linux/amd64,linux/arm,linux/arm64,linux/s390x
+ PLATFORMS: linux/amd64,linux/arm,linux/arm64
steps:
- name: Checkout
uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0
diff --git a/Makefile b/Makefile
index 033577e14..1c35c12b2 100644
--- a/Makefile
+++ b/Makefile
@@ -240,8 +240,8 @@ ensure-buildx:
show-version:
echo -n $(TAG)
-PLATFORMS ?= amd64 arm arm64 s390x
-BUILDX_PLATFORMS ?= linux/amd64,linux/arm,linux/arm64,linux/s390x
+PLATFORMS ?= amd64 arm arm64
+BUILDX_PLATFORMS ?= linux/amd64,linux/arm,linux/arm64
.PHONY: release # Build a multi-arch docker image
release: ensure-buildx clean
diff --git a/hack/init-buildx.sh b/hack/init-buildx.sh
index 1a47bf145..bac68e1ae 100755
--- a/hack/init-buildx.sh
+++ b/hack/init-buildx.sh
@@ -42,12 +42,11 @@ fi
# We can skip setup if the current builder already has multi-arch
# AND if it isn't the docker driver, which doesn't work
current_builder="$(docker buildx inspect)"
-# linux/amd64, linux/arm64, linux/riscv64, linux/ppc64le, linux/s390x, linux/386, linux/arm/v7, linux/arm/v6
+# linux/amd64, linux/arm, linux/arm64
if ! grep -q "^Driver: docker$" <<<"${current_builder}" && \
grep -q "linux/amd64" <<<"${current_builder}" && \
grep -q "linux/arm" <<<"${current_builder}" && \
- grep -q "linux/arm64" <<<"${current_builder}" && \
- grep -q "linux/s390x" <<<"${current_builder}"; then
+ grep -q "linux/arm64" <<<"${current_builder}"; then
exit 0
fi
diff --git a/images/Makefile b/images/Makefile
index 990d77231..31560168d 100644
--- a/images/Makefile
+++ b/images/Makefile
@@ -41,7 +41,7 @@ EXTRAARGS ?= $(shell cat $(NAME)/EXTRAARGS)
export DOCKER_CLI_EXPERIMENTAL=enabled
# build with buildx
-PLATFORMS?=linux/amd64,linux/arm,linux/arm64,linux/s390x
+PLATFORMS?=linux/amd64,linux/arm,linux/arm64
OUTPUT=
PROGRESS=plain
diff --git a/images/nginx/Makefile b/images/nginx/Makefile
index 103ba217f..3ed502759 100644
--- a/images/nginx/Makefile
+++ b/images/nginx/Makefile
@@ -32,7 +32,7 @@ IMAGE = $(REGISTRY)/nginx
export DOCKER_CLI_EXPERIMENTAL=enabled
# build with buildx
-PLATFORMS?=linux/amd64,linux/arm,linux/arm64,linux/s390x
+PLATFORMS?=linux/amd64,linux/arm,linux/arm64
OUTPUT=
PROGRESS=plain
build: ensure-buildx
From b51477b8535bdc6814382786ba2475116024f3dc Mon Sep 17 00:00:00 2001
From: k8s-infra-cherrypick-robot
<90416843+k8s-infra-cherrypick-robot@users.noreply.github.com>
Date: Mon, 7 Oct 2024 06:52:22 -0700
Subject: [PATCH 261/265] Images: Trigger `e2e-test-echo` build. (#12142)
Co-authored-by: Marco Ebert
---
images/e2e-test-echo/TAG | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/images/e2e-test-echo/TAG b/images/e2e-test-echo/TAG
index 0ec25f750..b18d46540 100644
--- a/images/e2e-test-echo/TAG
+++ b/images/e2e-test-echo/TAG
@@ -1 +1 @@
-v1.0.0
+v1.0.1
From bb31f9be1ff70aecd9e9cb33634f8a08dfa3002b Mon Sep 17 00:00:00 2001
From: k8s-infra-cherrypick-robot
<90416843+k8s-infra-cherrypick-robot@users.noreply.github.com>
Date: Mon, 7 Oct 2024 13:28:23 -0700
Subject: [PATCH 262/265] Tests & Docs: Bump `e2e-test-echo` to v1.0.1.
(#12146)
Co-authored-by: Marco Ebert
---
docs/examples/canary/README.md | 4 ++--
.../customization/external-auth-headers/echo-service.yaml | 2 +-
test/e2e/framework/deployment.go | 2 +-
3 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/docs/examples/canary/README.md b/docs/examples/canary/README.md
index 4124faf6f..865325b73 100644
--- a/docs/examples/canary/README.md
+++ b/docs/examples/canary/README.md
@@ -31,7 +31,7 @@ spec:
spec:
containers:
- name: production
- image: registry.k8s.io/ingress-nginx/e2e-test-echo@sha256:6fc5aa2994c86575975bb20a5203651207029a0d28e3f491d8a127d08baadab4
+ image: registry.k8s.io/ingress-nginx/e2e-test-echo:v1.0.1@sha256:1cec65aa768720290d05d65ab1c297ca46b39930e56bc9488259f9114fcd30e2
ports:
- containerPort: 80
env:
@@ -97,7 +97,7 @@ spec:
spec:
containers:
- name: canary
- image: registry.k8s.io/ingress-nginx/e2e-test-echo@sha256:6fc5aa2994c86575975bb20a5203651207029a0d28e3f491d8a127d08baadab4
+ image: registry.k8s.io/ingress-nginx/e2e-test-echo:v1.0.1@sha256:1cec65aa768720290d05d65ab1c297ca46b39930e56bc9488259f9114fcd30e2
ports:
- containerPort: 80
env:
diff --git a/docs/examples/customization/external-auth-headers/echo-service.yaml b/docs/examples/customization/external-auth-headers/echo-service.yaml
index fc4461cd8..9f597a7f5 100644
--- a/docs/examples/customization/external-auth-headers/echo-service.yaml
+++ b/docs/examples/customization/external-auth-headers/echo-service.yaml
@@ -18,7 +18,7 @@ spec:
terminationGracePeriodSeconds: 60
containers:
- name: echo-service
- image: registry.k8s.io/ingress-nginx/e2e-test-echo:v20230527@sha256:6fc5aa2994c86575975bb20a5203651207029a0d28e3f491d8a127d08baadab4
+ image: registry.k8s.io/ingress-nginx/e2e-test-echo:v1.0.1@sha256:1cec65aa768720290d05d65ab1c297ca46b39930e56bc9488259f9114fcd30e2
ports:
- containerPort: 8080
resources:
diff --git a/test/e2e/framework/deployment.go b/test/e2e/framework/deployment.go
index 9eaf42565..d6e59f18a 100644
--- a/test/e2e/framework/deployment.go
+++ b/test/e2e/framework/deployment.go
@@ -47,7 +47,7 @@ const NIPService = "external-nip"
var HTTPBunImage = os.Getenv("HTTPBUN_IMAGE")
// EchoImage is the default image to be used by the echo service
-const EchoImage = "registry.k8s.io/ingress-nginx/e2e-test-echo@sha256:4938d1d91a2b7d19454460a8c1b010b89f6ff92d2987fd889ac3e8fc3b70d91a" //#nosec G101
+const EchoImage = "registry.k8s.io/ingress-nginx/e2e-test-echo:v1.0.1@sha256:1cec65aa768720290d05d65ab1c297ca46b39930e56bc9488259f9114fcd30e2" //#nosec G101
// TODO: change all Deployment functions to use these options
// in order to reduce complexity and have a unified API across the
From 8e8cebfe702848a7a4c42c491e208e3781334334 Mon Sep 17 00:00:00 2001
From: Marco Ebert
Date: Mon, 7 Oct 2024 23:06:22 +0200
Subject: [PATCH 263/265] Bump the actions group with 3 updates (#12150)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
---
.github/workflows/chart.yaml | 2 +-
.github/workflows/ci.yaml | 14 +++++++-------
.github/workflows/depreview.yaml | 2 +-
.github/workflows/docs.yaml | 4 ++--
.github/workflows/golangci-lint.yml | 2 +-
.github/workflows/images.yaml | 6 +++---
.github/workflows/perftest.yaml | 2 +-
.github/workflows/plugin.yaml | 2 +-
.github/workflows/scorecards.yml | 6 +++---
.github/workflows/vulnerability-scans.yaml | 6 +++---
.github/workflows/zz-tmpl-images.yaml | 6 +++---
.github/workflows/zz-tmpl-k8s-e2e.yaml | 4 ++--
12 files changed, 28 insertions(+), 28 deletions(-)
diff --git a/.github/workflows/chart.yaml b/.github/workflows/chart.yaml
index a546801a0..63fc18b0c 100644
--- a/.github/workflows/chart.yaml
+++ b/.github/workflows/chart.yaml
@@ -45,7 +45,7 @@ jobs:
git config --global user.email "${GITHUB_ACTOR}@users.noreply.github.com"
- name: Checkout code
- uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0
+ uses: actions/checkout@eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871 # v4.2.1
with:
fetch-depth: 0
diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml
index 8081fe4a0..e3d46913a 100644
--- a/.github/workflows/ci.yaml
+++ b/.github/workflows/ci.yaml
@@ -47,7 +47,7 @@ jobs:
steps:
- name: Checkout
- uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0
+ uses: actions/checkout@eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871 # v4.2.1
- uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
id: filter
@@ -79,7 +79,7 @@ jobs:
(needs.changes.outputs.go == 'true') || ${{ github.event.workflow_dispatch.run_e2e == 'true' }}
steps:
- name: Checkout
- uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0
+ uses: actions/checkout@eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871 # v4.2.1
- name: Get go version
run: echo "GOLANG_VERSION=$(cat GOLANG_VERSION)" >> $GITHUB_ENV
@@ -103,7 +103,7 @@ jobs:
(needs.changes.outputs.go == 'true') || (needs.changes.outputs.docs == 'true') || ${{ github.event.workflow_dispatch.run_e2e == 'true' }}
steps:
- name: Checkout
- uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0
+ uses: actions/checkout@eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871 # v4.2.1
- name: Get go version
run: echo "GOLANG_VERSION=$(cat GOLANG_VERSION)" >> $GITHUB_ENV
- name: Set up Go
@@ -128,7 +128,7 @@ jobs:
PLATFORMS: linux/amd64
steps:
- name: Checkout
- uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0
+ uses: actions/checkout@eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871 # v4.2.1
- name: Get go version
id: golangversion
@@ -186,7 +186,7 @@ jobs:
| gzip > docker.tar.gz
- name: cache
- uses: actions/upload-artifact@50769540e7f4bd5e21e526ee35c689e35e0d6874 # v4.4.0
+ uses: actions/upload-artifact@604373da6381bf24206979c74d06a550515601b9 # v4.4.1
with:
name: docker.tar.gz
path: docker.tar.gz
@@ -225,7 +225,7 @@ jobs:
run: helm plugin install https://github.com/helm-unittest/helm-unittest
- name: Checkout code
- uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0
+ uses: actions/checkout@eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871 # v4.2.1
with:
fetch-depth: 0
@@ -258,7 +258,7 @@ jobs:
steps:
- name: Checkout code
- uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0
+ uses: actions/checkout@eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871 # v4.2.1
- name: Download cache
uses: actions/download-artifact@fa0a91b85d4f404e444e00e005971372dc801d16 # v4.1.8
diff --git a/.github/workflows/depreview.yaml b/.github/workflows/depreview.yaml
index 857411f79..32b98c2b2 100644
--- a/.github/workflows/depreview.yaml
+++ b/.github/workflows/depreview.yaml
@@ -9,6 +9,6 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: 'Checkout Repository'
- uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0
+ uses: actions/checkout@eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871 # v4.2.1
- name: 'Dependency Review'
uses: actions/dependency-review-action@5a2ce3f5b92ee19cbb1541a4984c76d921601d7c # v4.3.4
diff --git a/.github/workflows/docs.yaml b/.github/workflows/docs.yaml
index 479c139aa..0d0b20a5a 100644
--- a/.github/workflows/docs.yaml
+++ b/.github/workflows/docs.yaml
@@ -23,7 +23,7 @@ jobs:
steps:
- name: Checkout
- uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0
+ uses: actions/checkout@eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871 # v4.2.1
- uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
id: filter
@@ -47,7 +47,7 @@ jobs:
steps:
- name: Checkout master
- uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0
+ uses: actions/checkout@eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871 # v4.2.1
- name: Deploy
uses: ./.github/actions/mkdocs
diff --git a/.github/workflows/golangci-lint.yml b/.github/workflows/golangci-lint.yml
index 4ef7e9085..c71f090af 100644
--- a/.github/workflows/golangci-lint.yml
+++ b/.github/workflows/golangci-lint.yml
@@ -15,7 +15,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout
- uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0
+ uses: actions/checkout@eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871 # v4.2.1
- name: Get go version
run: echo "GOLANG_VERSION=$(cat GOLANG_VERSION)" >> $GITHUB_ENV
diff --git a/.github/workflows/images.yaml b/.github/workflows/images.yaml
index ce643e4b7..ca8df462a 100644
--- a/.github/workflows/images.yaml
+++ b/.github/workflows/images.yaml
@@ -40,7 +40,7 @@ jobs:
steps:
- name: Checkout
- uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0
+ uses: actions/checkout@eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871 # v4.2.1
- uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
id: filter
with:
@@ -141,7 +141,7 @@ jobs:
k8s: [v1.26.15, v1.27.13, v1.28.9, v1.29.4, v1.30.0]
steps:
- name: Checkout
- uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0
+ uses: actions/checkout@eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871 # v4.2.1
- name: Get go version
run: echo "GOLANG_VERSION=$(cat GOLANG_VERSION)" >> $GITHUB_ENV
@@ -192,7 +192,7 @@ jobs:
PLATFORMS: linux/amd64,linux/arm,linux/arm64
steps:
- name: Checkout
- uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0
+ uses: actions/checkout@eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871 # v4.2.1
- name: Set up QEMU
uses: docker/setup-qemu-action@49b3bc8e6bdd4a60e6116a5414239cba5943d3cf # v3.2.0
- name: Set up Docker Buildx
diff --git a/.github/workflows/perftest.yaml b/.github/workflows/perftest.yaml
index eb086538e..044c3a260 100644
--- a/.github/workflows/perftest.yaml
+++ b/.github/workflows/perftest.yaml
@@ -19,7 +19,7 @@ jobs:
steps:
- name: Checkout
- uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0
+ uses: actions/checkout@eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871 # v4.2.1
- name: Install K6
run: |
diff --git a/.github/workflows/plugin.yaml b/.github/workflows/plugin.yaml
index 0ae13a2df..627a0a0b9 100644
--- a/.github/workflows/plugin.yaml
+++ b/.github/workflows/plugin.yaml
@@ -12,7 +12,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout
- uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0
+ uses: actions/checkout@eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871 # v4.2.1
with:
fetch-depth: 0
diff --git a/.github/workflows/scorecards.yml b/.github/workflows/scorecards.yml
index 9eaf091ee..f927443df 100644
--- a/.github/workflows/scorecards.yml
+++ b/.github/workflows/scorecards.yml
@@ -27,7 +27,7 @@ jobs:
steps:
- name: "Checkout code"
- uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0
+ uses: actions/checkout@eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871 # v4.2.1
with:
persist-credentials: false
@@ -51,7 +51,7 @@ jobs:
# Upload the results as artifacts (optional). Commenting out will disable uploads of run results in SARIF
# format to the repository Actions tab.
- name: "Upload artifact"
- uses: actions/upload-artifact@50769540e7f4bd5e21e526ee35c689e35e0d6874 # v4.4.0
+ uses: actions/upload-artifact@604373da6381bf24206979c74d06a550515601b9 # v4.4.1
with:
name: SARIF file
path: results.sarif
@@ -59,6 +59,6 @@ jobs:
# Upload the results to GitHub's code scanning dashboard.
- name: "Upload to code-scanning"
- uses: github/codeql-action/upload-sarif@6db8d6351fd0be61f9ed8ebd12ccd35dcec51fea # v3.26.11
+ uses: github/codeql-action/upload-sarif@c36620d31ac7c881962c3d9dd939c40ec9434f2b # v3.26.12
with:
sarif_file: results.sarif
diff --git a/.github/workflows/vulnerability-scans.yaml b/.github/workflows/vulnerability-scans.yaml
index 0cd02552d..1532ad2de 100644
--- a/.github/workflows/vulnerability-scans.yaml
+++ b/.github/workflows/vulnerability-scans.yaml
@@ -22,7 +22,7 @@ jobs:
versions: ${{ steps.version.outputs.TAGS }}
steps:
- name: Checkout code
- uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0
+ uses: actions/checkout@eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871 # v4.2.1
with:
fetch-depth: 0
@@ -52,7 +52,7 @@ jobs:
versions: ${{ fromJSON(needs.version.outputs.versions) }}
steps:
- name: Checkout code
- uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0
+ uses: actions/checkout@eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871 # v4.2.1
- shell: bash
id: test
@@ -75,7 +75,7 @@ jobs:
# This step checks out a copy of your repository.
- name: Upload SARIF file
- uses: github/codeql-action/upload-sarif@6db8d6351fd0be61f9ed8ebd12ccd35dcec51fea # v3.26.11
+ uses: github/codeql-action/upload-sarif@c36620d31ac7c881962c3d9dd939c40ec9434f2b # v3.26.12
with:
token: ${{ github.token }}
# Path to SARIF file relative to the root of the repository
diff --git a/.github/workflows/zz-tmpl-images.yaml b/.github/workflows/zz-tmpl-images.yaml
index 2efc039d6..efadb8f89 100644
--- a/.github/workflows/zz-tmpl-images.yaml
+++ b/.github/workflows/zz-tmpl-images.yaml
@@ -31,7 +31,7 @@ jobs:
steps:
- name: Checkout
- uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0
+ uses: actions/checkout@eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871 # v4.2.1
- uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
id: filter
with:
@@ -48,7 +48,7 @@ jobs:
steps:
- name: Checkout
- uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0
+ uses: actions/checkout@eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871 # v4.2.1
- name: Build
run: |
@@ -67,7 +67,7 @@ jobs:
PLATFORMS: ${{ inputs.platforms-publish }}
steps:
- name: Checkout
- uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0
+ uses: actions/checkout@eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871 # v4.2.1
- name: Login to GitHub Container Registry
uses: docker/login-action@9780b0c442fbb1117ed29e0efdff1e18412f7567 # v3.3.0
diff --git a/.github/workflows/zz-tmpl-k8s-e2e.yaml b/.github/workflows/zz-tmpl-k8s-e2e.yaml
index 8d94e37fe..85fd95da1 100644
--- a/.github/workflows/zz-tmpl-k8s-e2e.yaml
+++ b/.github/workflows/zz-tmpl-k8s-e2e.yaml
@@ -20,7 +20,7 @@ jobs:
steps:
- name: Checkout
- uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0
+ uses: actions/checkout@eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871 # v4.2.1
- name: cache
uses: actions/download-artifact@fa0a91b85d4f404e444e00e005971372dc801d16 # v4.1.8
@@ -50,7 +50,7 @@ jobs:
make kind-e2e-test
- name: Upload e2e junit-reports ${{ inputs.variation }}
- uses: actions/upload-artifact@50769540e7f4bd5e21e526ee35c689e35e0d6874 # v4.4.0
+ uses: actions/upload-artifact@604373da6381bf24206979c74d06a550515601b9 # v4.4.1
if: success() || failure()
with:
name: e2e-test-reports-${{ inputs.k8s-version }}${{ inputs.variation }}
From a88d080c45f4e8c5c11e63c1f25c08942beb8d63 Mon Sep 17 00:00:00 2001
From: Marco Ebert
Date: Tue, 8 Oct 2024 07:24:23 +0200
Subject: [PATCH 264/265] Images: Trigger controller build. (#12133)
---
TAG | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/TAG b/TAG
index 66acda7a3..731c6c2cd 100644
--- a/TAG
+++ b/TAG
@@ -1 +1 @@
-v1.10.4
+v1.10.5
From da462b23b90f37a6c66921d77a7a1d867d8d9275 Mon Sep 17 00:00:00 2001
From: Marco Ebert
Date: Tue, 8 Oct 2024 22:58:23 +0200
Subject: [PATCH 265/265] Release controller v1.10.5 & chart v4.10.5. (#12155)
---
README.md | 11 +--
changelog/controller-1.10.5.md | 90 +++++++++++++++++++
charts/ingress-nginx/Chart.yaml | 6 +-
charts/ingress-nginx/README.md | 8 +-
.../changelog/helm-chart-4.10.5.md | 9 ++
charts/ingress-nginx/values.yaml | 6 +-
deploy/static/provider/aws/deploy.yaml | 49 +++++-----
.../aws/nlb-with-tls-termination/deploy.yaml | 49 +++++-----
deploy/static/provider/baremetal/deploy.yaml | 49 +++++-----
deploy/static/provider/cloud/deploy.yaml | 49 +++++-----
deploy/static/provider/do/deploy.yaml | 49 +++++-----
deploy/static/provider/exoscale/deploy.yaml | 49 +++++-----
deploy/static/provider/kind/deploy.yaml | 49 +++++-----
deploy/static/provider/oracle/deploy.yaml | 49 +++++-----
deploy/static/provider/scw/deploy.yaml | 49 +++++-----
docs/deploy/index.md | 20 ++---
16 files changed, 350 insertions(+), 241 deletions(-)
create mode 100644 changelog/controller-1.10.5.md
create mode 100644 charts/ingress-nginx/changelog/helm-chart-4.10.5.md
diff --git a/README.md b/README.md
index a8bf65d06..e9678368d 100644
--- a/README.md
+++ b/README.md
@@ -39,11 +39,12 @@ the versions listed. Ingress-Nginx versions **may** work on older versions, but
| Supported | Ingress-NGINX version | k8s supported version | Alpine Version | Nginx Version | Helm Chart Version |
| :-------: | --------------------- | ----------------------------- | -------------- | ------------- | ------------------ |
-| 🔄 | **v1.10.4** | 1.30, 1.29, 1.28, 1.27, 1.26 | 3.20.0 | 1.25.5 | 4.10.4 |
-| 🔄 | **v1.10.3** | 1.30, 1.29, 1.28, 1.27, 1.26 | 3.20.0 | 1.25.5 | 4.10.3 |
-| 🔄 | **v1.10.2** | 1.30, 1.29, 1.28, 1.27, 1.26 | 3.20.0 | 1.25.5 | 4.10.2 |
-| 🔄 | **v1.10.1** | 1.30, 1.29, 1.28, 1.27, 1.26 | 3.19.1 | 1.25.3 | 4.10.1 |
-| 🔄 | **v1.10.0** | 1.29, 1.28, 1.27, 1.26 | 3.19.1 | 1.25.3 | 4.10.0 |
+| | **v1.10.5** | 1.30, 1.29, 1.28, 1.27, 1.26 | 3.20.3 | 1.25.5 | 4.10.5 |
+| | **v1.10.4** | 1.30, 1.29, 1.28, 1.27, 1.26 | 3.20.0 | 1.25.5 | 4.10.4 |
+| | **v1.10.3** | 1.30, 1.29, 1.28, 1.27, 1.26 | 3.20.0 | 1.25.5 | 4.10.3 |
+| | **v1.10.2** | 1.30, 1.29, 1.28, 1.27, 1.26 | 3.20.0 | 1.25.5 | 4.10.2 |
+| | **v1.10.1** | 1.30, 1.29, 1.28, 1.27, 1.26 | 3.19.1 | 1.25.3 | 4.10.1 |
+| | **v1.10.0** | 1.29, 1.28, 1.27, 1.26 | 3.19.1 | 1.25.3 | 4.10.0 |
| | v1.9.6 | 1.29, 1.28, 1.27, 1.26, 1.25 | 3.19.0 | 1.21.6 | 4.9.1 |
| | v1.9.5 | 1.28, 1.27, 1.26, 1.25 | 3.18.4 | 1.21.6 | 4.9.0 |
| | v1.9.4 | 1.28, 1.27, 1.26, 1.25 | 3.18.4 | 1.21.6 | 4.8.3 |
diff --git a/changelog/controller-1.10.5.md b/changelog/controller-1.10.5.md
new file mode 100644
index 000000000..82be0a608
--- /dev/null
+++ b/changelog/controller-1.10.5.md
@@ -0,0 +1,90 @@
+# Changelog
+
+### controller-v1.10.5
+
+Images:
+
+* registry.k8s.io/ingress-nginx/controller:v1.10.5@sha256:c84d11b1f7bd14ebbf49918a7f0dc01b31c0c6e757e0129520ea93453096315c
+* registry.k8s.io/ingress-nginx/controller-chroot:v1.10.5@sha256:030a43bdd5f0212a7e135cc4da76b15a6706ef65a6824eb4cc401f87a81c2987
+
+### All changes:
+
+* Images: Trigger controller build. (#12133)
+* Tests & Docs: Bump `e2e-test-echo` to v1.0.1. (#12146)
+* Images: Trigger `e2e-test-echo` build. (#12142)
+* Images: Drop `s390x`. (#12139)
+* Images: Build `s390x` controller. (#12128)
+* Chart: Bump Kube Webhook CertGen. (#12122)
+* Tests & Docs: Bump images. (#12120)
+* Cloud Build: Bump `gcb-docker-gcloud` to v20240718-5ef92b5c36. (#12116)
+* Images: Trigger other builds. (#12111)
+* Tests: Bump `e2e-test-runner` to v20241004-114a6abb. (#12104)
+* Images: Trigger `test-runner` build. (#12101)
+* Docs: Add a multi-tenant warning. (#12098)
+* Go: Bump to v1.22.8. (#12093)
+* Images: Bump `NGINX_BASE` to v0.1.0. (#12079)
+* Images: Trigger NGINX build. (#12077)
+* Images: Remove NGINX v1.21. (#12057)
+* GitHub: Improve Dependabot. (#12037)
+* Chart: Improve CI. (#12029)
+* Chart: Extend image tests. (#12026)
+* Docs: Add health check annotations for AWS. (#12021)
+* Docs: Convert `opentelemetry.md` from CRLF to LF. (#12007)
+* Chart: Test `controller.minAvailable` & `controller.maxUnavailable`. (#12001)
+* Chart: Align default backend `PodDisruptionBudget`. (#11998)
+* Metrics: Fix namespace in `nginx_ingress_controller_ssl_expire_time_seconds`. (#11985)
+* Chart: Improve default backend service account. (#11973)
+* Go: Bump to v1.22.7. (#11969)
+* Images: Bump OpenTelemetry C++ Contrib. (#11950)
+* Docs: Add note about `--watch-namespace`. (#11948)
+* Images: Use latest Alpine 3.20 everywhere. (#11945)
+* Fix minor typos (#11940)
+* Chart: Implement `controller.admissionWebhooks.service.servicePort`. (#11933)
+* Tests: Bump `e2e-test-runner` to v20240829-2c421762. (#11920)
+* Images: Trigger `test-runner` build. (#11918)
+* Chart: Add tests for `PrometheusRule` & `ServiceMonitor`. (#11888)
+* Annotations: Allow commas in URLs. (#11886)
+* CI: Grant checks write permissions to E2E Test Report. (#11884)
+* Update maxmind post link about geolite2 license changes (#11880)
+* Go: Sync `go.work.sum`. (#11876)
+* Replace deprecated queue method (#11858)
+* Auto-generate annotation docs (#11835)
+
+### Dependency updates:
+
+* Bump the actions group with 3 updates (#12150)
+* Bump golang.org/x/crypto from 0.27.0 to 0.28.0 (#12108)
+* Bump the actions group with 3 updates (#12096)
+* Bump sigs.k8s.io/mdtoc from 1.1.0 to 1.4.0 (#12088)
+* Bump github.com/prometheus/common from 0.59.1 to 0.60.0 (#12086)
+* Bump google.golang.org/grpc from 1.67.0 to 1.67.1 in the go group across 1 directory (#12084)
+* Bump k8s.io/cli-runtime from 0.30.0 to 0.31.1 (#12082)
+* Bump github/codeql-action from 3.26.9 to 3.26.10 in the actions group (#12054)
+* Bump the go group across 1 directory with 3 updates (#12052)
+* Bump k8s.io/kube-aggregator from 0.29.3 to 0.31.1 in /images/kube-webhook-certgen/rootfs (#12048)
+* Bump k8s.io/apimachinery from 0.23.1 to 0.31.1 in /images/ext-auth-example-authsvc/rootfs (#12044)
+* Bump github.com/prometheus/client_golang from 1.11.1 to 1.20.4 in /images/custom-error-pages/rootfs (#12045)
+* Bump the all group with 2 updates (#12035)
+* Bump github/codeql-action from 3.26.7 to 3.26.8 in the all group (#12015)
+* Bump google.golang.org/grpc from 1.66.2 to 1.67.0 (#12013)
+* Bump github.com/prometheus/client_golang from 1.20.3 to 1.20.4 in the all group (#12011)
+* Bump the all group with 2 updates (#11979)
+* Bump github/codeql-action from 3.26.6 to 3.26.7 in the all group (#11978)
+* Bump github.com/prometheus/common from 0.57.0 to 0.59.1 (#11960)
+* Bump golang.org/x/crypto from 0.26.0 to 0.27.0 (#11959)
+* Bump github.com/prometheus/client_golang from 1.20.2 to 1.20.3 in the all group (#11956)
+* Bump github.com/opencontainers/runc from 1.1.13 to 1.1.14 (#11929)
+* Bump the all group with 2 updates (#11924)
+* Bump github.com/onsi/ginkgo/v2 from 2.20.1 to 2.20.2 in the all group (#11912)
+* Bump google.golang.org/grpc from 1.65.0 to 1.66.0 (#11907)
+* Bump github.com/prometheus/common from 0.55.0 to 0.57.0 (#11906)
+* Bump github/codeql-action from 3.26.5 to 3.26.6 in the all group (#11905)
+* Bump the all group with 2 updates (#11870)
+* Bump github/codeql-action from 3.26.2 to 3.26.5 in the all group (#11869)
+* Bump github.com/prometheus/client_golang from 1.19.1 to 1.20.1 (#11848)
+* Bump sigs.k8s.io/controller-runtime from 0.18.4 to 0.19.0 (#11847)
+* Bump dario.cat/mergo from 1.0.0 to 1.0.1 in the all group (#11846)
+* Bump k8s.io/component-base from 0.30.3 to 0.31.0 (#11841)
+* Bump github/codeql-action from 3.26.0 to 3.26.2 in the all group (#11833)
+
+**Full Changelog**: https://github.com/kubernetes/ingress-nginx/compare/controller-v1.10.4...controller-v1.10.5
diff --git a/charts/ingress-nginx/Chart.yaml b/charts/ingress-nginx/Chart.yaml
index bf7fc6ee1..132bb2d35 100644
--- a/charts/ingress-nginx/Chart.yaml
+++ b/charts/ingress-nginx/Chart.yaml
@@ -1,9 +1,9 @@
annotations:
artifacthub.io/changes: |
- - Update Ingress-Nginx version controller-v1.10.4
+ - Update Ingress-Nginx version controller-v1.10.5
artifacthub.io/prerelease: "false"
apiVersion: v2
-appVersion: 1.10.4
+appVersion: 1.10.5
description: Ingress controller for Kubernetes using NGINX as a reverse proxy and
load balancer
home: https://github.com/kubernetes/ingress-nginx
@@ -22,4 +22,4 @@ maintainers:
name: ingress-nginx
sources:
- https://github.com/kubernetes/ingress-nginx
-version: 4.10.4
+version: 4.10.5
diff --git a/charts/ingress-nginx/README.md b/charts/ingress-nginx/README.md
index a8fd1125f..de95280f3 100644
--- a/charts/ingress-nginx/README.md
+++ b/charts/ingress-nginx/README.md
@@ -2,7 +2,7 @@
[ingress-nginx](https://github.com/kubernetes/ingress-nginx) Ingress controller for Kubernetes using NGINX as a reverse proxy and load balancer
- 
+ 
To use, add `ingressClassName: nginx` spec field or the `kubernetes.io/ingress.class: nginx` annotation to your Ingress resources.
@@ -317,8 +317,8 @@ As of version `1.26.0` of this chart, by simply not providing any clusterIP valu
| controller.hostname | object | `{}` | Optionally customize the pod hostname. |
| controller.image.allowPrivilegeEscalation | bool | `false` | |
| controller.image.chroot | bool | `false` | |
-| controller.image.digest | string | `"sha256:505b9048c02dde3d6c8667bf0b52aba7b36adf7b03da34c47d5fa312d2d4c6fc"` | |
-| controller.image.digestChroot | string | `"sha256:bf71acf6e71830a4470e2183e3bc93c4f006b954f8a05fb434242ef0f8a24858"` | |
+| controller.image.digest | string | `"sha256:c84d11b1f7bd14ebbf49918a7f0dc01b31c0c6e757e0129520ea93453096315c"` | |
+| controller.image.digestChroot | string | `"sha256:030a43bdd5f0212a7e135cc4da76b15a6706ef65a6824eb4cc401f87a81c2987"` | |
| controller.image.image | string | `"ingress-nginx/controller"` | |
| controller.image.pullPolicy | string | `"IfNotPresent"` | |
| controller.image.readOnlyRootFilesystem | bool | `false` | |
@@ -326,7 +326,7 @@ As of version `1.26.0` of this chart, by simply not providing any clusterIP valu
| controller.image.runAsNonRoot | bool | `true` | |
| controller.image.runAsUser | int | `101` | |
| controller.image.seccompProfile.type | string | `"RuntimeDefault"` | |
-| controller.image.tag | string | `"v1.10.4"` | |
+| controller.image.tag | string | `"v1.10.5"` | |
| controller.ingressClass | string | `"nginx"` | For backwards compatibility with ingress.class annotation, use ingressClass. Algorithm is as follows, first ingressClassName is considered, if not present, controller looks for ingress.class annotation |
| controller.ingressClassByName | bool | `false` | Process IngressClass per name (additionally as per spec.controller). |
| controller.ingressClassResource | object | `{"controllerValue":"k8s.io/ingress-nginx","default":false,"enabled":true,"name":"nginx","parameters":{}}` | This section refers to the creation of the IngressClass resource. IngressClasses are immutable and cannot be changed after creation. We do not support namespaced IngressClasses, yet, so a ClusterRole and a ClusterRoleBinding is required. |
diff --git a/charts/ingress-nginx/changelog/helm-chart-4.10.5.md b/charts/ingress-nginx/changelog/helm-chart-4.10.5.md
new file mode 100644
index 000000000..72c72c720
--- /dev/null
+++ b/charts/ingress-nginx/changelog/helm-chart-4.10.5.md
@@ -0,0 +1,9 @@
+# Changelog
+
+This file documents all notable changes to [ingress-nginx](https://github.com/kubernetes/ingress-nginx) Helm Chart. The release numbering uses [semantic versioning](http://semver.org).
+
+### 4.10.5
+
+* Update Ingress-Nginx version controller-v1.10.5
+
+**Full Changelog**: https://github.com/kubernetes/ingress-nginx/compare/helm-chart-4.10.4...helm-chart-4.10.5
diff --git a/charts/ingress-nginx/values.yaml b/charts/ingress-nginx/values.yaml
index 12269258b..34f27854b 100644
--- a/charts/ingress-nginx/values.yaml
+++ b/charts/ingress-nginx/values.yaml
@@ -26,9 +26,9 @@ controller:
## for backwards compatibility consider setting the full image url via the repository value below
## use *either* current default registry/image or repository format or installing chart by providing the values.yaml will fail
## repository:
- tag: "v1.10.4"
- digest: sha256:505b9048c02dde3d6c8667bf0b52aba7b36adf7b03da34c47d5fa312d2d4c6fc
- digestChroot: sha256:bf71acf6e71830a4470e2183e3bc93c4f006b954f8a05fb434242ef0f8a24858
+ tag: "v1.10.5"
+ digest: sha256:c84d11b1f7bd14ebbf49918a7f0dc01b31c0c6e757e0129520ea93453096315c
+ digestChroot: sha256:030a43bdd5f0212a7e135cc4da76b15a6706ef65a6824eb4cc401f87a81c2987
pullPolicy: IfNotPresent
runAsNonRoot: true
# www-data -> uid 101
diff --git a/deploy/static/provider/aws/deploy.yaml b/deploy/static/provider/aws/deploy.yaml
index e76e53bf8..7233b05cc 100644
--- a/deploy/static/provider/aws/deploy.yaml
+++ b/deploy/static/provider/aws/deploy.yaml
@@ -15,7 +15,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.4
+ app.kubernetes.io/version: 1.10.5
name: ingress-nginx
namespace: ingress-nginx
---
@@ -27,7 +27,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.4
+ app.kubernetes.io/version: 1.10.5
name: ingress-nginx-admission
namespace: ingress-nginx
---
@@ -39,7 +39,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.4
+ app.kubernetes.io/version: 1.10.5
name: ingress-nginx
namespace: ingress-nginx
rules:
@@ -129,7 +129,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.4
+ app.kubernetes.io/version: 1.10.5
name: ingress-nginx-admission
namespace: ingress-nginx
rules:
@@ -148,7 +148,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.4
+ app.kubernetes.io/version: 1.10.5
name: ingress-nginx
rules:
- apiGroups:
@@ -230,7 +230,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.4
+ app.kubernetes.io/version: 1.10.5
name: ingress-nginx-admission
rules:
- apiGroups:
@@ -249,7 +249,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.4
+ app.kubernetes.io/version: 1.10.5
name: ingress-nginx
namespace: ingress-nginx
roleRef:
@@ -269,7 +269,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.4
+ app.kubernetes.io/version: 1.10.5
name: ingress-nginx-admission
namespace: ingress-nginx
roleRef:
@@ -288,7 +288,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.4
+ app.kubernetes.io/version: 1.10.5
name: ingress-nginx
roleRef:
apiGroup: rbac.authorization.k8s.io
@@ -307,7 +307,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.4
+ app.kubernetes.io/version: 1.10.5
name: ingress-nginx-admission
roleRef:
apiGroup: rbac.authorization.k8s.io
@@ -328,7 +328,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.4
+ app.kubernetes.io/version: 1.10.5
name: ingress-nginx-controller
namespace: ingress-nginx
---
@@ -344,7 +344,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.4
+ app.kubernetes.io/version: 1.10.5
name: ingress-nginx-controller
namespace: ingress-nginx
spec:
@@ -377,7 +377,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.4
+ app.kubernetes.io/version: 1.10.5
name: ingress-nginx-controller-admission
namespace: ingress-nginx
spec:
@@ -400,7 +400,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.4
+ app.kubernetes.io/version: 1.10.5
name: ingress-nginx-controller
namespace: ingress-nginx
spec:
@@ -422,7 +422,7 @@ spec:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.4
+ app.kubernetes.io/version: 1.10.5
spec:
containers:
- args:
@@ -447,7 +447,7 @@ spec:
fieldPath: metadata.namespace
- name: LD_PRELOAD
value: /usr/local/lib/libmimalloc.so
- image: registry.k8s.io/ingress-nginx/controller:v1.10.4@sha256:505b9048c02dde3d6c8667bf0b52aba7b36adf7b03da34c47d5fa312d2d4c6fc
+ image: registry.k8s.io/ingress-nginx/controller:v1.10.5@sha256:c84d11b1f7bd14ebbf49918a7f0dc01b31c0c6e757e0129520ea93453096315c
imagePullPolicy: IfNotPresent
lifecycle:
preStop:
@@ -523,7 +523,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.4
+ app.kubernetes.io/version: 1.10.5
name: ingress-nginx-admission-create
namespace: ingress-nginx
spec:
@@ -534,7 +534,7 @@ spec:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.4
+ app.kubernetes.io/version: 1.10.5
name: ingress-nginx-admission-create
spec:
containers:
@@ -548,7 +548,7 @@ spec:
valueFrom:
fieldRef:
fieldPath: metadata.namespace
- image: registry.k8s.io/ingress-nginx/kube-webhook-certgen:v1.4.3@sha256:a320a50cc91bd15fd2d6fa6de58bd98c1bd64b9a6f926ce23a600d87043455a3
+ image: registry.k8s.io/ingress-nginx/kube-webhook-certgen:v1.4.4@sha256:a9f03b34a3cbfbb26d103a14046ab2c5130a80c3d69d526ff8063d2b37b9fd3f
imagePullPolicy: IfNotPresent
name: create
securityContext:
@@ -574,7 +574,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.4
+ app.kubernetes.io/version: 1.10.5
name: ingress-nginx-admission-patch
namespace: ingress-nginx
spec:
@@ -585,7 +585,7 @@ spec:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.4
+ app.kubernetes.io/version: 1.10.5
name: ingress-nginx-admission-patch
spec:
containers:
@@ -601,7 +601,7 @@ spec:
valueFrom:
fieldRef:
fieldPath: metadata.namespace
- image: registry.k8s.io/ingress-nginx/kube-webhook-certgen:v1.4.3@sha256:a320a50cc91bd15fd2d6fa6de58bd98c1bd64b9a6f926ce23a600d87043455a3
+ image: registry.k8s.io/ingress-nginx/kube-webhook-certgen:v1.4.4@sha256:a9f03b34a3cbfbb26d103a14046ab2c5130a80c3d69d526ff8063d2b37b9fd3f
imagePullPolicy: IfNotPresent
name: patch
securityContext:
@@ -627,7 +627,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.4
+ app.kubernetes.io/version: 1.10.5
name: nginx
spec:
controller: k8s.io/ingress-nginx
@@ -640,7 +640,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.4
+ app.kubernetes.io/version: 1.10.5
name: ingress-nginx-admission
webhooks:
- admissionReviewVersions:
@@ -650,6 +650,7 @@ webhooks:
name: ingress-nginx-controller-admission
namespace: ingress-nginx
path: /networking/v1/ingresses
+ port: 443
failurePolicy: Fail
matchPolicy: Equivalent
name: validate.nginx.ingress.kubernetes.io
diff --git a/deploy/static/provider/aws/nlb-with-tls-termination/deploy.yaml b/deploy/static/provider/aws/nlb-with-tls-termination/deploy.yaml
index b31e7c6d7..7f85036c7 100644
--- a/deploy/static/provider/aws/nlb-with-tls-termination/deploy.yaml
+++ b/deploy/static/provider/aws/nlb-with-tls-termination/deploy.yaml
@@ -15,7 +15,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.4
+ app.kubernetes.io/version: 1.10.5
name: ingress-nginx
namespace: ingress-nginx
---
@@ -27,7 +27,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.4
+ app.kubernetes.io/version: 1.10.5
name: ingress-nginx-admission
namespace: ingress-nginx
---
@@ -39,7 +39,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.4
+ app.kubernetes.io/version: 1.10.5
name: ingress-nginx
namespace: ingress-nginx
rules:
@@ -129,7 +129,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.4
+ app.kubernetes.io/version: 1.10.5
name: ingress-nginx-admission
namespace: ingress-nginx
rules:
@@ -148,7 +148,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.4
+ app.kubernetes.io/version: 1.10.5
name: ingress-nginx
rules:
- apiGroups:
@@ -230,7 +230,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.4
+ app.kubernetes.io/version: 1.10.5
name: ingress-nginx-admission
rules:
- apiGroups:
@@ -249,7 +249,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.4
+ app.kubernetes.io/version: 1.10.5
name: ingress-nginx
namespace: ingress-nginx
roleRef:
@@ -269,7 +269,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.4
+ app.kubernetes.io/version: 1.10.5
name: ingress-nginx-admission
namespace: ingress-nginx
roleRef:
@@ -288,7 +288,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.4
+ app.kubernetes.io/version: 1.10.5
name: ingress-nginx
roleRef:
apiGroup: rbac.authorization.k8s.io
@@ -307,7 +307,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.4
+ app.kubernetes.io/version: 1.10.5
name: ingress-nginx-admission
roleRef:
apiGroup: rbac.authorization.k8s.io
@@ -335,7 +335,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.4
+ app.kubernetes.io/version: 1.10.5
name: ingress-nginx-controller
namespace: ingress-nginx
---
@@ -353,7 +353,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.4
+ app.kubernetes.io/version: 1.10.5
name: ingress-nginx-controller
namespace: ingress-nginx
spec:
@@ -386,7 +386,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.4
+ app.kubernetes.io/version: 1.10.5
name: ingress-nginx-controller-admission
namespace: ingress-nginx
spec:
@@ -409,7 +409,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.4
+ app.kubernetes.io/version: 1.10.5
name: ingress-nginx-controller
namespace: ingress-nginx
spec:
@@ -431,7 +431,7 @@ spec:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.4
+ app.kubernetes.io/version: 1.10.5
spec:
containers:
- args:
@@ -456,7 +456,7 @@ spec:
fieldPath: metadata.namespace
- name: LD_PRELOAD
value: /usr/local/lib/libmimalloc.so
- image: registry.k8s.io/ingress-nginx/controller:v1.10.4@sha256:505b9048c02dde3d6c8667bf0b52aba7b36adf7b03da34c47d5fa312d2d4c6fc
+ image: registry.k8s.io/ingress-nginx/controller:v1.10.5@sha256:c84d11b1f7bd14ebbf49918a7f0dc01b31c0c6e757e0129520ea93453096315c
imagePullPolicy: IfNotPresent
lifecycle:
preStop:
@@ -535,7 +535,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.4
+ app.kubernetes.io/version: 1.10.5
name: ingress-nginx-admission-create
namespace: ingress-nginx
spec:
@@ -546,7 +546,7 @@ spec:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.4
+ app.kubernetes.io/version: 1.10.5
name: ingress-nginx-admission-create
spec:
containers:
@@ -560,7 +560,7 @@ spec:
valueFrom:
fieldRef:
fieldPath: metadata.namespace
- image: registry.k8s.io/ingress-nginx/kube-webhook-certgen:v1.4.3@sha256:a320a50cc91bd15fd2d6fa6de58bd98c1bd64b9a6f926ce23a600d87043455a3
+ image: registry.k8s.io/ingress-nginx/kube-webhook-certgen:v1.4.4@sha256:a9f03b34a3cbfbb26d103a14046ab2c5130a80c3d69d526ff8063d2b37b9fd3f
imagePullPolicy: IfNotPresent
name: create
securityContext:
@@ -586,7 +586,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.4
+ app.kubernetes.io/version: 1.10.5
name: ingress-nginx-admission-patch
namespace: ingress-nginx
spec:
@@ -597,7 +597,7 @@ spec:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.4
+ app.kubernetes.io/version: 1.10.5
name: ingress-nginx-admission-patch
spec:
containers:
@@ -613,7 +613,7 @@ spec:
valueFrom:
fieldRef:
fieldPath: metadata.namespace
- image: registry.k8s.io/ingress-nginx/kube-webhook-certgen:v1.4.3@sha256:a320a50cc91bd15fd2d6fa6de58bd98c1bd64b9a6f926ce23a600d87043455a3
+ image: registry.k8s.io/ingress-nginx/kube-webhook-certgen:v1.4.4@sha256:a9f03b34a3cbfbb26d103a14046ab2c5130a80c3d69d526ff8063d2b37b9fd3f
imagePullPolicy: IfNotPresent
name: patch
securityContext:
@@ -639,7 +639,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.4
+ app.kubernetes.io/version: 1.10.5
name: nginx
spec:
controller: k8s.io/ingress-nginx
@@ -652,7 +652,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.4
+ app.kubernetes.io/version: 1.10.5
name: ingress-nginx-admission
webhooks:
- admissionReviewVersions:
@@ -662,6 +662,7 @@ webhooks:
name: ingress-nginx-controller-admission
namespace: ingress-nginx
path: /networking/v1/ingresses
+ port: 443
failurePolicy: Fail
matchPolicy: Equivalent
name: validate.nginx.ingress.kubernetes.io
diff --git a/deploy/static/provider/baremetal/deploy.yaml b/deploy/static/provider/baremetal/deploy.yaml
index 984a1a835..586163d64 100644
--- a/deploy/static/provider/baremetal/deploy.yaml
+++ b/deploy/static/provider/baremetal/deploy.yaml
@@ -15,7 +15,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.4
+ app.kubernetes.io/version: 1.10.5
name: ingress-nginx
namespace: ingress-nginx
---
@@ -27,7 +27,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.4
+ app.kubernetes.io/version: 1.10.5
name: ingress-nginx-admission
namespace: ingress-nginx
---
@@ -39,7 +39,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.4
+ app.kubernetes.io/version: 1.10.5
name: ingress-nginx
namespace: ingress-nginx
rules:
@@ -129,7 +129,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.4
+ app.kubernetes.io/version: 1.10.5
name: ingress-nginx-admission
namespace: ingress-nginx
rules:
@@ -148,7 +148,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.4
+ app.kubernetes.io/version: 1.10.5
name: ingress-nginx
rules:
- apiGroups:
@@ -230,7 +230,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.4
+ app.kubernetes.io/version: 1.10.5
name: ingress-nginx-admission
rules:
- apiGroups:
@@ -249,7 +249,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.4
+ app.kubernetes.io/version: 1.10.5
name: ingress-nginx
namespace: ingress-nginx
roleRef:
@@ -269,7 +269,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.4
+ app.kubernetes.io/version: 1.10.5
name: ingress-nginx-admission
namespace: ingress-nginx
roleRef:
@@ -288,7 +288,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.4
+ app.kubernetes.io/version: 1.10.5
name: ingress-nginx
roleRef:
apiGroup: rbac.authorization.k8s.io
@@ -307,7 +307,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.4
+ app.kubernetes.io/version: 1.10.5
name: ingress-nginx-admission
roleRef:
apiGroup: rbac.authorization.k8s.io
@@ -328,7 +328,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.4
+ app.kubernetes.io/version: 1.10.5
name: ingress-nginx-controller
namespace: ingress-nginx
---
@@ -340,7 +340,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.4
+ app.kubernetes.io/version: 1.10.5
name: ingress-nginx-controller
namespace: ingress-nginx
spec:
@@ -372,7 +372,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.4
+ app.kubernetes.io/version: 1.10.5
name: ingress-nginx-controller-admission
namespace: ingress-nginx
spec:
@@ -395,7 +395,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.4
+ app.kubernetes.io/version: 1.10.5
name: ingress-nginx-controller
namespace: ingress-nginx
spec:
@@ -417,7 +417,7 @@ spec:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.4
+ app.kubernetes.io/version: 1.10.5
spec:
containers:
- args:
@@ -441,7 +441,7 @@ spec:
fieldPath: metadata.namespace
- name: LD_PRELOAD
value: /usr/local/lib/libmimalloc.so
- image: registry.k8s.io/ingress-nginx/controller:v1.10.4@sha256:505b9048c02dde3d6c8667bf0b52aba7b36adf7b03da34c47d5fa312d2d4c6fc
+ image: registry.k8s.io/ingress-nginx/controller:v1.10.5@sha256:c84d11b1f7bd14ebbf49918a7f0dc01b31c0c6e757e0129520ea93453096315c
imagePullPolicy: IfNotPresent
lifecycle:
preStop:
@@ -517,7 +517,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.4
+ app.kubernetes.io/version: 1.10.5
name: ingress-nginx-admission-create
namespace: ingress-nginx
spec:
@@ -528,7 +528,7 @@ spec:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.4
+ app.kubernetes.io/version: 1.10.5
name: ingress-nginx-admission-create
spec:
containers:
@@ -542,7 +542,7 @@ spec:
valueFrom:
fieldRef:
fieldPath: metadata.namespace
- image: registry.k8s.io/ingress-nginx/kube-webhook-certgen:v1.4.3@sha256:a320a50cc91bd15fd2d6fa6de58bd98c1bd64b9a6f926ce23a600d87043455a3
+ image: registry.k8s.io/ingress-nginx/kube-webhook-certgen:v1.4.4@sha256:a9f03b34a3cbfbb26d103a14046ab2c5130a80c3d69d526ff8063d2b37b9fd3f
imagePullPolicy: IfNotPresent
name: create
securityContext:
@@ -568,7 +568,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.4
+ app.kubernetes.io/version: 1.10.5
name: ingress-nginx-admission-patch
namespace: ingress-nginx
spec:
@@ -579,7 +579,7 @@ spec:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.4
+ app.kubernetes.io/version: 1.10.5
name: ingress-nginx-admission-patch
spec:
containers:
@@ -595,7 +595,7 @@ spec:
valueFrom:
fieldRef:
fieldPath: metadata.namespace
- image: registry.k8s.io/ingress-nginx/kube-webhook-certgen:v1.4.3@sha256:a320a50cc91bd15fd2d6fa6de58bd98c1bd64b9a6f926ce23a600d87043455a3
+ image: registry.k8s.io/ingress-nginx/kube-webhook-certgen:v1.4.4@sha256:a9f03b34a3cbfbb26d103a14046ab2c5130a80c3d69d526ff8063d2b37b9fd3f
imagePullPolicy: IfNotPresent
name: patch
securityContext:
@@ -621,7 +621,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.4
+ app.kubernetes.io/version: 1.10.5
name: nginx
spec:
controller: k8s.io/ingress-nginx
@@ -634,7 +634,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.4
+ app.kubernetes.io/version: 1.10.5
name: ingress-nginx-admission
webhooks:
- admissionReviewVersions:
@@ -644,6 +644,7 @@ webhooks:
name: ingress-nginx-controller-admission
namespace: ingress-nginx
path: /networking/v1/ingresses
+ port: 443
failurePolicy: Fail
matchPolicy: Equivalent
name: validate.nginx.ingress.kubernetes.io
diff --git a/deploy/static/provider/cloud/deploy.yaml b/deploy/static/provider/cloud/deploy.yaml
index 599959005..d0e5c4569 100644
--- a/deploy/static/provider/cloud/deploy.yaml
+++ b/deploy/static/provider/cloud/deploy.yaml
@@ -15,7 +15,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.4
+ app.kubernetes.io/version: 1.10.5
name: ingress-nginx
namespace: ingress-nginx
---
@@ -27,7 +27,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.4
+ app.kubernetes.io/version: 1.10.5
name: ingress-nginx-admission
namespace: ingress-nginx
---
@@ -39,7 +39,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.4
+ app.kubernetes.io/version: 1.10.5
name: ingress-nginx
namespace: ingress-nginx
rules:
@@ -129,7 +129,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.4
+ app.kubernetes.io/version: 1.10.5
name: ingress-nginx-admission
namespace: ingress-nginx
rules:
@@ -148,7 +148,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.4
+ app.kubernetes.io/version: 1.10.5
name: ingress-nginx
rules:
- apiGroups:
@@ -230,7 +230,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.4
+ app.kubernetes.io/version: 1.10.5
name: ingress-nginx-admission
rules:
- apiGroups:
@@ -249,7 +249,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.4
+ app.kubernetes.io/version: 1.10.5
name: ingress-nginx
namespace: ingress-nginx
roleRef:
@@ -269,7 +269,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.4
+ app.kubernetes.io/version: 1.10.5
name: ingress-nginx-admission
namespace: ingress-nginx
roleRef:
@@ -288,7 +288,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.4
+ app.kubernetes.io/version: 1.10.5
name: ingress-nginx
roleRef:
apiGroup: rbac.authorization.k8s.io
@@ -307,7 +307,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.4
+ app.kubernetes.io/version: 1.10.5
name: ingress-nginx-admission
roleRef:
apiGroup: rbac.authorization.k8s.io
@@ -328,7 +328,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.4
+ app.kubernetes.io/version: 1.10.5
name: ingress-nginx-controller
namespace: ingress-nginx
---
@@ -340,7 +340,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.4
+ app.kubernetes.io/version: 1.10.5
name: ingress-nginx-controller
namespace: ingress-nginx
spec:
@@ -373,7 +373,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.4
+ app.kubernetes.io/version: 1.10.5
name: ingress-nginx-controller-admission
namespace: ingress-nginx
spec:
@@ -396,7 +396,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.4
+ app.kubernetes.io/version: 1.10.5
name: ingress-nginx-controller
namespace: ingress-nginx
spec:
@@ -418,7 +418,7 @@ spec:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.4
+ app.kubernetes.io/version: 1.10.5
spec:
containers:
- args:
@@ -443,7 +443,7 @@ spec:
fieldPath: metadata.namespace
- name: LD_PRELOAD
value: /usr/local/lib/libmimalloc.so
- image: registry.k8s.io/ingress-nginx/controller:v1.10.4@sha256:505b9048c02dde3d6c8667bf0b52aba7b36adf7b03da34c47d5fa312d2d4c6fc
+ image: registry.k8s.io/ingress-nginx/controller:v1.10.5@sha256:c84d11b1f7bd14ebbf49918a7f0dc01b31c0c6e757e0129520ea93453096315c
imagePullPolicy: IfNotPresent
lifecycle:
preStop:
@@ -519,7 +519,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.4
+ app.kubernetes.io/version: 1.10.5
name: ingress-nginx-admission-create
namespace: ingress-nginx
spec:
@@ -530,7 +530,7 @@ spec:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.4
+ app.kubernetes.io/version: 1.10.5
name: ingress-nginx-admission-create
spec:
containers:
@@ -544,7 +544,7 @@ spec:
valueFrom:
fieldRef:
fieldPath: metadata.namespace
- image: registry.k8s.io/ingress-nginx/kube-webhook-certgen:v1.4.3@sha256:a320a50cc91bd15fd2d6fa6de58bd98c1bd64b9a6f926ce23a600d87043455a3
+ image: registry.k8s.io/ingress-nginx/kube-webhook-certgen:v1.4.4@sha256:a9f03b34a3cbfbb26d103a14046ab2c5130a80c3d69d526ff8063d2b37b9fd3f
imagePullPolicy: IfNotPresent
name: create
securityContext:
@@ -570,7 +570,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.4
+ app.kubernetes.io/version: 1.10.5
name: ingress-nginx-admission-patch
namespace: ingress-nginx
spec:
@@ -581,7 +581,7 @@ spec:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.4
+ app.kubernetes.io/version: 1.10.5
name: ingress-nginx-admission-patch
spec:
containers:
@@ -597,7 +597,7 @@ spec:
valueFrom:
fieldRef:
fieldPath: metadata.namespace
- image: registry.k8s.io/ingress-nginx/kube-webhook-certgen:v1.4.3@sha256:a320a50cc91bd15fd2d6fa6de58bd98c1bd64b9a6f926ce23a600d87043455a3
+ image: registry.k8s.io/ingress-nginx/kube-webhook-certgen:v1.4.4@sha256:a9f03b34a3cbfbb26d103a14046ab2c5130a80c3d69d526ff8063d2b37b9fd3f
imagePullPolicy: IfNotPresent
name: patch
securityContext:
@@ -623,7 +623,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.4
+ app.kubernetes.io/version: 1.10.5
name: nginx
spec:
controller: k8s.io/ingress-nginx
@@ -636,7 +636,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.4
+ app.kubernetes.io/version: 1.10.5
name: ingress-nginx-admission
webhooks:
- admissionReviewVersions:
@@ -646,6 +646,7 @@ webhooks:
name: ingress-nginx-controller-admission
namespace: ingress-nginx
path: /networking/v1/ingresses
+ port: 443
failurePolicy: Fail
matchPolicy: Equivalent
name: validate.nginx.ingress.kubernetes.io
diff --git a/deploy/static/provider/do/deploy.yaml b/deploy/static/provider/do/deploy.yaml
index cb486b632..4d4294f8d 100644
--- a/deploy/static/provider/do/deploy.yaml
+++ b/deploy/static/provider/do/deploy.yaml
@@ -15,7 +15,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.4
+ app.kubernetes.io/version: 1.10.5
name: ingress-nginx
namespace: ingress-nginx
---
@@ -27,7 +27,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.4
+ app.kubernetes.io/version: 1.10.5
name: ingress-nginx-admission
namespace: ingress-nginx
---
@@ -39,7 +39,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.4
+ app.kubernetes.io/version: 1.10.5
name: ingress-nginx
namespace: ingress-nginx
rules:
@@ -129,7 +129,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.4
+ app.kubernetes.io/version: 1.10.5
name: ingress-nginx-admission
namespace: ingress-nginx
rules:
@@ -148,7 +148,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.4
+ app.kubernetes.io/version: 1.10.5
name: ingress-nginx
rules:
- apiGroups:
@@ -230,7 +230,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.4
+ app.kubernetes.io/version: 1.10.5
name: ingress-nginx-admission
rules:
- apiGroups:
@@ -249,7 +249,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.4
+ app.kubernetes.io/version: 1.10.5
name: ingress-nginx
namespace: ingress-nginx
roleRef:
@@ -269,7 +269,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.4
+ app.kubernetes.io/version: 1.10.5
name: ingress-nginx-admission
namespace: ingress-nginx
roleRef:
@@ -288,7 +288,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.4
+ app.kubernetes.io/version: 1.10.5
name: ingress-nginx
roleRef:
apiGroup: rbac.authorization.k8s.io
@@ -307,7 +307,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.4
+ app.kubernetes.io/version: 1.10.5
name: ingress-nginx-admission
roleRef:
apiGroup: rbac.authorization.k8s.io
@@ -329,7 +329,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.4
+ app.kubernetes.io/version: 1.10.5
name: ingress-nginx-controller
namespace: ingress-nginx
---
@@ -343,7 +343,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.4
+ app.kubernetes.io/version: 1.10.5
name: ingress-nginx-controller
namespace: ingress-nginx
spec:
@@ -376,7 +376,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.4
+ app.kubernetes.io/version: 1.10.5
name: ingress-nginx-controller-admission
namespace: ingress-nginx
spec:
@@ -399,7 +399,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.4
+ app.kubernetes.io/version: 1.10.5
name: ingress-nginx-controller
namespace: ingress-nginx
spec:
@@ -421,7 +421,7 @@ spec:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.4
+ app.kubernetes.io/version: 1.10.5
spec:
containers:
- args:
@@ -446,7 +446,7 @@ spec:
fieldPath: metadata.namespace
- name: LD_PRELOAD
value: /usr/local/lib/libmimalloc.so
- image: registry.k8s.io/ingress-nginx/controller:v1.10.4@sha256:505b9048c02dde3d6c8667bf0b52aba7b36adf7b03da34c47d5fa312d2d4c6fc
+ image: registry.k8s.io/ingress-nginx/controller:v1.10.5@sha256:c84d11b1f7bd14ebbf49918a7f0dc01b31c0c6e757e0129520ea93453096315c
imagePullPolicy: IfNotPresent
lifecycle:
preStop:
@@ -522,7 +522,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.4
+ app.kubernetes.io/version: 1.10.5
name: ingress-nginx-admission-create
namespace: ingress-nginx
spec:
@@ -533,7 +533,7 @@ spec:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.4
+ app.kubernetes.io/version: 1.10.5
name: ingress-nginx-admission-create
spec:
containers:
@@ -547,7 +547,7 @@ spec:
valueFrom:
fieldRef:
fieldPath: metadata.namespace
- image: registry.k8s.io/ingress-nginx/kube-webhook-certgen:v1.4.3@sha256:a320a50cc91bd15fd2d6fa6de58bd98c1bd64b9a6f926ce23a600d87043455a3
+ image: registry.k8s.io/ingress-nginx/kube-webhook-certgen:v1.4.4@sha256:a9f03b34a3cbfbb26d103a14046ab2c5130a80c3d69d526ff8063d2b37b9fd3f
imagePullPolicy: IfNotPresent
name: create
securityContext:
@@ -573,7 +573,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.4
+ app.kubernetes.io/version: 1.10.5
name: ingress-nginx-admission-patch
namespace: ingress-nginx
spec:
@@ -584,7 +584,7 @@ spec:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.4
+ app.kubernetes.io/version: 1.10.5
name: ingress-nginx-admission-patch
spec:
containers:
@@ -600,7 +600,7 @@ spec:
valueFrom:
fieldRef:
fieldPath: metadata.namespace
- image: registry.k8s.io/ingress-nginx/kube-webhook-certgen:v1.4.3@sha256:a320a50cc91bd15fd2d6fa6de58bd98c1bd64b9a6f926ce23a600d87043455a3
+ image: registry.k8s.io/ingress-nginx/kube-webhook-certgen:v1.4.4@sha256:a9f03b34a3cbfbb26d103a14046ab2c5130a80c3d69d526ff8063d2b37b9fd3f
imagePullPolicy: IfNotPresent
name: patch
securityContext:
@@ -626,7 +626,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.4
+ app.kubernetes.io/version: 1.10.5
name: nginx
spec:
controller: k8s.io/ingress-nginx
@@ -639,7 +639,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.4
+ app.kubernetes.io/version: 1.10.5
name: ingress-nginx-admission
webhooks:
- admissionReviewVersions:
@@ -649,6 +649,7 @@ webhooks:
name: ingress-nginx-controller-admission
namespace: ingress-nginx
path: /networking/v1/ingresses
+ port: 443
failurePolicy: Fail
matchPolicy: Equivalent
name: validate.nginx.ingress.kubernetes.io
diff --git a/deploy/static/provider/exoscale/deploy.yaml b/deploy/static/provider/exoscale/deploy.yaml
index d3acf466b..2073e5796 100644
--- a/deploy/static/provider/exoscale/deploy.yaml
+++ b/deploy/static/provider/exoscale/deploy.yaml
@@ -15,7 +15,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.4
+ app.kubernetes.io/version: 1.10.5
name: ingress-nginx
namespace: ingress-nginx
---
@@ -27,7 +27,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.4
+ app.kubernetes.io/version: 1.10.5
name: ingress-nginx-admission
namespace: ingress-nginx
---
@@ -39,7 +39,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.4
+ app.kubernetes.io/version: 1.10.5
name: ingress-nginx
namespace: ingress-nginx
rules:
@@ -129,7 +129,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.4
+ app.kubernetes.io/version: 1.10.5
name: ingress-nginx-admission
namespace: ingress-nginx
rules:
@@ -148,7 +148,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.4
+ app.kubernetes.io/version: 1.10.5
name: ingress-nginx
rules:
- apiGroups:
@@ -230,7 +230,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.4
+ app.kubernetes.io/version: 1.10.5
name: ingress-nginx-admission
rules:
- apiGroups:
@@ -249,7 +249,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.4
+ app.kubernetes.io/version: 1.10.5
name: ingress-nginx
namespace: ingress-nginx
roleRef:
@@ -269,7 +269,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.4
+ app.kubernetes.io/version: 1.10.5
name: ingress-nginx-admission
namespace: ingress-nginx
roleRef:
@@ -288,7 +288,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.4
+ app.kubernetes.io/version: 1.10.5
name: ingress-nginx
roleRef:
apiGroup: rbac.authorization.k8s.io
@@ -307,7 +307,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.4
+ app.kubernetes.io/version: 1.10.5
name: ingress-nginx-admission
roleRef:
apiGroup: rbac.authorization.k8s.io
@@ -328,7 +328,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.4
+ app.kubernetes.io/version: 1.10.5
name: ingress-nginx-controller
namespace: ingress-nginx
---
@@ -349,7 +349,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.4
+ app.kubernetes.io/version: 1.10.5
name: ingress-nginx-controller
namespace: ingress-nginx
spec:
@@ -382,7 +382,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.4
+ app.kubernetes.io/version: 1.10.5
name: ingress-nginx-controller-admission
namespace: ingress-nginx
spec:
@@ -405,7 +405,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.4
+ app.kubernetes.io/version: 1.10.5
name: ingress-nginx-controller
namespace: ingress-nginx
spec:
@@ -423,7 +423,7 @@ spec:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.4
+ app.kubernetes.io/version: 1.10.5
spec:
containers:
- args:
@@ -448,7 +448,7 @@ spec:
fieldPath: metadata.namespace
- name: LD_PRELOAD
value: /usr/local/lib/libmimalloc.so
- image: registry.k8s.io/ingress-nginx/controller:v1.10.4@sha256:505b9048c02dde3d6c8667bf0b52aba7b36adf7b03da34c47d5fa312d2d4c6fc
+ image: registry.k8s.io/ingress-nginx/controller:v1.10.5@sha256:c84d11b1f7bd14ebbf49918a7f0dc01b31c0c6e757e0129520ea93453096315c
imagePullPolicy: IfNotPresent
lifecycle:
preStop:
@@ -528,7 +528,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.4
+ app.kubernetes.io/version: 1.10.5
name: ingress-nginx-admission-create
namespace: ingress-nginx
spec:
@@ -539,7 +539,7 @@ spec:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.4
+ app.kubernetes.io/version: 1.10.5
name: ingress-nginx-admission-create
spec:
containers:
@@ -553,7 +553,7 @@ spec:
valueFrom:
fieldRef:
fieldPath: metadata.namespace
- image: registry.k8s.io/ingress-nginx/kube-webhook-certgen:v1.4.3@sha256:a320a50cc91bd15fd2d6fa6de58bd98c1bd64b9a6f926ce23a600d87043455a3
+ image: registry.k8s.io/ingress-nginx/kube-webhook-certgen:v1.4.4@sha256:a9f03b34a3cbfbb26d103a14046ab2c5130a80c3d69d526ff8063d2b37b9fd3f
imagePullPolicy: IfNotPresent
name: create
securityContext:
@@ -579,7 +579,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.4
+ app.kubernetes.io/version: 1.10.5
name: ingress-nginx-admission-patch
namespace: ingress-nginx
spec:
@@ -590,7 +590,7 @@ spec:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.4
+ app.kubernetes.io/version: 1.10.5
name: ingress-nginx-admission-patch
spec:
containers:
@@ -606,7 +606,7 @@ spec:
valueFrom:
fieldRef:
fieldPath: metadata.namespace
- image: registry.k8s.io/ingress-nginx/kube-webhook-certgen:v1.4.3@sha256:a320a50cc91bd15fd2d6fa6de58bd98c1bd64b9a6f926ce23a600d87043455a3
+ image: registry.k8s.io/ingress-nginx/kube-webhook-certgen:v1.4.4@sha256:a9f03b34a3cbfbb26d103a14046ab2c5130a80c3d69d526ff8063d2b37b9fd3f
imagePullPolicy: IfNotPresent
name: patch
securityContext:
@@ -632,7 +632,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.4
+ app.kubernetes.io/version: 1.10.5
name: nginx
spec:
controller: k8s.io/ingress-nginx
@@ -645,7 +645,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.4
+ app.kubernetes.io/version: 1.10.5
name: ingress-nginx-admission
webhooks:
- admissionReviewVersions:
@@ -655,6 +655,7 @@ webhooks:
name: ingress-nginx-controller-admission
namespace: ingress-nginx
path: /networking/v1/ingresses
+ port: 443
failurePolicy: Fail
matchPolicy: Equivalent
name: validate.nginx.ingress.kubernetes.io
diff --git a/deploy/static/provider/kind/deploy.yaml b/deploy/static/provider/kind/deploy.yaml
index a8ef3d3a6..9f1ac1187 100644
--- a/deploy/static/provider/kind/deploy.yaml
+++ b/deploy/static/provider/kind/deploy.yaml
@@ -15,7 +15,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.4
+ app.kubernetes.io/version: 1.10.5
name: ingress-nginx
namespace: ingress-nginx
---
@@ -27,7 +27,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.4
+ app.kubernetes.io/version: 1.10.5
name: ingress-nginx-admission
namespace: ingress-nginx
---
@@ -39,7 +39,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.4
+ app.kubernetes.io/version: 1.10.5
name: ingress-nginx
namespace: ingress-nginx
rules:
@@ -129,7 +129,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.4
+ app.kubernetes.io/version: 1.10.5
name: ingress-nginx-admission
namespace: ingress-nginx
rules:
@@ -148,7 +148,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.4
+ app.kubernetes.io/version: 1.10.5
name: ingress-nginx
rules:
- apiGroups:
@@ -230,7 +230,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.4
+ app.kubernetes.io/version: 1.10.5
name: ingress-nginx-admission
rules:
- apiGroups:
@@ -249,7 +249,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.4
+ app.kubernetes.io/version: 1.10.5
name: ingress-nginx
namespace: ingress-nginx
roleRef:
@@ -269,7 +269,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.4
+ app.kubernetes.io/version: 1.10.5
name: ingress-nginx-admission
namespace: ingress-nginx
roleRef:
@@ -288,7 +288,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.4
+ app.kubernetes.io/version: 1.10.5
name: ingress-nginx
roleRef:
apiGroup: rbac.authorization.k8s.io
@@ -307,7 +307,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.4
+ app.kubernetes.io/version: 1.10.5
name: ingress-nginx-admission
roleRef:
apiGroup: rbac.authorization.k8s.io
@@ -328,7 +328,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.4
+ app.kubernetes.io/version: 1.10.5
name: ingress-nginx-controller
namespace: ingress-nginx
---
@@ -340,7 +340,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.4
+ app.kubernetes.io/version: 1.10.5
name: ingress-nginx-controller
namespace: ingress-nginx
spec:
@@ -372,7 +372,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.4
+ app.kubernetes.io/version: 1.10.5
name: ingress-nginx-controller-admission
namespace: ingress-nginx
spec:
@@ -395,7 +395,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.4
+ app.kubernetes.io/version: 1.10.5
name: ingress-nginx-controller
namespace: ingress-nginx
spec:
@@ -417,7 +417,7 @@ spec:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.4
+ app.kubernetes.io/version: 1.10.5
spec:
containers:
- args:
@@ -443,7 +443,7 @@ spec:
fieldPath: metadata.namespace
- name: LD_PRELOAD
value: /usr/local/lib/libmimalloc.so
- image: registry.k8s.io/ingress-nginx/controller:v1.10.4@sha256:505b9048c02dde3d6c8667bf0b52aba7b36adf7b03da34c47d5fa312d2d4c6fc
+ image: registry.k8s.io/ingress-nginx/controller:v1.10.5@sha256:c84d11b1f7bd14ebbf49918a7f0dc01b31c0c6e757e0129520ea93453096315c
imagePullPolicy: IfNotPresent
lifecycle:
preStop:
@@ -529,7 +529,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.4
+ app.kubernetes.io/version: 1.10.5
name: ingress-nginx-admission-create
namespace: ingress-nginx
spec:
@@ -540,7 +540,7 @@ spec:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.4
+ app.kubernetes.io/version: 1.10.5
name: ingress-nginx-admission-create
spec:
containers:
@@ -554,7 +554,7 @@ spec:
valueFrom:
fieldRef:
fieldPath: metadata.namespace
- image: registry.k8s.io/ingress-nginx/kube-webhook-certgen:v1.4.3@sha256:a320a50cc91bd15fd2d6fa6de58bd98c1bd64b9a6f926ce23a600d87043455a3
+ image: registry.k8s.io/ingress-nginx/kube-webhook-certgen:v1.4.4@sha256:a9f03b34a3cbfbb26d103a14046ab2c5130a80c3d69d526ff8063d2b37b9fd3f
imagePullPolicy: IfNotPresent
name: create
securityContext:
@@ -580,7 +580,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.4
+ app.kubernetes.io/version: 1.10.5
name: ingress-nginx-admission-patch
namespace: ingress-nginx
spec:
@@ -591,7 +591,7 @@ spec:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.4
+ app.kubernetes.io/version: 1.10.5
name: ingress-nginx-admission-patch
spec:
containers:
@@ -607,7 +607,7 @@ spec:
valueFrom:
fieldRef:
fieldPath: metadata.namespace
- image: registry.k8s.io/ingress-nginx/kube-webhook-certgen:v1.4.3@sha256:a320a50cc91bd15fd2d6fa6de58bd98c1bd64b9a6f926ce23a600d87043455a3
+ image: registry.k8s.io/ingress-nginx/kube-webhook-certgen:v1.4.4@sha256:a9f03b34a3cbfbb26d103a14046ab2c5130a80c3d69d526ff8063d2b37b9fd3f
imagePullPolicy: IfNotPresent
name: patch
securityContext:
@@ -633,7 +633,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.4
+ app.kubernetes.io/version: 1.10.5
name: nginx
spec:
controller: k8s.io/ingress-nginx
@@ -646,7 +646,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.4
+ app.kubernetes.io/version: 1.10.5
name: ingress-nginx-admission
webhooks:
- admissionReviewVersions:
@@ -656,6 +656,7 @@ webhooks:
name: ingress-nginx-controller-admission
namespace: ingress-nginx
path: /networking/v1/ingresses
+ port: 443
failurePolicy: Fail
matchPolicy: Equivalent
name: validate.nginx.ingress.kubernetes.io
diff --git a/deploy/static/provider/oracle/deploy.yaml b/deploy/static/provider/oracle/deploy.yaml
index 43ba449c0..d2cdb81a7 100644
--- a/deploy/static/provider/oracle/deploy.yaml
+++ b/deploy/static/provider/oracle/deploy.yaml
@@ -15,7 +15,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.4
+ app.kubernetes.io/version: 1.10.5
name: ingress-nginx
namespace: ingress-nginx
---
@@ -27,7 +27,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.4
+ app.kubernetes.io/version: 1.10.5
name: ingress-nginx-admission
namespace: ingress-nginx
---
@@ -39,7 +39,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.4
+ app.kubernetes.io/version: 1.10.5
name: ingress-nginx
namespace: ingress-nginx
rules:
@@ -129,7 +129,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.4
+ app.kubernetes.io/version: 1.10.5
name: ingress-nginx-admission
namespace: ingress-nginx
rules:
@@ -148,7 +148,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.4
+ app.kubernetes.io/version: 1.10.5
name: ingress-nginx
rules:
- apiGroups:
@@ -230,7 +230,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.4
+ app.kubernetes.io/version: 1.10.5
name: ingress-nginx-admission
rules:
- apiGroups:
@@ -249,7 +249,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.4
+ app.kubernetes.io/version: 1.10.5
name: ingress-nginx
namespace: ingress-nginx
roleRef:
@@ -269,7 +269,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.4
+ app.kubernetes.io/version: 1.10.5
name: ingress-nginx-admission
namespace: ingress-nginx
roleRef:
@@ -288,7 +288,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.4
+ app.kubernetes.io/version: 1.10.5
name: ingress-nginx
roleRef:
apiGroup: rbac.authorization.k8s.io
@@ -307,7 +307,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.4
+ app.kubernetes.io/version: 1.10.5
name: ingress-nginx-admission
roleRef:
apiGroup: rbac.authorization.k8s.io
@@ -328,7 +328,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.4
+ app.kubernetes.io/version: 1.10.5
name: ingress-nginx-controller
namespace: ingress-nginx
---
@@ -344,7 +344,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.4
+ app.kubernetes.io/version: 1.10.5
name: ingress-nginx-controller
namespace: ingress-nginx
spec:
@@ -377,7 +377,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.4
+ app.kubernetes.io/version: 1.10.5
name: ingress-nginx-controller-admission
namespace: ingress-nginx
spec:
@@ -400,7 +400,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.4
+ app.kubernetes.io/version: 1.10.5
name: ingress-nginx-controller
namespace: ingress-nginx
spec:
@@ -422,7 +422,7 @@ spec:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.4
+ app.kubernetes.io/version: 1.10.5
spec:
containers:
- args:
@@ -447,7 +447,7 @@ spec:
fieldPath: metadata.namespace
- name: LD_PRELOAD
value: /usr/local/lib/libmimalloc.so
- image: registry.k8s.io/ingress-nginx/controller:v1.10.4@sha256:505b9048c02dde3d6c8667bf0b52aba7b36adf7b03da34c47d5fa312d2d4c6fc
+ image: registry.k8s.io/ingress-nginx/controller:v1.10.5@sha256:c84d11b1f7bd14ebbf49918a7f0dc01b31c0c6e757e0129520ea93453096315c
imagePullPolicy: IfNotPresent
lifecycle:
preStop:
@@ -523,7 +523,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.4
+ app.kubernetes.io/version: 1.10.5
name: ingress-nginx-admission-create
namespace: ingress-nginx
spec:
@@ -534,7 +534,7 @@ spec:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.4
+ app.kubernetes.io/version: 1.10.5
name: ingress-nginx-admission-create
spec:
containers:
@@ -548,7 +548,7 @@ spec:
valueFrom:
fieldRef:
fieldPath: metadata.namespace
- image: registry.k8s.io/ingress-nginx/kube-webhook-certgen:v1.4.3@sha256:a320a50cc91bd15fd2d6fa6de58bd98c1bd64b9a6f926ce23a600d87043455a3
+ image: registry.k8s.io/ingress-nginx/kube-webhook-certgen:v1.4.4@sha256:a9f03b34a3cbfbb26d103a14046ab2c5130a80c3d69d526ff8063d2b37b9fd3f
imagePullPolicy: IfNotPresent
name: create
securityContext:
@@ -574,7 +574,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.4
+ app.kubernetes.io/version: 1.10.5
name: ingress-nginx-admission-patch
namespace: ingress-nginx
spec:
@@ -585,7 +585,7 @@ spec:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.4
+ app.kubernetes.io/version: 1.10.5
name: ingress-nginx-admission-patch
spec:
containers:
@@ -601,7 +601,7 @@ spec:
valueFrom:
fieldRef:
fieldPath: metadata.namespace
- image: registry.k8s.io/ingress-nginx/kube-webhook-certgen:v1.4.3@sha256:a320a50cc91bd15fd2d6fa6de58bd98c1bd64b9a6f926ce23a600d87043455a3
+ image: registry.k8s.io/ingress-nginx/kube-webhook-certgen:v1.4.4@sha256:a9f03b34a3cbfbb26d103a14046ab2c5130a80c3d69d526ff8063d2b37b9fd3f
imagePullPolicy: IfNotPresent
name: patch
securityContext:
@@ -627,7 +627,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.4
+ app.kubernetes.io/version: 1.10.5
name: nginx
spec:
controller: k8s.io/ingress-nginx
@@ -640,7 +640,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.4
+ app.kubernetes.io/version: 1.10.5
name: ingress-nginx-admission
webhooks:
- admissionReviewVersions:
@@ -650,6 +650,7 @@ webhooks:
name: ingress-nginx-controller-admission
namespace: ingress-nginx
path: /networking/v1/ingresses
+ port: 443
failurePolicy: Fail
matchPolicy: Equivalent
name: validate.nginx.ingress.kubernetes.io
diff --git a/deploy/static/provider/scw/deploy.yaml b/deploy/static/provider/scw/deploy.yaml
index 3f1dae380..76f629de0 100644
--- a/deploy/static/provider/scw/deploy.yaml
+++ b/deploy/static/provider/scw/deploy.yaml
@@ -15,7 +15,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.4
+ app.kubernetes.io/version: 1.10.5
name: ingress-nginx
namespace: ingress-nginx
---
@@ -27,7 +27,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.4
+ app.kubernetes.io/version: 1.10.5
name: ingress-nginx-admission
namespace: ingress-nginx
---
@@ -39,7 +39,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.4
+ app.kubernetes.io/version: 1.10.5
name: ingress-nginx
namespace: ingress-nginx
rules:
@@ -129,7 +129,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.4
+ app.kubernetes.io/version: 1.10.5
name: ingress-nginx-admission
namespace: ingress-nginx
rules:
@@ -148,7 +148,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.4
+ app.kubernetes.io/version: 1.10.5
name: ingress-nginx
rules:
- apiGroups:
@@ -230,7 +230,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.4
+ app.kubernetes.io/version: 1.10.5
name: ingress-nginx-admission
rules:
- apiGroups:
@@ -249,7 +249,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.4
+ app.kubernetes.io/version: 1.10.5
name: ingress-nginx
namespace: ingress-nginx
roleRef:
@@ -269,7 +269,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.4
+ app.kubernetes.io/version: 1.10.5
name: ingress-nginx-admission
namespace: ingress-nginx
roleRef:
@@ -288,7 +288,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.4
+ app.kubernetes.io/version: 1.10.5
name: ingress-nginx
roleRef:
apiGroup: rbac.authorization.k8s.io
@@ -307,7 +307,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.4
+ app.kubernetes.io/version: 1.10.5
name: ingress-nginx-admission
roleRef:
apiGroup: rbac.authorization.k8s.io
@@ -329,7 +329,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.4
+ app.kubernetes.io/version: 1.10.5
name: ingress-nginx-controller
namespace: ingress-nginx
---
@@ -343,7 +343,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.4
+ app.kubernetes.io/version: 1.10.5
name: ingress-nginx-controller
namespace: ingress-nginx
spec:
@@ -376,7 +376,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.4
+ app.kubernetes.io/version: 1.10.5
name: ingress-nginx-controller-admission
namespace: ingress-nginx
spec:
@@ -399,7 +399,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.4
+ app.kubernetes.io/version: 1.10.5
name: ingress-nginx-controller
namespace: ingress-nginx
spec:
@@ -421,7 +421,7 @@ spec:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.4
+ app.kubernetes.io/version: 1.10.5
spec:
containers:
- args:
@@ -446,7 +446,7 @@ spec:
fieldPath: metadata.namespace
- name: LD_PRELOAD
value: /usr/local/lib/libmimalloc.so
- image: registry.k8s.io/ingress-nginx/controller:v1.10.4@sha256:505b9048c02dde3d6c8667bf0b52aba7b36adf7b03da34c47d5fa312d2d4c6fc
+ image: registry.k8s.io/ingress-nginx/controller:v1.10.5@sha256:c84d11b1f7bd14ebbf49918a7f0dc01b31c0c6e757e0129520ea93453096315c
imagePullPolicy: IfNotPresent
lifecycle:
preStop:
@@ -522,7 +522,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.4
+ app.kubernetes.io/version: 1.10.5
name: ingress-nginx-admission-create
namespace: ingress-nginx
spec:
@@ -533,7 +533,7 @@ spec:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.4
+ app.kubernetes.io/version: 1.10.5
name: ingress-nginx-admission-create
spec:
containers:
@@ -547,7 +547,7 @@ spec:
valueFrom:
fieldRef:
fieldPath: metadata.namespace
- image: registry.k8s.io/ingress-nginx/kube-webhook-certgen:v1.4.3@sha256:a320a50cc91bd15fd2d6fa6de58bd98c1bd64b9a6f926ce23a600d87043455a3
+ image: registry.k8s.io/ingress-nginx/kube-webhook-certgen:v1.4.4@sha256:a9f03b34a3cbfbb26d103a14046ab2c5130a80c3d69d526ff8063d2b37b9fd3f
imagePullPolicy: IfNotPresent
name: create
securityContext:
@@ -573,7 +573,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.4
+ app.kubernetes.io/version: 1.10.5
name: ingress-nginx-admission-patch
namespace: ingress-nginx
spec:
@@ -584,7 +584,7 @@ spec:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.4
+ app.kubernetes.io/version: 1.10.5
name: ingress-nginx-admission-patch
spec:
containers:
@@ -600,7 +600,7 @@ spec:
valueFrom:
fieldRef:
fieldPath: metadata.namespace
- image: registry.k8s.io/ingress-nginx/kube-webhook-certgen:v1.4.3@sha256:a320a50cc91bd15fd2d6fa6de58bd98c1bd64b9a6f926ce23a600d87043455a3
+ image: registry.k8s.io/ingress-nginx/kube-webhook-certgen:v1.4.4@sha256:a9f03b34a3cbfbb26d103a14046ab2c5130a80c3d69d526ff8063d2b37b9fd3f
imagePullPolicy: IfNotPresent
name: patch
securityContext:
@@ -626,7 +626,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.4
+ app.kubernetes.io/version: 1.10.5
name: nginx
spec:
controller: k8s.io/ingress-nginx
@@ -639,7 +639,7 @@ metadata:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
- app.kubernetes.io/version: 1.10.4
+ app.kubernetes.io/version: 1.10.5
name: ingress-nginx-admission
webhooks:
- admissionReviewVersions:
@@ -649,6 +649,7 @@ webhooks:
name: ingress-nginx-controller-admission
namespace: ingress-nginx
path: /networking/v1/ingresses
+ port: 443
failurePolicy: Fail
matchPolicy: Equivalent
name: validate.nginx.ingress.kubernetes.io
diff --git a/docs/deploy/index.md b/docs/deploy/index.md
index ddbd2f97f..c54611693 100644
--- a/docs/deploy/index.md
+++ b/docs/deploy/index.md
@@ -92,7 +92,7 @@ helm show values ingress-nginx --repo https://kubernetes.github.io/ingress-nginx
**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.4/deploy/static/provider/cloud/deploy.yaml
+kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-v1.10.5/deploy/static/provider/cloud/deploy.yaml
```
!!! info
@@ -274,7 +274,7 @@ In AWS, we use a Network load balancer (NLB) to expose the Ingress-Nginx Control
##### Network Load Balancer (NLB)
```console
-kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-v1.10.4/deploy/static/provider/aws/deploy.yaml
+kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-v1.10.5/deploy/static/provider/aws/deploy.yaml
```
##### TLS termination in AWS Load Balancer (NLB)
@@ -282,10 +282,10 @@ kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/cont
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.4/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.10.5/deploy/static/provider/aws/nlb-with-tls-termination/deploy.yaml) template
```console
- wget https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-v1.10.4/deploy/static/provider/aws/nlb-with-tls-termination/deploy.yaml
+ wget https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-v1.10.5/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:
@@ -333,7 +333,7 @@ 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.4/deploy/static/provider/cloud/deploy.yaml
+kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-v1.10.5/deploy/static/provider/cloud/deploy.yaml
```
!!! warning
@@ -350,7 +350,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.4/deploy/static/provider/cloud/deploy.yaml
+kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-v1.10.5/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).
@@ -358,7 +358,7 @@ 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.4/deploy/static/provider/do/deploy.yaml
+kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-v1.10.5/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.
@@ -366,7 +366,7 @@ kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/cont
#### Scaleway
```console
-kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-v1.10.4/deploy/static/provider/scw/deploy.yaml
+kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-v1.10.5/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.
@@ -383,7 +383,7 @@ The full list of annotations supported by Exoscale is available in the Exoscale
#### Oracle Cloud Infrastructure
```console
-kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-v1.10.4/deploy/static/provider/cloud/deploy.yaml
+kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-v1.10.5/deploy/static/provider/cloud/deploy.yaml
```
A
@@ -410,7 +410,7 @@ For quick testing, you can use a
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.4/deploy/static/provider/baremetal/deploy.yaml
+kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-v1.10.5/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),