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 }