Skip to content

Commit 0bc406a

Browse files
authored
NR-423018: add support for RHEL 10 (#2112)
1 parent 8c994a9 commit 0bc406a

File tree

10 files changed

+307
-6
lines changed

10 files changed

+307
-6
lines changed

.github/workflows/component_molecule_packaging.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ jobs:
2828
repo_base_url: ${{ inputs.REPO_ENDPOINT }}
2929
package_name: 'newrelic-infra'
3030
package_version: ${{ inputs.TAG }}
31-
platforms: "al2,al2023,debian-bullseye,debian-bookworm,redhat8,redhat9,suse15.3,suse15.4,suse15.5,suse15.6,ubuntu1604,ubuntu1804,ubuntu2004,ubuntu2204,ubuntu2404"
31+
platforms: "al2,al2023,debian-bullseye,debian-bookworm,redhat8,redhat9,redhat10,suse15.3,suse15.4,suse15.5,suse15.6,ubuntu1604,ubuntu1804,ubuntu2004,ubuntu2204,ubuntu2404"
3232
- name: Test FIPS package installation
3333
uses: newrelic/pkg-installation-testing-action@v1
3434
with:
@@ -37,4 +37,4 @@ jobs:
3737
package_name: 'newrelic-infra-fips'
3838
exec_name: 'newrelic-infra'
3939
package_version: ${{ inputs.TAG }}
40-
platforms: "al2,al2023,debian-bullseye,debian-bookworm,redhat8,redhat9,suse15.3,suse15.4,suse15.5,suse15.6,ubuntu1604,ubuntu1804,ubuntu2004,ubuntu2204,ubuntu2404"
40+
platforms: "al2,al2023,debian-bullseye,debian-bookworm,redhat8,redhat9,redhat10,suse15.3,suse15.4,suse15.5,suse15.6,ubuntu1604,ubuntu1804,ubuntu2004,ubuntu2204,ubuntu2404"
Lines changed: 95 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,95 @@
1+
# RHEL 10 amd64
2+
3+
- id: rhel-10-infrastructure-agent
4+
builds:
5+
- linux-agent-amd64
6+
- linux-ctl-amd64
7+
- linux-service-amd64
8+
package_name: "newrelic-infra{{ .Env.FIPS }}"
9+
file_name_template: >-
10+
newrelic-infra{{ .Env.FIPS }}-
11+
{{- .Env.TAG }}-1.el10.
12+
{{- if eq .Arch "amd64" -}}x86_64
13+
{{- else -}}
14+
{{ .Arch }}
15+
{{- end }}
16+
vendor: 'New Relic, Inc.'
17+
homepage: 'https://docs.newrelic.com/docs/release-notes/infrastructure-release-notes/infrastructure-agent-release-notes'
18+
maintainer: '[email protected]'
19+
description: 'New Relic Infrastructure provides flexible, dynamic server monitoring. With real-time data collection and a UI that scales from a handful of hosts to thousands, Infrastructure is designed for modern Operations teams with fast-changing systems.'
20+
license: 'Copyright (c) 2008-2021 New Relic, Inc. All rights reserved.'
21+
formats:
22+
- rpm
23+
bindir: /usr/bin
24+
contents:
25+
- src: 'assets/examples/logging/linux/file.yml.example'
26+
dst: '/etc/newrelic-infra/logging.d/file.yml.example'
27+
- src: 'assets/examples/logging/linux/fluentbit.yml.example'
28+
dst: '/etc/newrelic-infra/logging.d/fluentbit.yml.example'
29+
- src: 'assets/examples/logging/linux/syslog.yml.example'
30+
dst: '/etc/newrelic-infra/logging.d/syslog.yml.example'
31+
- src: 'assets/examples/logging/linux/systemd.yml.example'
32+
dst: '/etc/newrelic-infra/logging.d/systemd.yml.example'
33+
- src: 'assets/examples/logging/linux/tcp.yml.example'
34+
dst: '/etc/newrelic-infra/logging.d/tcp.yml.example'
35+
36+
- src: 'build/package/systemd/newrelic-infra.service'
37+
dst: '/etc/systemd/system/newrelic-infra.service'
38+
- src: 'LICENSE'
39+
dst: '/var/db/newrelic-infra/LICENSE.txt'
40+
- src: 'target/nridocker/amd64/etc/newrelic-infra/integrations.d/docker-config.yml'
41+
dst: '/etc/newrelic-infra/integrations.d/docker-config.yml'
42+
type: config
43+
- src: 'target/nridocker/amd64/var/db/newrelic-infra/newrelic-integrations/bin/nri-docker'
44+
dst: '/opt/newrelic-infra/newrelic-integrations/bin/nri-docker'
45+
- src: 'target/nriflex/amd64/nri-flex'
46+
dst: '/opt/newrelic-infra/newrelic-integrations/bin/nri-flex'
47+
- src: 'target/nriprometheus/amd64/var/db/newrelic-infra/newrelic-integrations/bin/nri-prometheus'
48+
dst: '/opt/newrelic-infra/newrelic-integrations/bin/nri-prometheus'
49+
- src: 'target/fluent-bit-plugin/amd64/out_newrelic.so'
50+
dst: '/var/db/newrelic-infra/newrelic-integrations/logging/out_newrelic.so'
51+
- src: 'assets/examples/logging/parsers.conf'
52+
dst: '/var/db/newrelic-infra/newrelic-integrations/logging/parsers.conf'
53+
54+
- dst: /opt/newrelic-infra/custom-integrations
55+
type: dir
56+
- dst: /opt/newrelic-infra/newrelic-integrations
57+
type: dir
58+
- dst: /var/db/newrelic-infra/custom-integrations
59+
type: dir
60+
- dst: /var/db/newrelic-infra/integrations.d
61+
type: dir
62+
- dst: /var/log/newrelic-infra
63+
type: dir
64+
- dst: /var/run/newrelic-infra
65+
type: dir
66+
epoch: 0
67+
release: 1.el10
68+
69+
# Scripts to execute during the installation of the package.
70+
scripts:
71+
preinstall: "build/package/before-install.sh"
72+
preremove: "build/package/rpm/prerm-systemd.sh"
73+
74+
# Packages to replace according to old packaging scripts.
75+
replaces:
76+
- opspro-agent
77+
- opspro-agent-systemd
78+
# Section.
79+
section: default
80+
# Priority.
81+
priority: extra
82+
rpm:
83+
scripts:
84+
posttrans: "build/package/rpm/postinst-systemd.sh"
85+
86+
summary: "New Relic Infrastructure Agent"
87+
group: default
88+
# Recommended packages. If they fail to install installation of the agent will not be interrupted.
89+
recommends:
90+
- fluent-bit
91+
# conflicts is not "templatable", so we add the conflicts-suffix-placeholder to be replaced later
92+
conflicts:
93+
- newrelic-infra#conflicts-suffix-placeholder#
94+
95+
# end RHEL 10 amd64
Lines changed: 87 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,87 @@
1+
# RHEL 10 arm
2+
3+
- id: rhel-10-infrastructure-agent-arm
4+
builds:
5+
- linux-agent-arm
6+
- linux-ctl-arm
7+
- linux-service-arm
8+
package_name: newrelic-infra
9+
file_name_template: "newrelic-infra-{{ .Env.TAG }}-1.el10.{{ .Arch }}"
10+
vendor: 'New Relic, Inc.'
11+
homepage: 'https://docs.newrelic.com/docs/release-notes/infrastructure-release-notes/infrastructure-agent-release-notes'
12+
maintainer: '[email protected]'
13+
description: 'New Relic Infrastructure provides flexible, dynamic server monitoring. With real-time data collection and a UI that scales from a handful of hosts to thousands, Infrastructure is designed for modern Operations teams with fast-changing systems.'
14+
license: 'Copyright (c) 2008-2021 New Relic, Inc. All rights reserved.'
15+
formats:
16+
- rpm
17+
bindir: /usr/bin
18+
contents:
19+
# - src: 'assets/examples/logging/linux/file.yml.example'
20+
# dst: '/etc/newrelic-infra/logging.d/file.yml.example'
21+
# - src: 'assets/examples/logging/linux/fluentbit.yml.example'
22+
# dst: '/etc/newrelic-infra/logging.d/fluentbit.yml.example'
23+
# - src: 'assets/examples/logging/linux/syslog.yml.example'
24+
# dst: '/etc/newrelic-infra/logging.d/syslog.yml.example'
25+
# - src: 'assets/examples/logging/linux/systemd.yml.example'
26+
# dst: '/etc/newrelic-infra/logging.d/systemd.yml.example'
27+
# - src: 'assets/examples/logging/linux/tcp.yml.example'
28+
# dst: '/etc/newrelic-infra/logging.d/tcp.yml.example'
29+
30+
- src: 'build/package/systemd/newrelic-infra.service'
31+
dst: '/etc/systemd/system/newrelic-infra.service'
32+
- src: 'LICENSE'
33+
dst: '/var/db/newrelic-infra/LICENSE.txt'
34+
- src: 'target/nridocker/{{ .Arch }}/etc/newrelic-infra/integrations.d/docker-config.yml'
35+
dst: '/etc/newrelic-infra/integrations.d/docker-config.yml'
36+
type: config
37+
- src: 'target/nridocker/{{ .Arch }}/var/db/newrelic-infra/newrelic-integrations/bin/nri-docker'
38+
dst: '/opt/newrelic-infra/newrelic-integrations/bin/nri-docker'
39+
- src: 'target/nriflex/{{ .Arch }}/nri-flex'
40+
dst: '/opt/newrelic-infra/newrelic-integrations/bin/nri-flex'
41+
- src: 'target/nriprometheus/{{ .Arch }}/var/db/newrelic-infra/newrelic-integrations/bin/nri-prometheus'
42+
dst: '/opt/newrelic-infra/newrelic-integrations/bin/nri-prometheus'
43+
# - src: 'target/fluent-bit-plugin/{{ .Arch }}/out_newrelic.so'
44+
# dst: '/var/db/newrelic-infra/newrelic-integrations/logging/out_newrelic.so'
45+
# - src: 'assets/examples/logging/parsers.conf'
46+
# dst: '/var/db/newrelic-infra/newrelic-integrations/logging/parsers.conf'
47+
48+
- dst: /opt/newrelic-infra/custom-integrations
49+
type: dir
50+
- dst: /opt/newrelic-infra/newrelic-integrations
51+
type: dir
52+
- dst: /var/db/newrelic-infra/custom-integrations
53+
type: dir
54+
- dst: /var/db/newrelic-infra/integrations.d
55+
type: dir
56+
- dst: /var/log/newrelic-infra
57+
type: dir
58+
- dst: /var/run/newrelic-infra
59+
type: dir
60+
epoch: 0
61+
release: 1.el10
62+
63+
# Scripts to execute during the installation of the package.
64+
scripts:
65+
preinstall: "build/package/before-install.sh"
66+
preremove: "build/package/rpm/prerm-systemd.sh"
67+
# Packages to replace according to old packaging scripts.
68+
replaces:
69+
- opspro-agent
70+
- opspro-agent-systemd
71+
# Section.
72+
section: default
73+
# Priority.
74+
priority: extra
75+
rpm:
76+
scripts:
77+
posttrans: "build/package/rpm/postinst-systemd.sh"
78+
79+
summary: "New Relic Infrastructure Agent"
80+
group: default
81+
# Recommended packages. If they fail to install installation of the agent will not be interrupted.
82+
# recommends:
83+
# FB not supported yet
84+
# - td-agent-bit #To be removed on removal of the ff fluent_bit_19
85+
# - fluent-bit
86+
87+
# end RHEL 10 arm
Lines changed: 88 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,88 @@
1+
# RHEL 10 arm64
2+
3+
- id: rhel-10-infrastructure-agent-arm64
4+
builds:
5+
- linux-agent-arm64
6+
- linux-ctl-arm64
7+
- linux-service-arm64
8+
package_name: "newrelic-infra{{ .Env.FIPS }}"
9+
file_name_template: "newrelic-infra{{ .Env.FIPS }}-{{ .Env.TAG }}-1.el10.{{ .Arch }}"
10+
vendor: 'New Relic, Inc.'
11+
homepage: 'https://docs.newrelic.com/docs/release-notes/infrastructure-release-notes/infrastructure-agent-release-notes'
12+
maintainer: '[email protected]'
13+
description: 'New Relic Infrastructure provides flexible, dynamic server monitoring. With real-time data collection and a UI that scales from a handful of hosts to thousands, Infrastructure is designed for modern Operations teams with fast-changing systems.'
14+
license: 'Copyright (c) 2008-2021 New Relic, Inc. All rights reserved.'
15+
formats:
16+
- rpm
17+
bindir: /usr/bin
18+
contents:
19+
- src: 'assets/examples/logging/linux/file.yml.example'
20+
dst: '/etc/newrelic-infra/logging.d/file.yml.example'
21+
- src: 'assets/examples/logging/linux/fluentbit.yml.example'
22+
dst: '/etc/newrelic-infra/logging.d/fluentbit.yml.example'
23+
- src: 'assets/examples/logging/linux/syslog.yml.example'
24+
dst: '/etc/newrelic-infra/logging.d/syslog.yml.example'
25+
- src: 'assets/examples/logging/linux/systemd.yml.example'
26+
dst: '/etc/newrelic-infra/logging.d/systemd.yml.example'
27+
- src: 'assets/examples/logging/linux/tcp.yml.example'
28+
dst: '/etc/newrelic-infra/logging.d/tcp.yml.example'
29+
30+
- src: 'build/package/systemd/newrelic-infra.service'
31+
dst: '/etc/systemd/system/newrelic-infra.service'
32+
- src: 'LICENSE'
33+
dst: '/var/db/newrelic-infra/LICENSE.txt'
34+
- src: 'target/nridocker/{{ .Arch }}/etc/newrelic-infra/integrations.d/docker-config.yml'
35+
dst: '/etc/newrelic-infra/integrations.d/docker-config.yml'
36+
type: config
37+
- src: 'target/nridocker/{{ .Arch }}/var/db/newrelic-infra/newrelic-integrations/bin/nri-docker'
38+
dst: '/opt/newrelic-infra/newrelic-integrations/bin/nri-docker'
39+
- src: 'target/nriflex/{{ .Arch }}/nri-flex'
40+
dst: '/opt/newrelic-infra/newrelic-integrations/bin/nri-flex'
41+
- src: 'target/nriprometheus/{{ .Arch }}/var/db/newrelic-infra/newrelic-integrations/bin/nri-prometheus'
42+
dst: '/opt/newrelic-infra/newrelic-integrations/bin/nri-prometheus'
43+
- src: 'target/fluent-bit-plugin/{{ .Arch }}/out_newrelic.so'
44+
dst: '/var/db/newrelic-infra/newrelic-integrations/logging/out_newrelic.so'
45+
- src: 'assets/examples/logging/parsers.conf'
46+
dst: '/var/db/newrelic-infra/newrelic-integrations/logging/parsers.conf'
47+
48+
- dst: /opt/newrelic-infra/custom-integrations
49+
type: dir
50+
- dst: /opt/newrelic-infra/newrelic-integrations
51+
type: dir
52+
- dst: /var/db/newrelic-infra/custom-integrations
53+
type: dir
54+
- dst: /var/db/newrelic-infra/integrations.d
55+
type: dir
56+
- dst: /var/log/newrelic-infra
57+
type: dir
58+
- dst: /var/run/newrelic-infra
59+
type: dir
60+
epoch: 0
61+
release: 1.el10
62+
63+
# Scripts to execute during the installation of the package.
64+
scripts:
65+
preinstall: "build/package/before-install.sh"
66+
preremove: "build/package/rpm/prerm-systemd.sh"
67+
# Packages to replace according to old packaging scripts.
68+
replaces:
69+
- opspro-agent
70+
- opspro-agent-systemd
71+
# Section.
72+
section: default
73+
# Priority.
74+
priority: extra
75+
rpm:
76+
scripts:
77+
posttrans: "build/package/rpm/postinst-systemd.sh"
78+
79+
summary: "New Relic Infrastructure Agent"
80+
group: default
81+
# Recommended packages. If they fail to install installation of the agent will not be interrupted.
82+
recommends:
83+
- fluent-bit
84+
# conflicts is not "templatable", so we add the conflicts-suffix-placeholder to be replaced later
85+
conflicts:
86+
- newrelic-infra#conflicts-suffix-placeholder#
87+
88+
# end RHEL 10 arm64

build/release.mk

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -195,6 +195,7 @@ generate-goreleaser-amd64:
195195
$(CURDIR)/build/goreleaser/linux/centos_7_amd64.yml\
196196
$(CURDIR)/build/goreleaser/linux/centos_8_amd64.yml\
197197
$(CURDIR)/build/goreleaser/linux/rhel_9_amd64.yml\
198+
$(CURDIR)/build/goreleaser/linux/rhel_10_amd64.yml\
198199
$(CURDIR)/build/goreleaser/linux/debian_systemd_amd64.yml\
199200
$(CURDIR)/build/goreleaser/linux/debian_upstart_amd64.yml\
200201
$(CURDIR)/build/goreleaser/linux/sles_114_amd64.yml\
@@ -224,6 +225,7 @@ generate-goreleaser-amd64:
224225
$(CURDIR)/build/goreleaser/linux/centos_7_arm.yml\
225226
$(CURDIR)/build/goreleaser/linux/centos_8_arm.yml\
226227
$(CURDIR)/build/goreleaser/linux/rhel_9_arm.yml\
228+
$(CURDIR)/build/goreleaser/linux/rhel_10_arm.yml\
227229
$(CURDIR)/build/goreleaser/linux/debian_systemd_arm.yml\
228230
$(CURDIR)/build/goreleaser/linux/sles_122_arm.yml\
229231
$(CURDIR)/build/goreleaser/linux/sles_123_arm.yml\
@@ -249,6 +251,7 @@ generate-goreleaser-arm64:
249251
$(CURDIR)/build/goreleaser/linux/centos_7_arm64.yml\
250252
$(CURDIR)/build/goreleaser/linux/centos_8_arm64.yml\
251253
$(CURDIR)/build/goreleaser/linux/rhel_9_arm64.yml\
254+
$(CURDIR)/build/goreleaser/linux/rhel_10_arm64.yml\
252255
$(CURDIR)/build/goreleaser/linux/debian_systemd_arm64.yml\
253256
$(CURDIR)/build/goreleaser/linux/sles_122_arm64.yml\
254257
$(CURDIR)/build/goreleaser/linux/sles_123_arm64.yml\
@@ -300,6 +303,9 @@ generate-goreleaser-multiarch:
300303
$(CURDIR)/build/goreleaser/linux/rhel_9_amd64.yml\
301304
$(CURDIR)/build/goreleaser/linux/rhel_9_arm.yml\
302305
$(CURDIR)/build/goreleaser/linux/rhel_9_arm64.yml\
306+
$(CURDIR)/build/goreleaser/linux/rhel_10_amd64.yml\
307+
$(CURDIR)/build/goreleaser/linux/rhel_10_arm.yml\
308+
$(CURDIR)/build/goreleaser/linux/rhel_10_arm64.yml\
303309
$(CURDIR)/build/goreleaser/linux/debian_systemd_amd64.yml\
304310
$(CURDIR)/build/goreleaser/linux/debian_systemd_arm.yml\
305311
$(CURDIR)/build/goreleaser/linux/debian_systemd_arm64.yml\

build/upload-schema-linux-rpm.yml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
- 7
1111
- 8
1212
- 9
13+
- 10
1314

1415
- src: "newrelic-infra-{version}-1.el{os_version}.{arch}.rpm"
1516
arch:
@@ -22,6 +23,7 @@
2223
- 7
2324
- 8
2425
- 9
26+
- 10
2527

2628
- src: "newrelic-infra-{version}-1.sles{os_version}.{arch}.rpm"
2729
arch:
@@ -89,6 +91,7 @@
8991
- 7
9092
- 8
9193
- 9
94+
- 10
9295

9396
- src: "newrelic-infra-{version}-1.el{os_version}.{arch}.rpm.sum"
9497
arch:
@@ -100,6 +103,7 @@
100103
- 7
101104
- 8
102105
- 9
106+
- 10
103107

104108
- src: "newrelic-infra-{version}-1.el{os_version}.{arch}.rpm.sum"
105109
arch:
@@ -111,6 +115,7 @@
111115
- 7
112116
- 8
113117
- 9
118+
- 10
114119

115120
- src: "newrelic-infra-{version}-1.sles{os_version}.{arch}.rpm.sum"
116121
arch:

test/automated/ansible/group_vars/localhost/main.yml

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -190,6 +190,13 @@ instances:
190190
platform: "linux"
191191
python_interpreter: "/usr/bin/python"
192192
launch_template: "LaunchTemplateId=lt-0b00afb3f5110a0e6,Version=3"
193+
- ami: "ami-068d5d5ed1eeea07c"
194+
type: "t3a.small"
195+
name: "amd64:redhat-10.0"
196+
username: "ec2-user"
197+
platform: "linux"
198+
python_interpreter: "/usr/bin/python3"
199+
launch_template: "LaunchTemplateId=lt-0b00afb3f5110a0e6,Version=3"
193200
############################
194201
# redhat arm64
195202
############################
@@ -200,6 +207,13 @@ instances:
200207
platform: "linux"
201208
python_interpreter: "/usr/bin/python"
202209
launch_template: "LaunchTemplateId=lt-0b00afb3f5110a0e6,Version=3"
210+
- ami: "ami-07b21932ee4cac8c0"
211+
type: "t4g.small"
212+
name: "arm64:redhat-10.0"
213+
username: "ec2-user"
214+
platform: "linux"
215+
python_interpreter: "/usr/bin/python3"
216+
launch_template: "LaunchTemplateId=lt-0b00afb3f5110a0e6,Version=3"
203217
############################
204218
# debian amd64
205219
############################

0 commit comments

Comments
 (0)