summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFotis Voutsas <fotis@netdata.cloud>2023-07-14 18:20:18 +0300
committerGitHub <noreply@github.com>2023-07-14 18:20:18 +0300
commit17d271d62be1fe9f301a1907d8aba9638731b46d (patch)
tree2cb5ffa1486da173e862d1b55e770647468a3d21
parent5073741ac22993bf9fbabe4e69027a28e7e69398 (diff)
Create categories.yaml (#15385)
-rw-r--r--collectors/metadata/schemas/definitions.json2
-rw-r--r--docs/.templates/integration/schema.json28
-rw-r--r--integrations/categories.yaml274
3 files changed, 287 insertions, 17 deletions
diff --git a/collectors/metadata/schemas/definitions.json b/collectors/metadata/schemas/definitions.json
index 578954c4c4..0331de837a 100644
--- a/collectors/metadata/schemas/definitions.json
+++ b/collectors/metadata/schemas/definitions.json
@@ -14,7 +14,7 @@
},
"categories": {
"type": "array",
- "description": "Categories this integration falls into.",
+ "description": "Category IDs that this integration falls into. Category IDs can be found at integrations/categories.yaml.",
"items": {
"$ref": "#/definitions/category"
}
diff --git a/docs/.templates/integration/schema.json b/docs/.templates/integration/schema.json
index 1e2ce85337..5f2b2a8537 100644
--- a/docs/.templates/integration/schema.json
+++ b/docs/.templates/integration/schema.json
@@ -11,30 +11,26 @@
"type": "array",
"items": {
"type": "object",
- "description": "The concept of IDs between categories is used, so we can handle nested categories. That way they will be able to mention their parent, and we should be able to make the structure of categories. Every category's ID will be used by the various integrations too to mention in which category they lie. Along with this, a priority field is needed to define the ordering on a menu-level.",
+ "description": "",
"properties": {
- "name": {
+ "id": {
"type": "string",
- "description": "Name of the category. This is the actual name of the category or subcategory, (e.g. Web Servers, Operating Systems, Databases)."
+ "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."
+ "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. The smaller the number the higher the priority, so a category with priority 1 would be above a category with a priority of 50 in terms of menu ordering."
+ "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."
},
- "id": {
- "type": "string",
- "description": "ID of the category that will be used by integrations, this is a unique number for each category that will be used by its children to refer to it as their parent."
- },
- "parent_id": {
- "type": [
- "null",
- "string"
- ],
- "description": "The category's parent ID. If this category is a subcategory, then it needs to mention its parent, where it belongs to. Make it null if no parent and this is a top level category."
+ "children": {
+ "type": "array",
+ "description": "an array that recursively has the same elements as the parent.",
+ "items": {
+ "$ref": "#"
+ }
}
}
}
@@ -62,7 +58,7 @@
"properties": {
"category_id": {
"type": "string",
- "description": "The category_ID for this integration."
+ "description": "The category_ID for this integration. This is the category ID mentioned inside integrations/category.yaml, for the respective category."
},
"priority": {
"type": "integer",
diff --git a/integrations/categories.yaml b/integrations/categories.yaml
new file mode 100644
index 0000000000..e4eed1bbb9
--- /dev/null
+++ b/integrations/categories.yaml
@@ -0,0 +1,274 @@
+- name: deploy
+ description: ""
+ most-popular: false
+ children:
+ - id: deploy.operating-systems
+ name: Operating Systems
+ description: ""
+ most-popular: false
+ children: []
+ - id: deploy.docker-kubernetes
+ name: Docker & Kubernetes
+ description: ""
+ most-popular: false
+ children: []
+ - id: deploy.provisioning-systems
+ parent: deploy
+ name: Provisioning Systems
+ description: ""
+ most-popular: false
+ children: []
+- name: data-collection
+ description: ""
+ most-popular: false
+ children:
+ - id: data-collection.containers-and-vms
+ name: Containers and VMs
+ description: ""
+ most-popular: false
+ children: []
+ - id: data-collection.database-servers
+ name: Database Servers
+ description: ""
+ most-popular: false
+ children: []
+ - id: data-collection.kubernetes
+ name: Kubernetes
+ description: ""
+ most-popular: false
+ children: []
+ - id: data-collection.service-discovery-registry
+ name: Service Discovery / Registry
+ description: ""
+ most-popular: false
+ children: []
+ - id: data-collection.web-servers-and-web-proxies
+ name: Web Servers and Web Proxies
+ description: ""
+ most-popular: false
+ children: []
+ - id: data-collection.cloud-provider-managed
+ name: Cloud Provider Managed
+ description: ""
+ most-popular: false
+ children: []
+ - id: data-collection.windows-systems
+ name: Windows Systems
+ description: ""
+ most-popular: false
+ children: []
+ - id: data-collection.apm
+ name: APM
+ description: ""
+ most-popular: false
+ children: []
+ - id: data-collection.hardware-devices-and-sensors
+ name: Hardware Devices and Sensors
+ description: ""
+ most-popular: false
+ children: []
+ - id: data-collection.macos-systems
+ name: macOS Systems
+ description: ""
+ most-popular: false
+ children: []
+ - id: data-collection.message-brokers
+ name: Message Brokers
+ description: ""
+ most-popular: false
+ children: []
+ - id: data-collection.provisioning-systems
+ name: Provisioning Systems
+ description: ""
+ most-popular: false
+ children: []
+ - id: data-collection.search-engines
+ name: Search Engines
+ description: ""
+ most-popular: false
+ children: []
+ - id: data-collection.linux-systems
+ name: Linux Systems
+ description: ""
+ most-popular: false
+ children: []
+ - id: data-collection.notifications
+ name: Notifications
+ description: ""
+ most-popular: false
+ children: []
+ - id: data-collection.networking-stack-and-network-interfaces
+ name: Networking Stack and Network Interfaces
+ description: ""
+ most-popular: false
+ children: []
+ - id: data-collection.cloud-provider
+ name: Cloud Provider
+ description: ""
+ most-popular: false
+ children: []
+ - id: data-collection.synthetic-checks
+ name: Synthetic Checks
+ description: ""
+ most-popular: false
+ children: []
+ - id: data-collection.storage-mount-points-and-filesystems
+ name: Storage Mount Points and Filesystems
+ description: ""
+ most-popular: false
+ children: []
+ - id: data-collection.containers-vms
+ name: Containers & VMs
+ description: ""
+ most-popular: false
+ children: []
+ - id: data-collection.ci-cd-systems
+ name: CI/CD Systems
+ description: ""
+ most-popular: false
+ children: []
+ - id: data-collection.ups
+ name: UPS
+ description: ""
+ most-popular: false
+ children: []
+ - id: data-collection.freebsd-systems
+ name: FreeBSD Systems
+ description: ""
+ most-popular: false
+ children: []
+ - id: data-collection.logs-servers
+ name: Logs Servers
+ description: ""
+ most-popular: false
+ children: []
+ - id: data-collection.security-systems
+ name: Security Systems
+ description: ""
+ most-popular: false
+ children: []
+ - id: data-collection.observability
+ name: Observability
+ description: ""
+ most-popular: false
+ children: []
+ - id: data-collection.gaming
+ name: Gaming
+ description: ""
+ most-popular: false
+ children: []
+ - id: data-collection.iot-devices
+ name: IoT Devices
+ description: ""
+ most-popular: false
+ children: []
+ - id: data-collection.media-streaming-servers
+ name: Media Streaming Servers
+ description: ""
+ most-popular: false
+ children: []
+ - id: data-collection.authentication-and-authorization
+ name: Authentication and Authorization
+ description: ""
+ most-popular: false
+ children: []
+ - id: data-collection.project-management
+ name: Project Management
+ description: ""
+ most-popular: false
+ children: []
+ - id: data-collection.application-servers
+ name: Application Servers
+ description: ""
+ most-popular: false
+ children: []
+ - id: data-collection.export
+ name: Export
+ description: ""
+ most-popular: false
+ children: []
+ - id: data-collection.dns-and-dhcp-servers
+ name: DNS and DHCP Servers
+ description: ""
+ most-popular: false
+ children: []
+ - id: data-collection.mail-servers
+ name: Mail Servers
+ description: ""
+ most-popular: false
+ children: []
+ - id: data-collection.processes-and-system-services
+ name: Processes and System Services
+ description: ""
+ most-popular: false
+ children: []
+ - id: data-collection.storage-mount-points-and-filesystems
+ name: Storage, Mount Points and Filesystems
+ description: ""
+ most-popular: false
+ children: []
+ - id: data-collection.systemd
+ name: Systemd
+ description: ""
+ most-popular: false
+ children: []
+ - id: data-collection.telephony-servers
+ name: Telephony Servers
+ description: ""
+ most-popular: false
+ children: []
+ - id: data-collection.vpns
+ name: VPNs
+ description: ""
+ most-popular: false
+ children: []
+ - id: data-collection.blockchain-servers
+ name: Blockchain Servers
+ description: ""
+ most-popular: false
+ children: []
+ - id: data-collection.distributed-computing-systems
+ name: Distributed Computing Systems
+ description: ""
+ most-popular: false
+ children: []
+ - id: data-collection.generic-data-collection
+ name: Generic Data Collection
+ description: ""
+ most-popular: false
+ children: []
+ - id: data-collection.p2p
+ name: P2P
+ description: ""
+ most-popular: false
+ children: []
+ - id: data-collection.snmp-and-networked-devices
+ name: SNMP and Networked Devices
+ description: ""
+ most-popular: false
+ children: []
+ - id: data-collection.system-clock-and-ntp
+ name: System Clock and NTP
+ description: ""
+ most-popular: false
+ children: []
+ - id: data-collection.nas
+ name: NAS
+ description: ""
+ most-popular: false
+ children: []
+ - id: data-collection.api-gateways
+ name: API Gateways
+ description: ""
+ most-popular: false
+ children: []
+ - id: data-collection.task-queues
+ name: Task Queues
+ description: ""
+ most-popular: false
+ children: []
+ - id: data-collection.ftp-servers
+ name: FTP Servers
+ description: ""
+ most-popular: false
+ children: []