diff --git a/docs/pages/concepts/architectural/adapters.md b/docs/pages/concepts/architectural/adapters.md index 5d3cd68d991..39a8ecaf1e6 100644 --- a/docs/pages/concepts/architectural/adapters.md +++ b/docs/pages/concepts/architectural/adapters.md @@ -30,11 +30,11 @@ Meshery has lifecycle adapters for managing the following cloud native infrastru ## Meshery Adapters for Performance Management -_v0.8.0 Roadmap:_ The `meshery-perf` adapter externalizes Nighthawk as an Meshery component. +_v0.8.0 Roadmap:_ The `meshery-nighthawk` adapter externalizes Nighthawk as an Meshery component. -Meshery Server allows users to generate traffic load tests using Nighthawk, fortio, and wrk2. Using the `meshery-perf` adapter, you can schedule, control, and execute performance tests. +Meshery Server allows users to generate traffic load tests using Nighthawk, fortio, and wrk2. Using the `meshery-nigthhawk` adapter, you can schedule, control, and execute performance tests. -Run the `meshery-perf` adapter as an externalized load generator when you: +Run the `meshery-nighthawk` adapter as an externalized load generator when you: 1. Need a smaller sized container image for Meshery. Nighthawk binaries are dynamically linked (C++) and they need other dependencies to work. This causes bloat in Meshery Server’s image which doesn’t need them. 1. Need *adaptive load control* of your performance tests, controlling the variability by which the system under test receives load. Use Meshery Server to run adaptive load tests. diff --git a/install/kubernetes/helm/meshery/Chart.lock b/install/kubernetes/helm/meshery/Chart.lock index b7719c8dc22..eb16dddb5a5 100644 --- a/install/kubernetes/helm/meshery/Chart.lock +++ b/install/kubernetes/helm/meshery/Chart.lock @@ -26,11 +26,8 @@ dependencies: - name: meshery-cilium repository: "" version: 0.7.0 -- name: meshery-perf - repository: "" - version: 0.7.0 - name: meshery-nighthawk repository: "" version: 0.7.0 -digest: sha256:708de427642dd871cd0b9c64908b44a4b38824202d0f6d3af73c0cbc7047de5c -generated: "2024-03-15T21:46:41.997501683-04:00" +digest: sha256:2b66c37daa14297875735cc974409d2d1c58685eb9f6d48f81ef3b7e8939375d +generated: "2024-03-29T21:54:28.552689051-04:00" diff --git a/install/kubernetes/helm/meshery/Chart.yaml b/install/kubernetes/helm/meshery/Chart.yaml index fd16915ef65..2f3ca873777 100644 --- a/install/kubernetes/helm/meshery/Chart.yaml +++ b/install/kubernetes/helm/meshery/Chart.yaml @@ -66,9 +66,6 @@ dependencies: - name: meshery-cilium version: 0.7.0 condition: meshery-cilium.enabled - - name: meshery-perf - version: 0.7.0 - condition: meshery-perf.enabled - name: meshery-nighthawk version: 0.7.0 condition: meshery-nighthawk.enabled diff --git a/install/kubernetes/helm/meshery/README.md b/install/kubernetes/helm/meshery/README.md index e33f1e71156..7ffef3db830 100644 --- a/install/kubernetes/helm/meshery/README.md +++ b/install/kubernetes/helm/meshery/README.md @@ -56,15 +56,12 @@ Meshery chart for deploying Meshery | meshery-nsm.serviceAccountNameOverride | string | `"meshery-server"` | | | meshery-nighthawk.enabled | bool | `false` | Enable to deploy this Meshery Adapter upon initial deployment. Meshery Adapters can be deployed post-installation using either Meshery CLI or UI. | | meshery-nighthawk.fullnameOverride | string | `"meshery-nighthawk"` | | -| meshery-nighthawk.serviceAccountNameOverride | string | `"meshery-server"` | | +| meshery-nighthawk.serviceAccountNameOverride | string | `"meshery-nighthawk"` | | | meshery-operator.enabled | bool | `true` | Enable to deploy this Meshery Operator upon initial deploymeent. Meshery Operator can be deployed post-installation using Meshery UI. | | meshery-operator.fullnameOverride | string | `"meshery-operator"` | | | meshery-osm.enabled | bool | `false` | OSM is an archived project. | | meshery-osm.fullnameOverride | string | `"meshery-osm"` | | | meshery-osm.serviceAccountNameOverride | string | `"meshery-server"` | | -| meshery-perf.enabled | bool | `false` | | -| meshery-perf.fullnameOverride | string | `"meshery-perf"` | | -| meshery-perf.serviceAccountNameOverride | string | `"meshery-server"` | | | meshery-traefik-mesh.enabled | bool | `false` | Enable to deploy this Meshery Adapter upon initial deployment. Meshery Adapters can be deployed post-installation using either Meshery CLI or UI. | | meshery-traefik-mesh.fullnameOverride | string | `"meshery-traefik-mesh"` | | | meshery-traefik-mesh.serviceAccountNameOverride | string | `"meshery-server"` | | diff --git a/install/kubernetes/helm/meshery/charts/meshery-perf/.helmignore b/install/kubernetes/helm/meshery/charts/meshery-perf/.helmignore deleted file mode 100644 index 0e8a0eb36f4..00000000000 --- a/install/kubernetes/helm/meshery/charts/meshery-perf/.helmignore +++ /dev/null @@ -1,23 +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 -*.orig -*~ -# Various IDEs -.project -.idea/ -*.tmproj -.vscode/ diff --git a/install/kubernetes/helm/meshery/charts/meshery-perf/Chart.yaml b/install/kubernetes/helm/meshery/charts/meshery-perf/Chart.yaml deleted file mode 100644 index 662f2a50241..00000000000 --- a/install/kubernetes/helm/meshery/charts/meshery-perf/Chart.yaml +++ /dev/null @@ -1,34 +0,0 @@ -apiVersion: v2 -name: meshery-perf -description: Meshery Adapter for Performance -icon: https://meshery.io/images/logos/meshery-logo.png -source: - - https://github.com/layer5io/meshery-perf - -deprecated: true - -# A chart can be either an 'application' or a 'library' chart. -# -# Application charts are a collection of templates that can be packaged into versioned archives -# to be deployed. -# -# Library charts provide useful utilities or functions for the chart developer. They're included as -# a dependency of application charts to inject those utilities and functions into the rendering -# pipeline. Library charts do not define any templates and therefore cannot be deployed. -type: application - -# This is the chart version. This version number should be incremented each time you make changes -# to the chart and its templates, including the app version. -# Versions are expected to follow Semantic Versioning (https://semver.org/) -version: 0.7.0 - -# This is the version number of the application being deployed. This version number should be -# incremented each time you make changes to the application. -# TODO: Need the confirm the image tag. -appVersion: stable-latest - -maintainers: - - name: aisuko - email: urakiny@gmail.com - - name: Meshery Authors - email: maintainers@meshery.io \ No newline at end of file diff --git a/install/kubernetes/helm/meshery/charts/meshery-perf/README.md b/install/kubernetes/helm/meshery/charts/meshery-perf/README.md deleted file mode 100644 index 474a1b69c06..00000000000 --- a/install/kubernetes/helm/meshery/charts/meshery-perf/README.md +++ /dev/null @@ -1,49 +0,0 @@ -# meshery-perf - -> **:exclamation: This Helm Chart is deprecated!** - -![Version: 0.5.0](https://img.shields.io/badge/Version-0.5.0-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: stable-latest](https://img.shields.io/badge/AppVersion-stable--latest-informational?style=flat-square) - -Meshery Adapter for Performance - -## Maintainers - -| Name | Email | Url | -| ---- | ------ | --- | -| aisuko | | | -| Meshery Authors | | | - -## Values - -| Key | Type | Default | Description | -|-----|------|---------|-------------| -| affinity | object | `{}` | | -| annotations | object | `{}` | | -| env | object | `{}` | | -| fullnameOverride | string | `""` | | -| image.pullPolicy | string | `"Always"` | | -| image.repository | string | `"layer5/meshery-perf:edge-latest"` | | -| imagePullSecrets | list | `[]` | | -| ingress.annotations | object | `{}` | | -| ingress.enabled | bool | `false` | | -| ingress.hosts[0].host | string | `"chart-example.local"` | | -| ingress.hosts[0].paths | list | `[]` | | -| ingress.tls | list | `[]` | | -| nameOverride | string | `""` | | -| nodeSelector | object | `{}` | | -| podSecurityContext | object | `{}` | | -| ports.http | int | `10006` | | -| probe.livenessProbe.enabled | bool | `false` | | -| probe.readinessProbe.enabled | bool | `false` | | -| replicaCount | int | `1` | | -| resources | object | `{}` | | -| securityContext | object | `{}` | | -| service.annotations | object | `{}` | | -| service.port | int | `10013` | | -| service.type | string | `"ClusterIP"` | | -| serviceAccount.create | bool | `false` | | -| serviceAccount.name | string | `""` | | -| serviceAccountNameOverride | string | `""` | | -| testCase.enabled | bool | `false` | | -| tolerations | list | `[]` | | - diff --git a/install/kubernetes/helm/meshery/charts/meshery-perf/templates/NOTES.txt b/install/kubernetes/helm/meshery/charts/meshery-perf/templates/NOTES.txt deleted file mode 100644 index 4841ec6b1ae..00000000000 --- a/install/kubernetes/helm/meshery/charts/meshery-perf/templates/NOTES.txt +++ /dev/null @@ -1,21 +0,0 @@ -1. Get the application URL by running these commands: -{{- if .Values.ingress.enabled }} -{{- range $host := .Values.ingress.hosts }} - {{- range .paths }} - http{{ if $.Values.ingress.tls }}s{{ end }}://{{ $host.host }}{{ . }} - {{- end }} -{{- end }} -{{- else if contains "NodePort" .Values.service.type }} - export NODE_PORT=$(kubectl get --namespace {{ .Release.Namespace }} -o jsonpath="{.spec.ports[0].nodePort}" services {{ include "meshery-perf.fullname" . }}) - export NODE_IP=$(kubectl get nodes --namespace {{ .Release.Namespace }} -o jsonpath="{.items[0].status.addresses[0].address}") - echo $NODE_IP:$NODE_PORT -{{- else if contains "LoadBalancer" .Values.service.type }} - NOTE: It may take a few minutes for the LoadBalancer IP to be available. - You can watch the status of by running 'kubectl get --namespace {{ .Release.Namespace }} svc -w {{ include "meshery-perf.fullname" . }}' - export SERVICE_IP=$(kubectl get svc --namespace {{ .Release.Namespace }} {{ include "meshery-perf.fullname" . }} --template "{{"{{ range (index .status.loadBalancer.ingress 0) }}{{.}}{{ end }}"}}") - echo $SERVICE_IP:{{ .Values.service.port }} -{{- else if contains "ClusterIP" .Values.service.type }} - export POD_NAME=$(kubectl get pods --namespace {{ .Release.Namespace }} -l "app.kubernetes.io/name={{ include "meshery-perf.name" . }},app.kubernetes.io/instance={{ .Release.Name }}" -o jsonpath="{.items[0].metadata.name}") - kubectl --namespace {{ .Release.Namespace }} port-forward $POD_NAME 9081:10000 - echo "Visit 127.0.0.1:9081 to use your application" -{{- end }} diff --git a/install/kubernetes/helm/meshery/charts/meshery-perf/templates/_helpers.tpl b/install/kubernetes/helm/meshery/charts/meshery-perf/templates/_helpers.tpl deleted file mode 100644 index 5367c3ceed3..00000000000 --- a/install/kubernetes/helm/meshery/charts/meshery-perf/templates/_helpers.tpl +++ /dev/null @@ -1,67 +0,0 @@ -{{/* vim: set filetype=mustache: */}} -{{/* -Expand the name of the chart. -*/}} -{{- define "meshery-perf.name" -}} -{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" }} -{{- end }} - -{{/* -Create a default fully qualified app name. -We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec). -If release name contains chart name it will be used as a full name. -*/}} -{{- define "meshery-perf.fullname" -}} -{{- if .Values.fullnameOverride }} -{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" }} -{{- else }} -{{- $name := default .Chart.Name .Values.nameOverride }} -{{- if contains $name .Release.Name }} -{{- .Release.Name | trunc 63 | trimSuffix "-" }} -{{- else }} -{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" }} -{{- end }} -{{- end }} -{{- end }} - -{{/* -Create chart name and version as used by the chart label. -*/}} -{{- define "meshery-perf.chart" -}} -{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" }} -{{- end }} - -{{/* -Common labels -*/}} -{{- define "meshery-perf.labels" -}} -helm.sh/chart: {{ include "meshery-perf.chart" . }} -{{ include "meshery-perf.selectorLabels" . }} -{{- if .Chart.AppVersion }} -app.kubernetes.io/version: {{ .Chart.AppVersion | quote }} -{{- end }} -app.kubernetes.io/managed-by: {{ .Release.Service }} -{{- end }} - -{{/* -Selector labels -*/}} -{{- define "meshery-perf.selectorLabels" -}} -app.kubernetes.io/name: {{ include "meshery-perf.name" . }} -app.kubernetes.io/instance: {{ .Release.Name }} -{{- end }} - -{{/* -Create the name of the service account to use -*/}} -{{- define "meshery-perf.serviceAccountName" -}} -{{- if .Values.serviceAccountNameOverride -}} - {{- .Values.serviceAccountNameOverride -}} -{{- else -}} -{{- if .Values.serviceAccount.create }} - {{- default (include "meshery-perf.fullname" .) .Values.serviceAccount.name }} -{{- else }} -{{- default "default" .Values.serviceAccount.name }} -{{- end }} -{{- end }} -{{- end -}} diff --git a/install/kubernetes/helm/meshery/charts/meshery-perf/templates/deployment.yaml b/install/kubernetes/helm/meshery/charts/meshery-perf/templates/deployment.yaml deleted file mode 100644 index 724b9215854..00000000000 --- a/install/kubernetes/helm/meshery/charts/meshery-perf/templates/deployment.yaml +++ /dev/null @@ -1,70 +0,0 @@ -apiVersion: apps/v1 -kind: Deployment -metadata: - name: {{ include "meshery-perf.fullname" . }} - namespace: {{ .Release.Namespace }} - labels: - {{- include "meshery-perf.labels" . | nindent 4 }} - annotations: - {{- toYaml .Values.annotations | nindent 4 }} -spec: - replicas: {{ .Values.replicaCount }} - selector: - matchLabels: - {{- include "meshery-perf.selectorLabels" . | nindent 6 }} - template: - metadata: - labels: - {{- include "meshery-perf.selectorLabels" . | nindent 8 }} - spec: - {{- with .Values.imagePullSecrets }} - imagePullSecrets: - {{- toYaml . | nindent 8 }} - {{- end }} - serviceAccountName: {{ include "meshery-perf.serviceAccountName" . }} - securityContext: - {{- toYaml .Values.podSecurityContext | nindent 8 }} - containers: - - name: {{ .Chart.Name }} - securityContext: - {{- toYaml .Values.securityContext | nindent 12 }} - # TODO: Need to confirm the meshery-perf image version - image: "{{ .Values.image.repository }}" - imagePullPolicy: {{ .Values.image.pullPolicy }} - ports: - - name: http - containerPort: {{ .Values.ports.http }} - protocol: TCP - {{- if .Values.probe.livenessProbe.enabled }} - livenessProbe: - httpGet: - path: / - port: http - {{- end }} - {{- if .Values.probe.readinessProbe.enabled }} - readinessProbe: - httpGet: - path: / - port: http - {{- end }} - env: - {{- if .Values.env }} - {{- range $key, $val := .Values.env }} - - name: {{ $key }} - value: {{ $val }} - {{- end }} - {{- end }} - resources: - {{- toYaml .Values.resources | nindent 12 }} - {{- with .Values.nodeSelector }} - nodeSelector: - {{- toYaml . | nindent 8 }} - {{- end }} - {{- with .Values.affinity }} - affinity: - {{- toYaml . | nindent 8 }} - {{- end }} - {{- with .Values.tolerations }} - tolerations: - {{- toYaml . | nindent 8 }} - {{- end }} diff --git a/install/kubernetes/helm/meshery/charts/meshery-perf/templates/ingress.yaml b/install/kubernetes/helm/meshery/charts/meshery-perf/templates/ingress.yaml deleted file mode 100644 index 469865a4895..00000000000 --- a/install/kubernetes/helm/meshery/charts/meshery-perf/templates/ingress.yaml +++ /dev/null @@ -1,42 +0,0 @@ -{{- if .Values.ingress.enabled -}} -{{- $fullName := include "meshery-perf.fullname" . -}} -{{- $svcPort := .Values.service.port -}} -{{- if semverCompare ">=1.19-0" .Capabilities.KubeVersion.GitVersion -}} -apiVersion: networking.k8s.io/v1 -{{- else -}} -apiVersion: networking.k8s.io/v1beta1 -{{- end }} -kind: Ingress -metadata: - name: {{ $fullName }} - namespace: {{ .Release.Namespace }} - labels: - {{- include "meshery-perf.labels" . | nindent 4 }} - {{- with .Values.ingress.annotations }} - annotations: - {{- toYaml . | nindent 4 }} - {{- end }} -spec: -{{- if .Values.ingress.tls }} - tls: - {{- range .Values.ingress.tls }} - - hosts: - {{- range .hosts }} - - {{ . | quote }} - {{- end }} - secretName: {{ .secretName }} - {{- end }} -{{- end }} - rules: - {{- range .Values.ingress.hosts }} - - host: {{ .host | quote }} - http: - paths: - {{- range .paths }} - - path: {{ . }} - backend: - serviceName: {{ $fullName }} - servicePort: {{ $svcPort }} - {{- end }} - {{- end }} -{{- end }} diff --git a/install/kubernetes/helm/meshery/charts/meshery-perf/templates/service.yaml b/install/kubernetes/helm/meshery/charts/meshery-perf/templates/service.yaml deleted file mode 100644 index fb62fd592fb..00000000000 --- a/install/kubernetes/helm/meshery/charts/meshery-perf/templates/service.yaml +++ /dev/null @@ -1,18 +0,0 @@ -apiVersion: v1 -kind: Service -metadata: - name: {{ include "meshery-perf.fullname" . }} - namespace: {{ .Release.Namespace }} - labels: - {{- include "meshery-perf.labels" . | nindent 4 }} - annotations: -{{- toYaml .Values.service.annotations | nindent 4 }} -spec: - type: {{ .Values.service.type }} - ports: - - port: {{ .Values.service.port }} - targetPort: http - protocol: TCP - name: http - selector: - {{- include "meshery-perf.selectorLabels" . | nindent 4 }} diff --git a/install/kubernetes/helm/meshery/charts/meshery-perf/templates/serviceaccount.yaml b/install/kubernetes/helm/meshery/charts/meshery-perf/templates/serviceaccount.yaml deleted file mode 100644 index b432cfbf578..00000000000 --- a/install/kubernetes/helm/meshery/charts/meshery-perf/templates/serviceaccount.yaml +++ /dev/null @@ -1,9 +0,0 @@ -{{- if and (not .Values.serviceAccountNameOverride) .Values.serviceAccount.create -}} -apiVersion: v1 -kind: ServiceAccount -metadata: - name: {{ include "meshery-perf.serviceAccountName" . }} - namespace: {{ .Release.Namespace }} - labels: -{{- include "meshery-perf.labels" . | nindent 4 }} -{{- end -}} diff --git a/install/kubernetes/helm/meshery/charts/meshery-perf/templates/tests/test-connection.yaml b/install/kubernetes/helm/meshery/charts/meshery-perf/templates/tests/test-connection.yaml deleted file mode 100644 index 58ffe0fa6fb..00000000000 --- a/install/kubernetes/helm/meshery/charts/meshery-perf/templates/tests/test-connection.yaml +++ /dev/null @@ -1,17 +0,0 @@ -{{- if .Values.testCase.enabled -}} -apiVersion: v1 -kind: Pod -metadata: - name: "{{ include "meshery-perf.fullname" . }}-test-connection" - labels: - {{- include "meshery-perf.labels" . | nindent 4 }} - annotations: - "helm.sh/hook": test -spec: - containers: - - name: wget - image: busybox - command: ['wget'] - args: ['{{ include "meshery-perf.fullname" . }}:{{ .Values.service.port }}'] - restartPolicy: Never -{{- end -}} \ No newline at end of file diff --git a/install/kubernetes/helm/meshery/charts/meshery-perf/values.yaml b/install/kubernetes/helm/meshery/charts/meshery-perf/values.yaml deleted file mode 100644 index a501c920ab4..00000000000 --- a/install/kubernetes/helm/meshery/charts/meshery-perf/values.yaml +++ /dev/null @@ -1,88 +0,0 @@ -# Default values for meshery-perf. -# This is a YAML-formatted file. -# Declare variables to be passed into your templates. - -replicaCount: 1 - -image: - repository: layer5/meshery-perf:edge-latest - pullPolicy: Always - -env: {} - -probe: - #TODO: Need to confirm the health check path of meshery. - livenessProbe: - enabled: false - readinessProbe: - enabled: false - -imagePullSecrets: [] -nameOverride: "" -# By default, this is provided by the top-level chart as "meshery-consul" -fullnameOverride: "" -# By default, this is provided by the top-level chart as "meshery-server" -serviceAccountNameOverride: "" - -serviceAccount: - # Specifies whether a service account should be created - create: false - # The name of the service account to use. - # If not set and create is true, a name is generated using the fullname template - name: "" - -podSecurityContext: {} - # fsGroup: 2000 - -annotations: {} - -securityContext: {} - # capabilities: - # drop: - # - ALL - # readOnlyRootFilesystem: true - # runAsNonRoot: true - # runAsUser: 1000 - -ports: - http: 10006 - -service: - type: ClusterIP - port: 10013 - annotations: {} - -ingress: - enabled: false - annotations: {} - # kubernetes.io/ingress.class: nginx - # kubernetes.io/tls-acme: "true" - - hosts: - - host: chart-example.local - paths: [] - tls: [] - # - secretName: chart-example-tls - # hosts: - # - chart-example.local - -resources: {} - # We usually recommend not to specify default resources and to leave this as a conscious - # choice for the user. This also increases chances charts run on environments with little - # resources, such as Minikube. If you do want to specify resources, uncomment the following - # lines, adjust them as necessary, and remove the curly braces after 'resources:'. - # limits: - # cpu: 100m - # memory: 128Mi - # requests: - # cpu: 100m - # memory: 128Mi - -nodeSelector: {} - -tolerations: [] - -affinity: {} - -testCase: - enabled: false \ No newline at end of file diff --git a/install/kubernetes/helm/meshery/values.yaml b/install/kubernetes/helm/meshery/values.yaml index e9ef3f5b429..f3919189c30 100644 --- a/install/kubernetes/helm/meshery/values.yaml +++ b/install/kubernetes/helm/meshery/values.yaml @@ -151,11 +151,6 @@ meshery-cilium: enabled: false fullnameOverride: meshery-cilium -meshery-perf: - enabled: false - fullnameOverride: meshery-perf - serviceAccountNameOverride: meshery-server - meshery-nighthawk: enabled: false fullnameOverride: meshery-nighthawk