github.com/yankunsam/loki/v2@v2.6.3-0.20220817130409-389df5235c27/production/ksonnet/loki-canary/loki-canary.libsonnet (about)

     1  local config = import 'config.libsonnet';
     2  local k = import 'ksonnet-util/kausal.libsonnet';
     3  
     4  // backwards compatibility with ksonnet
     5  local envVar = if std.objectHasAll(k.core.v1, 'envVar') then k.core.v1.envVar else k.core.v1.container.envType;
     6  
     7  config {
     8    namespace: k.core.v1.namespace.new($._config.namespace),
     9  
    10    local container = k.core.v1.container,
    11  
    12    loki_canary_args:: {
    13      labelvalue: '$(POD_NAME)',
    14    },
    15  
    16    loki_canary_container::
    17      container.new('loki-canary', $._images.loki_canary) +
    18      k.util.resourcesRequests('10m', '20Mi') +
    19      container.withPorts(k.core.v1.containerPort.new(name='http-metrics', port=80)) +
    20      container.withArgsMixin(k.util.mapToFlags($.loki_canary_args)) +
    21      container.withEnv([
    22        envVar.fromFieldPath('HOSTNAME', 'spec.nodeName'),
    23        envVar.fromFieldPath('POD_NAME', 'metadata.name'),
    24      ]),
    25  
    26    local daemonSet = k.apps.v1.daemonSet,
    27  
    28    loki_canary_daemonset:
    29      daemonSet.new('loki-canary', [$.loki_canary_container]),
    30  }