Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: aws/eks-charts
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: v0.0.118
Choose a base ref
...
head repository: aws/eks-charts
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: master
Choose a head ref
Loading
Showing with 3,036 additions and 9,896 deletions.
  1. +0 −73 .circleci/config.yml
  2. +6 −16 .github/CODEOWNERS
  3. +22 −0 .github/workflows/ci.yaml
  4. +27 −0 .github/workflows/release.yaml
  5. +1 −1 Makefile
  6. +23 −9 README.md
  7. +7 −19 scripts/install-toolchain.sh
  8. +6 −13 scripts/lint-charts.sh
  9. +1 −1 scripts/package-charts.sh
  10. +9 −8 scripts/publish-charts.sh
  11. +6 −13 scripts/validate-charts.sh
  12. +0 −22 stable/amazon-ec2-metadata-mock/.helmignore
  13. +0 −24 stable/amazon-ec2-metadata-mock/Chart.yaml
  14. +0 −247 stable/amazon-ec2-metadata-mock/README.md
  15. +0 −3 stable/amazon-ec2-metadata-mock/ci/configmap-values.yaml
  16. +0 −2 stable/amazon-ec2-metadata-mock/ci/default-values.yaml
  17. +0 −5 stable/amazon-ec2-metadata-mock/ci/local-image-values.yaml
  18. +0 −3 stable/amazon-ec2-metadata-mock/ci/service-config-values.yaml
  19. +0 −5 stable/amazon-ec2-metadata-mock/templates/NOTES.txt
  20. +0 −103 stable/amazon-ec2-metadata-mock/templates/_helpers.tpl
  21. +0 −7 stable/amazon-ec2-metadata-mock/templates/clusterrole.yaml
  22. +0 −12 stable/amazon-ec2-metadata-mock/templates/clusterrolebinding.yaml
  23. +0 −160 stable/amazon-ec2-metadata-mock/templates/deployment.linux.yaml
  24. +0 −145 stable/amazon-ec2-metadata-mock/templates/deployment.windows.yaml
  25. +0 −60 stable/amazon-ec2-metadata-mock/templates/psp.yaml
  26. +0 −15 stable/amazon-ec2-metadata-mock/templates/service.yaml
  27. +0 −57 stable/amazon-ec2-metadata-mock/templates/tests/test-aemm-service.yaml
  28. +0 −19 stable/amazon-ec2-metadata-mock/templates/tests/test-config-map.yaml
  29. +0 −117 stable/amazon-ec2-metadata-mock/values.yaml
  30. +2 −2 stable/appmesh-controller/Chart.yaml
  31. +34 −1 stable/appmesh-controller/README.md
  32. +1 −1 stable/appmesh-controller/ci/values.yaml
  33. +0 −1 stable/appmesh-controller/crds/crds.yaml
  34. +9 −0 stable/appmesh-controller/templates/deployment.yaml
  35. +3 −3 stable/appmesh-controller/templates/pdb.yaml
  36. +7 −0 stable/appmesh-controller/templates/rbac.yaml
  37. +6 −3 stable/appmesh-controller/test.yaml
  38. +10 −3 stable/appmesh-controller/values.yaml
  39. +1 −1 stable/appmesh-prometheus/Chart.yaml
  40. +67 −8 stable/appmesh-prometheus/README.md
  41. +6 −0 stable/appmesh-prometheus/templates/config.yaml
  42. +5 −0 stable/appmesh-prometheus/values.yaml
  43. +0 −7 stable/aws-calico/Chart.yaml
  44. +0 −81 stable/aws-calico/README.md
  45. +0 −7 stable/aws-calico/templates/_helpers.tpl
  46. +0 −46 stable/aws-calico/templates/crds/crd.projectcalico.org_apiservers.yaml
  47. +0 −129 stable/aws-calico/templates/crds/crd.projectcalico.org_bgpconfigurations.yaml
  48. +0 −100 stable/aws-calico/templates/crds/crd.projectcalico.org_bgppeers.yaml
  49. +0 −59 stable/aws-calico/templates/crds/crd.projectcalico.org_blockaffinities.yaml
  50. +0 −62 stable/aws-calico/templates/crds/crd.projectcalico.org_clusterinformations.yaml
  51. +0 −550 stable/aws-calico/templates/crds/crd.projectcalico.org_felixconfigurations.yaml
  52. +0 −769 stable/aws-calico/templates/crds/crd.projectcalico.org_globalnetworkpolicies.yaml
  53. +0 −51 stable/aws-calico/templates/crds/crd.projectcalico.org_globalnetworksets.yaml
  54. +0 −106 stable/aws-calico/templates/crds/crd.projectcalico.org_hostendpoints.yaml
  55. +0 −75 stable/aws-calico/templates/crds/crd.projectcalico.org_imagesets.yaml
  56. +0 −79 stable/aws-calico/templates/crds/crd.projectcalico.org_ipamblocks.yaml
  57. +0 −54 stable/aws-calico/templates/crds/crd.projectcalico.org_ipamconfigs.yaml
  58. +0 −54 stable/aws-calico/templates/crds/crd.projectcalico.org_ipamhandles.yaml
  59. +0 −97 stable/aws-calico/templates/crds/crd.projectcalico.org_ippools.yaml
  60. +0 −221 stable/aws-calico/templates/crds/crd.projectcalico.org_kubecontrollersconfigurations.yaml
  61. +0 −750 stable/aws-calico/templates/crds/crd.projectcalico.org_networkpolicies.yaml
  62. +0 −49 stable/aws-calico/templates/crds/crd.projectcalico.org_networksets.yaml
  63. +0 −1,455 stable/aws-calico/templates/crds/operator.tigera.io_installations_crd.yaml
  64. +0 −104 stable/aws-calico/templates/crds/operator.tigera.io_tigerastatuses_crd.yaml
  65. +0 −12 stable/aws-calico/templates/crs/custom-resources.yaml
  66. +0 −13 stable/aws-calico/templates/tigera-operator/00-namespace-tigera-operator.yaml
  67. +0 −27 stable/aws-calico/templates/tigera-operator/02-configmap-calico-resources.yaml
  68. +0 −47 stable/aws-calico/templates/tigera-operator/02-podsecuritypolicy-tigera-operator.yaml
  69. +0 −286 stable/aws-calico/templates/tigera-operator/02-role-tigera-operator.yaml
  70. +0 −12 stable/aws-calico/templates/tigera-operator/02-rolebinding-tigera-operator.yaml
  71. +0 −5 stable/aws-calico/templates/tigera-operator/02-serviceaccount-tigera-operator.yaml
  72. +0 −85 stable/aws-calico/templates/tigera-operator/02-tigera-operator.yaml
  73. +0 −8 stable/aws-calico/values.yaml
  74. +2 −2 stable/aws-cloudwatch-metrics/Chart.yaml
  75. +15 −7 stable/aws-cloudwatch-metrics/README.md
  76. +12 −0 stable/aws-cloudwatch-metrics/templates/_helpers.tpl
  77. +1 −1 stable/aws-cloudwatch-metrics/templates/clusterrole.yaml
  78. +22 −1 stable/aws-cloudwatch-metrics/templates/configmap.yaml
  79. +4 −0 stable/aws-cloudwatch-metrics/templates/daemonset.yaml
  80. +17 −2 stable/aws-cloudwatch-metrics/values.yaml
  81. 0 stable/{aws-calico → aws-efa-k8s-device-plugin}/.helmignore
  82. +9 −0 stable/aws-efa-k8s-device-plugin/Chart.yaml
  83. +38 −0 stable/aws-efa-k8s-device-plugin/README.md
  84. +1 −0 stable/aws-efa-k8s-device-plugin/templates/NOTES.txt
  85. +62 −0 stable/aws-efa-k8s-device-plugin/templates/_helpers.tpl
  86. +82 −0 stable/aws-efa-k8s-device-plugin/templates/daemonset.yaml
  87. +156 −0 stable/aws-efa-k8s-device-plugin/values.yaml
  88. +4 −2 stable/aws-for-fluent-bit/Chart.yaml
  89. +143 −21 stable/aws-for-fluent-bit/README.md
  90. +297 −1 stable/aws-for-fluent-bit/templates/configmap.yaml
  91. +16 −0 stable/aws-for-fluent-bit/templates/daemonset.yaml
  92. +2 −0 stable/aws-for-fluent-bit/templates/psp.yaml
  93. +8 −4 stable/aws-for-fluent-bit/templates/service.yaml
  94. +4 −3 stable/aws-for-fluent-bit/templates/servicemonitor.yaml
  95. +189 −33 stable/aws-for-fluent-bit/values.yaml
  96. +1 −0 stable/aws-load-balancer-controller/.helmignore
  97. +2 −2 stable/aws-load-balancer-controller/Chart.yaml
  98. +117 −86 stable/aws-load-balancer-controller/README.md
  99. +2 −2 stable/aws-load-balancer-controller/ci/values.yaml
  100. +283 −73 stable/aws-load-balancer-controller/crds/crds.yaml
  101. +3 −1 stable/aws-load-balancer-controller/templates/_helpers.tpl
  102. +56 −7 stable/aws-load-balancer-controller/templates/deployment.yaml
  103. +34 −0 stable/aws-load-balancer-controller/templates/hpa.yaml
  104. +0 −4 stable/aws-load-balancer-controller/templates/pdb.yaml
  105. +19 −0 stable/aws-load-balancer-controller/templates/rbac.yaml
  106. +19 −11 stable/aws-load-balancer-controller/templates/servicemonitor.yaml
  107. +69 −8 stable/aws-load-balancer-controller/templates/webhook.yaml
  108. +31 −2 stable/aws-load-balancer-controller/test.yaml
  109. +123 −17 stable/aws-load-balancer-controller/values.yaml
  110. +0 −19 stable/aws-node-termination-handler-2/Chart.yaml
  111. +0 −65 stable/aws-node-termination-handler-2/README.md
  112. +0 −171 stable/aws-node-termination-handler-2/crds/node.k8s.aws_terminators.yaml
  113. +0 −65 stable/aws-node-termination-handler-2/templates/_helpers.tpl
  114. +0 −50 stable/aws-node-termination-handler-2/templates/clusterrole.yaml
  115. +0 −20 stable/aws-node-termination-handler-2/templates/clusterrole_binding.yaml
  116. +0 −19 stable/aws-node-termination-handler-2/templates/configmap_logging.yaml
  117. +0 −154 stable/aws-node-termination-handler-2/templates/deployment.yaml
  118. +0 −40 stable/aws-node-termination-handler-2/templates/role.yaml
  119. +0 −19 stable/aws-node-termination-handler-2/templates/role_binding.yaml
  120. +0 −12 stable/aws-node-termination-handler-2/templates/secret_webhook_cert.yaml
  121. +0 −28 stable/aws-node-termination-handler-2/templates/service.yaml
  122. +0 −18 stable/aws-node-termination-handler-2/templates/serviceaccount.yaml
  123. +0 −49 stable/aws-node-termination-handler-2/templates/webhooks.yaml
  124. +0 −167 stable/aws-node-termination-handler-2/values.yaml
  125. +0 −23 stable/aws-node-termination-handler/.helmignore
  126. +0 −25 stable/aws-node-termination-handler/Chart.yaml
  127. +0 −176 stable/aws-node-termination-handler/README.md
  128. +0 −5 stable/aws-node-termination-handler/example-values-imds-linux.yaml
  129. +0 −5 stable/aws-node-termination-handler/example-values-imds-windows.yaml
  130. +0 −13 stable/aws-node-termination-handler/example-values-queue.yaml
  131. +0 −8 stable/aws-node-termination-handler/templates/NOTES.txt
  132. +0 −124 stable/aws-node-termination-handler/templates/_helpers.tpl
  133. +0 −52 stable/aws-node-termination-handler/templates/clusterrole.yaml
  134. +0 −16 stable/aws-node-termination-handler/templates/clusterrolebinding.yaml
  135. +0 −210 stable/aws-node-termination-handler/templates/daemonset.linux.yaml
  136. +0 −204 stable/aws-node-termination-handler/templates/daemonset.windows.yaml
  137. +0 −219 stable/aws-node-termination-handler/templates/deployment.yaml
  138. +0 −14 stable/aws-node-termination-handler/templates/pdb.yaml
  139. +0 −29 stable/aws-node-termination-handler/templates/podmonitor.yaml
  140. +0 −70 stable/aws-node-termination-handler/templates/psp.yaml
  141. +0 −18 stable/aws-node-termination-handler/templates/service.yaml
  142. +0 −13 stable/aws-node-termination-handler/templates/serviceaccount.yaml
  143. +0 −29 stable/aws-node-termination-handler/templates/servicemonitor.yaml
  144. +0 −295 stable/aws-node-termination-handler/values.yaml
  145. +1 −0 stable/aws-vpc-cni/.helmignore
  146. +2 −2 stable/aws-vpc-cni/Chart.yaml
  147. +51 −16 stable/aws-vpc-cni/README.md
  148. +289 −0 stable/aws-vpc-cni/crds/customresourcedefinition.yaml
  149. +4 −0 stable/aws-vpc-cni/crds/kustomization.yaml
  150. +47 −0 stable/aws-vpc-cni/templates/_helpers.tpl
  151. +15 −6 stable/aws-vpc-cni/templates/clusterrole.yaml
  152. +18 −2 stable/aws-vpc-cni/templates/configmap.yaml
  153. +0 −24 stable/aws-vpc-cni/templates/customresourcedefinition.yaml
  154. +71 −14 stable/aws-vpc-cni/templates/daemonset.yaml
  155. +0 −162 stable/aws-vpc-cni/test.yaml
  156. +76 −11 stable/aws-vpc-cni/values.yaml
  157. 0 stable/{csi-secrets-store-provider-aws → cni-metrics-helper}/.helmignore
  158. +19 −0 stable/cni-metrics-helper/Chart.yaml
  159. +108 −0 stable/cni-metrics-helper/README.md
  160. +3 −0 stable/cni-metrics-helper/templates/NOTES.txt
  161. +63 −0 stable/cni-metrics-helper/templates/_helpers.tpl
  162. +12 −0 stable/cni-metrics-helper/templates/clusterrole.yaml
  163. +14 −0 stable/cni-metrics-helper/templates/clusterrolebinding.yaml
  164. +68 −0 stable/cni-metrics-helper/templates/deployment.yaml
  165. +4 −2 stable/{amazon-ec2-metadata-mock → cni-metrics-helper}/templates/serviceaccount.yaml
  166. +69 −0 stable/cni-metrics-helper/values.yaml
  167. +0 −6 stable/csi-secrets-store-provider-aws/Chart.lock
  168. +0 −24 stable/csi-secrets-store-provider-aws/Chart.yaml
  169. +0 −49 stable/csi-secrets-store-provider-aws/README.md
  170. +0 −4 stable/csi-secrets-store-provider-aws/templates/NOTES.txt
  171. +0 −52 stable/csi-secrets-store-provider-aws/templates/_helpers.tpl
  172. +0 −20 stable/csi-secrets-store-provider-aws/templates/clusterrole.yaml
  173. +0 −15 stable/csi-secrets-store-provider-aws/templates/clusterrolebinding.yaml
  174. +0 −67 stable/csi-secrets-store-provider-aws/templates/daemonset.yaml
  175. +0 −24 stable/csi-secrets-store-provider-aws/templates/podsecuritypolicy.yaml
  176. +0 −14 stable/csi-secrets-store-provider-aws/templates/role.yaml
  177. +0 −16 stable/csi-secrets-store-provider-aws/templates/rolebinding.yaml
  178. +0 −8 stable/csi-secrets-store-provider-aws/templates/serviceaccount.yaml
  179. +0 −42 stable/csi-secrets-store-provider-aws/values.yaml
