summaryrefslogtreecommitdiffstats
path: root/docs/.templates/integration/schema.json
blob: 5f2b2a8537b3005658d8e4d31eac89847a6e637a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
{
    "$schema": "http://json-schema.org/draft-07/schema#",
    "type": "object",
    "title": "Netdata Integrations file",
    "properties": {
        "categories": {
            "type": "object",
            "description": "A list defining all the available categories for the integrations.",
            "properties": {
                "list": {
                    "type": "array",
                    "items": {
                        "type": "object",
                        "description": "",
                        "properties": {
                            "id": {
                                "type": "string",
                                "description": "ID of the category, can be found in integrations/categories.yaml for every category."
                            },
                            "description": {
                                "type": "string",
                                "description": "Text that will be presented below the category title, or that will be accompanying the category in the UI in any form."
                            },
                            "priority": {
                                "type": "integer",
                                "description": "Priority of the category. A number expressing where the category should be in the menu. Currently, a static number gets assigned to all categories, with a higher priority one for the most-popular flagged categories."
                            },
                            "children": {
                                "type": "array",
                                "description": "an array that recursively has the same elements as the parent.",
                                "items": {
                                    "$ref": "#"
                                }
                            }
                        }
                    }
                }
            }
        },
        "integrations": {
            "type": "array",
            "description": "A list of integration elements, combination of metadata.yaml and other sources.",
            "items": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "string",
                        "description": "A unique string identifier for the integration."
                    },
                    "name": {
                        "type": "string"
                    },
                    "categories": {
                        "type": "array",
                        "description": "an array of categories that the integration belongs to",
                        "items": {
                            "type": "object",
                            "properties": {
                                "category_id": {
                                    "type": "string",
                                    "description": "The category_ID for this integration. This is the category ID mentioned inside integrations/category.yaml, for the respective category."
                                },
                                "priority": {
                                    "type": "integer",
                                    "description": "Priority for this specific category. Will control where the integration will be positioned in this category"
                                }
                            }
                        }
                    },
                    "icon": {
                        "type": "string",
                        "description": "path to the icon for this integration."
                    },
                    "keywords": {
                        "type": "array",
                        "description": "An array of terms related to the integration.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "overview": {
                        "type": "string",
                        "description": "The text that will go in the top of the page, in markdown format."
                    },
                    "metrics": {
                        "type": "string",
                        "description": "Metrics section rendered in markdown format."
                    },
                    "alerts": {
                        "type": "string",
                        "description": "Alerts section rendered in markdown format."
                    },
                    "setup": {
                        "type": "string",
                        "description": "Setup section rendered in markdown format."
                    },
                    "troubleshooting": {
                        "type": "string",
                        "description": "troubleshooting section rendered in markdown format."
                    },
                    "related_resources": {
                        "type": "string",
                        "description": "Related Resources section rendered in markdown format."
                    }
                }
            }
        }
    }
}