diff --git a/assets/haproxy/haproxy-1.12.500.tgz b/assets/haproxy/haproxy-1.12.500.tgz new file mode 100644 index 000000000..a4248f5cf Binary files /dev/null and b/assets/haproxy/haproxy-1.12.500.tgz differ diff --git a/assets/index.yaml b/assets/index.yaml index 4b7f2a6e6..8577c6762 100644 --- a/assets/index.yaml +++ b/assets/index.yaml @@ -442,6 +442,33 @@ entries: - assets/falcon-sensor/falcon-sensor-0.9.300.tgz version: 0.9.300 haproxy: + - annotations: + catalog.cattle.io/certified: partner + catalog.cattle.io/release-name: haproxy + apiVersion: v1 + appVersion: 1.5.4 + created: "2021-04-30T00:26:59.351246692Z" + description: A Helm chart for HAProxy Kubernetes Ingress Controller + digest: fd110caa557e3b385d407578a4e7693429d5bc722d233f51f19ca58840372ca7 + home: https://github.com/haproxytech/helm-charts/tree/master/kubernetes-ingress + icon: http://www.haproxy.org/img/HAProxyCommunityEdition_60px.png + keywords: + - ingress + - haproxy + kubeVersion: '>=1.12.0-0' + maintainers: + - email: mmhedhbi@haproxy.com + name: Moemen Mhedhbi + - email: bassmann@haproxy.com + name: Baptiste Assmann + - email: dkorunic@haproxy.com + name: Dinko Korunic + name: haproxy + sources: + - https://github.com/haproxytech/kubernetes-ingress + urls: + - assets/haproxy/haproxy-1.12.500.tgz + version: 1.12.500 - annotations: catalog.cattle.io/certified: partner catalog.cattle.io/release-name: haproxy @@ -741,4 +768,4 @@ entries: urls: - assets/sysdig/sysdig-1.9.200.tgz version: 1.9.200 -generated: "2021-04-30T00:23:56.429112757Z" +generated: "2021-04-30T00:26:59.349314381Z" diff --git a/charts/haproxy/Chart.yaml b/charts/haproxy/Chart.yaml index 51c2d51bb..886f1a20f 100644 --- a/charts/haproxy/Chart.yaml +++ b/charts/haproxy/Chart.yaml @@ -1,5 +1,5 @@ apiVersion: v1 -appVersion: 1.5.1 +appVersion: 1.5.4 description: A Helm chart for HAProxy Kubernetes Ingress Controller home: https://github.com/haproxytech/helm-charts/tree/master/kubernetes-ingress icon: http://www.haproxy.org/img/HAProxyCommunityEdition_60px.png @@ -17,7 +17,7 @@ maintainers: name: haproxy sources: - https://github.com/haproxytech/kubernetes-ingress -version: 1.12.100 +version: 1.12.500 annotations: catalog.cattle.io/certified: partner catalog.cattle.io/release-name: haproxy diff --git a/charts/haproxy/README.md b/charts/haproxy/README.md index d4f04dbb8..c7534e846 100644 --- a/charts/haproxy/README.md +++ b/charts/haproxy/README.md @@ -77,6 +77,15 @@ helm install my-ingress haproxytech/kubernetes-ingress \ --set controller.imageCredentials.password=MYPASSWORD ``` +Alternatively, use a pre-configured (existing) imagePullSecret in the same namespace: + +```console +helm install my-ingress haproxytech/kubernetes-ingress \ + --namespace prod \ + --set controller.image.tag=SOMETAG \ + --set controller.existingImagePullSecret name-of-existing-image-pull-secret +``` + ### Installing as DaemonSet Default controller mode is [Deployment](https://kubernetes.io/docs/concepts/workloads/controllers/deployment/), but it is possible to use [DaemonSet](https://kubernetes.io/docs/concepts/workloads/controllers/daemonset/) as well: diff --git a/charts/haproxy/questions.yml b/charts/haproxy/questions.yml index 27ff89e72..298326086 100644 --- a/charts/haproxy/questions.yml +++ b/charts/haproxy/questions.yml @@ -8,7 +8,7 @@ questions: show_subquestion_if: false subquestions: - variable: controller.image.tag - default: "1.4.6" + default: "1.5.4" description: "HAProxy Ingress Controller Tag" type: string label: HAProxy Ingress Controller Tag diff --git a/charts/haproxy/templates/controller-daemonset.yaml b/charts/haproxy/templates/controller-daemonset.yaml index e892c4b8d..5d2ae478a 100644 --- a/charts/haproxy/templates/controller-daemonset.yaml +++ b/charts/haproxy/templates/controller-daemonset.yaml @@ -68,6 +68,9 @@ spec: {{- if .Values.controller.imageCredentials.registry }} imagePullSecrets: - name: {{ template "kubernetes-ingress.fullname" . }} +{{- else if .Values.controller.existingImagePullSecret }} + imagePullSecrets: + - name: {{ .Values.controller.existingImagePullSecret }} {{- end }} {{- if .Values.controller.priorityClassName }} priorityClassName: {{ .Values.controller.priorityClassName }} diff --git a/charts/haproxy/templates/controller-deployment.yaml b/charts/haproxy/templates/controller-deployment.yaml index 2868add91..53568e1d9 100644 --- a/charts/haproxy/templates/controller-deployment.yaml +++ b/charts/haproxy/templates/controller-deployment.yaml @@ -56,6 +56,10 @@ spec: spec: serviceAccountName: {{ template "kubernetes-ingress.serviceAccountName" . }} terminationGracePeriodSeconds: {{ .Values.controller.terminationGracePeriodSeconds }} +{{- with .Values.controller.topologySpreadConstraints }} + topologySpreadConstraints: + {{- toYaml . | nindent 8 }} +{{- end }} {{- if .Values.controller.dnsConfig }} dnsConfig: {{ toYaml .Values.controller.dnsConfig | indent 8 }} @@ -64,6 +68,9 @@ spec: {{- if .Values.controller.imageCredentials.registry }} imagePullSecrets: - name: {{ template "kubernetes-ingress.fullname" . }} +{{- else if .Values.controller.existingImagePullSecret }} + imagePullSecrets: + - name: {{ .Values.controller.existingImagePullSecret }} {{- end }} {{- if .Values.controller.priorityClassName }} priorityClassName: {{ .Values.controller.priorityClassName }} diff --git a/charts/haproxy/templates/controller-poddisruptionbudget.yaml b/charts/haproxy/templates/controller-poddisruptionbudget.yaml new file mode 100644 index 000000000..e08d25cc7 --- /dev/null +++ b/charts/haproxy/templates/controller-poddisruptionbudget.yaml @@ -0,0 +1,40 @@ +{{/* +Copyright 2019 HAProxy Technologies LLC + +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. +*/}} + +{{- if .Values.controller.PodDisruptionBudget.enable }} +apiVersion: policy/v1beta1 +kind: PodDisruptionBudget +metadata: + name: {{ template "kubernetes-ingress.fullname" . }} + namespace: {{ .Release.Namespace }} + labels: + app.kubernetes.io/name: {{ template "kubernetes-ingress.name" . }} + helm.sh/chart: {{ template "kubernetes-ingress.chart" . }} + app.kubernetes.io/managed-by: {{ .Release.Service }} + app.kubernetes.io/instance: {{ .Release.Name }} + app.kubernetes.io/version: {{ .Chart.AppVersion }} +spec: + {{- if .Values.controller.PodDisruptionBudget.maxUnavailable }} + maxUnavailable: {{ .Values.controller.PodDisruptionBudget.maxUnavailable }} + {{- end }} + {{- if .Values.controller.PodDisruptionBudget.minAvailable }} + minAvailable: {{ .Values.controller.PodDisruptionBudget.minAvailable }} + {{- end }} + selector: + matchLabels: + app.kubernetes.io/name: {{ template "kubernetes-ingress.name" . }} + app.kubernetes.io/instance: {{ .Release.Name }} +{{- end }} \ No newline at end of file diff --git a/charts/haproxy/templates/default-backend-deployment.yaml b/charts/haproxy/templates/default-backend-deployment.yaml index 9331f5f35..af9930dc3 100644 --- a/charts/haproxy/templates/default-backend-deployment.yaml +++ b/charts/haproxy/templates/default-backend-deployment.yaml @@ -47,6 +47,10 @@ spec: {{ toYaml .Values.defaultBackend.podAnnotations | indent 8 }} {{- end }} spec: +{{- with .Values.defaultBackend.topologySpreadConstraints }} + topologySpreadConstraints: + {{- toYaml . | nindent 8 }} +{{- end }} {{- if .Values.controller.priorityClassName }} priorityClassName: {{ .Values.controller.priorityClassName }} {{- end }} diff --git a/charts/haproxy/values.yaml b/charts/haproxy/values.yaml index 0ca2b7932..98b3e74a9 100644 --- a/charts/haproxy/values.yaml +++ b/charts/haproxy/values.yaml @@ -1,4 +1,6 @@ controller: + PodDisruptionBudget: + enable: false affinity: {} autoscaling: enabled: false @@ -22,6 +24,7 @@ controller: secret: null dnsConfig: {} dnsPolicy: ClusterFirst + existingImagePullSecret: null extraArgs: [] extraContainers: [] extraEnvs: [] @@ -116,6 +119,7 @@ controller: strategy: {} terminationGracePeriodSeconds: 60 tolerations: [] + topologySpreadConstraints: [] unprivileged: false defaultBackend: affinity: {} @@ -147,6 +151,7 @@ defaultBackend: serviceAccount: create: true tolerations: [] + topologySpreadConstraints: [] podSecurityPolicy: annotations: {} enabled: false diff --git a/index.yaml b/index.yaml index 4b7f2a6e6..8577c6762 100644 --- a/index.yaml +++ b/index.yaml @@ -442,6 +442,33 @@ entries: - assets/falcon-sensor/falcon-sensor-0.9.300.tgz version: 0.9.300 haproxy: + - annotations: + catalog.cattle.io/certified: partner + catalog.cattle.io/release-name: haproxy + apiVersion: v1 + appVersion: 1.5.4 + created: "2021-04-30T00:26:59.351246692Z" + description: A Helm chart for HAProxy Kubernetes Ingress Controller + digest: fd110caa557e3b385d407578a4e7693429d5bc722d233f51f19ca58840372ca7 + home: https://github.com/haproxytech/helm-charts/tree/master/kubernetes-ingress + icon: http://www.haproxy.org/img/HAProxyCommunityEdition_60px.png + keywords: + - ingress + - haproxy + kubeVersion: '>=1.12.0-0' + maintainers: + - email: mmhedhbi@haproxy.com + name: Moemen Mhedhbi + - email: bassmann@haproxy.com + name: Baptiste Assmann + - email: dkorunic@haproxy.com + name: Dinko Korunic + name: haproxy + sources: + - https://github.com/haproxytech/kubernetes-ingress + urls: + - assets/haproxy/haproxy-1.12.500.tgz + version: 1.12.500 - annotations: catalog.cattle.io/certified: partner catalog.cattle.io/release-name: haproxy @@ -741,4 +768,4 @@ entries: urls: - assets/sysdig/sysdig-1.9.200.tgz version: 1.9.200 -generated: "2021-04-30T00:23:56.429112757Z" +generated: "2021-04-30T00:26:59.349314381Z" diff --git a/sha256sum/haproxy/haproxy.sum b/sha256sum/haproxy/haproxy.sum index 5b53229b9..05e8e8bd7 100644 --- a/sha256sum/haproxy/haproxy.sum +++ b/sha256sum/haproxy/haproxy.sum @@ -1,4 +1,4 @@ -0c2923b56401b95bfd0b80084a9dcc195afb92978179e3f5e4243812e6148ba7 packages/haproxy/haproxy.patch +a4203fed5f448fc278021b47930192cc732645a8186e4ca1d15c6e78b93cc411 packages/haproxy/haproxy.patch ef96856c7f2241f1a7e5df4e841ade5c0678f8599c359d8b86736fb3b9ba4b72 packages/haproxy/overlay/app-readme.md -45a217ebefb053d23ddbd48e7e12ecd8119a8d0e8b31246d521c97740b7d3a78 packages/haproxy/overlay/questions.yml -5c75a8f608f9d22b26ab4849ebec07fdb9cd5663553aaedece920082a6b9332d packages/haproxy/package.yaml +9169690c47126683a7c31e988e623bddd402c175e23124f08b6b411ee2cd86a3 packages/haproxy/overlay/questions.yml +64e8c45a6e3d04a8186b203c4e089adf8bf26043a9de9ed4932215645db991b0 packages/haproxy/package.yaml