github.com/yankunsam/loki/v2@v2.6.3-0.20220817130409-389df5235c27/tools/dev/k3d/lib/jaeger/jaeger.libsonnet (about) 1 local k = import 'github.com/grafana/jsonnet-libs/ksonnet-util/kausal.libsonnet'; 2 { 3 local deployment = k.apps.v1.deployment, 4 local container = k.core.v1.container, 5 local port = k.core.v1.containerPort, 6 local service = k.core.v1.service, 7 local servicePort = k.core.v1.servicePort, 8 local envVar = if std.objectHasAll(k.core.v1, 'envVar') then k.core.v1.envVar else k.core.v1.container.envType, 9 local queryServiceName = self.jaeger.query_service.metadata.name, 10 11 _config+:: { 12 jagerAgentName: error 'must provide $._config.jaegerAgentName', 13 jaeger: { 14 agentPort: 6831, 15 queryPort: 16686, 16 queryGrpcPort: 16685, 17 agentConfigsPort: 5778, 18 collectorZipkinHttpPort: 9411, 19 }, 20 }, 21 22 _addJaegerEnvVars:: function(c) c { 23 env: [ 24 envVar.new('JAEGER_AGENT_HOST', $._config.jaegerAgentName), 25 envVar.new('JAEGER_AGENT_PORT', '6831'), 26 envVar.new('JAEGER_SAMPLER_TYPE', 'const'), 27 envVar.new('JAEGER_SAMPLER_PARAM', '1'), 28 envVar.new('JAEGER_TAGS', 'app=gel'), 29 ], 30 }, 31 32 jaeger: { 33 deployment: deployment.new(name='jaeger', replicas=1, containers=[ 34 container.new('jaeger', 'jaegertracing/all-in-one') 35 + container.withPorts([ 36 port.newNamed($._config.jaeger.queryGrpcPort, 'query-grpc'), 37 port.newNamed($._config.jaeger.agentConfigsPort, 'agent-configs'), 38 port.newNamed($._config.jaeger.collectorZipkinHttpPort, 'zipkin'), 39 port.newNamed($._config.jaeger.queryPort, 'query'), 40 port.newNamedUDP($._config.jaeger.agentPort, 'agent'), 41 port.newNamedUDP(5775, 'zipkin-thrift'), 42 port.newNamedUDP(6832, 'jaeger-thrift'), 43 ]) + 44 container.withEnv([ 45 envVar.new('COLLECTOR_ZIPKIN_HTTP_PORT', '%d' % [$._config.jaeger.collectorZipkinHttpPort]), 46 envVar.new('JAEGER_AGENT_HOST', queryServiceName), 47 envVar.new('JAEGER_AGENT_PORT', '%d' % [$._config.jaeger.agentPort]), 48 ]) + container.mixin.readinessProbe.httpGet.withPath('/') 49 + container.mixin.readinessProbe.httpGet.withPort(14269) 50 + container.mixin.readinessProbe.withInitialDelaySeconds(5), 51 ]), 52 53 query_service: service.new('jaeger-query', { 54 name: 'jaeger', 55 }, [ 56 servicePort.newNamed('query', 80, $._config.jaeger.queryPort), 57 servicePort.newNamed('query-gprc', $._config.jaeger.queryGrpcPort, $._config.jaeger.queryGrpcPort), 58 ]), 59 60 agent_service: service.new('jaeger-agent', { 61 name: 'jaeger', 62 }, [ 63 servicePort.newNamed('agent-compat', $._config.jaeger.agentPort, $._config.jaeger.agentPort) + servicePort.withProtocol('UDP'), 64 servicePort.newNamed('agent-configs', $._config.jaeger.agentConfigsPort, $._config.jaeger.agentConfigsPort), 65 ]), 66 }, 67 }