diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 5163868..800be58 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -17,7 +17,7 @@ on: - "**/*.md" jobs: - lint: + test: runs-on: ubuntu-22.04 steps: - name: Checkout diff --git a/charts/zipkin/Chart.yaml b/charts/zipkin/Chart.yaml index a26a86d..c24f32e 100644 --- a/charts/zipkin/Chart.yaml +++ b/charts/zipkin/Chart.yaml @@ -10,11 +10,11 @@ # or implied. See the License for the specific language governing permissions and limitations under # the License. apiVersion: v2 -appVersion: 3.0.3 +appVersion: 3.0.6 name: zipkin description: A Zipkin helm chart for kubernetes type: application -version: 0.1.2 +version: 0.2.0 maintainers: - name: openzipkin email: zipkin-dev@googlegroups.com diff --git a/charts/zipkin/ci/default-values.yaml b/charts/zipkin/ci/default-values.yaml new file mode 100644 index 0000000..31bc2f1 --- /dev/null +++ b/charts/zipkin/ci/default-values.yaml @@ -0,0 +1,2 @@ +--- +zipkin: {} diff --git a/charts/zipkin/ci/selfTracing-values.yaml b/charts/zipkin/ci/selfTracing-values.yaml new file mode 100644 index 0000000..e0a0694 --- /dev/null +++ b/charts/zipkin/ci/selfTracing-values.yaml @@ -0,0 +1,4 @@ +--- +zipkin: + selfTracing: + enabled: true diff --git a/charts/zipkin/templates/deployment.yaml b/charts/zipkin/templates/deployment.yaml index 4c7279a..b680374 100644 --- a/charts/zipkin/templates/deployment.yaml +++ b/charts/zipkin/templates/deployment.yaml @@ -48,6 +48,8 @@ spec: {{- toYaml .Values.securityContext | nindent 12 }} image: "{{ .Values.image.repository }}:{{ .Values.image.tag | default .Chart.AppVersion }}" env: + - name: SELF_TRACING_ENABLED + value: "{{ .Values.zipkin.selfTracing.enabled }}" - name: STORAGE_TYPE value: "{{ .Values.zipkin.storage.type }}" {{- if eq .Values.zipkin.storage.type "elasticsearch" }} diff --git a/charts/zipkin/templates/tests/test-connection.yaml b/charts/zipkin/templates/tests/test-connection.yaml new file mode 100644 index 0000000..0a58192 --- /dev/null +++ b/charts/zipkin/templates/tests/test-connection.yaml @@ -0,0 +1,23 @@ +apiVersion: v1 +kind: Pod +metadata: + name: "{{ include "zipkin.fullname" . }}-test-connection" + labels: + {{- include "zipkin.labels" . | nindent 4 }} + annotations: + "helm.sh/hook": test +spec: + containers: + - name: get-api-services + image: 'ghcr.io/openzipkin/alpine:3.19.1' + command: [ '/bin/sh', '-c' ] + # Get an arbitrary API endpoint using the ClusterIP and service port + args: [ 'wget -qO ---spider --header "b3: cafebabecafebabe-cafebabecafebabe-1" http://{{ include "zipkin.fullname" . }}:{{ .Values.service.port }}/api/v2/services' ] +{{- if .Values.zipkin.selfTracing.enabled }} + - name: get-trace + image: 'ghcr.io/openzipkin/alpine:3.19.1' + command: [ '/bin/sh', '-c' ] + # If self-tracing, sleep for the trace to process. Then, get it by the constant ID passed above. + args: [ 'sleep 3 && wget -qO ---spider http://{{ include "zipkin.fullname" . }}:{{ .Values.service.port }}/api/v2/trace/cafebabecafebabe' ] +{{- end }} + restartPolicy: Never diff --git a/charts/zipkin/values.yaml b/charts/zipkin/values.yaml index 4c2166e..6f45037 100644 --- a/charts/zipkin/values.yaml +++ b/charts/zipkin/values.yaml @@ -39,7 +39,7 @@ podAnnotations: podSecurityContext: {} - # fsGroup: 2000 +# fsGroup: 2000 securityContext: # capabilities: @@ -58,7 +58,7 @@ ingress: annotations: {} # kubernetes.io/ingress.class: nginx - # kubernetes.io/tls-acme: "true" + # kubernetes.io/tls-acme: "true" # className: nginx host: chart-example.local path: / @@ -101,11 +101,14 @@ affinity: {} priorityClassName: "" zipkin: + # selfTracing generates traces for HTTP paths under /api + selfTracing: + enabled: false storage: type: mem -# type: elasticsearch -# elasticsearch: -# hosts: hostA hostB -# index: fooIndex + # type: elasticsearch + # elasticsearch: + # hosts: hostA hostB + # index: fooIndex extraEnv: {} # JAVA_OPTS: "-Xms128m -Xmx512m -XX:+ExitOnOutOfMemoryError"