diff --git a/charts/qovery/Chart.yaml b/charts/qovery/Chart.yaml index 339bead..e125e86 100644 --- a/charts/qovery/Chart.yaml +++ b/charts/qovery/Chart.yaml @@ -20,7 +20,7 @@ dependencies: repository: file://charts/aws-ebs-csi-driver - name: aws-load-balancer-controller condition: services.aws.aws-load-balancer-controller.enabled - version: 1.8.0 + version: 1.8.3 repository: file://charts/aws-load-balancer-controller - name: ingress-nginx condition: services.ingress.ingress-nginx.enabled diff --git a/charts/qovery/charts/aws-load-balancer-controller/Chart.yaml b/charts/qovery/charts/aws-load-balancer-controller/Chart.yaml index 9c4754a..564874f 100644 --- a/charts/qovery/charts/aws-load-balancer-controller/Chart.yaml +++ b/charts/qovery/charts/aws-load-balancer-controller/Chart.yaml @@ -1,5 +1,5 @@ apiVersion: v2 -appVersion: v2.8.0 +appVersion: v2.8.3 description: AWS Load Balancer Controller Helm chart for Kubernetes home: https://github.com/aws/eks-charts icon: https://raw.githubusercontent.com/aws/eks-charts/master/docs/logo/aws.png @@ -19,4 +19,4 @@ maintainers: name: aws-load-balancer-controller sources: - https://github.com/aws/eks-charts -version: 1.8.0 +version: 1.8.3 diff --git a/charts/qovery/charts/aws-load-balancer-controller/README.md b/charts/qovery/charts/aws-load-balancer-controller/README.md index 0cbe3f3..775898e 100644 --- a/charts/qovery/charts/aws-load-balancer-controller/README.md +++ b/charts/qovery/charts/aws-load-balancer-controller/README.md @@ -109,7 +109,7 @@ helm repo add eks https://aws.github.io/eks-charts Install the TargetGroupBinding CRDs: ```shell script -kubectl apply -k "github.com/aws/eks-charts/stable/aws-load-balancer-controller//crds?ref=master" +kubectl apply -k "github.com/aws/eks-charts/stable/aws-load-balancer-controller/crds?ref=master" ``` Install the AWS Load Balancer controller, if using iamserviceaccount @@ -243,6 +243,8 @@ The default values set by the application itself can be confirmed [here](https:/ | `externalManagedTags` | Specifies the list of tag keys on AWS resources that are managed externally | `[]` | | `livenessProbe` | Liveness probe settings for the controller | (see `values.yaml`) | | `env` | Environment variables to set for aws-load-balancer-controller pod | None | +| `envFrom` | Environment variables to set for aws-load-balancer-controller pod from configMap or Secret | None | + | `envSecretName` | AWS credentials as environment variables from Secret (Secret keys `key_id` and `access_key`). | None | | `hostNetwork` | If `true`, use hostNetwork | `false` | | `dnsPolicy` | Set dnsPolicy if required | `ClusterFirst` | @@ -277,5 +279,5 @@ The default values set by the application itself can be confirmed [here](https:/ | `autoscaling` | If `autoscaling.enabled=true`, enable the HPA on the controller mainly to survive load induced failure by the calls to the `aws-load-balancer-webhook-service`. Please keep in mind that the controller pods have `priorityClassName: system-cluster-critical`, enabling HPA may lead to the eviction of other low-priority pods in the node | `false` | | `serviceTargetENISGTags` | set of `key=value` pairs of AWS tags in addition to cluster name for finding the target ENI security group to which to add inbound rules from NLBs | None | | `loadBalancerClass` | Sets the AWS load balancer type to be used when the Kubernetes service requests an external load balancer | `service.k8s.aws/nlb` | - +| `creator` | if set to a `value!=helm`, it will disable the addition of default helm labels | `helm` | | `runtimeClassName` | Runtime class name for the controller pods , such as `gvisor` or `kata`. An unspecified `nil` or empty `""` RuntimeClassName is equivalent to the backwards-compatible default behavior as if the RuntimeClass feature is disabled. | "" | diff --git a/charts/qovery/charts/aws-load-balancer-controller/crds/crds.yaml b/charts/qovery/charts/aws-load-balancer-controller/crds/crds.yaml index 323c44d..3fcd14e 100644 --- a/charts/qovery/charts/aws-load-balancer-controller/crds/crds.yaml +++ b/charts/qovery/charts/aws-load-balancer-controller/crds/crds.yaml @@ -133,11 +133,13 @@ spec: items: type: string type: array + x-kubernetes-list-type: atomic required: - key - operator type: object type: array + x-kubernetes-list-type: atomic matchLabels: additionalProperties: type: string @@ -550,11 +552,13 @@ spec: items: type: string type: array + x-kubernetes-list-type: atomic required: - key - operator type: object type: array + x-kubernetes-list-type: atomic matchLabels: additionalProperties: type: string diff --git a/charts/qovery/charts/aws-load-balancer-controller/templates/_helpers.tpl b/charts/qovery/charts/aws-load-balancer-controller/templates/_helpers.tpl index 660f6ee..d916b99 100644 --- a/charts/qovery/charts/aws-load-balancer-controller/templates/_helpers.tpl +++ b/charts/qovery/charts/aws-load-balancer-controller/templates/_helpers.tpl @@ -45,12 +45,14 @@ This enables using a shorter name for the resources, for example aws-load-balanc Common labels */}} {{- define "aws-load-balancer-controller.labels" -}} +{{- if eq (default "helm" .Values.creator) "helm" -}} +app.kubernetes.io/managed-by: {{ .Release.Service }} helm.sh/chart: {{ include "aws-load-balancer-controller.chart" . }} +{{- end }} {{ include "aws-load-balancer-controller.selectorLabels" . }} {{- if .Chart.AppVersion }} app.kubernetes.io/version: {{ .Chart.AppVersion | quote }} {{- end }} -app.kubernetes.io/managed-by: {{ .Release.Service }} {{- if .Values.additionalLabels }} {{ toYaml .Values.additionalLabels }} {{- end -}} diff --git a/charts/qovery/charts/aws-load-balancer-controller/templates/deployment.yaml b/charts/qovery/charts/aws-load-balancer-controller/templates/deployment.yaml index ab0c696..70fe8d5 100644 --- a/charts/qovery/charts/aws-load-balancer-controller/templates/deployment.yaml +++ b/charts/qovery/charts/aws-load-balancer-controller/templates/deployment.yaml @@ -170,7 +170,7 @@ spec: {{- if .Values.loadBalancerClass }} - --load-balancer-class={{ .Values.loadBalancerClass }} {{- end }} - {{- if or .Values.env .Values.envSecretName }} + {{- if or .Values.env .Values.envSecretName .Values.envFrom }} env: {{- if .Values.env}} {{- range $key, $value := .Values.env }} @@ -178,6 +178,9 @@ spec: value: "{{ $value }}" {{- end }} {{- end }} + {{- if .Values.envFrom }} + {{ .Values.envFrom | toYaml | nindent 8 }} + {{- end }} {{- if .Values.envSecretName }} - name: AWS_ACCESS_KEY_ID valueFrom: diff --git a/charts/qovery/charts/aws-load-balancer-controller/values.yaml b/charts/qovery/charts/aws-load-balancer-controller/values.yaml index 1c3ce8b..2e84dcf 100644 --- a/charts/qovery/charts/aws-load-balancer-controller/values.yaml +++ b/charts/qovery/charts/aws-load-balancer-controller/values.yaml @@ -8,7 +8,7 @@ revisionHistoryLimit: 10 image: repository: public.ecr.aws/eks/aws-load-balancer-controller - tag: v2.8.0 + tag: v2.8.3 pullPolicy: IfNotPresent runtimeClassName: "" @@ -281,8 +281,13 @@ env: # Use Environment variables credentials from Secret (aws-secret) for aws-load-balancer-controller pod similarly as The EBS CSI Driver does. # envSecretName: aws-secret +# Use envFrom to set environment variables from a Secret or ConfigMap +envFrom: + # valueFrom: + # - secretKeyRef: + # name: aws-load-balancer-controller + # Specifies if aws-load-balancer-controller should be started in hostNetwork mode. -# # This is required if using a custom CNI where the managed control plane nodes are unable to initiate # network connections to the pods, for example using Calico CNI plugin on EKS. This is not required or # recommended if using the Amazon VPC CNI plugin. @@ -419,3 +424,6 @@ serviceTargetENISGTags: # Specifies the class of load balancer to use for services. This affects how services are provisioned if type LoadBalancer is used (default service.k8s.aws/nlb) loadBalancerClass: + +# creator will disable helm default labels, so you can only add yours +# creator: "me"