#
# Copyright 2020 The dNation Jsonnet Translator Authors. All Rights Reserved.
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#   http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#

apiVersion: v1
kind: ConfigMap
metadata:
  namespace: test-namespace
  name: jsonnet-cm-namespaced
  labels:
    grafana_dashboard_jsonnet: "1"
  annotations:
    grafana_label: "grafana_dashboard=1"
data:
  example-dashboard2.jsonnet: |-
    local grafana = import 'grafonnet/grafana.libsonnet';
    local dashboard = grafana.dashboard;
    local prometheus = grafana.prometheus;
    local template = grafana.template;
    local statPanel = grafana.statPanel;

      local upCount =
        statPanel.new(
          title='Up',
          datasource='$datasource',
        )
        .addTarget(prometheus.target('sum(up{job="apiserver"})'));

      local datasourceTemplate =
        template.datasource(
          query='prometheus',
          name='datasource',
          current=null,
          label='Datasource',
        );

      dashboard.new(
        'Example Dashboard',
        editable=true,
        refresh='10s',
        time_from='now-5m',
        uid='example-dashboard',
      )
      .addTemplates([datasourceTemplate, ])
      .addPanels([upCount{ gridPos: { x: 0, y: 0, w: 6, h: 6 } }])
