Compare commits
24 commits
main
...
helm-chart
Author | SHA1 | Date | |
---|---|---|---|
![]() |
8ca389235d | ||
![]() |
34a35a24cf | ||
![]() |
493049277b | ||
![]() |
18e6eb0a31 | ||
![]() |
b159577c23 | ||
![]() |
3673519a73 | ||
![]() |
5cc9aa1ad9 | ||
![]() |
0a2ec01eb4 | ||
![]() |
7ee28f431c | ||
![]() |
0f5d2c6383 | ||
![]() |
25b87436f7 | ||
![]() |
23fa7c0450 | ||
![]() |
570d0d5acb | ||
![]() |
d5f3499cfe | ||
![]() |
71d2346545 | ||
![]() |
a15d226294 | ||
![]() |
29b5519504 | ||
![]() |
9f5559dcca | ||
![]() |
bb265845b5 | ||
![]() |
a104d4fbc3 | ||
![]() |
3d277a6200 | ||
![]() |
5564577f0d | ||
![]() |
64e2bed508 | ||
![]() |
f44bbe9b03 |
57 changed files with 1323 additions and 388 deletions
4
.github/workflows/ci.yaml
vendored
4
.github/workflows/ci.yaml
vendored
|
@ -65,11 +65,11 @@ jobs:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@v2
|
uses: actions/checkout@v2
|
||||||
|
|
||||||
- name: Set up Go 1.16
|
- name: Set up Go 1.17
|
||||||
id: go
|
id: go
|
||||||
uses: actions/setup-go@v2
|
uses: actions/setup-go@v2
|
||||||
with:
|
with:
|
||||||
go-version: 1.16
|
go-version: 1.17
|
||||||
|
|
||||||
- name: Set up Docker Buildx
|
- name: Set up Docker Buildx
|
||||||
id: buildx
|
id: buildx
|
||||||
|
|
2
.github/workflows/helm.yaml
vendored
2
.github/workflows/helm.yaml
vendored
|
@ -4,7 +4,7 @@ on:
|
||||||
push:
|
push:
|
||||||
branches:
|
branches:
|
||||||
- main
|
- main
|
||||||
- dev-v1
|
- legacy
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
|
|
||||||
|
|
16
Changelog.md
16
Changelog.md
|
@ -1,5 +1,21 @@
|
||||||
# Changelog
|
# Changelog
|
||||||
|
|
||||||
|
### 0.50.0
|
||||||
|
|
||||||
|
**Image:**
|
||||||
|
|
||||||
|
- `k8s.gcr.io/ingress-nginx/controller:v0.50.0@sha256:f46fc2d161c97a9d950635acb86fb3f8d4adcfb03ee241ea89c6cde16aa3fdf8`
|
||||||
|
|
||||||
|
This release makes the annotation `annotation-value-word-blocklist` backwards compatible by being an empty list instead of prescribed defaults.
|
||||||
|
Effectively reverting [7874](https://github.com/kubernetes/ingress-nginx/pull/7874) but keeping the functionality of `annotation-value-word-blocklist`
|
||||||
|
|
||||||
|
See Issue [7939](https://github.com/kubernetes/ingress-nginx/pull/7939) for more discussion
|
||||||
|
|
||||||
|
Admins should still consider putting a reasonable block list in place, more information on why can be found [here](https://github.com/kubernetes/ingress-nginx/issues/7837) and how in our documentation [here](https://kubernetes.github.io/ingress-nginx/user-guide/nginx-configuration/configmap/#annotation-value-word-blocklist)
|
||||||
|
|
||||||
|
_Changes:_
|
||||||
|
- [7963](https://github.com/kubernetes/ingress-nginx/pull/7963) Change sanitization message from error to warning (#7963)
|
||||||
|
- [7942](https://github.com/kubernetes/ingress-nginx/pull/7942) update default block list,docs, tests (#7942)
|
||||||
|
|
||||||
### 0.49.0
|
### 0.49.0
|
||||||
|
|
||||||
|
|
2
Makefile
2
Makefile
|
@ -51,7 +51,7 @@ endif
|
||||||
|
|
||||||
REGISTRY ?= gcr.io/k8s-staging-ingress-nginx
|
REGISTRY ?= gcr.io/k8s-staging-ingress-nginx
|
||||||
|
|
||||||
BASE_IMAGE ?= k8s.gcr.io/ingress-nginx/nginx:v20210809-g98288bc3c@sha256:f9363669cf26514c9548c1fe4f8f4e2f58dfb76616bcd638a0ff7f0ec3457c17
|
BASE_IMAGE ?= k8s.gcr.io/ingress-nginx/nginx:v20210926-g5662db450@sha256:1ef404b5e8741fe49605a1f40c3fdd8ef657aecdb9526ea979d1672eeabd0cd9
|
||||||
|
|
||||||
GOARCH=$(ARCH)
|
GOARCH=$(ARCH)
|
||||||
|
|
||||||
|
|
2
TAG
2
TAG
|
@ -1 +1 @@
|
||||||
v0.49.0
|
v0.50.0
|
||||||
|
|
|
@ -37,7 +37,7 @@ function cleanup {
|
||||||
}
|
}
|
||||||
trap cleanup EXIT
|
trap cleanup EXIT
|
||||||
|
|
||||||
E2E_IMAGE=${E2E_IMAGE:-k8s.gcr.io/ingress-nginx/e2e-test-runner:v20210810-g820a21a74@sha256:7d7393a8c6c72d76145282df53ea0679a5b769211fd1cd6b8910b6dda1bd986d}
|
E2E_IMAGE=${E2E_IMAGE:-k8s.gcr.io/ingress-nginx/e2e-test-runner:v20210822-g5e5faa24d@sha256:55c568d9e35e15d94b3ab41fe549b8ee4cd910cc3e031ddcccd06256755c5d89}
|
||||||
|
|
||||||
DOCKER_OPTS=${DOCKER_OPTS:-}
|
DOCKER_OPTS=${DOCKER_OPTS:-}
|
||||||
DOCKER_IN_DOCKER_ENABLED=${DOCKER_IN_DOCKER_ENABLED:-}
|
DOCKER_IN_DOCKER_ENABLED=${DOCKER_IN_DOCKER_ENABLED:-}
|
||||||
|
|
|
@ -2,6 +2,18 @@
|
||||||
|
|
||||||
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).
|
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).
|
||||||
|
|
||||||
|
### 3.40.0
|
||||||
|
- [7973](https://github.com/kubernetes/ingress-nginx/pull/7973) update controller version to v0.50.0
|
||||||
|
- [7963](https://github.com/kubernetes/ingress-nginx/pull/7963) Change sanitization message from error to warning (#7963)
|
||||||
|
- [7942](https://github.com/kubernetes/ingress-nginx/pull/7942) update default block list,docs, tests (#7942)
|
||||||
|
|
||||||
|
### 3.39.0
|
||||||
|
- [7742] https://github.com/kubernetes/ingress-nginx/pull/7742 Release v0.49.3 with bugfixes
|
||||||
|
|
||||||
|
### 3.37.0
|
||||||
|
- [7666] https://github.com/kubernetes/ingress-nginx/pull/7666 Add option to disable snippet annotations
|
||||||
|
- [7671] https://github.com/kubernetes/ingress-nginx/pull/7671 Downgrade NGINX image to v1.19.9
|
||||||
|
|
||||||
### 3.34.0
|
### 3.34.0
|
||||||
|
|
||||||
- [7256] https://github.com/kubernetes/ingress-nginx/pull/7256 Add namespace field in the namespace scoped resource templates
|
- [7256] https://github.com/kubernetes/ingress-nginx/pull/7256 Add namespace field in the namespace scoped resource templates
|
||||||
|
|
|
@ -1,9 +1,9 @@
|
||||||
apiVersion: v2
|
apiVersion: v2
|
||||||
name: ingress-nginx
|
name: ingress-nginx
|
||||||
# When the version is modified, make sure the artifacthub.io/changes list is updated
|
# When the version is modified, please make sure the artifacthub.io/changes list is updated
|
||||||
# Also update CHANGELOG.md
|
# Also update CHANGELOG.md
|
||||||
version: 3.36.0
|
version: 3.40.0
|
||||||
appVersion: 0.49.0
|
appVersion: 0.50.0
|
||||||
home: https://github.com/kubernetes/ingress-nginx
|
home: https://github.com/kubernetes/ingress-nginx
|
||||||
description: Ingress controller for Kubernetes using NGINX as a reverse proxy and load balancer
|
description: Ingress controller for Kubernetes using NGINX as a reverse proxy and load balancer
|
||||||
icon: https://upload.wikimedia.org/wikipedia/commons/thumb/c/c5/Nginx_logo.svg/500px-Nginx_logo.svg.png
|
icon: https://upload.wikimedia.org/wikipedia/commons/thumb/c/c5/Nginx_logo.svg/500px-Nginx_logo.svg.png
|
||||||
|
@ -21,5 +21,5 @@ annotations:
|
||||||
# List of changes for the release in artifacthub.io
|
# List of changes for the release in artifacthub.io
|
||||||
# https://artifacthub.io/packages/helm/ingress-nginx/ingress-nginx?modal=changelog
|
# https://artifacthub.io/packages/helm/ingress-nginx/ingress-nginx?modal=changelog
|
||||||
artifacthub.io/changes: |
|
artifacthub.io/changes: |
|
||||||
- Migrate the webhook-certgen program inside ingress repo.
|
- Fix selector for shuttind down Pods status
|
||||||
- Fix forwarding of auth-response-headers to gRPC backends
|
- Fix overlap check when ingress is configured as canary
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
controller:
|
controller:
|
||||||
kind: DaemonSet
|
kind: DaemonSet
|
||||||
|
allowSnippetAnnotations: false
|
||||||
admissionWebhooks:
|
admissionWebhooks:
|
||||||
enabled: false
|
enabled: false
|
||||||
service:
|
service:
|
||||||
|
|
|
@ -0,0 +1,14 @@
|
||||||
|
controller:
|
||||||
|
autoscaling:
|
||||||
|
enabled: true
|
||||||
|
behavior:
|
||||||
|
scaleDown:
|
||||||
|
stabilizationWindowSeconds: 300
|
||||||
|
policies:
|
||||||
|
- type: Pods
|
||||||
|
value: 1
|
||||||
|
periodSeconds: 180
|
||||||
|
admissionWebhooks:
|
||||||
|
enabled: false
|
||||||
|
service:
|
||||||
|
type: ClusterIP
|
|
@ -1,6 +1,7 @@
|
||||||
controller:
|
controller:
|
||||||
config:
|
config:
|
||||||
use-proxy-protocol: "true"
|
use-proxy-protocol: "true"
|
||||||
|
allowSnippetAnnotations: false
|
||||||
admissionWebhooks:
|
admissionWebhooks:
|
||||||
enabled: false
|
enabled: false
|
||||||
service:
|
service:
|
||||||
|
|
|
@ -10,6 +10,7 @@ metadata:
|
||||||
name: {{ include "ingress-nginx.controller.fullname" . }}
|
name: {{ include "ingress-nginx.controller.fullname" . }}
|
||||||
namespace: {{ .Release.Namespace }}
|
namespace: {{ .Release.Namespace }}
|
||||||
data:
|
data:
|
||||||
|
allow-snippet-annotations: "{{ .Values.controller.allowSnippetAnnotations }}"
|
||||||
{{- if .Values.controller.addHeaders }}
|
{{- if .Values.controller.addHeaders }}
|
||||||
add-headers: {{ .Release.Namespace }}/{{ include "ingress-nginx.fullname" . }}-custom-add-headers
|
add-headers: {{ .Release.Namespace }}/{{ include "ingress-nginx.fullname" . }}-custom-add-headers
|
||||||
{{- end }}
|
{{- end }}
|
||||||
|
|
|
@ -40,6 +40,10 @@ spec:
|
||||||
{{- with .Values.controller.autoscalingTemplate }}
|
{{- with .Values.controller.autoscalingTemplate }}
|
||||||
{{- toYaml . | nindent 2 }}
|
{{- toYaml . | nindent 2 }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
|
{{- with .Values.controller.autoscaling.behavior }}
|
||||||
|
behavior:
|
||||||
|
{{- toYaml . | nindent 4 }}
|
||||||
|
{{- end }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
|
|
||||||
|
|
|
@ -15,8 +15,8 @@ controller:
|
||||||
# for backwards compatibility consider setting the full image url via the repository value below
|
# 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
|
# use *either* current default registry/image or repository format or installing chart by providing the values.yaml will fail
|
||||||
# repository:
|
# repository:
|
||||||
tag: "v0.49.0"
|
tag: "v0.50.0"
|
||||||
digest: sha256:e9707504ad0d4c119036b6d41ace4a33596139d3feb9ccb6617813ce48c3eeef
|
digest: sha256:f46fc2d161c97a9d950635acb86fb3f8d4adcfb03ee241ea89c6cde16aa3fdf8
|
||||||
pullPolicy: IfNotPresent
|
pullPolicy: IfNotPresent
|
||||||
# www-data -> uid 101
|
# www-data -> uid 101
|
||||||
runAsUser: 101
|
runAsUser: 101
|
||||||
|
@ -61,6 +61,12 @@ controller:
|
||||||
# Ingress status was blank because there is no Service exposing the NGINX Ingress controller in a configuration using the host network, the default --publish-service flag used in standard cloud setups does not apply
|
# Ingress status was blank because there is no Service exposing the NGINX Ingress controller in a configuration using the host network, the default --publish-service flag used in standard cloud setups does not apply
|
||||||
reportNodeInternalIp: false
|
reportNodeInternalIp: false
|
||||||
|
|
||||||
|
# This configuration defines if Ingress Controller should allow users to set
|
||||||
|
# their own *-snippet annotations, otherwise this is forbidden / dropped
|
||||||
|
# when users add those annotations.
|
||||||
|
# Global snippets in ConfigMap are still respected
|
||||||
|
allowSnippetAnnotations: true
|
||||||
|
|
||||||
# Required for use with CNI based kubernetes installations (such as ones set up by kubeadm),
|
# Required for use with CNI based kubernetes installations (such as ones set up by kubeadm),
|
||||||
# since CNI and hostport don't mix yet. Can be deprecated once https://github.com/kubernetes/kubernetes/issues/23920
|
# since CNI and hostport don't mix yet. Can be deprecated once https://github.com/kubernetes/kubernetes/issues/23920
|
||||||
# is merged
|
# is merged
|
||||||
|
@ -335,6 +341,19 @@ controller:
|
||||||
maxReplicas: 11
|
maxReplicas: 11
|
||||||
targetCPUUtilizationPercentage: 50
|
targetCPUUtilizationPercentage: 50
|
||||||
targetMemoryUtilizationPercentage: 50
|
targetMemoryUtilizationPercentage: 50
|
||||||
|
behavior: {}
|
||||||
|
# scaleDown:
|
||||||
|
# stabilizationWindowSeconds: 300
|
||||||
|
# policies:
|
||||||
|
# - type: Pods
|
||||||
|
# value: 1
|
||||||
|
# periodSeconds: 180
|
||||||
|
# scaleUp:
|
||||||
|
# stabilizationWindowSeconds: 300
|
||||||
|
# policies:
|
||||||
|
# - type: Pods
|
||||||
|
# value: 2
|
||||||
|
# periodSeconds: 60
|
||||||
|
|
||||||
autoscalingTemplate: []
|
autoscalingTemplate: []
|
||||||
# Custom or additional autoscaling metrics
|
# Custom or additional autoscaling metrics
|
||||||
|
|
|
@ -13,10 +13,10 @@ apiVersion: v1
|
||||||
kind: ServiceAccount
|
kind: ServiceAccount
|
||||||
metadata:
|
metadata:
|
||||||
labels:
|
labels:
|
||||||
helm.sh/chart: ingress-nginx-3.36.0
|
helm.sh/chart: ingress-nginx-3.40.0
|
||||||
app.kubernetes.io/name: ingress-nginx
|
app.kubernetes.io/name: ingress-nginx
|
||||||
app.kubernetes.io/instance: ingress-nginx
|
app.kubernetes.io/instance: ingress-nginx
|
||||||
app.kubernetes.io/version: 0.49.0
|
app.kubernetes.io/version: 0.50.0
|
||||||
app.kubernetes.io/managed-by: Helm
|
app.kubernetes.io/managed-by: Helm
|
||||||
app.kubernetes.io/component: controller
|
app.kubernetes.io/component: controller
|
||||||
name: ingress-nginx
|
name: ingress-nginx
|
||||||
|
@ -28,15 +28,16 @@ apiVersion: v1
|
||||||
kind: ConfigMap
|
kind: ConfigMap
|
||||||
metadata:
|
metadata:
|
||||||
labels:
|
labels:
|
||||||
helm.sh/chart: ingress-nginx-3.36.0
|
helm.sh/chart: ingress-nginx-3.40.0
|
||||||
app.kubernetes.io/name: ingress-nginx
|
app.kubernetes.io/name: ingress-nginx
|
||||||
app.kubernetes.io/instance: ingress-nginx
|
app.kubernetes.io/instance: ingress-nginx
|
||||||
app.kubernetes.io/version: 0.49.0
|
app.kubernetes.io/version: 0.50.0
|
||||||
app.kubernetes.io/managed-by: Helm
|
app.kubernetes.io/managed-by: Helm
|
||||||
app.kubernetes.io/component: controller
|
app.kubernetes.io/component: controller
|
||||||
name: ingress-nginx-controller
|
name: ingress-nginx-controller
|
||||||
namespace: ingress-nginx
|
namespace: ingress-nginx
|
||||||
data:
|
data:
|
||||||
|
allow-snippet-annotations: 'true'
|
||||||
http-snippet: |
|
http-snippet: |
|
||||||
server{
|
server{
|
||||||
listen 2443;
|
listen 2443;
|
||||||
|
@ -50,10 +51,10 @@ apiVersion: rbac.authorization.k8s.io/v1
|
||||||
kind: ClusterRole
|
kind: ClusterRole
|
||||||
metadata:
|
metadata:
|
||||||
labels:
|
labels:
|
||||||
helm.sh/chart: ingress-nginx-3.36.0
|
helm.sh/chart: ingress-nginx-3.40.0
|
||||||
app.kubernetes.io/name: ingress-nginx
|
app.kubernetes.io/name: ingress-nginx
|
||||||
app.kubernetes.io/instance: ingress-nginx
|
app.kubernetes.io/instance: ingress-nginx
|
||||||
app.kubernetes.io/version: 0.49.0
|
app.kubernetes.io/version: 0.50.0
|
||||||
app.kubernetes.io/managed-by: Helm
|
app.kubernetes.io/managed-by: Helm
|
||||||
name: ingress-nginx
|
name: ingress-nginx
|
||||||
rules:
|
rules:
|
||||||
|
@ -119,10 +120,10 @@ apiVersion: rbac.authorization.k8s.io/v1
|
||||||
kind: ClusterRoleBinding
|
kind: ClusterRoleBinding
|
||||||
metadata:
|
metadata:
|
||||||
labels:
|
labels:
|
||||||
helm.sh/chart: ingress-nginx-3.36.0
|
helm.sh/chart: ingress-nginx-3.40.0
|
||||||
app.kubernetes.io/name: ingress-nginx
|
app.kubernetes.io/name: ingress-nginx
|
||||||
app.kubernetes.io/instance: ingress-nginx
|
app.kubernetes.io/instance: ingress-nginx
|
||||||
app.kubernetes.io/version: 0.49.0
|
app.kubernetes.io/version: 0.50.0
|
||||||
app.kubernetes.io/managed-by: Helm
|
app.kubernetes.io/managed-by: Helm
|
||||||
name: ingress-nginx
|
name: ingress-nginx
|
||||||
roleRef:
|
roleRef:
|
||||||
|
@ -139,10 +140,10 @@ apiVersion: rbac.authorization.k8s.io/v1
|
||||||
kind: Role
|
kind: Role
|
||||||
metadata:
|
metadata:
|
||||||
labels:
|
labels:
|
||||||
helm.sh/chart: ingress-nginx-3.36.0
|
helm.sh/chart: ingress-nginx-3.40.0
|
||||||
app.kubernetes.io/name: ingress-nginx
|
app.kubernetes.io/name: ingress-nginx
|
||||||
app.kubernetes.io/instance: ingress-nginx
|
app.kubernetes.io/instance: ingress-nginx
|
||||||
app.kubernetes.io/version: 0.49.0
|
app.kubernetes.io/version: 0.50.0
|
||||||
app.kubernetes.io/managed-by: Helm
|
app.kubernetes.io/managed-by: Helm
|
||||||
app.kubernetes.io/component: controller
|
app.kubernetes.io/component: controller
|
||||||
name: ingress-nginx
|
name: ingress-nginx
|
||||||
|
@ -225,10 +226,10 @@ apiVersion: rbac.authorization.k8s.io/v1
|
||||||
kind: RoleBinding
|
kind: RoleBinding
|
||||||
metadata:
|
metadata:
|
||||||
labels:
|
labels:
|
||||||
helm.sh/chart: ingress-nginx-3.36.0
|
helm.sh/chart: ingress-nginx-3.40.0
|
||||||
app.kubernetes.io/name: ingress-nginx
|
app.kubernetes.io/name: ingress-nginx
|
||||||
app.kubernetes.io/instance: ingress-nginx
|
app.kubernetes.io/instance: ingress-nginx
|
||||||
app.kubernetes.io/version: 0.49.0
|
app.kubernetes.io/version: 0.50.0
|
||||||
app.kubernetes.io/managed-by: Helm
|
app.kubernetes.io/managed-by: Helm
|
||||||
app.kubernetes.io/component: controller
|
app.kubernetes.io/component: controller
|
||||||
name: ingress-nginx
|
name: ingress-nginx
|
||||||
|
@ -247,10 +248,10 @@ apiVersion: v1
|
||||||
kind: Service
|
kind: Service
|
||||||
metadata:
|
metadata:
|
||||||
labels:
|
labels:
|
||||||
helm.sh/chart: ingress-nginx-3.36.0
|
helm.sh/chart: ingress-nginx-3.40.0
|
||||||
app.kubernetes.io/name: ingress-nginx
|
app.kubernetes.io/name: ingress-nginx
|
||||||
app.kubernetes.io/instance: ingress-nginx
|
app.kubernetes.io/instance: ingress-nginx
|
||||||
app.kubernetes.io/version: 0.49.0
|
app.kubernetes.io/version: 0.50.0
|
||||||
app.kubernetes.io/managed-by: Helm
|
app.kubernetes.io/managed-by: Helm
|
||||||
app.kubernetes.io/component: controller
|
app.kubernetes.io/component: controller
|
||||||
name: ingress-nginx-controller-admission
|
name: ingress-nginx-controller-admission
|
||||||
|
@ -278,10 +279,10 @@ metadata:
|
||||||
service.beta.kubernetes.io/aws-load-balancer-ssl-ports: https
|
service.beta.kubernetes.io/aws-load-balancer-ssl-ports: https
|
||||||
service.beta.kubernetes.io/aws-load-balancer-type: elb
|
service.beta.kubernetes.io/aws-load-balancer-type: elb
|
||||||
labels:
|
labels:
|
||||||
helm.sh/chart: ingress-nginx-3.36.0
|
helm.sh/chart: ingress-nginx-3.40.0
|
||||||
app.kubernetes.io/name: ingress-nginx
|
app.kubernetes.io/name: ingress-nginx
|
||||||
app.kubernetes.io/instance: ingress-nginx
|
app.kubernetes.io/instance: ingress-nginx
|
||||||
app.kubernetes.io/version: 0.49.0
|
app.kubernetes.io/version: 0.50.0
|
||||||
app.kubernetes.io/managed-by: Helm
|
app.kubernetes.io/managed-by: Helm
|
||||||
app.kubernetes.io/component: controller
|
app.kubernetes.io/component: controller
|
||||||
name: ingress-nginx-controller
|
name: ingress-nginx-controller
|
||||||
|
@ -308,10 +309,10 @@ apiVersion: apps/v1
|
||||||
kind: Deployment
|
kind: Deployment
|
||||||
metadata:
|
metadata:
|
||||||
labels:
|
labels:
|
||||||
helm.sh/chart: ingress-nginx-3.36.0
|
helm.sh/chart: ingress-nginx-3.40.0
|
||||||
app.kubernetes.io/name: ingress-nginx
|
app.kubernetes.io/name: ingress-nginx
|
||||||
app.kubernetes.io/instance: ingress-nginx
|
app.kubernetes.io/instance: ingress-nginx
|
||||||
app.kubernetes.io/version: 0.49.0
|
app.kubernetes.io/version: 0.50.0
|
||||||
app.kubernetes.io/managed-by: Helm
|
app.kubernetes.io/managed-by: Helm
|
||||||
app.kubernetes.io/component: controller
|
app.kubernetes.io/component: controller
|
||||||
name: ingress-nginx-controller
|
name: ingress-nginx-controller
|
||||||
|
@ -334,7 +335,7 @@ spec:
|
||||||
dnsPolicy: ClusterFirst
|
dnsPolicy: ClusterFirst
|
||||||
containers:
|
containers:
|
||||||
- name: controller
|
- name: controller
|
||||||
image: k8s.gcr.io/ingress-nginx/controller:v0.49.0@sha256:e9707504ad0d4c119036b6d41ace4a33596139d3feb9ccb6617813ce48c3eeef
|
image: k8s.gcr.io/ingress-nginx/controller:v0.50.0@sha256:f46fc2d161c97a9d950635acb86fb3f8d4adcfb03ee241ea89c6cde16aa3fdf8
|
||||||
imagePullPolicy: IfNotPresent
|
imagePullPolicy: IfNotPresent
|
||||||
lifecycle:
|
lifecycle:
|
||||||
preStop:
|
preStop:
|
||||||
|
@ -426,10 +427,10 @@ apiVersion: admissionregistration.k8s.io/v1
|
||||||
kind: ValidatingWebhookConfiguration
|
kind: ValidatingWebhookConfiguration
|
||||||
metadata:
|
metadata:
|
||||||
labels:
|
labels:
|
||||||
helm.sh/chart: ingress-nginx-3.36.0
|
helm.sh/chart: ingress-nginx-3.40.0
|
||||||
app.kubernetes.io/name: ingress-nginx
|
app.kubernetes.io/name: ingress-nginx
|
||||||
app.kubernetes.io/instance: ingress-nginx
|
app.kubernetes.io/instance: ingress-nginx
|
||||||
app.kubernetes.io/version: 0.49.0
|
app.kubernetes.io/version: 0.50.0
|
||||||
app.kubernetes.io/managed-by: Helm
|
app.kubernetes.io/managed-by: Helm
|
||||||
app.kubernetes.io/component: admission-webhook
|
app.kubernetes.io/component: admission-webhook
|
||||||
name: ingress-nginx-admission
|
name: ingress-nginx-admission
|
||||||
|
@ -467,10 +468,10 @@ metadata:
|
||||||
helm.sh/hook: pre-install,pre-upgrade,post-install,post-upgrade
|
helm.sh/hook: pre-install,pre-upgrade,post-install,post-upgrade
|
||||||
helm.sh/hook-delete-policy: before-hook-creation,hook-succeeded
|
helm.sh/hook-delete-policy: before-hook-creation,hook-succeeded
|
||||||
labels:
|
labels:
|
||||||
helm.sh/chart: ingress-nginx-3.36.0
|
helm.sh/chart: ingress-nginx-3.40.0
|
||||||
app.kubernetes.io/name: ingress-nginx
|
app.kubernetes.io/name: ingress-nginx
|
||||||
app.kubernetes.io/instance: ingress-nginx
|
app.kubernetes.io/instance: ingress-nginx
|
||||||
app.kubernetes.io/version: 0.49.0
|
app.kubernetes.io/version: 0.50.0
|
||||||
app.kubernetes.io/managed-by: Helm
|
app.kubernetes.io/managed-by: Helm
|
||||||
app.kubernetes.io/component: admission-webhook
|
app.kubernetes.io/component: admission-webhook
|
||||||
---
|
---
|
||||||
|
@ -483,10 +484,10 @@ metadata:
|
||||||
helm.sh/hook: pre-install,pre-upgrade,post-install,post-upgrade
|
helm.sh/hook: pre-install,pre-upgrade,post-install,post-upgrade
|
||||||
helm.sh/hook-delete-policy: before-hook-creation,hook-succeeded
|
helm.sh/hook-delete-policy: before-hook-creation,hook-succeeded
|
||||||
labels:
|
labels:
|
||||||
helm.sh/chart: ingress-nginx-3.36.0
|
helm.sh/chart: ingress-nginx-3.40.0
|
||||||
app.kubernetes.io/name: ingress-nginx
|
app.kubernetes.io/name: ingress-nginx
|
||||||
app.kubernetes.io/instance: ingress-nginx
|
app.kubernetes.io/instance: ingress-nginx
|
||||||
app.kubernetes.io/version: 0.49.0
|
app.kubernetes.io/version: 0.50.0
|
||||||
app.kubernetes.io/managed-by: Helm
|
app.kubernetes.io/managed-by: Helm
|
||||||
app.kubernetes.io/component: admission-webhook
|
app.kubernetes.io/component: admission-webhook
|
||||||
rules:
|
rules:
|
||||||
|
@ -507,10 +508,10 @@ metadata:
|
||||||
helm.sh/hook: pre-install,pre-upgrade,post-install,post-upgrade
|
helm.sh/hook: pre-install,pre-upgrade,post-install,post-upgrade
|
||||||
helm.sh/hook-delete-policy: before-hook-creation,hook-succeeded
|
helm.sh/hook-delete-policy: before-hook-creation,hook-succeeded
|
||||||
labels:
|
labels:
|
||||||
helm.sh/chart: ingress-nginx-3.36.0
|
helm.sh/chart: ingress-nginx-3.40.0
|
||||||
app.kubernetes.io/name: ingress-nginx
|
app.kubernetes.io/name: ingress-nginx
|
||||||
app.kubernetes.io/instance: ingress-nginx
|
app.kubernetes.io/instance: ingress-nginx
|
||||||
app.kubernetes.io/version: 0.49.0
|
app.kubernetes.io/version: 0.50.0
|
||||||
app.kubernetes.io/managed-by: Helm
|
app.kubernetes.io/managed-by: Helm
|
||||||
app.kubernetes.io/component: admission-webhook
|
app.kubernetes.io/component: admission-webhook
|
||||||
roleRef:
|
roleRef:
|
||||||
|
@ -532,10 +533,10 @@ metadata:
|
||||||
helm.sh/hook: pre-install,pre-upgrade,post-install,post-upgrade
|
helm.sh/hook: pre-install,pre-upgrade,post-install,post-upgrade
|
||||||
helm.sh/hook-delete-policy: before-hook-creation,hook-succeeded
|
helm.sh/hook-delete-policy: before-hook-creation,hook-succeeded
|
||||||
labels:
|
labels:
|
||||||
helm.sh/chart: ingress-nginx-3.36.0
|
helm.sh/chart: ingress-nginx-3.40.0
|
||||||
app.kubernetes.io/name: ingress-nginx
|
app.kubernetes.io/name: ingress-nginx
|
||||||
app.kubernetes.io/instance: ingress-nginx
|
app.kubernetes.io/instance: ingress-nginx
|
||||||
app.kubernetes.io/version: 0.49.0
|
app.kubernetes.io/version: 0.50.0
|
||||||
app.kubernetes.io/managed-by: Helm
|
app.kubernetes.io/managed-by: Helm
|
||||||
app.kubernetes.io/component: admission-webhook
|
app.kubernetes.io/component: admission-webhook
|
||||||
rules:
|
rules:
|
||||||
|
@ -557,10 +558,10 @@ metadata:
|
||||||
helm.sh/hook: pre-install,pre-upgrade,post-install,post-upgrade
|
helm.sh/hook: pre-install,pre-upgrade,post-install,post-upgrade
|
||||||
helm.sh/hook-delete-policy: before-hook-creation,hook-succeeded
|
helm.sh/hook-delete-policy: before-hook-creation,hook-succeeded
|
||||||
labels:
|
labels:
|
||||||
helm.sh/chart: ingress-nginx-3.36.0
|
helm.sh/chart: ingress-nginx-3.40.0
|
||||||
app.kubernetes.io/name: ingress-nginx
|
app.kubernetes.io/name: ingress-nginx
|
||||||
app.kubernetes.io/instance: ingress-nginx
|
app.kubernetes.io/instance: ingress-nginx
|
||||||
app.kubernetes.io/version: 0.49.0
|
app.kubernetes.io/version: 0.50.0
|
||||||
app.kubernetes.io/managed-by: Helm
|
app.kubernetes.io/managed-by: Helm
|
||||||
app.kubernetes.io/component: admission-webhook
|
app.kubernetes.io/component: admission-webhook
|
||||||
roleRef:
|
roleRef:
|
||||||
|
@ -582,10 +583,10 @@ metadata:
|
||||||
helm.sh/hook: pre-install,pre-upgrade
|
helm.sh/hook: pre-install,pre-upgrade
|
||||||
helm.sh/hook-delete-policy: before-hook-creation,hook-succeeded
|
helm.sh/hook-delete-policy: before-hook-creation,hook-succeeded
|
||||||
labels:
|
labels:
|
||||||
helm.sh/chart: ingress-nginx-3.36.0
|
helm.sh/chart: ingress-nginx-3.40.0
|
||||||
app.kubernetes.io/name: ingress-nginx
|
app.kubernetes.io/name: ingress-nginx
|
||||||
app.kubernetes.io/instance: ingress-nginx
|
app.kubernetes.io/instance: ingress-nginx
|
||||||
app.kubernetes.io/version: 0.49.0
|
app.kubernetes.io/version: 0.50.0
|
||||||
app.kubernetes.io/managed-by: Helm
|
app.kubernetes.io/managed-by: Helm
|
||||||
app.kubernetes.io/component: admission-webhook
|
app.kubernetes.io/component: admission-webhook
|
||||||
spec:
|
spec:
|
||||||
|
@ -593,10 +594,10 @@ spec:
|
||||||
metadata:
|
metadata:
|
||||||
name: ingress-nginx-admission-create
|
name: ingress-nginx-admission-create
|
||||||
labels:
|
labels:
|
||||||
helm.sh/chart: ingress-nginx-3.36.0
|
helm.sh/chart: ingress-nginx-3.40.0
|
||||||
app.kubernetes.io/name: ingress-nginx
|
app.kubernetes.io/name: ingress-nginx
|
||||||
app.kubernetes.io/instance: ingress-nginx
|
app.kubernetes.io/instance: ingress-nginx
|
||||||
app.kubernetes.io/version: 0.49.0
|
app.kubernetes.io/version: 0.50.0
|
||||||
app.kubernetes.io/managed-by: Helm
|
app.kubernetes.io/managed-by: Helm
|
||||||
app.kubernetes.io/component: admission-webhook
|
app.kubernetes.io/component: admission-webhook
|
||||||
spec:
|
spec:
|
||||||
|
@ -632,10 +633,10 @@ metadata:
|
||||||
helm.sh/hook: post-install,post-upgrade
|
helm.sh/hook: post-install,post-upgrade
|
||||||
helm.sh/hook-delete-policy: before-hook-creation,hook-succeeded
|
helm.sh/hook-delete-policy: before-hook-creation,hook-succeeded
|
||||||
labels:
|
labels:
|
||||||
helm.sh/chart: ingress-nginx-3.36.0
|
helm.sh/chart: ingress-nginx-3.40.0
|
||||||
app.kubernetes.io/name: ingress-nginx
|
app.kubernetes.io/name: ingress-nginx
|
||||||
app.kubernetes.io/instance: ingress-nginx
|
app.kubernetes.io/instance: ingress-nginx
|
||||||
app.kubernetes.io/version: 0.49.0
|
app.kubernetes.io/version: 0.50.0
|
||||||
app.kubernetes.io/managed-by: Helm
|
app.kubernetes.io/managed-by: Helm
|
||||||
app.kubernetes.io/component: admission-webhook
|
app.kubernetes.io/component: admission-webhook
|
||||||
spec:
|
spec:
|
||||||
|
@ -643,10 +644,10 @@ spec:
|
||||||
metadata:
|
metadata:
|
||||||
name: ingress-nginx-admission-patch
|
name: ingress-nginx-admission-patch
|
||||||
labels:
|
labels:
|
||||||
helm.sh/chart: ingress-nginx-3.36.0
|
helm.sh/chart: ingress-nginx-3.40.0
|
||||||
app.kubernetes.io/name: ingress-nginx
|
app.kubernetes.io/name: ingress-nginx
|
||||||
app.kubernetes.io/instance: ingress-nginx
|
app.kubernetes.io/instance: ingress-nginx
|
||||||
app.kubernetes.io/version: 0.49.0
|
app.kubernetes.io/version: 0.50.0
|
||||||
app.kubernetes.io/managed-by: Helm
|
app.kubernetes.io/managed-by: Helm
|
||||||
app.kubernetes.io/component: admission-webhook
|
app.kubernetes.io/component: admission-webhook
|
||||||
spec:
|
spec:
|
||||||
|
|
|
@ -13,10 +13,10 @@ apiVersion: v1
|
||||||
kind: ServiceAccount
|
kind: ServiceAccount
|
||||||
metadata:
|
metadata:
|
||||||
labels:
|
labels:
|
||||||
helm.sh/chart: ingress-nginx-3.36.0
|
helm.sh/chart: ingress-nginx-3.40.0
|
||||||
app.kubernetes.io/name: ingress-nginx
|
app.kubernetes.io/name: ingress-nginx
|
||||||
app.kubernetes.io/instance: ingress-nginx
|
app.kubernetes.io/instance: ingress-nginx
|
||||||
app.kubernetes.io/version: 0.49.0
|
app.kubernetes.io/version: 0.50.0
|
||||||
app.kubernetes.io/managed-by: Helm
|
app.kubernetes.io/managed-by: Helm
|
||||||
app.kubernetes.io/component: controller
|
app.kubernetes.io/component: controller
|
||||||
name: ingress-nginx
|
name: ingress-nginx
|
||||||
|
@ -28,25 +28,26 @@ apiVersion: v1
|
||||||
kind: ConfigMap
|
kind: ConfigMap
|
||||||
metadata:
|
metadata:
|
||||||
labels:
|
labels:
|
||||||
helm.sh/chart: ingress-nginx-3.36.0
|
helm.sh/chart: ingress-nginx-3.40.0
|
||||||
app.kubernetes.io/name: ingress-nginx
|
app.kubernetes.io/name: ingress-nginx
|
||||||
app.kubernetes.io/instance: ingress-nginx
|
app.kubernetes.io/instance: ingress-nginx
|
||||||
app.kubernetes.io/version: 0.49.0
|
app.kubernetes.io/version: 0.50.0
|
||||||
app.kubernetes.io/managed-by: Helm
|
app.kubernetes.io/managed-by: Helm
|
||||||
app.kubernetes.io/component: controller
|
app.kubernetes.io/component: controller
|
||||||
name: ingress-nginx-controller
|
name: ingress-nginx-controller
|
||||||
namespace: ingress-nginx
|
namespace: ingress-nginx
|
||||||
data:
|
data:
|
||||||
|
allow-snippet-annotations: 'true'
|
||||||
---
|
---
|
||||||
# Source: ingress-nginx/templates/clusterrole.yaml
|
# Source: ingress-nginx/templates/clusterrole.yaml
|
||||||
apiVersion: rbac.authorization.k8s.io/v1
|
apiVersion: rbac.authorization.k8s.io/v1
|
||||||
kind: ClusterRole
|
kind: ClusterRole
|
||||||
metadata:
|
metadata:
|
||||||
labels:
|
labels:
|
||||||
helm.sh/chart: ingress-nginx-3.36.0
|
helm.sh/chart: ingress-nginx-3.40.0
|
||||||
app.kubernetes.io/name: ingress-nginx
|
app.kubernetes.io/name: ingress-nginx
|
||||||
app.kubernetes.io/instance: ingress-nginx
|
app.kubernetes.io/instance: ingress-nginx
|
||||||
app.kubernetes.io/version: 0.49.0
|
app.kubernetes.io/version: 0.50.0
|
||||||
app.kubernetes.io/managed-by: Helm
|
app.kubernetes.io/managed-by: Helm
|
||||||
name: ingress-nginx
|
name: ingress-nginx
|
||||||
rules:
|
rules:
|
||||||
|
@ -112,10 +113,10 @@ apiVersion: rbac.authorization.k8s.io/v1
|
||||||
kind: ClusterRoleBinding
|
kind: ClusterRoleBinding
|
||||||
metadata:
|
metadata:
|
||||||
labels:
|
labels:
|
||||||
helm.sh/chart: ingress-nginx-3.36.0
|
helm.sh/chart: ingress-nginx-3.40.0
|
||||||
app.kubernetes.io/name: ingress-nginx
|
app.kubernetes.io/name: ingress-nginx
|
||||||
app.kubernetes.io/instance: ingress-nginx
|
app.kubernetes.io/instance: ingress-nginx
|
||||||
app.kubernetes.io/version: 0.49.0
|
app.kubernetes.io/version: 0.50.0
|
||||||
app.kubernetes.io/managed-by: Helm
|
app.kubernetes.io/managed-by: Helm
|
||||||
name: ingress-nginx
|
name: ingress-nginx
|
||||||
roleRef:
|
roleRef:
|
||||||
|
@ -132,10 +133,10 @@ apiVersion: rbac.authorization.k8s.io/v1
|
||||||
kind: Role
|
kind: Role
|
||||||
metadata:
|
metadata:
|
||||||
labels:
|
labels:
|
||||||
helm.sh/chart: ingress-nginx-3.36.0
|
helm.sh/chart: ingress-nginx-3.40.0
|
||||||
app.kubernetes.io/name: ingress-nginx
|
app.kubernetes.io/name: ingress-nginx
|
||||||
app.kubernetes.io/instance: ingress-nginx
|
app.kubernetes.io/instance: ingress-nginx
|
||||||
app.kubernetes.io/version: 0.49.0
|
app.kubernetes.io/version: 0.50.0
|
||||||
app.kubernetes.io/managed-by: Helm
|
app.kubernetes.io/managed-by: Helm
|
||||||
app.kubernetes.io/component: controller
|
app.kubernetes.io/component: controller
|
||||||
name: ingress-nginx
|
name: ingress-nginx
|
||||||
|
@ -218,10 +219,10 @@ apiVersion: rbac.authorization.k8s.io/v1
|
||||||
kind: RoleBinding
|
kind: RoleBinding
|
||||||
metadata:
|
metadata:
|
||||||
labels:
|
labels:
|
||||||
helm.sh/chart: ingress-nginx-3.36.0
|
helm.sh/chart: ingress-nginx-3.40.0
|
||||||
app.kubernetes.io/name: ingress-nginx
|
app.kubernetes.io/name: ingress-nginx
|
||||||
app.kubernetes.io/instance: ingress-nginx
|
app.kubernetes.io/instance: ingress-nginx
|
||||||
app.kubernetes.io/version: 0.49.0
|
app.kubernetes.io/version: 0.50.0
|
||||||
app.kubernetes.io/managed-by: Helm
|
app.kubernetes.io/managed-by: Helm
|
||||||
app.kubernetes.io/component: controller
|
app.kubernetes.io/component: controller
|
||||||
name: ingress-nginx
|
name: ingress-nginx
|
||||||
|
@ -240,10 +241,10 @@ apiVersion: v1
|
||||||
kind: Service
|
kind: Service
|
||||||
metadata:
|
metadata:
|
||||||
labels:
|
labels:
|
||||||
helm.sh/chart: ingress-nginx-3.36.0
|
helm.sh/chart: ingress-nginx-3.40.0
|
||||||
app.kubernetes.io/name: ingress-nginx
|
app.kubernetes.io/name: ingress-nginx
|
||||||
app.kubernetes.io/instance: ingress-nginx
|
app.kubernetes.io/instance: ingress-nginx
|
||||||
app.kubernetes.io/version: 0.49.0
|
app.kubernetes.io/version: 0.50.0
|
||||||
app.kubernetes.io/managed-by: Helm
|
app.kubernetes.io/managed-by: Helm
|
||||||
app.kubernetes.io/component: controller
|
app.kubernetes.io/component: controller
|
||||||
name: ingress-nginx-controller-admission
|
name: ingress-nginx-controller-admission
|
||||||
|
@ -268,10 +269,10 @@ metadata:
|
||||||
service.beta.kubernetes.io/aws-load-balancer-cross-zone-load-balancing-enabled: 'true'
|
service.beta.kubernetes.io/aws-load-balancer-cross-zone-load-balancing-enabled: 'true'
|
||||||
service.beta.kubernetes.io/aws-load-balancer-type: nlb
|
service.beta.kubernetes.io/aws-load-balancer-type: nlb
|
||||||
labels:
|
labels:
|
||||||
helm.sh/chart: ingress-nginx-3.36.0
|
helm.sh/chart: ingress-nginx-3.40.0
|
||||||
app.kubernetes.io/name: ingress-nginx
|
app.kubernetes.io/name: ingress-nginx
|
||||||
app.kubernetes.io/instance: ingress-nginx
|
app.kubernetes.io/instance: ingress-nginx
|
||||||
app.kubernetes.io/version: 0.49.0
|
app.kubernetes.io/version: 0.50.0
|
||||||
app.kubernetes.io/managed-by: Helm
|
app.kubernetes.io/managed-by: Helm
|
||||||
app.kubernetes.io/component: controller
|
app.kubernetes.io/component: controller
|
||||||
name: ingress-nginx-controller
|
name: ingress-nginx-controller
|
||||||
|
@ -298,10 +299,10 @@ apiVersion: apps/v1
|
||||||
kind: Deployment
|
kind: Deployment
|
||||||
metadata:
|
metadata:
|
||||||
labels:
|
labels:
|
||||||
helm.sh/chart: ingress-nginx-3.36.0
|
helm.sh/chart: ingress-nginx-3.40.0
|
||||||
app.kubernetes.io/name: ingress-nginx
|
app.kubernetes.io/name: ingress-nginx
|
||||||
app.kubernetes.io/instance: ingress-nginx
|
app.kubernetes.io/instance: ingress-nginx
|
||||||
app.kubernetes.io/version: 0.49.0
|
app.kubernetes.io/version: 0.50.0
|
||||||
app.kubernetes.io/managed-by: Helm
|
app.kubernetes.io/managed-by: Helm
|
||||||
app.kubernetes.io/component: controller
|
app.kubernetes.io/component: controller
|
||||||
name: ingress-nginx-controller
|
name: ingress-nginx-controller
|
||||||
|
@ -324,7 +325,7 @@ spec:
|
||||||
dnsPolicy: ClusterFirst
|
dnsPolicy: ClusterFirst
|
||||||
containers:
|
containers:
|
||||||
- name: controller
|
- name: controller
|
||||||
image: k8s.gcr.io/ingress-nginx/controller:v0.49.0@sha256:e9707504ad0d4c119036b6d41ace4a33596139d3feb9ccb6617813ce48c3eeef
|
image: k8s.gcr.io/ingress-nginx/controller:v0.50.0@sha256:f46fc2d161c97a9d950635acb86fb3f8d4adcfb03ee241ea89c6cde16aa3fdf8
|
||||||
imagePullPolicy: IfNotPresent
|
imagePullPolicy: IfNotPresent
|
||||||
lifecycle:
|
lifecycle:
|
||||||
preStop:
|
preStop:
|
||||||
|
@ -413,10 +414,10 @@ apiVersion: admissionregistration.k8s.io/v1
|
||||||
kind: ValidatingWebhookConfiguration
|
kind: ValidatingWebhookConfiguration
|
||||||
metadata:
|
metadata:
|
||||||
labels:
|
labels:
|
||||||
helm.sh/chart: ingress-nginx-3.36.0
|
helm.sh/chart: ingress-nginx-3.40.0
|
||||||
app.kubernetes.io/name: ingress-nginx
|
app.kubernetes.io/name: ingress-nginx
|
||||||
app.kubernetes.io/instance: ingress-nginx
|
app.kubernetes.io/instance: ingress-nginx
|
||||||
app.kubernetes.io/version: 0.49.0
|
app.kubernetes.io/version: 0.50.0
|
||||||
app.kubernetes.io/managed-by: Helm
|
app.kubernetes.io/managed-by: Helm
|
||||||
app.kubernetes.io/component: admission-webhook
|
app.kubernetes.io/component: admission-webhook
|
||||||
name: ingress-nginx-admission
|
name: ingress-nginx-admission
|
||||||
|
@ -454,10 +455,10 @@ metadata:
|
||||||
helm.sh/hook: pre-install,pre-upgrade,post-install,post-upgrade
|
helm.sh/hook: pre-install,pre-upgrade,post-install,post-upgrade
|
||||||
helm.sh/hook-delete-policy: before-hook-creation,hook-succeeded
|
helm.sh/hook-delete-policy: before-hook-creation,hook-succeeded
|
||||||
labels:
|
labels:
|
||||||
helm.sh/chart: ingress-nginx-3.36.0
|
helm.sh/chart: ingress-nginx-3.40.0
|
||||||
app.kubernetes.io/name: ingress-nginx
|
app.kubernetes.io/name: ingress-nginx
|
||||||
app.kubernetes.io/instance: ingress-nginx
|
app.kubernetes.io/instance: ingress-nginx
|
||||||
app.kubernetes.io/version: 0.49.0
|
app.kubernetes.io/version: 0.50.0
|
||||||
app.kubernetes.io/managed-by: Helm
|
app.kubernetes.io/managed-by: Helm
|
||||||
app.kubernetes.io/component: admission-webhook
|
app.kubernetes.io/component: admission-webhook
|
||||||
---
|
---
|
||||||
|
@ -470,10 +471,10 @@ metadata:
|
||||||
helm.sh/hook: pre-install,pre-upgrade,post-install,post-upgrade
|
helm.sh/hook: pre-install,pre-upgrade,post-install,post-upgrade
|
||||||
helm.sh/hook-delete-policy: before-hook-creation,hook-succeeded
|
helm.sh/hook-delete-policy: before-hook-creation,hook-succeeded
|
||||||
labels:
|
labels:
|
||||||
helm.sh/chart: ingress-nginx-3.36.0
|
helm.sh/chart: ingress-nginx-3.40.0
|
||||||
app.kubernetes.io/name: ingress-nginx
|
app.kubernetes.io/name: ingress-nginx
|
||||||
app.kubernetes.io/instance: ingress-nginx
|
app.kubernetes.io/instance: ingress-nginx
|
||||||
app.kubernetes.io/version: 0.49.0
|
app.kubernetes.io/version: 0.50.0
|
||||||
app.kubernetes.io/managed-by: Helm
|
app.kubernetes.io/managed-by: Helm
|
||||||
app.kubernetes.io/component: admission-webhook
|
app.kubernetes.io/component: admission-webhook
|
||||||
rules:
|
rules:
|
||||||
|
@ -494,10 +495,10 @@ metadata:
|
||||||
helm.sh/hook: pre-install,pre-upgrade,post-install,post-upgrade
|
helm.sh/hook: pre-install,pre-upgrade,post-install,post-upgrade
|
||||||
helm.sh/hook-delete-policy: before-hook-creation,hook-succeeded
|
helm.sh/hook-delete-policy: before-hook-creation,hook-succeeded
|
||||||
labels:
|
labels:
|
||||||
helm.sh/chart: ingress-nginx-3.36.0
|
helm.sh/chart: ingress-nginx-3.40.0
|
||||||
app.kubernetes.io/name: ingress-nginx
|
app.kubernetes.io/name: ingress-nginx
|
||||||
app.kubernetes.io/instance: ingress-nginx
|
app.kubernetes.io/instance: ingress-nginx
|
||||||
app.kubernetes.io/version: 0.49.0
|
app.kubernetes.io/version: 0.50.0
|
||||||
app.kubernetes.io/managed-by: Helm
|
app.kubernetes.io/managed-by: Helm
|
||||||
app.kubernetes.io/component: admission-webhook
|
app.kubernetes.io/component: admission-webhook
|
||||||
roleRef:
|
roleRef:
|
||||||
|
@ -519,10 +520,10 @@ metadata:
|
||||||
helm.sh/hook: pre-install,pre-upgrade,post-install,post-upgrade
|
helm.sh/hook: pre-install,pre-upgrade,post-install,post-upgrade
|
||||||
helm.sh/hook-delete-policy: before-hook-creation,hook-succeeded
|
helm.sh/hook-delete-policy: before-hook-creation,hook-succeeded
|
||||||
labels:
|
labels:
|
||||||
helm.sh/chart: ingress-nginx-3.36.0
|
helm.sh/chart: ingress-nginx-3.40.0
|
||||||
app.kubernetes.io/name: ingress-nginx
|
app.kubernetes.io/name: ingress-nginx
|
||||||
app.kubernetes.io/instance: ingress-nginx
|
app.kubernetes.io/instance: ingress-nginx
|
||||||
app.kubernetes.io/version: 0.49.0
|
app.kubernetes.io/version: 0.50.0
|
||||||
app.kubernetes.io/managed-by: Helm
|
app.kubernetes.io/managed-by: Helm
|
||||||
app.kubernetes.io/component: admission-webhook
|
app.kubernetes.io/component: admission-webhook
|
||||||
rules:
|
rules:
|
||||||
|
@ -544,10 +545,10 @@ metadata:
|
||||||
helm.sh/hook: pre-install,pre-upgrade,post-install,post-upgrade
|
helm.sh/hook: pre-install,pre-upgrade,post-install,post-upgrade
|
||||||
helm.sh/hook-delete-policy: before-hook-creation,hook-succeeded
|
helm.sh/hook-delete-policy: before-hook-creation,hook-succeeded
|
||||||
labels:
|
labels:
|
||||||
helm.sh/chart: ingress-nginx-3.36.0
|
helm.sh/chart: ingress-nginx-3.40.0
|
||||||
app.kubernetes.io/name: ingress-nginx
|
app.kubernetes.io/name: ingress-nginx
|
||||||
app.kubernetes.io/instance: ingress-nginx
|
app.kubernetes.io/instance: ingress-nginx
|
||||||
app.kubernetes.io/version: 0.49.0
|
app.kubernetes.io/version: 0.50.0
|
||||||
app.kubernetes.io/managed-by: Helm
|
app.kubernetes.io/managed-by: Helm
|
||||||
app.kubernetes.io/component: admission-webhook
|
app.kubernetes.io/component: admission-webhook
|
||||||
roleRef:
|
roleRef:
|
||||||
|
@ -569,10 +570,10 @@ metadata:
|
||||||
helm.sh/hook: pre-install,pre-upgrade
|
helm.sh/hook: pre-install,pre-upgrade
|
||||||
helm.sh/hook-delete-policy: before-hook-creation,hook-succeeded
|
helm.sh/hook-delete-policy: before-hook-creation,hook-succeeded
|
||||||
labels:
|
labels:
|
||||||
helm.sh/chart: ingress-nginx-3.36.0
|
helm.sh/chart: ingress-nginx-3.40.0
|
||||||
app.kubernetes.io/name: ingress-nginx
|
app.kubernetes.io/name: ingress-nginx
|
||||||
app.kubernetes.io/instance: ingress-nginx
|
app.kubernetes.io/instance: ingress-nginx
|
||||||
app.kubernetes.io/version: 0.49.0
|
app.kubernetes.io/version: 0.50.0
|
||||||
app.kubernetes.io/managed-by: Helm
|
app.kubernetes.io/managed-by: Helm
|
||||||
app.kubernetes.io/component: admission-webhook
|
app.kubernetes.io/component: admission-webhook
|
||||||
spec:
|
spec:
|
||||||
|
@ -580,10 +581,10 @@ spec:
|
||||||
metadata:
|
metadata:
|
||||||
name: ingress-nginx-admission-create
|
name: ingress-nginx-admission-create
|
||||||
labels:
|
labels:
|
||||||
helm.sh/chart: ingress-nginx-3.36.0
|
helm.sh/chart: ingress-nginx-3.40.0
|
||||||
app.kubernetes.io/name: ingress-nginx
|
app.kubernetes.io/name: ingress-nginx
|
||||||
app.kubernetes.io/instance: ingress-nginx
|
app.kubernetes.io/instance: ingress-nginx
|
||||||
app.kubernetes.io/version: 0.49.0
|
app.kubernetes.io/version: 0.50.0
|
||||||
app.kubernetes.io/managed-by: Helm
|
app.kubernetes.io/managed-by: Helm
|
||||||
app.kubernetes.io/component: admission-webhook
|
app.kubernetes.io/component: admission-webhook
|
||||||
spec:
|
spec:
|
||||||
|
@ -619,10 +620,10 @@ metadata:
|
||||||
helm.sh/hook: post-install,post-upgrade
|
helm.sh/hook: post-install,post-upgrade
|
||||||
helm.sh/hook-delete-policy: before-hook-creation,hook-succeeded
|
helm.sh/hook-delete-policy: before-hook-creation,hook-succeeded
|
||||||
labels:
|
labels:
|
||||||
helm.sh/chart: ingress-nginx-3.36.0
|
helm.sh/chart: ingress-nginx-3.40.0
|
||||||
app.kubernetes.io/name: ingress-nginx
|
app.kubernetes.io/name: ingress-nginx
|
||||||
app.kubernetes.io/instance: ingress-nginx
|
app.kubernetes.io/instance: ingress-nginx
|
||||||
app.kubernetes.io/version: 0.49.0
|
app.kubernetes.io/version: 0.50.0
|
||||||
app.kubernetes.io/managed-by: Helm
|
app.kubernetes.io/managed-by: Helm
|
||||||
app.kubernetes.io/component: admission-webhook
|
app.kubernetes.io/component: admission-webhook
|
||||||
spec:
|
spec:
|
||||||
|
@ -630,10 +631,10 @@ spec:
|
||||||
metadata:
|
metadata:
|
||||||
name: ingress-nginx-admission-patch
|
name: ingress-nginx-admission-patch
|
||||||
labels:
|
labels:
|
||||||
helm.sh/chart: ingress-nginx-3.36.0
|
helm.sh/chart: ingress-nginx-3.40.0
|
||||||
app.kubernetes.io/name: ingress-nginx
|
app.kubernetes.io/name: ingress-nginx
|
||||||
app.kubernetes.io/instance: ingress-nginx
|
app.kubernetes.io/instance: ingress-nginx
|
||||||
app.kubernetes.io/version: 0.49.0
|
app.kubernetes.io/version: 0.50.0
|
||||||
app.kubernetes.io/managed-by: Helm
|
app.kubernetes.io/managed-by: Helm
|
||||||
app.kubernetes.io/component: admission-webhook
|
app.kubernetes.io/component: admission-webhook
|
||||||
spec:
|
spec:
|
||||||
|
|
|
@ -13,10 +13,10 @@ apiVersion: v1
|
||||||
kind: ServiceAccount
|
kind: ServiceAccount
|
||||||
metadata:
|
metadata:
|
||||||
labels:
|
labels:
|
||||||
helm.sh/chart: ingress-nginx-3.36.0
|
helm.sh/chart: ingress-nginx-3.40.0
|
||||||
app.kubernetes.io/name: ingress-nginx
|
app.kubernetes.io/name: ingress-nginx
|
||||||
app.kubernetes.io/instance: ingress-nginx
|
app.kubernetes.io/instance: ingress-nginx
|
||||||
app.kubernetes.io/version: 0.49.0
|
app.kubernetes.io/version: 0.50.0
|
||||||
app.kubernetes.io/managed-by: Helm
|
app.kubernetes.io/managed-by: Helm
|
||||||
app.kubernetes.io/component: controller
|
app.kubernetes.io/component: controller
|
||||||
name: ingress-nginx
|
name: ingress-nginx
|
||||||
|
@ -28,25 +28,26 @@ apiVersion: v1
|
||||||
kind: ConfigMap
|
kind: ConfigMap
|
||||||
metadata:
|
metadata:
|
||||||
labels:
|
labels:
|
||||||
helm.sh/chart: ingress-nginx-3.36.0
|
helm.sh/chart: ingress-nginx-3.40.0
|
||||||
app.kubernetes.io/name: ingress-nginx
|
app.kubernetes.io/name: ingress-nginx
|
||||||
app.kubernetes.io/instance: ingress-nginx
|
app.kubernetes.io/instance: ingress-nginx
|
||||||
app.kubernetes.io/version: 0.49.0
|
app.kubernetes.io/version: 0.50.0
|
||||||
app.kubernetes.io/managed-by: Helm
|
app.kubernetes.io/managed-by: Helm
|
||||||
app.kubernetes.io/component: controller
|
app.kubernetes.io/component: controller
|
||||||
name: ingress-nginx-controller
|
name: ingress-nginx-controller
|
||||||
namespace: ingress-nginx
|
namespace: ingress-nginx
|
||||||
data:
|
data:
|
||||||
|
allow-snippet-annotations: 'true'
|
||||||
---
|
---
|
||||||
# Source: ingress-nginx/templates/clusterrole.yaml
|
# Source: ingress-nginx/templates/clusterrole.yaml
|
||||||
apiVersion: rbac.authorization.k8s.io/v1
|
apiVersion: rbac.authorization.k8s.io/v1
|
||||||
kind: ClusterRole
|
kind: ClusterRole
|
||||||
metadata:
|
metadata:
|
||||||
labels:
|
labels:
|
||||||
helm.sh/chart: ingress-nginx-3.36.0
|
helm.sh/chart: ingress-nginx-3.40.0
|
||||||
app.kubernetes.io/name: ingress-nginx
|
app.kubernetes.io/name: ingress-nginx
|
||||||
app.kubernetes.io/instance: ingress-nginx
|
app.kubernetes.io/instance: ingress-nginx
|
||||||
app.kubernetes.io/version: 0.49.0
|
app.kubernetes.io/version: 0.50.0
|
||||||
app.kubernetes.io/managed-by: Helm
|
app.kubernetes.io/managed-by: Helm
|
||||||
name: ingress-nginx
|
name: ingress-nginx
|
||||||
rules:
|
rules:
|
||||||
|
@ -112,10 +113,10 @@ apiVersion: rbac.authorization.k8s.io/v1
|
||||||
kind: ClusterRoleBinding
|
kind: ClusterRoleBinding
|
||||||
metadata:
|
metadata:
|
||||||
labels:
|
labels:
|
||||||
helm.sh/chart: ingress-nginx-3.36.0
|
helm.sh/chart: ingress-nginx-3.40.0
|
||||||
app.kubernetes.io/name: ingress-nginx
|
app.kubernetes.io/name: ingress-nginx
|
||||||
app.kubernetes.io/instance: ingress-nginx
|
app.kubernetes.io/instance: ingress-nginx
|
||||||
app.kubernetes.io/version: 0.49.0
|
app.kubernetes.io/version: 0.50.0
|
||||||
app.kubernetes.io/managed-by: Helm
|
app.kubernetes.io/managed-by: Helm
|
||||||
name: ingress-nginx
|
name: ingress-nginx
|
||||||
roleRef:
|
roleRef:
|
||||||
|
@ -132,10 +133,10 @@ apiVersion: rbac.authorization.k8s.io/v1
|
||||||
kind: Role
|
kind: Role
|
||||||
metadata:
|
metadata:
|
||||||
labels:
|
labels:
|
||||||
helm.sh/chart: ingress-nginx-3.36.0
|
helm.sh/chart: ingress-nginx-3.40.0
|
||||||
app.kubernetes.io/name: ingress-nginx
|
app.kubernetes.io/name: ingress-nginx
|
||||||
app.kubernetes.io/instance: ingress-nginx
|
app.kubernetes.io/instance: ingress-nginx
|
||||||
app.kubernetes.io/version: 0.49.0
|
app.kubernetes.io/version: 0.50.0
|
||||||
app.kubernetes.io/managed-by: Helm
|
app.kubernetes.io/managed-by: Helm
|
||||||
app.kubernetes.io/component: controller
|
app.kubernetes.io/component: controller
|
||||||
name: ingress-nginx
|
name: ingress-nginx
|
||||||
|
@ -218,10 +219,10 @@ apiVersion: rbac.authorization.k8s.io/v1
|
||||||
kind: RoleBinding
|
kind: RoleBinding
|
||||||
metadata:
|
metadata:
|
||||||
labels:
|
labels:
|
||||||
helm.sh/chart: ingress-nginx-3.36.0
|
helm.sh/chart: ingress-nginx-3.40.0
|
||||||
app.kubernetes.io/name: ingress-nginx
|
app.kubernetes.io/name: ingress-nginx
|
||||||
app.kubernetes.io/instance: ingress-nginx
|
app.kubernetes.io/instance: ingress-nginx
|
||||||
app.kubernetes.io/version: 0.49.0
|
app.kubernetes.io/version: 0.50.0
|
||||||
app.kubernetes.io/managed-by: Helm
|
app.kubernetes.io/managed-by: Helm
|
||||||
app.kubernetes.io/component: controller
|
app.kubernetes.io/component: controller
|
||||||
name: ingress-nginx
|
name: ingress-nginx
|
||||||
|
@ -240,10 +241,10 @@ apiVersion: v1
|
||||||
kind: Service
|
kind: Service
|
||||||
metadata:
|
metadata:
|
||||||
labels:
|
labels:
|
||||||
helm.sh/chart: ingress-nginx-3.36.0
|
helm.sh/chart: ingress-nginx-3.40.0
|
||||||
app.kubernetes.io/name: ingress-nginx
|
app.kubernetes.io/name: ingress-nginx
|
||||||
app.kubernetes.io/instance: ingress-nginx
|
app.kubernetes.io/instance: ingress-nginx
|
||||||
app.kubernetes.io/version: 0.49.0
|
app.kubernetes.io/version: 0.50.0
|
||||||
app.kubernetes.io/managed-by: Helm
|
app.kubernetes.io/managed-by: Helm
|
||||||
app.kubernetes.io/component: controller
|
app.kubernetes.io/component: controller
|
||||||
name: ingress-nginx-controller-admission
|
name: ingress-nginx-controller-admission
|
||||||
|
@ -265,10 +266,10 @@ kind: Service
|
||||||
metadata:
|
metadata:
|
||||||
annotations:
|
annotations:
|
||||||
labels:
|
labels:
|
||||||
helm.sh/chart: ingress-nginx-3.36.0
|
helm.sh/chart: ingress-nginx-3.40.0
|
||||||
app.kubernetes.io/name: ingress-nginx
|
app.kubernetes.io/name: ingress-nginx
|
||||||
app.kubernetes.io/instance: ingress-nginx
|
app.kubernetes.io/instance: ingress-nginx
|
||||||
app.kubernetes.io/version: 0.49.0
|
app.kubernetes.io/version: 0.50.0
|
||||||
app.kubernetes.io/managed-by: Helm
|
app.kubernetes.io/managed-by: Helm
|
||||||
app.kubernetes.io/component: controller
|
app.kubernetes.io/component: controller
|
||||||
name: ingress-nginx-controller
|
name: ingress-nginx-controller
|
||||||
|
@ -294,10 +295,10 @@ apiVersion: apps/v1
|
||||||
kind: Deployment
|
kind: Deployment
|
||||||
metadata:
|
metadata:
|
||||||
labels:
|
labels:
|
||||||
helm.sh/chart: ingress-nginx-3.36.0
|
helm.sh/chart: ingress-nginx-3.40.0
|
||||||
app.kubernetes.io/name: ingress-nginx
|
app.kubernetes.io/name: ingress-nginx
|
||||||
app.kubernetes.io/instance: ingress-nginx
|
app.kubernetes.io/instance: ingress-nginx
|
||||||
app.kubernetes.io/version: 0.49.0
|
app.kubernetes.io/version: 0.50.0
|
||||||
app.kubernetes.io/managed-by: Helm
|
app.kubernetes.io/managed-by: Helm
|
||||||
app.kubernetes.io/component: controller
|
app.kubernetes.io/component: controller
|
||||||
name: ingress-nginx-controller
|
name: ingress-nginx-controller
|
||||||
|
@ -320,7 +321,7 @@ spec:
|
||||||
dnsPolicy: ClusterFirst
|
dnsPolicy: ClusterFirst
|
||||||
containers:
|
containers:
|
||||||
- name: controller
|
- name: controller
|
||||||
image: k8s.gcr.io/ingress-nginx/controller:v0.49.0@sha256:e9707504ad0d4c119036b6d41ace4a33596139d3feb9ccb6617813ce48c3eeef
|
image: k8s.gcr.io/ingress-nginx/controller:v0.50.0@sha256:f46fc2d161c97a9d950635acb86fb3f8d4adcfb03ee241ea89c6cde16aa3fdf8
|
||||||
imagePullPolicy: IfNotPresent
|
imagePullPolicy: IfNotPresent
|
||||||
lifecycle:
|
lifecycle:
|
||||||
preStop:
|
preStop:
|
||||||
|
@ -408,10 +409,10 @@ apiVersion: admissionregistration.k8s.io/v1
|
||||||
kind: ValidatingWebhookConfiguration
|
kind: ValidatingWebhookConfiguration
|
||||||
metadata:
|
metadata:
|
||||||
labels:
|
labels:
|
||||||
helm.sh/chart: ingress-nginx-3.36.0
|
helm.sh/chart: ingress-nginx-3.40.0
|
||||||
app.kubernetes.io/name: ingress-nginx
|
app.kubernetes.io/name: ingress-nginx
|
||||||
app.kubernetes.io/instance: ingress-nginx
|
app.kubernetes.io/instance: ingress-nginx
|
||||||
app.kubernetes.io/version: 0.49.0
|
app.kubernetes.io/version: 0.50.0
|
||||||
app.kubernetes.io/managed-by: Helm
|
app.kubernetes.io/managed-by: Helm
|
||||||
app.kubernetes.io/component: admission-webhook
|
app.kubernetes.io/component: admission-webhook
|
||||||
name: ingress-nginx-admission
|
name: ingress-nginx-admission
|
||||||
|
@ -449,10 +450,10 @@ metadata:
|
||||||
helm.sh/hook: pre-install,pre-upgrade,post-install,post-upgrade
|
helm.sh/hook: pre-install,pre-upgrade,post-install,post-upgrade
|
||||||
helm.sh/hook-delete-policy: before-hook-creation,hook-succeeded
|
helm.sh/hook-delete-policy: before-hook-creation,hook-succeeded
|
||||||
labels:
|
labels:
|
||||||
helm.sh/chart: ingress-nginx-3.36.0
|
helm.sh/chart: ingress-nginx-3.40.0
|
||||||
app.kubernetes.io/name: ingress-nginx
|
app.kubernetes.io/name: ingress-nginx
|
||||||
app.kubernetes.io/instance: ingress-nginx
|
app.kubernetes.io/instance: ingress-nginx
|
||||||
app.kubernetes.io/version: 0.49.0
|
app.kubernetes.io/version: 0.50.0
|
||||||
app.kubernetes.io/managed-by: Helm
|
app.kubernetes.io/managed-by: Helm
|
||||||
app.kubernetes.io/component: admission-webhook
|
app.kubernetes.io/component: admission-webhook
|
||||||
---
|
---
|
||||||
|
@ -465,10 +466,10 @@ metadata:
|
||||||
helm.sh/hook: pre-install,pre-upgrade,post-install,post-upgrade
|
helm.sh/hook: pre-install,pre-upgrade,post-install,post-upgrade
|
||||||
helm.sh/hook-delete-policy: before-hook-creation,hook-succeeded
|
helm.sh/hook-delete-policy: before-hook-creation,hook-succeeded
|
||||||
labels:
|
labels:
|
||||||
helm.sh/chart: ingress-nginx-3.36.0
|
helm.sh/chart: ingress-nginx-3.40.0
|
||||||
app.kubernetes.io/name: ingress-nginx
|
app.kubernetes.io/name: ingress-nginx
|
||||||
app.kubernetes.io/instance: ingress-nginx
|
app.kubernetes.io/instance: ingress-nginx
|
||||||
app.kubernetes.io/version: 0.49.0
|
app.kubernetes.io/version: 0.50.0
|
||||||
app.kubernetes.io/managed-by: Helm
|
app.kubernetes.io/managed-by: Helm
|
||||||
app.kubernetes.io/component: admission-webhook
|
app.kubernetes.io/component: admission-webhook
|
||||||
rules:
|
rules:
|
||||||
|
@ -489,10 +490,10 @@ metadata:
|
||||||
helm.sh/hook: pre-install,pre-upgrade,post-install,post-upgrade
|
helm.sh/hook: pre-install,pre-upgrade,post-install,post-upgrade
|
||||||
helm.sh/hook-delete-policy: before-hook-creation,hook-succeeded
|
helm.sh/hook-delete-policy: before-hook-creation,hook-succeeded
|
||||||
labels:
|
labels:
|
||||||
helm.sh/chart: ingress-nginx-3.36.0
|
helm.sh/chart: ingress-nginx-3.40.0
|
||||||
app.kubernetes.io/name: ingress-nginx
|
app.kubernetes.io/name: ingress-nginx
|
||||||
app.kubernetes.io/instance: ingress-nginx
|
app.kubernetes.io/instance: ingress-nginx
|
||||||
app.kubernetes.io/version: 0.49.0
|
app.kubernetes.io/version: 0.50.0
|
||||||
app.kubernetes.io/managed-by: Helm
|
app.kubernetes.io/managed-by: Helm
|
||||||
app.kubernetes.io/component: admission-webhook
|
app.kubernetes.io/component: admission-webhook
|
||||||
roleRef:
|
roleRef:
|
||||||
|
@ -514,10 +515,10 @@ metadata:
|
||||||
helm.sh/hook: pre-install,pre-upgrade,post-install,post-upgrade
|
helm.sh/hook: pre-install,pre-upgrade,post-install,post-upgrade
|
||||||
helm.sh/hook-delete-policy: before-hook-creation,hook-succeeded
|
helm.sh/hook-delete-policy: before-hook-creation,hook-succeeded
|
||||||
labels:
|
labels:
|
||||||
helm.sh/chart: ingress-nginx-3.36.0
|
helm.sh/chart: ingress-nginx-3.40.0
|
||||||
app.kubernetes.io/name: ingress-nginx
|
app.kubernetes.io/name: ingress-nginx
|
||||||
app.kubernetes.io/instance: ingress-nginx
|
app.kubernetes.io/instance: ingress-nginx
|
||||||
app.kubernetes.io/version: 0.49.0
|
app.kubernetes.io/version: 0.50.0
|
||||||
app.kubernetes.io/managed-by: Helm
|
app.kubernetes.io/managed-by: Helm
|
||||||
app.kubernetes.io/component: admission-webhook
|
app.kubernetes.io/component: admission-webhook
|
||||||
rules:
|
rules:
|
||||||
|
@ -539,10 +540,10 @@ metadata:
|
||||||
helm.sh/hook: pre-install,pre-upgrade,post-install,post-upgrade
|
helm.sh/hook: pre-install,pre-upgrade,post-install,post-upgrade
|
||||||
helm.sh/hook-delete-policy: before-hook-creation,hook-succeeded
|
helm.sh/hook-delete-policy: before-hook-creation,hook-succeeded
|
||||||
labels:
|
labels:
|
||||||
helm.sh/chart: ingress-nginx-3.36.0
|
helm.sh/chart: ingress-nginx-3.40.0
|
||||||
app.kubernetes.io/name: ingress-nginx
|
app.kubernetes.io/name: ingress-nginx
|
||||||
app.kubernetes.io/instance: ingress-nginx
|
app.kubernetes.io/instance: ingress-nginx
|
||||||
app.kubernetes.io/version: 0.49.0
|
app.kubernetes.io/version: 0.50.0
|
||||||
app.kubernetes.io/managed-by: Helm
|
app.kubernetes.io/managed-by: Helm
|
||||||
app.kubernetes.io/component: admission-webhook
|
app.kubernetes.io/component: admission-webhook
|
||||||
roleRef:
|
roleRef:
|
||||||
|
@ -564,10 +565,10 @@ metadata:
|
||||||
helm.sh/hook: pre-install,pre-upgrade
|
helm.sh/hook: pre-install,pre-upgrade
|
||||||
helm.sh/hook-delete-policy: before-hook-creation,hook-succeeded
|
helm.sh/hook-delete-policy: before-hook-creation,hook-succeeded
|
||||||
labels:
|
labels:
|
||||||
helm.sh/chart: ingress-nginx-3.36.0
|
helm.sh/chart: ingress-nginx-3.40.0
|
||||||
app.kubernetes.io/name: ingress-nginx
|
app.kubernetes.io/name: ingress-nginx
|
||||||
app.kubernetes.io/instance: ingress-nginx
|
app.kubernetes.io/instance: ingress-nginx
|
||||||
app.kubernetes.io/version: 0.49.0
|
app.kubernetes.io/version: 0.50.0
|
||||||
app.kubernetes.io/managed-by: Helm
|
app.kubernetes.io/managed-by: Helm
|
||||||
app.kubernetes.io/component: admission-webhook
|
app.kubernetes.io/component: admission-webhook
|
||||||
spec:
|
spec:
|
||||||
|
@ -575,10 +576,10 @@ spec:
|
||||||
metadata:
|
metadata:
|
||||||
name: ingress-nginx-admission-create
|
name: ingress-nginx-admission-create
|
||||||
labels:
|
labels:
|
||||||
helm.sh/chart: ingress-nginx-3.36.0
|
helm.sh/chart: ingress-nginx-3.40.0
|
||||||
app.kubernetes.io/name: ingress-nginx
|
app.kubernetes.io/name: ingress-nginx
|
||||||
app.kubernetes.io/instance: ingress-nginx
|
app.kubernetes.io/instance: ingress-nginx
|
||||||
app.kubernetes.io/version: 0.49.0
|
app.kubernetes.io/version: 0.50.0
|
||||||
app.kubernetes.io/managed-by: Helm
|
app.kubernetes.io/managed-by: Helm
|
||||||
app.kubernetes.io/component: admission-webhook
|
app.kubernetes.io/component: admission-webhook
|
||||||
spec:
|
spec:
|
||||||
|
@ -614,10 +615,10 @@ metadata:
|
||||||
helm.sh/hook: post-install,post-upgrade
|
helm.sh/hook: post-install,post-upgrade
|
||||||
helm.sh/hook-delete-policy: before-hook-creation,hook-succeeded
|
helm.sh/hook-delete-policy: before-hook-creation,hook-succeeded
|
||||||
labels:
|
labels:
|
||||||
helm.sh/chart: ingress-nginx-3.36.0
|
helm.sh/chart: ingress-nginx-3.40.0
|
||||||
app.kubernetes.io/name: ingress-nginx
|
app.kubernetes.io/name: ingress-nginx
|
||||||
app.kubernetes.io/instance: ingress-nginx
|
app.kubernetes.io/instance: ingress-nginx
|
||||||
app.kubernetes.io/version: 0.49.0
|
app.kubernetes.io/version: 0.50.0
|
||||||
app.kubernetes.io/managed-by: Helm
|
app.kubernetes.io/managed-by: Helm
|
||||||
app.kubernetes.io/component: admission-webhook
|
app.kubernetes.io/component: admission-webhook
|
||||||
spec:
|
spec:
|
||||||
|
@ -625,10 +626,10 @@ spec:
|
||||||
metadata:
|
metadata:
|
||||||
name: ingress-nginx-admission-patch
|
name: ingress-nginx-admission-patch
|
||||||
labels:
|
labels:
|
||||||
helm.sh/chart: ingress-nginx-3.36.0
|
helm.sh/chart: ingress-nginx-3.40.0
|
||||||
app.kubernetes.io/name: ingress-nginx
|
app.kubernetes.io/name: ingress-nginx
|
||||||
app.kubernetes.io/instance: ingress-nginx
|
app.kubernetes.io/instance: ingress-nginx
|
||||||
app.kubernetes.io/version: 0.49.0
|
app.kubernetes.io/version: 0.50.0
|
||||||
app.kubernetes.io/managed-by: Helm
|
app.kubernetes.io/managed-by: Helm
|
||||||
app.kubernetes.io/component: admission-webhook
|
app.kubernetes.io/component: admission-webhook
|
||||||
spec:
|
spec:
|
||||||
|
|
|
@ -13,10 +13,10 @@ apiVersion: v1
|
||||||
kind: ServiceAccount
|
kind: ServiceAccount
|
||||||
metadata:
|
metadata:
|
||||||
labels:
|
labels:
|
||||||
helm.sh/chart: ingress-nginx-3.36.0
|
helm.sh/chart: ingress-nginx-3.40.0
|
||||||
app.kubernetes.io/name: ingress-nginx
|
app.kubernetes.io/name: ingress-nginx
|
||||||
app.kubernetes.io/instance: ingress-nginx
|
app.kubernetes.io/instance: ingress-nginx
|
||||||
app.kubernetes.io/version: 0.49.0
|
app.kubernetes.io/version: 0.50.0
|
||||||
app.kubernetes.io/managed-by: Helm
|
app.kubernetes.io/managed-by: Helm
|
||||||
app.kubernetes.io/component: controller
|
app.kubernetes.io/component: controller
|
||||||
name: ingress-nginx
|
name: ingress-nginx
|
||||||
|
@ -28,25 +28,26 @@ apiVersion: v1
|
||||||
kind: ConfigMap
|
kind: ConfigMap
|
||||||
metadata:
|
metadata:
|
||||||
labels:
|
labels:
|
||||||
helm.sh/chart: ingress-nginx-3.36.0
|
helm.sh/chart: ingress-nginx-3.40.0
|
||||||
app.kubernetes.io/name: ingress-nginx
|
app.kubernetes.io/name: ingress-nginx
|
||||||
app.kubernetes.io/instance: ingress-nginx
|
app.kubernetes.io/instance: ingress-nginx
|
||||||
app.kubernetes.io/version: 0.49.0
|
app.kubernetes.io/version: 0.50.0
|
||||||
app.kubernetes.io/managed-by: Helm
|
app.kubernetes.io/managed-by: Helm
|
||||||
app.kubernetes.io/component: controller
|
app.kubernetes.io/component: controller
|
||||||
name: ingress-nginx-controller
|
name: ingress-nginx-controller
|
||||||
namespace: ingress-nginx
|
namespace: ingress-nginx
|
||||||
data:
|
data:
|
||||||
|
allow-snippet-annotations: 'true'
|
||||||
---
|
---
|
||||||
# Source: ingress-nginx/templates/clusterrole.yaml
|
# Source: ingress-nginx/templates/clusterrole.yaml
|
||||||
apiVersion: rbac.authorization.k8s.io/v1
|
apiVersion: rbac.authorization.k8s.io/v1
|
||||||
kind: ClusterRole
|
kind: ClusterRole
|
||||||
metadata:
|
metadata:
|
||||||
labels:
|
labels:
|
||||||
helm.sh/chart: ingress-nginx-3.36.0
|
helm.sh/chart: ingress-nginx-3.40.0
|
||||||
app.kubernetes.io/name: ingress-nginx
|
app.kubernetes.io/name: ingress-nginx
|
||||||
app.kubernetes.io/instance: ingress-nginx
|
app.kubernetes.io/instance: ingress-nginx
|
||||||
app.kubernetes.io/version: 0.49.0
|
app.kubernetes.io/version: 0.50.0
|
||||||
app.kubernetes.io/managed-by: Helm
|
app.kubernetes.io/managed-by: Helm
|
||||||
name: ingress-nginx
|
name: ingress-nginx
|
||||||
rules:
|
rules:
|
||||||
|
@ -112,10 +113,10 @@ apiVersion: rbac.authorization.k8s.io/v1
|
||||||
kind: ClusterRoleBinding
|
kind: ClusterRoleBinding
|
||||||
metadata:
|
metadata:
|
||||||
labels:
|
labels:
|
||||||
helm.sh/chart: ingress-nginx-3.36.0
|
helm.sh/chart: ingress-nginx-3.40.0
|
||||||
app.kubernetes.io/name: ingress-nginx
|
app.kubernetes.io/name: ingress-nginx
|
||||||
app.kubernetes.io/instance: ingress-nginx
|
app.kubernetes.io/instance: ingress-nginx
|
||||||
app.kubernetes.io/version: 0.49.0
|
app.kubernetes.io/version: 0.50.0
|
||||||
app.kubernetes.io/managed-by: Helm
|
app.kubernetes.io/managed-by: Helm
|
||||||
name: ingress-nginx
|
name: ingress-nginx
|
||||||
roleRef:
|
roleRef:
|
||||||
|
@ -132,10 +133,10 @@ apiVersion: rbac.authorization.k8s.io/v1
|
||||||
kind: Role
|
kind: Role
|
||||||
metadata:
|
metadata:
|
||||||
labels:
|
labels:
|
||||||
helm.sh/chart: ingress-nginx-3.36.0
|
helm.sh/chart: ingress-nginx-3.40.0
|
||||||
app.kubernetes.io/name: ingress-nginx
|
app.kubernetes.io/name: ingress-nginx
|
||||||
app.kubernetes.io/instance: ingress-nginx
|
app.kubernetes.io/instance: ingress-nginx
|
||||||
app.kubernetes.io/version: 0.49.0
|
app.kubernetes.io/version: 0.50.0
|
||||||
app.kubernetes.io/managed-by: Helm
|
app.kubernetes.io/managed-by: Helm
|
||||||
app.kubernetes.io/component: controller
|
app.kubernetes.io/component: controller
|
||||||
name: ingress-nginx
|
name: ingress-nginx
|
||||||
|
@ -218,10 +219,10 @@ apiVersion: rbac.authorization.k8s.io/v1
|
||||||
kind: RoleBinding
|
kind: RoleBinding
|
||||||
metadata:
|
metadata:
|
||||||
labels:
|
labels:
|
||||||
helm.sh/chart: ingress-nginx-3.36.0
|
helm.sh/chart: ingress-nginx-3.40.0
|
||||||
app.kubernetes.io/name: ingress-nginx
|
app.kubernetes.io/name: ingress-nginx
|
||||||
app.kubernetes.io/instance: ingress-nginx
|
app.kubernetes.io/instance: ingress-nginx
|
||||||
app.kubernetes.io/version: 0.49.0
|
app.kubernetes.io/version: 0.50.0
|
||||||
app.kubernetes.io/managed-by: Helm
|
app.kubernetes.io/managed-by: Helm
|
||||||
app.kubernetes.io/component: controller
|
app.kubernetes.io/component: controller
|
||||||
name: ingress-nginx
|
name: ingress-nginx
|
||||||
|
@ -240,10 +241,10 @@ apiVersion: v1
|
||||||
kind: Service
|
kind: Service
|
||||||
metadata:
|
metadata:
|
||||||
labels:
|
labels:
|
||||||
helm.sh/chart: ingress-nginx-3.36.0
|
helm.sh/chart: ingress-nginx-3.40.0
|
||||||
app.kubernetes.io/name: ingress-nginx
|
app.kubernetes.io/name: ingress-nginx
|
||||||
app.kubernetes.io/instance: ingress-nginx
|
app.kubernetes.io/instance: ingress-nginx
|
||||||
app.kubernetes.io/version: 0.49.0
|
app.kubernetes.io/version: 0.50.0
|
||||||
app.kubernetes.io/managed-by: Helm
|
app.kubernetes.io/managed-by: Helm
|
||||||
app.kubernetes.io/component: controller
|
app.kubernetes.io/component: controller
|
||||||
name: ingress-nginx-controller-admission
|
name: ingress-nginx-controller-admission
|
||||||
|
@ -265,10 +266,10 @@ kind: Service
|
||||||
metadata:
|
metadata:
|
||||||
annotations:
|
annotations:
|
||||||
labels:
|
labels:
|
||||||
helm.sh/chart: ingress-nginx-3.36.0
|
helm.sh/chart: ingress-nginx-3.40.0
|
||||||
app.kubernetes.io/name: ingress-nginx
|
app.kubernetes.io/name: ingress-nginx
|
||||||
app.kubernetes.io/instance: ingress-nginx
|
app.kubernetes.io/instance: ingress-nginx
|
||||||
app.kubernetes.io/version: 0.49.0
|
app.kubernetes.io/version: 0.50.0
|
||||||
app.kubernetes.io/managed-by: Helm
|
app.kubernetes.io/managed-by: Helm
|
||||||
app.kubernetes.io/component: controller
|
app.kubernetes.io/component: controller
|
||||||
name: ingress-nginx-controller
|
name: ingress-nginx-controller
|
||||||
|
@ -295,10 +296,10 @@ apiVersion: apps/v1
|
||||||
kind: Deployment
|
kind: Deployment
|
||||||
metadata:
|
metadata:
|
||||||
labels:
|
labels:
|
||||||
helm.sh/chart: ingress-nginx-3.36.0
|
helm.sh/chart: ingress-nginx-3.40.0
|
||||||
app.kubernetes.io/name: ingress-nginx
|
app.kubernetes.io/name: ingress-nginx
|
||||||
app.kubernetes.io/instance: ingress-nginx
|
app.kubernetes.io/instance: ingress-nginx
|
||||||
app.kubernetes.io/version: 0.49.0
|
app.kubernetes.io/version: 0.50.0
|
||||||
app.kubernetes.io/managed-by: Helm
|
app.kubernetes.io/managed-by: Helm
|
||||||
app.kubernetes.io/component: controller
|
app.kubernetes.io/component: controller
|
||||||
name: ingress-nginx-controller
|
name: ingress-nginx-controller
|
||||||
|
@ -321,7 +322,7 @@ spec:
|
||||||
dnsPolicy: ClusterFirst
|
dnsPolicy: ClusterFirst
|
||||||
containers:
|
containers:
|
||||||
- name: controller
|
- name: controller
|
||||||
image: k8s.gcr.io/ingress-nginx/controller:v0.49.0@sha256:e9707504ad0d4c119036b6d41ace4a33596139d3feb9ccb6617813ce48c3eeef
|
image: k8s.gcr.io/ingress-nginx/controller:v0.50.0@sha256:f46fc2d161c97a9d950635acb86fb3f8d4adcfb03ee241ea89c6cde16aa3fdf8
|
||||||
imagePullPolicy: IfNotPresent
|
imagePullPolicy: IfNotPresent
|
||||||
lifecycle:
|
lifecycle:
|
||||||
preStop:
|
preStop:
|
||||||
|
@ -410,10 +411,10 @@ apiVersion: admissionregistration.k8s.io/v1
|
||||||
kind: ValidatingWebhookConfiguration
|
kind: ValidatingWebhookConfiguration
|
||||||
metadata:
|
metadata:
|
||||||
labels:
|
labels:
|
||||||
helm.sh/chart: ingress-nginx-3.36.0
|
helm.sh/chart: ingress-nginx-3.40.0
|
||||||
app.kubernetes.io/name: ingress-nginx
|
app.kubernetes.io/name: ingress-nginx
|
||||||
app.kubernetes.io/instance: ingress-nginx
|
app.kubernetes.io/instance: ingress-nginx
|
||||||
app.kubernetes.io/version: 0.49.0
|
app.kubernetes.io/version: 0.50.0
|
||||||
app.kubernetes.io/managed-by: Helm
|
app.kubernetes.io/managed-by: Helm
|
||||||
app.kubernetes.io/component: admission-webhook
|
app.kubernetes.io/component: admission-webhook
|
||||||
name: ingress-nginx-admission
|
name: ingress-nginx-admission
|
||||||
|
@ -451,10 +452,10 @@ metadata:
|
||||||
helm.sh/hook: pre-install,pre-upgrade,post-install,post-upgrade
|
helm.sh/hook: pre-install,pre-upgrade,post-install,post-upgrade
|
||||||
helm.sh/hook-delete-policy: before-hook-creation,hook-succeeded
|
helm.sh/hook-delete-policy: before-hook-creation,hook-succeeded
|
||||||
labels:
|
labels:
|
||||||
helm.sh/chart: ingress-nginx-3.36.0
|
helm.sh/chart: ingress-nginx-3.40.0
|
||||||
app.kubernetes.io/name: ingress-nginx
|
app.kubernetes.io/name: ingress-nginx
|
||||||
app.kubernetes.io/instance: ingress-nginx
|
app.kubernetes.io/instance: ingress-nginx
|
||||||
app.kubernetes.io/version: 0.49.0
|
app.kubernetes.io/version: 0.50.0
|
||||||
app.kubernetes.io/managed-by: Helm
|
app.kubernetes.io/managed-by: Helm
|
||||||
app.kubernetes.io/component: admission-webhook
|
app.kubernetes.io/component: admission-webhook
|
||||||
---
|
---
|
||||||
|
@ -467,10 +468,10 @@ metadata:
|
||||||
helm.sh/hook: pre-install,pre-upgrade,post-install,post-upgrade
|
helm.sh/hook: pre-install,pre-upgrade,post-install,post-upgrade
|
||||||
helm.sh/hook-delete-policy: before-hook-creation,hook-succeeded
|
helm.sh/hook-delete-policy: before-hook-creation,hook-succeeded
|
||||||
labels:
|
labels:
|
||||||
helm.sh/chart: ingress-nginx-3.36.0
|
helm.sh/chart: ingress-nginx-3.40.0
|
||||||
app.kubernetes.io/name: ingress-nginx
|
app.kubernetes.io/name: ingress-nginx
|
||||||
app.kubernetes.io/instance: ingress-nginx
|
app.kubernetes.io/instance: ingress-nginx
|
||||||
app.kubernetes.io/version: 0.49.0
|
app.kubernetes.io/version: 0.50.0
|
||||||
app.kubernetes.io/managed-by: Helm
|
app.kubernetes.io/managed-by: Helm
|
||||||
app.kubernetes.io/component: admission-webhook
|
app.kubernetes.io/component: admission-webhook
|
||||||
rules:
|
rules:
|
||||||
|
@ -491,10 +492,10 @@ metadata:
|
||||||
helm.sh/hook: pre-install,pre-upgrade,post-install,post-upgrade
|
helm.sh/hook: pre-install,pre-upgrade,post-install,post-upgrade
|
||||||
helm.sh/hook-delete-policy: before-hook-creation,hook-succeeded
|
helm.sh/hook-delete-policy: before-hook-creation,hook-succeeded
|
||||||
labels:
|
labels:
|
||||||
helm.sh/chart: ingress-nginx-3.36.0
|
helm.sh/chart: ingress-nginx-3.40.0
|
||||||
app.kubernetes.io/name: ingress-nginx
|
app.kubernetes.io/name: ingress-nginx
|
||||||
app.kubernetes.io/instance: ingress-nginx
|
app.kubernetes.io/instance: ingress-nginx
|
||||||
app.kubernetes.io/version: 0.49.0
|
app.kubernetes.io/version: 0.50.0
|
||||||
app.kubernetes.io/managed-by: Helm
|
app.kubernetes.io/managed-by: Helm
|
||||||
app.kubernetes.io/component: admission-webhook
|
app.kubernetes.io/component: admission-webhook
|
||||||
roleRef:
|
roleRef:
|
||||||
|
@ -516,10 +517,10 @@ metadata:
|
||||||
helm.sh/hook: pre-install,pre-upgrade,post-install,post-upgrade
|
helm.sh/hook: pre-install,pre-upgrade,post-install,post-upgrade
|
||||||
helm.sh/hook-delete-policy: before-hook-creation,hook-succeeded
|
helm.sh/hook-delete-policy: before-hook-creation,hook-succeeded
|
||||||
labels:
|
labels:
|
||||||
helm.sh/chart: ingress-nginx-3.36.0
|
helm.sh/chart: ingress-nginx-3.40.0
|
||||||
app.kubernetes.io/name: ingress-nginx
|
app.kubernetes.io/name: ingress-nginx
|
||||||
app.kubernetes.io/instance: ingress-nginx
|
app.kubernetes.io/instance: ingress-nginx
|
||||||
app.kubernetes.io/version: 0.49.0
|
app.kubernetes.io/version: 0.50.0
|
||||||
app.kubernetes.io/managed-by: Helm
|
app.kubernetes.io/managed-by: Helm
|
||||||
app.kubernetes.io/component: admission-webhook
|
app.kubernetes.io/component: admission-webhook
|
||||||
rules:
|
rules:
|
||||||
|
@ -541,10 +542,10 @@ metadata:
|
||||||
helm.sh/hook: pre-install,pre-upgrade,post-install,post-upgrade
|
helm.sh/hook: pre-install,pre-upgrade,post-install,post-upgrade
|
||||||
helm.sh/hook-delete-policy: before-hook-creation,hook-succeeded
|
helm.sh/hook-delete-policy: before-hook-creation,hook-succeeded
|
||||||
labels:
|
labels:
|
||||||
helm.sh/chart: ingress-nginx-3.36.0
|
helm.sh/chart: ingress-nginx-3.40.0
|
||||||
app.kubernetes.io/name: ingress-nginx
|
app.kubernetes.io/name: ingress-nginx
|
||||||
app.kubernetes.io/instance: ingress-nginx
|
app.kubernetes.io/instance: ingress-nginx
|
||||||
app.kubernetes.io/version: 0.49.0
|
app.kubernetes.io/version: 0.50.0
|
||||||
app.kubernetes.io/managed-by: Helm
|
app.kubernetes.io/managed-by: Helm
|
||||||
app.kubernetes.io/component: admission-webhook
|
app.kubernetes.io/component: admission-webhook
|
||||||
roleRef:
|
roleRef:
|
||||||
|
@ -566,10 +567,10 @@ metadata:
|
||||||
helm.sh/hook: pre-install,pre-upgrade
|
helm.sh/hook: pre-install,pre-upgrade
|
||||||
helm.sh/hook-delete-policy: before-hook-creation,hook-succeeded
|
helm.sh/hook-delete-policy: before-hook-creation,hook-succeeded
|
||||||
labels:
|
labels:
|
||||||
helm.sh/chart: ingress-nginx-3.36.0
|
helm.sh/chart: ingress-nginx-3.40.0
|
||||||
app.kubernetes.io/name: ingress-nginx
|
app.kubernetes.io/name: ingress-nginx
|
||||||
app.kubernetes.io/instance: ingress-nginx
|
app.kubernetes.io/instance: ingress-nginx
|
||||||
app.kubernetes.io/version: 0.49.0
|
app.kubernetes.io/version: 0.50.0
|
||||||
app.kubernetes.io/managed-by: Helm
|
app.kubernetes.io/managed-by: Helm
|
||||||
app.kubernetes.io/component: admission-webhook
|
app.kubernetes.io/component: admission-webhook
|
||||||
spec:
|
spec:
|
||||||
|
@ -577,10 +578,10 @@ spec:
|
||||||
metadata:
|
metadata:
|
||||||
name: ingress-nginx-admission-create
|
name: ingress-nginx-admission-create
|
||||||
labels:
|
labels:
|
||||||
helm.sh/chart: ingress-nginx-3.36.0
|
helm.sh/chart: ingress-nginx-3.40.0
|
||||||
app.kubernetes.io/name: ingress-nginx
|
app.kubernetes.io/name: ingress-nginx
|
||||||
app.kubernetes.io/instance: ingress-nginx
|
app.kubernetes.io/instance: ingress-nginx
|
||||||
app.kubernetes.io/version: 0.49.0
|
app.kubernetes.io/version: 0.50.0
|
||||||
app.kubernetes.io/managed-by: Helm
|
app.kubernetes.io/managed-by: Helm
|
||||||
app.kubernetes.io/component: admission-webhook
|
app.kubernetes.io/component: admission-webhook
|
||||||
spec:
|
spec:
|
||||||
|
@ -616,10 +617,10 @@ metadata:
|
||||||
helm.sh/hook: post-install,post-upgrade
|
helm.sh/hook: post-install,post-upgrade
|
||||||
helm.sh/hook-delete-policy: before-hook-creation,hook-succeeded
|
helm.sh/hook-delete-policy: before-hook-creation,hook-succeeded
|
||||||
labels:
|
labels:
|
||||||
helm.sh/chart: ingress-nginx-3.36.0
|
helm.sh/chart: ingress-nginx-3.40.0
|
||||||
app.kubernetes.io/name: ingress-nginx
|
app.kubernetes.io/name: ingress-nginx
|
||||||
app.kubernetes.io/instance: ingress-nginx
|
app.kubernetes.io/instance: ingress-nginx
|
||||||
app.kubernetes.io/version: 0.49.0
|
app.kubernetes.io/version: 0.50.0
|
||||||
app.kubernetes.io/managed-by: Helm
|
app.kubernetes.io/managed-by: Helm
|
||||||
app.kubernetes.io/component: admission-webhook
|
app.kubernetes.io/component: admission-webhook
|
||||||
spec:
|
spec:
|
||||||
|
@ -627,10 +628,10 @@ spec:
|
||||||
metadata:
|
metadata:
|
||||||
name: ingress-nginx-admission-patch
|
name: ingress-nginx-admission-patch
|
||||||
labels:
|
labels:
|
||||||
helm.sh/chart: ingress-nginx-3.36.0
|
helm.sh/chart: ingress-nginx-3.40.0
|
||||||
app.kubernetes.io/name: ingress-nginx
|
app.kubernetes.io/name: ingress-nginx
|
||||||
app.kubernetes.io/instance: ingress-nginx
|
app.kubernetes.io/instance: ingress-nginx
|
||||||
app.kubernetes.io/version: 0.49.0
|
app.kubernetes.io/version: 0.50.0
|
||||||
app.kubernetes.io/managed-by: Helm
|
app.kubernetes.io/managed-by: Helm
|
||||||
app.kubernetes.io/component: admission-webhook
|
app.kubernetes.io/component: admission-webhook
|
||||||
spec:
|
spec:
|
||||||
|
|
|
@ -13,10 +13,10 @@ apiVersion: v1
|
||||||
kind: ServiceAccount
|
kind: ServiceAccount
|
||||||
metadata:
|
metadata:
|
||||||
labels:
|
labels:
|
||||||
helm.sh/chart: ingress-nginx-3.36.0
|
helm.sh/chart: ingress-nginx-3.40.0
|
||||||
app.kubernetes.io/name: ingress-nginx
|
app.kubernetes.io/name: ingress-nginx
|
||||||
app.kubernetes.io/instance: ingress-nginx
|
app.kubernetes.io/instance: ingress-nginx
|
||||||
app.kubernetes.io/version: 0.49.0
|
app.kubernetes.io/version: 0.50.0
|
||||||
app.kubernetes.io/managed-by: Helm
|
app.kubernetes.io/managed-by: Helm
|
||||||
app.kubernetes.io/component: controller
|
app.kubernetes.io/component: controller
|
||||||
name: ingress-nginx
|
name: ingress-nginx
|
||||||
|
@ -28,15 +28,16 @@ apiVersion: v1
|
||||||
kind: ConfigMap
|
kind: ConfigMap
|
||||||
metadata:
|
metadata:
|
||||||
labels:
|
labels:
|
||||||
helm.sh/chart: ingress-nginx-3.36.0
|
helm.sh/chart: ingress-nginx-3.40.0
|
||||||
app.kubernetes.io/name: ingress-nginx
|
app.kubernetes.io/name: ingress-nginx
|
||||||
app.kubernetes.io/instance: ingress-nginx
|
app.kubernetes.io/instance: ingress-nginx
|
||||||
app.kubernetes.io/version: 0.49.0
|
app.kubernetes.io/version: 0.50.0
|
||||||
app.kubernetes.io/managed-by: Helm
|
app.kubernetes.io/managed-by: Helm
|
||||||
app.kubernetes.io/component: controller
|
app.kubernetes.io/component: controller
|
||||||
name: ingress-nginx-controller
|
name: ingress-nginx-controller
|
||||||
namespace: ingress-nginx
|
namespace: ingress-nginx
|
||||||
data:
|
data:
|
||||||
|
allow-snippet-annotations: 'true'
|
||||||
use-proxy-protocol: 'true'
|
use-proxy-protocol: 'true'
|
||||||
---
|
---
|
||||||
# Source: ingress-nginx/templates/clusterrole.yaml
|
# Source: ingress-nginx/templates/clusterrole.yaml
|
||||||
|
@ -44,10 +45,10 @@ apiVersion: rbac.authorization.k8s.io/v1
|
||||||
kind: ClusterRole
|
kind: ClusterRole
|
||||||
metadata:
|
metadata:
|
||||||
labels:
|
labels:
|
||||||
helm.sh/chart: ingress-nginx-3.36.0
|
helm.sh/chart: ingress-nginx-3.40.0
|
||||||
app.kubernetes.io/name: ingress-nginx
|
app.kubernetes.io/name: ingress-nginx
|
||||||
app.kubernetes.io/instance: ingress-nginx
|
app.kubernetes.io/instance: ingress-nginx
|
||||||
app.kubernetes.io/version: 0.49.0
|
app.kubernetes.io/version: 0.50.0
|
||||||
app.kubernetes.io/managed-by: Helm
|
app.kubernetes.io/managed-by: Helm
|
||||||
name: ingress-nginx
|
name: ingress-nginx
|
||||||
rules:
|
rules:
|
||||||
|
@ -113,10 +114,10 @@ apiVersion: rbac.authorization.k8s.io/v1
|
||||||
kind: ClusterRoleBinding
|
kind: ClusterRoleBinding
|
||||||
metadata:
|
metadata:
|
||||||
labels:
|
labels:
|
||||||
helm.sh/chart: ingress-nginx-3.36.0
|
helm.sh/chart: ingress-nginx-3.40.0
|
||||||
app.kubernetes.io/name: ingress-nginx
|
app.kubernetes.io/name: ingress-nginx
|
||||||
app.kubernetes.io/instance: ingress-nginx
|
app.kubernetes.io/instance: ingress-nginx
|
||||||
app.kubernetes.io/version: 0.49.0
|
app.kubernetes.io/version: 0.50.0
|
||||||
app.kubernetes.io/managed-by: Helm
|
app.kubernetes.io/managed-by: Helm
|
||||||
name: ingress-nginx
|
name: ingress-nginx
|
||||||
roleRef:
|
roleRef:
|
||||||
|
@ -133,10 +134,10 @@ apiVersion: rbac.authorization.k8s.io/v1
|
||||||
kind: Role
|
kind: Role
|
||||||
metadata:
|
metadata:
|
||||||
labels:
|
labels:
|
||||||
helm.sh/chart: ingress-nginx-3.36.0
|
helm.sh/chart: ingress-nginx-3.40.0
|
||||||
app.kubernetes.io/name: ingress-nginx
|
app.kubernetes.io/name: ingress-nginx
|
||||||
app.kubernetes.io/instance: ingress-nginx
|
app.kubernetes.io/instance: ingress-nginx
|
||||||
app.kubernetes.io/version: 0.49.0
|
app.kubernetes.io/version: 0.50.0
|
||||||
app.kubernetes.io/managed-by: Helm
|
app.kubernetes.io/managed-by: Helm
|
||||||
app.kubernetes.io/component: controller
|
app.kubernetes.io/component: controller
|
||||||
name: ingress-nginx
|
name: ingress-nginx
|
||||||
|
@ -219,10 +220,10 @@ apiVersion: rbac.authorization.k8s.io/v1
|
||||||
kind: RoleBinding
|
kind: RoleBinding
|
||||||
metadata:
|
metadata:
|
||||||
labels:
|
labels:
|
||||||
helm.sh/chart: ingress-nginx-3.36.0
|
helm.sh/chart: ingress-nginx-3.40.0
|
||||||
app.kubernetes.io/name: ingress-nginx
|
app.kubernetes.io/name: ingress-nginx
|
||||||
app.kubernetes.io/instance: ingress-nginx
|
app.kubernetes.io/instance: ingress-nginx
|
||||||
app.kubernetes.io/version: 0.49.0
|
app.kubernetes.io/version: 0.50.0
|
||||||
app.kubernetes.io/managed-by: Helm
|
app.kubernetes.io/managed-by: Helm
|
||||||
app.kubernetes.io/component: controller
|
app.kubernetes.io/component: controller
|
||||||
name: ingress-nginx
|
name: ingress-nginx
|
||||||
|
@ -241,10 +242,10 @@ apiVersion: v1
|
||||||
kind: Service
|
kind: Service
|
||||||
metadata:
|
metadata:
|
||||||
labels:
|
labels:
|
||||||
helm.sh/chart: ingress-nginx-3.36.0
|
helm.sh/chart: ingress-nginx-3.40.0
|
||||||
app.kubernetes.io/name: ingress-nginx
|
app.kubernetes.io/name: ingress-nginx
|
||||||
app.kubernetes.io/instance: ingress-nginx
|
app.kubernetes.io/instance: ingress-nginx
|
||||||
app.kubernetes.io/version: 0.49.0
|
app.kubernetes.io/version: 0.50.0
|
||||||
app.kubernetes.io/managed-by: Helm
|
app.kubernetes.io/managed-by: Helm
|
||||||
app.kubernetes.io/component: controller
|
app.kubernetes.io/component: controller
|
||||||
name: ingress-nginx-controller-admission
|
name: ingress-nginx-controller-admission
|
||||||
|
@ -267,10 +268,10 @@ metadata:
|
||||||
annotations:
|
annotations:
|
||||||
service.beta.kubernetes.io/do-loadbalancer-enable-proxy-protocol: 'true'
|
service.beta.kubernetes.io/do-loadbalancer-enable-proxy-protocol: 'true'
|
||||||
labels:
|
labels:
|
||||||
helm.sh/chart: ingress-nginx-3.36.0
|
helm.sh/chart: ingress-nginx-3.40.0
|
||||||
app.kubernetes.io/name: ingress-nginx
|
app.kubernetes.io/name: ingress-nginx
|
||||||
app.kubernetes.io/instance: ingress-nginx
|
app.kubernetes.io/instance: ingress-nginx
|
||||||
app.kubernetes.io/version: 0.49.0
|
app.kubernetes.io/version: 0.50.0
|
||||||
app.kubernetes.io/managed-by: Helm
|
app.kubernetes.io/managed-by: Helm
|
||||||
app.kubernetes.io/component: controller
|
app.kubernetes.io/component: controller
|
||||||
name: ingress-nginx-controller
|
name: ingress-nginx-controller
|
||||||
|
@ -297,10 +298,10 @@ apiVersion: apps/v1
|
||||||
kind: Deployment
|
kind: Deployment
|
||||||
metadata:
|
metadata:
|
||||||
labels:
|
labels:
|
||||||
helm.sh/chart: ingress-nginx-3.36.0
|
helm.sh/chart: ingress-nginx-3.40.0
|
||||||
app.kubernetes.io/name: ingress-nginx
|
app.kubernetes.io/name: ingress-nginx
|
||||||
app.kubernetes.io/instance: ingress-nginx
|
app.kubernetes.io/instance: ingress-nginx
|
||||||
app.kubernetes.io/version: 0.49.0
|
app.kubernetes.io/version: 0.50.0
|
||||||
app.kubernetes.io/managed-by: Helm
|
app.kubernetes.io/managed-by: Helm
|
||||||
app.kubernetes.io/component: controller
|
app.kubernetes.io/component: controller
|
||||||
name: ingress-nginx-controller
|
name: ingress-nginx-controller
|
||||||
|
@ -323,7 +324,7 @@ spec:
|
||||||
dnsPolicy: ClusterFirst
|
dnsPolicy: ClusterFirst
|
||||||
containers:
|
containers:
|
||||||
- name: controller
|
- name: controller
|
||||||
image: k8s.gcr.io/ingress-nginx/controller:v0.49.0@sha256:e9707504ad0d4c119036b6d41ace4a33596139d3feb9ccb6617813ce48c3eeef
|
image: k8s.gcr.io/ingress-nginx/controller:v0.50.0@sha256:f46fc2d161c97a9d950635acb86fb3f8d4adcfb03ee241ea89c6cde16aa3fdf8
|
||||||
imagePullPolicy: IfNotPresent
|
imagePullPolicy: IfNotPresent
|
||||||
lifecycle:
|
lifecycle:
|
||||||
preStop:
|
preStop:
|
||||||
|
@ -412,10 +413,10 @@ apiVersion: admissionregistration.k8s.io/v1
|
||||||
kind: ValidatingWebhookConfiguration
|
kind: ValidatingWebhookConfiguration
|
||||||
metadata:
|
metadata:
|
||||||
labels:
|
labels:
|
||||||
helm.sh/chart: ingress-nginx-3.36.0
|
helm.sh/chart: ingress-nginx-3.40.0
|
||||||
app.kubernetes.io/name: ingress-nginx
|
app.kubernetes.io/name: ingress-nginx
|
||||||
app.kubernetes.io/instance: ingress-nginx
|
app.kubernetes.io/instance: ingress-nginx
|
||||||
app.kubernetes.io/version: 0.49.0
|
app.kubernetes.io/version: 0.50.0
|
||||||
app.kubernetes.io/managed-by: Helm
|
app.kubernetes.io/managed-by: Helm
|
||||||
app.kubernetes.io/component: admission-webhook
|
app.kubernetes.io/component: admission-webhook
|
||||||
name: ingress-nginx-admission
|
name: ingress-nginx-admission
|
||||||
|
@ -453,10 +454,10 @@ metadata:
|
||||||
helm.sh/hook: pre-install,pre-upgrade,post-install,post-upgrade
|
helm.sh/hook: pre-install,pre-upgrade,post-install,post-upgrade
|
||||||
helm.sh/hook-delete-policy: before-hook-creation,hook-succeeded
|
helm.sh/hook-delete-policy: before-hook-creation,hook-succeeded
|
||||||
labels:
|
labels:
|
||||||
helm.sh/chart: ingress-nginx-3.36.0
|
helm.sh/chart: ingress-nginx-3.40.0
|
||||||
app.kubernetes.io/name: ingress-nginx
|
app.kubernetes.io/name: ingress-nginx
|
||||||
app.kubernetes.io/instance: ingress-nginx
|
app.kubernetes.io/instance: ingress-nginx
|
||||||
app.kubernetes.io/version: 0.49.0
|
app.kubernetes.io/version: 0.50.0
|
||||||
app.kubernetes.io/managed-by: Helm
|
app.kubernetes.io/managed-by: Helm
|
||||||
app.kubernetes.io/component: admission-webhook
|
app.kubernetes.io/component: admission-webhook
|
||||||
---
|
---
|
||||||
|
@ -469,10 +470,10 @@ metadata:
|
||||||
helm.sh/hook: pre-install,pre-upgrade,post-install,post-upgrade
|
helm.sh/hook: pre-install,pre-upgrade,post-install,post-upgrade
|
||||||
helm.sh/hook-delete-policy: before-hook-creation,hook-succeeded
|
helm.sh/hook-delete-policy: before-hook-creation,hook-succeeded
|
||||||
labels:
|
labels:
|
||||||
helm.sh/chart: ingress-nginx-3.36.0
|
helm.sh/chart: ingress-nginx-3.40.0
|
||||||
app.kubernetes.io/name: ingress-nginx
|
app.kubernetes.io/name: ingress-nginx
|
||||||
app.kubernetes.io/instance: ingress-nginx
|
app.kubernetes.io/instance: ingress-nginx
|
||||||
app.kubernetes.io/version: 0.49.0
|
app.kubernetes.io/version: 0.50.0
|
||||||
app.kubernetes.io/managed-by: Helm
|
app.kubernetes.io/managed-by: Helm
|
||||||
app.kubernetes.io/component: admission-webhook
|
app.kubernetes.io/component: admission-webhook
|
||||||
rules:
|
rules:
|
||||||
|
@ -493,10 +494,10 @@ metadata:
|
||||||
helm.sh/hook: pre-install,pre-upgrade,post-install,post-upgrade
|
helm.sh/hook: pre-install,pre-upgrade,post-install,post-upgrade
|
||||||
helm.sh/hook-delete-policy: before-hook-creation,hook-succeeded
|
helm.sh/hook-delete-policy: before-hook-creation,hook-succeeded
|
||||||
labels:
|
labels:
|
||||||
helm.sh/chart: ingress-nginx-3.36.0
|
helm.sh/chart: ingress-nginx-3.40.0
|
||||||
app.kubernetes.io/name: ingress-nginx
|
app.kubernetes.io/name: ingress-nginx
|
||||||
app.kubernetes.io/instance: ingress-nginx
|
app.kubernetes.io/instance: ingress-nginx
|
||||||
app.kubernetes.io/version: 0.49.0
|
app.kubernetes.io/version: 0.50.0
|
||||||
app.kubernetes.io/managed-by: Helm
|
app.kubernetes.io/managed-by: Helm
|
||||||
app.kubernetes.io/component: admission-webhook
|
app.kubernetes.io/component: admission-webhook
|
||||||
roleRef:
|
roleRef:
|
||||||
|
@ -518,10 +519,10 @@ metadata:
|
||||||
helm.sh/hook: pre-install,pre-upgrade,post-install,post-upgrade
|
helm.sh/hook: pre-install,pre-upgrade,post-install,post-upgrade
|
||||||
helm.sh/hook-delete-policy: before-hook-creation,hook-succeeded
|
helm.sh/hook-delete-policy: before-hook-creation,hook-succeeded
|
||||||
labels:
|
labels:
|
||||||
helm.sh/chart: ingress-nginx-3.36.0
|
helm.sh/chart: ingress-nginx-3.40.0
|
||||||
app.kubernetes.io/name: ingress-nginx
|
app.kubernetes.io/name: ingress-nginx
|
||||||
app.kubernetes.io/instance: ingress-nginx
|
app.kubernetes.io/instance: ingress-nginx
|
||||||
app.kubernetes.io/version: 0.49.0
|
app.kubernetes.io/version: 0.50.0
|
||||||
app.kubernetes.io/managed-by: Helm
|
app.kubernetes.io/managed-by: Helm
|
||||||
app.kubernetes.io/component: admission-webhook
|
app.kubernetes.io/component: admission-webhook
|
||||||
rules:
|
rules:
|
||||||
|
@ -543,10 +544,10 @@ metadata:
|
||||||
helm.sh/hook: pre-install,pre-upgrade,post-install,post-upgrade
|
helm.sh/hook: pre-install,pre-upgrade,post-install,post-upgrade
|
||||||
helm.sh/hook-delete-policy: before-hook-creation,hook-succeeded
|
helm.sh/hook-delete-policy: before-hook-creation,hook-succeeded
|
||||||
labels:
|
labels:
|
||||||
helm.sh/chart: ingress-nginx-3.36.0
|
helm.sh/chart: ingress-nginx-3.40.0
|
||||||
app.kubernetes.io/name: ingress-nginx
|
app.kubernetes.io/name: ingress-nginx
|
||||||
app.kubernetes.io/instance: ingress-nginx
|
app.kubernetes.io/instance: ingress-nginx
|
||||||
app.kubernetes.io/version: 0.49.0
|
app.kubernetes.io/version: 0.50.0
|
||||||
app.kubernetes.io/managed-by: Helm
|
app.kubernetes.io/managed-by: Helm
|
||||||
app.kubernetes.io/component: admission-webhook
|
app.kubernetes.io/component: admission-webhook
|
||||||
roleRef:
|
roleRef:
|
||||||
|
@ -568,10 +569,10 @@ metadata:
|
||||||
helm.sh/hook: pre-install,pre-upgrade
|
helm.sh/hook: pre-install,pre-upgrade
|
||||||
helm.sh/hook-delete-policy: before-hook-creation,hook-succeeded
|
helm.sh/hook-delete-policy: before-hook-creation,hook-succeeded
|
||||||
labels:
|
labels:
|
||||||
helm.sh/chart: ingress-nginx-3.36.0
|
helm.sh/chart: ingress-nginx-3.40.0
|
||||||
app.kubernetes.io/name: ingress-nginx
|
app.kubernetes.io/name: ingress-nginx
|
||||||
app.kubernetes.io/instance: ingress-nginx
|
app.kubernetes.io/instance: ingress-nginx
|
||||||
app.kubernetes.io/version: 0.49.0
|
app.kubernetes.io/version: 0.50.0
|
||||||
app.kubernetes.io/managed-by: Helm
|
app.kubernetes.io/managed-by: Helm
|
||||||
app.kubernetes.io/component: admission-webhook
|
app.kubernetes.io/component: admission-webhook
|
||||||
spec:
|
spec:
|
||||||
|
@ -579,10 +580,10 @@ spec:
|
||||||
metadata:
|
metadata:
|
||||||
name: ingress-nginx-admission-create
|
name: ingress-nginx-admission-create
|
||||||
labels:
|
labels:
|
||||||
helm.sh/chart: ingress-nginx-3.36.0
|
helm.sh/chart: ingress-nginx-3.40.0
|
||||||
app.kubernetes.io/name: ingress-nginx
|
app.kubernetes.io/name: ingress-nginx
|
||||||
app.kubernetes.io/instance: ingress-nginx
|
app.kubernetes.io/instance: ingress-nginx
|
||||||
app.kubernetes.io/version: 0.49.0
|
app.kubernetes.io/version: 0.50.0
|
||||||
app.kubernetes.io/managed-by: Helm
|
app.kubernetes.io/managed-by: Helm
|
||||||
app.kubernetes.io/component: admission-webhook
|
app.kubernetes.io/component: admission-webhook
|
||||||
spec:
|
spec:
|
||||||
|
@ -618,10 +619,10 @@ metadata:
|
||||||
helm.sh/hook: post-install,post-upgrade
|
helm.sh/hook: post-install,post-upgrade
|
||||||
helm.sh/hook-delete-policy: before-hook-creation,hook-succeeded
|
helm.sh/hook-delete-policy: before-hook-creation,hook-succeeded
|
||||||
labels:
|
labels:
|
||||||
helm.sh/chart: ingress-nginx-3.36.0
|
helm.sh/chart: ingress-nginx-3.40.0
|
||||||
app.kubernetes.io/name: ingress-nginx
|
app.kubernetes.io/name: ingress-nginx
|
||||||
app.kubernetes.io/instance: ingress-nginx
|
app.kubernetes.io/instance: ingress-nginx
|
||||||
app.kubernetes.io/version: 0.49.0
|
app.kubernetes.io/version: 0.50.0
|
||||||
app.kubernetes.io/managed-by: Helm
|
app.kubernetes.io/managed-by: Helm
|
||||||
app.kubernetes.io/component: admission-webhook
|
app.kubernetes.io/component: admission-webhook
|
||||||
spec:
|
spec:
|
||||||
|
@ -629,10 +630,10 @@ spec:
|
||||||
metadata:
|
metadata:
|
||||||
name: ingress-nginx-admission-patch
|
name: ingress-nginx-admission-patch
|
||||||
labels:
|
labels:
|
||||||
helm.sh/chart: ingress-nginx-3.36.0
|
helm.sh/chart: ingress-nginx-3.40.0
|
||||||
app.kubernetes.io/name: ingress-nginx
|
app.kubernetes.io/name: ingress-nginx
|
||||||
app.kubernetes.io/instance: ingress-nginx
|
app.kubernetes.io/instance: ingress-nginx
|
||||||
app.kubernetes.io/version: 0.49.0
|
app.kubernetes.io/version: 0.50.0
|
||||||
app.kubernetes.io/managed-by: Helm
|
app.kubernetes.io/managed-by: Helm
|
||||||
app.kubernetes.io/component: admission-webhook
|
app.kubernetes.io/component: admission-webhook
|
||||||
spec:
|
spec:
|
||||||
|
|
|
@ -13,10 +13,10 @@ apiVersion: v1
|
||||||
kind: ServiceAccount
|
kind: ServiceAccount
|
||||||
metadata:
|
metadata:
|
||||||
labels:
|
labels:
|
||||||
helm.sh/chart: ingress-nginx-3.36.0
|
helm.sh/chart: ingress-nginx-3.40.0
|
||||||
app.kubernetes.io/name: ingress-nginx
|
app.kubernetes.io/name: ingress-nginx
|
||||||
app.kubernetes.io/instance: ingress-nginx
|
app.kubernetes.io/instance: ingress-nginx
|
||||||
app.kubernetes.io/version: 0.49.0
|
app.kubernetes.io/version: 0.50.0
|
||||||
app.kubernetes.io/managed-by: Helm
|
app.kubernetes.io/managed-by: Helm
|
||||||
app.kubernetes.io/component: controller
|
app.kubernetes.io/component: controller
|
||||||
name: ingress-nginx
|
name: ingress-nginx
|
||||||
|
@ -28,25 +28,26 @@ apiVersion: v1
|
||||||
kind: ConfigMap
|
kind: ConfigMap
|
||||||
metadata:
|
metadata:
|
||||||
labels:
|
labels:
|
||||||
helm.sh/chart: ingress-nginx-3.36.0
|
helm.sh/chart: ingress-nginx-3.40.0
|
||||||
app.kubernetes.io/name: ingress-nginx
|
app.kubernetes.io/name: ingress-nginx
|
||||||
app.kubernetes.io/instance: ingress-nginx
|
app.kubernetes.io/instance: ingress-nginx
|
||||||
app.kubernetes.io/version: 0.49.0
|
app.kubernetes.io/version: 0.50.0
|
||||||
app.kubernetes.io/managed-by: Helm
|
app.kubernetes.io/managed-by: Helm
|
||||||
app.kubernetes.io/component: controller
|
app.kubernetes.io/component: controller
|
||||||
name: ingress-nginx-controller
|
name: ingress-nginx-controller
|
||||||
namespace: ingress-nginx
|
namespace: ingress-nginx
|
||||||
data:
|
data:
|
||||||
|
allow-snippet-annotations: 'true'
|
||||||
---
|
---
|
||||||
# Source: ingress-nginx/templates/clusterrole.yaml
|
# Source: ingress-nginx/templates/clusterrole.yaml
|
||||||
apiVersion: rbac.authorization.k8s.io/v1
|
apiVersion: rbac.authorization.k8s.io/v1
|
||||||
kind: ClusterRole
|
kind: ClusterRole
|
||||||
metadata:
|
metadata:
|
||||||
labels:
|
labels:
|
||||||
helm.sh/chart: ingress-nginx-3.36.0
|
helm.sh/chart: ingress-nginx-3.40.0
|
||||||
app.kubernetes.io/name: ingress-nginx
|
app.kubernetes.io/name: ingress-nginx
|
||||||
app.kubernetes.io/instance: ingress-nginx
|
app.kubernetes.io/instance: ingress-nginx
|
||||||
app.kubernetes.io/version: 0.49.0
|
app.kubernetes.io/version: 0.50.0
|
||||||
app.kubernetes.io/managed-by: Helm
|
app.kubernetes.io/managed-by: Helm
|
||||||
name: ingress-nginx
|
name: ingress-nginx
|
||||||
rules:
|
rules:
|
||||||
|
@ -112,10 +113,10 @@ apiVersion: rbac.authorization.k8s.io/v1
|
||||||
kind: ClusterRoleBinding
|
kind: ClusterRoleBinding
|
||||||
metadata:
|
metadata:
|
||||||
labels:
|
labels:
|
||||||
helm.sh/chart: ingress-nginx-3.36.0
|
helm.sh/chart: ingress-nginx-3.40.0
|
||||||
app.kubernetes.io/name: ingress-nginx
|
app.kubernetes.io/name: ingress-nginx
|
||||||
app.kubernetes.io/instance: ingress-nginx
|
app.kubernetes.io/instance: ingress-nginx
|
||||||
app.kubernetes.io/version: 0.49.0
|
app.kubernetes.io/version: 0.50.0
|
||||||
app.kubernetes.io/managed-by: Helm
|
app.kubernetes.io/managed-by: Helm
|
||||||
name: ingress-nginx
|
name: ingress-nginx
|
||||||
roleRef:
|
roleRef:
|
||||||
|
@ -132,10 +133,10 @@ apiVersion: rbac.authorization.k8s.io/v1
|
||||||
kind: Role
|
kind: Role
|
||||||
metadata:
|
metadata:
|
||||||
labels:
|
labels:
|
||||||
helm.sh/chart: ingress-nginx-3.36.0
|
helm.sh/chart: ingress-nginx-3.40.0
|
||||||
app.kubernetes.io/name: ingress-nginx
|
app.kubernetes.io/name: ingress-nginx
|
||||||
app.kubernetes.io/instance: ingress-nginx
|
app.kubernetes.io/instance: ingress-nginx
|
||||||
app.kubernetes.io/version: 0.49.0
|
app.kubernetes.io/version: 0.50.0
|
||||||
app.kubernetes.io/managed-by: Helm
|
app.kubernetes.io/managed-by: Helm
|
||||||
app.kubernetes.io/component: controller
|
app.kubernetes.io/component: controller
|
||||||
name: ingress-nginx
|
name: ingress-nginx
|
||||||
|
@ -218,10 +219,10 @@ apiVersion: rbac.authorization.k8s.io/v1
|
||||||
kind: RoleBinding
|
kind: RoleBinding
|
||||||
metadata:
|
metadata:
|
||||||
labels:
|
labels:
|
||||||
helm.sh/chart: ingress-nginx-3.36.0
|
helm.sh/chart: ingress-nginx-3.40.0
|
||||||
app.kubernetes.io/name: ingress-nginx
|
app.kubernetes.io/name: ingress-nginx
|
||||||
app.kubernetes.io/instance: ingress-nginx
|
app.kubernetes.io/instance: ingress-nginx
|
||||||
app.kubernetes.io/version: 0.49.0
|
app.kubernetes.io/version: 0.50.0
|
||||||
app.kubernetes.io/managed-by: Helm
|
app.kubernetes.io/managed-by: Helm
|
||||||
app.kubernetes.io/component: controller
|
app.kubernetes.io/component: controller
|
||||||
name: ingress-nginx
|
name: ingress-nginx
|
||||||
|
@ -240,10 +241,10 @@ apiVersion: v1
|
||||||
kind: Service
|
kind: Service
|
||||||
metadata:
|
metadata:
|
||||||
labels:
|
labels:
|
||||||
helm.sh/chart: ingress-nginx-3.36.0
|
helm.sh/chart: ingress-nginx-3.40.0
|
||||||
app.kubernetes.io/name: ingress-nginx
|
app.kubernetes.io/name: ingress-nginx
|
||||||
app.kubernetes.io/instance: ingress-nginx
|
app.kubernetes.io/instance: ingress-nginx
|
||||||
app.kubernetes.io/version: 0.49.0
|
app.kubernetes.io/version: 0.50.0
|
||||||
app.kubernetes.io/managed-by: Helm
|
app.kubernetes.io/managed-by: Helm
|
||||||
app.kubernetes.io/component: controller
|
app.kubernetes.io/component: controller
|
||||||
name: ingress-nginx-controller-admission
|
name: ingress-nginx-controller-admission
|
||||||
|
@ -273,10 +274,10 @@ metadata:
|
||||||
service.beta.kubernetes.io/exoscale-loadbalancer-service-healthcheck-timeout: 3s
|
service.beta.kubernetes.io/exoscale-loadbalancer-service-healthcheck-timeout: 3s
|
||||||
service.beta.kubernetes.io/exoscale-loadbalancer-service-strategy: source-hash
|
service.beta.kubernetes.io/exoscale-loadbalancer-service-strategy: source-hash
|
||||||
labels:
|
labels:
|
||||||
helm.sh/chart: ingress-nginx-3.36.0
|
helm.sh/chart: ingress-nginx-3.40.0
|
||||||
app.kubernetes.io/name: ingress-nginx
|
app.kubernetes.io/name: ingress-nginx
|
||||||
app.kubernetes.io/instance: ingress-nginx
|
app.kubernetes.io/instance: ingress-nginx
|
||||||
app.kubernetes.io/version: 0.49.0
|
app.kubernetes.io/version: 0.50.0
|
||||||
app.kubernetes.io/managed-by: Helm
|
app.kubernetes.io/managed-by: Helm
|
||||||
app.kubernetes.io/component: controller
|
app.kubernetes.io/component: controller
|
||||||
name: ingress-nginx-controller
|
name: ingress-nginx-controller
|
||||||
|
@ -303,10 +304,10 @@ apiVersion: apps/v1
|
||||||
kind: DaemonSet
|
kind: DaemonSet
|
||||||
metadata:
|
metadata:
|
||||||
labels:
|
labels:
|
||||||
helm.sh/chart: ingress-nginx-3.36.0
|
helm.sh/chart: ingress-nginx-3.40.0
|
||||||
app.kubernetes.io/name: ingress-nginx
|
app.kubernetes.io/name: ingress-nginx
|
||||||
app.kubernetes.io/instance: ingress-nginx
|
app.kubernetes.io/instance: ingress-nginx
|
||||||
app.kubernetes.io/version: 0.49.0
|
app.kubernetes.io/version: 0.50.0
|
||||||
app.kubernetes.io/managed-by: Helm
|
app.kubernetes.io/managed-by: Helm
|
||||||
app.kubernetes.io/component: controller
|
app.kubernetes.io/component: controller
|
||||||
name: ingress-nginx-controller
|
name: ingress-nginx-controller
|
||||||
|
@ -329,7 +330,7 @@ spec:
|
||||||
dnsPolicy: ClusterFirst
|
dnsPolicy: ClusterFirst
|
||||||
containers:
|
containers:
|
||||||
- name: controller
|
- name: controller
|
||||||
image: k8s.gcr.io/ingress-nginx/controller:v0.49.0@sha256:e9707504ad0d4c119036b6d41ace4a33596139d3feb9ccb6617813ce48c3eeef
|
image: k8s.gcr.io/ingress-nginx/controller:v0.50.0@sha256:f46fc2d161c97a9d950635acb86fb3f8d4adcfb03ee241ea89c6cde16aa3fdf8
|
||||||
imagePullPolicy: IfNotPresent
|
imagePullPolicy: IfNotPresent
|
||||||
lifecycle:
|
lifecycle:
|
||||||
preStop:
|
preStop:
|
||||||
|
@ -418,10 +419,10 @@ apiVersion: admissionregistration.k8s.io/v1
|
||||||
kind: ValidatingWebhookConfiguration
|
kind: ValidatingWebhookConfiguration
|
||||||
metadata:
|
metadata:
|
||||||
labels:
|
labels:
|
||||||
helm.sh/chart: ingress-nginx-3.36.0
|
helm.sh/chart: ingress-nginx-3.40.0
|
||||||
app.kubernetes.io/name: ingress-nginx
|
app.kubernetes.io/name: ingress-nginx
|
||||||
app.kubernetes.io/instance: ingress-nginx
|
app.kubernetes.io/instance: ingress-nginx
|
||||||
app.kubernetes.io/version: 0.49.0
|
app.kubernetes.io/version: 0.50.0
|
||||||
app.kubernetes.io/managed-by: Helm
|
app.kubernetes.io/managed-by: Helm
|
||||||
app.kubernetes.io/component: admission-webhook
|
app.kubernetes.io/component: admission-webhook
|
||||||
name: ingress-nginx-admission
|
name: ingress-nginx-admission
|
||||||
|
@ -459,10 +460,10 @@ metadata:
|
||||||
helm.sh/hook: pre-install,pre-upgrade,post-install,post-upgrade
|
helm.sh/hook: pre-install,pre-upgrade,post-install,post-upgrade
|
||||||
helm.sh/hook-delete-policy: before-hook-creation,hook-succeeded
|
helm.sh/hook-delete-policy: before-hook-creation,hook-succeeded
|
||||||
labels:
|
labels:
|
||||||
helm.sh/chart: ingress-nginx-3.36.0
|
helm.sh/chart: ingress-nginx-3.40.0
|
||||||
app.kubernetes.io/name: ingress-nginx
|
app.kubernetes.io/name: ingress-nginx
|
||||||
app.kubernetes.io/instance: ingress-nginx
|
app.kubernetes.io/instance: ingress-nginx
|
||||||
app.kubernetes.io/version: 0.49.0
|
app.kubernetes.io/version: 0.50.0
|
||||||
app.kubernetes.io/managed-by: Helm
|
app.kubernetes.io/managed-by: Helm
|
||||||
app.kubernetes.io/component: admission-webhook
|
app.kubernetes.io/component: admission-webhook
|
||||||
---
|
---
|
||||||
|
@ -475,10 +476,10 @@ metadata:
|
||||||
helm.sh/hook: pre-install,pre-upgrade,post-install,post-upgrade
|
helm.sh/hook: pre-install,pre-upgrade,post-install,post-upgrade
|
||||||
helm.sh/hook-delete-policy: before-hook-creation,hook-succeeded
|
helm.sh/hook-delete-policy: before-hook-creation,hook-succeeded
|
||||||
labels:
|
labels:
|
||||||
helm.sh/chart: ingress-nginx-3.36.0
|
helm.sh/chart: ingress-nginx-3.40.0
|
||||||
app.kubernetes.io/name: ingress-nginx
|
app.kubernetes.io/name: ingress-nginx
|
||||||
app.kubernetes.io/instance: ingress-nginx
|
app.kubernetes.io/instance: ingress-nginx
|
||||||
app.kubernetes.io/version: 0.49.0
|
app.kubernetes.io/version: 0.50.0
|
||||||
app.kubernetes.io/managed-by: Helm
|
app.kubernetes.io/managed-by: Helm
|
||||||
app.kubernetes.io/component: admission-webhook
|
app.kubernetes.io/component: admission-webhook
|
||||||
rules:
|
rules:
|
||||||
|
@ -499,10 +500,10 @@ metadata:
|
||||||
helm.sh/hook: pre-install,pre-upgrade,post-install,post-upgrade
|
helm.sh/hook: pre-install,pre-upgrade,post-install,post-upgrade
|
||||||
helm.sh/hook-delete-policy: before-hook-creation,hook-succeeded
|
helm.sh/hook-delete-policy: before-hook-creation,hook-succeeded
|
||||||
labels:
|
labels:
|
||||||
helm.sh/chart: ingress-nginx-3.36.0
|
helm.sh/chart: ingress-nginx-3.40.0
|
||||||
app.kubernetes.io/name: ingress-nginx
|
app.kubernetes.io/name: ingress-nginx
|
||||||
app.kubernetes.io/instance: ingress-nginx
|
app.kubernetes.io/instance: ingress-nginx
|
||||||
app.kubernetes.io/version: 0.49.0
|
app.kubernetes.io/version: 0.50.0
|
||||||
app.kubernetes.io/managed-by: Helm
|
app.kubernetes.io/managed-by: Helm
|
||||||
app.kubernetes.io/component: admission-webhook
|
app.kubernetes.io/component: admission-webhook
|
||||||
roleRef:
|
roleRef:
|
||||||
|
@ -524,10 +525,10 @@ metadata:
|
||||||
helm.sh/hook: pre-install,pre-upgrade,post-install,post-upgrade
|
helm.sh/hook: pre-install,pre-upgrade,post-install,post-upgrade
|
||||||
helm.sh/hook-delete-policy: before-hook-creation,hook-succeeded
|
helm.sh/hook-delete-policy: before-hook-creation,hook-succeeded
|
||||||
labels:
|
labels:
|
||||||
helm.sh/chart: ingress-nginx-3.36.0
|
helm.sh/chart: ingress-nginx-3.40.0
|
||||||
app.kubernetes.io/name: ingress-nginx
|
app.kubernetes.io/name: ingress-nginx
|
||||||
app.kubernetes.io/instance: ingress-nginx
|
app.kubernetes.io/instance: ingress-nginx
|
||||||
app.kubernetes.io/version: 0.49.0
|
app.kubernetes.io/version: 0.50.0
|
||||||
app.kubernetes.io/managed-by: Helm
|
app.kubernetes.io/managed-by: Helm
|
||||||
app.kubernetes.io/component: admission-webhook
|
app.kubernetes.io/component: admission-webhook
|
||||||
rules:
|
rules:
|
||||||
|
@ -549,10 +550,10 @@ metadata:
|
||||||
helm.sh/hook: pre-install,pre-upgrade,post-install,post-upgrade
|
helm.sh/hook: pre-install,pre-upgrade,post-install,post-upgrade
|
||||||
helm.sh/hook-delete-policy: before-hook-creation,hook-succeeded
|
helm.sh/hook-delete-policy: before-hook-creation,hook-succeeded
|
||||||
labels:
|
labels:
|
||||||
helm.sh/chart: ingress-nginx-3.36.0
|
helm.sh/chart: ingress-nginx-3.40.0
|
||||||
app.kubernetes.io/name: ingress-nginx
|
app.kubernetes.io/name: ingress-nginx
|
||||||
app.kubernetes.io/instance: ingress-nginx
|
app.kubernetes.io/instance: ingress-nginx
|
||||||
app.kubernetes.io/version: 0.49.0
|
app.kubernetes.io/version: 0.50.0
|
||||||
app.kubernetes.io/managed-by: Helm
|
app.kubernetes.io/managed-by: Helm
|
||||||
app.kubernetes.io/component: admission-webhook
|
app.kubernetes.io/component: admission-webhook
|
||||||
roleRef:
|
roleRef:
|
||||||
|
@ -574,10 +575,10 @@ metadata:
|
||||||
helm.sh/hook: pre-install,pre-upgrade
|
helm.sh/hook: pre-install,pre-upgrade
|
||||||
helm.sh/hook-delete-policy: before-hook-creation,hook-succeeded
|
helm.sh/hook-delete-policy: before-hook-creation,hook-succeeded
|
||||||
labels:
|
labels:
|
||||||
helm.sh/chart: ingress-nginx-3.36.0
|
helm.sh/chart: ingress-nginx-3.40.0
|
||||||
app.kubernetes.io/name: ingress-nginx
|
app.kubernetes.io/name: ingress-nginx
|
||||||
app.kubernetes.io/instance: ingress-nginx
|
app.kubernetes.io/instance: ingress-nginx
|
||||||
app.kubernetes.io/version: 0.49.0
|
app.kubernetes.io/version: 0.50.0
|
||||||
app.kubernetes.io/managed-by: Helm
|
app.kubernetes.io/managed-by: Helm
|
||||||
app.kubernetes.io/component: admission-webhook
|
app.kubernetes.io/component: admission-webhook
|
||||||
spec:
|
spec:
|
||||||
|
@ -585,10 +586,10 @@ spec:
|
||||||
metadata:
|
metadata:
|
||||||
name: ingress-nginx-admission-create
|
name: ingress-nginx-admission-create
|
||||||
labels:
|
labels:
|
||||||
helm.sh/chart: ingress-nginx-3.36.0
|
helm.sh/chart: ingress-nginx-3.40.0
|
||||||
app.kubernetes.io/name: ingress-nginx
|
app.kubernetes.io/name: ingress-nginx
|
||||||
app.kubernetes.io/instance: ingress-nginx
|
app.kubernetes.io/instance: ingress-nginx
|
||||||
app.kubernetes.io/version: 0.49.0
|
app.kubernetes.io/version: 0.50.0
|
||||||
app.kubernetes.io/managed-by: Helm
|
app.kubernetes.io/managed-by: Helm
|
||||||
app.kubernetes.io/component: admission-webhook
|
app.kubernetes.io/component: admission-webhook
|
||||||
spec:
|
spec:
|
||||||
|
@ -624,10 +625,10 @@ metadata:
|
||||||
helm.sh/hook: post-install,post-upgrade
|
helm.sh/hook: post-install,post-upgrade
|
||||||
helm.sh/hook-delete-policy: before-hook-creation,hook-succeeded
|
helm.sh/hook-delete-policy: before-hook-creation,hook-succeeded
|
||||||
labels:
|
labels:
|
||||||
helm.sh/chart: ingress-nginx-3.36.0
|
helm.sh/chart: ingress-nginx-3.40.0
|
||||||
app.kubernetes.io/name: ingress-nginx
|
app.kubernetes.io/name: ingress-nginx
|
||||||
app.kubernetes.io/instance: ingress-nginx
|
app.kubernetes.io/instance: ingress-nginx
|
||||||
app.kubernetes.io/version: 0.49.0
|
app.kubernetes.io/version: 0.50.0
|
||||||
app.kubernetes.io/managed-by: Helm
|
app.kubernetes.io/managed-by: Helm
|
||||||
app.kubernetes.io/component: admission-webhook
|
app.kubernetes.io/component: admission-webhook
|
||||||
spec:
|
spec:
|
||||||
|
@ -635,10 +636,10 @@ spec:
|
||||||
metadata:
|
metadata:
|
||||||
name: ingress-nginx-admission-patch
|
name: ingress-nginx-admission-patch
|
||||||
labels:
|
labels:
|
||||||
helm.sh/chart: ingress-nginx-3.36.0
|
helm.sh/chart: ingress-nginx-3.40.0
|
||||||
app.kubernetes.io/name: ingress-nginx
|
app.kubernetes.io/name: ingress-nginx
|
||||||
app.kubernetes.io/instance: ingress-nginx
|
app.kubernetes.io/instance: ingress-nginx
|
||||||
app.kubernetes.io/version: 0.49.0
|
app.kubernetes.io/version: 0.50.0
|
||||||
app.kubernetes.io/managed-by: Helm
|
app.kubernetes.io/managed-by: Helm
|
||||||
app.kubernetes.io/component: admission-webhook
|
app.kubernetes.io/component: admission-webhook
|
||||||
spec:
|
spec:
|
||||||
|
|
|
@ -13,10 +13,10 @@ apiVersion: v1
|
||||||
kind: ServiceAccount
|
kind: ServiceAccount
|
||||||
metadata:
|
metadata:
|
||||||
labels:
|
labels:
|
||||||
helm.sh/chart: ingress-nginx-3.36.0
|
helm.sh/chart: ingress-nginx-3.40.0
|
||||||
app.kubernetes.io/name: ingress-nginx
|
app.kubernetes.io/name: ingress-nginx
|
||||||
app.kubernetes.io/instance: ingress-nginx
|
app.kubernetes.io/instance: ingress-nginx
|
||||||
app.kubernetes.io/version: 0.49.0
|
app.kubernetes.io/version: 0.50.0
|
||||||
app.kubernetes.io/managed-by: Helm
|
app.kubernetes.io/managed-by: Helm
|
||||||
app.kubernetes.io/component: controller
|
app.kubernetes.io/component: controller
|
||||||
name: ingress-nginx
|
name: ingress-nginx
|
||||||
|
@ -28,25 +28,26 @@ apiVersion: v1
|
||||||
kind: ConfigMap
|
kind: ConfigMap
|
||||||
metadata:
|
metadata:
|
||||||
labels:
|
labels:
|
||||||
helm.sh/chart: ingress-nginx-3.36.0
|
helm.sh/chart: ingress-nginx-3.40.0
|
||||||
app.kubernetes.io/name: ingress-nginx
|
app.kubernetes.io/name: ingress-nginx
|
||||||
app.kubernetes.io/instance: ingress-nginx
|
app.kubernetes.io/instance: ingress-nginx
|
||||||
app.kubernetes.io/version: 0.49.0
|
app.kubernetes.io/version: 0.50.0
|
||||||
app.kubernetes.io/managed-by: Helm
|
app.kubernetes.io/managed-by: Helm
|
||||||
app.kubernetes.io/component: controller
|
app.kubernetes.io/component: controller
|
||||||
name: ingress-nginx-controller
|
name: ingress-nginx-controller
|
||||||
namespace: ingress-nginx
|
namespace: ingress-nginx
|
||||||
data:
|
data:
|
||||||
|
allow-snippet-annotations: 'true'
|
||||||
---
|
---
|
||||||
# Source: ingress-nginx/templates/clusterrole.yaml
|
# Source: ingress-nginx/templates/clusterrole.yaml
|
||||||
apiVersion: rbac.authorization.k8s.io/v1
|
apiVersion: rbac.authorization.k8s.io/v1
|
||||||
kind: ClusterRole
|
kind: ClusterRole
|
||||||
metadata:
|
metadata:
|
||||||
labels:
|
labels:
|
||||||
helm.sh/chart: ingress-nginx-3.36.0
|
helm.sh/chart: ingress-nginx-3.40.0
|
||||||
app.kubernetes.io/name: ingress-nginx
|
app.kubernetes.io/name: ingress-nginx
|
||||||
app.kubernetes.io/instance: ingress-nginx
|
app.kubernetes.io/instance: ingress-nginx
|
||||||
app.kubernetes.io/version: 0.49.0
|
app.kubernetes.io/version: 0.50.0
|
||||||
app.kubernetes.io/managed-by: Helm
|
app.kubernetes.io/managed-by: Helm
|
||||||
name: ingress-nginx
|
name: ingress-nginx
|
||||||
rules:
|
rules:
|
||||||
|
@ -112,10 +113,10 @@ apiVersion: rbac.authorization.k8s.io/v1
|
||||||
kind: ClusterRoleBinding
|
kind: ClusterRoleBinding
|
||||||
metadata:
|
metadata:
|
||||||
labels:
|
labels:
|
||||||
helm.sh/chart: ingress-nginx-3.36.0
|
helm.sh/chart: ingress-nginx-3.40.0
|
||||||
app.kubernetes.io/name: ingress-nginx
|
app.kubernetes.io/name: ingress-nginx
|
||||||
app.kubernetes.io/instance: ingress-nginx
|
app.kubernetes.io/instance: ingress-nginx
|
||||||
app.kubernetes.io/version: 0.49.0
|
app.kubernetes.io/version: 0.50.0
|
||||||
app.kubernetes.io/managed-by: Helm
|
app.kubernetes.io/managed-by: Helm
|
||||||
name: ingress-nginx
|
name: ingress-nginx
|
||||||
roleRef:
|
roleRef:
|
||||||
|
@ -132,10 +133,10 @@ apiVersion: rbac.authorization.k8s.io/v1
|
||||||
kind: Role
|
kind: Role
|
||||||
metadata:
|
metadata:
|
||||||
labels:
|
labels:
|
||||||
helm.sh/chart: ingress-nginx-3.36.0
|
helm.sh/chart: ingress-nginx-3.40.0
|
||||||
app.kubernetes.io/name: ingress-nginx
|
app.kubernetes.io/name: ingress-nginx
|
||||||
app.kubernetes.io/instance: ingress-nginx
|
app.kubernetes.io/instance: ingress-nginx
|
||||||
app.kubernetes.io/version: 0.49.0
|
app.kubernetes.io/version: 0.50.0
|
||||||
app.kubernetes.io/managed-by: Helm
|
app.kubernetes.io/managed-by: Helm
|
||||||
app.kubernetes.io/component: controller
|
app.kubernetes.io/component: controller
|
||||||
name: ingress-nginx
|
name: ingress-nginx
|
||||||
|
@ -218,10 +219,10 @@ apiVersion: rbac.authorization.k8s.io/v1
|
||||||
kind: RoleBinding
|
kind: RoleBinding
|
||||||
metadata:
|
metadata:
|
||||||
labels:
|
labels:
|
||||||
helm.sh/chart: ingress-nginx-3.36.0
|
helm.sh/chart: ingress-nginx-3.40.0
|
||||||
app.kubernetes.io/name: ingress-nginx
|
app.kubernetes.io/name: ingress-nginx
|
||||||
app.kubernetes.io/instance: ingress-nginx
|
app.kubernetes.io/instance: ingress-nginx
|
||||||
app.kubernetes.io/version: 0.49.0
|
app.kubernetes.io/version: 0.50.0
|
||||||
app.kubernetes.io/managed-by: Helm
|
app.kubernetes.io/managed-by: Helm
|
||||||
app.kubernetes.io/component: controller
|
app.kubernetes.io/component: controller
|
||||||
name: ingress-nginx
|
name: ingress-nginx
|
||||||
|
@ -240,10 +241,10 @@ apiVersion: v1
|
||||||
kind: Service
|
kind: Service
|
||||||
metadata:
|
metadata:
|
||||||
labels:
|
labels:
|
||||||
helm.sh/chart: ingress-nginx-3.36.0
|
helm.sh/chart: ingress-nginx-3.40.0
|
||||||
app.kubernetes.io/name: ingress-nginx
|
app.kubernetes.io/name: ingress-nginx
|
||||||
app.kubernetes.io/instance: ingress-nginx
|
app.kubernetes.io/instance: ingress-nginx
|
||||||
app.kubernetes.io/version: 0.49.0
|
app.kubernetes.io/version: 0.50.0
|
||||||
app.kubernetes.io/managed-by: Helm
|
app.kubernetes.io/managed-by: Helm
|
||||||
app.kubernetes.io/component: controller
|
app.kubernetes.io/component: controller
|
||||||
name: ingress-nginx-controller-admission
|
name: ingress-nginx-controller-admission
|
||||||
|
@ -265,10 +266,10 @@ kind: Service
|
||||||
metadata:
|
metadata:
|
||||||
annotations:
|
annotations:
|
||||||
labels:
|
labels:
|
||||||
helm.sh/chart: ingress-nginx-3.36.0
|
helm.sh/chart: ingress-nginx-3.40.0
|
||||||
app.kubernetes.io/name: ingress-nginx
|
app.kubernetes.io/name: ingress-nginx
|
||||||
app.kubernetes.io/instance: ingress-nginx
|
app.kubernetes.io/instance: ingress-nginx
|
||||||
app.kubernetes.io/version: 0.49.0
|
app.kubernetes.io/version: 0.50.0
|
||||||
app.kubernetes.io/managed-by: Helm
|
app.kubernetes.io/managed-by: Helm
|
||||||
app.kubernetes.io/component: controller
|
app.kubernetes.io/component: controller
|
||||||
name: ingress-nginx-controller
|
name: ingress-nginx-controller
|
||||||
|
@ -294,10 +295,10 @@ apiVersion: apps/v1
|
||||||
kind: Deployment
|
kind: Deployment
|
||||||
metadata:
|
metadata:
|
||||||
labels:
|
labels:
|
||||||
helm.sh/chart: ingress-nginx-3.36.0
|
helm.sh/chart: ingress-nginx-3.40.0
|
||||||
app.kubernetes.io/name: ingress-nginx
|
app.kubernetes.io/name: ingress-nginx
|
||||||
app.kubernetes.io/instance: ingress-nginx
|
app.kubernetes.io/instance: ingress-nginx
|
||||||
app.kubernetes.io/version: 0.49.0
|
app.kubernetes.io/version: 0.50.0
|
||||||
app.kubernetes.io/managed-by: Helm
|
app.kubernetes.io/managed-by: Helm
|
||||||
app.kubernetes.io/component: controller
|
app.kubernetes.io/component: controller
|
||||||
name: ingress-nginx-controller
|
name: ingress-nginx-controller
|
||||||
|
@ -324,7 +325,7 @@ spec:
|
||||||
dnsPolicy: ClusterFirst
|
dnsPolicy: ClusterFirst
|
||||||
containers:
|
containers:
|
||||||
- name: controller
|
- name: controller
|
||||||
image: k8s.gcr.io/ingress-nginx/controller:v0.49.0@sha256:e9707504ad0d4c119036b6d41ace4a33596139d3feb9ccb6617813ce48c3eeef
|
image: k8s.gcr.io/ingress-nginx/controller:v0.50.0@sha256:f46fc2d161c97a9d950635acb86fb3f8d4adcfb03ee241ea89c6cde16aa3fdf8
|
||||||
imagePullPolicy: IfNotPresent
|
imagePullPolicy: IfNotPresent
|
||||||
lifecycle:
|
lifecycle:
|
||||||
preStop:
|
preStop:
|
||||||
|
@ -420,10 +421,10 @@ apiVersion: admissionregistration.k8s.io/v1
|
||||||
kind: ValidatingWebhookConfiguration
|
kind: ValidatingWebhookConfiguration
|
||||||
metadata:
|
metadata:
|
||||||
labels:
|
labels:
|
||||||
helm.sh/chart: ingress-nginx-3.36.0
|
helm.sh/chart: ingress-nginx-3.40.0
|
||||||
app.kubernetes.io/name: ingress-nginx
|
app.kubernetes.io/name: ingress-nginx
|
||||||
app.kubernetes.io/instance: ingress-nginx
|
app.kubernetes.io/instance: ingress-nginx
|
||||||
app.kubernetes.io/version: 0.49.0
|
app.kubernetes.io/version: 0.50.0
|
||||||
app.kubernetes.io/managed-by: Helm
|
app.kubernetes.io/managed-by: Helm
|
||||||
app.kubernetes.io/component: admission-webhook
|
app.kubernetes.io/component: admission-webhook
|
||||||
name: ingress-nginx-admission
|
name: ingress-nginx-admission
|
||||||
|
@ -461,10 +462,10 @@ metadata:
|
||||||
helm.sh/hook: pre-install,pre-upgrade,post-install,post-upgrade
|
helm.sh/hook: pre-install,pre-upgrade,post-install,post-upgrade
|
||||||
helm.sh/hook-delete-policy: before-hook-creation,hook-succeeded
|
helm.sh/hook-delete-policy: before-hook-creation,hook-succeeded
|
||||||
labels:
|
labels:
|
||||||
helm.sh/chart: ingress-nginx-3.36.0
|
helm.sh/chart: ingress-nginx-3.40.0
|
||||||
app.kubernetes.io/name: ingress-nginx
|
app.kubernetes.io/name: ingress-nginx
|
||||||
app.kubernetes.io/instance: ingress-nginx
|
app.kubernetes.io/instance: ingress-nginx
|
||||||
app.kubernetes.io/version: 0.49.0
|
app.kubernetes.io/version: 0.50.0
|
||||||
app.kubernetes.io/managed-by: Helm
|
app.kubernetes.io/managed-by: Helm
|
||||||
app.kubernetes.io/component: admission-webhook
|
app.kubernetes.io/component: admission-webhook
|
||||||
---
|
---
|
||||||
|
@ -477,10 +478,10 @@ metadata:
|
||||||
helm.sh/hook: pre-install,pre-upgrade,post-install,post-upgrade
|
helm.sh/hook: pre-install,pre-upgrade,post-install,post-upgrade
|
||||||
helm.sh/hook-delete-policy: before-hook-creation,hook-succeeded
|
helm.sh/hook-delete-policy: before-hook-creation,hook-succeeded
|
||||||
labels:
|
labels:
|
||||||
helm.sh/chart: ingress-nginx-3.36.0
|
helm.sh/chart: ingress-nginx-3.40.0
|
||||||
app.kubernetes.io/name: ingress-nginx
|
app.kubernetes.io/name: ingress-nginx
|
||||||
app.kubernetes.io/instance: ingress-nginx
|
app.kubernetes.io/instance: ingress-nginx
|
||||||
app.kubernetes.io/version: 0.49.0
|
app.kubernetes.io/version: 0.50.0
|
||||||
app.kubernetes.io/managed-by: Helm
|
app.kubernetes.io/managed-by: Helm
|
||||||
app.kubernetes.io/component: admission-webhook
|
app.kubernetes.io/component: admission-webhook
|
||||||
rules:
|
rules:
|
||||||
|
@ -501,10 +502,10 @@ metadata:
|
||||||
helm.sh/hook: pre-install,pre-upgrade,post-install,post-upgrade
|
helm.sh/hook: pre-install,pre-upgrade,post-install,post-upgrade
|
||||||
helm.sh/hook-delete-policy: before-hook-creation,hook-succeeded
|
helm.sh/hook-delete-policy: before-hook-creation,hook-succeeded
|
||||||
labels:
|
labels:
|
||||||
helm.sh/chart: ingress-nginx-3.36.0
|
helm.sh/chart: ingress-nginx-3.40.0
|
||||||
app.kubernetes.io/name: ingress-nginx
|
app.kubernetes.io/name: ingress-nginx
|
||||||
app.kubernetes.io/instance: ingress-nginx
|
app.kubernetes.io/instance: ingress-nginx
|
||||||
app.kubernetes.io/version: 0.49.0
|
app.kubernetes.io/version: 0.50.0
|
||||||
app.kubernetes.io/managed-by: Helm
|
app.kubernetes.io/managed-by: Helm
|
||||||
app.kubernetes.io/component: admission-webhook
|
app.kubernetes.io/component: admission-webhook
|
||||||
roleRef:
|
roleRef:
|
||||||
|
@ -526,10 +527,10 @@ metadata:
|
||||||
helm.sh/hook: pre-install,pre-upgrade,post-install,post-upgrade
|
helm.sh/hook: pre-install,pre-upgrade,post-install,post-upgrade
|
||||||
helm.sh/hook-delete-policy: before-hook-creation,hook-succeeded
|
helm.sh/hook-delete-policy: before-hook-creation,hook-succeeded
|
||||||
labels:
|
labels:
|
||||||
helm.sh/chart: ingress-nginx-3.36.0
|
helm.sh/chart: ingress-nginx-3.40.0
|
||||||
app.kubernetes.io/name: ingress-nginx
|
app.kubernetes.io/name: ingress-nginx
|
||||||
app.kubernetes.io/instance: ingress-nginx
|
app.kubernetes.io/instance: ingress-nginx
|
||||||
app.kubernetes.io/version: 0.49.0
|
app.kubernetes.io/version: 0.50.0
|
||||||
app.kubernetes.io/managed-by: Helm
|
app.kubernetes.io/managed-by: Helm
|
||||||
app.kubernetes.io/component: admission-webhook
|
app.kubernetes.io/component: admission-webhook
|
||||||
rules:
|
rules:
|
||||||
|
@ -551,10 +552,10 @@ metadata:
|
||||||
helm.sh/hook: pre-install,pre-upgrade,post-install,post-upgrade
|
helm.sh/hook: pre-install,pre-upgrade,post-install,post-upgrade
|
||||||
helm.sh/hook-delete-policy: before-hook-creation,hook-succeeded
|
helm.sh/hook-delete-policy: before-hook-creation,hook-succeeded
|
||||||
labels:
|
labels:
|
||||||
helm.sh/chart: ingress-nginx-3.36.0
|
helm.sh/chart: ingress-nginx-3.40.0
|
||||||
app.kubernetes.io/name: ingress-nginx
|
app.kubernetes.io/name: ingress-nginx
|
||||||
app.kubernetes.io/instance: ingress-nginx
|
app.kubernetes.io/instance: ingress-nginx
|
||||||
app.kubernetes.io/version: 0.49.0
|
app.kubernetes.io/version: 0.50.0
|
||||||
app.kubernetes.io/managed-by: Helm
|
app.kubernetes.io/managed-by: Helm
|
||||||
app.kubernetes.io/component: admission-webhook
|
app.kubernetes.io/component: admission-webhook
|
||||||
roleRef:
|
roleRef:
|
||||||
|
@ -576,10 +577,10 @@ metadata:
|
||||||
helm.sh/hook: pre-install,pre-upgrade
|
helm.sh/hook: pre-install,pre-upgrade
|
||||||
helm.sh/hook-delete-policy: before-hook-creation,hook-succeeded
|
helm.sh/hook-delete-policy: before-hook-creation,hook-succeeded
|
||||||
labels:
|
labels:
|
||||||
helm.sh/chart: ingress-nginx-3.36.0
|
helm.sh/chart: ingress-nginx-3.40.0
|
||||||
app.kubernetes.io/name: ingress-nginx
|
app.kubernetes.io/name: ingress-nginx
|
||||||
app.kubernetes.io/instance: ingress-nginx
|
app.kubernetes.io/instance: ingress-nginx
|
||||||
app.kubernetes.io/version: 0.49.0
|
app.kubernetes.io/version: 0.50.0
|
||||||
app.kubernetes.io/managed-by: Helm
|
app.kubernetes.io/managed-by: Helm
|
||||||
app.kubernetes.io/component: admission-webhook
|
app.kubernetes.io/component: admission-webhook
|
||||||
spec:
|
spec:
|
||||||
|
@ -587,10 +588,10 @@ spec:
|
||||||
metadata:
|
metadata:
|
||||||
name: ingress-nginx-admission-create
|
name: ingress-nginx-admission-create
|
||||||
labels:
|
labels:
|
||||||
helm.sh/chart: ingress-nginx-3.36.0
|
helm.sh/chart: ingress-nginx-3.40.0
|
||||||
app.kubernetes.io/name: ingress-nginx
|
app.kubernetes.io/name: ingress-nginx
|
||||||
app.kubernetes.io/instance: ingress-nginx
|
app.kubernetes.io/instance: ingress-nginx
|
||||||
app.kubernetes.io/version: 0.49.0
|
app.kubernetes.io/version: 0.50.0
|
||||||
app.kubernetes.io/managed-by: Helm
|
app.kubernetes.io/managed-by: Helm
|
||||||
app.kubernetes.io/component: admission-webhook
|
app.kubernetes.io/component: admission-webhook
|
||||||
spec:
|
spec:
|
||||||
|
@ -626,10 +627,10 @@ metadata:
|
||||||
helm.sh/hook: post-install,post-upgrade
|
helm.sh/hook: post-install,post-upgrade
|
||||||
helm.sh/hook-delete-policy: before-hook-creation,hook-succeeded
|
helm.sh/hook-delete-policy: before-hook-creation,hook-succeeded
|
||||||
labels:
|
labels:
|
||||||
helm.sh/chart: ingress-nginx-3.36.0
|
helm.sh/chart: ingress-nginx-3.40.0
|
||||||
app.kubernetes.io/name: ingress-nginx
|
app.kubernetes.io/name: ingress-nginx
|
||||||
app.kubernetes.io/instance: ingress-nginx
|
app.kubernetes.io/instance: ingress-nginx
|
||||||
app.kubernetes.io/version: 0.49.0
|
app.kubernetes.io/version: 0.50.0
|
||||||
app.kubernetes.io/managed-by: Helm
|
app.kubernetes.io/managed-by: Helm
|
||||||
app.kubernetes.io/component: admission-webhook
|
app.kubernetes.io/component: admission-webhook
|
||||||
spec:
|
spec:
|
||||||
|
@ -637,10 +638,10 @@ spec:
|
||||||
metadata:
|
metadata:
|
||||||
name: ingress-nginx-admission-patch
|
name: ingress-nginx-admission-patch
|
||||||
labels:
|
labels:
|
||||||
helm.sh/chart: ingress-nginx-3.36.0
|
helm.sh/chart: ingress-nginx-3.40.0
|
||||||
app.kubernetes.io/name: ingress-nginx
|
app.kubernetes.io/name: ingress-nginx
|
||||||
app.kubernetes.io/instance: ingress-nginx
|
app.kubernetes.io/instance: ingress-nginx
|
||||||
app.kubernetes.io/version: 0.49.0
|
app.kubernetes.io/version: 0.50.0
|
||||||
app.kubernetes.io/managed-by: Helm
|
app.kubernetes.io/managed-by: Helm
|
||||||
app.kubernetes.io/component: admission-webhook
|
app.kubernetes.io/component: admission-webhook
|
||||||
spec:
|
spec:
|
||||||
|
|
|
@ -13,10 +13,10 @@ apiVersion: v1
|
||||||
kind: ServiceAccount
|
kind: ServiceAccount
|
||||||
metadata:
|
metadata:
|
||||||
labels:
|
labels:
|
||||||
helm.sh/chart: ingress-nginx-3.36.0
|
helm.sh/chart: ingress-nginx-3.40.0
|
||||||
app.kubernetes.io/name: ingress-nginx
|
app.kubernetes.io/name: ingress-nginx
|
||||||
app.kubernetes.io/instance: ingress-nginx
|
app.kubernetes.io/instance: ingress-nginx
|
||||||
app.kubernetes.io/version: 0.49.0
|
app.kubernetes.io/version: 0.50.0
|
||||||
app.kubernetes.io/managed-by: Helm
|
app.kubernetes.io/managed-by: Helm
|
||||||
app.kubernetes.io/component: controller
|
app.kubernetes.io/component: controller
|
||||||
name: ingress-nginx
|
name: ingress-nginx
|
||||||
|
@ -28,15 +28,16 @@ apiVersion: v1
|
||||||
kind: ConfigMap
|
kind: ConfigMap
|
||||||
metadata:
|
metadata:
|
||||||
labels:
|
labels:
|
||||||
helm.sh/chart: ingress-nginx-3.36.0
|
helm.sh/chart: ingress-nginx-3.40.0
|
||||||
app.kubernetes.io/name: ingress-nginx
|
app.kubernetes.io/name: ingress-nginx
|
||||||
app.kubernetes.io/instance: ingress-nginx
|
app.kubernetes.io/instance: ingress-nginx
|
||||||
app.kubernetes.io/version: 0.49.0
|
app.kubernetes.io/version: 0.50.0
|
||||||
app.kubernetes.io/managed-by: Helm
|
app.kubernetes.io/managed-by: Helm
|
||||||
app.kubernetes.io/component: controller
|
app.kubernetes.io/component: controller
|
||||||
name: ingress-nginx-controller
|
name: ingress-nginx-controller
|
||||||
namespace: ingress-nginx
|
namespace: ingress-nginx
|
||||||
data:
|
data:
|
||||||
|
allow-snippet-annotations: 'true'
|
||||||
use-proxy-protocol: 'true'
|
use-proxy-protocol: 'true'
|
||||||
---
|
---
|
||||||
# Source: ingress-nginx/templates/clusterrole.yaml
|
# Source: ingress-nginx/templates/clusterrole.yaml
|
||||||
|
@ -44,10 +45,10 @@ apiVersion: rbac.authorization.k8s.io/v1
|
||||||
kind: ClusterRole
|
kind: ClusterRole
|
||||||
metadata:
|
metadata:
|
||||||
labels:
|
labels:
|
||||||
helm.sh/chart: ingress-nginx-3.36.0
|
helm.sh/chart: ingress-nginx-3.40.0
|
||||||
app.kubernetes.io/name: ingress-nginx
|
app.kubernetes.io/name: ingress-nginx
|
||||||
app.kubernetes.io/instance: ingress-nginx
|
app.kubernetes.io/instance: ingress-nginx
|
||||||
app.kubernetes.io/version: 0.49.0
|
app.kubernetes.io/version: 0.50.0
|
||||||
app.kubernetes.io/managed-by: Helm
|
app.kubernetes.io/managed-by: Helm
|
||||||
name: ingress-nginx
|
name: ingress-nginx
|
||||||
rules:
|
rules:
|
||||||
|
@ -113,10 +114,10 @@ apiVersion: rbac.authorization.k8s.io/v1
|
||||||
kind: ClusterRoleBinding
|
kind: ClusterRoleBinding
|
||||||
metadata:
|
metadata:
|
||||||
labels:
|
labels:
|
||||||
helm.sh/chart: ingress-nginx-3.36.0
|
helm.sh/chart: ingress-nginx-3.40.0
|
||||||
app.kubernetes.io/name: ingress-nginx
|
app.kubernetes.io/name: ingress-nginx
|
||||||
app.kubernetes.io/instance: ingress-nginx
|
app.kubernetes.io/instance: ingress-nginx
|
||||||
app.kubernetes.io/version: 0.49.0
|
app.kubernetes.io/version: 0.50.0
|
||||||
app.kubernetes.io/managed-by: Helm
|
app.kubernetes.io/managed-by: Helm
|
||||||
name: ingress-nginx
|
name: ingress-nginx
|
||||||
roleRef:
|
roleRef:
|
||||||
|
@ -133,10 +134,10 @@ apiVersion: rbac.authorization.k8s.io/v1
|
||||||
kind: Role
|
kind: Role
|
||||||
metadata:
|
metadata:
|
||||||
labels:
|
labels:
|
||||||
helm.sh/chart: ingress-nginx-3.36.0
|
helm.sh/chart: ingress-nginx-3.40.0
|
||||||
app.kubernetes.io/name: ingress-nginx
|
app.kubernetes.io/name: ingress-nginx
|
||||||
app.kubernetes.io/instance: ingress-nginx
|
app.kubernetes.io/instance: ingress-nginx
|
||||||
app.kubernetes.io/version: 0.49.0
|
app.kubernetes.io/version: 0.50.0
|
||||||
app.kubernetes.io/managed-by: Helm
|
app.kubernetes.io/managed-by: Helm
|
||||||
app.kubernetes.io/component: controller
|
app.kubernetes.io/component: controller
|
||||||
name: ingress-nginx
|
name: ingress-nginx
|
||||||
|
@ -219,10 +220,10 @@ apiVersion: rbac.authorization.k8s.io/v1
|
||||||
kind: RoleBinding
|
kind: RoleBinding
|
||||||
metadata:
|
metadata:
|
||||||
labels:
|
labels:
|
||||||
helm.sh/chart: ingress-nginx-3.36.0
|
helm.sh/chart: ingress-nginx-3.40.0
|
||||||
app.kubernetes.io/name: ingress-nginx
|
app.kubernetes.io/name: ingress-nginx
|
||||||
app.kubernetes.io/instance: ingress-nginx
|
app.kubernetes.io/instance: ingress-nginx
|
||||||
app.kubernetes.io/version: 0.49.0
|
app.kubernetes.io/version: 0.50.0
|
||||||
app.kubernetes.io/managed-by: Helm
|
app.kubernetes.io/managed-by: Helm
|
||||||
app.kubernetes.io/component: controller
|
app.kubernetes.io/component: controller
|
||||||
name: ingress-nginx
|
name: ingress-nginx
|
||||||
|
@ -241,10 +242,10 @@ apiVersion: v1
|
||||||
kind: Service
|
kind: Service
|
||||||
metadata:
|
metadata:
|
||||||
labels:
|
labels:
|
||||||
helm.sh/chart: ingress-nginx-3.36.0
|
helm.sh/chart: ingress-nginx-3.40.0
|
||||||
app.kubernetes.io/name: ingress-nginx
|
app.kubernetes.io/name: ingress-nginx
|
||||||
app.kubernetes.io/instance: ingress-nginx
|
app.kubernetes.io/instance: ingress-nginx
|
||||||
app.kubernetes.io/version: 0.49.0
|
app.kubernetes.io/version: 0.50.0
|
||||||
app.kubernetes.io/managed-by: Helm
|
app.kubernetes.io/managed-by: Helm
|
||||||
app.kubernetes.io/component: controller
|
app.kubernetes.io/component: controller
|
||||||
name: ingress-nginx-controller-admission
|
name: ingress-nginx-controller-admission
|
||||||
|
@ -267,10 +268,10 @@ metadata:
|
||||||
annotations:
|
annotations:
|
||||||
service.beta.kubernetes.io/scw-loadbalancer-proxy-protocol-v2: 'true'
|
service.beta.kubernetes.io/scw-loadbalancer-proxy-protocol-v2: 'true'
|
||||||
labels:
|
labels:
|
||||||
helm.sh/chart: ingress-nginx-3.36.0
|
helm.sh/chart: ingress-nginx-3.40.0
|
||||||
app.kubernetes.io/name: ingress-nginx
|
app.kubernetes.io/name: ingress-nginx
|
||||||
app.kubernetes.io/instance: ingress-nginx
|
app.kubernetes.io/instance: ingress-nginx
|
||||||
app.kubernetes.io/version: 0.49.0
|
app.kubernetes.io/version: 0.50.0
|
||||||
app.kubernetes.io/managed-by: Helm
|
app.kubernetes.io/managed-by: Helm
|
||||||
app.kubernetes.io/component: controller
|
app.kubernetes.io/component: controller
|
||||||
name: ingress-nginx-controller
|
name: ingress-nginx-controller
|
||||||
|
@ -297,10 +298,10 @@ apiVersion: apps/v1
|
||||||
kind: Deployment
|
kind: Deployment
|
||||||
metadata:
|
metadata:
|
||||||
labels:
|
labels:
|
||||||
helm.sh/chart: ingress-nginx-3.36.0
|
helm.sh/chart: ingress-nginx-3.40.0
|
||||||
app.kubernetes.io/name: ingress-nginx
|
app.kubernetes.io/name: ingress-nginx
|
||||||
app.kubernetes.io/instance: ingress-nginx
|
app.kubernetes.io/instance: ingress-nginx
|
||||||
app.kubernetes.io/version: 0.49.0
|
app.kubernetes.io/version: 0.50.0
|
||||||
app.kubernetes.io/managed-by: Helm
|
app.kubernetes.io/managed-by: Helm
|
||||||
app.kubernetes.io/component: controller
|
app.kubernetes.io/component: controller
|
||||||
name: ingress-nginx-controller
|
name: ingress-nginx-controller
|
||||||
|
@ -323,7 +324,7 @@ spec:
|
||||||
dnsPolicy: ClusterFirst
|
dnsPolicy: ClusterFirst
|
||||||
containers:
|
containers:
|
||||||
- name: controller
|
- name: controller
|
||||||
image: k8s.gcr.io/ingress-nginx/controller:v0.49.0@sha256:e9707504ad0d4c119036b6d41ace4a33596139d3feb9ccb6617813ce48c3eeef
|
image: k8s.gcr.io/ingress-nginx/controller:v0.50.0@sha256:f46fc2d161c97a9d950635acb86fb3f8d4adcfb03ee241ea89c6cde16aa3fdf8
|
||||||
imagePullPolicy: IfNotPresent
|
imagePullPolicy: IfNotPresent
|
||||||
lifecycle:
|
lifecycle:
|
||||||
preStop:
|
preStop:
|
||||||
|
@ -412,10 +413,10 @@ apiVersion: admissionregistration.k8s.io/v1
|
||||||
kind: ValidatingWebhookConfiguration
|
kind: ValidatingWebhookConfiguration
|
||||||
metadata:
|
metadata:
|
||||||
labels:
|
labels:
|
||||||
helm.sh/chart: ingress-nginx-3.36.0
|
helm.sh/chart: ingress-nginx-3.40.0
|
||||||
app.kubernetes.io/name: ingress-nginx
|
app.kubernetes.io/name: ingress-nginx
|
||||||
app.kubernetes.io/instance: ingress-nginx
|
app.kubernetes.io/instance: ingress-nginx
|
||||||
app.kubernetes.io/version: 0.49.0
|
app.kubernetes.io/version: 0.50.0
|
||||||
app.kubernetes.io/managed-by: Helm
|
app.kubernetes.io/managed-by: Helm
|
||||||
app.kubernetes.io/component: admission-webhook
|
app.kubernetes.io/component: admission-webhook
|
||||||
name: ingress-nginx-admission
|
name: ingress-nginx-admission
|
||||||
|
@ -453,10 +454,10 @@ metadata:
|
||||||
helm.sh/hook: pre-install,pre-upgrade,post-install,post-upgrade
|
helm.sh/hook: pre-install,pre-upgrade,post-install,post-upgrade
|
||||||
helm.sh/hook-delete-policy: before-hook-creation,hook-succeeded
|
helm.sh/hook-delete-policy: before-hook-creation,hook-succeeded
|
||||||
labels:
|
labels:
|
||||||
helm.sh/chart: ingress-nginx-3.36.0
|
helm.sh/chart: ingress-nginx-3.40.0
|
||||||
app.kubernetes.io/name: ingress-nginx
|
app.kubernetes.io/name: ingress-nginx
|
||||||
app.kubernetes.io/instance: ingress-nginx
|
app.kubernetes.io/instance: ingress-nginx
|
||||||
app.kubernetes.io/version: 0.49.0
|
app.kubernetes.io/version: 0.50.0
|
||||||
app.kubernetes.io/managed-by: Helm
|
app.kubernetes.io/managed-by: Helm
|
||||||
app.kubernetes.io/component: admission-webhook
|
app.kubernetes.io/component: admission-webhook
|
||||||
---
|
---
|
||||||
|
@ -469,10 +470,10 @@ metadata:
|
||||||
helm.sh/hook: pre-install,pre-upgrade,post-install,post-upgrade
|
helm.sh/hook: pre-install,pre-upgrade,post-install,post-upgrade
|
||||||
helm.sh/hook-delete-policy: before-hook-creation,hook-succeeded
|
helm.sh/hook-delete-policy: before-hook-creation,hook-succeeded
|
||||||
labels:
|
labels:
|
||||||
helm.sh/chart: ingress-nginx-3.36.0
|
helm.sh/chart: ingress-nginx-3.40.0
|
||||||
app.kubernetes.io/name: ingress-nginx
|
app.kubernetes.io/name: ingress-nginx
|
||||||
app.kubernetes.io/instance: ingress-nginx
|
app.kubernetes.io/instance: ingress-nginx
|
||||||
app.kubernetes.io/version: 0.49.0
|
app.kubernetes.io/version: 0.50.0
|
||||||
app.kubernetes.io/managed-by: Helm
|
app.kubernetes.io/managed-by: Helm
|
||||||
app.kubernetes.io/component: admission-webhook
|
app.kubernetes.io/component: admission-webhook
|
||||||
rules:
|
rules:
|
||||||
|
@ -493,10 +494,10 @@ metadata:
|
||||||
helm.sh/hook: pre-install,pre-upgrade,post-install,post-upgrade
|
helm.sh/hook: pre-install,pre-upgrade,post-install,post-upgrade
|
||||||
helm.sh/hook-delete-policy: before-hook-creation,hook-succeeded
|
helm.sh/hook-delete-policy: before-hook-creation,hook-succeeded
|
||||||
labels:
|
labels:
|
||||||
helm.sh/chart: ingress-nginx-3.36.0
|
helm.sh/chart: ingress-nginx-3.40.0
|
||||||
app.kubernetes.io/name: ingress-nginx
|
app.kubernetes.io/name: ingress-nginx
|
||||||
app.kubernetes.io/instance: ingress-nginx
|
app.kubernetes.io/instance: ingress-nginx
|
||||||
app.kubernetes.io/version: 0.49.0
|
app.kubernetes.io/version: 0.50.0
|
||||||
app.kubernetes.io/managed-by: Helm
|
app.kubernetes.io/managed-by: Helm
|
||||||
app.kubernetes.io/component: admission-webhook
|
app.kubernetes.io/component: admission-webhook
|
||||||
roleRef:
|
roleRef:
|
||||||
|
@ -518,10 +519,10 @@ metadata:
|
||||||
helm.sh/hook: pre-install,pre-upgrade,post-install,post-upgrade
|
helm.sh/hook: pre-install,pre-upgrade,post-install,post-upgrade
|
||||||
helm.sh/hook-delete-policy: before-hook-creation,hook-succeeded
|
helm.sh/hook-delete-policy: before-hook-creation,hook-succeeded
|
||||||
labels:
|
labels:
|
||||||
helm.sh/chart: ingress-nginx-3.36.0
|
helm.sh/chart: ingress-nginx-3.40.0
|
||||||
app.kubernetes.io/name: ingress-nginx
|
app.kubernetes.io/name: ingress-nginx
|
||||||
app.kubernetes.io/instance: ingress-nginx
|
app.kubernetes.io/instance: ingress-nginx
|
||||||
app.kubernetes.io/version: 0.49.0
|
app.kubernetes.io/version: 0.50.0
|
||||||
app.kubernetes.io/managed-by: Helm
|
app.kubernetes.io/managed-by: Helm
|
||||||
app.kubernetes.io/component: admission-webhook
|
app.kubernetes.io/component: admission-webhook
|
||||||
rules:
|
rules:
|
||||||
|
@ -543,10 +544,10 @@ metadata:
|
||||||
helm.sh/hook: pre-install,pre-upgrade,post-install,post-upgrade
|
helm.sh/hook: pre-install,pre-upgrade,post-install,post-upgrade
|
||||||
helm.sh/hook-delete-policy: before-hook-creation,hook-succeeded
|
helm.sh/hook-delete-policy: before-hook-creation,hook-succeeded
|
||||||
labels:
|
labels:
|
||||||
helm.sh/chart: ingress-nginx-3.36.0
|
helm.sh/chart: ingress-nginx-3.40.0
|
||||||
app.kubernetes.io/name: ingress-nginx
|
app.kubernetes.io/name: ingress-nginx
|
||||||
app.kubernetes.io/instance: ingress-nginx
|
app.kubernetes.io/instance: ingress-nginx
|
||||||
app.kubernetes.io/version: 0.49.0
|
app.kubernetes.io/version: 0.50.0
|
||||||
app.kubernetes.io/managed-by: Helm
|
app.kubernetes.io/managed-by: Helm
|
||||||
app.kubernetes.io/component: admission-webhook
|
app.kubernetes.io/component: admission-webhook
|
||||||
roleRef:
|
roleRef:
|
||||||
|
@ -568,10 +569,10 @@ metadata:
|
||||||
helm.sh/hook: pre-install,pre-upgrade
|
helm.sh/hook: pre-install,pre-upgrade
|
||||||
helm.sh/hook-delete-policy: before-hook-creation,hook-succeeded
|
helm.sh/hook-delete-policy: before-hook-creation,hook-succeeded
|
||||||
labels:
|
labels:
|
||||||
helm.sh/chart: ingress-nginx-3.36.0
|
helm.sh/chart: ingress-nginx-3.40.0
|
||||||
app.kubernetes.io/name: ingress-nginx
|
app.kubernetes.io/name: ingress-nginx
|
||||||
app.kubernetes.io/instance: ingress-nginx
|
app.kubernetes.io/instance: ingress-nginx
|
||||||
app.kubernetes.io/version: 0.49.0
|
app.kubernetes.io/version: 0.50.0
|
||||||
app.kubernetes.io/managed-by: Helm
|
app.kubernetes.io/managed-by: Helm
|
||||||
app.kubernetes.io/component: admission-webhook
|
app.kubernetes.io/component: admission-webhook
|
||||||
spec:
|
spec:
|
||||||
|
@ -579,10 +580,10 @@ spec:
|
||||||
metadata:
|
metadata:
|
||||||
name: ingress-nginx-admission-create
|
name: ingress-nginx-admission-create
|
||||||
labels:
|
labels:
|
||||||
helm.sh/chart: ingress-nginx-3.36.0
|
helm.sh/chart: ingress-nginx-3.40.0
|
||||||
app.kubernetes.io/name: ingress-nginx
|
app.kubernetes.io/name: ingress-nginx
|
||||||
app.kubernetes.io/instance: ingress-nginx
|
app.kubernetes.io/instance: ingress-nginx
|
||||||
app.kubernetes.io/version: 0.49.0
|
app.kubernetes.io/version: 0.50.0
|
||||||
app.kubernetes.io/managed-by: Helm
|
app.kubernetes.io/managed-by: Helm
|
||||||
app.kubernetes.io/component: admission-webhook
|
app.kubernetes.io/component: admission-webhook
|
||||||
spec:
|
spec:
|
||||||
|
@ -618,10 +619,10 @@ metadata:
|
||||||
helm.sh/hook: post-install,post-upgrade
|
helm.sh/hook: post-install,post-upgrade
|
||||||
helm.sh/hook-delete-policy: before-hook-creation,hook-succeeded
|
helm.sh/hook-delete-policy: before-hook-creation,hook-succeeded
|
||||||
labels:
|
labels:
|
||||||
helm.sh/chart: ingress-nginx-3.36.0
|
helm.sh/chart: ingress-nginx-3.40.0
|
||||||
app.kubernetes.io/name: ingress-nginx
|
app.kubernetes.io/name: ingress-nginx
|
||||||
app.kubernetes.io/instance: ingress-nginx
|
app.kubernetes.io/instance: ingress-nginx
|
||||||
app.kubernetes.io/version: 0.49.0
|
app.kubernetes.io/version: 0.50.0
|
||||||
app.kubernetes.io/managed-by: Helm
|
app.kubernetes.io/managed-by: Helm
|
||||||
app.kubernetes.io/component: admission-webhook
|
app.kubernetes.io/component: admission-webhook
|
||||||
spec:
|
spec:
|
||||||
|
@ -629,10 +630,10 @@ spec:
|
||||||
metadata:
|
metadata:
|
||||||
name: ingress-nginx-admission-patch
|
name: ingress-nginx-admission-patch
|
||||||
labels:
|
labels:
|
||||||
helm.sh/chart: ingress-nginx-3.36.0
|
helm.sh/chart: ingress-nginx-3.40.0
|
||||||
app.kubernetes.io/name: ingress-nginx
|
app.kubernetes.io/name: ingress-nginx
|
||||||
app.kubernetes.io/instance: ingress-nginx
|
app.kubernetes.io/instance: ingress-nginx
|
||||||
app.kubernetes.io/version: 0.49.0
|
app.kubernetes.io/version: 0.50.0
|
||||||
app.kubernetes.io/managed-by: Helm
|
app.kubernetes.io/managed-by: Helm
|
||||||
app.kubernetes.io/component: admission-webhook
|
app.kubernetes.io/component: admission-webhook
|
||||||
spec:
|
spec:
|
||||||
|
|
|
@ -29,6 +29,8 @@ The following table shows a configuration option's name, type, and the default v
|
||||||
|:---|:---|:------|
|
|:---|:---|:------|
|
||||||
|[add-headers](#add-headers)|string|""|
|
|[add-headers](#add-headers)|string|""|
|
||||||
|[allow-backend-server-header](#allow-backend-server-header)|bool|"false"|
|
|[allow-backend-server-header](#allow-backend-server-header)|bool|"false"|
|
||||||
|
|[allow-snippet-annotations](#allow-snippet-annotations)|bool|true|
|
||||||
|
|[annotation-value-word-blocklist](#annotation-value-word-blocklist)|string array|""|
|
||||||
|[hide-headers](#hide-headers)|string array|empty|
|
|[hide-headers](#hide-headers)|string array|empty|
|
||||||
|[access-log-params](#access-log-params)|string|""|
|
|[access-log-params](#access-log-params)|string|""|
|
||||||
|[access-log-path](#access-log-path)|string|"/var/log/nginx/access.log"|
|
|[access-log-path](#access-log-path)|string|"/var/log/nginx/access.log"|
|
||||||
|
@ -209,6 +211,27 @@ Sets custom headers from named configmap before sending traffic to the client. S
|
||||||
|
|
||||||
Enables the return of the header Server from the backend instead of the generic nginx string. _**default:**_ is disabled
|
Enables the return of the header Server from the backend instead of the generic nginx string. _**default:**_ is disabled
|
||||||
|
|
||||||
|
## allow-snippet-annotations
|
||||||
|
|
||||||
|
Enables Ingress to parse and add *-snippet annotations/directives created by the user. _**default:**_ `true`;
|
||||||
|
|
||||||
|
Warning: We recommend enabling this option only if you TRUST users with permission to create Ingress objects, as this
|
||||||
|
may allow a user to add restricted configurations to the final nginx.conf file
|
||||||
|
|
||||||
|
## annotation-value-word-blocklist
|
||||||
|
|
||||||
|
Contains a comma-separated value of chars/words that are well known of being used to abuse Ingress configuration
|
||||||
|
and must be blocked. Related to [CVE-2021-25742](https://github.com/kubernetes/ingress-nginx/issues/7837)
|
||||||
|
|
||||||
|
When an annotation is detected with a value that matches one of the blocked bad words, the whole Ingress won't be configured.
|
||||||
|
|
||||||
|
_**default:**_ `""`
|
||||||
|
|
||||||
|
When doing this, the default blocklist is override, which means that the Ingress admin should add all the words
|
||||||
|
that should be blocked, here is a suggested block list.
|
||||||
|
|
||||||
|
_**suggested:**_ `"load_module,lua_package,_by_lua,location,root,proxy_pass,serviceaccount,{,},',\"`
|
||||||
|
|
||||||
## hide-headers
|
## hide-headers
|
||||||
|
|
||||||
Sets additional header that will not be passed from the upstream server to the client response.
|
Sets additional header that will not be passed from the upstream server to the client response.
|
||||||
|
|
103
go.mod
103
go.mod
|
@ -1,6 +1,6 @@
|
||||||
module k8s.io/ingress-nginx
|
module k8s.io/ingress-nginx
|
||||||
|
|
||||||
go 1.16
|
go 1.17
|
||||||
|
|
||||||
require (
|
require (
|
||||||
github.com/armon/go-proxyproto v0.0.0-20210323213023-7e956b284f0a
|
github.com/armon/go-proxyproto v0.0.0-20210323213023-7e956b284f0a
|
||||||
|
@ -46,3 +46,104 @@ require (
|
||||||
sigs.k8s.io/controller-runtime v0.9.5
|
sigs.k8s.io/controller-runtime v0.9.5
|
||||||
sigs.k8s.io/mdtoc v1.0.1
|
sigs.k8s.io/mdtoc v1.0.1
|
||||||
)
|
)
|
||||||
|
|
||||||
|
require (
|
||||||
|
cloud.google.com/go v0.81.0 // indirect
|
||||||
|
github.com/Azure/go-autorest v14.2.0+incompatible // indirect
|
||||||
|
github.com/Azure/go-autorest/autorest v0.11.12 // indirect
|
||||||
|
github.com/Azure/go-autorest/autorest/adal v0.9.5 // indirect
|
||||||
|
github.com/Azure/go-autorest/autorest/date v0.3.0 // indirect
|
||||||
|
github.com/Azure/go-autorest/logger v0.2.0 // indirect
|
||||||
|
github.com/Azure/go-autorest/tracing v0.6.0 // indirect
|
||||||
|
github.com/BurntSushi/toml v0.3.1 // indirect
|
||||||
|
github.com/PuerkitoBio/purell v1.1.1 // indirect
|
||||||
|
github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578 // indirect
|
||||||
|
github.com/ajg/form v1.5.1 // indirect
|
||||||
|
github.com/andybalholm/brotli v1.0.2 // indirect
|
||||||
|
github.com/beorn7/perks v1.0.1 // indirect
|
||||||
|
github.com/blang/semver v3.5.1+incompatible // indirect
|
||||||
|
github.com/cespare/xxhash/v2 v2.1.1 // indirect
|
||||||
|
github.com/coreos/go-systemd/v22 v22.3.2 // indirect
|
||||||
|
github.com/cyphar/filepath-securejoin v0.2.2 // indirect
|
||||||
|
github.com/davecgh/go-spew v1.1.1 // indirect
|
||||||
|
github.com/eapache/queue v1.1.0 // indirect
|
||||||
|
github.com/emicklei/go-restful v2.9.5+incompatible // indirect
|
||||||
|
github.com/evanphx/json-patch v4.11.0+incompatible // indirect
|
||||||
|
github.com/fatih/structs v1.0.0 // indirect
|
||||||
|
github.com/form3tech-oss/jwt-go v3.2.2+incompatible // indirect
|
||||||
|
github.com/fullsailor/pkcs7 v0.0.0-20160414161337-2585af45975b // indirect
|
||||||
|
github.com/go-errors/errors v1.0.1 // indirect
|
||||||
|
github.com/go-logr/logr v0.4.0 // indirect
|
||||||
|
github.com/go-openapi/jsonpointer v0.19.3 // indirect
|
||||||
|
github.com/go-openapi/jsonreference v0.19.3 // indirect
|
||||||
|
github.com/go-openapi/spec v0.19.5 // indirect
|
||||||
|
github.com/go-openapi/swag v0.19.5 // indirect
|
||||||
|
github.com/godbus/dbus/v5 v5.0.4 // indirect
|
||||||
|
github.com/gogo/protobuf v1.3.2 // indirect
|
||||||
|
github.com/golang/groupcache v0.0.0-20200121045136-8c9f03a8e57e // indirect
|
||||||
|
github.com/golang/protobuf v1.5.2 // indirect
|
||||||
|
github.com/gomarkdown/markdown v0.0.0-20200824053859-8c8b3816f167 // indirect
|
||||||
|
github.com/google/btree v1.0.0 // indirect
|
||||||
|
github.com/google/go-cmp v0.5.5 // indirect
|
||||||
|
github.com/google/go-querystring v1.0.0 // indirect
|
||||||
|
github.com/google/gofuzz v1.1.0 // indirect
|
||||||
|
github.com/google/shlex v0.0.0-20191202100458-e7afc7fbc510 // indirect
|
||||||
|
github.com/google/uuid v1.2.0 // indirect
|
||||||
|
github.com/googleapis/gnostic v0.5.5 // indirect
|
||||||
|
github.com/gorilla/websocket v1.4.2 // indirect
|
||||||
|
github.com/gregjones/httpcache v0.0.0-20180305231024-9cad4c3443a7 // indirect
|
||||||
|
github.com/hashicorp/golang-lru v0.5.4 // indirect
|
||||||
|
github.com/imkira/go-interpol v1.0.0 // indirect
|
||||||
|
github.com/inconshreveable/mousetrap v1.0.0 // indirect
|
||||||
|
github.com/klauspost/compress v1.12.2 // indirect
|
||||||
|
github.com/liggitt/tabwriter v0.0.0-20181228230101-89fcab3d43de // indirect
|
||||||
|
github.com/mailru/easyjson v0.7.0 // indirect
|
||||||
|
github.com/matttproud/golang_protobuf_extensions v1.0.2-0.20181231171920-c182affec369 // indirect
|
||||||
|
github.com/mmarkdown/mmark v2.0.40+incompatible // indirect
|
||||||
|
github.com/moby/sys/mountinfo v0.4.1 // indirect
|
||||||
|
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect
|
||||||
|
github.com/modern-go/reflect2 v1.0.1 // indirect
|
||||||
|
github.com/monochromegane/go-gitignore v0.0.0-20200626010858-205db1a8cc00 // indirect
|
||||||
|
github.com/ncabatoff/go-seq v0.0.0-20180805175032-b08ef85ed833 // indirect
|
||||||
|
github.com/nxadm/tail v1.4.8 // indirect
|
||||||
|
github.com/opencontainers/runtime-spec v1.0.3-0.20210326190908-1c3f411f0417 // indirect
|
||||||
|
github.com/peterbourgon/diskv v2.0.1+incompatible // indirect
|
||||||
|
github.com/prometheus/procfs v0.6.0 // indirect
|
||||||
|
github.com/sergi/go-diff v1.1.0 // indirect
|
||||||
|
github.com/sirupsen/logrus v1.8.1 // indirect
|
||||||
|
github.com/valyala/bytebufferpool v1.0.0 // indirect
|
||||||
|
github.com/valyala/fasthttp v1.27.0 // indirect
|
||||||
|
github.com/xeipuuv/gojsonpointer v0.0.0-20180127040702-4e3ac2762d5f // indirect
|
||||||
|
github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415 // indirect
|
||||||
|
github.com/xeipuuv/gojsonschema v1.1.0 // indirect
|
||||||
|
github.com/xlab/treeprint v0.0.0-20181112141820-a009c3971eca // indirect
|
||||||
|
github.com/yalp/jsonpath v0.0.0-20180802001716-5cc68e5049a0 // indirect
|
||||||
|
github.com/yudai/gojsondiff v1.0.0 // indirect
|
||||||
|
github.com/yudai/golcs v0.0.0-20170316035057-ecda9a501e82 // indirect
|
||||||
|
go.starlark.net v0.0.0-20200306205701-8dd3e2ee1dd5 // indirect
|
||||||
|
go.uber.org/atomic v1.7.0 // indirect
|
||||||
|
go.uber.org/multierr v1.6.0 // indirect
|
||||||
|
go.uber.org/zap v1.18.1 // indirect
|
||||||
|
golang.org/x/mod v0.4.2 // indirect
|
||||||
|
golang.org/x/oauth2 v0.0.0-20210514164344-f6687ab2804c // indirect
|
||||||
|
golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c // indirect
|
||||||
|
golang.org/x/term v0.0.0-20210220032956-6a3ed077a48d // indirect
|
||||||
|
golang.org/x/text v0.3.6 // indirect
|
||||||
|
golang.org/x/time v0.0.0-20210723032227-1f47c861a9ac // indirect
|
||||||
|
golang.org/x/tools v0.1.2 // indirect
|
||||||
|
golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1 // indirect
|
||||||
|
google.golang.org/appengine v1.6.7 // indirect
|
||||||
|
google.golang.org/genproto v0.0.0-20210602131652-f16073e35f0c // indirect
|
||||||
|
google.golang.org/protobuf v1.26.0 // indirect
|
||||||
|
gopkg.in/inf.v0 v0.9.1 // indirect
|
||||||
|
gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7 // indirect
|
||||||
|
gopkg.in/yaml.v2 v2.4.0 // indirect
|
||||||
|
gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b // indirect
|
||||||
|
k8s.io/gengo v0.0.0-20201214224949-b6c5ce23f027 // indirect
|
||||||
|
k8s.io/kube-openapi v0.0.0-20210305001622-591a79e4bda7 // indirect
|
||||||
|
moul.io/http2curl v1.0.1-0.20190925090545-5cd742060b0e // indirect
|
||||||
|
sigs.k8s.io/kustomize/api v0.8.8 // indirect
|
||||||
|
sigs.k8s.io/kustomize/kyaml v0.10.17 // indirect
|
||||||
|
sigs.k8s.io/structured-merge-diff/v4 v4.1.2 // indirect
|
||||||
|
sigs.k8s.io/yaml v1.2.0 // indirect
|
||||||
|
)
|
||||||
|
|
|
@ -193,7 +193,7 @@ def get_regexs():
|
||||||
'(%s)' % "|".join(map(lambda l: str(l), years)))
|
'(%s)' % "|".join(map(lambda l: str(l), years)))
|
||||||
# strip // +build \n\n build constraints
|
# strip // +build \n\n build constraints
|
||||||
regexs["go_build_constraints"] = re.compile(
|
regexs["go_build_constraints"] = re.compile(
|
||||||
r"^(// \+build.*\n)+\n", re.MULTILINE)
|
r"^((// \+build.*\n)|(//go:build.*\n))+\n", re.MULTILINE)
|
||||||
# strip #!.* from shell scripts
|
# strip #!.* from shell scripts
|
||||||
regexs["shebang"] = re.compile(r"^(#!.*\n)\n*", re.MULTILINE)
|
regexs["shebang"] = re.compile(r"^(#!.*\n)\n*", re.MULTILINE)
|
||||||
return regexs
|
return regexs
|
||||||
|
|
|
@ -1,3 +1,4 @@
|
||||||
|
//go:build tools
|
||||||
// +build tools
|
// +build tools
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
|
@ -36,7 +36,7 @@ build: ensure-buildx
|
||||||
--platform=${PLATFORMS} $(OUTPUT) \
|
--platform=${PLATFORMS} $(OUTPUT) \
|
||||||
--progress=$(PROGRESS) \
|
--progress=$(PROGRESS) \
|
||||||
--pull \
|
--pull \
|
||||||
--build-arg BASE_IMAGE=k8s.gcr.io/ingress-nginx/nginx:v20210809-g98288bc3c@sha256:f9363669cf26514c9548c1fe4f8f4e2f58dfb76616bcd638a0ff7f0ec3457c17 \
|
--build-arg BASE_IMAGE=k8s.gcr.io/ingress-nginx/nginx:v20210926-g5662db450@sha256:1ef404b5e8741fe49605a1f40c3fdd8ef657aecdb9526ea979d1672eeabd0cd9 \
|
||||||
--build-arg LUAROCKS_VERSION=3.3.1 \
|
--build-arg LUAROCKS_VERSION=3.3.1 \
|
||||||
--build-arg LUAROCKS_SHA=837481e408f7c06b59befe7ec194537c657687d624894bca7f79034302141a34 \
|
--build-arg LUAROCKS_SHA=837481e408f7c06b59befe7ec194537c657687d624894bca7f79034302141a34 \
|
||||||
-t $(IMAGE):$(TAG) rootfs
|
-t $(IMAGE):$(TAG) rootfs
|
||||||
|
|
|
@ -18,7 +18,7 @@ This image provides a default configuration file with no backend servers.
|
||||||
_Using docker_
|
_Using docker_
|
||||||
|
|
||||||
```console
|
```console
|
||||||
docker run -v /some/nginx.con:/etc/nginx/nginx.conf:ro k8s.gcr.io/ingress-nginx/nginx:v20210809-g98288bc3c@sha256:f9363669cf26514c9548c1fe4f8f4e2f58dfb76616bcd638a0ff7f0ec3457c17
|
docker run -v /some/nginx.conf:/etc/nginx/nginx.conf:ro k8s.gcr.io/ingress-nginx/nginx:v20210926-g5662db450@sha256:1ef404b5e8741fe49605a1f40c3fdd8ef657aecdb9526ea979d1672eeabd0cd9
|
||||||
```
|
```
|
||||||
|
|
||||||
_Creating a replication controller_
|
_Creating a replication controller_
|
||||||
|
|
|
@ -38,7 +38,7 @@ spec:
|
||||||
spec:
|
spec:
|
||||||
containers:
|
containers:
|
||||||
- name: nginx
|
- name: nginx
|
||||||
image: k8s.gcr.io/ingress-nginx/nginx:v20210809-g98288bc3c@sha256:f9363669cf26514c9548c1fe4f8f4e2f58dfb76616bcd638a0ff7f0ec3457c17
|
image: k8s.gcr.io/ingress-nginx/nginx:v20210926-g5662db450@sha256:1ef404b5e8741fe49605a1f40c3fdd8ef657aecdb9526ea979d1672eeabd0cd9
|
||||||
ports:
|
ports:
|
||||||
- containerPort: 80
|
- containerPort: 80
|
||||||
- containerPort: 443
|
- containerPort: 443
|
||||||
|
|
|
@ -13,7 +13,7 @@
|
||||||
# limitations under the License.
|
# limitations under the License.
|
||||||
|
|
||||||
|
|
||||||
FROM alpine:3.13 as builder
|
FROM alpine:3.14.2 as builder
|
||||||
|
|
||||||
COPY . /
|
COPY . /
|
||||||
|
|
||||||
|
@ -23,7 +23,7 @@ RUN apk update \
|
||||||
&& /build.sh
|
&& /build.sh
|
||||||
|
|
||||||
# Use a multi-stage build
|
# Use a multi-stage build
|
||||||
FROM alpine:3.13
|
FROM alpine:3.14.2
|
||||||
|
|
||||||
ENV PATH=$PATH:/usr/local/luajit/bin:/usr/local/nginx/sbin:/usr/local/nginx/bin
|
ENV PATH=$PATH:/usr/local/luajit/bin:/usr/local/nginx/sbin:/usr/local/nginx/bin
|
||||||
|
|
||||||
|
|
|
@ -18,7 +18,7 @@ set -o errexit
|
||||||
set -o nounset
|
set -o nounset
|
||||||
set -o pipefail
|
set -o pipefail
|
||||||
|
|
||||||
export NGINX_VERSION=1.20.1
|
export NGINX_VERSION=1.19.9
|
||||||
|
|
||||||
# Check for recent changes: https://github.com/vision5/ngx_devel_kit/compare/v0.3.1...master
|
# Check for recent changes: https://github.com/vision5/ngx_devel_kit/compare/v0.3.1...master
|
||||||
export NDK_VERSION=0.3.1
|
export NDK_VERSION=0.3.1
|
||||||
|
@ -190,7 +190,7 @@ mkdir --verbose -p "$BUILD_PATH"
|
||||||
cd "$BUILD_PATH"
|
cd "$BUILD_PATH"
|
||||||
|
|
||||||
# download, verify and extract the source files
|
# download, verify and extract the source files
|
||||||
get_src e462e11533d5c30baa05df7652160ff5979591d291736cfa5edb9fd2edb48c49 \
|
get_src 2e35dff06a9826e8aca940e9e8be46b7e4b12c19a48d55bfc2dc28fc9cc7d841 \
|
||||||
"https://nginx.org/download/nginx-$NGINX_VERSION.tar.gz"
|
"https://nginx.org/download/nginx-$NGINX_VERSION.tar.gz"
|
||||||
|
|
||||||
get_src 0e971105e210d272a497567fa2e2c256f4e39b845a5ba80d373e26ba1abfbd85 \
|
get_src 0e971105e210d272a497567fa2e2c256f4e39b845a5ba80d373e26ba1abfbd85 \
|
||||||
|
|
|
@ -23,7 +23,7 @@ REGISTRY ?= local
|
||||||
|
|
||||||
IMAGE = $(REGISTRY)/e2e-test-runner
|
IMAGE = $(REGISTRY)/e2e-test-runner
|
||||||
|
|
||||||
NGINX_BASE_IMAGE ?= k8s.gcr.io/ingress-nginx/nginx:v20210809-g98288bc3c@sha256:f9363669cf26514c9548c1fe4f8f4e2f58dfb76616bcd638a0ff7f0ec3457c17
|
NGINX_BASE_IMAGE ?= k8s.gcr.io/ingress-nginx/nginx:v20210926-g5662db450@sha256:1ef404b5e8741fe49605a1f40c3fdd8ef657aecdb9526ea979d1672eeabd0cd9
|
||||||
|
|
||||||
# required to enable buildx
|
# required to enable buildx
|
||||||
export DOCKER_CLI_EXPERIMENTAL=enabled
|
export DOCKER_CLI_EXPERIMENTAL=enabled
|
||||||
|
|
|
@ -116,6 +116,12 @@ rewrite (?i)/arcgis/services/Utilities/Geometry/GeometryServer(.*)$ /arcgis/serv
|
||||||
}
|
}
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
|
if !test.expErr {
|
||||||
|
if err != nil {
|
||||||
|
t.Errorf("%v: didn't expected error but error was returned: %v", test.name, err)
|
||||||
|
}
|
||||||
|
continue
|
||||||
|
}
|
||||||
if s != test.exp {
|
if s != test.exp {
|
||||||
t.Errorf("%v: expected \"%v\" but \"%v\" was returned", test.name, test.exp, s)
|
t.Errorf("%v: expected \"%v\" but \"%v\" was returned", test.name, test.exp, s)
|
||||||
}
|
}
|
||||||
|
|
|
@ -93,6 +93,15 @@ const (
|
||||||
type Configuration struct {
|
type Configuration struct {
|
||||||
defaults.Backend `json:",squash"`
|
defaults.Backend `json:",squash"`
|
||||||
|
|
||||||
|
// AllowSnippetAnnotations enable users to add their own snippets via ingress annotation.
|
||||||
|
// If disabled, only snippets added via ConfigMap are added to ingress.
|
||||||
|
AllowSnippetAnnotations bool `json:"allow-snippet-annotations"`
|
||||||
|
|
||||||
|
// AnnotationValueWordBlocklist defines words that should not be part of an user annotation value
|
||||||
|
// (can be used to run arbitrary code or configs, for example) and that should be dropped.
|
||||||
|
// This list should be separated by "," character
|
||||||
|
AnnotationValueWordBlocklist string `json:"annotation-value-word-blocklist"`
|
||||||
|
|
||||||
// Sets the name of the configmap that contains the headers to pass to the client
|
// Sets the name of the configmap that contains the headers to pass to the client
|
||||||
AddHeaders string `json:"add-headers,omitempty"`
|
AddHeaders string `json:"add-headers,omitempty"`
|
||||||
|
|
||||||
|
@ -749,7 +758,6 @@ func NewDefault() Configuration {
|
||||||
defNginxStatusIpv4Whitelist := make([]string, 0)
|
defNginxStatusIpv4Whitelist := make([]string, 0)
|
||||||
defNginxStatusIpv6Whitelist := make([]string, 0)
|
defNginxStatusIpv6Whitelist := make([]string, 0)
|
||||||
defResponseHeaders := make([]string, 0)
|
defResponseHeaders := make([]string, 0)
|
||||||
|
|
||||||
defIPCIDR = append(defIPCIDR, "0.0.0.0/0")
|
defIPCIDR = append(defIPCIDR, "0.0.0.0/0")
|
||||||
defNginxStatusIpv4Whitelist = append(defNginxStatusIpv4Whitelist, "127.0.0.1")
|
defNginxStatusIpv4Whitelist = append(defNginxStatusIpv4Whitelist, "127.0.0.1")
|
||||||
defNginxStatusIpv6Whitelist = append(defNginxStatusIpv6Whitelist, "::1")
|
defNginxStatusIpv6Whitelist = append(defNginxStatusIpv6Whitelist, "::1")
|
||||||
|
@ -757,7 +765,10 @@ func NewDefault() Configuration {
|
||||||
defGlobalExternalAuth := GlobalExternalAuth{"", "", "", "", "", append(defResponseHeaders, ""), "", "", "", []string{}, map[string]string{}}
|
defGlobalExternalAuth := GlobalExternalAuth{"", "", "", "", "", append(defResponseHeaders, ""), "", "", "", []string{}, map[string]string{}}
|
||||||
|
|
||||||
cfg := Configuration{
|
cfg := Configuration{
|
||||||
|
|
||||||
|
AllowSnippetAnnotations: true,
|
||||||
AllowBackendServerHeader: false,
|
AllowBackendServerHeader: false,
|
||||||
|
AnnotationValueWordBlocklist: "",
|
||||||
AccessLogPath: "/var/log/nginx/access.log",
|
AccessLogPath: "/var/log/nginx/access.log",
|
||||||
AccessLogParams: "",
|
AccessLogParams: "",
|
||||||
EnableAccessLogForDefaultBackend: false,
|
EnableAccessLogForDefaultBackend: false,
|
||||||
|
|
|
@ -235,27 +235,43 @@ func (n *NGINXController) CheckIngress(ing *networking.Ingress) error {
|
||||||
return fmt.Errorf("This deployment is trying to create a catch-all ingress while DisableCatchAll flag is set to true. Remove '.spec.backend' or set DisableCatchAll flag to false.")
|
return fmt.Errorf("This deployment is trying to create a catch-all ingress while DisableCatchAll flag is set to true. Remove '.spec.backend' or set DisableCatchAll flag to false.")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
cfg := n.store.GetBackendConfiguration()
|
||||||
|
cfg.Resolver = n.resolver
|
||||||
|
|
||||||
|
var arrayBadWords []string
|
||||||
|
|
||||||
|
if cfg.AnnotationValueWordBlocklist != "" {
|
||||||
|
arrayBadWords = strings.Split(strings.TrimSpace(cfg.AnnotationValueWordBlocklist), ",")
|
||||||
|
}
|
||||||
|
|
||||||
|
for key, value := range ing.ObjectMeta.GetAnnotations() {
|
||||||
|
|
||||||
if parser.AnnotationsPrefix != parser.DefaultAnnotationsPrefix {
|
if parser.AnnotationsPrefix != parser.DefaultAnnotationsPrefix {
|
||||||
for key := range ing.ObjectMeta.GetAnnotations() {
|
|
||||||
if strings.HasPrefix(key, fmt.Sprintf("%s/", parser.DefaultAnnotationsPrefix)) {
|
if strings.HasPrefix(key, fmt.Sprintf("%s/", parser.DefaultAnnotationsPrefix)) {
|
||||||
return fmt.Errorf("This deployment has a custom annotation prefix defined. Use '%s' instead of '%s'", parser.AnnotationsPrefix, parser.DefaultAnnotationsPrefix)
|
return fmt.Errorf("This deployment has a custom annotation prefix defined. Use '%s' instead of '%s'", parser.AnnotationsPrefix, parser.DefaultAnnotationsPrefix)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if strings.HasPrefix(key, fmt.Sprintf("%s/", parser.AnnotationsPrefix)) && len(arrayBadWords) != 0 {
|
||||||
|
for _, forbiddenvalue := range arrayBadWords {
|
||||||
|
if strings.Contains(value, strings.TrimSpace(forbiddenvalue)) {
|
||||||
|
return fmt.Errorf("%s annotation contains invalid word %s", key, forbiddenvalue)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if !cfg.AllowSnippetAnnotations && strings.HasSuffix(key, "-snippet") {
|
||||||
|
return fmt.Errorf("%s annotation cannot be used. Snippet directives are disabled by the Ingress administrator", key)
|
||||||
|
}
|
||||||
|
|
||||||
|
if len(cfg.GlobalRateLimitMemcachedHost) == 0 && strings.HasPrefix(key, fmt.Sprintf("%s/%s", parser.AnnotationsPrefix, "global-rate-limit")) {
|
||||||
|
return fmt.Errorf("'global-rate-limit*' annotations require 'global-rate-limit-memcached-host' settings configured in the global configmap")
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
k8s.SetDefaultNGINXPathType(ing)
|
k8s.SetDefaultNGINXPathType(ing)
|
||||||
|
|
||||||
cfg := n.store.GetBackendConfiguration()
|
|
||||||
cfg.Resolver = n.resolver
|
|
||||||
|
|
||||||
if len(cfg.GlobalRateLimitMemcachedHost) == 0 {
|
|
||||||
for key := range ing.ObjectMeta.GetAnnotations() {
|
|
||||||
if strings.HasPrefix(key, fmt.Sprintf("%s/%s", parser.AnnotationsPrefix, "global-rate-limit")) {
|
|
||||||
return fmt.Errorf("'global-rate-limit*' annotations require 'global-rate-limit-memcached-host' settings configured in the global configmap")
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
allIngresses := n.store.ListIngresses()
|
allIngresses := n.store.ListIngresses()
|
||||||
|
|
||||||
filter := func(toCheck *ingress.Ingress) bool {
|
filter := func(toCheck *ingress.Ingress) bool {
|
||||||
|
@ -508,6 +524,30 @@ func (n *NGINXController) getConfiguration(ingresses []*ingress.Ingress) (sets.S
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func dropSnippetDirectives(anns *annotations.Ingress, ingKey string) {
|
||||||
|
if anns != nil {
|
||||||
|
if anns.ConfigurationSnippet != "" {
|
||||||
|
klog.V(3).Infof("Ingress %q tried to use configuration-snippet and the annotation is disabled by the admin. Removing the annotation", ingKey)
|
||||||
|
anns.ConfigurationSnippet = ""
|
||||||
|
}
|
||||||
|
if anns.ServerSnippet != "" {
|
||||||
|
klog.V(3).Infof("Ingress %q tried to use server-snippet and the annotation is disabled by the admin. Removing the annotation", ingKey)
|
||||||
|
anns.ServerSnippet = ""
|
||||||
|
}
|
||||||
|
|
||||||
|
if anns.ModSecurity.Snippet != "" {
|
||||||
|
klog.V(3).Infof("Ingress %q tried to use modsecurity-snippet and the annotation is disabled by the admin. Removing the annotation", ingKey)
|
||||||
|
anns.ModSecurity.Snippet = ""
|
||||||
|
}
|
||||||
|
|
||||||
|
if anns.ExternalAuth.AuthSnippet != "" {
|
||||||
|
klog.V(3).Infof("Ingress %q tried to use auth-snippet and the annotation is disabled by the admin. Removing the annotation", ingKey)
|
||||||
|
anns.ExternalAuth.AuthSnippet = ""
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// getBackendServers returns a list of Upstream and Server to be used by the
|
// getBackendServers returns a list of Upstream and Server to be used by the
|
||||||
// backend. An upstream can be used in multiple servers if the namespace,
|
// backend. An upstream can be used in multiple servers if the namespace,
|
||||||
// service name and port are the same.
|
// service name and port are the same.
|
||||||
|
@ -522,6 +562,10 @@ func (n *NGINXController) getBackendServers(ingresses []*ingress.Ingress) ([]*in
|
||||||
ingKey := k8s.MetaNamespaceKey(ing)
|
ingKey := k8s.MetaNamespaceKey(ing)
|
||||||
anns := ing.ParsedAnnotations
|
anns := ing.ParsedAnnotations
|
||||||
|
|
||||||
|
if !n.store.GetBackendConfiguration().AllowSnippetAnnotations {
|
||||||
|
dropSnippetDirectives(anns, ingKey)
|
||||||
|
}
|
||||||
|
|
||||||
for _, rule := range ing.Spec.Rules {
|
for _, rule := range ing.Spec.Rules {
|
||||||
host := rule.Host
|
host := rule.Host
|
||||||
if host == "" {
|
if host == "" {
|
||||||
|
@ -789,6 +833,11 @@ func (n *NGINXController) createUpstreams(data []*ingress.Ingress, du *ingress.B
|
||||||
|
|
||||||
for _, ing := range data {
|
for _, ing := range data {
|
||||||
anns := ing.ParsedAnnotations
|
anns := ing.ParsedAnnotations
|
||||||
|
ingKey := k8s.MetaNamespaceKey(ing)
|
||||||
|
|
||||||
|
if !n.store.GetBackendConfiguration().AllowSnippetAnnotations {
|
||||||
|
dropSnippetDirectives(anns, ingKey)
|
||||||
|
}
|
||||||
|
|
||||||
var defBackend string
|
var defBackend string
|
||||||
if ing.Spec.Backend != nil {
|
if ing.Spec.Backend != nil {
|
||||||
|
@ -1069,6 +1118,10 @@ func (n *NGINXController) createServers(data []*ingress.Ingress,
|
||||||
ingKey := k8s.MetaNamespaceKey(ing)
|
ingKey := k8s.MetaNamespaceKey(ing)
|
||||||
anns := ing.ParsedAnnotations
|
anns := ing.ParsedAnnotations
|
||||||
|
|
||||||
|
if !n.store.GetBackendConfiguration().AllowSnippetAnnotations {
|
||||||
|
dropSnippetDirectives(anns, ingKey)
|
||||||
|
}
|
||||||
|
|
||||||
// default upstream name
|
// default upstream name
|
||||||
un := du.Name
|
un := du.Name
|
||||||
|
|
||||||
|
@ -1145,6 +1198,10 @@ func (n *NGINXController) createServers(data []*ingress.Ingress,
|
||||||
ingKey := k8s.MetaNamespaceKey(ing)
|
ingKey := k8s.MetaNamespaceKey(ing)
|
||||||
anns := ing.ParsedAnnotations
|
anns := ing.ParsedAnnotations
|
||||||
|
|
||||||
|
if !n.store.GetBackendConfiguration().AllowSnippetAnnotations {
|
||||||
|
dropSnippetDirectives(anns, ingKey)
|
||||||
|
}
|
||||||
|
|
||||||
if anns.Canary.Enabled {
|
if anns.Canary.Enabled {
|
||||||
klog.V(2).Infof("Ingress %v is marked as Canary, ignoring", ingKey)
|
klog.V(2).Infof("Ingress %v is marked as Canary, ignoring", ingKey)
|
||||||
continue
|
continue
|
||||||
|
@ -1638,7 +1695,7 @@ func checkOverlap(ing *networking.Ingress, ingresses []*ingress.Ingress, servers
|
||||||
return fmt.Errorf(`host "%s" and path "%s" is already defined in ingress %s/%s`, rule.Host, path.Path, existing.Namespace, existing.Name)
|
return fmt.Errorf(`host "%s" and path "%s" is already defined in ingress %s/%s`, rule.Host, path.Path, existing.Namespace, existing.Name)
|
||||||
}
|
}
|
||||||
|
|
||||||
if annotationErr == errors.ErrMissingAnnotations && existingAnnotationErr == existingAnnotationErr {
|
if annotationErr == errors.ErrMissingAnnotations && existingAnnotationErr == errors.ErrMissingAnnotations {
|
||||||
return fmt.Errorf(`host "%s" and path "%s" is already defined in ingress %s/%s`, rule.Host, path.Path, existing.Namespace, existing.Name)
|
return fmt.Errorf(`host "%s" and path "%s" is already defined in ingress %s/%s`, rule.Host, path.Path, existing.Namespace, existing.Name)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -42,6 +42,7 @@ import (
|
||||||
"k8s.io/ingress-nginx/internal/ingress"
|
"k8s.io/ingress-nginx/internal/ingress"
|
||||||
"k8s.io/ingress-nginx/internal/ingress/annotations"
|
"k8s.io/ingress-nginx/internal/ingress/annotations"
|
||||||
"k8s.io/ingress-nginx/internal/ingress/annotations/canary"
|
"k8s.io/ingress-nginx/internal/ingress/annotations/canary"
|
||||||
|
"k8s.io/ingress-nginx/internal/ingress/annotations/ipwhitelist"
|
||||||
"k8s.io/ingress-nginx/internal/ingress/annotations/parser"
|
"k8s.io/ingress-nginx/internal/ingress/annotations/parser"
|
||||||
"k8s.io/ingress-nginx/internal/ingress/annotations/proxyssl"
|
"k8s.io/ingress-nginx/internal/ingress/annotations/proxyssl"
|
||||||
"k8s.io/ingress-nginx/internal/ingress/annotations/sessionaffinity"
|
"k8s.io/ingress-nginx/internal/ingress/annotations/sessionaffinity"
|
||||||
|
@ -57,10 +58,11 @@ import (
|
||||||
|
|
||||||
type fakeIngressStore struct {
|
type fakeIngressStore struct {
|
||||||
ingresses []*ingress.Ingress
|
ingresses []*ingress.Ingress
|
||||||
|
configuration ngx_config.Configuration
|
||||||
}
|
}
|
||||||
|
|
||||||
func (fakeIngressStore) GetBackendConfiguration() ngx_config.Configuration {
|
func (fis fakeIngressStore) GetBackendConfiguration() ngx_config.Configuration {
|
||||||
return ngx_config.Configuration{}
|
return fis.configuration
|
||||||
}
|
}
|
||||||
|
|
||||||
func (fakeIngressStore) GetConfigMap(key string) (*corev1.ConfigMap, error) {
|
func (fakeIngressStore) GetConfigMap(key string) (*corev1.ConfigMap, error) {
|
||||||
|
@ -246,6 +248,9 @@ func TestCheckIngress(t *testing.T) {
|
||||||
})
|
})
|
||||||
|
|
||||||
t.Run("When the default annotation prefix is used despite an override", func(t *testing.T) {
|
t.Run("When the default annotation prefix is used despite an override", func(t *testing.T) {
|
||||||
|
defer func() {
|
||||||
|
parser.AnnotationsPrefix = "nginx.ingress.kubernetes.io"
|
||||||
|
}()
|
||||||
parser.AnnotationsPrefix = "ingress.kubernetes.io"
|
parser.AnnotationsPrefix = "ingress.kubernetes.io"
|
||||||
ing.ObjectMeta.Annotations["nginx.ingress.kubernetes.io/backend-protocol"] = "GRPC"
|
ing.ObjectMeta.Annotations["nginx.ingress.kubernetes.io/backend-protocol"] = "GRPC"
|
||||||
nginx.command = testNginxTestCommand{
|
nginx.command = testNginxTestCommand{
|
||||||
|
@ -257,6 +262,44 @@ func TestCheckIngress(t *testing.T) {
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
|
t.Run("When snippets are disabled and user tries to use snippet annotation", func(t *testing.T) {
|
||||||
|
nginx.store = fakeIngressStore{
|
||||||
|
ingresses: []*ingress.Ingress{},
|
||||||
|
configuration: ngx_config.Configuration{
|
||||||
|
AllowSnippetAnnotations: false,
|
||||||
|
},
|
||||||
|
}
|
||||||
|
nginx.command = testNginxTestCommand{
|
||||||
|
t: t,
|
||||||
|
err: nil,
|
||||||
|
}
|
||||||
|
ing.ObjectMeta.Annotations["nginx.ingress.kubernetes.io/server-snippet"] = "bla"
|
||||||
|
if err := nginx.CheckIngress(ing); err == nil {
|
||||||
|
t.Errorf("with a snippet annotation, ingresses using the default should be rejected")
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
t.Run("When invalid directives are used in annotation values", func(t *testing.T) {
|
||||||
|
nginx.store = fakeIngressStore{
|
||||||
|
ingresses: []*ingress.Ingress{},
|
||||||
|
configuration: ngx_config.Configuration{
|
||||||
|
AnnotationValueWordBlocklist: "invalid_directive, another_directive",
|
||||||
|
},
|
||||||
|
}
|
||||||
|
nginx.command = testNginxTestCommand{
|
||||||
|
t: t,
|
||||||
|
err: nil,
|
||||||
|
}
|
||||||
|
ing.ObjectMeta.Annotations["nginx.ingress.kubernetes.io/custom-headers"] = "invalid_directive"
|
||||||
|
if err := nginx.CheckIngress(ing); err == nil {
|
||||||
|
t.Errorf("with an invalid value in annotation the ingress should be rejected")
|
||||||
|
}
|
||||||
|
ing.ObjectMeta.Annotations["nginx.ingress.kubernetes.io/custom-headers"] = "another_directive"
|
||||||
|
if err := nginx.CheckIngress(ing); err == nil {
|
||||||
|
t.Errorf("with an invalid value in annotation the ingress should be rejected")
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
t.Run("When a new catch-all ingress is being created despite catch-alls being disabled ", func(t *testing.T) {
|
t.Run("When a new catch-all ingress is being created despite catch-alls being disabled ", func(t *testing.T) {
|
||||||
backendBefore := ing.Spec.Backend
|
backendBefore := ing.Spec.Backend
|
||||||
disableCatchAllBefore := nginx.cfg.DisableCatchAll
|
disableCatchAllBefore := nginx.cfg.DisableCatchAll
|
||||||
|
@ -284,6 +327,9 @@ func TestCheckIngress(t *testing.T) {
|
||||||
})
|
})
|
||||||
|
|
||||||
t.Run("When the ingress is in a different namespace than the watched one", func(t *testing.T) {
|
t.Run("When the ingress is in a different namespace than the watched one", func(t *testing.T) {
|
||||||
|
defer func() {
|
||||||
|
nginx.cfg.Namespace = "test-namespace"
|
||||||
|
}()
|
||||||
nginx.command = testNginxTestCommand{
|
nginx.command = testNginxTestCommand{
|
||||||
t: t,
|
t: t,
|
||||||
err: fmt.Errorf("test error"),
|
err: fmt.Errorf("test error"),
|
||||||
|
@ -2075,6 +2121,83 @@ func TestGetBackendServers(t *testing.T) {
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
Ingresses: []*ingress.Ingress{
|
||||||
|
{
|
||||||
|
Ingress: networking.Ingress{
|
||||||
|
ObjectMeta: metav1.ObjectMeta{
|
||||||
|
Name: "not-allowed-snippet",
|
||||||
|
Namespace: "default",
|
||||||
|
Annotations: map[string]string{
|
||||||
|
"nginx.ingress.kubernetes.io/server-snippet": "bla",
|
||||||
|
"nginx.ingress.kubernetes.io/configuration-snippet": "blo",
|
||||||
|
"nginx.ingress.kubernetes.io/whitelist-source-range": "10.0.0.0/24",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
Spec: networking.IngressSpec{
|
||||||
|
Rules: []networking.IngressRule{
|
||||||
|
{
|
||||||
|
Host: "example.com",
|
||||||
|
IngressRuleValue: networking.IngressRuleValue{
|
||||||
|
HTTP: &networking.HTTPIngressRuleValue{
|
||||||
|
Paths: []networking.HTTPIngressPath{
|
||||||
|
{
|
||||||
|
Path: "/path1",
|
||||||
|
PathType: &pathTypePrefix,
|
||||||
|
Backend: networking.IngressBackend{
|
||||||
|
ServiceName: "path1-svc",
|
||||||
|
ServicePort: intstr.IntOrString{
|
||||||
|
Type: intstr.Int,
|
||||||
|
IntVal: 80,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
ParsedAnnotations: &annotations.Ingress{
|
||||||
|
Whitelist: ipwhitelist.SourceRange{CIDR: []string{"10.0.0.0/24"}},
|
||||||
|
ServerSnippet: "bla",
|
||||||
|
ConfigurationSnippet: "blo",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
Validate: func(ingresses []*ingress.Ingress, upstreams []*ingress.Backend, servers []*ingress.Server) {
|
||||||
|
if len(servers) != 2 {
|
||||||
|
t.Errorf("servers count should be 2, got %d", len(servers))
|
||||||
|
return
|
||||||
|
}
|
||||||
|
s := servers[1]
|
||||||
|
|
||||||
|
if s.ServerSnippet != "" {
|
||||||
|
t.Errorf("server snippet should be empty, got '%s'", s.ServerSnippet)
|
||||||
|
}
|
||||||
|
|
||||||
|
if s.Locations[0].ConfigurationSnippet != "" {
|
||||||
|
t.Errorf("config snippet should be empty, got '%s'", s.Locations[0].ConfigurationSnippet)
|
||||||
|
}
|
||||||
|
|
||||||
|
if len(s.Locations[0].Whitelist.CIDR) != 1 || s.Locations[0].Whitelist.CIDR[0] != "10.0.0.0/24" {
|
||||||
|
t.Errorf("allow list was incorrectly dropped, len should be 1 and contain 10.0.0.0/24")
|
||||||
|
}
|
||||||
|
|
||||||
|
},
|
||||||
|
SetConfigMap: func(ns string) *v1.ConfigMap {
|
||||||
|
return &v1.ConfigMap{
|
||||||
|
ObjectMeta: metav1.ObjectMeta{
|
||||||
|
Name: "config",
|
||||||
|
SelfLink: fmt.Sprintf("/api/v1/namespaces/%s/configmaps/config", ns),
|
||||||
|
},
|
||||||
|
Data: map[string]string{
|
||||||
|
"allow-snippet-annotations": "false",
|
||||||
|
},
|
||||||
|
}
|
||||||
|
},
|
||||||
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
for _, testCase := range testCases {
|
for _, testCase := range testCases {
|
||||||
|
|
|
@ -23,6 +23,7 @@ import (
|
||||||
"os"
|
"os"
|
||||||
"reflect"
|
"reflect"
|
||||||
"sort"
|
"sort"
|
||||||
|
"strings"
|
||||||
"sync"
|
"sync"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
|
@ -630,6 +631,21 @@ func hasCatchAllIngressRule(spec networkingv1beta1.IngressSpec) bool {
|
||||||
return spec.Backend != nil
|
return spec.Backend != nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func checkBadAnnotationValue(annotations map[string]string, badwords string) error {
|
||||||
|
arraybadWords := strings.Split(strings.TrimSpace(badwords), ",")
|
||||||
|
|
||||||
|
for annotation, value := range annotations {
|
||||||
|
if strings.HasPrefix(annotation, fmt.Sprintf("%s/", parser.AnnotationsPrefix)) {
|
||||||
|
for _, forbiddenvalue := range arraybadWords {
|
||||||
|
if strings.Contains(value, forbiddenvalue) {
|
||||||
|
return fmt.Errorf("%s annotation contains invalid word %s", annotation, forbiddenvalue)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
// syncIngress parses ingress annotations converting the value of the
|
// syncIngress parses ingress annotations converting the value of the
|
||||||
// annotation to a go struct
|
// annotation to a go struct
|
||||||
func (s *k8sStore) syncIngress(ing *networkingv1beta1.Ingress) {
|
func (s *k8sStore) syncIngress(ing *networkingv1beta1.Ingress) {
|
||||||
|
@ -638,6 +654,14 @@ func (s *k8sStore) syncIngress(ing *networkingv1beta1.Ingress) {
|
||||||
|
|
||||||
copyIng := &networkingv1beta1.Ingress{}
|
copyIng := &networkingv1beta1.Ingress{}
|
||||||
ing.ObjectMeta.DeepCopyInto(©Ing.ObjectMeta)
|
ing.ObjectMeta.DeepCopyInto(©Ing.ObjectMeta)
|
||||||
|
|
||||||
|
if s.backendConfig.AnnotationValueWordBlocklist != "" {
|
||||||
|
if err := checkBadAnnotationValue(copyIng.Annotations, s.backendConfig.AnnotationValueWordBlocklist); err != nil {
|
||||||
|
klog.Warningf("skipping ingress %s: %s", key, err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
ing.Spec.DeepCopyInto(©Ing.Spec)
|
ing.Spec.DeepCopyInto(©Ing.Spec)
|
||||||
ing.Status.DeepCopyInto(©Ing.Status)
|
ing.Status.DeepCopyInto(©Ing.Status)
|
||||||
|
|
||||||
|
|
|
@ -62,6 +62,9 @@ const (
|
||||||
|
|
||||||
// Writer is the interface to render a template
|
// Writer is the interface to render a template
|
||||||
type Writer interface {
|
type Writer interface {
|
||||||
|
// Write renders the template.
|
||||||
|
// NOTE: Implementors must ensure that the content of the returned slice is not modified by the implementation
|
||||||
|
// after the return of this function.
|
||||||
Write(conf config.TemplateConfig) ([]byte, error)
|
Write(conf config.TemplateConfig) ([]byte, error)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -201,7 +204,12 @@ func (t *Template) Write(conf config.TemplateConfig) ([]byte, error) {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
||||||
return outCmdBuf.Bytes(), nil
|
// make a copy to ensure that we are no longer modifying the content of the buffer
|
||||||
|
out := outCmdBuf.Bytes()
|
||||||
|
res := make([]byte, len(out))
|
||||||
|
copy(res, out)
|
||||||
|
|
||||||
|
return res, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
var (
|
var (
|
||||||
|
@ -1103,7 +1111,7 @@ func buildOpentracing(c interface{}, s interface{}) string {
|
||||||
buf := bytes.NewBufferString("")
|
buf := bytes.NewBufferString("")
|
||||||
|
|
||||||
if cfg.DatadogCollectorHost != "" {
|
if cfg.DatadogCollectorHost != "" {
|
||||||
buf.WriteString("opentracing_load_tracer /usr/local/lib64/libdd_opentracing.so /etc/nginx/opentracing.json;")
|
buf.WriteString("opentracing_load_tracer /usr/local/lib/libdd_opentracing.so /etc/nginx/opentracing.json;")
|
||||||
} else if cfg.ZipkinCollectorHost != "" {
|
} else if cfg.ZipkinCollectorHost != "" {
|
||||||
buf.WriteString("opentracing_load_tracer /usr/local/lib/libzipkin_opentracing_plugin.so /etc/nginx/opentracing.json;")
|
buf.WriteString("opentracing_load_tracer /usr/local/lib/libzipkin_opentracing_plugin.so /etc/nginx/opentracing.json;")
|
||||||
} else if cfg.JaegerCollectorHost != "" || cfg.JaegerEndpoint != "" {
|
} else if cfg.JaegerCollectorHost != "" || cfg.JaegerEndpoint != "" {
|
||||||
|
|
|
@ -1288,7 +1288,7 @@ func TestBuildOpenTracing(t *testing.T) {
|
||||||
EnableOpentracing: true,
|
EnableOpentracing: true,
|
||||||
DatadogCollectorHost: "datadog-host.com",
|
DatadogCollectorHost: "datadog-host.com",
|
||||||
}
|
}
|
||||||
expected = "opentracing_load_tracer /usr/local/lib64/libdd_opentracing.so /etc/nginx/opentracing.json;\r\n"
|
expected = "opentracing_load_tracer /usr/local/lib/libdd_opentracing.so /etc/nginx/opentracing.json;\r\n"
|
||||||
actual = buildOpentracing(cfgDatadog, []*ingress.Server{})
|
actual = buildOpentracing(cfgDatadog, []*ingress.Server{})
|
||||||
|
|
||||||
if expected != actual {
|
if expected != actual {
|
||||||
|
@ -1312,7 +1312,7 @@ func TestBuildOpenTracing(t *testing.T) {
|
||||||
OpentracingOperationName: "my-operation-name",
|
OpentracingOperationName: "my-operation-name",
|
||||||
OpentracingLocationOperationName: "my-location-operation-name",
|
OpentracingLocationOperationName: "my-location-operation-name",
|
||||||
}
|
}
|
||||||
expected = "opentracing_load_tracer /usr/local/lib64/libdd_opentracing.so /etc/nginx/opentracing.json;\r\n"
|
expected = "opentracing_load_tracer /usr/local/lib/libdd_opentracing.so /etc/nginx/opentracing.json;\r\n"
|
||||||
expected += "opentracing_operation_name \"my-operation-name\";\n"
|
expected += "opentracing_operation_name \"my-operation-name\";\n"
|
||||||
expected += "opentracing_location_operation_name \"my-location-operation-name\";\n"
|
expected += "opentracing_location_operation_name \"my-location-operation-name\";\n"
|
||||||
actual = buildOpentracing(cfgOpenTracing, []*ingress.Server{})
|
actual = buildOpentracing(cfgOpenTracing, []*ingress.Server{})
|
||||||
|
|
|
@ -215,8 +215,21 @@ func (s *statusSync) runningAddresses() ([]string, error) {
|
||||||
}
|
}
|
||||||
|
|
||||||
func (s *statusSync) isRunningMultiplePods() bool {
|
func (s *statusSync) isRunningMultiplePods() bool {
|
||||||
|
|
||||||
|
// As a standard, app.kubernetes.io are "reserved well-known" labels.
|
||||||
|
// In our case, we add those labels as identifiers of the Ingress
|
||||||
|
// deployment in this namespace, so we can select it as a set of Ingress instances.
|
||||||
|
// As those labels are also generated as part of a HELM deployment, we can be "safe" they
|
||||||
|
// cover 95% of the cases
|
||||||
|
podLabel := make(map[string]string)
|
||||||
|
for k, v := range k8s.IngressPodDetails.Labels {
|
||||||
|
if k != "pod-template-hash" && k != "controller-revision-hash" && k != "pod-template-generation" {
|
||||||
|
podLabel[k] = v
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
pods, err := s.Client.CoreV1().Pods(k8s.IngressPodDetails.Namespace).List(context.TODO(), metav1.ListOptions{
|
pods, err := s.Client.CoreV1().Pods(k8s.IngressPodDetails.Namespace).List(context.TODO(), metav1.ListOptions{
|
||||||
LabelSelector: labels.SelectorFromSet(k8s.IngressPodDetails.Labels).String(),
|
LabelSelector: labels.SelectorFromSet(podLabel).String(),
|
||||||
})
|
})
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return false
|
return false
|
||||||
|
|
|
@ -1,3 +1,4 @@
|
||||||
|
//go:build !ignore_autogenerated
|
||||||
// +build !ignore_autogenerated
|
// +build !ignore_autogenerated
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
|
@ -1,3 +1,4 @@
|
||||||
|
//go:build !ignore_autogenerated
|
||||||
// +build !ignore_autogenerated
|
// +build !ignore_autogenerated
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
|
@ -1,3 +1,4 @@
|
||||||
|
//go:build linux
|
||||||
// +build linux
|
// +build linux
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
|
@ -1,3 +1,4 @@
|
||||||
|
//go:build !linux
|
||||||
// +build !linux
|
// +build !linux
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
|
@ -429,7 +429,7 @@ http {
|
||||||
|
|
||||||
# turn on session caching to drastically improve performance
|
# turn on session caching to drastically improve performance
|
||||||
{{ if $cfg.SSLSessionCache }}
|
{{ if $cfg.SSLSessionCache }}
|
||||||
ssl_session_cache builtin:1000 shared:SSL:{{ $cfg.SSLSessionCacheSize }};
|
ssl_session_cache shared:SSL:{{ $cfg.SSLSessionCacheSize }};
|
||||||
ssl_session_timeout {{ $cfg.SSLSessionTimeout }};
|
ssl_session_timeout {{ $cfg.SSLSessionTimeout }};
|
||||||
{{ end }}
|
{{ end }}
|
||||||
|
|
||||||
|
|
|
@ -1 +1 @@
|
||||||
controller-v0.49.0
|
controller-v0.50.0
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
FROM k8s.gcr.io/ingress-nginx/e2e-test-runner:v20210810-g820a21a74@sha256:7d7393a8c6c72d76145282df53ea0679a5b769211fd1cd6b8910b6dda1bd986d AS BASE
|
FROM k8s.gcr.io/ingress-nginx/e2e-test-runner:v20210822-g5e5faa24d@sha256:55c568d9e35e15d94b3ab41fe549b8ee4cd910cc3e031ddcccd06256755c5d89 AS BASE
|
||||||
|
|
||||||
FROM alpine:3.12
|
FROM alpine:3.12
|
||||||
|
|
||||||
|
|
|
@ -146,6 +146,34 @@ var _ = framework.IngressNginxDescribe("[Serial] admission controller", func() {
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
|
ginkgo.It("should return an error if there is an invalid value in some annotation", func() {
|
||||||
|
host := "admission-test"
|
||||||
|
|
||||||
|
annotations := map[string]string{
|
||||||
|
"nginx.ingress.kubernetes.io/connection-proxy-header": "a;}",
|
||||||
|
}
|
||||||
|
|
||||||
|
f.UpdateNginxConfigMapData("annotation-value-word-blocklist", "}")
|
||||||
|
|
||||||
|
firstIngress := framework.NewSingleIngress("first-ingress", "/", host, f.Namespace, framework.EchoService, 80, annotations)
|
||||||
|
_, err := f.KubeClientSet.NetworkingV1beta1().Ingresses(f.Namespace).Create(context.TODO(), firstIngress, metav1.CreateOptions{})
|
||||||
|
assert.NotNil(ginkgo.GinkgoT(), err, "creating an ingress with invalid annotation value should return an error")
|
||||||
|
})
|
||||||
|
|
||||||
|
ginkgo.It("should return an error if there is a forbidden value in some annotation", func() {
|
||||||
|
host := "admission-test"
|
||||||
|
|
||||||
|
annotations := map[string]string{
|
||||||
|
"nginx.ingress.kubernetes.io/connection-proxy-header": "set_by_lua",
|
||||||
|
}
|
||||||
|
|
||||||
|
f.UpdateNginxConfigMapData("annotation-value-word-blocklist", "set_by_lua")
|
||||||
|
|
||||||
|
firstIngress := framework.NewSingleIngress("first-ingress", "/", host, f.Namespace, framework.EchoService, 80, annotations)
|
||||||
|
_, err := f.KubeClientSet.NetworkingV1beta1().Ingresses(f.Namespace).Create(context.TODO(), firstIngress, metav1.CreateOptions{})
|
||||||
|
assert.NotNil(ginkgo.GinkgoT(), err, "creating an ingress with invalid annotation value should return an error")
|
||||||
|
})
|
||||||
|
|
||||||
ginkgo.It("should not return an error if the Ingress V1 definition is valid", func() {
|
ginkgo.It("should not return an error if the Ingress V1 definition is valid", func() {
|
||||||
if !f.IsIngressV1Ready {
|
if !f.IsIngressV1Ready {
|
||||||
ginkgo.Skip("Test requires Kubernetes v1.19 or higher")
|
ginkgo.Skip("Test requires Kubernetes v1.19 or higher")
|
||||||
|
@ -178,6 +206,17 @@ var _ = framework.IngressNginxDescribe("[Serial] admission controller", func() {
|
||||||
assert.NotNil(ginkgo.GinkgoT(), err, "creating an ingress with invalid configuration should return an error")
|
assert.NotNil(ginkgo.GinkgoT(), err, "creating an ingress with invalid configuration should return an error")
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
|
ginkgo.It("should return an error if there is an invalid value in some annotation", func() {
|
||||||
|
host := "admission-test"
|
||||||
|
|
||||||
|
annotations := map[string]string{
|
||||||
|
"nginx.ingress.kubernetes.io/connection-proxy-header": "a;}",
|
||||||
|
}
|
||||||
|
firstIngress := framework.NewSingleIngress("first-ingress", "/", host, f.Namespace, framework.EchoService, 80, annotations)
|
||||||
|
_, err := f.KubeClientSet.NetworkingV1beta1().Ingresses(f.Namespace).Create(context.TODO(), firstIngress, metav1.CreateOptions{})
|
||||||
|
assert.NotNil(ginkgo.GinkgoT(), err, "creating an ingress with invalid annotation value should return an error")
|
||||||
|
})
|
||||||
})
|
})
|
||||||
|
|
||||||
func uninstallChart(f *framework.Framework) error {
|
func uninstallChart(f *framework.Framework) error {
|
||||||
|
|
|
@ -40,6 +40,11 @@ var _ = framework.DescribeAnnotation("annotation-global-rate-limit", func() {
|
||||||
annotations["nginx.ingress.kubernetes.io/global-rate-limit"] = "5"
|
annotations["nginx.ingress.kubernetes.io/global-rate-limit"] = "5"
|
||||||
annotations["nginx.ingress.kubernetes.io/global-rate-limit-window"] = "2m"
|
annotations["nginx.ingress.kubernetes.io/global-rate-limit-window"] = "2m"
|
||||||
|
|
||||||
|
// We need to allow { and } characters for this annotation to work
|
||||||
|
f.UpdateNginxConfigMapData("annotation-value-word-blocklist", "load_module, lua_package, _by_lua, location, root")
|
||||||
|
// Sleep a while just to guarantee that the configmap is applied
|
||||||
|
framework.Sleep()
|
||||||
|
|
||||||
ing := framework.NewSingleIngress(host, "/", host, f.Namespace, framework.EchoService, 80, annotations)
|
ing := framework.NewSingleIngress(host, "/", host, f.Namespace, framework.EchoService, 80, annotations)
|
||||||
ing = f.EnsureIngress(ing)
|
ing = f.EnsureIngress(ing)
|
||||||
namespace := strings.Replace(string(ing.UID), "-", "", -1)
|
namespace := strings.Replace(string(ing.UID), "-", "", -1)
|
||||||
|
|
|
@ -165,7 +165,9 @@ var _ = framework.DescribeAnnotation("modsecurity owasp", func() {
|
||||||
"nginx.ingress.kubernetes.io/enable-modsecurity": "true",
|
"nginx.ingress.kubernetes.io/enable-modsecurity": "true",
|
||||||
"nginx.ingress.kubernetes.io/modsecurity-snippet": snippet,
|
"nginx.ingress.kubernetes.io/modsecurity-snippet": snippet,
|
||||||
}
|
}
|
||||||
|
f.UpdateNginxConfigMapData("annotation-value-word-blocklist", "load_module, lua_package, _by_lua, location, root, {, }")
|
||||||
|
// Sleep a while just to guarantee that the configmap is applied
|
||||||
|
framework.Sleep()
|
||||||
ing := framework.NewSingleIngress(host, "/", host, nameSpace, framework.EchoService, 80, annotations)
|
ing := framework.NewSingleIngress(host, "/", host, nameSpace, framework.EchoService, 80, annotations)
|
||||||
f.EnsureIngress(ing)
|
f.EnsureIngress(ing)
|
||||||
|
|
||||||
|
@ -198,7 +200,9 @@ var _ = framework.DescribeAnnotation("modsecurity owasp", func() {
|
||||||
annotations := map[string]string{
|
annotations := map[string]string{
|
||||||
"nginx.ingress.kubernetes.io/modsecurity-snippet": snippet,
|
"nginx.ingress.kubernetes.io/modsecurity-snippet": snippet,
|
||||||
}
|
}
|
||||||
|
f.UpdateNginxConfigMapData("annotation-value-word-blocklist", "load_module, lua_package, _by_lua, location, root, {, }")
|
||||||
|
// Sleep a while just to guarantee that the configmap is applied
|
||||||
|
framework.Sleep()
|
||||||
ing := framework.NewSingleIngress(host, "/", host, nameSpace, framework.EchoService, 80, annotations)
|
ing := framework.NewSingleIngress(host, "/", host, nameSpace, framework.EchoService, 80, annotations)
|
||||||
f.EnsureIngress(ing)
|
f.EnsureIngress(ing)
|
||||||
|
|
||||||
|
@ -232,7 +236,9 @@ var _ = framework.DescribeAnnotation("modsecurity owasp", func() {
|
||||||
annotations := map[string]string{
|
annotations := map[string]string{
|
||||||
"nginx.ingress.kubernetes.io/modsecurity-snippet": snippet,
|
"nginx.ingress.kubernetes.io/modsecurity-snippet": snippet,
|
||||||
}
|
}
|
||||||
|
f.UpdateNginxConfigMapData("annotation-value-word-blocklist", "load_module, lua_package, _by_lua, location, root, {, }")
|
||||||
|
// Sleep a while just to guarantee that the configmap is applied
|
||||||
|
framework.Sleep()
|
||||||
ing := framework.NewSingleIngress(host, "/", host, nameSpace, framework.EchoService, 80, annotations)
|
ing := framework.NewSingleIngress(host, "/", host, nameSpace, framework.EchoService, 80, annotations)
|
||||||
f.EnsureIngress(ing)
|
f.EnsureIngress(ing)
|
||||||
|
|
||||||
|
@ -268,7 +274,9 @@ var _ = framework.DescribeAnnotation("modsecurity owasp", func() {
|
||||||
annotations := map[string]string{
|
annotations := map[string]string{
|
||||||
"nginx.ingress.kubernetes.io/modsecurity-snippet": snippet,
|
"nginx.ingress.kubernetes.io/modsecurity-snippet": snippet,
|
||||||
}
|
}
|
||||||
|
f.UpdateNginxConfigMapData("annotation-value-word-blocklist", "load_module, lua_package, _by_lua, location, root, {, }")
|
||||||
|
// Sleep a while just to guarantee that the configmap is applied
|
||||||
|
framework.Sleep()
|
||||||
ing := framework.NewSingleIngress(host, "/", host, nameSpace, framework.EchoService, 80, annotations)
|
ing := framework.NewSingleIngress(host, "/", host, nameSpace, framework.EchoService, 80, annotations)
|
||||||
f.EnsureIngress(ing)
|
f.EnsureIngress(ing)
|
||||||
|
|
||||||
|
@ -282,7 +290,7 @@ var _ = framework.DescribeAnnotation("modsecurity owasp", func() {
|
||||||
|
|
||||||
f.WaitForNginxServer(host,
|
f.WaitForNginxServer(host,
|
||||||
func(server string) bool {
|
func(server string) bool {
|
||||||
return true
|
return strings.Contains(server, "SecRequestBodyAccess On")
|
||||||
})
|
})
|
||||||
|
|
||||||
f.HTTPTestClient().
|
f.HTTPTestClient().
|
||||||
|
@ -292,4 +300,46 @@ var _ = framework.DescribeAnnotation("modsecurity owasp", func() {
|
||||||
Expect().
|
Expect().
|
||||||
Status(http.StatusForbidden)
|
Status(http.StatusForbidden)
|
||||||
})
|
})
|
||||||
|
|
||||||
|
ginkgo.It("should enable modsecurity through the config map but ignore snippet as disabled by admin", func() {
|
||||||
|
host := "modsecurity.foo.com"
|
||||||
|
nameSpace := f.Namespace
|
||||||
|
|
||||||
|
snippet := `SecRequestBodyAccess On
|
||||||
|
SecAuditEngine RelevantOnly
|
||||||
|
SecAuditLogParts ABIJDEFHZ
|
||||||
|
SecAuditLog /dev/stdout
|
||||||
|
SecAuditLogType Serial
|
||||||
|
SecRule REQUEST_HEADERS:User-Agent \"block-ua\" \"log,deny,id:107,status:403,msg:\'UA blocked\'\"`
|
||||||
|
|
||||||
|
annotations := map[string]string{
|
||||||
|
"nginx.ingress.kubernetes.io/modsecurity-snippet": snippet,
|
||||||
|
}
|
||||||
|
f.UpdateNginxConfigMapData("annotation-value-word-blocklist", "load_module, lua_package, _by_lua, location, root, {, }")
|
||||||
|
// Sleep a while just to guarantee that the configmap is applied
|
||||||
|
framework.Sleep()
|
||||||
|
ing := framework.NewSingleIngress(host, "/", host, nameSpace, framework.EchoService, 80, annotations)
|
||||||
|
f.EnsureIngress(ing)
|
||||||
|
|
||||||
|
expectedComment := "SecRuleEngine On"
|
||||||
|
|
||||||
|
f.SetNginxConfigMapData(map[string]string{
|
||||||
|
"enable-modsecurity": "true",
|
||||||
|
"enable-owasp-modsecurity-crs": "true",
|
||||||
|
"allow-snippet-annotations": "false",
|
||||||
|
"modsecurity-snippet": expectedComment,
|
||||||
|
})
|
||||||
|
|
||||||
|
f.WaitForNginxServer(host,
|
||||||
|
func(server string) bool {
|
||||||
|
return !strings.Contains(server, "block-ua")
|
||||||
|
})
|
||||||
|
|
||||||
|
f.HTTPTestClient().
|
||||||
|
GET("/").
|
||||||
|
WithHeader("Host", host).
|
||||||
|
WithHeader("User-Agent", "block-ua").
|
||||||
|
Expect().
|
||||||
|
Status(http.StatusOK)
|
||||||
|
})
|
||||||
})
|
})
|
||||||
|
|
|
@ -17,6 +17,7 @@ limitations under the License.
|
||||||
package annotations
|
package annotations
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"net/http"
|
||||||
"strings"
|
"strings"
|
||||||
|
|
||||||
"github.com/onsi/ginkgo"
|
"github.com/onsi/ginkgo"
|
||||||
|
@ -35,8 +36,8 @@ var _ = framework.DescribeAnnotation("server-snippet", func() {
|
||||||
host := "serversnippet.foo.com"
|
host := "serversnippet.foo.com"
|
||||||
annotations := map[string]string{
|
annotations := map[string]string{
|
||||||
"nginx.ingress.kubernetes.io/server-snippet": `
|
"nginx.ingress.kubernetes.io/server-snippet": `
|
||||||
more_set_headers "Content-Length: $content_length";
|
more_set_headers "Foo: Bar";
|
||||||
more_set_headers "Content-Type: $content_type";`,
|
more_set_headers "Xpto: Lalala";`,
|
||||||
}
|
}
|
||||||
|
|
||||||
ing := framework.NewSingleIngress(host, "/", host, f.Namespace, framework.EchoService, 80, annotations)
|
ing := framework.NewSingleIngress(host, "/", host, f.Namespace, framework.EchoService, 80, annotations)
|
||||||
|
@ -44,8 +45,50 @@ var _ = framework.DescribeAnnotation("server-snippet", func() {
|
||||||
|
|
||||||
f.WaitForNginxServer(host,
|
f.WaitForNginxServer(host,
|
||||||
func(server string) bool {
|
func(server string) bool {
|
||||||
return strings.Contains(server, `more_set_headers "Content-Length: $content_length`) &&
|
return strings.Contains(server, `more_set_headers "Foo: Bar`) &&
|
||||||
strings.Contains(server, `more_set_headers "Content-Type: $content_type";`)
|
strings.Contains(server, `more_set_headers "Xpto: Lalala";`)
|
||||||
})
|
})
|
||||||
|
|
||||||
|
f.HTTPTestClient().
|
||||||
|
GET("/").
|
||||||
|
WithHeader("Host", host).
|
||||||
|
Expect().
|
||||||
|
Status(http.StatusOK).Headers().
|
||||||
|
ValueEqual("Foo", []string{"Bar"}).
|
||||||
|
ValueEqual("Xpto", []string{"Lalala"})
|
||||||
|
})
|
||||||
|
|
||||||
|
ginkgo.It(`drops server snippet if disabled by the administrator`, func() {
|
||||||
|
host := "noserversnippet.foo.com"
|
||||||
|
annotations := map[string]string{
|
||||||
|
"nginx.ingress.kubernetes.io/server-snippet": `
|
||||||
|
more_set_headers "Foo: Bar";
|
||||||
|
more_set_headers "Xpto: Lalala";`,
|
||||||
|
}
|
||||||
|
|
||||||
|
ing := framework.NewSingleIngress(host, "/", host, f.Namespace, framework.EchoService, 80, annotations)
|
||||||
|
f.UpdateNginxConfigMapData("allow-snippet-annotations", "false")
|
||||||
|
defer func() {
|
||||||
|
// Return to the original value
|
||||||
|
f.UpdateNginxConfigMapData("allow-snippet-annotations", "true")
|
||||||
|
}()
|
||||||
|
// Sleep a while just to guarantee that the configmap is applied
|
||||||
|
framework.Sleep()
|
||||||
|
f.EnsureIngress(ing)
|
||||||
|
|
||||||
|
f.WaitForNginxServer(host,
|
||||||
|
func(server string) bool {
|
||||||
|
return !strings.Contains(server, `more_set_headers "Foo: Bar`) &&
|
||||||
|
!strings.Contains(server, `more_set_headers "Xpto: Lalala";`)
|
||||||
|
})
|
||||||
|
|
||||||
|
f.HTTPTestClient().
|
||||||
|
GET("/").
|
||||||
|
WithHeader("Host", host).
|
||||||
|
Expect().
|
||||||
|
Status(http.StatusOK).Headers().
|
||||||
|
NotContainsKey("Foo").
|
||||||
|
NotContainsKey("Xpto")
|
||||||
|
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
|
|
|
@ -17,6 +17,7 @@ limitations under the License.
|
||||||
package annotations
|
package annotations
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"net/http"
|
||||||
"strings"
|
"strings"
|
||||||
|
|
||||||
"github.com/onsi/ginkgo"
|
"github.com/onsi/ginkgo"
|
||||||
|
@ -31,11 +32,11 @@ var _ = framework.DescribeAnnotation("configuration-snippet", func() {
|
||||||
f.NewEchoDeployment()
|
f.NewEchoDeployment()
|
||||||
})
|
})
|
||||||
|
|
||||||
ginkgo.It(`set snippet "more_set_headers "Request-Id: $req_id";" in all locations"`, func() {
|
ginkgo.It(`set snippet "more_set_headers "Foo1: Bar1";" in all locations"`, func() {
|
||||||
host := "configurationsnippet.foo.com"
|
host := "configurationsnippet.foo.com"
|
||||||
annotations := map[string]string{
|
annotations := map[string]string{
|
||||||
"nginx.ingress.kubernetes.io/configuration-snippet": `
|
"nginx.ingress.kubernetes.io/configuration-snippet": `
|
||||||
more_set_headers "Request-Id: $req_id";`,
|
more_set_headers "Foo1: Bar1";`,
|
||||||
}
|
}
|
||||||
|
|
||||||
ing := framework.NewSingleIngress(host, "/", host, f.Namespace, framework.EchoService, 80, annotations)
|
ing := framework.NewSingleIngress(host, "/", host, f.Namespace, framework.EchoService, 80, annotations)
|
||||||
|
@ -43,7 +44,44 @@ var _ = framework.DescribeAnnotation("configuration-snippet", func() {
|
||||||
|
|
||||||
f.WaitForNginxServer(host,
|
f.WaitForNginxServer(host,
|
||||||
func(server string) bool {
|
func(server string) bool {
|
||||||
return strings.Contains(server, `more_set_headers "Request-Id: $req_id";`)
|
return strings.Contains(server, `more_set_headers "Foo1: Bar1";`)
|
||||||
})
|
})
|
||||||
|
|
||||||
|
f.HTTPTestClient().
|
||||||
|
GET("/").
|
||||||
|
WithHeader("Host", host).
|
||||||
|
Expect().
|
||||||
|
Status(http.StatusOK).Headers().
|
||||||
|
ValueEqual("Foo1", []string{"Bar1"})
|
||||||
|
})
|
||||||
|
|
||||||
|
ginkgo.It(`drops snippet "more_set_headers "Foo1: Bar1";" in all locations if disabled by admin"`, func() {
|
||||||
|
host := "noconfigurationsnippet.foo.com"
|
||||||
|
annotations := map[string]string{
|
||||||
|
"nginx.ingress.kubernetes.io/configuration-snippet": `
|
||||||
|
more_set_headers "Foo1: Bar1";`,
|
||||||
|
}
|
||||||
|
|
||||||
|
ing := framework.NewSingleIngress(host, "/", host, f.Namespace, framework.EchoService, 80, annotations)
|
||||||
|
f.UpdateNginxConfigMapData("allow-snippet-annotations", "false")
|
||||||
|
defer func() {
|
||||||
|
// Return to the original value
|
||||||
|
f.UpdateNginxConfigMapData("allow-snippet-annotations", "true")
|
||||||
|
}()
|
||||||
|
// Sleep a while just to guarantee that the configmap is applied
|
||||||
|
framework.Sleep()
|
||||||
|
f.EnsureIngress(ing)
|
||||||
|
|
||||||
|
f.WaitForNginxServer(host,
|
||||||
|
func(server string) bool {
|
||||||
|
return !strings.Contains(server, `more_set_headers "Foo1: Bar1";`)
|
||||||
|
})
|
||||||
|
|
||||||
|
f.HTTPTestClient().
|
||||||
|
GET("/").
|
||||||
|
WithHeader("Host", host).
|
||||||
|
Expect().
|
||||||
|
Status(http.StatusOK).Headers().
|
||||||
|
NotContainsKey("Foo1")
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
|
|
|
@ -38,7 +38,7 @@ const SlowEchoService = "slow-echo"
|
||||||
const HTTPBinService = "httpbin"
|
const HTTPBinService = "httpbin"
|
||||||
|
|
||||||
// NginxBaseImage use for testing
|
// NginxBaseImage use for testing
|
||||||
const NginxBaseImage = "k8s.gcr.io/ingress-nginx/nginx:v20210809-g98288bc3c@sha256:f9363669cf26514c9548c1fe4f8f4e2f58dfb76616bcd638a0ff7f0ec3457c17"
|
const NginxBaseImage = "k8s.gcr.io/ingress-nginx/nginx:v20210926-g5662db450@sha256:1ef404b5e8741fe49605a1f40c3fdd8ef657aecdb9526ea979d1672eeabd0cd9"
|
||||||
|
|
||||||
// NewEchoDeployment creates a new single replica deployment of the echoserver image in a particular namespace
|
// NewEchoDeployment creates a new single replica deployment of the echoserver image in a particular namespace
|
||||||
func (f *Framework) NewEchoDeployment() {
|
func (f *Framework) NewEchoDeployment() {
|
||||||
|
|
|
@ -38,7 +38,7 @@ const (
|
||||||
Poll = 2 * time.Second
|
Poll = 2 * time.Second
|
||||||
|
|
||||||
// DefaultTimeout time to wait for operations to complete
|
// DefaultTimeout time to wait for operations to complete
|
||||||
DefaultTimeout = 5 * time.Minute
|
DefaultTimeout = 90 * time.Second
|
||||||
)
|
)
|
||||||
|
|
||||||
func nowStamp() string {
|
func nowStamp() string {
|
||||||
|
|
|
@ -44,14 +44,14 @@ var _ = framework.IngressNginxDescribe("[Ingress] [PathType] mix Exact and Prefi
|
||||||
host := "mixed.path"
|
host := "mixed.path"
|
||||||
|
|
||||||
annotations := map[string]string{
|
annotations := map[string]string{
|
||||||
"nginx.ingress.kubernetes.io/configuration-snippet": `more_set_input_headers "pathType: exact";more_set_input_headers "pathlocation: /";`,
|
"nginx.ingress.kubernetes.io/configuration-snippet": `more_set_input_headers "pathType: exact";more_set_input_headers "pathheader: /";`,
|
||||||
}
|
}
|
||||||
ing := framework.NewSingleIngress("exact-root", "/", host, f.Namespace, framework.EchoService, 80, annotations)
|
ing := framework.NewSingleIngress("exact-root", "/", host, f.Namespace, framework.EchoService, 80, annotations)
|
||||||
ing.Spec.Rules[0].IngressRuleValue.HTTP.Paths[0].PathType = &exactPathType
|
ing.Spec.Rules[0].IngressRuleValue.HTTP.Paths[0].PathType = &exactPathType
|
||||||
f.EnsureIngress(ing)
|
f.EnsureIngress(ing)
|
||||||
|
|
||||||
annotations = map[string]string{
|
annotations = map[string]string{
|
||||||
"nginx.ingress.kubernetes.io/configuration-snippet": `more_set_input_headers "pathType: prefix";more_set_input_headers "pathlocation: /";`,
|
"nginx.ingress.kubernetes.io/configuration-snippet": `more_set_input_headers "pathType: prefix";more_set_input_headers "pathheader: /";`,
|
||||||
}
|
}
|
||||||
ing = framework.NewSingleIngress("prefix-root", "/", host, f.Namespace, framework.EchoService, 80, annotations)
|
ing = framework.NewSingleIngress("prefix-root", "/", host, f.Namespace, framework.EchoService, 80, annotations)
|
||||||
f.EnsureIngress(ing)
|
f.EnsureIngress(ing)
|
||||||
|
@ -74,7 +74,7 @@ var _ = framework.IngressNginxDescribe("[Ingress] [PathType] mix Exact and Prefi
|
||||||
|
|
||||||
assert.NotContains(ginkgo.GinkgoT(), body, "pathtype=prefix")
|
assert.NotContains(ginkgo.GinkgoT(), body, "pathtype=prefix")
|
||||||
assert.Contains(ginkgo.GinkgoT(), body, "pathtype=exact")
|
assert.Contains(ginkgo.GinkgoT(), body, "pathtype=exact")
|
||||||
assert.Contains(ginkgo.GinkgoT(), body, "pathlocation=/")
|
assert.Contains(ginkgo.GinkgoT(), body, "pathheader=/")
|
||||||
|
|
||||||
ginkgo.By("Checking prefix request to /bar")
|
ginkgo.By("Checking prefix request to /bar")
|
||||||
body = f.HTTPTestClient().
|
body = f.HTTPTestClient().
|
||||||
|
@ -87,17 +87,17 @@ var _ = framework.IngressNginxDescribe("[Ingress] [PathType] mix Exact and Prefi
|
||||||
|
|
||||||
assert.Contains(ginkgo.GinkgoT(), body, "pathtype=prefix")
|
assert.Contains(ginkgo.GinkgoT(), body, "pathtype=prefix")
|
||||||
assert.NotContains(ginkgo.GinkgoT(), body, "pathtype=exact")
|
assert.NotContains(ginkgo.GinkgoT(), body, "pathtype=exact")
|
||||||
assert.Contains(ginkgo.GinkgoT(), body, "pathlocation=/")
|
assert.Contains(ginkgo.GinkgoT(), body, "pathheader=/")
|
||||||
|
|
||||||
annotations = map[string]string{
|
annotations = map[string]string{
|
||||||
"nginx.ingress.kubernetes.io/configuration-snippet": `more_set_input_headers "pathType: exact";more_set_input_headers "pathlocation: /foo";`,
|
"nginx.ingress.kubernetes.io/configuration-snippet": `more_set_input_headers "pathType: exact";more_set_input_headers "pathheader: /foo";`,
|
||||||
}
|
}
|
||||||
ing = framework.NewSingleIngress("exact-foo", "/foo", host, f.Namespace, framework.EchoService, 80, annotations)
|
ing = framework.NewSingleIngress("exact-foo", "/foo", host, f.Namespace, framework.EchoService, 80, annotations)
|
||||||
ing.Spec.Rules[0].IngressRuleValue.HTTP.Paths[0].PathType = &exactPathType
|
ing.Spec.Rules[0].IngressRuleValue.HTTP.Paths[0].PathType = &exactPathType
|
||||||
f.EnsureIngress(ing)
|
f.EnsureIngress(ing)
|
||||||
|
|
||||||
annotations = map[string]string{
|
annotations = map[string]string{
|
||||||
"nginx.ingress.kubernetes.io/configuration-snippet": `more_set_input_headers "pathType: prefix";more_set_input_headers "pathlocation: /foo";`,
|
"nginx.ingress.kubernetes.io/configuration-snippet": `more_set_input_headers "pathType: prefix";more_set_input_headers "pathheader: /foo";`,
|
||||||
}
|
}
|
||||||
ing = framework.NewSingleIngress("prefix-foo", "/foo", host, f.Namespace, framework.EchoService, 80, annotations)
|
ing = framework.NewSingleIngress("prefix-foo", "/foo", host, f.Namespace, framework.EchoService, 80, annotations)
|
||||||
f.EnsureIngress(ing)
|
f.EnsureIngress(ing)
|
||||||
|
@ -120,7 +120,7 @@ var _ = framework.IngressNginxDescribe("[Ingress] [PathType] mix Exact and Prefi
|
||||||
|
|
||||||
assert.NotContains(ginkgo.GinkgoT(), body, "pathtype=prefix")
|
assert.NotContains(ginkgo.GinkgoT(), body, "pathtype=prefix")
|
||||||
assert.Contains(ginkgo.GinkgoT(), body, "pathtype=exact")
|
assert.Contains(ginkgo.GinkgoT(), body, "pathtype=exact")
|
||||||
assert.Contains(ginkgo.GinkgoT(), body, "pathlocation=/foo")
|
assert.Contains(ginkgo.GinkgoT(), body, "pathheader=/foo")
|
||||||
|
|
||||||
ginkgo.By("Checking prefix request to /foo/bar")
|
ginkgo.By("Checking prefix request to /foo/bar")
|
||||||
body = f.HTTPTestClient().
|
body = f.HTTPTestClient().
|
||||||
|
@ -132,7 +132,7 @@ var _ = framework.IngressNginxDescribe("[Ingress] [PathType] mix Exact and Prefi
|
||||||
Raw()
|
Raw()
|
||||||
|
|
||||||
assert.Contains(ginkgo.GinkgoT(), body, "pathtype=prefix")
|
assert.Contains(ginkgo.GinkgoT(), body, "pathtype=prefix")
|
||||||
assert.Contains(ginkgo.GinkgoT(), body, "pathlocation=/foo")
|
assert.Contains(ginkgo.GinkgoT(), body, "pathheader=/foo")
|
||||||
|
|
||||||
ginkgo.By("Checking prefix request to /foobar")
|
ginkgo.By("Checking prefix request to /foobar")
|
||||||
body = f.HTTPTestClient().
|
body = f.HTTPTestClient().
|
||||||
|
@ -144,6 +144,6 @@ var _ = framework.IngressNginxDescribe("[Ingress] [PathType] mix Exact and Prefi
|
||||||
Raw()
|
Raw()
|
||||||
|
|
||||||
assert.Contains(ginkgo.GinkgoT(), body, "pathtype=prefix")
|
assert.Contains(ginkgo.GinkgoT(), body, "pathtype=prefix")
|
||||||
assert.Contains(ginkgo.GinkgoT(), body, "pathlocation=/")
|
assert.Contains(ginkgo.GinkgoT(), body, "pathheader=/")
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
|
|
164
test/e2e/settings/badannotationvalues.go
Normal file
164
test/e2e/settings/badannotationvalues.go
Normal file
|
@ -0,0 +1,164 @@
|
||||||
|
/*
|
||||||
|
Copyright 2021 The Kubernetes Authors.
|
||||||
|
|
||||||
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
you may not use this file except in compliance with the License.
|
||||||
|
You may obtain a copy of the License at
|
||||||
|
|
||||||
|
http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
Unless required by applicable law or agreed to in writing, software
|
||||||
|
distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
See the License for the specific language governing permissions and
|
||||||
|
limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package settings
|
||||||
|
|
||||||
|
import (
|
||||||
|
"fmt"
|
||||||
|
"net/http"
|
||||||
|
"strings"
|
||||||
|
|
||||||
|
"github.com/onsi/ginkgo"
|
||||||
|
|
||||||
|
"k8s.io/ingress-nginx/test/e2e/framework"
|
||||||
|
)
|
||||||
|
|
||||||
|
var _ = framework.DescribeAnnotation("Bad annotation values", func() {
|
||||||
|
f := framework.NewDefaultFramework("bad-annotation")
|
||||||
|
|
||||||
|
ginkgo.BeforeEach(func() {
|
||||||
|
f.NewEchoDeployment()
|
||||||
|
})
|
||||||
|
|
||||||
|
ginkgo.It("[BAD_ANNOTATIONS] should drop an ingress if there is an invalid character in some annotation", func() {
|
||||||
|
host := "invalid-value-test"
|
||||||
|
|
||||||
|
annotations := map[string]string{
|
||||||
|
"nginx.ingress.kubernetes.io/configuration-snippet": `
|
||||||
|
# abc { }`,
|
||||||
|
}
|
||||||
|
|
||||||
|
ing := framework.NewSingleIngress(host, "/", host, f.Namespace, framework.EchoService, 80, annotations)
|
||||||
|
f.UpdateNginxConfigMapData("allow-snippet-annotations", "true")
|
||||||
|
f.UpdateNginxConfigMapData("annotation-value-word-blocklist", "something_forbidden,otherthing_forbidden,{")
|
||||||
|
|
||||||
|
f.EnsureIngress(ing)
|
||||||
|
|
||||||
|
f.WaitForNginxServer(host,
|
||||||
|
func(server string) bool {
|
||||||
|
return !strings.Contains(server, fmt.Sprintf("server_name %s ;", host))
|
||||||
|
})
|
||||||
|
|
||||||
|
f.WaitForNginxServer(host,
|
||||||
|
func(server string) bool {
|
||||||
|
return !strings.Contains(server, "# abc { }")
|
||||||
|
})
|
||||||
|
|
||||||
|
f.HTTPTestClient().
|
||||||
|
GET("/").
|
||||||
|
WithHeader("Host", host).
|
||||||
|
Expect().
|
||||||
|
Status(http.StatusNotFound)
|
||||||
|
})
|
||||||
|
|
||||||
|
ginkgo.It("[BAD_ANNOTATIONS] should drop an ingress if there is a forbidden word in some annotation", func() {
|
||||||
|
host := "forbidden-value-test"
|
||||||
|
|
||||||
|
annotations := map[string]string{
|
||||||
|
"nginx.ingress.kubernetes.io/configuration-snippet": `
|
||||||
|
default_type text/plain;
|
||||||
|
content_by_lua_block {
|
||||||
|
ngx.say("Hello World")
|
||||||
|
}`,
|
||||||
|
}
|
||||||
|
|
||||||
|
ing := framework.NewSingleIngress(host, "/", host, f.Namespace, framework.EchoService, 80, annotations)
|
||||||
|
f.UpdateNginxConfigMapData("allow-snippet-annotations", "true")
|
||||||
|
f.UpdateNginxConfigMapData("annotation-value-word-blocklist", "something_forbidden,otherthing_forbidden,content_by_lua_block")
|
||||||
|
// Sleep a while just to guarantee that the configmap is applied
|
||||||
|
framework.Sleep()
|
||||||
|
f.EnsureIngress(ing)
|
||||||
|
|
||||||
|
f.WaitForNginxServer(host,
|
||||||
|
func(server string) bool {
|
||||||
|
return !strings.Contains(server, fmt.Sprintf("server_name %s ;", host))
|
||||||
|
})
|
||||||
|
|
||||||
|
f.WaitForNginxServer(host,
|
||||||
|
func(server string) bool {
|
||||||
|
return !strings.Contains(server, `ngx.say("Hello World")`)
|
||||||
|
})
|
||||||
|
|
||||||
|
f.HTTPTestClient().
|
||||||
|
GET("/").
|
||||||
|
WithHeader("Host", host).
|
||||||
|
Expect().
|
||||||
|
Status(http.StatusNotFound)
|
||||||
|
})
|
||||||
|
|
||||||
|
ginkgo.It("[BAD_ANNOTATIONS] should allow an ingress if there is a default blocklist config in place", func() {
|
||||||
|
|
||||||
|
hostValid := "custom-allowed-value-test"
|
||||||
|
annotationsValid := map[string]string{
|
||||||
|
"nginx.ingress.kubernetes.io/configuration-snippet": `
|
||||||
|
# bla_by_lua`,
|
||||||
|
}
|
||||||
|
|
||||||
|
ingValid := framework.NewSingleIngress(hostValid, "/", hostValid, f.Namespace, framework.EchoService, 80, annotationsValid)
|
||||||
|
|
||||||
|
// Sleep a while just to guarantee that the configmap is applied
|
||||||
|
framework.Sleep()
|
||||||
|
f.EnsureIngress(ingValid)
|
||||||
|
|
||||||
|
f.WaitForNginxServer(hostValid,
|
||||||
|
func(server string) bool {
|
||||||
|
return strings.Contains(server, fmt.Sprintf("server_name %s ;", hostValid))
|
||||||
|
})
|
||||||
|
|
||||||
|
f.WaitForNginxServer(hostValid,
|
||||||
|
func(server string) bool {
|
||||||
|
return strings.Contains(server, "# bla_by_lua")
|
||||||
|
})
|
||||||
|
|
||||||
|
f.HTTPTestClient().
|
||||||
|
GET("/").
|
||||||
|
WithHeader("Host", hostValid).
|
||||||
|
Expect().
|
||||||
|
Status(http.StatusOK)
|
||||||
|
})
|
||||||
|
|
||||||
|
ginkgo.It("[BAD_ANNOTATIONS] should drop an ingress if there is a custom blocklist config in place and allow others to pass", func() {
|
||||||
|
host := "custom-forbidden-value-test"
|
||||||
|
|
||||||
|
annotations := map[string]string{
|
||||||
|
"nginx.ingress.kubernetes.io/configuration-snippet": `
|
||||||
|
# something_forbidden`,
|
||||||
|
}
|
||||||
|
|
||||||
|
ing := framework.NewSingleIngress(host, "/", host, f.Namespace, framework.EchoService, 80, annotations)
|
||||||
|
f.UpdateNginxConfigMapData("annotation-value-word-blocklist", "something_forbidden,otherthing_forbidden")
|
||||||
|
// Sleep a while just to guarantee that the configmap is applied
|
||||||
|
framework.Sleep()
|
||||||
|
f.EnsureIngress(ing)
|
||||||
|
|
||||||
|
f.WaitForNginxServer(host,
|
||||||
|
func(server string) bool {
|
||||||
|
return !strings.Contains(server, fmt.Sprintf("server_name %s ;", host))
|
||||||
|
})
|
||||||
|
|
||||||
|
f.WaitForNginxServer(host,
|
||||||
|
func(server string) bool {
|
||||||
|
return !strings.Contains(server, "# something_forbidden")
|
||||||
|
})
|
||||||
|
|
||||||
|
f.HTTPTestClient().
|
||||||
|
GET("/").
|
||||||
|
WithHeader("Host", host).
|
||||||
|
Expect().
|
||||||
|
Status(http.StatusNotFound)
|
||||||
|
|
||||||
|
})
|
||||||
|
})
|
149
test/e2e/settings/server_snippet.go
Normal file
149
test/e2e/settings/server_snippet.go
Normal file
|
@ -0,0 +1,149 @@
|
||||||
|
/*
|
||||||
|
Copyright 2021 The Kubernetes Authors.
|
||||||
|
|
||||||
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
you may not use this file except in compliance with the License.
|
||||||
|
You may obtain a copy of the License at
|
||||||
|
|
||||||
|
http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
Unless required by applicable law or agreed to in writing, software
|
||||||
|
distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
See the License for the specific language governing permissions and
|
||||||
|
limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package settings
|
||||||
|
|
||||||
|
import (
|
||||||
|
"net/http"
|
||||||
|
"strings"
|
||||||
|
|
||||||
|
"github.com/onsi/ginkgo"
|
||||||
|
|
||||||
|
"k8s.io/ingress-nginx/test/e2e/framework"
|
||||||
|
)
|
||||||
|
|
||||||
|
var _ = framework.DescribeSetting("configmap server-snippet", func() {
|
||||||
|
f := framework.NewDefaultFramework("cm-server-snippet")
|
||||||
|
|
||||||
|
ginkgo.BeforeEach(func() {
|
||||||
|
f.NewEchoDeployment()
|
||||||
|
})
|
||||||
|
|
||||||
|
ginkgo.It("should add value of server-snippet setting to all ingress config", func() {
|
||||||
|
host := "serverglobalsnippet1.foo.com"
|
||||||
|
hostAnnots := "serverannotssnippet1.foo.com"
|
||||||
|
|
||||||
|
f.SetNginxConfigMapData(map[string]string{
|
||||||
|
"server-snippet": `
|
||||||
|
more_set_headers "Globalfoo: Foooo";`,
|
||||||
|
})
|
||||||
|
|
||||||
|
annotations := map[string]string{
|
||||||
|
"nginx.ingress.kubernetes.io/server-snippet": `
|
||||||
|
more_set_headers "Foo: Bar";
|
||||||
|
more_set_headers "Xpto: Lalala";`,
|
||||||
|
}
|
||||||
|
|
||||||
|
ing := framework.NewSingleIngress(host, "/", host, f.Namespace, framework.EchoService, 80, nil)
|
||||||
|
f.EnsureIngress(ing)
|
||||||
|
|
||||||
|
ing1 := framework.NewSingleIngress(hostAnnots, "/", hostAnnots, f.Namespace, framework.EchoService, 80, annotations)
|
||||||
|
f.EnsureIngress(ing1)
|
||||||
|
|
||||||
|
// Sleep a while just to guarantee that the configmap is applied
|
||||||
|
framework.Sleep()
|
||||||
|
|
||||||
|
f.WaitForNginxServer(host,
|
||||||
|
func(server string) bool {
|
||||||
|
return strings.Contains(server, `more_set_headers "Globalfoo: Foooo`) &&
|
||||||
|
!strings.Contains(server, `more_set_headers "Foo: Bar";`) &&
|
||||||
|
!strings.Contains(server, `more_set_headers "Xpto: Lalala";`)
|
||||||
|
})
|
||||||
|
|
||||||
|
f.WaitForNginxServer(hostAnnots,
|
||||||
|
func(server string) bool {
|
||||||
|
return strings.Contains(server, `more_set_headers "Globalfoo: Foooo`) &&
|
||||||
|
strings.Contains(server, `more_set_headers "Foo: Bar";`) &&
|
||||||
|
strings.Contains(server, `more_set_headers "Xpto: Lalala";`)
|
||||||
|
})
|
||||||
|
|
||||||
|
f.HTTPTestClient().
|
||||||
|
GET("/").
|
||||||
|
WithHeader("Host", host).
|
||||||
|
Expect().
|
||||||
|
Status(http.StatusOK).Headers().
|
||||||
|
ValueEqual("Globalfoo", []string{"Foooo"}).
|
||||||
|
NotContainsKey("Foo").
|
||||||
|
NotContainsKey("Xpto")
|
||||||
|
|
||||||
|
f.HTTPTestClient().
|
||||||
|
GET("/").
|
||||||
|
WithHeader("Host", hostAnnots).
|
||||||
|
Expect().
|
||||||
|
Status(http.StatusOK).Headers().
|
||||||
|
ValueEqual("Foo", []string{"Bar"}).
|
||||||
|
ValueEqual("Xpto", []string{"Lalala"}).
|
||||||
|
ValueEqual("Globalfoo", []string{"Foooo"})
|
||||||
|
})
|
||||||
|
|
||||||
|
ginkgo.It("should add global server-snippet and drop annotations per admin config", func() {
|
||||||
|
host := "serverglobalsnippet2.foo.com"
|
||||||
|
hostAnnots := "serverannotssnippet2.foo.com"
|
||||||
|
|
||||||
|
f.SetNginxConfigMapData(map[string]string{
|
||||||
|
"allow-snippet-annotations": "false",
|
||||||
|
"server-snippet": `
|
||||||
|
more_set_headers "Globalfoo: Foooo";`,
|
||||||
|
})
|
||||||
|
|
||||||
|
annotations := map[string]string{
|
||||||
|
"nginx.ingress.kubernetes.io/server-snippet": `
|
||||||
|
more_set_headers "Foo: Bar";
|
||||||
|
more_set_headers "Xpto: Lalala";`,
|
||||||
|
}
|
||||||
|
|
||||||
|
ing := framework.NewSingleIngress(host, "/", host, f.Namespace, framework.EchoService, 80, nil)
|
||||||
|
f.EnsureIngress(ing)
|
||||||
|
|
||||||
|
ing1 := framework.NewSingleIngress(hostAnnots, "/", hostAnnots, f.Namespace, framework.EchoService, 80, annotations)
|
||||||
|
f.EnsureIngress(ing1)
|
||||||
|
|
||||||
|
// Sleep a while just to guarantee that the configmap is applied
|
||||||
|
framework.Sleep()
|
||||||
|
|
||||||
|
f.WaitForNginxServer(host,
|
||||||
|
func(server string) bool {
|
||||||
|
return strings.Contains(server, `more_set_headers "Globalfoo: Foooo`) &&
|
||||||
|
!strings.Contains(server, `more_set_headers "Foo: Bar";`) &&
|
||||||
|
!strings.Contains(server, `more_set_headers "Xpto: Lalala";`)
|
||||||
|
})
|
||||||
|
|
||||||
|
f.WaitForNginxServer(hostAnnots,
|
||||||
|
func(server string) bool {
|
||||||
|
return strings.Contains(server, `more_set_headers "Globalfoo: Foooo`) &&
|
||||||
|
!strings.Contains(server, `more_set_headers "Foo: Bar";`) &&
|
||||||
|
!strings.Contains(server, `more_set_headers "Xpto: Lalala";`)
|
||||||
|
})
|
||||||
|
|
||||||
|
f.HTTPTestClient().
|
||||||
|
GET("/").
|
||||||
|
WithHeader("Host", host).
|
||||||
|
Expect().
|
||||||
|
Status(http.StatusOK).Headers().
|
||||||
|
ValueEqual("Globalfoo", []string{"Foooo"}).
|
||||||
|
NotContainsKey("Foo").
|
||||||
|
NotContainsKey("Xpto")
|
||||||
|
|
||||||
|
f.HTTPTestClient().
|
||||||
|
GET("/").
|
||||||
|
WithHeader("Host", hostAnnots).
|
||||||
|
Expect().
|
||||||
|
Status(http.StatusOK).Headers().
|
||||||
|
ValueEqual("Globalfoo", []string{"Foooo"}).
|
||||||
|
NotContainsKey("Foo").
|
||||||
|
NotContainsKey("Xpto")
|
||||||
|
})
|
||||||
|
})
|
Loading…
Reference in a new issue