73 changes: 0 additions & 73 deletions .circleci/config.yml

This file was deleted.

22 changes: 6 additions & 16 deletions .github/CODEOWNERS
Original file line number Diff line number Diff line change
@@ -1,21 +1,11 @@
# These owners will be the default owners for everything in
# the repo. Unless a later match takes precedence,
* @bwagner5 @kishorj @fawadkhaliq @jaypipes
* @dims

/stable/appmesh-controller/ @achevuru @fawadkhaliq
/stable/appmesh-gateway/ @stefanprodan
/stable/appmesh-grafana/ @achevuru @fawadkhaliq
/stable/appmesh-inject/ @achevuru @fawadkhaliq
/stable/appmesh-jaeger/ @achevuru @fawadkhaliq
/stable/appmesh-prometheus/ @achevuru @fawadkhaliq
/stable/appmesh-*/ @aws/app-mesh-eks-admin

/stable/aws-load-balancer-controller/ @kishorj @M00nF1sh
/stable/aws-load-balancer-controller/ @aws/eks-networking

/stable/aws-calico/ @jayanthvn
/stable/aws-vpc-cni/ @jayanthvn

/stable/aws-node-termination-handler/ @bwagner5

/stable/aws-sigv4-proxy-admission-controller/ @alanprot @alolita

