schema.json 5.0 KB

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