github.com/yankunsam/loki/v2@v2.6.3-0.20220817130409-389df5235c27/tools/dev/k3d/lib/grafana/grafana.libsonnet (about)

     1  local k = import 'github.com/grafana/jsonnet-libs/ksonnet-util/kausal.libsonnet';
     2  local tanka = import 'github.com/grafana/jsonnet-libs/tanka-util/main.libsonnet';
     3  local spec = (import './spec.json').spec;
     4  local helm = tanka.helm.new(std.thisFile) {
     5    template(name, chart, conf={})::
     6      std.native('helmTemplate')(name, chart, conf { calledFrom: std.thisFile }),
     7  };
     8  {
     9    _config+:: {
    10      jaegerAgentName: error 'please provide $._config.jaegerAgentName',
    11      jaegerAgentPort: 6831,
    12      namespace: error 'plase provide $._config.namespace',
    13      provisioningDir: '/etc/grafana/provisioning',
    14      lokiUrl: error 'please provide $._config.lokiUrl',
    15      grafana: {
    16        datasources: [],
    17      },
    18    },
    19  
    20    _images+:: {
    21      grafana: {
    22        repository: 'grafana/grafana',
    23        tag: 'latest',
    24        pullPolicy: 'IfNotPresent',
    25      },
    26    },
    27  
    28    grafana: helm.template('grafana', '../../charts/grafana', {
    29      namespace: $._config.namespace,
    30      values: {
    31        image: $._images.grafana,
    32        testFramework: {
    33          enabled: false,
    34        },
    35        env: {
    36          GF_AUTH_ANONYMOUS_ENABLED: true,
    37          GF_AUTH_ANONYMOUS_ORG_ROLE: 'Admin',
    38          GF_FEATURE_TOGGLES_ENABLE: 'ngalert',
    39          JAEGER_AGENT_PORT: 6831,
    40          JAEGER_AGENT_HOST: $._config.jaegerAgentName,
    41        },
    42        podAnnotations: {
    43          'prometheus.io/scrape': 'true',
    44          'prometheus.io/port': '3000',
    45        },
    46        datasources: {
    47          'datasources.yaml': {
    48            apiVersion: 1,
    49            datasources: $._config.grafana.datasources,
    50          },
    51        },
    52        'grafana.ini': {
    53          'tracing.jaeger': {
    54            always_included_tag: 'app=grafana',
    55            sampler_type: 'const',
    56            sampler_param: 1,
    57          },
    58          paths: {
    59            provisioning: $._config.provisioningDir,
    60          },
    61        },
    62      },
    63      kubeVersion: 'v1.18.0',
    64      noHooks: false,
    65    }),
    66  }