---
# Copyright 2018-present Open Networking 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.

cdn_remote_host: 10.90.0.141
cdn_local_host: 10.90.0.153
prometheus_host: 10.90.0.152

cadvisor:
  image: google/cadvisor:latest
  nodePort: 8888
  enabled: true

prometheus:
  image: prom/prometheus:v2.3.1
  node_selector: node2
  nodePort: 31000
  interval: 10s
  enabled: true

grafana:
  image: grafana/grafana:5.2.2
  node_selector: node2
  nodePort: 30000
  adminUser: admin
  adminPassword: admin
  enabled: true
