Compare commits
12 Commits
jaeger-3.2
...
main
Author | SHA1 | Date |
---|---|---|
|
bd7ce6db25 | |
|
8ac04753df | |
|
e3ff031bfa | |
|
9c9abf4646 | |
|
2a624a7195 | |
|
ba67df8984 | |
|
e2dc6645ca | |
|
05e6fa34d5 | |
|
1db9b6368c | |
|
4aab996119 | |
|
29a0e21b58 | |
|
2ee81aa797 |
|
@ -0,0 +1,51 @@
|
|||
name: Prepare K8s for Helm tests
|
||||
runs:
|
||||
using: "composite"
|
||||
steps:
|
||||
- name: Set up Helm
|
||||
uses: azure/setup-helm@v4
|
||||
with:
|
||||
version: v3.14.4
|
||||
|
||||
# Python is required because `ct lint` runs Yamale (https://github.com/23andMe/Yamale) and
|
||||
# yamllint (https://github.com/adrienverge/yamllint) which require Python
|
||||
- name: Set up Python
|
||||
uses: actions/setup-python@v4
|
||||
with:
|
||||
python-version: '3.11'
|
||||
|
||||
- name: Set up chart-testing
|
||||
uses: helm/chart-testing-action@v2.6.1
|
||||
with:
|
||||
version: v3.10.1
|
||||
|
||||
- name: Create kind cluster
|
||||
uses: helm/kind-action@v1.9.0
|
||||
|
||||
- name: Install kubectl
|
||||
uses: azure/setup-kubectl@v4.0.0
|
||||
with:
|
||||
version: 'v1.28.8'
|
||||
id: install
|
||||
|
||||
- name: Set up cert-manager
|
||||
shell: bash
|
||||
run: |
|
||||
kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/main/deploy/static/provider/kind/deploy.yaml --namespace ingress-nginx
|
||||
kubectl label node --all ingress-ready=true
|
||||
kubectl describe pod --selector=app.kubernetes.io/component=controller -n ingress-nginx
|
||||
kubectl wait --namespace ingress-nginx --for=condition=ready pod --selector=app.kubernetes.io/component=controller --timeout=5m
|
||||
kubectl apply --validate=false -f https://github.com/jetstack/cert-manager/releases/download/v1.6.1/cert-manager.yaml
|
||||
|
||||
- name: Set up cmctl
|
||||
shell: bash
|
||||
run: |
|
||||
curl -sSL -o cmctl.tar.gz https://github.com/cert-manager/cert-manager/releases/download/v1.6.1/cmctl-linux-amd64.tar.gz
|
||||
tar xzf cmctl.tar.gz
|
||||
sudo mv cmctl /usr/local/bin
|
||||
cmctl version
|
||||
|
||||
- name: Check if cert-manager is up
|
||||
shell: bash
|
||||
run: |
|
||||
cmctl check api --wait=5m
|
|
@ -3,11 +3,10 @@ name: Lint and Test Charts
|
|||
on: pull_request
|
||||
|
||||
jobs:
|
||||
lint-test:
|
||||
lint:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v2
|
||||
- uses: actions/checkout@v2
|
||||
with:
|
||||
fetch-depth: 0
|
||||
|
||||
|
@ -19,9 +18,9 @@ jobs:
|
|||
# Python is required because `ct lint` runs Yamale (https://github.com/23andMe/Yamale) and
|
||||
# yamllint (https://github.com/adrienverge/yamllint) which require Python
|
||||
- name: Set up Python
|
||||
uses: actions/setup-python@v2
|
||||
uses: actions/setup-python@v4
|
||||
with:
|
||||
python-version: 3.7
|
||||
python-version: '3.11'
|
||||
|
||||
- name: Set up chart-testing
|
||||
uses: helm/chart-testing-action@v2.6.1
|
||||
|
@ -39,34 +38,52 @@ jobs:
|
|||
- name: Run chart-testing (lint)
|
||||
run: ct lint --config ct.yaml
|
||||
|
||||
- name: Create kind cluster
|
||||
uses: helm/kind-action@v1.9.0
|
||||
if: steps.list-changed.outputs.changed == 'true'
|
||||
|
||||
- name: Install kubectl
|
||||
uses: azure/setup-kubectl@v4.0.0
|
||||
test-with-cassandra:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
with:
|
||||
version: 'v1.28.8'
|
||||
id: install
|
||||
fetch-depth: 0
|
||||
|
||||
- name: Set up cert-manager
|
||||
run: |
|
||||
kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/main/deploy/static/provider/kind/deploy.yaml --namespace ingress-nginx
|
||||
kubectl label node --all ingress-ready=true
|
||||
kubectl describe pod --selector=app.kubernetes.io/component=controller -n ingress-nginx
|
||||
kubectl wait --namespace ingress-nginx --for=condition=ready pod --selector=app.kubernetes.io/component=controller --timeout=5m
|
||||
kubectl apply --validate=false -f https://github.com/jetstack/cert-manager/releases/download/v1.6.1/cert-manager.yaml
|
||||
- uses: ./.github/actions/prepare-k8s
|
||||
|
||||
- name: Set up cmctl
|
||||
run: |
|
||||
curl -sSL -o cmctl.tar.gz https://github.com/cert-manager/cert-manager/releases/download/v1.6.1/cmctl-linux-amd64.tar.gz
|
||||
tar xzf cmctl.tar.gz
|
||||
sudo mv cmctl /usr/local/bin
|
||||
cmctl version
|
||||
|
||||
- name: Check if cert-manager is up
|
||||
run: |
|
||||
cmctl check api --wait=5m
|
||||
|
||||
- name: Run chart-testing (install)
|
||||
- name: Run cassandra-chart-testing (install)
|
||||
run: ct install --config ct.yaml
|
||||
test-with-allInOne:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
with:
|
||||
fetch-depth: 0
|
||||
|
||||
- uses: ./.github/actions/prepare-k8s
|
||||
|
||||
- name: Run allInOne-chart-testing (install)
|
||||
run: |
|
||||
ct install --config ct.yaml --helm-extra-set-args "
|
||||
--set provisionDataStore.cassandra=false
|
||||
--set storage.type=memory
|
||||
--set allInOne.enabled=true
|
||||
--set agent.enabled=false
|
||||
--set collector.enabled=false
|
||||
--set query.enabled=false"
|
||||
test-with-elasticsearch:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
with:
|
||||
fetch-depth: 0
|
||||
|
||||
- uses: ./.github/actions/prepare-k8s
|
||||
|
||||
- name: Run elasticsearch-chart-testing (install)
|
||||
run: |
|
||||
ct install --config ct.yaml --helm-extra-set-args "
|
||||
--set provisionDataStore.cassandra=false
|
||||
--set provisionDataStore.elasticsearch=true
|
||||
--set storage.type=elasticsearch
|
||||
--set elasticsearch.master.masterOnly=false
|
||||
--set elasticsearch.master.replicaCount=1
|
||||
--set elasticsearch.data.replicaCount=0
|
||||
--set elasticsearch.coordinating.replicaCount=0
|
||||
--set elasticsearch.ingest.replicaCount=0"
|
|
@ -5,6 +5,11 @@
|
|||
|
||||
This functionality is in beta and is subject to change. The code is provided as-is with no warranties. Beta features are not subject to the support SLA of official GA features.
|
||||
|
||||
# 🛑 If you are looking for Helm Chart for Jaeger-v2
|
||||
|
||||
it is located in the [v2 branch](https://github.com/jaegertracing/helm-charts/blob/v2/charts/jaeger/README-v2.md).
|
||||
|
||||
|
||||
## Usage
|
||||
|
||||
[Helm](https://helm.sh) must be installed to use the charts.
|
||||
|
|
|
@ -2,6 +2,7 @@ The following table shows the compatibility of `Jaeger Operator helm chart` with
|
|||
|
||||
| Chart version | Jaeger Operator | Kubernetes | Strimzi Operator | Cert-Manager |
|
||||
|---------------------------|-----------------|-----------------|--------------------|--------------|
|
||||
| 2.57.0 | v1.61.x | v1.19 to v1.29 | v0.32 | v1.6.1+ |
|
||||
| 2.54.0 | v1.57.x | v1.19 to v1.29 | v0.32 | v1.6.1+ |
|
||||
| 2.50.0 | v1.52.x | v1.19 to v1.28 | v0.32 | v1.6.1+ |
|
||||
| 2.49.0 | v1.49.x | v1.19 to v1.28 | v0.32 | v1.6.1+ |
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
apiVersion: v1
|
||||
description: jaeger-operator Helm chart for Kubernetes
|
||||
name: jaeger-operator
|
||||
version: 2.56.0
|
||||
appVersion: 1.57.0
|
||||
version: 2.57.0
|
||||
appVersion: 1.61.0
|
||||
home: https://www.jaegertracing.io/
|
||||
icon: https://www.jaegertracing.io/img/jaeger-icon-reverse-color.svg
|
||||
sources:
|
||||
|
|
|
@ -59,7 +59,7 @@ The following table lists the configurable parameters of the jaeger-operator cha
|
|||
| `serviceExtraLabels` | Additional labels to jaeger-operator service | `{}` |
|
||||
| `extraLabels` | Additional labels to jaeger-operator deployment | `{}` |
|
||||
| `image.repository` | Controller container image repository | `jaegertracing/jaeger-operator` |
|
||||
| `image.tag` | Controller container image tag | `1.57.0` |
|
||||
| `image.tag` | Controller container image tag | `1.61.0` |
|
||||
| `image.pullPolicy` | Controller container image pull policy | `IfNotPresent` |
|
||||
| `jaeger.create` | Jaeger instance will be created | `false` |
|
||||
| `jaeger.spec` | Jaeger instance specification | `{}` |
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
|
||||
image:
|
||||
repository: jaegertracing/jaeger-operator
|
||||
tag: 1.57.0
|
||||
tag: 1.61.0
|
||||
pullPolicy: IfNotPresent
|
||||
imagePullSecrets: []
|
||||
|
||||
|
|
|
@ -3,7 +3,7 @@ appVersion: 1.53.0
|
|||
description: A Jaeger Helm chart for Kubernetes
|
||||
name: jaeger
|
||||
type: application
|
||||
version: 3.2.1
|
||||
version: 3.4.1
|
||||
# CronJobs require v1.21
|
||||
kubeVersion: ">= 1.21-0"
|
||||
keywords:
|
||||
|
|
|
@ -268,7 +268,11 @@ We truncate at 63 chars because some Kubernetes name fields are limited to this
|
|||
*/}}
|
||||
{{- define "elasticsearch.client.url" -}}
|
||||
{{- $port := .Values.storage.elasticsearch.port | toString -}}
|
||||
{{- printf "%s://%s:%s" .Values.storage.elasticsearch.scheme .Values.storage.elasticsearch.host $port }}
|
||||
{{- $host := .Values.storage.elasticsearch.host }}
|
||||
{{- if .Values.provisionDataStore.elasticsearch }}
|
||||
{{- $host = printf "%s-elasticsearch" .Release.Name }}
|
||||
{{- end }}
|
||||
{{- printf "%s://%s:%s" .Values.storage.elasticsearch.scheme $host $port }}
|
||||
{{- end -}}
|
||||
|
||||
{{- define "jaeger.hotrod.tracing.host" -}}
|
||||
|
@ -408,16 +412,6 @@ memory related environment variables
|
|||
{{- end }}
|
||||
{{- end -}}
|
||||
|
||||
{{/*
|
||||
allInOne currently only supports memory/badger storage type.
|
||||
*/}}
|
||||
{{- define "allInOne.storage.type" -}}
|
||||
{{ $type := .Values.storage.type }}
|
||||
{{- if or (eq $type "memory") (eq $type "badger") -}}
|
||||
{{ .Values.storage.type }}
|
||||
{{- end -}}
|
||||
{{- end -}}
|
||||
|
||||
|
||||
{{/*
|
||||
Cassandra, Elasticsearch, or grpc-plugin, badger, memory related environment variables depending on which is used
|
||||
|
@ -427,7 +421,7 @@ Cassandra, Elasticsearch, or grpc-plugin, badger, memory related environment var
|
|||
{{ include "cassandra.env" . }}
|
||||
{{- else if eq .Values.storage.type "elasticsearch" -}}
|
||||
{{ include "elasticsearch.env" . }}
|
||||
{{- else if eq .Values.storage.type "grpc-plugin" -}}
|
||||
{{- else if or (eq .Values.storage.type "grpc-plugin") (eq .Values.storage.type "grpc") -}}
|
||||
{{ include "grpcPlugin.env" . }}
|
||||
{{- else if eq .Values.storage.type "badger" -}}
|
||||
{{ include "badger.env" . }}
|
||||
|
@ -723,6 +717,18 @@ Create image name for hotrod image
|
|||
{{- include "renderImage" ( dict "imageRoot" .Values.hotrod.image "context" $ ) -}}
|
||||
{{- end -}}
|
||||
|
||||
{{/*
|
||||
Define curl image declaration
|
||||
*/}}
|
||||
{{- define "curl.image" -}}
|
||||
{{- $image := "curlimages/curl" -}}
|
||||
{{- if .Values.global.imageRegistry -}}
|
||||
{{ .Values.global.imageRegistry }}/{{ $image }}
|
||||
{{- else -}}
|
||||
{{ $image }}
|
||||
{{- end -}}
|
||||
{{- end -}}
|
||||
|
||||
{{/*
|
||||
Create pull secrets for hotrod image
|
||||
*/}}
|
||||
|
|
|
@ -37,7 +37,7 @@ spec:
|
|||
{{- toYaml .Values.allInOne.extraEnv | nindent 12 }}
|
||||
{{- end }}
|
||||
- name: SPAN_STORAGE_TYPE
|
||||
value: {{ include "allInOne.storage.type" . | required "Invalid storage type provided. Use either badger or memory for allInOne" }}
|
||||
value: {{ .Values.storage.type }}
|
||||
{{- include "storage.env" . | nindent 12 }}
|
||||
- name: COLLECTOR_ZIPKIN_HOST_PORT
|
||||
value: :9411
|
||||
|
|
|
@ -100,6 +100,10 @@ spec:
|
|||
tolerations:
|
||||
{{- toYaml . | nindent 8 }}
|
||||
{{- end }}
|
||||
{{- with .Values.schema.nodeSelector }}
|
||||
nodeSelector:
|
||||
{{- toYaml . | nindent 8 }}
|
||||
{{- end }}
|
||||
{{- end -}}
|
||||
{{- end -}}
|
||||
{{- end -}}
|
||||
|
|
|
@ -32,6 +32,20 @@ spec:
|
|||
{{- toYaml .Values.collector.podLabels | nindent 8 }}
|
||||
{{- end }}
|
||||
spec:
|
||||
{{- if .Values.provisionDataStore.elasticsearch }}
|
||||
initContainers:
|
||||
- name: elasticsearch-checker
|
||||
image: {{ include "curl.image" . }}
|
||||
command:
|
||||
- sh
|
||||
- "-c"
|
||||
- |
|
||||
url="{{ include "elasticsearch.client.url" . }}"
|
||||
until [ "$(curl -s -o /dev/null -w '%{http_code}' "$url/_cluster/health")" = "200" ]; do
|
||||
echo "Waiting for Elasticsearch at $url"
|
||||
sleep 5
|
||||
done
|
||||
{{- end}}
|
||||
{{- with .Values.collector.priorityClassName }}
|
||||
priorityClassName: {{ . }}
|
||||
{{- end }}
|
||||
|
@ -208,6 +222,10 @@ spec:
|
|||
affinity:
|
||||
{{- toYaml . | nindent 8 }}
|
||||
{{- end }}
|
||||
{{- with .Values.collector.topologySpreadConstraints }}
|
||||
topologySpreadConstraints:
|
||||
{{- toYaml . | nindent 8 }}
|
||||
{{- end }}
|
||||
{{- with .Values.collector.tolerations }}
|
||||
tolerations:
|
||||
{{- toYaml . | nindent 8 }}
|
||||
|
|
|
@ -70,5 +70,8 @@ spec:
|
|||
clusterIP: {{ .Values.collector.service.clusterIP }}
|
||||
{{- end }}
|
||||
type: {{ .Values.collector.service.type }}
|
||||
{{- if and (eq .Values.collector.service.type "LoadBalancer") .Values.collector.service.loadBalancerIP }}
|
||||
loadBalancerIP: {{ .Values.collector.service.loadBalancerIP }}
|
||||
{{- end -}}
|
||||
{{- template "loadBalancerSourceRanges" .Values.collector }}
|
||||
{{- end -}}
|
||||
|
|
|
@ -43,6 +43,10 @@ spec:
|
|||
affinity:
|
||||
{{- toYaml . | nindent 8 }}
|
||||
{{- end }}
|
||||
{{- with .Values.ingester.topologySpreadConstraints }}
|
||||
topologySpreadConstraints:
|
||||
{{- toYaml . | nindent 8 }}
|
||||
{{- end }}
|
||||
{{- with .Values.ingester.tolerations }}
|
||||
tolerations:
|
||||
{{- toYaml . | nindent 8 }}
|
||||
|
|
|
@ -44,10 +44,25 @@ spec:
|
|||
{{- toYaml .Values.query.podSecurityContext | nindent 8 }}
|
||||
serviceAccountName: {{ template "jaeger.query.serviceAccountName" . }}
|
||||
{{- include "query.imagePullSecrets" . | nindent 6 }}
|
||||
{{- if .Values.query.initContainers }}
|
||||
{{- if or .Values.query.initContainers .Values.provisionDataStore.elasticsearch }}
|
||||
initContainers:
|
||||
{{- toYaml .Values.query.initContainers | nindent 8 }}
|
||||
{{- end}}
|
||||
{{- if .Values.query.initContainers }}
|
||||
{{- toYaml .Values.query.initContainers | nindent 8 }}
|
||||
{{- end }}
|
||||
{{- if .Values.provisionDataStore.elasticsearch }}
|
||||
- name: elasticsearch-checker
|
||||
image: {{ include "curl.image" . }}
|
||||
command:
|
||||
- sh
|
||||
- "-c"
|
||||
- |
|
||||
url="{{ include "elasticsearch.client.url" . }}"
|
||||
until [ "$(curl -s -o /dev/null -w '%{http_code}' "$url/_cluster/health")" = "200" ]; do
|
||||
echo "waiting for Elasticsearch at $url"
|
||||
sleep 5
|
||||
done
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
containers:
|
||||
- name: {{ template "jaeger.query.name" . }}
|
||||
securityContext:
|
||||
|
@ -297,6 +312,10 @@ spec:
|
|||
affinity:
|
||||
{{- toYaml . | nindent 8 }}
|
||||
{{- end }}
|
||||
{{- with .Values.query.topologySpreadConstraints }}
|
||||
topologySpreadConstraints:
|
||||
{{- toYaml . | nindent 8 }}
|
||||
{{- end }}
|
||||
{{- with .Values.query.tolerations }}
|
||||
tolerations:
|
||||
{{- toYaml . | nindent 8 }}
|
||||
|
|
|
@ -257,6 +257,7 @@ schema:
|
|||
podLabels: {}
|
||||
securityContext: {}
|
||||
podSecurityContext: {}
|
||||
nodeSelector: {}
|
||||
## Deadline for cassandra schema creation job
|
||||
activeDeadlineSeconds: 300
|
||||
extraEnv:
|
||||
|
@ -353,6 +354,7 @@ ingester:
|
|||
nodeSelector: {}
|
||||
tolerations: []
|
||||
affinity: {}
|
||||
topologySpreadContraints: []
|
||||
podAnnotations: {}
|
||||
## Additional pod labels
|
||||
## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/
|
||||
|
@ -557,6 +559,7 @@ collector:
|
|||
nodeSelector: {}
|
||||
tolerations: []
|
||||
affinity: {}
|
||||
topologySpreadContraints: []
|
||||
podAnnotations: {}
|
||||
## Additional pod labels
|
||||
## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/
|
||||
|
@ -740,6 +743,7 @@ query:
|
|||
nodeSelector: {}
|
||||
tolerations: []
|
||||
affinity: {}
|
||||
topologySpreadContraints: []
|
||||
podAnnotations: {}
|
||||
## Additional pod labels
|
||||
## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/
|
||||
|
|
Loading…
Reference in New Issue