From eebee26fe332e6234f7b75ae0f73b40aa60b7bf5 Mon Sep 17 00:00:00 2001 From: Kevin Pollet Date: Fri, 18 Sep 2020 17:04:03 +0200 Subject: [PATCH] Remove Helm chart --- .semaphore/semaphore.yml | 3 - .travis.yml | 8 - Makefile | 36 +- README.md | 2 +- docs/content/contributing/building-testing.md | 2 +- docs/content/install.md | 4 +- docs/content/migration/helm-chart.md | 2 +- docs/content/quickstart.md | 2 +- helm/chart/mesh/.helmignore | 24 - helm/chart/mesh/Chart.yaml | 34 - helm/chart/mesh/Guidelines.md | 105 -- helm/chart/mesh/README.md | 155 --- helm/chart/mesh/charts/metrics/Chart.yaml | 6 - .../charts/metrics/dashboards/traefik.json | 1055 ----------------- .../charts/metrics/templates/grafana-pdb.yaml | 17 - .../charts/metrics/templates/grafana.yaml | 191 --- .../metrics/templates/prometheus-pdb.yaml | 17 - .../charts/metrics/templates/prometheus.yaml | 197 --- .../mesh/charts/metrics/templates/rbac.yaml | 75 -- .../charts/metrics/templates/storage.yaml | 43 - helm/chart/mesh/charts/metrics/values.yaml | 50 - helm/chart/mesh/charts/tracing/Chart.yaml | 6 - .../tracing/templates/jaeger-deployment.yaml | 100 -- .../charts/tracing/templates/jaeger-pdb.yaml | 17 - .../charts/tracing/templates/jaeger-sa.yaml | 13 - .../tracing/templates/jaeger-services.yaml | 103 -- helm/chart/mesh/charts/tracing/values.yaml | 2 - helm/chart/mesh/templates/NOTES.txt | 8 - helm/chart/mesh/templates/_helpers.tpl | 44 - .../controller/controller-deployment.yaml | 122 -- .../templates/controller/controller-pdb.yaml | 19 - .../templates/controller/controller-rbac.yaml | 81 -- .../templates/controller/controller-sa.yaml | 13 - .../controller/controller-service.yaml | 18 - .../controller/hooks/cleanup-hook.yaml | 134 --- .../templates/coredns/coredns-configmap.yaml | 30 - .../templates/coredns/coredns-deployment.yaml | 104 -- .../mesh/templates/coredns/coredns-rbac.yaml | 54 - .../mesh/templates/coredns/coredns-sa.yaml | 14 - .../templates/coredns/coredns-service.yaml | 33 - .../mesh/templates/proxy/proxy-daemonset.yaml | 285 ----- helm/chart/mesh/templates/proxy/proxy-sa.yaml | 13 - helm/chart/mesh/values.yaml | 208 ---- integration/helm_test.go | 112 -- integration/integration_test.go | 3 +- .../testdata}/crds/smi-access.yaml | 0 .../testdata}/crds/smi-specs.yaml | 0 .../testdata}/crds/smi-split.yaml | 0 48 files changed, 14 insertions(+), 3550 deletions(-) delete mode 100644 helm/chart/mesh/.helmignore delete mode 100644 helm/chart/mesh/Chart.yaml delete mode 100644 helm/chart/mesh/Guidelines.md delete mode 100644 helm/chart/mesh/README.md delete mode 100644 helm/chart/mesh/charts/metrics/Chart.yaml delete mode 100644 helm/chart/mesh/charts/metrics/dashboards/traefik.json delete mode 100644 helm/chart/mesh/charts/metrics/templates/grafana-pdb.yaml delete mode 100644 helm/chart/mesh/charts/metrics/templates/grafana.yaml delete mode 100644 helm/chart/mesh/charts/metrics/templates/prometheus-pdb.yaml delete mode 100644 helm/chart/mesh/charts/metrics/templates/prometheus.yaml delete mode 100644 helm/chart/mesh/charts/metrics/templates/rbac.yaml delete mode 100644 helm/chart/mesh/charts/metrics/templates/storage.yaml delete mode 100644 helm/chart/mesh/charts/metrics/values.yaml delete mode 100644 helm/chart/mesh/charts/tracing/Chart.yaml delete mode 100644 helm/chart/mesh/charts/tracing/templates/jaeger-deployment.yaml delete mode 100644 helm/chart/mesh/charts/tracing/templates/jaeger-pdb.yaml delete mode 100644 helm/chart/mesh/charts/tracing/templates/jaeger-sa.yaml delete mode 100644 helm/chart/mesh/charts/tracing/templates/jaeger-services.yaml delete mode 100644 helm/chart/mesh/charts/tracing/values.yaml delete mode 100644 helm/chart/mesh/templates/NOTES.txt delete mode 100644 helm/chart/mesh/templates/_helpers.tpl delete mode 100644 helm/chart/mesh/templates/controller/controller-deployment.yaml delete mode 100644 helm/chart/mesh/templates/controller/controller-pdb.yaml delete mode 100644 helm/chart/mesh/templates/controller/controller-rbac.yaml delete mode 100644 helm/chart/mesh/templates/controller/controller-sa.yaml delete mode 100644 helm/chart/mesh/templates/controller/controller-service.yaml delete mode 100644 helm/chart/mesh/templates/controller/hooks/cleanup-hook.yaml delete mode 100644 helm/chart/mesh/templates/coredns/coredns-configmap.yaml delete mode 100644 helm/chart/mesh/templates/coredns/coredns-deployment.yaml delete mode 100644 helm/chart/mesh/templates/coredns/coredns-rbac.yaml delete mode 100644 helm/chart/mesh/templates/coredns/coredns-sa.yaml delete mode 100644 helm/chart/mesh/templates/coredns/coredns-service.yaml delete mode 100644 helm/chart/mesh/templates/proxy/proxy-daemonset.yaml delete mode 100644 helm/chart/mesh/templates/proxy/proxy-sa.yaml delete mode 100644 helm/chart/mesh/values.yaml delete mode 100644 integration/helm_test.go rename {helm/chart/mesh => integration/testdata}/crds/smi-access.yaml (100%) rename {helm/chart/mesh => integration/testdata}/crds/smi-specs.yaml (100%) rename {helm/chart/mesh => integration/testdata}/crds/smi-split.yaml (100%) diff --git a/.semaphore/semaphore.yml b/.semaphore/semaphore.yml index b7cdcb51f..51523ed4c 100644 --- a/.semaphore/semaphore.yml +++ b/.semaphore/semaphore.yml @@ -78,6 +78,3 @@ blocks: - name: KubeDNS Suite commands: - "make test-integration-nobuild TESTFLAGS=\"-check.f KubeDNSSuite\"" - - name: Helm Suite - commands: - - "make test-integration-nobuild TESTFLAGS=\"-check.f HelmSuite\"" diff --git a/.travis.yml b/.travis.yml index 7a88890a8..1b340383e 100644 --- a/.travis.yml +++ b/.travis.yml @@ -52,8 +52,6 @@ before_deploy: structor -o traefik -r mesh --dockerfile-url="https://raw.githubusercontent.com/traefik/mesh/master/docs/docs.Dockerfile" --menu.js-url="https://raw.githubusercontent.com/traefik/structor/master/traefik-menu.js.gotmpl" --rqts-url="https://raw.githubusercontent.com/traefik/structor/master/requirements-override.txt" --force-edit-url --exp-branch=master --debug; mixtus --dst-doc-path="./mesh" --dst-owner=traefik --dst-repo-name=doc --git-user-email="30906710+traefiker@users.noreply.github.com" --git-user-name=traefiker --src-doc-path="./site" --src-owner=traefik --src-repo-name=mesh; fi - # Copy helm packages - - cp -r pages/charts/. site/charts # Copy CNAME file - cp pages/CNAME site/CNAME # Copy Semaphore yml file @@ -79,12 +77,6 @@ deploy: on: tags: true condition: $STABLE = true - - provider: script - skip_cleanup: true - script: make helm-package - on: - tags: true - condition: $STABLE = true - provider: pages strategy: git edge: false diff --git a/Makefile b/Makefile index 2c0908c65..acab9d872 100644 --- a/Makefile +++ b/Makefile @@ -25,7 +25,7 @@ clean: rm -rf $(CURDIR)/dist/ cover.out $(CURDIR)/pages $(CURDIR)/gh-pages.zip $(CURDIR)/mesh-gh-pages # Static linting of source files. See .golangci.toml for options -local-check: $(DIST_DIR) helm-lint +local-check: $(DIST_DIR) golangci-lint run --config .golangci.toml # Local commands @@ -40,13 +40,13 @@ local-test: clean go test -v -cover ./... ifeq ($(UNAME), Linux) -test-integration: $(DIST_DIR) kubectl helm build k3d +test-integration: $(DIST_DIR) kubectl build k3d else -test-integration: $(DIST_DIR) kubectl helm build local-build k3d +test-integration: $(DIST_DIR) kubectl build local-build k3d endif CGO_ENABLED=0 go test ./integration -integration $(INTEGRATION_TEST_OPTS) $(TESTFLAGS) -test-integration-nobuild: $(DIST_DIR) kubectl helm k3d +test-integration-nobuild: $(DIST_DIR) kubectl k3d CGO_ENABLED=0 go test ./integration -integration $(INTEGRATION_TEST_OPTS) $(TESTFLAGS) kubectl: @@ -61,7 +61,7 @@ build: $(DIST_DIR) test: $(DIST_DIR) docker build --tag "$(DOCKER_IMAGE_NAME):test" --target maker --build-arg="MAKE_TARGET=local-test" $(CURDIR)/ -check: $(DIST_DIR) helm-lint +check: $(DIST_DIR) docker build --tag "$(DOCKER_IMAGE_NAME):check" --target base-image $(CURDIR)/ docker run --rm \ -v $(CURDIR):/go/src/$(PROJECT) \ @@ -101,36 +101,14 @@ upgrade: tidy: go mod tidy -helm: - @command -v helm >/dev/null 2>&1 || curl -L https://git.io/get_helm.sh | bash -s -- -v v3.0.1 - -helm-lint: helm - helm lint helm/chart/mesh - k3d: @command -v k3d >/dev/null 2>&1 || curl -s https://raw.githubusercontent.com/rancher/k3d/v3.0.1/install.sh | TAG=v3.0.1 bash -pages: +docs-package: mkdir -p $(CURDIR)/pages - rm -rf $(CURDIR)/gh-pages.zip $(CURDIR)/mesh-gh-pages - curl -sSLO https://$(PROJECT)/archive/gh-pages.zip - unzip $(CURDIR)/gh-pages.zip - # We only keep the directory "charts" so documentation may remove files - cp -r $(CURDIR)/mesh-gh-pages/charts $(CURDIR)/pages/ - rm -rf $(CURDIR)/gh-pages.zip $(CURDIR)/mesh-gh-pages - -docs-package: pages make -C $(CURDIR)/docs cp -r $(CURDIR)/docs/site/* $(CURDIR)/pages/ cp $(CURDIR)/docs/CNAME $(CURDIR)/pages/CNAME -helm-package: helm-lint pages - helm package --app-version $(TAG_NAME) $(CURDIR)/helm/chart/mesh - cp helm/chart/mesh/README.md index.md - mkdir -p $(CURDIR)/pages/charts - mv *.tgz index.md $(CURDIR)/pages/charts/ - helm repo index $(CURDIR)/pages/charts/ - .PHONY: local-check local-build local-test check build test publish-images \ - vendor kubectl test-integration local-test-integration pages \ - helm helm-lint helm-package k3d + vendor kubectl test-integration local-test-integration pages k3d diff --git a/README.md b/README.md index c2cab4e5d..888105965 100644 --- a/README.md +++ b/README.md @@ -47,7 +47,7 @@ To run this app, you require the following: ## Install (Helm v3 only) ```shell -helm repo add traefik-mesh https://traefik.github.io/mesh/charts +helm repo add traefik-mesh https://helm.traefik.io/mesh helm repo update helm install traefik-mesh traefik-mesh/traefik-mesh ``` diff --git a/docs/content/contributing/building-testing.md b/docs/content/contributing/building-testing.md index fea9cfe36..d26d5b2b2 100644 --- a/docs/content/contributing/building-testing.md +++ b/docs/content/contributing/building-testing.md @@ -124,7 +124,7 @@ ok github.com/traefik/mesh/pkg/providers/smi 3.634s Run the integration tests in the `integration` directory by using the `go test ./integration -integration` command: ```bash -$ go test -v ./integration -integration -check.f HelmSuite +$ go test -v ./integration -integration -check.f CoreDNSSuite #[...] OK: 2 passed --- PASS: Test (161.20s) diff --git a/docs/content/install.md b/docs/content/install.md index d9fd92d6c..4a8d73a79 100644 --- a/docs/content/install.md +++ b/docs/content/install.md @@ -3,7 +3,7 @@ To install Traefik Mesh, the installation method is quite simple: ```bash -helm repo add traefik-mesh https://traefik.github.io/mesh/charts +helm repo add traefik-mesh https://helm.traefik.io/mesh helm repo update ``` @@ -33,7 +33,7 @@ You will then be able to use the tagged image as your image in your `values.yaml To deploy the Helm Chart, run: ```shell -helm install traefik-mesh helm/chart/mesh --set controller.image.pullPolicy=IfNotPresent --set controller.image.tag=latest +helm install traefik-mesh traefik-mesh/traefik-mesh --set controller.image.pullPolicy=IfNotPresent --set controller.image.tag=latest ``` ## KubeDNS support diff --git a/docs/content/migration/helm-chart.md b/docs/content/migration/helm-chart.md index 7403b3d27..232e5f7b2 100644 --- a/docs/content/migration/helm-chart.md +++ b/docs/content/migration/helm-chart.md @@ -35,7 +35,7 @@ You should use the new `defaultMode` option to configure the default traffic mod Prior to version `v2.1`, when the Metrics chart is deployed, Prometheus and Grafana services are exposed by default through a `NodePort`. For security reasons, those services are not exposed by default anymore. -To expose them you should use the new `prometheus.service` and `grafana.service` options, more details in the corresponding [values.yaml](https://github.com/traefik/mesh/blob/e59b861ac91261b950663410a6223a02fc7e2290/helm/chart/maesh/charts/metrics/values.yaml). +To expose them you should use the new `prometheus.service` and `grafana.service` options, more details in the corresponding [values.yaml](https://github.com/traefik/mesh-helm-chart/blob/8a7a193a1718129ad6e02ff313b219029d6daffe/mesh/charts/metrics/values.yaml). ## v1.x to v2.0 diff --git a/docs/content/quickstart.md b/docs/content/quickstart.md index 88f9e4ef9..c82f7d3f1 100644 --- a/docs/content/quickstart.md +++ b/docs/content/quickstart.md @@ -27,7 +27,7 @@ If you used `kubeadm` to deploy your cluster, a fast way to allow the helm insta ## Installing Traefik Mesh ```bash tab="Command" -helm repo add traefik-mesh https://traefik.github.io/mesh/charts +helm repo add traefik-mesh https://helm.traefik.io/mesh helm repo update helm install traefik-mesh traefik-mesh/traefik-mesh ``` diff --git a/helm/chart/mesh/.helmignore b/helm/chart/mesh/.helmignore deleted file mode 100644 index e559de0a0..000000000 --- a/helm/chart/mesh/.helmignore +++ /dev/null @@ -1,24 +0,0 @@ -# Patterns to ignore when building packages. -# This supports shell glob matching, relative path matching, and -# negation (prefixed with !). Only one pattern per line. -.DS_Store -# Common VCS dirs -.git/ -.gitignore -.bzr/ -.bzrignore -.hg/ -.hgignore -.svn/ -# Common backup files -*.swp -*.bak -*.tmp -*~ -# Various IDEs -.project -.idea/ -*.tmproj -.vscode/ -# OWNERS file for Kubernetes -OWNERS diff --git a/helm/chart/mesh/Chart.yaml b/helm/chart/mesh/Chart.yaml deleted file mode 100644 index 392e7a020..000000000 --- a/helm/chart/mesh/Chart.yaml +++ /dev/null @@ -1,34 +0,0 @@ -apiVersion: v2 -name: traefik-mesh -version: 3.0.0 -appVersion: v1.4.0-rc1 -description: Traefik Mesh - Simpler Service Mesh -type: application -keywords: - - traefik - - mesh - - smi -home: https://mae.sh/ -sources: - - https://github.com/traefik/mesh/ -maintainers: - - name: emilevauge - email: emile@vauge.com - - name: dtomcej - email: daniel.tomcej@gmail.com - - name: mmatur - email: michael@containo.us - - name: santode - email: manuel@containo.us - - name: jspdown - email: harold@containo.us - - name: kevinpollet - email: kevin@containo.us -icon: https://raw.githubusercontent.com/traefik/mesh/master/docs/content/assets/img/traefik-mesh.png -dependencies: - - name: tracing - version: 0.0.3 - condition: tracing.deploy - - name: metrics - version: 0.1.0 - condition: metrics.deploy diff --git a/helm/chart/mesh/Guidelines.md b/helm/chart/mesh/Guidelines.md deleted file mode 100644 index 09fce1fde..000000000 --- a/helm/chart/mesh/Guidelines.md +++ /dev/null @@ -1,105 +0,0 @@ -# Traefik Mesh Helm Chart Guidelines - -This document outlines the guidelines for developing, managing and extending the Traefik Mesh Helm Chart. - -## Optionality - -All non-critical features (features not mandatory to start Traefik Mesh) in the Helm Chart must be optional. -All non-critical features should be disabled (commented out) in the `values.yaml` file. -All optional non-critical features should be disabled (commented out) in the `values.yaml` file, and have a comment `# (Optional)` in the line above. -This allows minimal configuration, and ease of extension. - -### Critical Feature Example - -```yaml -image: - name: traefik/mesh -``` - -This feature is critical, and therefore is defined clearly in the `values.yaml` file. - -### Non-Critical Feature Example - -```yaml -# storage: -# controlNode: -# type: emptyDir -``` - -This feature is non-critical, and therefore is commented out by default in the `values.yaml` file. - -To allow this, template blocks that use this need to recursively test for existence of values before using them: - -```yaml -{{- if .Values.storage}} - {{- if .Values.storage.controlNode }} - //code - {{ .Values.storage.controlNode.type }} - {{- end }} -{{- end }} -``` - -The non-critical feature defaults should be populated so that they can be enabled by simply uncommenting the section in the `values.yaml` file. - -### Optional Non-Critical Feature Example - -```yaml -# storage: -# controlNode: -# type: emptyDir -# # (Optional) -# # volume: 1Gi -``` - -The `volume` option is clearly optional, and non-critical. -It is commented out (apart from the storage section comment block), and is also preceded by a comment of `# (Optional)` in the preceding line. -This facilitates configuration, when the storage section is uncommented, the optional features are still disabled by default. - -Similar to non-critical features, these options need to be tested for existence before use in the template. - -#### Note - -There can be optional values in critical features. -These should just be added as an uncommented non-critical feature: - -```yaml -image: - name: traefik/mesh - # (Optional) - # pullPolicy: IfNotPresent -``` - -Also, the first value under the primary value key does not require an optional comment: - -```yaml -ports: - http: 80 - # (Optional) - # https: 443 -``` - -This is because if the main subkey is not defined, the entirety of the feature is optional. - -## Whitespace - -Extra whitespace is to be avoided in templating. -Conditionals should chomp whitespace: - -```yaml -{{- if .Values }} -{{- end }} -``` - -There should be an empty commented line between each primary key in the `values.yaml` file to separate features from each other. - -## Values YAML Design - -The `values.yaml` file is designed to be user-friendly. -It does not have to resemble the templated configuration if it is not conducive. -Similarly, value names to not have to correspond to fields in the template if it is not conducive. - -## Comments - -The `values.yaml` file should not contain comments or explanations of what options are, or what values are available. -The `values-ref.yaml` file is for this purpose. -This file can contain comments above each value any number of comments to explain what the values are. diff --git a/helm/chart/mesh/README.md b/helm/chart/mesh/README.md deleted file mode 100644 index e9eeb0e5e..000000000 --- a/helm/chart/mesh/README.md +++ /dev/null @@ -1,155 +0,0 @@ -# Traefik Mesh - -Traefik Mesh is a simple, yet full-featured service mesh. It is container-native and fits as your de-facto service mesh in your Kubernetes cluster. -It supports the latest Service Mesh Interface specification [SMI](https://smi-spec.io/) that facilitates integration with pre-existing solution. - -Moreover, Traefik Mesh is opt-in by default, which means that your existing services are unaffected until you decide to add them to the mesh. - -## Prerequisites - -- Kubernetes 1.11+ -- CoreDNS/KubeDNS installed as [Cluster DNS Provider](https://kubernetes.io/docs/tasks/administer-cluster/dns-custom-nameservers/) (versions 1.3+ supported) -- [Helm v3](https://helm.sh/docs/intro/install/) - -## Installing the Chart - -To install the chart with the release name `traefik-mesh`: - -```bash -$ helm repo add traefik-mesh https://traefik.github.io/mesh/charts -$ helm repo update -$ helm install traefik-mesh traefik-mesh/traefik-mesh -``` - -You can use the `--namespace my-namespace` flag to deploy Traefik Mesh in a custom namespace and the `--set "key1=val1,key2=val2,..."` flag to configure it. -Where `key1=val1`, `key2=val2`, `...` are chart values that you can find at https://github.com/traefik/mesh/blob/master/helm/chart/mesh/values.yaml. - -## Uninstalling the Chart - -To uninstall the chart with the release name `traefik-mesh`: - -```bash -$ helm uninstall traefik-mesh -``` - -## Configuration - -The following table lists the configurable parameters of the Traefik Mesh chart and their default values. - -| Key | Description | Default | -|------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------------------| -| acl | Enable ACL mode. | `false` | -| clusterDomain | Custom cluster domain. | `"cluster.local"` | -| controller.affinity | Node/Pod affinities for the controller. | `{}` | -| controller.ignoreNamespaces | Namespace to ignore for the controller. | `[]` | -| controller.image.name | Docker image for the controller. | `"traefik/mesh"` | -| controller.image.pullPolicy | Pull policy for the controller Docker image. | `"IfNotPresent"` | -| controller.image.pullSecret | Name of the Secret resource containing the private registry credentials for the controller image. | | -| controller.image.tag | Tag for the controller container Docker image. | `{{ .Chart.AppVersion }}` | -| controller.logFormat | Controller log format. | `"common"` | -| controller.logLevel | Controller log level. | `"error"` | -| controller.nodeSelector | Node labels for pod assignment. See the [K8S documentation](https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#nodeselector) for more details. | `{}` | -| controller.resources.limit.cpu | Maximum amount of CPU units that the controller container can use. | `"200m"` | -| controller.resources.limit.mem | Maximum amount of memory that the controller container can use. | `"100Mi"` | -| controller.resources.request.cpu | Amount of CPU units that the controller container requests. | `"100m"` | -| controller.resources.request.mem | Amount of memory that the controller container requests. | `"50Mi"` | -| controller.tolerations | Tolerations section for the controller. See the [K8S documentation](https://kubernetes.io/docs/concepts/scheduling-eviction/taint-and-toleration/) for more details. | `[]` | -| controller.watchNamespaces | Namespace to watch for the controller. | `[]` | -| defaultMode | The default mesh mode. This means that new services will operate by default in HTTP mode. | `"http"` | -| kubedns | Enable KubeDNS support. | `false` | -| limits.http | Number of HTTP ports to allocate. | `10` | -| limits.tcp | Number of TCP ports to allocate. | `25` | -| limits.udp | Number of UDP ports to allocate. | `25` | -| logFormat | Log format for the controller and the proxy. | `"common"` | -| logLevel | Log level for the controller and the proxy. | `"error"` | -| proxy.additionalArguments | Arguments to be added to the proxy container args. | `[]` | -| proxy.annotations | Annotations to be added to the proxy deployment. | `{}` | -| proxy.env | Additional environment variables to set in the proxy pods. | `[]` | -| proxy.envFrom | Additional environment variables to set in the proxy pods. | `[]` | -| proxy.forwardingTimeouts.dialTimeout | Maximum duration allowed for a connection to a backend server to be established. See the [Traefik documentation](https://docs.traefik.io/routing/overview/#forwardingtimeoutsdialtimeout) for more details. | `"30s"` | -| proxy.forwardingTimeouts.idleConnTimeout | Maximum amount of time an idle (keep-alive) connection will remain idle before closing itself. See the [Traefik documentation](https://docs.traefik.io/routing/overview/#forwardingtimeoutsresponseheadertimeout) for more details. | `"1s"` | -| proxy.forwardingTimeouts.responseHeaderTimeout | Maximum amount of time, if non-zero, to wait for a server's response headers after fully writing the request (including its body, if any). See the [Traefik documentation](https://docs.traefik.io/routing/overview/#forwardingtimeoutsresponseheadertimeout) for more details. | `"0s"` | -| proxy.image.name | Docker image for the proxy. | `"traefik"` | -| proxy.image.pullPolicy | Pull policy for the proxy image. | `"IfNotPresent"` | -| proxy.image.pullSecret | Name of the Secret resource containing the private registry credentials for the proxy image. | | -| proxy.image.tag | Tag for the proxy container Docker image. | `"v2.3"` | -| proxy.logFormat | Proxy log format. | `"common"` | -| proxy.logLevel | Proxy log level. | `"error"` | -| proxy.nodeSelector | Node labels for pod assignment. See the [K8S documentation](https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#nodeselector) for more details. | `{}` | -| proxy.podAnnotations | Annotations to be added to the proxy pods. | `{}` | -| proxy.pollInterval | Polling interval to get the configuration from the controller. | `"1s"` | -| proxy.pollTimeout | Polling timeout when connecting to the controller configuration endpoint. | `"1s"` | -| proxy.resources.limit.cpu | Maximum amount of CPU units that the proxy container can use. | `"200m"` | -| proxy.resources.limit.mem | Maximum amount of memory that the proxy container can use. | `"100Mi"` | -| proxy.resources.request.cpu | Amount of CPU units that the proxy container requests. | `"100m"` | -| proxy.resources.request.mem | Amount of memory that the proxy container requests. | `"50Mi"` | -| proxy.tolerations | Tolerations section for the proxy. See the [K8S documentation](https://kubernetes.io/docs/concepts/scheduling-eviction/taint-and-toleration/) for more details. | `[]` | - -### Metrics - -The following table lists the available parameters to configure the metrics integrations on the Traefik Mesh proxies. -As the proxies are vanilla Traefik, check out the corresponding [documentation](https://docs.traefik.io/observability/metrics/overview/) for more details. - -| Key | Description | Default | -|--------------------------------------------------|------------------------------------------------------------------------------------------------------------------|--------------------------------------------| -| metrics.datadog.addEntrypointsLabels | Enable metrics on entry points. | `true` | -| metrics.datadog.addServiceLabels | Enable metrics on services. | `true` | -| metrics.datadog.address | Address of the `datadog-agent` to send metrics to. | `"127.0.0.1:8125"` | -| metrics.datadog.pushInterval | Interval used by the exporter to push metrics to the `datadog-agent`. | `"10s"` | -| metrics.deploy | Deploy the metric chart which contains [Grafana](https://grafana.com/) and [Prometheus](https://prometheus.io/). | `true` | -| metrics.influxdb.addEntrypointsLabels | Enable metrics on entry points. | `true` | -| metrics.influxdb.addServiceLabels | Enable metrics on services. | `true` | -| metrics.influxdb.address | Address of the `InfluxDB` to send metrics to. | `"localhost:8089"` | -| metrics.influxdb.database | Database to use when the protocol is `HTTP`. | | -| metrics.influxdb.password | Password, only for the `HTTP` protocol. | | -| metrics.influxdb.protocol | Address protocol, `udp` or `http`. | `"udp"` | -| metrics.influxdb.pushInterval | Interval used by the exporter to push metrics. | `"10s"` | -| metrics.influxdb.retentionPolicy | Retention policy used when the protocol is `HTTP`. | | -| metrics.influxdb.username | Username, only for the `HTTP` protocol. | | -| metrics.prometheus.addEntrypointsLabels | Enable metrics on entry points. | `true` | -| metrics.prometheus.addServiceLabels | Enable metrics on services. | `true` | -| metrics.prometheus.buckets | Buckets for latency metrics. | `"0.100000, 0.300000, 1.200000, 5.000000"` | -| metrics.prometheus.grafana.resources.limit.cpu | Maximum amount of CPU units that the Grafana container can use. | `"500m"` | -| metrics.prometheus.grafana.resources.limit.mem | Maximum amount of memory that the Grafana container can use. | `"500Mi"` | -| metrics.prometheus.grafana.resources.request.cpu | Amount of CPU units that the Grafana container requests. | `"200m"` | -| metrics.prometheus.grafana.resources.request.mem | Amount of memory that the Grafana container requests. | `"200Mi"` | -| metrics.prometheus.grafana.storageClassName | Storage class. See the [K8S documentation](https://kubernetes.io/docs/concepts/storage/storage-classes/) | `"metrics-storage"` | -| metrics.statsd.addEntrypointsLabels | Enable metrics on entry points. | `true` | -| metrics.statsd.addServiceLabels | Enable metrics on services. | `true` | -| metrics.statsd.address | Instructs the exporter to send metrics to `statsd` at this address. | `"127.0.0.1:8125"` | -| metrics.statsd.prefix | Prefix to use for metrics collection. | `"traefik"` | -| metrics.statsd.pushInterval | Interval used by the exporter to push the metrics to `statsd`. | `"10s"` | - -### Tracing - -The following table lists the available parameters to configure the tracing integrations on the Traefik Mesh proxies. -As the proxies are vanilla Traefik, check out the corresponding [documentation](https://docs.traefik.io/observability/tracing/overview/) for more details. - -| Key | Description | Default | -|------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------|----------------------------------------| -| tracing.datadog.debug | Enable Datadog debug. | `false` | -| tracing.datadog.globalTag | Apply shared tag in a form of `Key:Value` to all traces. | `""` | -| tracing.datadog.localagenthostport | Address of the `datadog-tracing-agent` to send the spans to. | `"127.0.0.1:8126"` | -| tracing.datadog.prioritySampling | Enable priority sampling. When using distributed tracing, this option must be enabled in order to get all parts of a distributed trace sampled.. | `false` | -| tracing.deploy | Deploy the tracing sub-chart which contains [Jaeger](https://www.jaegertracing.io/). | `true` | -| tracing.haystack.baggagePrefixHeaderName | Specifies the header name prefix that will be used to store baggage items in a map. | `""` | -| tracing.haystack.globalTag | Apply shared tag in a form of `Key:Value` to all the traces. | `""` | -| tracing.haystack.localAgentHost | Host of the `haystack-agent` to send spans to. | `"127.0.0.1"` | -| tracing.haystack.localAgentPort | Port of the `haystack-agent` to send spans to. | `35000` | -| tracing.haystack.parentIDHeaderName | Specifies the header name that will be used to store the parent ID. | `""` | -| tracing.haystack.spanIDHeaderName | Specifies the header name that will be used to store the span ID. | `""` | -| tracing.haystack.traceIDHeaderName | Specifies the header name that will be used to store the trace ID. | `""` | -| tracing.instana.localAgentHost | Host of the `instana-agent` to send spans to. | `"127.0.0.1"` | -| tracing.instana.localAgentPort | Port of the `instana-agent` to send spans to. | `42699` | -| tracing.instana.logLevel | Log Level. | `"info"` | -| tracing.jaeger.enabled | Enable the Jaeger integration. | `true` | -| tracing.jaeger.localagenthostport | Host and Port of the `jaeger-agent` to send spans to. | `"127.0.0.1:6831"` | -| tracing.jaeger.samplingserverurl | Address of the jaeger-agent's `HTTP` sampling server. | `"http://localhost:5778/sampling"` | -| tracing.zipkin.httpEndpoint | Instructs the exporter to send metrics to `ZipKin` at this address. | `"http://localhost:9411/api/v2/spans"` | -| tracing.zipkin.id128Bit | Use 128 bit trace IDs. | `true` | -| tracing.zipkin.sameSpan | Use SameSpan RPC style traces. | `false` | -| tracing.zipkin.sampleRate | Rate between 0.0 and 1.0 of requests to trace. | `1.0` | - -## Contributing - -If you want to contribute to this chart, please read the [Guidelines](./Guidelines.md). diff --git a/helm/chart/mesh/charts/metrics/Chart.yaml b/helm/chart/mesh/charts/metrics/Chart.yaml deleted file mode 100644 index 713b92a22..000000000 --- a/helm/chart/mesh/charts/metrics/Chart.yaml +++ /dev/null @@ -1,6 +0,0 @@ -apiVersion: v1 -description: A metrics Helm chart for Kubernetes -name: metrics -version: 0.1.0 -appVersion: 0.0.1 -tillerVersion: ">=2.7.2" diff --git a/helm/chart/mesh/charts/metrics/dashboards/traefik.json b/helm/chart/mesh/charts/metrics/dashboards/traefik.json deleted file mode 100644 index 030f7bcca..000000000 --- a/helm/chart/mesh/charts/metrics/dashboards/traefik.json +++ /dev/null @@ -1,1055 +0,0 @@ -{ - "__inputs": [ - { - "name": "prometheus", - "label": "prometheus", - "description": "", - "type": "datasource", - "pluginId": "prometheus", - "pluginName": "Prometheus" - } - ], - "__requires": [ - { - "type": "grafana", - "id": "grafana", - "name": "Grafana", - "version": "5.1.1" - }, - { - "type": "panel", - "id": "graph", - "name": "Graph", - "version": "5.0.0" - }, - { - "type": "datasource", - "id": "prometheus", - "name": "Prometheus", - "version": "5.0.0" - } - ], - "annotations": { - "list": [ - { - "builtIn": 1, - "datasource": "-- Grafana --", - "enable": true, - "hide": true, - "iconColor": "rgba(0, 211, 255, 1)", - "name": "Annotations & Alerts", - "type": "dashboard" - } - ] - }, - "description": "Traefik dashboard prometheus", - "editable": true, - "gnetId": 4475, - "graphTooltip": 1, - "id": null, - "iteration": 1527284418552, - "links": [], - "panels": [ - { - "collapsed": false, - "gridPos": { - "h": 1, - "w": 24, - "x": 0, - "y": 0 - }, - "id": 21, - "panels": [], - "title": "General", - "type": "row" - }, - { - "aliasColors": { - "Latency over 1 min": "rgb(9, 116, 190)", - "Latency over 5 min": "#bf1b00" - }, - "bars": false, - "dashLength": 10, - "dashes": false, - "datasource": "prometheus", - "fill": 2, - "gridPos": { - "h": 7, - "w": 24, - "x": 0, - "y": 1 - }, - "id": 11, - "legend": { - "avg": true, - "current": false, - "max": true, - "min": false, - "show": true, - "total": false, - "values": true - }, - "lines": true, - "linewidth": 2, - "links": [], - "nullPointMode": "null as zero", - "percentage": false, - "pointradius": 5, - "points": false, - "renderer": "flot", - "seriesOverrides": [ - { - "alias": "Latency over 5 min", - "yaxis": 1 - } - ], - "spaceLength": 10, - "stack": false, - "steppedLine": false, - "targets": [ - { - "expr": "histogram_quantile(0.$percentiles, sum(rate(traefik_entrypoint_request_duration_seconds_bucket{code=\"200\",method=\"GET\"}[5m])) by (le))", - "format": "time_series", - "hide": false, - "intervalFactor": 1, - "legendFormat": "Latency over 1 min", - "refId": "A" - } - ], - "thresholds": [], - "timeFrom": null, - "timeShift": null, - "title": "Global latency $percentiles th perc over 5 min", - "tooltip": { - "shared": true, - "sort": 0, - "value_type": "individual" - }, - "type": "graph", - "xaxis": { - "buckets": null, - "mode": "time", - "name": null, - "show": true, - "values": [] - }, - "yaxes": [ - { - "format": "s", - "label": null, - "logBase": 1, - "max": null, - "min": "0", - "show": true - }, - { - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": false - } - ], - "yaxis": { - "align": false, - "alignLevel": null - } - }, - { - "aliasColors": {}, - "bars": false, - "dashLength": 10, - "dashes": false, - "datasource": "prometheus", - "fill": 1, - "gridPos": { - "h": 7, - "w": 24, - "x": 0, - "y": 8 - }, - "id": 29, - "legend": { - "alignAsTable": true, - "avg": true, - "current": false, - "max": true, - "min": false, - "rightSide": true, - "show": true, - "total": false, - "values": true - }, - "lines": true, - "linewidth": 1, - "links": [], - "nullPointMode": "null", - "percentage": false, - "pointradius": 5, - "points": false, - "renderer": "flot", - "seriesOverrides": [], - "spaceLength": 10, - "stack": false, - "steppedLine": false, - "targets": [ - { - "expr": "histogram_quantile(0.$percentiles, rate(traefik_entrypoint_request_duration_seconds_bucket{code=\"200\",method=\"GET\"}[5m]))", - "format": "time_series", - "intervalFactor": 1, - "legendFormat": "{{ instance }}", - "refId": "A" - } - ], - "thresholds": [], - "timeFrom": null, - "timeShift": null, - "title": "Per node latency $percentiles th perc over 5 min", - "tooltip": { - "shared": true, - "sort": 0, - "value_type": "individual" - }, - "type": "graph", - "xaxis": { - "buckets": null, - "mode": "time", - "name": null, - "show": true, - "values": [] - }, - "yaxes": [ - { - "format": "s", - "label": null, - "logBase": 1, - "max": null, - "min": "0", - "show": true - }, - { - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": false - } - ], - "yaxis": { - "align": false, - "alignLevel": null - } - }, - { - "collapsed": true, - "gridPos": { - "h": 1, - "w": 24, - "x": 0, - "y": 15 - }, - "id": 17, - "panels": [ - { - "aliasColors": {}, - "bars": false, - "dashLength": 10, - "dashes": false, - "datasource": null, - "fill": 7, - "gridPos": { - "h": 7, - "w": 12, - "x": 0, - "y": 2 - }, - "id": 19, - "legend": { - "alignAsTable": true, - "avg": true, - "current": true, - "max": true, - "min": false, - "rightSide": true, - "show": true, - "sort": "avg", - "sortDesc": true, - "total": false, - "values": true - }, - "lines": true, - "linewidth": 1, - "links": [], - "nullPointMode": "null", - "percentage": false, - "pointradius": 5, - "points": false, - "renderer": "flot", - "seriesOverrides": [], - "spaceLength": 10, - "stack": true, - "steppedLine": false, - "targets": [ - { - "expr": "sum(traefik_entrypoint_open_connections) by (method)", - "format": "time_series", - "intervalFactor": 1, - "legendFormat": "{{ method }}", - "refId": "A" - } - ], - "thresholds": [], - "timeFrom": null, - "timeShift": null, - "title": "Open Connections", - "tooltip": { - "shared": true, - "sort": 0, - "value_type": "individual" - }, - "type": "graph", - "xaxis": { - "buckets": null, - "mode": "time", - "name": null, - "show": true, - "values": [] - }, - "yaxes": [ - { - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": true - }, - { - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": false - } - ], - "yaxis": { - "align": false, - "alignLevel": null - } - }, - { - "aliasColors": {}, - "bars": false, - "dashLength": 10, - "dashes": false, - "datasource": null, - "fill": 1, - "gridPos": { - "h": 7, - "w": 12, - "x": 12, - "y": 2 - }, - "id": 22, - "legend": { - "alignAsTable": true, - "avg": true, - "current": true, - "max": true, - "min": false, - "rightSide": true, - "show": true, - "total": false, - "values": true - }, - "lines": true, - "linewidth": 1, - "links": [], - "nullPointMode": "null", - "percentage": false, - "pointradius": 5, - "points": false, - "renderer": "flot", - "seriesOverrides": [], - "spaceLength": 10, - "stack": false, - "steppedLine": false, - "targets": [ - { - "expr": "sum(rate(traefik_entrypoint_request_duration_seconds_bucket{le=\"0.1\",code=\"200\"}[5m])) by (job) / sum(rate(traefik_entrypoint_request_duration_seconds_count{code=\"200\"}[5m])) by (job)", - "format": "time_series", - "intervalFactor": 1, - "legendFormat": "Code 200", - "refId": "A" - } - ], - "thresholds": [], - "timeFrom": null, - "timeShift": null, - "title": "Apdex score (over 5 min)", - "tooltip": { - "shared": true, - "sort": 0, - "value_type": "individual" - }, - "type": "graph", - "xaxis": { - "buckets": null, - "mode": "time", - "name": null, - "show": true, - "values": [] - }, - "yaxes": [ - { - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": true - }, - { - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": false - } - ], - "yaxis": { - "align": false, - "alignLevel": null - } - } - ], - "title": "Frontends (entrypoints)", - "type": "row" - }, - { - "collapsed": true, - "gridPos": { - "h": 1, - "w": 24, - "x": 0, - "y": 16 - }, - "id": 24, - "panels": [ - { - "aliasColors": {}, - "bars": false, - "dashLength": 10, - "dashes": false, - "datasource": null, - "fill": 7, - "gridPos": { - "h": 7, - "w": 12, - "x": 0, - "y": 3 - }, - "id": 25, - "legend": { - "alignAsTable": true, - "avg": true, - "current": true, - "max": true, - "min": false, - "rightSide": true, - "show": true, - "sort": "avg", - "sortDesc": true, - "total": false, - "values": true - }, - "lines": true, - "linewidth": 1, - "links": [], - "nullPointMode": "null", - "percentage": false, - "pointradius": 5, - "points": false, - "renderer": "flot", - "seriesOverrides": [], - "spaceLength": 10, - "stack": true, - "steppedLine": false, - "targets": [ - { - "expr": "sum(traefik_service_open_connections) by (method)", - "format": "time_series", - "intervalFactor": 1, - "legendFormat": "{{ method }}", - "refId": "A" - } - ], - "thresholds": [], - "timeFrom": null, - "timeShift": null, - "title": "Open Connections", - "tooltip": { - "shared": true, - "sort": 0, - "value_type": "individual" - }, - "type": "graph", - "xaxis": { - "buckets": null, - "mode": "time", - "name": null, - "show": true, - "values": [] - }, - "yaxes": [ - { - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": true - }, - { - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": false - } - ], - "yaxis": { - "align": false, - "alignLevel": null - } - }, - { - "aliasColors": {}, - "bars": false, - "dashLength": 10, - "dashes": false, - "datasource": null, - "fill": 1, - "gridPos": { - "h": 7, - "w": 12, - "x": 12, - "y": 3 - }, - "id": 26, - "legend": { - "alignAsTable": true, - "avg": true, - "current": true, - "max": true, - "min": false, - "rightSide": true, - "show": true, - "total": false, - "values": true - }, - "lines": true, - "linewidth": 1, - "links": [], - "nullPointMode": "null", - "percentage": false, - "pointradius": 5, - "points": false, - "renderer": "flot", - "seriesOverrides": [], - "spaceLength": 10, - "stack": false, - "steppedLine": false, - "targets": [ - { - "expr": "sum(rate(traefik_service_request_duration_seconds_bucket{le=\"0.1\",code=\"200\"}[5m])) by (job) / sum(rate(traefik_service_request_duration_seconds_count{code=\"200\"}[5m])) by (job)", - "format": "time_series", - "intervalFactor": 1, - "legendFormat": "Code 200", - "refId": "A" - } - ], - "thresholds": [], - "timeFrom": null, - "timeShift": null, - "title": "Apdex score (over 5 min)", - "tooltip": { - "shared": true, - "sort": 0, - "value_type": "individual" - }, - "type": "graph", - "xaxis": { - "buckets": null, - "mode": "time", - "name": null, - "show": true, - "values": [] - }, - "yaxes": [ - { - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": true - }, - { - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": false - } - ], - "yaxis": { - "align": false, - "alignLevel": null - } - } - ], - "title": "Services", - "type": "row" - }, - { - "collapsed": true, - "gridPos": { - "h": 1, - "w": 24, - "x": 0, - "y": 17 - }, - "id": 15, - "panels": [ - { - "aliasColors": {}, - "bars": true, - "dashLength": 10, - "dashes": false, - "datasource": "prometheus", - "fill": 1, - "gridPos": { - "h": 9, - "w": 12, - "x": 0, - "y": 4 - }, - "id": 5, - "legend": { - "alignAsTable": true, - "avg": true, - "current": true, - "max": true, - "min": false, - "rightSide": true, - "show": true, - "sort": "avg", - "sortDesc": true, - "total": false, - "values": true - }, - "lines": false, - "linewidth": 1, - "links": [], - "nullPointMode": "null", - "percentage": false, - "pointradius": 5, - "points": false, - "renderer": "flot", - "seriesOverrides": [], - "spaceLength": 10, - "stack": true, - "steppedLine": false, - "targets": [ - { - "expr": "sum(rate(traefik_service_requests_total{code=~\"2..\"}[5m])) by (method, code)", - "format": "time_series", - "intervalFactor": 2, - "legendFormat": "{{method}} : {{code}}", - "refId": "A" - } - ], - "thresholds": [], - "timeFrom": null, - "timeShift": null, - "title": "Status code 2xx over 5min", - "tooltip": { - "shared": true, - "sort": 0, - "value_type": "individual" - }, - "type": "graph", - "xaxis": { - "buckets": null, - "mode": "time", - "name": null, - "show": true, - "values": [] - }, - "yaxes": [ - { - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": true - }, - { - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": true - } - ], - "yaxis": { - "align": false, - "alignLevel": null - } - }, - { - "aliasColors": {}, - "bars": true, - "dashLength": 10, - "dashes": false, - "datasource": "prometheus", - "fill": 1, - "gridPos": { - "h": 9, - "w": 12, - "x": 12, - "y": 4 - }, - "id": 27, - "legend": { - "alignAsTable": true, - "avg": false, - "current": true, - "max": true, - "min": true, - "rightSide": true, - "show": true, - "total": false, - "values": true - }, - "lines": false, - "linewidth": 1, - "links": [], - "nullPointMode": "null", - "percentage": false, - "pointradius": 5, - "points": false, - "renderer": "flot", - "seriesOverrides": [], - "spaceLength": 10, - "stack": true, - "steppedLine": false, - "targets": [ - { - "expr": "sum(rate(traefik_service_requests_total{code=~\"5..\"}[5m])) by (method, code)", - "format": "time_series", - "intervalFactor": 2, - "legendFormat": "{{method}} : {{code}}", - "refId": "A" - } - ], - "thresholds": [], - "timeFrom": null, - "timeShift": null, - "title": "Status code 5xx over 5min", - "tooltip": { - "shared": true, - "sort": 0, - "value_type": "individual" - }, - "type": "graph", - "xaxis": { - "buckets": null, - "mode": "time", - "name": null, - "show": true, - "values": [] - }, - "yaxes": [ - { - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": true - }, - { - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": false - } - ], - "yaxis": { - "align": false, - "alignLevel": null - } - }, - { - "aliasColors": {}, - "bars": true, - "dashLength": 10, - "dashes": false, - "datasource": "prometheus", - "fill": 1, - "gridPos": { - "h": 9, - "w": 12, - "x": 0, - "y": 13 - }, - "id": 3, - "legend": { - "alignAsTable": true, - "avg": true, - "current": true, - "max": true, - "min": false, - "rightSide": true, - "show": true, - "sort": "avg", - "sortDesc": true, - "total": false, - "values": true - }, - "lines": false, - "linewidth": 1, - "links": [], - "nullPointMode": "null", - "percentage": false, - "pointradius": 5, - "points": false, - "renderer": "flot", - "seriesOverrides": [], - "spaceLength": 10, - "stack": false, - "steppedLine": false, - "targets": [ - { - "expr": "sum(rate(traefik_service_requests_total[1m])) by (service)", - "format": "time_series", - "intervalFactor": 2, - "legendFormat": "{{ service }}", - "refId": "A" - } - ], - "thresholds": [], - "timeFrom": null, - "timeShift": null, - "title": "Service total requests over 1min per service", - "tooltip": { - "shared": true, - "sort": 0, - "value_type": "individual" - }, - "type": "graph", - "xaxis": { - "buckets": null, - "mode": "time", - "name": null, - "show": true, - "values": [] - }, - "yaxes": [ - { - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": true - }, - { - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": true - } - ], - "yaxis": { - "align": false, - "alignLevel": null - } - }, - { - "aliasColors": {}, - "bars": true, - "dashLength": 10, - "dashes": false, - "datasource": "prometheus", - "fill": 1, - "gridPos": { - "h": 9, - "w": 12, - "x": 12, - "y": 13 - }, - "id": 6, - "legend": { - "alignAsTable": true, - "avg": false, - "current": true, - "max": true, - "min": true, - "rightSide": true, - "show": true, - "sortDesc": false, - "total": false, - "values": true - }, - "lines": false, - "linewidth": 1, - "links": [], - "nullPointMode": "null", - "percentage": false, - "pointradius": 5, - "points": false, - "renderer": "flot", - "seriesOverrides": [], - "spaceLength": 10, - "stack": true, - "steppedLine": false, - "targets": [ - { - "expr": "sum(rate(traefik_service_requests_total{code!~\"2..|5..\"}[5m])) by (method, code)", - "format": "time_series", - "intervalFactor": 2, - "legendFormat": "{{ method }} : {{code}}", - "refId": "A" - } - ], - "thresholds": [], - "timeFrom": null, - "timeShift": null, - "title": "Others status code over 5min", - "tooltip": { - "shared": true, - "sort": 0, - "value_type": "individual" - }, - "type": "graph", - "xaxis": { - "buckets": null, - "mode": "time", - "name": null, - "show": true, - "values": [] - }, - "yaxes": [ - { - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": true - }, - { - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": true - } - ], - "yaxis": { - "align": false, - "alignLevel": null - } - } - ], - "title": "HTTP Codes stats", - "type": "row" - } - ], - "schemaVersion": 16, - "style": "dark", - "tags": [ - "traefik" - ], - "templating": { - "list": [ - { - "allValue": null, - "current": { - "selected": true, - "tags": [], - "text": "99", - "value": "99" - }, - "hide": 0, - "includeAll": false, - "label": null, - "multi": false, - "name": "percentiles", - "options": [ - { - "selected": false, - "text": "95", - "value": "95" - }, - { - "selected": true, - "text": "99", - "value": "99" - } - ], - "query": "95,99", - "type": "custom" - } - ] - }, - "time": { - "from": "now-24h", - "to": "now" - }, - "timepicker": { - "refresh_intervals": [ - "5s", - "10s", - "30s", - "1m", - "5m", - "15m", - "30m", - "1h", - "2h", - "1d" - ], - "time_options": [ - "5m", - "15m", - "1h", - "6h", - "12h", - "24h", - "2d", - "7d", - "30d" - ] - }, - "timezone": "", - "title": "Traefik", - "uid": "traefik", - "version": 1 -} diff --git a/helm/chart/mesh/charts/metrics/templates/grafana-pdb.yaml b/helm/chart/mesh/charts/metrics/templates/grafana-pdb.yaml deleted file mode 100644 index c6096666a..000000000 --- a/helm/chart/mesh/charts/metrics/templates/grafana-pdb.yaml +++ /dev/null @@ -1,17 +0,0 @@ ---- -apiVersion: policy/v1beta1 -kind: PodDisruptionBudget -metadata: - name: grafana - labels: - app: maesh - component: grafana - chart: {{ include "traefikMesh.chartLabel" . | quote }} - release: {{ .Release.Name | quote }} - heritage: {{ .Release.Service | quote }} -spec: - minAvailable: 1 - selector: - matchLabels: - app: maesh - component: grafana diff --git a/helm/chart/mesh/charts/metrics/templates/grafana.yaml b/helm/chart/mesh/charts/metrics/templates/grafana.yaml deleted file mode 100644 index 2f9b956a9..000000000 --- a/helm/chart/mesh/charts/metrics/templates/grafana.yaml +++ /dev/null @@ -1,191 +0,0 @@ ---- -apiVersion: apps/v1 -kind: Deployment -metadata: - name: grafana-core - namespace: {{ .Release.Namespace }} - labels: - app: maesh - component: grafana - chart: {{ include "traefikMesh.chartLabel" . | quote }} - release: {{ .Release.Name | quote }} - heritage: {{ .Release.Service | quote }} -spec: - replicas: 1 - selector: - matchLabels: - app: maesh - component: grafana - template: - metadata: - labels: - app: maesh - component: grafana - spec: - serviceAccountName: grafana-k8s - automountServiceAccountToken: false - securityContext: - runAsNonRoot: true - runAsUser: 472 - fsGroup: 472 - containers: - - image: {{ .Values.image.grafana | quote }} - name: grafana-core - imagePullPolicy: IfNotPresent - ports: - - name: web - containerPort: 3000 - {{- if .Values.grafana.resources }} - {{- toYaml .Values.grafana.resources | indent 8 }} - {{- end }} - readinessProbe: - httpGet: - path: /api/health - port: web - initialDelaySeconds: 5 - livenessProbe: - httpGet: - path: /api/health - port: web - initialDelaySeconds: 5 - periodSeconds: 10 - volumeMounts: - - name: metrics-storage - mountPath: /var/lib/grafana - {{- range $path, $bytes := .Files.Glob "dashboards/*.json" }} - {{- $filename := trimSuffix (ext $path) (base $path) }} - - name: dashboards-grafana-{{ $filename }} - mountPath: "/var/lib/grafana/dashboards/{{ base $path }}" - subPath: {{ base $path }} - readOnly: false - {{- end }} - - name: grafana-config - mountPath: /etc/grafana - readOnly: true - initContainers: - - name: metrics-storage-permission-fix - image: busybox - command: ["chown", "-R", "472:472", "/var/lib/grafana"] - securityContext: - runAsNonRoot: false - runAsUser: 0 - volumeMounts: - - name: metrics-storage - mountPath: /var/lib/grafana - volumes: - - name: metrics-storage - persistentVolumeClaim: - claimName: metrics-storage - {{- range $path, $bytes := .Files.Glob "dashboards/*.json" }} - {{- $filename := trimSuffix (ext $path) (base $path) }} - - name: dashboards-grafana-{{ $filename }} - configMap: - name: grafana-dashboard-{{ $filename }} - {{- end }} - - name: grafana-config - configMap: - name: grafana-config - items: - - key: grafana.ini - path: grafana.ini - - key: datasources.yaml - path: provisioning/datasources/datasources.yaml - - key: dashboards.yaml - path: provisioning/dashboards/dashboards.yaml - ---- -kind: ConfigMap -apiVersion: v1 -metadata: - name: grafana-config - namespace: {{ .Release.Namespace }} - labels: - app: maesh - component: grafana - chart: {{ include "traefikMesh.chartLabel" . | quote }} - release: {{ .Release.Name | quote }} - heritage: {{ .Release.Service | quote }} -data: - grafana.ini: |- - instance_name = containous-grafana - - [auth] - disable_login_form = true - - [auth.anonymous] - enabled = true - org_role = Admin - - [auth.basic] - enabled = false - - [analytics] - check_for_updates = false - datasources.yaml: |- - apiVersion: 1 - datasources: - - name: prometheus - type: prometheus - orgId: 1 - url: http://prometheus.{{ .Release.Namespace }}.svc.{{ default "cluster.local" .Values.clusterDomain }}:{{ .Values.prometheus.service.port }} - isDefault: true - access: proxy - jsonData: - timeInterval: "5s" - version: 1 - editable: true - - dashboards.yaml: |- - apiVersion: 1 - providers: - - name: 'default' - orgId: 1 - folder: '' - type: file - disableDeletion: true - editable: true - options: - path: /var/lib/grafana/dashboards - homeDashboardId: traefik-mesh - ---- -apiVersion: v1 -kind: Service -metadata: - name: grafana - namespace: {{ .Release.Namespace }} - labels: - app: maesh - component: grafana - chart: {{ include "traefikMesh.chartLabel" . | quote }} - release: {{ .Release.Name | quote }} - heritage: {{ .Release.Service | quote }} -spec: - type: {{ .Values.grafana.service.type }} - ports: - - port: {{ .Values.grafana.service.port }} - targetPort: web - {{- if .Values.grafana.service.nodePort }} - nodePort: {{ .Values.grafana.service.nodePort }} - {{- end }} - selector: - app: maesh - component: grafana - ---- -{{- $files := .Files }} -{{- $ns := .Release.Namespace }} -{{- range $path, $bytes := .Files.Glob "dashboards/*.json" }} -{{- $filename := trimSuffix (ext $path) (base $path) }} -apiVersion: v1 -kind: ConfigMap -metadata: - name: grafana-dashboard-{{ $filename }} - namespace: {{ $ns }} - labels: - app: maesh - component: grafana -data: - {{ base $path }}: '{{ $files.Get $path }}' ---- -{{- end }} diff --git a/helm/chart/mesh/charts/metrics/templates/prometheus-pdb.yaml b/helm/chart/mesh/charts/metrics/templates/prometheus-pdb.yaml deleted file mode 100644 index 209d56487..000000000 --- a/helm/chart/mesh/charts/metrics/templates/prometheus-pdb.yaml +++ /dev/null @@ -1,17 +0,0 @@ ---- -apiVersion: policy/v1beta1 -kind: PodDisruptionBudget -metadata: - name: prometheus - labels: - app: maesh - component: prometheus - chart: {{ include "traefikMesh.chartLabel" . | quote }} - release: {{ .Release.Name | quote }} - heritage: {{ .Release.Service | quote }} -spec: - minAvailable: 1 - selector: - matchLabels: - app: maesh - component: prometheus diff --git a/helm/chart/mesh/charts/metrics/templates/prometheus.yaml b/helm/chart/mesh/charts/metrics/templates/prometheus.yaml deleted file mode 100644 index e9205fcc4..000000000 --- a/helm/chart/mesh/charts/metrics/templates/prometheus.yaml +++ /dev/null @@ -1,197 +0,0 @@ ---- -apiVersion: v1 -kind: ConfigMap -metadata: - creationTimestamp: null - name: prometheus-rules - namespace: {{ .Release.Namespace }} - labels: - app: maesh - component: prometheus - chart: {{ include "traefikMesh.chartLabel" . | quote }} - release: {{ .Release.Name | quote }} - heritage: {{ .Release.Service | quote }} -data: - general.yaml: | - groups: - - name: general - rules: - - record: job:http_duration_seconds:p99:5m - expr: histogram_quantile(0.99, sum(rate(http_duration_seconds_bucket[5m])) by (job, le)) - - record: job:http_duration_seconds:p90:5m - expr: histogram_quantile(0.90, sum(rate(http_duration_seconds_bucket[5m])) by (job, le)) - - record: job:http_duration_seconds:p50:5m - expr: histogram_quantile(0.50, sum(rate(http_duration_seconds_bucket[5m])) by (job, le)) ---- -apiVersion: v1 -kind: ConfigMap -metadata: - name: prometheus-core - namespace: {{ .Release.Namespace }} - labels: - app: maesh - component: prometheus - chart: {{ include "traefikMesh.chartLabel" . | quote }} - release: {{ .Release.Name | quote }} - heritage: {{ .Release.Service | quote }} -data: - prometheus.yaml: | - global: - scrape_interval: 10s - scrape_timeout: 10s - evaluation_interval: 10s - rule_files: - - "/prometheus/rules/*.yaml" - - scrape_configs: - - job_name: 'traefik-mesh' - relabel_configs: - - source_labels: [__meta_kubernetes_pod_annotation_prometheus_io_scrape] - action: keep - regex: true - - source_labels: [__address__, __meta_kubernetes_pod_annotation_prometheus_io_port] - action: replace - regex: ([^:]+)(?::\d+)?;(\d+) - replacement: $1:$2 - target_label: __address__ - # Add the version label extracted from the pod label version. - - source_labels: [__meta_kubernetes_pod_label_version] - action: replace - replacement: $1 - target_label: version - kubernetes_sd_configs: - - role: pod - namespaces: - names: - - {{ .Release.Namespace }} ---- -apiVersion: apps/v1 -kind: Deployment -metadata: - name: prometheus-core - namespace: {{ .Release.Namespace }} - labels: - app: maesh - component: prometheus - chart: {{ include "traefikMesh.chartLabel" . | quote }} - release: {{ .Release.Name | quote }} - heritage: {{ .Release.Service | quote }} -spec: - replicas: 1 - selector: - matchLabels: - app: maesh - component: prometheus - template: - metadata: - name: prometheus-main - labels: - app: maesh - component: prometheus - spec: - serviceAccountName: prometheus-k8s - automountServiceAccountToken: true - securityContext: - fsGroup: 2000 - runAsUser: 1000 - runAsNonRoot: true - containers: - - name: prometheus - image: {{ .Values.image.prometheus | quote }} - args: - - '--storage.tsdb.retention=60d' - - '--storage.tsdb.path="/prometheus/data/"' - - '--web.enable-lifecycle' - - '--config.file=/prometheus/config/prometheus.yaml' - ports: - - name: webui - containerPort: 9090 - readinessProbe: - httpGet: - path: "/-/ready" - port: webui - initialDelaySeconds: 5 - livenessProbe: - httpGet: - path: "/-/healthy" - port: webui - initialDelaySeconds: 5 - {{- if .Values.prometheus.resources }} - {{- toYaml .Values.prometheus.resources | indent 8 }} - {{- end }} - volumeMounts: - - name: config-volume - mountPath: /prometheus/config - - name: rules-volume - mountPath: /prometheus/rules - - name: prometheus-storage - mountPath: /prometheus - - name: configmap-reload - image: {{ .Values.image.configmapReload | quote }} - imagePullPolicy: IfNotPresent - args: - - --volume-dir=/etc/config - - --volume-dir=/etc/rules - - --webhook-url=http://localhost:9090/-/reload - volumeMounts: - - name: config-volume - mountPath: /etc/config - readOnly: true - - name: rules-volume - mountPath: /etc/rules - readOnly: true - resources: - limits: - cpu: 10m - memory: 15Mi - requests: - cpu: 10m - memory: 10Mi - initContainers: - - name: prometheus-storage-permission-fix - image: busybox - command: ["/bin/chown", "-R", "1000:2000", "/prometheus"] - securityContext: - runAsNonRoot: false - runAsUser: 0 - volumeMounts: - - name: prometheus-storage - mountPath: /prometheus - volumes: - - name: prometheus-storage - persistentVolumeClaim: - claimName: prometheus-storage - - name: config-volume - configMap: - name: prometheus-core - - name: rules-volume - configMap: - name: prometheus-rules - ---- -apiVersion: v1 -kind: Service -metadata: - name: prometheus - namespace: {{ .Release.Namespace }} - labels: - app: maesh - component: prometheus - chart: {{ include "traefikMesh.chartLabel" . | quote }} - release: {{ .Release.Name | quote }} - heritage: {{ .Release.Service | quote }} - annotations: - prometheus.io/scrape: 'true' -spec: - type: {{ .Values.prometheus.service.type }} - ports: - - port: {{ .Values.prometheus.service.port }} - targetPort: webui - {{- if .Values.prometheus.service.nodePort }} - nodePort: {{ .Values.prometheus.service.nodePort }} - {{- end }} - protocol: TCP - name: webui - selector: - app: maesh - component: prometheus diff --git a/helm/chart/mesh/charts/metrics/templates/rbac.yaml b/helm/chart/mesh/charts/metrics/templates/rbac.yaml deleted file mode 100644 index 393069aea..000000000 --- a/helm/chart/mesh/charts/metrics/templates/rbac.yaml +++ /dev/null @@ -1,75 +0,0 @@ ---- -apiVersion: rbac.authorization.k8s.io/v1beta1 -kind: ClusterRoleBinding -metadata: - name: prometheus - labels: - app: maesh - component: prometheus - chart: {{ include "traefikMesh.chartLabel" . | quote }} - release: {{ .Release.Name | quote }} - heritage: {{ .Release.Service | quote }} -roleRef: - apiGroup: rbac.authorization.k8s.io - kind: ClusterRole - name: prometheus -subjects: -- kind: ServiceAccount - name: prometheus-k8s - namespace: {{ .Release.Namespace }} - ---- -apiVersion: rbac.authorization.k8s.io/v1beta1 -kind: ClusterRole -metadata: - name: prometheus - labels: - app: maesh - component: prometheus - chart: {{ include "traefikMesh.chartLabel" . | quote }} - release: {{ .Release.Name | quote }} - heritage: {{ .Release.Service | quote }} -rules: -- apiGroups: [""] - resources: - - nodes - - services - - endpoints - - pods - verbs: ["get", "list", "watch"] -- apiGroups: [""] - resources: - - configmaps - verbs: ["get"] -- nonResourceURLs: ["/metrics"] - verbs: ["get"] -- apiGroups: ["extensions"] - resources: - - ingresses - verbs: ["get", "list", "watch"] - ---- -apiVersion: v1 -kind: ServiceAccount -metadata: - name: prometheus-k8s - namespace: {{ .Release.Namespace }} - labels: - app: maesh - component: prometheus - chart: {{ include "traefikMesh.chartLabel" . | quote }} - release: {{ .Release.Name | quote }} - heritage: {{ .Release.Service | quote }} - ---- -apiVersion: v1 -kind: ServiceAccount -metadata: - name: grafana-k8s - namespace: {{ .Release.Namespace }} - labels: - app: maesh - component: grafana - chart: {{ include "traefikMesh.chartLabel" . | quote }} - release: {{ .Release.Name | quote }} - heritage: {{ .Release.Service | quote }} diff --git a/helm/chart/mesh/charts/metrics/templates/storage.yaml b/helm/chart/mesh/charts/metrics/templates/storage.yaml deleted file mode 100644 index 14e640350..000000000 --- a/helm/chart/mesh/charts/metrics/templates/storage.yaml +++ /dev/null @@ -1,43 +0,0 @@ ---- -apiVersion: v1 -kind: PersistentVolumeClaim -metadata: - name: metrics-storage - namespace: {{ .Release.Namespace }} - labels: - app: maesh - component: grafana - chart: {{ include "traefikMesh.chartLabel" . | quote }} - release: {{ .Release.Name | quote }} - heritage: {{ .Release.Service | quote }} -spec: - accessModes: - - ReadWriteOnce - resources: - requests: - storage: 10Gi - {{- if .Values.grafana.storageClassName }} - storageClassName: "{{ .Values.grafana.storageClassName }}" - {{- end }} - ---- -apiVersion: v1 -kind: PersistentVolumeClaim -metadata: - name: prometheus-storage - namespace: {{ .Release.Namespace }} - labels: - app: maesh - component: prometheus - chart: {{ include "traefikMesh.chartLabel" . | quote }} - release: {{ .Release.Name | quote }} - heritage: {{ .Release.Service | quote }} -spec: - accessModes: - - ReadWriteOnce - resources: - requests: - storage: 10Gi - {{- if .Values.prometheus.storageClassName }} - storageClassName: "{{ .Values.prometheus.storageClassName }}" - {{- end }} diff --git a/helm/chart/mesh/charts/metrics/values.yaml b/helm/chart/mesh/charts/metrics/values.yaml deleted file mode 100644 index 3da2f582b..000000000 --- a/helm/chart/mesh/charts/metrics/values.yaml +++ /dev/null @@ -1,50 +0,0 @@ -image: - prometheus: prom/prometheus:v2.11.1 - grafana: grafana/grafana:6.2.5 - configmapReload: jimmidyson/configmap-reload:v0.2.2 - -grafana: - service: - type: ClusterIP - port: 3000 - - ## Specify the nodePort value for the NodePort service types. - ## ref: https://kubernetes.io/docs/concepts/services-networking/service/#nodeport - ## - # nodePort: 30030 - - ## storageClassName: "" disables dynamic provisioning - ## if undefined or null, no storageClassName spec is - ## set, choosing the default provisioner - storageClassName: null - ## resource requests and limits. none if not set. - # resources: - # limit: - # mem: "100Mi" - # cpu: "100m" - # request: - # mem: "100Mi" - # cpu: "100m" - -prometheus: - service: - type: ClusterIP - port: 9090 - - ## Specify the nodePort value for the NodePort service types. - ## ref: https://kubernetes.io/docs/concepts/services-networking/service/#nodeport - ## - # nodePort: 30090 - - ## storageClassName: "" disables dynamic provisioning - ## if undefined or null, no storageClassName spec is - ## set, choosing the default provisioner - storageClassName: null - ## resource requests and limits. none if not set. - # resources: - # limit: - # mem: "500Mi" - # cpu: "500m" - # request: - # mem: "500Mi" - # cpu: "500m" diff --git a/helm/chart/mesh/charts/tracing/Chart.yaml b/helm/chart/mesh/charts/tracing/Chart.yaml deleted file mode 100644 index b55280c3c..000000000 --- a/helm/chart/mesh/charts/tracing/Chart.yaml +++ /dev/null @@ -1,6 +0,0 @@ -apiVersion: v1 -description: A Jaeger tracing Helm chart for Kubernetes -name: tracing -version: 0.0.3 -appVersion: 0.0.1 -tillerVersion: ">=2.7.2" diff --git a/helm/chart/mesh/charts/tracing/templates/jaeger-deployment.yaml b/helm/chart/mesh/charts/tracing/templates/jaeger-deployment.yaml deleted file mode 100644 index f3ea2f9c2..000000000 --- a/helm/chart/mesh/charts/tracing/templates/jaeger-deployment.yaml +++ /dev/null @@ -1,100 +0,0 @@ -# -# Copyright 2017-2019 The Jaeger Authors -# -# 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. -# - ---- -apiVersion: apps/v1 -kind: Deployment -metadata: - name: jaeger - namespace: {{ .Release.Namespace }} - labels: - app: jaeger - app.kubernetes.io/name: jaeger - app.kubernetes.io/component: all-in-one -spec: - replicas: 1 - selector: - matchLabels: - app: jaeger - app.kubernetes.io/name: jaeger - app.kubernetes.io/component: all-in-one - strategy: - type: Recreate - template: - metadata: - labels: - app: jaeger - app.kubernetes.io/name: jaeger - app.kubernetes.io/component: all-in-one - annotations: - prometheus.io/scrape: "true" - prometheus.io/port: "16686" - spec: - serviceAccountName: jaeger - automountServiceAccountToken: false - securityContext: - runAsNonRoot: true - runAsUser: 999 - containers: - - name: jaeger - image: {{ .Values.image.jaeger | quote }} - env: - - name: JAEGER_DISABLED - value: "true" - - name: COLLECTOR_ZIPKIN_HTTP_PORT - value: "9411" - ports: - - containerPort: 5775 - protocol: UDP - name: thrift-legacy - - containerPort: 6831 - protocol: UDP - name: compact-thrift - - containerPort: 6832 - protocol: UDP - name: binary-thrift - - containerPort: 5778 - protocol: TCP - name: serve-configs - - containerPort: 9411 - protocol: TCP - name: collector-zip - - containerPort: 14267 - protocol: TCP - name: collector-tch - - containerPort: 14268 - protocol: TCP - name: collector-http - - containerPort: 14269 - protocol: TCP - name: readiness - - containerPort: 16686 - protocol: TCP - name: serve-frontend - readinessProbe: - httpGet: - path: "/" - port: readiness - initialDelaySeconds: 5 - livenessProbe: - tcpSocket: - port: readiness - initialDelaySeconds: 5 - resources: - requests: - memory: "50Mi" - cpu: "100m" - limits: - memory: "100Mi" - cpu: "200m" diff --git a/helm/chart/mesh/charts/tracing/templates/jaeger-pdb.yaml b/helm/chart/mesh/charts/tracing/templates/jaeger-pdb.yaml deleted file mode 100644 index 38d40cdd9..000000000 --- a/helm/chart/mesh/charts/tracing/templates/jaeger-pdb.yaml +++ /dev/null @@ -1,17 +0,0 @@ ---- -apiVersion: policy/v1beta1 -kind: PodDisruptionBudget -metadata: - name: jaeger - labels: - app: jaeger - chart: {{ include "traefikMesh.chartLabel" . | quote }} - release: {{ .Release.Name | quote }} - heritage: {{ .Release.Service | quote }} -spec: - minAvailable: 1 - selector: - matchLabels: - app: jaeger - app.kubernetes.io/name: jaeger - app.kubernetes.io/component: all-in-one diff --git a/helm/chart/mesh/charts/tracing/templates/jaeger-sa.yaml b/helm/chart/mesh/charts/tracing/templates/jaeger-sa.yaml deleted file mode 100644 index d91f4fab1..000000000 --- a/helm/chart/mesh/charts/tracing/templates/jaeger-sa.yaml +++ /dev/null @@ -1,13 +0,0 @@ ---- -apiVersion: v1 -kind: ServiceAccount -metadata: - name: jaeger - namespace: {{ .Release.Namespace }} - labels: - app: jaeger - chart: {{ include "traefikMesh.chartLabel" . | quote}} - release: {{ .Release.Name | quote }} - heritage: {{ .Release.Service | quote }} -automountServiceAccountToken: false - diff --git a/helm/chart/mesh/charts/tracing/templates/jaeger-services.yaml b/helm/chart/mesh/charts/tracing/templates/jaeger-services.yaml deleted file mode 100644 index fd5037443..000000000 --- a/helm/chart/mesh/charts/tracing/templates/jaeger-services.yaml +++ /dev/null @@ -1,103 +0,0 @@ ---- -apiVersion: v1 -kind: Service -metadata: - name: jaeger-query - namespace: {{ .Release.Namespace }} - labels: - app: jaeger - app.kubernetes.io/name: jaeger - app.kubernetes.io/component: query -spec: - ports: - - name: query-http - protocol: TCP - port: 16686 - targetPort: serve-frontend - selector: - app.kubernetes.io/name: jaeger - app.kubernetes.io/component: all-in-one - type: ClusterIP - ---- -apiVersion: v1 -kind: Service -metadata: - name: jaeger-collector - namespace: {{ .Release.Namespace }} - labels: - app: jaeger - app.kubernetes.io/name: jaeger - app.kubernetes.io/component: collector -spec: - ports: - - name: jaeger-collector-tchannel - port: 14267 - protocol: TCP - targetPort: collector-tch - - name: jaeger-collector-http - port: 14268 - protocol: TCP - targetPort: collector-http - - name: jaeger-collector-zipkin - port: 9411 - protocol: TCP - targetPort: collector-zip - selector: - app.kubernetes.io/name: jaeger - app.kubernetes.io/component: all-in-one - type: ClusterIP - ---- -apiVersion: v1 -kind: Service -metadata: - name: jaeger-agent - namespace: {{ .Release.Namespace }} - labels: - app: jaeger - app.kubernetes.io/name: jaeger - app.kubernetes.io/component: agent -spec: - ports: - - name: agent-zipkin-thrift - port: 5775 - protocol: UDP - targetPort: thrift-legacy - - name: agent-compact - port: 6831 - protocol: UDP - targetPort: compact-thrift - - name: agent-binary - port: 6832 - protocol: UDP - targetPort: binary-thrift - - name: agent-configs - port: 5778 - protocol: TCP - targetPort: serve-configs - clusterIP: None - selector: - app.kubernetes.io/name: jaeger - app.kubernetes.io/component: all-in-one - ---- -apiVersion: v1 -kind: Service -metadata: - name: zipkin - namespace: {{ .Release.Namespace }} - labels: - app: jaeger - app.kubernetes.io/name: jaeger - app.kubernetes.io/component: zipkin -spec: - ports: - - name: jaeger-collector-zipkin - port: 9411 - protocol: TCP - targetPort: collector-zip - clusterIP: None - selector: - app.kubernetes.io/name: jaeger - app.kubernetes.io/component: all-in-one diff --git a/helm/chart/mesh/charts/tracing/values.yaml b/helm/chart/mesh/charts/tracing/values.yaml deleted file mode 100644 index ac23979b6..000000000 --- a/helm/chart/mesh/charts/tracing/values.yaml +++ /dev/null @@ -1,2 +0,0 @@ -image: - jaeger: jaegertracing/all-in-one:1.18 diff --git a/helm/chart/mesh/templates/NOTES.txt b/helm/chart/mesh/templates/NOTES.txt deleted file mode 100644 index 29863d3d6..000000000 --- a/helm/chart/mesh/templates/NOTES.txt +++ /dev/null @@ -1,8 +0,0 @@ -Thank you for installing {{ .Chart.Name }}. - -Your release is named {{ .Release.Name }}. - -To learn more about the release, try: - - $ helm status {{ .Release.Name }} - $ helm get {{ .Release.Name }} diff --git a/helm/chart/mesh/templates/_helpers.tpl b/helm/chart/mesh/templates/_helpers.tpl deleted file mode 100644 index e89d8e5cd..000000000 --- a/helm/chart/mesh/templates/_helpers.tpl +++ /dev/null @@ -1,44 +0,0 @@ -{{/* vim: set filetype=mustache: */}} - -{{/* -Define the Chart version Label. -*/}} -{{- define "traefikMesh.chartLabel" -}} - {{- printf "%s-%s" .Chart.Name .Chart.Version -}} -{{- end -}} - -{{/* -Define the templated controller image with tag. -*/}} -{{- define "traefikMesh.controllerImage" -}} - {{- printf "%s:%s" .Values.controller.image.name ( .Values.controller.image.tag | default .Chart.AppVersion ) -}} -{{- end -}} - -{{/* -Define the templated proxy image with tag. -*/}} -{{- define "traefikMesh.proxyImage" -}} - {{- printf "%s:%s" .Values.proxy.image.name ( .Values.proxy.image.tag | default "v2.3" ) -}} -{{- end -}} - -{{/* -Define the controller watchNamespaces List. -*/}} -{{- define "traefikMesh.controllerWatchNamespaces" -}} - --watchNamespaces= - {{- range $idx, $ns := .Values.controller.watchNamespaces }} - {{- if $idx }},{{ end }} - {{- $ns }} - {{- end -}} -{{- end -}} - -{{/* -Define the controller ignoreNamespaces List. -*/}} -{{- define "traefikMesh.controllerIgnoreNamespaces" -}} - --ignoreNamespaces= - {{- range $idx, $ns := .Values.controller.ignoreNamespaces }} - {{- if $idx }},{{ end }} - {{- $ns }} - {{- end -}} -{{- end -}} diff --git a/helm/chart/mesh/templates/controller/controller-deployment.yaml b/helm/chart/mesh/templates/controller/controller-deployment.yaml deleted file mode 100644 index 2401bd9d7..000000000 --- a/helm/chart/mesh/templates/controller/controller-deployment.yaml +++ /dev/null @@ -1,122 +0,0 @@ ---- -apiVersion: apps/v1 -kind: Deployment -metadata: - name: traefik-mesh-controller - namespace: {{ .Release.Namespace }} - labels: - app: maesh - component: controller - chart: {{ include "traefikMesh.chartLabel" . | quote }} - release: {{ .Release.Name | quote }} - heritage: {{ .Release.Service | quote }} -spec: - replicas: 1 - selector: - matchLabels: - app: maesh - component: controller - release: {{ .Release.Name | quote }} - template: - metadata: - labels: - app: maesh - component: controller - release: {{ .Release.Name | quote }} - annotations: - prometheus.io/scrape: "true" - prometheus.io/port: "4646" - spec: - serviceAccountName: traefik-mesh-controller - securityContext: - runAsNonRoot: true - runAsUser: 999 - {{- if .Values.controller.image.pullSecret }} - imagePullSecrets: - - name: {{ .Values.controller.image.pullSecret }} - {{- end }} - {{- with .Values.controller.nodeSelector }} - nodeSelector: -{{ toYaml . | indent 8 }} - {{- end }} - {{- with .Values.controller.affinity }} - affinity: -{{ toYaml . | indent 8 }} - {{- end }} - {{- with .Values.controller.tolerations }} - tolerations: -{{ toYaml . | indent 8 }} - {{- end }} - containers: - - name: traefik-mesh-controller - image: {{ include "traefikMesh.controllerImage" . | quote }} - imagePullPolicy: {{ .Values.controller.image.pullPolicy | default "IfNotPresent" }} - args: - {{- if or .Values.controller.logLevel .Values.logLevel }} - - "--logLevel={{ or .Values.controller.logLevel .Values.logLevel }}" - {{- end }} - {{- if or .Values.controller.logFormat .Values.logFormat }} - - "--logFormat={{ or .Values.controller.logFormat .Values.logFormat }}" - {{- end }} - {{- if .Values.defaultMode }} - - "--defaultMode={{ .Values.defaultMode }}" - {{- end }} - {{- if .Values.acl }} - - "--acl" - {{- end }} - - "--namespace={{ .Release.Namespace }}" - {{- if .Values.controller.watchNamespaces }} - - {{ include "traefikMesh.controllerWatchNamespaces" . | quote }} - {{- end }} - {{- if .Values.controller.ignoreNamespaces }} - - {{ include "traefikMesh.controllerIgnoreNamespaces" . | quote }} - {{- end }} - {{- if .Values.limits.http }} - - "--limitHTTPPort={{ .Values.limits.http }}" - {{- end }} - {{- if .Values.limits.tcp }} - - "--limitTCPPort={{ .Values.limits.tcp }}" - {{- end }} - {{- if .Values.limits.udp }} - - "--limitUDPPort={{ .Values.limits.udp }}" - {{- end }} - resources: - requests: - memory: {{ .Values.controller.resources.request.mem }} - cpu: {{ .Values.controller.resources.request.cpu }} - limits: - memory: {{ .Values.controller.resources.limit.mem }} - cpu: {{ .Values.controller.resources.limit.cpu }} - ports: - - name: api - containerPort: 9000 - readinessProbe: - httpGet: - path: /api/status/readiness - port: api - initialDelaySeconds: 3 - periodSeconds: 1 - initContainers: - - name: traefik-mesh-prepare - image: {{ include "traefikMesh.controllerImage" . | quote }} - imagePullPolicy: {{ .Values.controller.image.pullPolicy | default "IfNotPresent"}} - args: - - "prepare" - {{- if or .Values.controller.logLevel .Values.logLevel }} - - "--logLevel={{ or .Values.controller.logLevel .Values.logLevel }}" - {{- end }} - {{- if or .Values.controller.logFormat .Values.logFormat }} - - "--logFormat={{ or .Values.controller.logFormat .Values.logFormat }}" - {{- end }} - {{- if .Values.acl }} - - "--acl" - {{- end }} - - "--clusterdomain" - - {{ default "cluster.local" .Values.clusterDomain | quote }} - - "--namespace={{ .Release.Namespace }}" - securityContext: - capabilities: - drop: - - ALL - add: - - NET_BIND_SERVICE diff --git a/helm/chart/mesh/templates/controller/controller-pdb.yaml b/helm/chart/mesh/templates/controller/controller-pdb.yaml deleted file mode 100644 index 67f2b297a..000000000 --- a/helm/chart/mesh/templates/controller/controller-pdb.yaml +++ /dev/null @@ -1,19 +0,0 @@ ---- -apiVersion: policy/v1beta1 -kind: PodDisruptionBudget -metadata: - name: traefik-mesh-controller - namespace: {{ .Release.Namespace }} - labels: - app: maesh - component: controller - chart: {{ include "traefikMesh.chartLabel" . | quote }} - release: {{ .Release.Name | quote }} - heritage: {{ .Release.Service | quote }} -spec: - minAvailable: 1 - selector: - matchLabels: - app: maesh - component: controller - release: {{ .Release.Name | quote }} diff --git a/helm/chart/mesh/templates/controller/controller-rbac.yaml b/helm/chart/mesh/templates/controller/controller-rbac.yaml deleted file mode 100644 index 5e3674283..000000000 --- a/helm/chart/mesh/templates/controller/controller-rbac.yaml +++ /dev/null @@ -1,81 +0,0 @@ ---- -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRole -metadata: - name: traefik-mesh-controller-role - namespace: {{ .Release.Namespace }} - labels: - app: maesh - component: controller - chart: {{ include "traefikMesh.chartLabel" . | quote}} - release: {{ .Release.Name | quote }} - heritage: {{ .Release.Service | quote }} -rules: - - apiGroups: - - "" - resources: - - pods - - endpoints - verbs: - - list - - watch - - apiGroups: - - "" - resources: - - configmaps - verbs: - - get - - create - - update - - apiGroups: - - "" - resources: - - services - verbs: - - get - - list - - watch - - delete - - create - - update - - apiGroups: - - apps - resources: - - deployments - verbs: - - get - - update - - apiGroups: - - access.smi-spec.io - - specs.smi-spec.io - - split.smi-spec.io - resources: - - traffictargets - - tcproutes - - httproutegroups - - trafficsplits - - events - verbs: - - get - - list - - watch ---- -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRoleBinding -metadata: - name: traefik-mesh-controller - namespace: {{ .Release.Namespace }} - labels: - app: maesh - component: controller - chart: {{ include "traefikMesh.chartLabel" . | quote}} - release: {{ .Release.Name | quote }} - heritage: {{ .Release.Service | quote }} -roleRef: - apiGroup: rbac.authorization.k8s.io - kind: ClusterRole - name: traefik-mesh-controller-role -subjects: -- kind: ServiceAccount - name: traefik-mesh-controller - namespace: {{ .Release.Namespace }} diff --git a/helm/chart/mesh/templates/controller/controller-sa.yaml b/helm/chart/mesh/templates/controller/controller-sa.yaml deleted file mode 100644 index a153bba21..000000000 --- a/helm/chart/mesh/templates/controller/controller-sa.yaml +++ /dev/null @@ -1,13 +0,0 @@ ---- -apiVersion: v1 -kind: ServiceAccount -metadata: - name: traefik-mesh-controller - namespace: {{ .Release.Namespace }} - labels: - app: maesh - component: controller - chart: {{ include "traefikMesh.chartLabel" . | quote}} - release: {{ .Release.Name | quote }} - heritage: {{ .Release.Service | quote }} -automountServiceAccountToken: true diff --git a/helm/chart/mesh/templates/controller/controller-service.yaml b/helm/chart/mesh/templates/controller/controller-service.yaml deleted file mode 100644 index 1fdc4d773..000000000 --- a/helm/chart/mesh/templates/controller/controller-service.yaml +++ /dev/null @@ -1,18 +0,0 @@ ---- -apiVersion: v1 -kind: Service -metadata: - name: traefik-mesh-controller - namespace: {{ .Release.Namespace }} - labels: - app: maesh - component: controller -spec: - type: ClusterIP - ports: - - port: 9000 - targetPort: api - selector: - app: maesh - component: controller - release: {{ .Release.Name | quote }} diff --git a/helm/chart/mesh/templates/controller/hooks/cleanup-hook.yaml b/helm/chart/mesh/templates/controller/hooks/cleanup-hook.yaml deleted file mode 100644 index 1dc709abb..000000000 --- a/helm/chart/mesh/templates/controller/hooks/cleanup-hook.yaml +++ /dev/null @@ -1,134 +0,0 @@ ---- -apiVersion: v1 -kind: ServiceAccount -metadata: - name: traefik-mesh-cleanup - namespace: {{ .Release.Namespace }} - labels: - app: maesh - component: cleanup - chart: {{ include "traefikMesh.chartLabel" . | quote}} - release: {{ .Release.Name | quote }} - heritage: {{ .Release.Service | quote }} - annotations: - "helm.sh/hook": "post-delete" - "helm.sh/hook-weight": "5" - "helm.sh/hook-delete-policy": "hook-succeeded,before-hook-creation" - ---- -kind: ClusterRole -apiVersion: rbac.authorization.k8s.io/v1beta1 -metadata: - name: traefik-mesh-cleanup-role - namespace: {{ .Release.Namespace }} - labels: - app: maesh - component: cleanup - chart: {{ include "traefikMesh.chartLabel" . | quote}} - release: {{ .Release.Name | quote }} - heritage: {{ .Release.Service | quote }} - annotations: - "helm.sh/hook": "post-delete" - "helm.sh/hook-weight": "10" - "helm.sh/hook-delete-policy": "hook-succeeded,before-hook-creation" -rules: - - apiGroups: - - "" - resources: - - services - verbs: - - get - - list - - watch - - delete - - apiGroups: - - "" - resources: - - configmaps - verbs: - - get - - update - - apiGroups: - - apps - resources: - - deployments - verbs: - - get - - update - ---- -kind: ClusterRoleBinding -apiVersion: rbac.authorization.k8s.io/v1beta1 -metadata: - name: traefik-mesh-cleanup - namespace: {{ .Release.Namespace }} - labels: - app: maesh - component: cleanup - chart: {{ include "traefikMesh.chartLabel" . | quote}} - release: {{ .Release.Name | quote }} - heritage: {{ .Release.Service | quote }} - annotations: - "helm.sh/hook": "post-delete" - "helm.sh/hook-weight": "15" - "helm.sh/hook-delete-policy": "hook-succeeded,before-hook-creation" -roleRef: - apiGroup: rbac.authorization.k8s.io - kind: ClusterRole - name: traefik-mesh-cleanup-role -subjects: - - kind: ServiceAccount - name: traefik-mesh-cleanup - namespace: {{ .Release.Namespace }} - ---- -apiVersion: batch/v1 -kind: Job -metadata: - name: traefik-mesh-cleanup - namespace: {{ .Release.Namespace }} - labels: - app: maesh - component: cleanup - chart: {{ include "traefikMesh.chartLabel" . | quote }} - release: {{ .Release.Name | quote}} - heritage: {{ .Release.Service | quote}} - annotations: - "helm.sh/hook": "post-delete" - "helm.sh/hook-weight": "20" - "helm.sh/hook-delete-policy": "hook-succeeded,before-hook-creation" -spec: - backoffLimit: 0 - activeDeadlineSeconds: 30 - template: - metadata: - labels: - app: maesh - component: cleanup - release: {{ .Release.Name | quote}} - spec: - serviceAccountName: traefik-mesh-cleanup - restartPolicy: Never - {{- if .Values.controller.image.pullSecret }} - imagePullSecrets: - - name: {{ .Values.controller.image.pullSecret }} - {{- end }} - containers: - - name: traefik-mesh-cleanup - image: {{ include "traefikMesh.controllerImage" . | quote }} - imagePullPolicy: {{ .Values.controller.image.pullPolicy | default "IfNotPresent" }} - args: - - "cleanup" - {{- if or .Values.controller.logLevel .Values.logLevel }} - - "--logLevel={{ or .Values.controller.logLevel .Values.logLevel }}" - {{- end }} - {{- if or .Values.controller.logFormat .Values.logFormat }} - - "--logFormat={{ or .Values.controller.logFormat .Values.logFormat }}" - {{- end }} - - "--namespace={{ .Release.Namespace }}" - securityContext: - capabilities: - drop: - - ALL - add: - - NET_BIND_SERVICE diff --git a/helm/chart/mesh/templates/coredns/coredns-configmap.yaml b/helm/chart/mesh/templates/coredns/coredns-configmap.yaml deleted file mode 100644 index 7490b0b06..000000000 --- a/helm/chart/mesh/templates/coredns/coredns-configmap.yaml +++ /dev/null @@ -1,30 +0,0 @@ -{{- if .Values.kubedns }} ---- -apiVersion: v1 -kind: ConfigMap -metadata: - name: coredns - namespace: {{ .Release.Namespace }} - labels: - app: maesh - component: coredns - chart: {{ include "traefikMesh.chartLabel" . | quote }} - release: {{ .Release.Name | quote}} - heritage: {{ .Release.Service | quote}} -data: - Corefile: | - .:53 { - errors - health - kubernetes {{ default "cluster.local" .Values.clusterDomain }} in-addr.arpa ip6.arpa { - pods insecure - fallthrough in-addr.arpa ip6.arpa - } - prometheus :9153 - forward . /etc/resolv.conf - cache 30 - loop - reload - loadbalance - } -{{- end }} diff --git a/helm/chart/mesh/templates/coredns/coredns-deployment.yaml b/helm/chart/mesh/templates/coredns/coredns-deployment.yaml deleted file mode 100644 index d301753ac..000000000 --- a/helm/chart/mesh/templates/coredns/coredns-deployment.yaml +++ /dev/null @@ -1,104 +0,0 @@ -{{- if .Values.kubedns }} ---- -apiVersion: apps/v1 -kind: Deployment -metadata: - name: coredns - namespace: {{ .Release.Namespace }} - labels: - app: maesh - component: coredns - chart: {{ include "traefikMesh.chartLabel" . | quote }} - release: {{ .Release.Name | quote}} - heritage: {{ .Release.Service | quote}} -spec: - replicas: 2 - strategy: - type: RollingUpdate - rollingUpdate: - maxUnavailable: 1 - selector: - matchLabels: - app: maesh - component: coredns - release: {{ .Release.Name | quote }} - template: - metadata: - labels: - app: maesh - component: coredns - release: {{ .Release.Name | quote }} - spec: - serviceAccountName: traefik-mesh-coredns - affinity: - podAntiAffinity: - preferredDuringSchedulingIgnoredDuringExecution: - - weight: 100 - podAffinityTerm: - labelSelector: - matchExpressions: - - key: app - operator: In - values: - - maesh - - key: component - operator: In - values: - - coredns - topologyKey: "kubernetes.io/hostname" - tolerations: - - key: "CriticalAddonsOnly" - operator: "Exists" - nodeSelector: - beta.kubernetes.io/os: linux - containers: - - name: coredns - image: coredns/coredns:1.7.0 - imagePullPolicy: IfNotPresent - resources: - limits: - memory: 170Mi - requests: - cpu: 100m - memory: 70Mi - args: [ "-conf", "/etc/coredns/Corefile" ] - volumeMounts: - - name: config-volume - mountPath: /etc/coredns - readOnly: true - ports: - - containerPort: 53 - name: dns - protocol: UDP - - containerPort: 53 - name: dns-tcp - protocol: TCP - - containerPort: 9153 - name: metrics - protocol: TCP - securityContext: - allowPrivilegeEscalation: false - capabilities: - add: - - NET_BIND_SERVICE - drop: - - all - readOnlyRootFilesystem: true - livenessProbe: - httpGet: - path: /health - port: 8080 - scheme: HTTP - initialDelaySeconds: 60 - timeoutSeconds: 5 - successThreshold: 1 - failureThreshold: 5 - dnsPolicy: Default - volumes: - - name: config-volume - configMap: - name: coredns - items: - - key: Corefile - path: Corefile -{{- end }} diff --git a/helm/chart/mesh/templates/coredns/coredns-rbac.yaml b/helm/chart/mesh/templates/coredns/coredns-rbac.yaml deleted file mode 100644 index 6c03def0c..000000000 --- a/helm/chart/mesh/templates/coredns/coredns-rbac.yaml +++ /dev/null @@ -1,54 +0,0 @@ -{{- if .Values.kubedns }} ---- -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRole -metadata: - labels: - app: maesh - component: coredns - chart: {{ include "traefikMesh.chartLabel" . | quote }} - release: {{ .Release.Name | quote}} - heritage: {{ .Release.Service | quote}} - name: traefik-mesh-coredns-role - namespace: {{ .Release.Namespace }} -rules: - - apiGroups: - - "" - resources: - - endpoints - - services - - pods - - namespaces - verbs: - - list - - watch - - apiGroups: - - "" - resources: - - nodes - verbs: - - get - ---- -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRoleBinding -metadata: - name: traefik-mesh-coredns - namespace: {{ .Release.Namespace }} - labels: - app: maesh - component: coredns - chart: {{ include "traefikMesh.chartLabel" . | quote }} - release: {{ .Release.Name | quote}} - heritage: {{ .Release.Service | quote}} - annotations: - rbac.authorization.kubernetes.io/autoupdate: "true" -roleRef: - apiGroup: rbac.authorization.k8s.io - kind: ClusterRole - name: traefik-mesh-coredns-role -subjects: - - kind: ServiceAccount - name: traefik-mesh-coredns - namespace: {{ .Release.Namespace }} -{{- end }} diff --git a/helm/chart/mesh/templates/coredns/coredns-sa.yaml b/helm/chart/mesh/templates/coredns/coredns-sa.yaml deleted file mode 100644 index 7d24e2d2f..000000000 --- a/helm/chart/mesh/templates/coredns/coredns-sa.yaml +++ /dev/null @@ -1,14 +0,0 @@ -{{- if .Values.kubedns }} ---- -apiVersion: v1 -kind: ServiceAccount -metadata: - name: traefik-mesh-coredns - namespace: {{ .Release.Namespace }} - labels: - app: maesh - component: coredns - chart: {{ include "traefikMesh.chartLabel" . | quote }} - release: {{ .Release.Name | quote}} - heritage: {{ .Release.Service | quote}} -{{- end}} diff --git a/helm/chart/mesh/templates/coredns/coredns-service.yaml b/helm/chart/mesh/templates/coredns/coredns-service.yaml deleted file mode 100644 index 50af41dc5..000000000 --- a/helm/chart/mesh/templates/coredns/coredns-service.yaml +++ /dev/null @@ -1,33 +0,0 @@ -{{- if .Values.kubedns }} ---- -apiVersion: v1 -kind: Service -metadata: - name: coredns - namespace: {{ .Release.Namespace }} - labels: - app: maesh - component: coredns - chart: {{ include "traefikMesh.chartLabel" . | quote }} - release: {{ .Release.Name | quote}} - heritage: {{ .Release.Service | quote}} - annotations: - prometheus.io/port: "9153" - prometheus.io/scrape: "true" -spec: - selector: - app: maesh - component: coredns - release: {{ .Release.Name | quote }} - type: ClusterIP - ports: - - name: dns - port: 53 - protocol: UDP - - name: dns-tcp - port: 53 - protocol: TCP - - name: metrics - port: 9153 - protocol: TCP -{{- end }} diff --git a/helm/chart/mesh/templates/proxy/proxy-daemonset.yaml b/helm/chart/mesh/templates/proxy/proxy-daemonset.yaml deleted file mode 100644 index 0cbe9c7c6..000000000 --- a/helm/chart/mesh/templates/proxy/proxy-daemonset.yaml +++ /dev/null @@ -1,285 +0,0 @@ ---- -apiVersion: apps/v1 -kind: DaemonSet -metadata: - name: traefik-mesh-proxy - namespace: {{ .Release.Namespace }} - labels: - app: maesh - component: maesh-mesh - chart: {{ include "traefikMesh.chartLabel" . | quote }} - release: {{ .Release.Name | quote }} - heritage: {{ .Release.Service | quote }} - {{- with .Values.proxy.annotations }} - annotations: -{{- toYaml . | nindent 4 }} - {{- end }} -spec: - selector: - matchLabels: - app: maesh - component: maesh-mesh - release: {{ .Release.Name | quote }} - template: - metadata: - labels: - app: maesh - component: maesh-mesh - release: {{ .Release.Name | quote }} - annotations: - prometheus.io/scrape: "true" - prometheus.io/port: "8080" - {{- with .Values.proxy.podAnnotations }} -{{- toYaml . | nindent 8 }} - {{- end }} - spec: - serviceAccountName: traefik-mesh-proxy - securityContext: - runAsNonRoot: true - runAsUser: 999 - terminationGracePeriodSeconds: 30 - {{- if .Values.proxy.image.pullSecret }} - imagePullSecrets: - - name: {{ .Values.proxy.image.pullSecret }} - {{- end }} - {{- with .Values.proxy.nodeSelector }} - nodeSelector: -{{ toYaml . | indent 8 }} - {{- end }} - {{- with .Values.proxy.tolerations }} - tolerations: -{{ toYaml . | indent 8 }} - {{- end }} - containers: - - name: traefik-mesh-proxy - image: {{ include "traefikMesh.proxyImage" . | quote }} - imagePullPolicy: {{ .Values.proxy.image.pullPolicy | default "IfNotPresent" }} - {{- with .Values.proxy.env }} - env: -{{- toYaml . | nindent 12 }} - {{- end }} - {{- with .Values.proxy.envFrom }} - envFrom: -{{- toYaml . | nindent 12 }} - {{- end }} - args: - - "--entryPoints.readiness.address=:1081" - - "--entryPoints.liveness.address=:1082" - {{- range $i, $port := untilStep 5000 ((add (.Values.limits.http|int) 5000)|int) 1 }} - - {{ printf "\"--entryPoints.http-%d.address=:%d\"" $port $port }} - - {{ printf "\"--entryPoints.http-%d.forwardedHeaders.insecure=true\"" $port }} - {{- end }} - {{- range $i, $port := untilStep 10000 ((add (.Values.limits.tcp|int) 10000)|int) 1 }} - - {{ printf "\"--entryPoints.tcp-%d.address=:%d\"" $port $port }} - - {{ printf "\"--entryPoints.tcp-%d.forwardedHeaders.insecure=true\"" $port }} - {{- end }} - {{- range $i, $port := untilStep 15000 ((add (.Values.limits.udp|int) 15000)|int) 1 }} - - {{ printf "\"--entryPoints.udp-%d.address=:%d/udp\"" $port $port }} - {{- end }} - - {{ printf "--providers.http.endpoint=http://traefik-mesh-controller.%s.svc.%s:9000/api/configuration/current" .Release.Namespace (default "cluster.local" .Values.clusterDomain) | quote }} - {{- if .Values.proxy.pollInterval }} - - "--providers.http.pollInterval={{ .Values.proxy.pollInterval }}" - {{- end }} - {{- if .Values.proxy.pollTimeout }} - - "--providers.http.pollTimeout={{ .Values.proxy.pollTimeout }}" - {{- end }} - {{- if .Values.tracing.jaeger.enabled }} - {{- if .Values.tracing.jaeger.localAgentHostPort }} - - "--tracing.jaeger.localAgentHostPort={{ .Values.tracing.jaeger.localAgentHostPort }}" - {{- else }} - - {{ printf "--tracing.jaeger.localagenthostport=jaeger-agent.%s.svc.%s:6831" .Release.Namespace (default "cluster.local" .Values.clusterDomain) | quote }} - {{- end }} - {{- if .Values.tracing.jaeger.localagenthostport }} - - "--tracing.jaeger.samplingServerURL={{ .Values.tracing.jaeger.samplingServerURL }}" - {{- else }} - - {{ printf "--tracing.jaeger.samplingServerURL=http://jaeger-agent.%s.svc.%s:5778/sampling" .Release.Namespace (default "cluster.local" .Values.clusterDomain) | quote }} - {{- end }} - - "--tracing.jaeger.disableAttemptReconnecting=false" - {{- end }} - {{- if .Values.tracing.datadog }} - {{- if .Values.tracing.datadog.localagenthostport }} - - "--tracing.datadog.localAgentHostPort={{ .Values.tracing.datadog.localAgentHostPort }}" - {{- end }} - {{- if .Values.tracing.datadog.debug }} - - "--tracing.datadog.debug=true" - {{- end }} - {{- if .Values.tracing.datadog.globalTag }} - - "--tracing.datadog.globalTag={{ .Values.tracing.datadog.globalTag }}" - {{- end }} - {{- if .Values.tracing.datadog.prioritySampling }} - - "--tracing.datadog.prioritySampling=true" - {{- end }} - {{- end }} - {{- if .Values.tracing.zipkin }} - {{- if .Values.tracing.zipkin.httpEndpoint }} - - "--tracing.zipkin.httpEndpoint={{ .Values.tracing.zipkin.httpEndpoint }}" - {{- end }} - {{- if .Values.tracing.zipkin.sameSpan }} - - "--tracing.zipkin.sameSpan=true" - {{- end }} - {{- if .Values.tracing.zipkin.id128Bit }} - - "--tracing.zipkin.id128Bit=true" - {{- end }} - {{- if .Values.tracing.zipkin.sampleRate }} - - "--tracing.zipkin.sampleRate={{ .Values.tracing.zipkin.sampleRate }}" - {{- end }} - {{- end }} - {{- if .Values.tracing.instana }} - {{- if .Values.tracing.instana.localAgentHost }} - - "--tracing.instana.localAgentHost={{ .Values.tracing.instana.localAgentHost }}" - {{- end }} - {{- if .Values.tracing.instana.localAgentPort }} - - "--tracing.instana.localAgentPort={{ .Values.tracing.instana.localAgentPort }}" - {{- end }} - {{- if .Values.tracing.instana.logLevel }} - - "--tracing.instana.logLevel={{ .Values.tracing.instana.logLevel }}" - {{- end }} - {{- end }} - {{- if .Values.tracing.haystack }} - {{- if .Values.tracing.haystack.localAgentHost }} - - "--tracing.haystack.localAgentHost={{ .Values.tracing.haystack.localAgentHost }}" - {{- end }} - {{- if .Values.tracing.haystack.localAgentPort }} - - "--tracing.haystack.localAgentPort={{ .Values.tracing.haystack.localAgentPort }}" - {{- end }} - {{- if .Values.tracing.haystack.globalTag }} - - "--tracing.haystack.globalTag={{ .Values.tracing.haystack.globalTag }}" - {{- end }} - {{- if .Values.tracing.haystack.traceIDHeaderName }} - - "--tracing.haystack.traceIDHeaderName={{ .Values.tracing.haystack.traceIDHeaderName }}" - {{- end }} - {{- if .Values.tracing.haystack.parentIDHeaderName }} - - "--tracing.haystack.parentIDHeaderName={{ .Values.tracing.haystack.parentIDHeaderName }}" - {{- end }} - {{- if .Values.tracing.haystack.spanIDHeaderName }} - - "--tracing.haystack.spanIDHeaderName={{ .Values.tracing.haystack.spanIDHeaderName }}" - {{- end }} - {{- if .Values.tracing.haystack.baggagePrefixHeaderName }} - - "--tracing.haystack.baggagePrefixHeaderName={{ .Values.tracing.haystack.baggagePrefixHeaderName }}" - {{- end }} - {{- end }} - - "--api.dashboard=false" - - "--api.insecure" - - "--ping" - {{- if .Values.proxy.forwardingTimeouts }} - {{- if .Values.proxy.forwardingTimeouts.dialTimeout }} - - "--serversTransport.forwardingTimeouts.dialTimeout={{ .Values.proxy.forwardingTimeouts.dialTimeout }}" - {{- end }} - {{- if .Values.proxy.forwardingTimeouts.responseHeaderTimeout }} - - "--serversTransport.forwardingTimeouts.responseHeaderTimeout={{ .Values.proxy.forwardingTimeouts.responseHeaderTimeout }}" - {{- end }} - {{- if .Values.proxy.forwardingTimeouts.idleConnTimeout }} - - "--serversTransport.forwardingTimeouts.idleConnTimeout={{ .Values.proxy.forwardingTimeouts.idleConnTimeout }}" - {{- end }} - {{- end }} - {{- if or .Values.proxy.logLevel .Values.logLevel }} - - "--log.level={{ or .Values.proxy.logLevel .Values.logLevel }}" - {{- end }} - {{- if or .Values.proxy.logFormat .Values.logFormat }} - - "--log.format={{ or .Values.proxy.logFormat .Values.logFormat }}" - {{- end }} - {{- if .Values.metrics.prometheus.enabled }} - - "--metrics.prometheus=true" - {{- if hasKey .Values.metrics.prometheus "addEntrypointsLabels" }} - - "--metrics.prometheus.addEntryPointsLabels={{ .Values.metrics.prometheus.addEntrypointsLabels }}" - {{- end }} - {{- if hasKey .Values.metrics.prometheus "addServiceLabels" }} - - "--metrics.prometheus.addServicesLabels={{ .Values.metrics.prometheus.addServiceLabels }}" - {{- end }} - {{- if .Values.metrics.prometheus.buckets }} - - "--metrics.prometheus.buckets={{ .Values.metrics.prometheus.buckets }}" - {{- end }} - {{- end }} - {{- if .Values.metrics.datadog }} - - "--metrics.datadog=true" - {{- if .Values.metrics.datadog.address }} - - "--metrics.datadog.address={{ .Values.metrics.datadog.address }}" - {{- end }} - {{- if hasKey .Values.metrics.datadog "addEntrypointsLabels" }} - - "--metrics.datadog.addEntryPointsLabels={{ .Values.metrics.datadog.addEntrypointsLabels }}" - {{- end }} - {{- if hasKey .Values.metrics.datadog "addServiceLabels" }} - - "--metrics.datadog.addServicesLabels={{ .Values.metrics.datadog.addServiceLabels }}" - {{- end }} - {{- if .Values.metrics.datadog.pushInterval }} - - "--metrics.datadog.pushInterval={{ .Values.metrics.datadog.pushInterval }}" - {{- end }} - {{- end }} - {{- if .Values.metrics.influxdb }} - - "--metrics.influxdb=true" - {{- if .Values.metrics.influxdb.address }} - - "--metrics.influxdb.address={{ .Values.metrics.influxdb.address }}" - {{- end }} - {{- if .Values.metrics.influxdb.protocol }} - - "--metrics.influxdb.protocol={{ .Values.metrics.influxdb.protocol }}" - {{- end }} - {{- if .Values.metrics.influxdb.database }} - - "--metrics.influxdb.database={{ .Values.metrics.influxdb.database }}" - {{- end }} - {{- if .Values.metrics.influxdb.retentionPolicy }} - - "--metrics.influxdb.retentionPolicy={{ .Values.metrics.influxdb.retentionPolicy }}" - {{- end }} - {{- if .Values.metrics.influxdb.username }} - - "--metrics.influxdb.username={{ .Values.metrics.influxdb.username }}" - {{- end }} - {{- if .Values.metrics.influxdb.password }} - - "--metrics.influxdb.password={{ .Values.metrics.influxdb.password }}" - {{- end }} - {{- if hasKey .Values.metrics.influxdb "addEntrypointsLabels" }} - - "--metrics.influxdb.addEntryPointsLabels={{ .Values.metrics.influxdb.addEntrypointsLabels }}" - {{- end }} - {{- if .Values.metrics.influxdb "addServiceLabels" }} - - "--metrics.influxdb.addServicesLabels={{ .Values.metrics.influxdb.addServiceLabels }}" - {{- end }} - {{- if .Values.metrics.influxdb.pushInterval }} - - "--metrics.influxdb.pushInterval={{ .Values.metrics.influxdb.pushInterval }}" - {{- end }} - {{- end }} - {{- if .Values.metrics.statsd }} - - "--metrics.statsd=true" - {{- if .Values.metrics.statsd.address }} - - "--metrics.statsd.address={{ .Values.metrics.statsd.address }}" - {{- end }} - {{- if hasKey .Values.metrics.statsd "addEntrypointsLabels" }} - - "--metrics.statsd.addEntryPointsLabels={{ .Values.metrics.statsd.addEntrypointsLabels }}" - {{- end }} - {{- if hasKey .Values.metrics.statsd "addServiceLabels" }} - - "--metrics.statsd.addServicesLabels={{ .Values.metrics.statsd.addServicesLabels }}" - {{- end }} - {{- if .Values.metrics.statsd.pushInterval }} - - "--metrics.statsd.pushInterval={{ .Values.metrics.statsd.pushInterval }}" - {{- end }} - {{- if .Values.metrics.statsd.prefix }} - - "--metrics.statsd.prefix={{ .Values.metrics.statsd.prefix }}" - {{- end }} - {{- end }} - {{- with .Values.proxy.additionalArguments }} - {{- range . }} - - {{ . | quote }} - {{- end }} - {{- end }} - ports: - - name: readiness - containerPort: 1081 - - name: liveness - containerPort: 1082 - - name: api - containerPort: 8080 - readinessProbe: - httpGet: - path: /ping - port: readiness - initialDelaySeconds: 3 - periodSeconds: 1 - livenessProbe: - tcpSocket: - port: liveness - initialDelaySeconds: 3 - periodSeconds: 1 - resources: - requests: - memory: {{ .Values.proxy.resources.request.mem }} - cpu: {{ .Values.proxy.resources.request.cpu }} - limits: - memory: {{ .Values.proxy.resources.limit.mem }} - cpu: {{ .Values.proxy.resources.limit.cpu }} diff --git a/helm/chart/mesh/templates/proxy/proxy-sa.yaml b/helm/chart/mesh/templates/proxy/proxy-sa.yaml deleted file mode 100644 index 45f7a87ee..000000000 --- a/helm/chart/mesh/templates/proxy/proxy-sa.yaml +++ /dev/null @@ -1,13 +0,0 @@ ---- -apiVersion: v1 -kind: ServiceAccount -metadata: - name: traefik-mesh-proxy - namespace: {{ .Release.Namespace }} - labels: - app: maesh - component: maesh-mesh - chart: {{ include "traefikMesh.chartLabel" . | quote}} - release: {{ .Release.Name | quote }} - heritage: {{ .Release.Service | quote }} -automountServiceAccountToken: false diff --git a/helm/chart/mesh/values.yaml b/helm/chart/mesh/values.yaml deleted file mode 100644 index 3e33e6c38..000000000 --- a/helm/chart/mesh/values.yaml +++ /dev/null @@ -1,208 +0,0 @@ -# Default values for Traefik Mesh. - -# acl: true - -# kubedns: true - -# clusterDomain: cluster.local - -# logLevel: error -# logFormat: common - -# defaultMode: http - -limits: - http: 10 - tcp: 25 - udp: 25 - -controller: - image: - name: traefik/mesh - # (Optional) - # pullPolicy: IfNotPresent - # (Optional) - # tag: v1.1.0 - # (Optional) - # pullSecret: xxx - - # logLevel: error - # logFormat: common - - # ignoreNamespaces: - # - example - - # watchNamespaces: - # - example - - resources: - limit: - mem: 100Mi - cpu: 200m - request: - mem: 50Mi - cpu: 100m - - # Added so we can launch on nodes with restrictions. - nodeSelector: {} - tolerations: [] - affinity: {} - -proxy: - image: - name: traefik - # (Optional) - # pullPolicy: IfNotPresent - # (Optional) - # tag: v2.3 - # (Optional) - # pullSecret: xxx - - # logLevel: error - # logFormat: common - - # pollInterval: 1s - # pollTimeout: 1s - - # forwardingTimeouts: - # dialTimeout: 30s - # (Optional) - # responseHeaderTimeout: 0s - # (Optional) - # idleConnTimeout: 1s - - # env: - # - name: NAME - # value: "value" - - # envFrom: - # - configMapRef: - # name: config - - # additionalArguments: - # - "--name=value" - - resources: - limit: - mem: 100Mi - cpu: 200m - request: - mem: 50Mi - cpu: 100m - - # Added so we can launch on nodes with restrictions. - nodeSelector: {} - tolerations: [] - - # Additional deployment annotations. - # annotations: {} - - # Additional pod annotations. - # podAnnotations: {} - -# -# Tracing configuration. -# -tracing: - deploy: true - jaeger: - enabled: true - # (Optional) - # localAgentHostPort: "127.0.0.1:6831" - # (Optional) - # samplingServerURL: "http://localhost:5778/sampling" - # datadog: - # localAgentHostPort: "127.0.0.1:8126" - # (Optional) - # debug: true - # (Optional) - # globalTag: "sample" - # (Optional) - # prioritySampling: true - # zipkin: - # httpEndpoint: "127.0.0.1:8125" - # (Optional) - # sameSpan: true - # (Optional) - # id128Bit: false - # (Optional) - # sampleRate: 0.2 - # instana: - # localAgentHost: "127.0.0.1" - # localAgentPort: 42699 - # logLevel: info - # haystack: - # localAgentHost: "127.0.0.1" - # localAgentPort: 42699 - # (Optional) - # globalTag: "sample:test" - # (Optional) - # traceIDHeaderName: "sample" - # (Optional) - # parentIDHeaderName: "sample" - # (Optional) - # spanIDHeaderName: "sample" - # (Optional) - # baggagePrefixHeaderName: "sample" - -# -# Metrics configuration. -# -metrics: - deploy: true - prometheus: - # whether to expose Prometheus metrics - enabled: true - # (Optional) - # addEntrypointsLabels: true - # (Optional) - # addServiceLabels: true - # (Optional) - # buckets: 0.100000, 0.300000, 1.200000, 5.000000 - ## you can override values of the metrics subchart here. - ## check charts/metrics/values.yaml for the defaults. - ## example: - # grafana: - # storageClassName: "metrics-storage" - # resources: - # limit: - # mem: "500Mi" - # cpu: "500m" - # request: - # mem: "200Mi" - # cpu: "200m" - # datadog: - # address: "127.0.0.1:8125" - # (Optional) - # addEntrypointsLabels: true - # (Optional) - # addServiceLabels: true - # (Optional) - # pushInterval: 10s - # influxdb: - # address: "localhost:8089" - # protocol: "udp" - # (Optional) - # database: "db" - # (Optional) - # retentionPolicy: "two_hours" - # (Optional) - # username: "john" - # (Optional) - # password: "secret" - # (Optional) - # addEntrypointsLabels: true - # (Optional) - # addServiceLabels: true - # (Optional) - # pushInterval: 10s - # statsd: - # address: "127.0.0.1:8125" - # (Optional) - # addEntrypointsLabels: true - # (Optional) - # addServiceLabels: true - # (Optional) - # pushInterval: 10s - # (Optional) - # prefix: traefik diff --git a/integration/helm_test.go b/integration/helm_test.go deleted file mode 100644 index cb56b57dc..000000000 --- a/integration/helm_test.go +++ /dev/null @@ -1,112 +0,0 @@ -package integration - -import ( - "os" - "os/exec" - "strings" - "time" - - "github.com/go-check/check" - "github.com/sirupsen/logrus" - "github.com/traefik/mesh/integration/k3d" - checker "github.com/vdemeester/shakers" -) - -// HelmSuite. -type HelmSuite struct { - logger logrus.FieldLogger - cluster *k3d.Cluster -} - -func (s *HelmSuite) SetUpSuite(c *check.C) { - var err error - - requiredImages := []k3d.DockerImage{ - {Name: "traefik/mesh:latest", Local: true}, - {Name: "traefik:v2.3"}, - } - - s.logger = logrus.New() - s.cluster, err = k3d.NewCluster(s.logger, masterURL, k3dClusterName, - k3d.WithoutTraefik(), - k3d.WithImages(requiredImages...), - ) - c.Assert(err, checker.IsNil) - - c.Assert(s.cluster.CreateNamespace(s.logger, traefikMeshNamespace), checker.IsNil) -} - -func (s *HelmSuite) TearDownSuite(c *check.C) { - if s.cluster != nil { - c.Assert(s.cluster.Stop(s.logger), checker.IsNil) - } -} - -func (s *HelmSuite) TestACLDisabled(c *check.C) { - s.installHelmTraefikMesh(c, false, false) - defer s.uninstallHelmTraefikMesh(c) - - c.Assert(s.cluster.WaitReadyDeployment("traefik-mesh-controller", traefikMeshNamespace, 60*time.Second), checker.IsNil) - c.Assert(s.cluster.WaitReadyDaemonSet("traefik-mesh-proxy", traefikMeshNamespace, 60*time.Second), checker.IsNil) -} - -func (s *HelmSuite) TestACLEnabled(c *check.C) { - s.installHelmTraefikMesh(c, true, false) - defer s.uninstallHelmTraefikMesh(c) - - c.Assert(s.cluster.WaitReadyDeployment("traefik-mesh-controller", traefikMeshNamespace, 60*time.Second), checker.IsNil) - c.Assert(s.cluster.WaitReadyDaemonSet("traefik-mesh-proxy", traefikMeshNamespace, 60*time.Second), checker.IsNil) -} - -func (s *HelmSuite) TestKubeDNSEnabled(c *check.C) { - s.installHelmTraefikMesh(c, false, true) - defer s.uninstallHelmTraefikMesh(c) - - c.Assert(s.cluster.WaitReadyDeployment("traefik-mesh-controller", traefikMeshNamespace, 60*time.Second), checker.IsNil) - c.Assert(s.cluster.WaitReadyDaemonSet("traefik-mesh-proxy", traefikMeshNamespace, 60*time.Second), checker.IsNil) -} - -func (s *HelmSuite) installHelmTraefikMesh(c *check.C, acl bool, kubeDNS bool) { - s.logger.Info("Installing Traefik Mesh via helm...") - - args := []string{ - "install", "powpow", "../helm/chart/mesh", - "--values", "testdata/traefik-mesh/values.yaml", - "--namespace", traefikMeshNamespace, - } - - if kubeDNS { - args = append(args, "--set", "kubedns=true") - } - - if acl { - args = append(args, "--set", "acl=true") - } - - cmd := exec.Command("helm", args...) - cmd.Env = os.Environ() - - output, err := cmd.CombinedOutput() - if err != nil { - c.Errorf("unable execute command 'helm %s' - output %s: %w", strings.Join(args, " "), output, err) - c.Fail() - } -} - -func (s *HelmSuite) uninstallHelmTraefikMesh(c *check.C) { - s.logger.Info("Uninstalling Traefik Mesh via helm...") - - args := []string{ - "uninstall", "powpow", - "--namespace", traefikMeshNamespace, - } - - cmd := exec.Command("helm", args...) - cmd.Env = os.Environ() - - output, err := cmd.CombinedOutput() - if err != nil { - c.Errorf("unable execute command 'helm %s' - output %s: %w", strings.Join(args, " "), output, err) - c.Fail() - } -} diff --git a/integration/integration_test.go b/integration/integration_test.go index 4e09aabd4..2dc69d335 100644 --- a/integration/integration_test.go +++ b/integration/integration_test.go @@ -19,7 +19,7 @@ var ( k3dClusterName = "traefik-mesh-integration" traefikMeshNamespace = "traefik-mesh" traefikMeshBinary = "../dist/traefik-mesh" - smiCRDs = "../helm/chart/mesh/crds/" + smiCRDs = "./testdata/crds/" testNamespace = "test" ) @@ -37,7 +37,6 @@ func Test(t *testing.T) { check.Suite(&ACLEnabledSuite{}) check.Suite(&CoreDNSSuite{}) check.Suite(&KubeDNSSuite{}) - check.Suite(&HelmSuite{}) check.TestingT(t) } diff --git a/helm/chart/mesh/crds/smi-access.yaml b/integration/testdata/crds/smi-access.yaml similarity index 100% rename from helm/chart/mesh/crds/smi-access.yaml rename to integration/testdata/crds/smi-access.yaml diff --git a/helm/chart/mesh/crds/smi-specs.yaml b/integration/testdata/crds/smi-specs.yaml similarity index 100% rename from helm/chart/mesh/crds/smi-specs.yaml rename to integration/testdata/crds/smi-specs.yaml diff --git a/helm/chart/mesh/crds/smi-split.yaml b/integration/testdata/crds/smi-split.yaml similarity index 100% rename from helm/chart/mesh/crds/smi-split.yaml rename to integration/testdata/crds/smi-split.yaml