Skip to content

Commit

Permalink
Merge pull request #23 from stefanprodan/prep-helm-hub
Browse files Browse the repository at this point in the history
Prepare charts for Helm Hub
  • Loading branch information
jaypipes authored Oct 23, 2019
2 parents ba7968b + df6c6de commit 97a1d92
Show file tree
Hide file tree
Showing 14 changed files with 395 additions and 20 deletions.
16 changes: 14 additions & 2 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,23 +16,35 @@ jobs:
curl -L https://github.com/instrumenta/kubeval/releases/latest/download/kubeval-linux-amd64.tar.gz | tar xz && sudo mv kubeval /bin/kubeval
- run:
name: Install helm
command: curl -L https://storage.googleapis.com/kubernetes-helm/helm-v2.14.3-linux-amd64.tar.gz | tar xz && sudo mv linux-amd64/helm /bin/helm && sudo rm -rf linux-amd64
command: curl -L https://storage.googleapis.com/kubernetes-helm/helm-v2.15.0-linux-amd64.tar.gz | tar xz && sudo mv linux-amd64/helm /bin/helm && sudo rm -rf linux-amd64
- run:
name: Initialize helm
command: helm init --client-only --kubeconfig=$HOME/.kube/kubeconfig
- run:
name: Install helmv3
command: curl -sSL https://get.helm.sh/helm-v3.0.0-beta.5-linux-amd64.tar.gz | tar xz && sudo mv linux-amd64/helm /bin/helmv3 && sudo rm -rf linux-amd64
- run:
name: Lint stable charts
command: |
helm lint ./stable/*
- run:
name: Validate stable charts
name: Validate stable charts with Helm v2
command: |
STABLE="$(git rev-parse --show-toplevel)/stable"
cd ${STABLE}
for d in */; do
echo "Validating chart ${d}"
helm template ${STABLE}/${d} | kubeval --strict --ignore-missing-schemas
done
- run:
name: Validate stable charts with Helm v3
command: |
STABLE="$(git rev-parse --show-toplevel)/stable"
cd ${STABLE}
for d in */; do
echo "Validating chart ${d}"
helmv3 template ${STABLE}/${d} | kubeval --strict --ignore-missing-schemas
done
- run:
name: Package stable charts
command: |
Expand Down
Binary file added docs/logo/amazon-eks.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/logo/aws.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
1 change: 1 addition & 0 deletions stable/appmesh-controller/.helmignore
Original file line number Diff line number Diff line change
Expand Up @@ -19,3 +19,4 @@
.project
.idea/
*.tmproj
crds/kustomization.yaml
21 changes: 17 additions & 4 deletions stable/appmesh-controller/Chart.yaml
Original file line number Diff line number Diff line change
@@ -1,6 +1,19 @@
apiVersion: v2
apiVersion: v1
name: appmesh-controller
description: The AWS App Mesh controller Helm chart for Kubernetes
type: application
version: 0.2.0
description: App Mesh controller Helm chart for Kubernetes
version: 0.3.0
appVersion: 0.2.0
home: https://github.com/aws/eks-charts
icon: https://raw.githubusercontent.com/aws/eks-charts/master/docs/logo/aws.png
sources:
- https://github.com/aws/eks-charts
maintainers:
- name: Nicholas Turner
url: https://github.com/nckturner
email: [email protected]
- name: Stefan Prodan
url: https://github.com/stefanprodan
email: [email protected]
keywords:
- eks
- appmesh
90 changes: 90 additions & 0 deletions stable/appmesh-controller/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,90 @@
# App Mesh Controller

App Mesh controller Helm chart for Kubernetes

## Prerequisites

* Kubernetes >= 1.13
* IAM policies

```json
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"appmesh:*",
"servicediscovery:CreateService",
"servicediscovery:GetService",
"servicediscovery:RegisterInstance",
"servicediscovery:DeregisterInstance",
"servicediscovery:ListInstances",
"route53:GetHealthCheck",
"route53:CreateHealthCheck",
"route53:UpdateHealthCheck",
"route53:ChangeResourceRecordSets",
"route53:DeleteHealthCheck"
],
"Resource": "*"
}
]
}
```

## Installing the Chart

Add the EKS repository to Helm:

```sh
helm repo add eks https://aws.github.io/eks-charts
```

Install the App Mesh CRDs:

```sh
kubectl apply -k github.com/aws/eks-charts/stable/appmesh-controller//crds?ref=master
```

Install the App Mesh CRD controller:

```sh
helm upgrade -i appmesh-controller eks/appmesh-controller \
--namespace appmesh-system
```

The [configuration](#configuration) section lists the parameters that can be configured during installation.

## Uninstalling the Chart

To uninstall/delete the `appmesh-controller` deployment:

```console
$ helm delete --purge appmesh-controller
```

The command removes all the Kubernetes components associated with the chart and deletes the release.

## Configuration

The following tables lists the configurable parameters of the chart and their default values.

Parameter | Description | Default
--- | --- | ---
`image.repository` | image repository | ` 602401143452.dkr.ecr.us-west-2.amazonaws.com/amazon/app-mesh-controller`
`image.tag` | image tag | `<VERSION>`
`image.pullPolicy` | image pull policy | `IfNotPresent`
`resources.requests/cpu` | pod CPU request | `100m`
`resources.requests/memory` | pod memory request | `64Mi`
`resources.limits/cpu` | pod CPU limit | `2000m`
`resources.limits/memory` | pod memory limit | `1Gi`
`affinity` | node/pod affinities | None
`nodeSelector` | node labels for pod assignment | `{}`
`tolerations` | list of node taints to tolerate | `[]`
`rbac.create` | if `true`, create and use RBAC resources | `true`
`rbac.pspEnabled` | If `true`, create and use a restricted pod security policy | `false`
`serviceAccount.create` | If `true`, create a new service account | `true`
`serviceAccount.name` | Service account to be used | None



4 changes: 4 additions & 0 deletions stable/appmesh-controller/crds/kustomization.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
resources:
- crds.yaml
21 changes: 17 additions & 4 deletions stable/appmesh-inject/Chart.yaml
Original file line number Diff line number Diff line change
@@ -1,6 +1,19 @@
apiVersion: v2
apiVersion: v1
name: appmesh-inject
description: AWS App Mesh Inject Helm chart for Kubernetes
type: application
version: 0.2.0
description: App Mesh Inject Helm chart for Kubernetes
version: 0.3.0
appVersion: 0.2.0
home: https://github.com/aws/eks-charts
icon: https://raw.githubusercontent.com/aws/eks-charts/master/docs/logo/aws.png
sources:
- https://github.com/aws/eks-charts
maintainers:
- name: Nicholas Turner
url: https://github.com/nckturner
email: [email protected]
- name: Stefan Prodan
url: https://github.com/stefanprodan
email: [email protected]
keywords:
- eks
- appmesh
84 changes: 84 additions & 0 deletions stable/appmesh-inject/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,84 @@
# App Mesh Inject

App Mesh inject Helm chart for Kubernetes

## Prerequisites

* Kubernetes >= 1.13

## Installing the Chart

Add the EKS repository to Helm:

```sh
helm repo add eks https://aws.github.io/eks-charts
```

Install the App Mesh CRDs:

```sh
kubectl apply -k github.com/aws/eks-charts/stable/appmesh-controller//crds?ref=master
```

Install the App Mesh admission controller:

```sh
helm upgrade -i appmesh-inject eks/appmesh-inject \
--namespace appmesh-system \
--set mesh.name=global
```

Optionally you can create a mesh at install time:

```sh
helm upgrade -i appmesh-inject eks/appmesh-inject \
--namespace appmesh-system \
--set mesh.name=global \
--set mesh.create=true
```

The [configuration](#configuration) section lists the parameters that can be configured during installation.

## Uninstalling the Chart

To uninstall/delete the `appmesh-inject` deployment:

```console
helm delete --purge appmesh-inject
```

The command removes all the Kubernetes components associated with the chart and deletes the release.

## Configuration

The following tables lists the configurable parameters of the chart and their default values.

Parameter | Description | Default
--- | --- | ---
`image.repository` | controller image repository | `602401143452.dkr.ecr.us-west-2.amazonaws.com/amazon/aws-app-mesh-inject`
`image.tag` | controller image tag | `<VERSION>`
`image.pullPolicy` | image pull policy | `IfNotPresent`
`resources.requests/cpu` | pod CPU request | `100m`
`resources.requests/memory` | pod memory request | `64Mi`
`resources.limits/cpu` | pod CPU limit | `2000m`
`resources.limits/memory` | pod memory limit | `1Gi`
`affinity` | node/pod affinities | None
`nodeSelector` | node labels for pod assignment | `{}`
`tolerations` | list of node taints to tolerate | `[]`
`rbac.create` | if `true`, create and use RBAC resources | `true`
`rbac.pspEnabled` | If `true`, create and use a restricted pod security policy | `false`
`serviceAccount.create` | If `true`, create a new service account | `true`
`serviceAccount.name` | Service account to be used | None
`sidecar.image.repository` | Envoy image repository | `840364872350.dkr.ecr.us-west-2.amazonaws.com/aws-appmesh-envoy`
`sidecar.image.tag` | Envoy image tag | `<VERSION>`
`sidecar.logLevel` | Envoy log level | `info`
`sidecar.resources` | Envoy container resources | `requests: cpu 10m memory 32Mi`
`init.image.repository` | Route manager image repository | `111345817488.dkr.ecr.us-west-2.amazonaws.com/aws-appmesh-proxy-route-manager`
`init.image.tag` | Route manager image tag | `<VERSION>`
`mesh.create` | If `true`, create mesh custom resource | `false`
`mesh.name` | The name of the mesh to use | `global`
`mesh.discovery` | The service discovery type to use, can be dns or cloudmap | `dns`
`tracing.enabled` | If `true`, Envoy will be configured with tracing | `false`
`tracing.provider` | The tracing provider can be x-ray, jaeger or datadog | `x-ray`
`tracing.address` | Jaeger or Datadog agent server address (ignored for X-Ray) | `appmesh-jaeger.appmesh-system`
`tracing.port` | Jaeger or Datadog agent port (ignored for X-Ray) | `9411`
21 changes: 17 additions & 4 deletions stable/appmesh-jaeger/Chart.yaml
Original file line number Diff line number Diff line change
@@ -1,6 +1,19 @@
apiVersion: v2
apiVersion: v1
name: appmesh-jaeger
description: AWS App Mesh Jaeger Helm chart for Kubernetes
type: application
version: 0.1.0
description: App Mesh Jaeger Helm chart for Kubernetes
version: 0.2.0
appVersion: 1.14.0
home: https://github.com/aws/eks-charts
icon: https://raw.githubusercontent.com/aws/eks-charts/master/docs/logo/aws.png
sources:
- https://github.com/aws/eks-charts
maintainers:
- name: Nicholas Turner
url: https://github.com/nckturner
email: [email protected]
- name: Stefan Prodan
url: https://github.com/stefanprodan
email: [email protected]
keywords:
- eks
- appmesh
73 changes: 73 additions & 0 deletions stable/appmesh-jaeger/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,73 @@
# App Mesh Jaeger

App Mesh Jaeger Helm chart for Kubernetes

## Prerequisites

* Kubernetes >= 1.13

## Installing the Chart

Add the EKS repository to Helm:

```sh
helm repo add eks https://aws.github.io/eks-charts
```

Install App Mesh Jaeger:

```sh
helm upgrade -i appmesh-jaeger eks/appmesh-jaeger \
--namespace appmesh-system
```

For Jaeger persistent storage you can create a [PersistentVolumeClaim](https://kubernetes.io/docs/concepts/storage/persistent-volumes/#persistentvolumeclaims)
and use `--set persistentVolumeClaim.claimName=<PVC-CLAIM-NAME>`.

Enable Jaeger tracing for the App Mesh data plane:

```sh
helm upgrade -i appmesh-inject eks/appmesh-inject \
--namespace appmesh-system \
--set tracing.enabled=true \
--set tracing.provider=jaeger \
--set tracing.address=appmesh-jaeger.appmesh-system \
--set tracing.port=9411
```

**Note** that you should restart all pods running inside the mesh after enabling tracing.

The [configuration](#configuration) section lists the parameters that can be configured during installation.

## Uninstalling the Chart

To uninstall/delete the `appmesh-jaeger` deployment:

```console
helm delete --purge appmesh-jaeger
```

The command removes all the Kubernetes components associated with the chart and deletes the release.

## Configuration

The following tables lists the configurable parameters of the chart and their default values.

Parameter | Description | Default
--- | --- | ---
`image.repository` | image repository | `jaegertracing/all-in-one`
`image.tag` | image tag | `<VERSION>`
`image.pullPolicy` | image pull policy | `IfNotPresent`
`resources.requests/cpu` | pod CPU request | `100m`
`resources.requests/memory` | pod memory request | `256Mi`
`resources.limits/cpu` | pod CPU limit | `2000m`
`resources.limits/memory` | pod memory limit | `2Gi`
`affinity` | node/pod affinities | None
`nodeSelector` | node labels for pod assignment | `{}`
`tolerations` | list of node taints to tolerate | `[]`
`rbac.create` | if `true`, create and use RBAC resources | `true`
`rbac.pspEnabled` | If `true`, create and use a restricted pod security policy | `false`
`serviceAccount.create` | If `true`, create a new service account | `true`
`serviceAccount.name` | Service account to be used | None
`memory.maxTraces` | The amount of traces stored in memory | `40000`
`persistentVolumeClaim.claimName` | Specify an existing volume claim to be used for Badger data | None
23 changes: 18 additions & 5 deletions stable/appmesh-prometheus/Chart.yaml
Original file line number Diff line number Diff line change
@@ -1,6 +1,19 @@
apiVersion: v2
apiVersion: v1
name: appmesh-prometheus
description: AWS App Mesh Prometheus Helm chart for Kubernetes
type: application
version: 0.2.0
appVersion: 2.12.0
description: App Mesh Prometheus Helm chart for Kubernetes
version: 0.3.0
appVersion: 2.13.1
home: https://github.com/aws/eks-charts
icon: https://raw.githubusercontent.com/aws/eks-charts/master/docs/logo/aws.png
sources:
- https://github.com/aws/eks-charts
maintainers:
- name: Nicholas Turner
url: https://github.com/nckturner
email: [email protected]
- name: Stefan Prodan
url: https://github.com/stefanprodan
email: [email protected]
keywords:
- eks
- appmesh
Loading

0 comments on commit 97a1d92

Please sign in to comment.