diff --git a/.github/workflows/test.yaml b/.github/workflows/test.yaml index 21c232c1..30c08dae 100644 --- a/.github/workflows/test.yaml +++ b/.github/workflows/test.yaml @@ -43,5 +43,5 @@ jobs: if: steps.list-changed.outputs.changed == 'true' - name: Run chart-testing (install) - run: ct install --config ct.yaml --helm-extra-set-args --set=presets.otlpExporter.enabled=false,presets.loggingExporter.enabled=true + run: ct install --config ct.yaml if: steps.list-changed.outputs.changed == 'true' diff --git a/charts/k8s-infra/Chart.yaml b/charts/k8s-infra/Chart.yaml index 4e3f6043..483e5d3a 100644 --- a/charts/k8s-infra/Chart.yaml +++ b/charts/k8s-infra/Chart.yaml @@ -2,7 +2,7 @@ apiVersion: v2 name: k8s-infra description: Helm chart for collecting metrics and logs in K8s type: application -version: 0.11.8 +version: 0.11.9 appVersion: "0.88.0" home: https://signoz.io icon: https://signoz.io/img/SigNozLogo-orange.svg diff --git a/charts/k8s-infra/values.yaml b/charts/k8s-infra/values.yaml index f740ba27..83408a9e 100644 --- a/charts/k8s-infra/values.yaml +++ b/charts/k8s-infra/values.yaml @@ -81,7 +81,7 @@ namespace: "" # -- Presets to easily set up OtelCollector configurations. presets: loggingExporter: - enabled: false + enabled: true # Verbosity of the logging export: basic, normal, detailed verbosity: basic # Number of messages initially logged each second @@ -89,7 +89,7 @@ presets: # Sampling rate after the initial messages are logged samplingThereafter: 500 otlpExporter: - enabled: true + enabled: false logsCollection: enabled: true startAt: beginning diff --git a/charts/signoz-otel-gateway/.helmignore b/charts/signoz-otel-gateway/.helmignore new file mode 100644 index 00000000..0e8a0eb3 --- /dev/null +++ b/charts/signoz-otel-gateway/.helmignore @@ -0,0 +1,23 @@ +# 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/charts/signoz-otel-gateway/Chart.lock b/charts/signoz-otel-gateway/Chart.lock new file mode 100644 index 00000000..2f2a7a7b --- /dev/null +++ b/charts/signoz-otel-gateway/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: postgresql + repository: https://charts.bitnami.com/bitnami + version: 15.0.0 +digest: sha256:565cf5a1350794bca648c3f1e3dd374908e478fc9994caeae4564d72220e56bb +generated: "2024-06-06T21:47:55.218828+05:30" diff --git a/charts/signoz-otel-gateway/Chart.yaml b/charts/signoz-otel-gateway/Chart.yaml new file mode 100644 index 00000000..3fd2a961 --- /dev/null +++ b/charts/signoz-otel-gateway/Chart.yaml @@ -0,0 +1,20 @@ +apiVersion: v2 +name: signoz-otel-gateway +description: A Helm chart for deploying SigNoz Opentelemetry Gateway +type: application +version: 0.0.1 +appVersion: "v0.0.16" +home: https://signoz.io/ +icon: https://signoz.io/img/SigNozLogo-orange.svg +dependencies: + - name: postgresql + version: 15.0.0 + repository: https://charts.bitnami.com/bitnami + condition: postgresql.enabled +maintainers: + - name: SigNoz + email: devops@signoz.io + url: https://signoz.io + - name: prashant-shahi + email: prashant@signoz.io + url: https://prashantshahi.dev diff --git a/charts/signoz-otel-gateway/templates/_helpers.tpl b/charts/signoz-otel-gateway/templates/_helpers.tpl new file mode 100644 index 00000000..1694d77d --- /dev/null +++ b/charts/signoz-otel-gateway/templates/_helpers.tpl @@ -0,0 +1,193 @@ +{{/* +Expand the name of the chart. +*/}} +{{- define "signoz-otel-gateway.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 "signoz-otel-gateway.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 "signoz-otel-gateway.chart" -}} +{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" }} +{{- end }} + +{{/* +Common labels +*/}} +{{- define "signoz-otel-gateway.labels" -}} +helm.sh/chart: {{ include "signoz-otel-gateway.chart" . }} +{{ include "signoz-otel-gateway.selectorLabels" . }} +{{- if .Chart.AppVersion }} +app.kubernetes.io/version: {{ .Chart.AppVersion | quote }} +{{- end }} +app.kubernetes.io/managed-by: {{ .Release.Service }} +{{- end }} + +{{/* +Selector labels +*/}} +{{- define "signoz-otel-gateway.selectorLabels" -}} +app.kubernetes.io/name: {{ include "signoz-otel-gateway.name" . }} +app.kubernetes.io/instance: {{ .Release.Name }} +{{- end }} + +{{/* +Create the name of the service account to use +*/}} +{{- define "signoz-otel-gateway.serviceAccountName" -}} +{{- if .Values.serviceAccount.create }} +{{- default (include "signoz-otel-gateway.fullname" .) .Values.serviceAccount.name }} +{{- else }} +{{- default "default" .Values.serviceAccount.name }} +{{- end }} +{{- end }} + +{{/* +Create a list of all ports +*/}} +{{- define "signoz-otel-gateway.ports" -}} +{{- $serviceType := deepCopy .Values.service.type -}} +{{- $ports := deepCopy .Values.service.ports -}} +{{- range $key, $port := $ports -}} +{{- if $port.enabled }} +- name: {{ $key }} + port: {{ $port.servicePort }} + targetPort: {{ $key }} + protocol: {{ $port.protocol }} + {{- if (eq $serviceType "ClusterIP") }} + nodePort: null + {{- else if (eq $serviceType "NodePort") }} + nodePort: {{ $port.nodePort }} + {{- end }} +{{- end -}} +{{- end -}} +{{- end -}} + +{{/* +Create config map +*/}} +{{- define "signoz-otel-gateway.config" -}} +{{- $config := omit .Values.config "create" -}} +{{- range $key, $value := $config }} +{{- $fmted := $value | toString }} +{{- if not (eq $fmted "") }} +{{ $key }}: {{ $fmted | toYaml }} +{{- end }} +{{- end }} +{{- end -}} + + +{{- define "secretkeyref" -}} +valueFrom: + secretKeyRef: + name: {{ .name }} + key: {{ .key }} +{{- end -}} + +{{- define "fieldkeyref" -}} +valueFrom: + fieldRef: + apiVersion: v1 + fieldPath: {{ .path }} +{{- end -}} + +{{/* +Create env +*/}} +{{- define "signoz-otel-gateway.env" -}} +{{/* + ====== GENERATED ENVIRONMENT VARIABLES ====== +*/}} +{{- $genEnv := dict -}} +{{- $_ := set $genEnv "SIGNOZ_COMPONENT" "signoz-otel-gateway" -}} +{{- $_ := set $genEnv "OTEL_SERVICE_NAME" "signoz-otel-gateway" -}} +{{- $_ := set $genEnv "OTEL_RESOURCE_ATTRIBUTES" "signoz.component=$(SIGNOZ_COMPONENT),k8s.pod.uid=$(K8S_POD_UID),k8s.pod.ip=$(K8S_POD_IP)" -}} +{{/* + ====== FIELD ENVIRONMENT VARIABLES ====== +*/}} +{{- $fieldEnv := dict -}} +{{- range $key, $value := (dict "K8S_NODE_NAME" "spec.nodeName" "K8S_POD_IP" "status.podIP" "K8S_POD_NAME" "metadata.name" "K8S_POD_UID" "metadata.uid" "K8S_NAMESPACE" "metadata.namespace") -}} + {{- $_ := set $fieldEnv $key (include "fieldkeyref" (dict "path" $value)) -}} +{{- end -}} + +{{/* + ====== SECRET ENVIRONMENT VARIABLES ====== +*/}} +{{- $prefix := (include "signoz-otel-gateway.fullname" .) }} +{{- $secretEnv := dict -}} +{{- if .Values.externalSecrets.create -}} + {{- range $key, $value := .Values.externalSecrets.secrets -}} + {{- if $value.env -}} + {{- range $ikey, $ivalue := $value.env -}} + {{- $_ := set $secretEnv (upper (printf "OTELGATEWAY_%s" $ikey)) (include "secretkeyref" (dict "name" (printf "%s-%s" $prefix $key) "key" $ivalue)) -}} + {{- end -}} + {{- end -}} + {{- end -}} +{{- end -}} +{{/* + ====== USER ENVIRONMENT VARIABLES ====== +*/}} +{{- $userEnv := dict -}} +{{- range $key, $val := .Values.env }} + {{- $upper := upper $key -}} + {{- $var := printf "OTELGATEWAY_%s" $upper -}} + {{- $_ := set $userEnv $var $val -}} +{{- end -}} + +{{/* + ====== MERGE AND RENDER ENV BLOCK ====== +*/}} + +{{- $completeEnv := mergeOverwrite $genEnv $fieldEnv $userEnv $secretEnv -}} +{{- template "signoz-otel-gateway.renderEnv" $completeEnv -}} + +{{- end -}} + +{{/* +Given a dictionary of variable=value pairs including value and valueFrom, render a container env block. +Environment variables are sorted alphabetically +*/}} +{{- define "signoz-otel-gateway.renderEnv" -}} + +{{- $dict := . -}} + +{{- range keys . | sortAlpha }} +{{- $val := pluck . $dict | first -}} +{{- $valueType := printf "%T" $val -}} +{{ if eq $valueType "map[string]interface {}" }} +- name: {{ . }} +{{ toYaml $val | indent 2 -}} +{{- else if eq $valueType "string" }} +{{- if regexMatch "valueFrom" $val }} +- name: {{ . }} +{{ $val | indent 2 }} +{{- else }} +- name: {{ . }} + value: {{ $val | quote }} +{{- end }} +{{- else }} +- name: {{ . }} + value: {{ $val | quote }} +{{- end }} +{{- end -}} + +{{- end -}} diff --git a/charts/signoz-otel-gateway/templates/config.yaml b/charts/signoz-otel-gateway/templates/config.yaml new file mode 100644 index 00000000..06823911 --- /dev/null +++ b/charts/signoz-otel-gateway/templates/config.yaml @@ -0,0 +1,11 @@ +{{- if .Values.config.create }} +apiVersion: v1 +kind: ConfigMap +metadata: + name: {{ include "signoz-otel-gateway.fullname" . }} + labels: + {{- include "signoz-otel-gateway.labels" . | nindent 4 }} +data: + config.yaml: |- + {{- omit .Values.config "create" | toYaml | nindent 4 }} +{{- end }} \ No newline at end of file diff --git a/charts/signoz-otel-gateway/templates/deployment.yaml b/charts/signoz-otel-gateway/templates/deployment.yaml new file mode 100644 index 00000000..903fa3f7 --- /dev/null +++ b/charts/signoz-otel-gateway/templates/deployment.yaml @@ -0,0 +1,100 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: {{ include "signoz-otel-gateway.fullname" . }} + labels: + {{- include "signoz-otel-gateway.labels" . | nindent 4 }} +spec: + replicas: {{ .Values.replicaCount }} + selector: + matchLabels: + {{- include "signoz-otel-gateway.selectorLabels" . | nindent 6 }} + template: + metadata: + annotations: + checksum/config: {{ include (print $.Template.BasePath "/config.yaml") . | sha256sum }} + {{- with .Values.podAnnotations }} + {{- toYaml . | nindent 8 }} + {{- end }} + labels: + {{- include "signoz-otel-gateway.labels" . | nindent 8 }} + {{- with .Values.podLabels }} + {{- toYaml . | nindent 8 }} + {{- end }} + spec: + {{- with .Values.imagePullSecrets }} + imagePullSecrets: + {{- toYaml . | nindent 8 }} + {{- end }} + serviceAccountName: {{ include "signoz-otel-gateway.serviceAccountName" . }} + securityContext: + {{- toYaml .Values.podSecurityContext | nindent 8 }} + initContainers: + - name: migrate + image: "{{ .Values.image.repository }}:{{ .Values.image.tag | default .Chart.AppVersion }}" + imagePullPolicy: {{ .Values.image.pullPolicy }} + command: + - /usr/local/bin/otelgateway + args: + - migrate + env: + {{- include "signoz-otel-gateway.env" . | nindent 12 }} + containers: + - name: gateway + securityContext: + {{- toYaml .Values.securityContext | nindent 12 }} + image: "{{ .Values.image.repository }}:{{ .Values.image.tag | default .Chart.AppVersion }}" + imagePullPolicy: {{ .Values.image.pullPolicy }} + ports: + {{- range $key, $port := .Values.service.ports }} + {{- if $port.enabled }} + - name: {{ $key }} + containerPort: {{ $port.containerPort }} + protocol: {{ $port.protocol }} + {{- end }} + {{- end }} + command: + - /usr/local/bin/otelgateway + args: + - collector + {{- if .Values.config.create }} + - --config=file:/conf/config.yaml + {{- end }} + {{- range .Values.args }} + - {{ . | quote }} + {{- end }} + env: + {{- include "signoz-otel-gateway.env" . | nindent 12 }} + livenessProbe: + {{- toYaml .Values.livenessProbe | nindent 12 }} + readinessProbe: + {{- toYaml .Values.readinessProbe | nindent 12 }} + resources: + {{- toYaml .Values.resources | nindent 12 }} + volumeMounts: + {{- if .Values.config.create }} + - name: config + mountPath: /conf + {{- end }} + {{- with .Values.volumeMounts }} + {{- toYaml . | nindent 12 }} + {{- end }} + volumes: + - name: config + configMap: + name: {{ include "signoz-otel-gateway.fullname" . }} + {{- with .Values.volumes }} + {{- toYaml . | nindent 8 }} + {{- end }} + {{- 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/charts/signoz-otel-gateway/templates/ingress.yaml b/charts/signoz-otel-gateway/templates/ingress.yaml new file mode 100644 index 00000000..2a0d3095 --- /dev/null +++ b/charts/signoz-otel-gateway/templates/ingress.yaml @@ -0,0 +1,53 @@ +{{- $genericConfig := dict -}} +{{- $_ := set $genericConfig "fullName" (include "signoz-otel-gateway.fullname" .) -}} +{{- $_ := set $genericConfig "namespace" .Release.Namespace -}} +{{- $_ := set $genericConfig "labels" (include "signoz-otel-gateway.labels" .) -}} + +{{- range $key, $value := .Values.ingress }} + {{- $config := mustDeepCopy $genericConfig -}} + {{- $_ := set $config "name" $value.name -}} + {{- $_ := set $config "annotations" $value.annotations -}} + {{- $_ := set $config "ingressClassName" $value.ingressClassName -}} + {{- $_ := set $config "hosts" $value.hosts -}} + {{- $_ := set $config "paths" $value.paths -}} + {{- $_ := set $config "tls" $value.tls -}} + {{- include "signoz-otel-gateway.ingress" $config -}} +{{- end }} + + +{{- define "signoz-otel-gateway.ingress" }} +--- +apiVersion: networking.k8s.io/v1 +kind: Ingress +metadata: + name: {{ .fullName }}-{{ .name }} + labels: + {{- .labels | nindent 4 }} + {{- with .annotations }} + annotations: + {{- range $key, $value := . }} + {{ $key }}: {{ $value | quote }} + {{- end }} + {{- end }} +spec: + ingressClassName: {{ .ingressClassName }} + {{- with .tls }} + tls: + {{- toYaml . | nindent 4 }} + {{- end }} + rules: + {{- range .hosts }} + - host: {{ .host | quote }} + http: + paths: + {{- range .paths }} + - path: {{ .path }} + pathType: {{ .pathType }} + backend: + service: + name: {{ $.fullName }} + port: + number: {{ .port }} + {{- end }} + {{- end }} +{{- end }} diff --git a/charts/signoz-otel-gateway/templates/secrets.yaml b/charts/signoz-otel-gateway/templates/secrets.yaml new file mode 100644 index 00000000..7ccafdce --- /dev/null +++ b/charts/signoz-otel-gateway/templates/secrets.yaml @@ -0,0 +1,38 @@ +{{- if .Values.externalSecrets.create }} + +{{- $genericConfig := dict -}} +{{- $_ := set $genericConfig "fullName" (include "signoz-otel-gateway.fullname" .) -}} +{{- $_ := set $genericConfig "namespace" .Release.Namespace -}} +{{- $_ := set $genericConfig "labels" (include "signoz-otel-gateway.labels" .) -}} +{{- $_ := set $genericConfig "secretStoreKind" .Values.externalSecrets.secretStoreRef.kind -}} +{{- $_ := set $genericConfig "secretStoreName" .Values.externalSecrets.secretStoreRef.name -}} + +{{- range $key, $value := .Values.externalSecrets.secrets }} + {{- $config := mustDeepCopy $genericConfig -}} + {{- $_ := set $config "name" $key -}} + {{- $_ := set $config "dataFrom" $value.dataFrom -}} + {{- include "signoz-otel-gateway.secret" $config -}} +{{- end }} + +{{- end }} + +{{- define "signoz-otel-gateway.secret" }} +--- +apiVersion: external-secrets.io/v1beta1 +kind: ExternalSecret +metadata: + name: {{ .fullName }}-{{ .name }} + namespace: {{ .namespace }} + labels: + {{- .labels | nindent 4 }} +spec: + secretStoreRef: + kind: {{ required "externalSecrets.secretStoreRef.kind is required" .secretStoreKind }} + name: {{ required "externalSecrets.secretStoreRef.name is required" .secretStoreName }} + target: + name: {{ .fullName }}-{{ .name }} + creationPolicy: Owner + dataFrom: + - extract: + key: {{ .dataFrom | required "externalSecrets.secrets.dataFrom is required" }} +{{- end }} diff --git a/charts/signoz-otel-gateway/templates/service.yaml b/charts/signoz-otel-gateway/templates/service.yaml new file mode 100644 index 00000000..8c79879c --- /dev/null +++ b/charts/signoz-otel-gateway/templates/service.yaml @@ -0,0 +1,18 @@ +apiVersion: v1 +kind: Service +metadata: +{{- if .Values.service.annotations }} + annotations: + {{- range $key, $value := .Values.service.annotations }} + {{ $key }}: {{ $value | quote }} + {{- end }} +{{- end }} + name: {{ include "signoz-otel-gateway.fullname" . }} + labels: + {{- include "signoz-otel-gateway.labels" . | nindent 4 }} +spec: + type: {{ .Values.service.type }} + ports: + {{- include "signoz-otel-gateway.ports" . | indent 4 }} + selector: + {{- include "signoz-otel-gateway.selectorLabels" . | nindent 4 }} diff --git a/charts/signoz-otel-gateway/templates/serviceaccount.yaml b/charts/signoz-otel-gateway/templates/serviceaccount.yaml new file mode 100644 index 00000000..ee796e15 --- /dev/null +++ b/charts/signoz-otel-gateway/templates/serviceaccount.yaml @@ -0,0 +1,13 @@ +{{- if .Values.serviceAccount.create -}} +apiVersion: v1 +kind: ServiceAccount +metadata: + name: {{ include "signoz-otel-gateway.serviceAccountName" . }} + labels: + {{- include "signoz-otel-gateway.labels" . | nindent 4 }} + {{- with .Values.serviceAccount.annotations }} + annotations: + {{- toYaml . | nindent 4 }} + {{- end }} +automountServiceAccountToken: {{ .Values.serviceAccount.automount }} +{{- end }} diff --git a/charts/signoz-otel-gateway/values.yaml b/charts/signoz-otel-gateway/values.yaml new file mode 100644 index 00000000..09dbc49f --- /dev/null +++ b/charts/signoz-otel-gateway/values.yaml @@ -0,0 +1,261 @@ +# Default values for signoz-otel-gateway. +replicaCount: 1 +image: + repository: docker.io/signoz/signoz-otel-gateway + pullPolicy: IfNotPresent + # Overrides the image tag whose default is the chart appVersion. + tag: "" +imagePullSecrets: [] +nameOverride: "" +fullnameOverride: "" +serviceAccount: + # Specifies whether a service account should be created + create: true + # Automatically mount a ServiceAccount's API credentials? + automount: true + # Annotations to add to the service account + annotations: {} + # The name of the service account to use. + # If not set and create is true, a name is generated using the fullname template + name: "" +podAnnotations: {} +podLabels: {} +podSecurityContext: {} +# fsGroup: 2000 + +securityContext: {} +# capabilities: +# drop: +# - ALL +# readOnlyRootFilesystem: true +# runAsNonRoot: true +# runAsUser: 1000 + +service: + type: ClusterIP + annotations: {} + ports: + healthz: + enabled: true + containerPort: 13133 + servicePort: 13133 + protocol: TCP + signoz-admin: + enabled: true + containerPort: 8001 + servicePort: 8001 + protocol: TCP + otlp-grpc: + enabled: true + containerPort: 4317 + servicePort: 4317 + protocol: TCP + otlp-http: + enabled: true + containerPort: 4318 + servicePort: 4318 + protocol: TCP + metrics: + enabled: true + containerPort: 8888 + servicePort: 8888 + protocol: TCP + httplog-heroku: + enabled: true + containerPort: 8081 + servicePort: 8081 + protocol: TCP + httplog-json: + enabled: true + containerPort: 8082 + servicePort: 8082 + protocol: TCP +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 + +livenessProbe: + httpGet: + path: /healthz + port: 13133 + initialDelaySeconds: 5 + periodSeconds: 10 + timeoutSeconds: 5 + failureThreshold: 6 + successThreshold: 1 +readinessProbe: + httpGet: + path: /healthz + port: 13133 + initialDelaySeconds: 5 + periodSeconds: 10 + timeoutSeconds: 5 + failureThreshold: 6 + successThreshold: 1 +# Additional volumes on the output Deployment definition. +volumes: [] +# - name: foo +# secret: +# secretName: mysecret +# optional: false + +# Additional volumeMounts on the output Deployment definition. +volumeMounts: [] +# - name: foo +# mountPath: "/etc/foo" +# readOnly: true + +nodeSelector: {} +tolerations: [] +affinity: {} +# Define env as key value pairs +env: {} +args: {} +# - + +config: + # Create the config map + create: true + # Set the values of the config map + # extensions: + # health_check: + # receivers: + # otlp: + # protocols: + # grpc: + # endpoint: 0.0.0.0:4317 + # include_metadata: true + # max_recv_msg_size_mib: 16 + # http: + # cors: + # allowed_origins: + # - '*' + # endpoint: 0.0.0.0:4318 + # include_metadata: true + # processors: + # batch: + # send_batch_max_size: 10000 + # send_batch_size: 10000 + # timeout: 10s + # memory_limiter: null + # exporters: + # debug: {} + # service: + # extensions: + # - health_check + # pipelines: + # logs: + # exporters: + # - debug + # processors: + # - memory_limiter + # - batch + # receivers: + # - otlp + # metrics: + # exporters: + # - debug + # processors: + # - memory_limiter + # - batch + # receivers: + # - otlp + # traces: + # exporters: + # - debug + # processors: + # - memory_limiter + # - batch + # receivers: + # - otlp + +externalSecrets: + # Add integration with external secrets + create: false + secretStoreRef: + kind: ClusterSecretStore + name: cluster-secret-store + # Add secrets here + # secrets: + # # Name of the secret to be created + # secret-1: + # # Name of the secret in the cluster store, for example, in secrets manager + # dataFrom: name-of-secret + # env: + # # The env variable to mount it as: the key from the secret to use + # postgres_host: host + +ingress: + - name: healthz + ingressClassName: nginx + annotations: {} + hosts: + - host: gateway.example.com + paths: + - path: /healthz + pathType: ImplementationSpecific + port: 13133 + tls: + - secretName: gateway-tls + hosts: + - gateway.example.com + - name: http + ingressClassName: nginx + annotations: {} + hosts: + - host: gateway.example.com + paths: + - path: /v1/logs + pathType: ImplementationSpecific + port: 4318 + - path: /v1/metrics + pathType: ImplementationSpecific + port: 4318 + - path: /v1/traces + pathType: ImplementationSpecific + port: 4318 + - host: gateway.example.com + paths: + - path: /logs/json + pathType: ImplementationSpecific + port: 8082 + - host: gateway.example.com + paths: + - path: /logs/heroku + pathType: ImplementationSpecific + port: 8081 + - name: grpc + ingressClassName: nginx + annotations: + nginx.ingress.kubernetes.io/backend-protocol: "GRPC" + hosts: + - host: gateway.example.com + paths: + - path: /opentelemetry.proto.collector.logs.v1.LogsService/Export + pathType: ImplementationSpecific + port: 4317 + - path: /opentelemetry.proto.collector.metrics.v1.MetricsService/Export + pathType: ImplementationSpecific + port: 4317 + - path: /opentelemetry.proto.collector.trace.v1.TraceService/Export + pathType: ImplementationSpecific + port: 4317 +postgresql: + enabled: false + auth: + username: otelgateway + password: password + database: otelgateway + image: + tag: 15.0.0 + service: + ports: + postgresql: "5432" diff --git a/ct.yaml b/ct.yaml index 4cdbb417..b4130031 100644 --- a/ct.yaml +++ b/ct.yaml @@ -2,8 +2,12 @@ remote: origin target-branch: main debug: true +charts: + - charts/clickhouse + - charts/k8s-infra + - charts/signoz check-version-increment: false -helm-extra-args: --timeout 15m +helm-extra-args: --timeout 5m chart-repos: - signoz=https://signoz.github.io/charts - bitnami=https://charts.bitnami.com/bitnami