diff --git a/.circleci/config.yml b/.circleci/config.yml index 18b55ae0..40a8599c 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -602,7 +602,7 @@ workflows: cluster-name: ${AWS_RESOURCE_NAME_PREFIX}-eks-orb-test-helm release-name: grafana-release purge: true - timeout: 600 + timeout: "600" requires: - aws-eks/install-helm-chart filters: *integration_test_filters diff --git a/src/@orb.yml b/src/@orb.yml index ce440690..656ec964 100644 --- a/src/@orb.yml +++ b/src/@orb.yml @@ -7,6 +7,6 @@ display: home_url: https://aws.amazon.com/eks/ source_url: https://github.com/CircleCI-Public/aws-eks-orb orbs: - aws-cli: circleci/aws-cli@0.1.13 - helm: circleci/helm@0.1.0 - kubernetes: circleci/kubernetes@0.4.0 + aws-cli: circleci/aws-cli@1.2.1 + helm: circleci/helm@1.0.0 + kubernetes: circleci/kubernetes@0.11.0 diff --git a/src/jobs/delete-helm-release.yml b/src/jobs/delete-helm-release.yml index 6162f76e..052b1ed0 100644 --- a/src/jobs/delete-helm-release.yml +++ b/src/jobs/delete-helm-release.yml @@ -20,17 +20,24 @@ parameters: type: string purge: description: | + Effective for helm 2 commands only (purging is the default in helm 3) Whether to remove the release from the store and make its name free for later use type: boolean default: false + keep-history: + description: | + Effective for helm 3 commands only. + Retains release history. + type: boolean + default: false timeout: description: | - Specify time in seconds to wait for any individual Kubernetes operation - (like Jobs for hooks) - A value of -1 will be ignored. - type: integer - default: -1 + Specify a timeout value that will be passed as a --timeout argument + to the helm command. For helm 3, the unit of the duration must + be specified e.g. '300s'. + type: string + default: "" namespace: description: | The kubernetes namespace that should be used. @@ -72,6 +79,16 @@ parameters: Specify the namespace of Tiller type: string default: "" + helm-version: + type: string + default: "v2.16.9" + description: the helm client version to install. e.g. v2.4.0 + no-output-timeout: + description: | + Elapsed time that the helm command can run on CircleCI without output. + The string is a decimal with unit suffix, such as “20m”, “1.25h”, “5s” + type: string + default: "30m" aws-region: description: | AWS region that the EKS cluster is in. @@ -91,8 +108,10 @@ steps: aws-profile: << parameters.aws-profile >> install-kubectl: true - helm/delete-helm-release: + helm-version: << parameters.helm-version >> release-name: << parameters.release-name >> purge: << parameters.purge >> + keep-history: << parameters.keep-history >> timeout: << parameters.timeout >> namespace: << parameters.namespace >> tls: << parameters.tls >> @@ -102,3 +121,4 @@ steps: tls-key: << parameters.tls-key >> tls-verify: << parameters.tls-verify >> tiller-namespace: << parameters.tiller-namespace >> + no-output-timeout: << parameters.no-output-timeout >> diff --git a/src/jobs/install-helm-chart.yml b/src/jobs/install-helm-chart.yml index 246e3f4a..82a4acd1 100644 --- a/src/jobs/install-helm-chart.yml +++ b/src/jobs/install-helm-chart.yml @@ -78,6 +78,21 @@ parameters: Whether to wait for the installation to be complete type: boolean default: true + update-repositories: + description: | + Choose to update repositories by running helm repo update. + type: boolean + default: true + helm-version: + type: string + default: "v2.16.9" + description: the helm client version to install. e.g. v2.4.0 + no-output-timeout: + description: | + Elapsed time that the helm command can run on CircleCI without output. + The string is a decimal with unit suffix, such as “20m”, “1.25h”, “5s” + type: string + default: "30m" aws-region: description: | AWS region that the EKS cluster is in. @@ -97,10 +112,12 @@ steps: aws-profile: << parameters.aws-profile >> install-kubectl: true - helm/install-helm-chart: + helm-version: << parameters.helm-version >> chart: << parameters.chart >> release-name: << parameters.release-name >> values-to-override: << parameters.values-to-override >> namespace: << parameters.namespace >> + update-repositories: << parameters.update-repositories >> tls: << parameters.tls >> tls-ca-cert: << parameters.tls-ca-cert >> tls-cert: << parameters.tls-cert >> @@ -109,3 +126,4 @@ steps: tls-verify: << parameters.tls-verify >> tiller-namespace: << parameters.tiller-namespace >> wait: << parameters.wait >> + no-output-timeout: << parameters.no-output-timeout >> diff --git a/tests/kubernetes-dashboard/influxdb-heapster.yaml b/tests/kubernetes-dashboard/influxdb-heapster.yaml index e820ca56..1d390e2f 100644 --- a/tests/kubernetes-dashboard/influxdb-heapster.yaml +++ b/tests/kubernetes-dashboard/influxdb-heapster.yaml @@ -4,13 +4,17 @@ metadata: name: heapster namespace: kube-system --- -apiVersion: extensions/v1beta1 +apiVersion: apps/v1 kind: Deployment metadata: name: heapster namespace: kube-system spec: replicas: 1 + selector: + matchLabels: + task: monitoring + k8s-app: heapster template: metadata: labels: diff --git a/tests/kubernetes-dashboard/influxdb.yaml b/tests/kubernetes-dashboard/influxdb.yaml index cdd2440d..4978eef1 100644 --- a/tests/kubernetes-dashboard/influxdb.yaml +++ b/tests/kubernetes-dashboard/influxdb.yaml @@ -1,10 +1,14 @@ -apiVersion: extensions/v1beta1 +apiVersion: apps/v1 kind: Deployment metadata: name: monitoring-influxdb namespace: kube-system spec: replicas: 1 + selector: + matchLabels: + task: monitoring + k8s-app: influxdb template: metadata: labels: