@cryptotaxi247 / netdata-1 / commits / 62ae1ec03

Update platform support info and add a schema. (#15531)

Austin S. Hemmelgarn committed Jul 25, 2023 at 18:18 UTC 62ae1ec03c5fac3afaec5ae763237fc72f629aa6
3 files changed +240 -7
.github/data/distros.yml
+81 -1
@@ -20,6 +20,8 @@ include:
20 - &alpine
21 distro: alpine
22 version: edge
23 + support_type: Community
24 + notes: ''
25 eol_check: false
26 env_prep: |
27 apk add -U bash
@@ -27,18 +29,31 @@ include:
29 apk del json-c-dev
30 test:
31 ebpf-core: true
32 + - <<: *alpine
33 + version: "3.18"
34 + support_type: Core
35 + notes: ''
36 + eol_check: true
37 - <<: *alpine
38 version: "3.17"
39 + support_type: Intermediate
40 + notes: ''
41 eol_check: true
42 - <<: *alpine
43 version: "3.16"
44 + support_type: Intermediate
45 + notes: ''
46 eol_check: true
47 - <<: *alpine
48 version: "3.15"
49 + support_type: Intermediate
50 + notes: ''
51 eol_check: true
52
53 - distro: archlinux
54 version: latest
55 + support_type: Intermediate
56 + notes: ''
57 eol_check: false
58 env_prep: |
59 pacman --noconfirm -Syu && pacman --noconfirm -Sy grep libffi
@@ -48,6 +63,8 @@ include:
63 - &alma
64 distro: almalinux
65 version: "9"
66 + support_type: Core
67 + notes: ''
68 jsonc_removal: |
69 dnf remove -y json-c-devel
70 eol_check: true
@@ -74,6 +91,8 @@ include:
91 - &amzn
92 distro: amazonlinux
93 version: "2"
94 + support_type: Core
95 + notes: ''
96 eol_check: 'amazon-linux'
97 packages: &amzn_packages
98 type: rpm
@@ -92,6 +111,8 @@ include:
111
112 - distro: centos
113 version: "7"
114 + support_type: Core
115 + notes: ''
116 eol_check: false
117 packages:
118 type: rpm
@@ -107,6 +128,8 @@ include:
128 - &debian
129 distro: debian
130 version: "12"
131 + support_type: Core
132 + notes: ''
133 base_image: debian:bookworm
134 eol_check: true
135 env_prep: |
@@ -143,6 +166,8 @@ include:
166 - &fedora
167 distro: fedora
168 version: "38"
169 + support_type: Core
170 + notes: ''
171 eol_check: true
172 jsonc_removal: |
173 dnf remove -y json-c-devel
@@ -165,6 +190,8 @@ include:
190 - &opensuse
191 distro: opensuse
192 version: "tumbleweed"
193 + support_type: Intermediate
194 + notes: ''
195 eol_check: true
196 base_image: opensuse/tumbleweed
197 jsonc_removal: |
@@ -179,12 +206,16 @@ include:
206 ebpf-core: true
207 - <<: *opensuse
208 version: "15.5"
209 + support_type: Core
210 + notes: ''
211 base_image: opensuse/leap:15.5
212 packages:
213 <<: *opensuse_packages
214 repo_distro: opensuse/15.5
215 - <<: *opensuse
216 version: "15.4"
217 + support_type: Core
218 + notes: ''
219 base_image: opensuse/leap:15.4
220 packages:
221 <<: *opensuse_packages
@@ -193,6 +224,8 @@ include:
224 - &oracle
225 distro: oraclelinux
226 version: "8"
227 + support_type: Core
228 + notes: ''
229 eol_check: true
230 jsonc_removal: |
231 dnf remove -y json-c-devel
@@ -213,6 +246,8 @@ include:
246 - &ubuntu
247 distro: ubuntu
248 version: "22.04"
249 + support_type: Core
250 + notes: ''
251 eol_check: true
252 env_prep: |
253 rm -f /etc/apt/apt.conf.d/docker && apt-get update
@@ -239,7 +274,9 @@ include:
274 repo_distro: ubuntu/focal
275 no_include: # Info for platforms not covered in CI
276 - distro: docker
242 - version: latest
277 + version: "19.03 or newer"
278 + support_type: Core
279 + notes: ''
280 packages:
281 arches:
282 - linux/i386
@@ -247,3 +284,46 @@ no_include: # Info for platforms not covered in CI
284 - linux/arm/v7
285 - linux/arm64
286 - linux/ppc64le
287 +
288 + - distro: clearlinux
289 + version: latest
290 + support_type: Community
291 + notes: ''
292 +
293 + - &rhel
294 + distro: rhel
295 + version: "9.x"
296 + support_type: Core
297 + notes: ''
298 + packages:
299 + arches:
300 + - x86_64
301 + - aarch64
302 + - <<: *rhel
303 + version: "8.x"
304 + - <<: *rhel
305 + version: "7.x"
306 + packages:
307 + arches:
308 + - x86_64
309 +
310 + - &freebsd
311 + distro: freebsd
312 + version: 13-STABLE
313 + support_type: Community
314 + notes: ''
315 +
316 + - &macos
317 + distro: macos
318 + version: '13'
319 + support_type: Community
320 + notes: ''
321 + - <<: *macos
322 + version: '12'
323 + - <<: *macos
324 + version: '11'
325 +
326 + - distro: gentoo
327 + version: latest
328 + support_type: Community
329 + notes: ''
integrations/schemas/distros.json new
+153
@@ -0,0 +1,153 @@
1 +{
2 + "$schema": "http://json-schema.org/draft-07/schema#",
3 + "type": "object",
4 + "title": "Platform support information for the Netdata agent.",
5 + "properties": {
6 + "platform_map": {
7 + "type": "object",
8 + "description": "Maps CPU architectures to Docker platform strings. Used by CI when generating build matrices.",
9 + "patternProperties": {
10 + "^.+$": {
11 + "type": "string",
12 + "minLength": 1
13 + }
14 + },
15 + "additionalProperties": false
16 + },
17 + "arch_order": {
18 + "type": "array",
19 + "description": "Defines the CPU architecture sort order used when generating build matrices in CI.",
20 + "items": {
21 + "type": "string",
22 + "minLength": 1
23 + }
24 + },
25 + "include": {
26 + "type": "array",
27 + "description": "Defines data for platforms that are included in CI.",
28 + "items": {
29 + "$ref": "#/$defs/platform"
30 + }
31 + }
32 + },
33 + "required": [
34 + "platform_map",
35 + "arch_order",
36 + "include"
37 + ],
38 + "$defs": {
39 + "platform": {
40 + "type": "object",
41 + "description": "Describes a platform.",
42 + "properties": {
43 + "distro": {
44 + "type": "string",
45 + "description": "The name of the platform.",
46 + "pattern": "^[a-z][a-z0-9]*$"
47 + },
48 + "version": {
49 + "type": "string",
50 + "description": "Version identifier for the platform.",
51 + "pattern": "^[a-z0-9][a-z.0-9]*$"
52 + },
53 + "support_type": {
54 + "type": "string",
55 + "description": "Defines the support tier that the platform is in.",
56 + "enum": [
57 + "Core",
58 + "Intermediate",
59 + "Community",
60 + "Third-Party",
61 + "Unsupported"
62 + ]
63 + },
64 + "notes": {
65 + "type": "string",
66 + "description": "Any additional notes about the platform."
67 + },
68 + "eol_check": {
69 + "description": "Indicates if EOL checks should be done for this platform. Only relevant if the platform is included in CI. If the value is a string, that value is used for the EOL check lookup, otherwise the value of the distro key is used.",
70 + "oneOf": [
71 + {
72 + "type": "boolean"
73 + },
74 + {
75 + "type": "string",
76 + "pattern": "^[a-z][a-z0-9._-]*$"
77 + }
78 + ]
79 + },
80 + "base_image": {
81 + "type": "string",
82 + "description": "A string specifying the Docker image to be used for testing this platform.",
83 + "pattern": "^[a-z][a-z0-9._/:-]*$"
84 + },
85 + "env_prep": {
86 + "type": "string",
87 + "description": "A string containing any shell commands that need to be run to prep the platform for testing in CI."
88 + },
89 + "jsonc_removal": {
90 + "type": "string",
91 + "description": "A string containing a shell command to uninstall JSON-C development files during CI checks."
92 + },
93 + "test": {
94 + "type": "object",
95 + "description": "Contains additional data for usage by CI.",
96 + "properties": {
97 + "ebpf-core": {
98 + "type": "boolean",
99 + "description": "If true, then eBPF CO-RE CI jobs should be run for this platform."
100 + }
101 + }
102 + },
103 + "packages": {
104 + "type": "object",
105 + "description": "Additional information about native packages for this platform.",
106 + "properties": {
107 + "type": {
108 + "type": "string",
109 + "description": "Indicates the type of native packages to build for the platform.",
110 + "enum": [
111 + "deb",
112 + "rpm",
113 + ""
114 + ]
115 + },
116 + "arches": {
117 + "type": "array",
118 + "description": "A list of CPU architectures (specified in the usual manner for the platform) that native packages are built for for this platform.",
119 + "items": {
120 + "type": "string",
121 + "minLength": 1
122 + }
123 + },
124 + "repo_distro": {
125 + "type": "string",
126 + "description": "Identifies the repository name to be used when publishing packages for this platform.",
127 + "minLength": 1
128 + },
129 + "alt_links": {
130 + "type": "array",
131 + "description": "A list of alternative repository names to be used when publishing packages for this platform.",
132 + "items": {
133 + "type": "string",
134 + "minLength": 1
135 + }
136 + }
137 + },
138 + "required": [
139 + "type",
140 + "arches"
141 + ]
142 + }
143 + },
144 + "additionalProperties": false,
145 + "required": [
146 + "distro",
147 + "version",
148 + "support_type",
149 + "notes"
150 + ]
151 + }
152 + }
153 +}
packaging/PLATFORM_SUPPORT.md
+6 -6
@@ -58,9 +58,11 @@ to work on these platforms with minimal user effort.
58
59 | Platform | Version | Official Native Packages | Notes |
60 |--------------------------|----------------|----------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------|
61 -| Alpine Linux | 3.17 | No | The latest release of Alpine Linux is guaranteed to remain at **Core** tier due to usage for our Docker images |
61 +| Alpine Linux | 3.18 | No | The latest release of Alpine Linux is guaranteed to remain at **Core** tier due to usage for our Docker images |
62 | Alma Linux | 9.x | x86\_64, AArch64 | Also includes support for Rocky Linux and other ABI compatible RHEL derivatives |
63 | Alma Linux | 8.x | x86\_64, AArch64 | Also includes support for Rocky Linux and other ABI compatible RHEL derivatives |
64 +| Amazon Linux | 2023 | x86\_64, AArch64 | |
65 +| Amazon Linux | 2 | x86\_64, AArch64 | |
66 | CentOS | 7.x | x86\_64 | |
67 | Docker | 19.03 or newer | x86\_64, i386, ARMv7, AArch64, POWER8+ | See our [Docker documentation](https://github.com/netdata/netdata/blob/master/packaging/docker/README.md) for more info on using Netdata on Docker |
68 | Debian | 12.x | x86\_64, i386, ARMv7, AArch64 | |
@@ -91,10 +93,10 @@ with minimal user effort.
93
94 | Platform | Version | Official Native Packages | Notes |
95 |---------------|------------|--------------------------|------------------------------------------------------------------------------------------------------|
96 +| Alpine Linux | Edge | No | |
97 +| Alpine Linux | 3.17 | No | |
98 | Alpine Linux | 3.16 | No | |
99 | Alpine Linux | 3.15 | No | |
96 -| Amazon Linux | 2023 | x86\_64, AArch64 | Scheduled for promotion to Core tier at some point after the release of v1.39.0 of the Netdata Agent |
97 -| Amazon Linux | 2 | x86\_64, AArch64 | Scheduled for promotion to Core tier at some point after the release of v1.39.0 of the Netdata Agent |
100 | Arch Linux | Latest | No | We officially recommend the community packages available for Arch Linux |
101 | Manjaro Linux | Latest | No | We officially recommend the community packages available for Arch Linux |
102 | openSUSE | Tumbleweed | x86\_64, AArch64 | Scheduled for promotion to Core tier at some point after the release of v1.41.0 of the Netdata Agent |
@@ -109,16 +111,14 @@ platforms, but may require some extra effort from users.
111
112 | Platform | Version | Official Native Packages | Notes |
113 |--------------|------------|--------------------------|-----------------------------------------------------------------------------------------------------------|
112 -| Alpine Linux | Edge | No | |
114 | Clear Linux | Latest | No | |
115 | Debian | Sid | No | |
116 | Fedora | Rawhide | No | |
117 | FreeBSD | 13-STABLE | No | Netdata is included in the FreeBSD Ports Tree, and this is the recommended installation method on FreeBSD |
117 -| FreeBSD | 12-STABLE | No | Netdata is included in the FreeBSD Ports Tree, and this is the recommended installation method on FreeBSD |
118 | Gentoo | Latest | No | |
119 +| macOS | 13 | No | Currently only works for Intel-based hardware. Requires Homebrew for dependencies |
120 | macOS | 12 | No | Currently only works for Intel-based hardware. Requires Homebrew for dependencies |
121 | macOS | 11 | No | Currently only works for Intel-based hardware. Requires Homebrew for dependencies. |
121 -| macOS | 10.15 | No | Requires Homebrew for dependencies. |
122 | openSUSE | Tumbleweed | No | |
123
124 ## Third-party supported platforms