#
# ===========LICENSE_START====================================================
#  Copyright (C) 2022 Nordix Foundation.
# ============================================================================
# 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.
# ============LICENSE_END=====================================================
#

# config file version
apiVersion: 1

# list of datasources to insert/update depending
# what's available in the database
deleteDatasources:
  - name: PolicyPrometheus
    orgId: 1

datasources:
  # <string, required> name of the datasource. Required
  - name: PolicyPrometheus
    type: prometheus
    access: proxy
    orgId: 1
    uid: "dkSf71fnz"
    url: http://prometheus:9090/
    password: ''
    user: ''
    database: ''
    basicAuth: false
    basicAuthUser: ''
    basicAuthPassword: ''
    withCredentials: false
    isDefault: true
    jsonData:
      httpMethod: GET
      tlsSkipVerify: true
    secureJsonFields: {}
    version: 2
    readOnly: false
