- Add exabgp/ container: ExaBGP 5.x + Flask REST API for on-demand BGP route injection into CML IOS-XR lab (AS 65020 via eBGP from AS 65100) - Add 6 injection scenarios: internet_sample, churn, blackhole, anycast, full_table, lab_prefixes - Add inject.py CLI wrapper for the ExaBGP API - Add iosxr_bgp_config.md with IOS-XR neighbor config and NETCONF script - Add obmp-grafana/ dashboards and provisioning (17 dashboards) - Update docker-compose.yml: add exabgp service, fix Kafka external listener IP, extend log retention from 90min to 720min - Add DOCS.md: full project documentation including architecture, setup, user guide, sanity checks, troubleshooting, and command reference - Update .gitignore: exclude .env and .claude/ Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
125 lines
5.0 KiB
YAML
125 lines
5.0 KiB
YAML
apiVersion: 1
|
|
|
|
providers:
|
|
# <string> an unique provider name. Required
|
|
- name: 'OpenBMP'
|
|
# <int> Org id. Default to 1
|
|
orgId: 1
|
|
# <string> name of the dashboard folder.
|
|
folder: ''
|
|
# <string> folder UID. will be automatically generated if not specified
|
|
folderUid: ''
|
|
# <string> provider type. Default to 'file'
|
|
type: file
|
|
# <bool> disable dashboard deletion
|
|
disableDeletion: false
|
|
# <int> how often Grafana will scan for changed dashboards
|
|
updateIntervalSeconds: 30
|
|
# <bool> allow updating provisioned dashboards from the UI
|
|
allowUiUpdates: true
|
|
options:
|
|
# <string, required> path to dashboard files on disk. Required when using the 'file' type
|
|
path: /var/lib/grafana/dashboards/General
|
|
# <bool> use folder names from filesystem to create folders in Grafana
|
|
foldersFromFilesStructure: false
|
|
# <string> an unique provider name. Required
|
|
- name: 'OpenBMP-Base'
|
|
# <int> Org id. Default to 1
|
|
orgId: 1
|
|
# <string> name of the dashboard folder.
|
|
folder: 'OBMP-Base'
|
|
# <string> folder UID. will be automatically generated if not specified
|
|
folderUid: '1001'
|
|
# <string> provider type. Default to 'file'
|
|
type: file
|
|
# <bool> disable dashboard deletion
|
|
disableDeletion: false
|
|
# <int> how often Grafana will scan for changed dashboards
|
|
updateIntervalSeconds: 30
|
|
# <bool> allow updating provisioned dashboards from the UI
|
|
allowUiUpdates: true
|
|
options:
|
|
# <string, required> path to dashboard files on disk. Required when using the 'file' type
|
|
path: /var/lib/grafana/dashboards/obmp/Base-1001
|
|
# <bool> use folder names from filesystem to create folders in Grafana
|
|
foldersFromFilesStructure: false
|
|
- name: 'OpenBMP-History'
|
|
# <int> Org id. Default to 1
|
|
orgId: 1
|
|
# <string> name of the dashboard folder.
|
|
folder: 'OBMP-History'
|
|
# <string> folder UID. will be automatically generated if not specified
|
|
folderUid: '1002'
|
|
# <string> provider type. Default to 'file'
|
|
type: file
|
|
# <bool> disable dashboard deletion
|
|
disableDeletion: false
|
|
# <int> how often Grafana will scan for changed dashboards
|
|
updateIntervalSeconds: 30
|
|
# <bool> allow updating provisioned dashboards from the UI
|
|
allowUiUpdates: true
|
|
options:
|
|
# <string, required> path to dashboard files on disk. Required when using the 'file' type
|
|
path: /var/lib/grafana/dashboards/obmp/History-1002
|
|
# <bool> use folder names from filesystem to create folders in Grafana
|
|
foldersFromFilesStructure: false
|
|
- name: 'OpenBMP-Tops'
|
|
# <int> Org id. Default to 1
|
|
orgId: 1
|
|
# <string> name of the dashboard folder.
|
|
folder: 'OBMP-Tops'
|
|
# <string> folder UID. will be automatically generated if not specified
|
|
folderUid: '1003'
|
|
# <string> provider type. Default to 'file'
|
|
type: file
|
|
# <bool> disable dashboard deletion
|
|
disableDeletion: false
|
|
# <int> how often Grafana will scan for changed dashboards
|
|
updateIntervalSeconds: 30
|
|
# <bool> allow updating provisioned dashboards from the UI
|
|
allowUiUpdates: true
|
|
options:
|
|
# <string, required> path to dashboard files on disk. Required when using the 'file' type
|
|
path: /var/lib/grafana/dashboards/obmp/Tops-1003
|
|
# <bool> use folder names from filesystem to create folders in Grafana
|
|
foldersFromFilesStructure: false
|
|
- name: 'OpenBMP-LinkState'
|
|
# <int> Org id. Default to 1
|
|
orgId: 1
|
|
# <string> name of the dashboard folder.
|
|
folder: 'OBMP-LinkState'
|
|
# <string> folder UID. will be automatically generated if not specified
|
|
folderUid: '1004'
|
|
# <string> provider type. Default to 'file'
|
|
type: file
|
|
# <bool> disable dashboard deletion
|
|
disableDeletion: false
|
|
# <int> how often Grafana will scan for changed dashboards
|
|
updateIntervalSeconds: 30
|
|
# <bool> allow updating provisioned dashboards from the UI
|
|
allowUiUpdates: true
|
|
options:
|
|
# <string, required> path to dashboard files on disk. Required when using the 'file' type
|
|
path: /var/lib/grafana/dashboards/obmp/LinkState-1004
|
|
# <bool> use folder names from filesystem to create folders in Grafana
|
|
foldersFromFilesStructure: false
|
|
- name: 'OpenBMP-L3VPN'
|
|
# <int> Org id. Default to 1
|
|
orgId: 1
|
|
# <string> name of the dashboard folder.
|
|
folder: 'OBMP-L3VPN'
|
|
# <string> folder UID. will be automatically generated if not specified
|
|
folderUid: '1005'
|
|
# <string> provider type. Default to 'file'
|
|
type: file
|
|
# <bool> disable dashboard deletion
|
|
disableDeletion: false
|
|
# <int> how often Grafana will scan for changed dashboards
|
|
updateIntervalSeconds: 30
|
|
# <bool> allow updating provisioned dashboards from the UI
|
|
allowUiUpdates: true
|
|
options:
|
|
# <string, required> path to dashboard files on disk. Required when using the 'file' type
|
|
path: /var/lib/grafana/dashboards/obmp/L3VPN-1005
|
|
# <bool> use folder names from filesystem to create folders in Grafana
|
|
foldersFromFilesStructure: false |