/stable/aws-for-fluent-bit/ @PettitWesley @hossain-rayhan
/stable/aws-efa-k8s-device-plugin/ @aws/eks-networking
/stable/aws-vpc-cni/ @aws/eks-networking
/stable/cni-metrics-helper/ @aws/eks-networking
22 changes: 22 additions & 0 deletions .github/workflows/ci.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
name: CI
on:
pull_request:
paths:
- "**/*.tpl"
- "**/*.yaml"
workflow_dispatch:

jobs:
ci:
runs-on: ubuntu-latest
if: github.repository == 'aws/eks-charts'
steps:
-
name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0

- run: make install-toolchain
- run: make verify
- run: make package
27 changes: 27 additions & 0 deletions .github/workflows/release.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
name: release
on:
push:
tags:
- 'v[0-9]+.[0-9]+.[0-9]+'
workflow_dispatch:
permissions:
id-token: write
pull-requests: write
contents: write
jobs:
release:
runs-on: ubuntu-latest
if: github.repository == 'aws/eks-charts'
steps:
-
name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0

- run: make install-toolchain
- run: make verify
- run: make package publish
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
GITHUB_REPO: ${{ github.repository }}
2 changes: 1 addition & 1 deletion Makefile
Original file line number Diff line number Diff line change
@@ -35,4 +35,4 @@ clean:
help:
@grep -E '^[a-zA-Z_-]+:.*$$' $(MAKEFILE_LIST) | sort

