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  }