.PHONY: all build test verify package publish draft-release help
.PHONY: all build test verify package publish draft-release help
32 changes: 23 additions & 9 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,4 @@
[![CircleCI](https://circleci.com/gh/aws/eks-charts.svg?style=svg)](https://circleci.com/gh/aws/eks-charts)

## EKS Charts
# EKS Charts

Add the EKS repository to Helm:

@@ -9,6 +7,7 @@ helm repo add eks https://aws.github.io/eks-charts
```

### App Mesh

* [appmesh-controller](stable/appmesh-controller): App Mesh controller Helm chart for Kubernetes
* [appmesh-prometheus](stable/appmesh-prometheus): App Mesh Prometheus Helm chart for Kubernetes
* [appmesh-grafana](stable/appmesh-grafana): App Mesh Grafana Helm chart for Kubernetes
@@ -19,32 +18,47 @@ helm repo add eks https://aws.github.io/eks-charts
* [appmesh-inject](stable/appmesh-inject)(**deprecated**): App Mesh inject Helm chart for Kubernetes

### AWS Node Termination Handler
* [aws-node-termination-handler](stable/aws-node-termination-handler): Gracefully handle EC2 instance shutdown within Kubernetes. https://github.com/aws/aws-node-termination-handler

### AWS Calico
* [aws-calico](stable/aws-calico): Install Calico network policy enforcement on AWS
> [!WARNING]
> This Helm chart is now deprecated. Please see the current chart located in the [aws-node-termination-handler](https://github.com/aws/aws-node-termination-handler/tree/main/config/helm/aws-node-termination-handler) repository which is now published on [Public ECR](https://gallery.ecr.aws/aws-ec2/helm/aws-node-termination-handler)
### AWS CloudWatch Metrics

* [aws-cloudwatch-metrics](stable/aws-cloudwatch-metrics): A helm chart for CloudWatch Agent to Collect Cluster Metrics

### AWS for Fluent Bit

* [aws-for-fluent-bit](stable/aws-for-fluent-bit): A helm chart for [AWS-for-fluent-bit](https://github.com/aws/aws-for-fluent-bit)

### AWS Load Balancer Controller

* [aws-load-balancer-controller](stable/aws-load-balancer-controller): A helm chart for [AWS Load Balancer Controller](https://github.com/kubernetes-sigs/aws-load-balancer-controller)

### AWS VPC CNI
* [aws-vpc-cni](stable/aws-vpc-cni): Networking plugin for pod networking in Kubernetes using Elastic Network Interfaces on AWS. https://github.com/aws/amazon-vpc-cni-k8s

* [aws-vpc-cni](stable/aws-vpc-cni): Networking plugin for pod networking in Kubernetes using Elastic Network Interfaces on AWS. <https://github.com/aws/amazon-vpc-cni-k8s>

### AWS SIGv4 Proxy Admission Controller

* [aws-sigv4-proxy-admission-controller](stable/aws-sigv4-proxy-admission-controller): A helm chart for [AWS SIGv4 Proxy Admission Controller](https://github.com/aws-observability/aws-sigv4-proxy-admission-controller)

### AWS Secrets Manager and Config Provider for Secret Store CSI Driver
* [csi-secrets-store-provider-aws](stable/csi-secrets-store-provider-aws): A helm chart for [AWS Secrets Manager and Config Provider](https://github.com/aws/secrets-store-csi-driver-provider-aws)

> [!WARNING]
> This Helm chart is deprecated, please switch to [AWS Secrets Manager and Config Provider](https://github.com/aws/secrets-store-csi-driver-provider-aws) which is reviewed, owned and maintained by AWS
### Amazon EC2 Metadata Mock
* [amazon-ec2-metadata-mock](stable/amazon-ec2-metadata-mock): A tool to simulate Amazon EC2 instance metadata service for local testing

> [!WARNING]
> This Helm chart is now deprecated. Please see the current chart located in the [amazon-ec2-metadata-mock](https://github.com/aws/amazon-ec2-metadata-mock/tree/main/helm) repository which is now published on [Public ECR](https://gallery.ecr.aws/aws-ec2/helm/amazon-ec2-metadata-mock)
### CNI Metrics Helper

* [cni-metrics-helper](stable/cni-metrics-helper): A helm chart for [CNI Metrics Helper](https://github.com/aws/amazon-vpc-cni-k8s/blob/master/cmd/cni-metrics-helper/README.md)

### EKS EFA K8s Device Plugin

* [aws-efa-k8s-device-plugin](stable/aws-efa-k8s-device-plugin): A helm chart for the [Elastic Fabric Adapter](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/efa.html) plugin, which automatically discovers and mounts EFA devices into pods that request them

## License

26 changes: 7 additions & 19 deletions scripts/install-toolchain.sh
Original file line number Diff line number Diff line change
@@ -10,11 +10,10 @@ TOOLS_DIR="${BUILD_DIR}/tools"
mkdir -p "${TOOLS_DIR}"
export PATH="${TOOLS_DIR}:${PATH}"

HELMV2_VERSION="v2.17.0"
HELMV3_VERSION="v3.6.3"
HELM_VERSION="v3.16.1"
KUBECTL_VERSION=$(curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt)
KIND_VERSION=v0.11.1
BATS_VERSION=1.1.0
KIND_VERSION=v0.24.0
BATS_VERSION=1.11.0

## Install kubectl
curl -sSL "https://storage.googleapis.com/kubernetes-release/release/${KUBECTL_VERSION}/bin/${PLATFORM}/${ARCH}/kubectl" -o "${TOOLS_DIR}/kubectl"
@@ -25,27 +24,16 @@ mkdir -p "${TMP_DIR}/kubeval"
curl -sSL https://github.com/instrumenta/kubeval/releases/latest/download/kubeval-${PLATFORM}-${ARCH}.tar.gz | tar xz -C "${TMP_DIR}/kubeval"
mv "${TMP_DIR}/kubeval/kubeval" "${TOOLS_DIR}/kubeval"

## Install helm v2
mkdir -p "${TMP_DIR}/helmv2"
curl -sSL https://get.helm.sh/helm-${HELMV2_VERSION}-${PLATFORM}-${ARCH}.tar.gz | tar xz -C "${TMP_DIR}/helmv2"
mv "${TMP_DIR}/helmv2/${PLATFORM}-${ARCH}/helm" "${TOOLS_DIR}/helmv2"
rm -rf "${PLATFORM}-${ARCH}"

## Install helm v3
mkdir -p "${TMP_DIR}/helmv3"
curl -sSL https://get.helm.sh/helm-${HELMV3_VERSION}-${PLATFORM}-${ARCH}.tar.gz | tar xz -C "${TMP_DIR}/helmv3"
mv "${TMP_DIR}/helmv3/${PLATFORM}-${ARCH}/helm" "${TOOLS_DIR}/helmv3"
## Install helm
mkdir -p "${TMP_DIR}/helm"
curl -sSL https://get.helm.sh/helm-${HELM_VERSION}-${PLATFORM}-${ARCH}.tar.gz | tar xz -C "${TMP_DIR}/helm"
mv "${TMP_DIR}/helm/${PLATFORM}-${ARCH}/helm" "${TOOLS_DIR}/helm"
rm -rf "${PLATFORM}-${ARCH}"

## Install Bats
curl -sSL https://github.com/bats-core/bats-core/archive/v${BATS_VERSION}.tar.gz | tar xz -C "${TOOLS_DIR}"
ln -s ${TOOLS_DIR}/bats-core-${BATS_VERSION}/bin/bats ${TOOLS_DIR}/bats

## Initialize helm

helmv2 init --stable-repo-url https://charts.helm.sh/stable --client-only --kubeconfig="${BUILD_DIR}/.kube/kubeconfig"


## Install kind
curl -sSL "https://github.com/kubernetes-sigs/kind/releases/download/${KIND_VERSION}/kind-${PLATFORM}-${ARCH}" -o "${TOOLS_DIR}/kind"
chmod +x "${TOOLS_DIR}/kind"
19 changes: 6 additions & 13 deletions scripts/lint-charts.sh
Original file line number Diff line number Diff line change
@@ -7,31 +7,24 @@ TOOLS_DIR="${BUILD_DIR}/tools"
STABLE="${GIT_REPO_ROOT}/stable"
export PATH="${TOOLS_DIR}:${PATH}"

FAILED_V2=()
FAILED_V3=()
FAILED=()

cd ${STABLE}
for d in */; do
EXTRA_ARGS=""
if [ -f ${STABLE}/${d}/ci/extra_args ]; then
EXTRA_ARGS=$(cat ${STABLE}/${d}/ci/extra_args)
fi
echo "Linting chart ${d} w/ helm v3"
helmv3 lint ${STABLE}/${d} || FAILED_V3+=("${d}")
echo "Linting chart ${d} w/ helm v2"
helmv2 lint ${STABLE}/${d} || FAILED_V2+=("${d}")
echo "Linting chart ${d} w/ helm"
helm lint ${STABLE}/${d} || FAILED+=("${d}")
done

if [[ "${#FAILED_V2[@]}" -eq 0 ]] && [[ "${#FAILED_V3[@]}" -eq 0 ]]; then
if [[ "${#FAILED[@]}" -eq 0 ]]; then
echo "All charts passed linting!"
exit 0
else
echo "Helm v2:"
for chart in "${FAILED_V2[@]}"; do
printf "%40s ❌\n" "$chart"
done
echo "Helm v3:"
for chart in "${FAILED_V2[@]}"; do
echo "Helm linting failed:"
for chart in "${FAILED[@]}"; do
printf "%40s ❌\n" "$chart"
done
fi
2 changes: 1 addition & 1 deletion scripts/package-charts.sh
Original file line number Diff line number Diff line change
@@ -10,4 +10,4 @@ export PATH="${TOOLS_DIR}:${PATH}"
PACKAGE_DIR="${GIT_REPO_ROOT}/build"
mkdir -p "${PACKAGE_DIR}"

helmv3 package "${STABLE}/"* --destination "${PACKAGE_DIR}/stable" --dependency-update
helm package "${STABLE}/"* --destination "${PACKAGE_DIR}/stable" --dependency-update
17 changes: 9 additions & 8 deletions scripts/publish-charts.sh
Original file line number Diff line number Diff line change
@@ -7,22 +7,23 @@ TOOLS_DIR="${BUILD_DIR}/tools"
STABLE="${GIT_REPO_ROOT}/stable"
PACKAGE_DIR="${GIT_REPO_ROOT}/build"
export PATH="${TOOLS_DIR}:${PATH}"
VERSION="$(git describe --tags --always)"

if echo "${CIRCLE_TAG}" | grep -Eq "^v[0-9]+(\.[0-9]+){2}$"; then
REPOSITORY="https://eks-bot:${GITHUB_TOKEN}@github.com/aws/eks-charts.git"
if echo "${VERSION}" | grep -Eq "^v[0-9]+(\.[0-9]+){2}$"; then
git fetch --all
git config user.email eks-bot@users.noreply.github.com
git config user.name eks-bot
git remote set-url origin ${REPOSITORY}
git remote set-url origin https://x-access-token:${GITHUB_TOKEN}@github.com/${GITHUB_REPO}
git config pull.rebase false
git checkout gh-pages
mv -n $PACKAGE_DIR/stable/*.tgz .
helmv3 repo index . --url https://aws.github.io/eks-charts
helm repo index . --url https://aws.github.io/eks-charts
git add .
git commit -m "Publish stable charts ${CIRCLE_TAG}"
git commit -m "Publish stable charts ${VERSION}"
git push origin gh-pages
echo "✅ Published charts"
else
echo "Not a valid semver release tag! Skip charts publish"
# Need to exit 0 here since circle ci runs this everytime
exit 0
exit 1
fi

19 changes: 6 additions & 13 deletions scripts/validate-charts.sh
Original file line number Diff line number Diff line change
@@ -7,31 +7,24 @@ TOOLS_DIR="${BUILD_DIR}/tools"
STABLE="${GIT_REPO_ROOT}/stable"
export PATH="${TOOLS_DIR}:${PATH}"

FAILED_V2=()
FAILED_V3=()
FAILED=()

cd ${STABLE}
for d in */; do
EXTRA_ARGS=""
if [ -f ${STABLE}/${d}/ci/extra_args ]; then
EXTRA_ARGS=$(cat ${STABLE}/${d}/ci/extra_args)
fi
echo "Validating chart ${d} w/ helm v3"
helmv3 template ${STABLE}/${d} ${EXTRA_ARGS}| kubeval --strict --ignore-missing-schemas || FAILED_V3+=("${d}")
echo "Validating chart ${d} w/ helm v2"
helm template ${STABLE}/${d} ${EXTRA_ARGS}| kubeval --strict --ignore-missing-schemas || FAILED_V2+=("${d}")
echo "Validating chart ${d} w/ helm"
helm template ${STABLE}/${d} ${EXTRA_ARGS}| kubeval --strict --ignore-missing-schemas || FAILED+=("${d}")
done

if [[ "${#FAILED_V2[@]}" -eq 0 ]] && [[ "${#FAILED_V3[@]}" -eq 0 ]]; then
if [[ "${#FAILED[@]}" -eq 0 ]]; then
echo "All charts passed validations!"
exit 0
else
echo "Helm v2:"
for chart in "${FAILED_V2[@]}"; do
printf "%40s ❌\n" "$chart"
done
echo "Helm v3:"
for chart in "${FAILED_V3[@]}"; do
echo "Helm validation failed:"
for chart in "${FAILED[@]}"; do
printf "%40s ❌\n" "$chart"
done
fi
Loading