Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

MON-22659 Centreon next 23.10 (Jira release #19428#) #922

Merged
merged 552 commits into from
Oct 30, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
552 commits
Select commit Hold shift + click to select a range
401e147
fix(bsm): some issues (typo + special chars handling) (#28)
omercier Jul 31, 2020
a1ed151
fix(README): BSM connector now needs luaxml (#29)
omercier Aug 3, 2020
540d80a
fix(bsm): typo in content-type header definition (#30)
omercier Aug 4, 2020
99ef371
fix(influx) Ignore time metric (#34)
UrBnW Sep 3, 2020
41b8fba
Canopsis (#35)
paulpremont Sep 24, 2020
4e99dbf
(enh): Refacto of splunk connector (#27)
pkriko Oct 5, 2020
384679a
enh(pagerduty): various improvements to PagerDuty connector (#36)
omercier Oct 7, 2020
6be90ee
Fix hostgroups for services + state change condition (#37)
ppremont-capensis Oct 14, 2020
168bfcb
fix(doc) - add prerequisites for OMI
s-duret Nov 26, 2020
bf00198
avoid "attempt to compare number with nil"
s-duret Jan 26, 2021
c69160b
add prometheus gateway stream connector (#41)
tanguyvda Feb 11, 2021
f71988f
enh(influxdb) Add an option to store states (#43)
UrBnW Feb 25, 2021
21d98fb
Snow rework (#39)
tanguyvda Feb 25, 2021
01f8d4a
add opsgenie stream connector (#42)
tanguyvda Feb 25, 2021
d3e1d9a
Stream connectors v2 (#45)
tanguyvda Apr 5, 2021
759366d
Modules Docs + Modules bug fixes + Modules new features (#46)
tanguyvda May 4, 2021
504b647
fix memory leak + sc naming (#47)
tanguyvda May 6, 2021
ebb1b3d
Add downtime, ack, dedup features (#48)
tanguyvda May 31, 2021
9ff5601
fix missing standard param (#49)
tanguyvda May 31, 2021
bac9594
fix rockspec v1.1.0-2 (#50)
tanguyvda May 31, 2021
16b0cfc
fix requires in test_kafka script (#51)
tanguyvda May 31, 2021
fee8605
fix rockspec (#52)
tanguyvda May 31, 2021
b6ecca4
prepare 1.2 release add new stream connectors
tanguyvda Jun 14, 2021
be4e907
Update centreon-stream-connectors-lib-1.2.0-1.rockspec
tanguyvda Jun 15, 2021
90e5a41
patch for el8 compatibility (#55)
tanguyvda Jun 18, 2021
0b23132
fix(influxdb) Properly replace backslashes (#54)
UrBnW Jun 18, 2021
781b47e
fix(influxdb) events may not have last_check value (#56)
UrBnW Jun 25, 2021
d65349f
Splunk rework + prepare new release (#57)
tanguyvda Jul 15, 2021
59577f5
add rockspec files for 1.3.0 release (#58)
tanguyvda Jul 15, 2021
3de47bd
fix wrong logging default configuration (#59)
tanguyvda Jul 16, 2021
2a81d8c
typo
pkriko Aug 4, 2021
56cc0f4
improve kafka and doc readme (#60)
tanguyvda Aug 9, 2021
0757686
enh(influxdb) get rid of deduplicate (#61)
UrBnW Aug 9, 2021
a8629e4
Fix splunk (#62)
tanguyvda Sep 6, 2021
0669edc
Forgot doc (#63)
tanguyvda Sep 6, 2021
ac045e1
Fix splunk metrics (#64)
tanguyvda Sep 6, 2021
374df5c
Streamline kafka (#65)
tanguyvda Sep 6, 2021
ce2f00e
fix require for kafka (#66)
tanguyvda Sep 7, 2021
b162ff2
add rockspec file for 1.4.1-1 (#67)
tanguyvda Sep 7, 2021
9ade1b2
Fix bigquery (#68)
tanguyvda Sep 9, 2021
949995b
add rockspec for 1.4.2-1 (#69)
tanguyvda Sep 9, 2021
0516189
fix Cache and flag and json (#70)
tanguyvda Sep 23, 2021
d3784e5
Fix kafka format event (#71)
tanguyvda Sep 23, 2021
7ad7355
Refacto pagerduty (#73)
tanguyvda Oct 5, 2021
b3e1c91
fix proxy param (#74)
tanguyvda Oct 6, 2021
ab92647
Buffer issue (#75)
tanguyvda Oct 6, 2021
5f08edb
bad log messages and typos (#76)
tanguyvda Oct 12, 2021
1aa7312
fix splunk json (#79)
tanguyvda Oct 15, 2021
3e98b96
fix Splunk metric event
s-duret Oct 18, 2021
a6207bd
fix wrong variable name
tanguyvda Oct 22, 2021
8be23c0
enh(doc) update links (#81)
ponchoh Nov 16, 2021
ad28d89
enh(elastic) add events apiv2 (#72)
Nov 18, 2021
6563402
(stream) signl4-sc initial release (#84)
Nov 26, 2021
f1d45f1
Training course (#88)
tanguyvda Dec 3, 2021
88b0fed
Training course (#89)
tanguyvda Dec 3, 2021
012e1bd
(stream)signl4 bugfix and json simplification (#87)
Dec 3, 2021
8b91458
(lib)sc_macro fix buggy transform_date function (#86)
Dec 3, 2021
a79bc0c
Traning course plus (#90)
tanguyvda Dec 9, 2021
9e8f514
Update centreon_classroom.lua
tanguyvda Dec 9, 2021
89c2299
Update exercises.md
tanguyvda Dec 9, 2021
719549d
exercise 3 answer
tanguyvda Dec 10, 2021
c0195bb
exercises 4 and 5 answers
tanguyvda Dec 10, 2021
2d3c328
exercise 4 and 5 answers
tanguyvda Dec 10, 2021
49036bd
Update exercices_answers.md
tanguyvda Dec 10, 2021
e549022
add summary
tanguyvda Dec 10, 2021
64a61b4
Update exercices_answers.md
tanguyvda Dec 10, 2021
f995f6c
+ add Signl4 doc link
Dec 13, 2021
b9a85af
Refacto streamconnector BSM v2
psamecentreon Dec 16, 2021
4de9d83
Review code after firts recommandations
psamecentreon Dec 20, 2021
0b0d807
Change name file
psamecentreon Dec 20, 2021
e350c8a
Review function write
psamecentreon Dec 20, 2021
f30287a
Refacto event treatment for when send_data_test=1
psamecentreon Dec 28, 2021
62a00f8
Review code with of formated data
psamecentreon Jan 14, 2022
a298cf9
delete comment block
psamecentreon Jan 14, 2022
cec7b63
refacto to v3
psamecentreon Jan 21, 2022
97c2f8e
Create function xml_escape for bsm-event SC
psamecentreon Jan 14, 2022
e6f4fbc
Delete file because already in others PR
psamecentreon Jan 21, 2022
6bdecd7
Apply suggestions from code review
psamecentreon Jan 25, 2022
5471e94
Create sc_common.lua
psamecentreon Jan 25, 2022
3247016
Last review
psamecentreon Jan 25, 2022
f41da54
Add spec 1 5 4 (#92)
tanguyvda Dec 16, 2021
7972e08
refacto hp omi to apiv2
psamecentreon Jan 27, 2022
d9b5ddd
Delete bsm-events-apiv2.lua
psamecentreon Jan 27, 2022
dc7cc92
Update omi_events-apiv2.lua
psamecentreon Jan 27, 2022
782f7d1
Delete max_buffer_size params because not correctly event format
psamecentreon Feb 1, 2022
50378c5
Enhancement event format to multi event
psamecentreon Feb 22, 2022
7174bfc
(stream/lib): sc_flush - refacto queue system and compatibility patch…
tanguyvda Feb 17, 2022
2ed68f0
enhencament format event for event in payload
psamecentreon Feb 22, 2022
d9cf3da
(stream/lib) sc_event: add new event outputs options (#97)
tanguyvda Mar 16, 2022
6497950
(streams/lib): add rockspec 2.1.0-1 (#102)
tanguyvda Mar 17, 2022
4a1c5e5
forgot require sc_flush lib
tanguyvda Apr 13, 2022
f60fd26
(stream/events) missing sc_flush new instance
matoy Apr 14, 2022
34671f2
(stream/event): fix add queue method (#106)
tanguyvda Apr 21, 2022
1200a18
(stream/events): add Datadog sc (#101)
tanguyvda May 10, 2022
02ad34f
(stream/lib) Metric v2 (#103)
tanguyvda May 10, 2022
3e55d59
add specfile (#109)
tanguyvda May 12, 2022
a33181c
(stream/lib) sc_param bbdo3 and bddo2 compat (#108)
tanguyvda May 12, 2022
5424ef8
add spec file (#110)
tanguyvda May 12, 2022
003fda8
(stream/events) add logstash-events stream connector (#111)
tanguyvda Jun 1, 2022
edfbb5f
fix wrong event format method (#114)
tanguyvda Jun 10, 2022
5e50d9b
(stream/lib) add output limit (#112)
tanguyvda Jun 13, 2022
a875b9a
handle last_check & last_update for better compat (#116)
tanguyvda Jun 17, 2022
423c9da
add 3.2.0-1 spec file (#117)
tanguyvda Jun 17, 2022
a7e11a4
Update datadog-events-apiv2.lua
tanguyvda Jun 24, 2022
d84d586
Enhance macro system (new group macro + new transformation flags) (#118)
tanguyvda Jul 29, 2022
882d6d9
add custom code feature for stream connectors (#119)
tanguyvda Aug 11, 2022
2c345e6
add specfile for 3.3.0 release (#120)
tanguyvda Aug 11, 2022
ff36d96
add canopsis stream certified stream connector + queue system enhance…
tanguyvda Dec 5, 2022
b4eb8af
add specfile 3.4.0-1 (#123)
tanguyvda Dec 5, 2022
ba866b3
fix ack remove and dt cache and more sc options (#124)
tanguyvda Jan 5, 2023
81ac3c0
fix ack remove dt remove and dt send (#126)
tanguyvda Jan 12, 2023
a159711
Flapping and canopsis4 (#127)
tanguyvda Jan 23, 2023
df39abc
fix broken long output with line break (#128)
tanguyvda Jan 30, 2023
08c9576
fix wrong mandatory param and wrong dt index (#129)
tanguyvda Jan 30, 2023
7061d0a
add a new method to create shell curl commands (#130)
tanguyvda Jan 31, 2023
9307c9c
fix wrong method name (#131)
tanguyvda Feb 1, 2023
6bd2e9a
add instance and service as grouping key (#133)
xenofree Feb 8, 2023
78929fa
enh(ci): avoid to always trigger collect workflow
kduret Feb 10, 2023
5f25ec2
MON-16987 add root bdd access (#565)
jean-christophe81 Feb 13, 2023
edbae9c
MON-16995 split external-commands tests (#566)
jean-christophe81 Feb 13, 2023
588971b
fix stream connectors packaging
kduret Feb 14, 2023
8df318e
Merge branch 'develop' into sync-stream-connectors-2023-02-10T08-32-44
kduret Feb 14, 2023
6db1d89
fix(ci): avoid deliver on dev branches
kduret Feb 14, 2023
984b03d
fix(ci): fix get version of canary packages
kduret Feb 14, 2023
cd532e6
fix(ci): update deb delivery inputs for nexus
kduret Feb 14, 2023
a5adf97
chore(stream-connectors): merge stream-connectors repo to centreon-co…
kduret Feb 14, 2023
1df8065
fic(ci): remove anchors in centreon-collect workflow (#569)
kduret Feb 14, 2023
5e3bdb2
MON-17012 metrics are copied in _metrics, tests/init_sql.sh can creat…
jean-christophe81 Feb 14, 2023
dadca5c
chore(ci): preserve artifacts 1 day (#577)
kduret Feb 17, 2023
63faa9f
MON-17037 fix ad and bbdo-protobuf (#575)
jean-christophe81 Feb 17, 2023
558f755
chore(ci): move to harbor docker registry (#580)
kduret Feb 22, 2023
ecce26a
chore(ci): package stream connectors (#570)
kduret Feb 24, 2023
c1b9feb
fix(stream-connectors): bulk event and improve canopsis4 (#584)
kduret Feb 24, 2023
c9154b0
chore(ci): remove stream-collectors from collect repository (#593)
kduret Mar 1, 2023
12c01d6
MON-16987 fix timestamp floor issue (#594)
jean-christophe81 Mar 2, 2023
c72234e
Mon 17037 ad test fix (#595)
jean-christophe81 Mar 3, 2023
74af303
chore(license): update package licenses (#558)
sc979 Mar 3, 2023
db5ef00
enh(ci): handle debian delivery failure (#598)
tuntoja Mar 6, 2023
c1b64ba
Mon 17346 trace coredump (#596)
jean-christophe81 Mar 7, 2023
b8880ae
fix(engine/config): tag and severity had several issues
bouda1 Mar 7, 2023
145b4e2
chore(ci): publish to new repositories (#607)
kduret Mar 15, 2023
27989e8
Mon 17390 scheduler test (#609)
jean-christophe81 Mar 17, 2023
cd8b1ef
ci(sync-branches): use technique-ci PAT (#613)
paloth Mar 20, 2023
5d53489
fix(collect): develop backport of 22.04 patches
bouda1 Mar 22, 2023
403f8ec
MON-17452 multiplexing sources are compiled in multiplexing static li…
jean-christophe81 Mar 22, 2023
f2f904e
Mon 17390 connector ssh test fail (#639)
jean-christophe81 Mar 23, 2023
f3e5194
fix(delivery): restore release with timestamp/hash on unstable (#646)
kduret Mar 23, 2023
94ce376
fix(tests): ccc tests work (#650)
bouda1 Mar 24, 2023
b33e103
fix(tests): BESSBQ1 failed because of a change in broker logs (#653)
bouda1 Mar 24, 2023
6801751
MON-17452-develop-no-fatal-request (#652)
jean-christophe81 Mar 24, 2023
0c1fcab
fix(tests/mysql): issues with mysql connection disconnect/reconnect f…
bouda1 Mar 27, 2023
c24f6d1
MON-17452 fix mysql_ping (#661)
jean-christophe81 Mar 27, 2023
fe93f8d
fix(broker/grpc): issue in test because of change in the api
bouda1 Mar 27, 2023
5e9c036
MON-17452 fix filters.robot bam*.robot grpc-stream.robot (#666)
jean-christophe81 Mar 27, 2023
3a9a19d
enh(engine/tests): LogLevel message has a logger instead of a name
bouda1 Mar 27, 2023
f353f4f
chore(debian): manage version threshold (#669)
sc979 Mar 28, 2023
a3711fb
fix(broker): protobuf events not sent when empty
bouda1 Mar 29, 2023
b9b5b28
MON-17452 wait for mariadb to terminate (#670)
jean-christophe81 Mar 29, 2023
d7f8237
fix(tests): rrd cbd is started but not configured (#673)
bouda1 Mar 30, 2023
982999a
MON-16990 add 2 tests (#675)
jean-christophe81 Mar 30, 2023
e73f4d7
MON-17452 tags fix (#677)
jean-christophe81 Mar 31, 2023
073a9a1
fix(tests/rrd): order of ids may be different in tests and logs (#678)
bouda1 Mar 31, 2023
5a26160
fix(tests): dates round to the floor in server-client-reversed (#680)
bouda1 Mar 31, 2023
cc9fd30
fix(tests): bam_pb did not wait sufficiently to send external command…
bouda1 Mar 31, 2023
a1fd96b
Release #19061#
paloth Apr 26, 2023
4fb934f
Merge branch '23.04.x' into dev-23.04.x
tuntoja Apr 26, 2023
9082dd2
enh(tests): new tests to validate communication with map
bouda1 Apr 27, 2023
6d989ab
fix(broker): add pb status, pb metric to graphite (#706)
jean-christophe81 Apr 21, 2023
7d436f6
fix(engine): AcknowledgementType well passed now.
jean-christophe81 Apr 27, 2023
5203cd0
enh(tests): new tests on downtimes
bouda1 Apr 27, 2023
4310a3f
fix(broker): value of custom variable are filled
jean-christophe81 Apr 24, 2023
f784a09
enh(nightly-tests): 23.04.x added to nightly tests
bouda1 Apr 27, 2023
18a394b
fix(engine): downtimes allow empty duration now
jean-christophe81 Apr 27, 2023
45071d8
fix(broker/unified_sql): dates are stored as NULL in DB on 0
jean-christophe81 Apr 28, 2023
792eb17
chore(version): prepare version 23.10 (#720)
kduret Apr 28, 2023
00d1ae4
fix(tests): retention tests updated (#731)
bouda1 May 9, 2023
b312631
MON-18893 fix ad test (#729)
jean-christophe81 May 9, 2023
93cd89c
fix(tests): LOGV2FE2 and ENRSCHE1 fixed
bouda1 May 10, 2023
a03a936
enh(broker/grpc): new grpc api to observe mysql connections
bouda1 May 16, 2023
edacde2
ci: handle jira environments (#724)
paloth May 17, 2023
f97ad8e
Mon 16634 bam kpi statement develop (#741)
jean-christophe81 May 23, 2023
75c62b1
MON-18785 default_notification_interval=0 (#746)
jean-christophe81 May 23, 2023
4a2918c
fix(gha): robot tests reports do not contain successful tests anymore
bouda1 May 24, 2023
e2c9d5f
fix(broker): Update centreon-engine.logrotate - Add createolddir (#747)
s-duret May 24, 2023
c503875
enh(ci): add double delivery to internal (#752)
tuntoja May 26, 2023
d20d2b8
enh(broker/unified_sql): data_bin writes are made with a bulk prepare…
bouda1 May 30, 2023
5debc51
MON-18785 add test (#754)
jean-christophe81 May 30, 2023
a98a098
enh(ci): introduce actionlint to check workflow syntax (#722)
kduret May 30, 2023
e57c7f8
enh(broker/stats_exporter): first opentelemetry exporter version
bouda1 May 31, 2023
097d7ec
fix(broker/mysql_connection): mysql_connection crash fixed
bouda1 Jun 1, 2023
41a0be0
fix(broker/mysql_stmt): attributes can be mixed now
bouda1 Jun 6, 2023
ba26aae
MON-19258 unified_sql remove duplicates rows found in data_bin (#765)
jean-christophe81 Jun 7, 2023
6f2c392
MON-11761 fix macros init issue (#771)
jean-christophe81 Jun 9, 2023
7eff6d7
enh(broker/muxer_filter): new filter mechanism in broker
bouda1 Jun 9, 2023
6feb79a
fix(broker/unified_sql): if resources initializations fail, broker do…
bouda1 Jun 9, 2023
3cb4604
fix(broker/lua): new cache function get_check_command(host_id,service…
bouda1 Jun 9, 2023
53c447d
adding test to check if metric name is nil + a lua fonction
Jun 13, 2023
633fa81
robot test to check that if reloading lua code in a stream connector …
Jun 16, 2023
3cee114
removing a code not needed that i forgot
Jun 16, 2023
39af234
Mon 10715 add a test case in centreon tests to make sure that reloadi…
sfarouq-ext Jun 21, 2023
539d6b5
feat(ci): promote testing package to stable (#789)
tuntoja Jun 22, 2023
a2bce28
enh(broker/bam): new logs added on boolean rules and AND/OR operators…
bouda1 Jun 22, 2023
ebac07a
fix(ci): fix delivery to rpm-standard (#793)
kduret Jun 23, 2023
760c523
enh(ci): package collect for arm using nfpm (#781)
kduret Jun 29, 2023
b2bd7a7
enh(packaging): remove dependency with centreon-common and deliver to…
kduret Jun 30, 2023
6cc48e5
fix(ci): separate reports of nightly robot (#804)
kduret Jun 30, 2023
10adf15
enh(ci): disable post release merge stable to dev
tuntoja Jul 4, 2023
dbe8a45
enh(ci): disable post release merge stable to dev (#813)
tuntoja Jul 4, 2023
b42498f
fix(tests): robot test on ccc fixed on get_version (#816)
bouda1 Jul 4, 2023
8c2a9ee
Mon 16533 add performance indicator (#811)
jean-christophe81 Jul 13, 2023
37ed7d6
fix(broker/bam): work on boolean rules and unit tests added
bouda1 Jul 18, 2023
ba37415
Mon 16262 victoria metrics interprocess (#703)
jean-christophe81 Jul 21, 2023
d142bfc
fix(victoria) add missing test package and packaging files (#833)
jean-christophe81 Jul 24, 2023
506610f
fix(packaging): fix user/group on debian post update (#840)
kduret Jul 25, 2023
586a781
feat(chore): add pipeline scan (#819)
sc979 Aug 2, 2023
228d05a
update bench plot file
thearchit3ct Aug 4, 2023
f3d0d9e
add new key date_commit
thearchit3ct Aug 17, 2023
b0917de
update bench_plot
thearchit3ct Aug 17, 2023
85d8e91
update sort by date
thearchit3ct Aug 18, 2023
5cf1ef9
update bench plot file (#847)
thearchit3ct Aug 18, 2023
cd6c16d
Convert date commit to timestamp
Aug 21, 2023
b545fa0
Convert date commit to timestamp (#850)
thearchit3ct Aug 21, 2023
8860a4f
Mon 16533 add bench test (#855)
jean-christophe81 Aug 29, 2023
fc707b6
fix(packaging): invert dependency between engine and cbmod (#857)
kduret Aug 30, 2023
69a2b4c
fix(packaging): fix dependency declaration on debian (#858)
kduret Aug 31, 2023
3831e7b
MON-19875 Add test for RRD settings with high check interval at creat…
thearchit3ct Aug 31, 2023
3ce457c
fix(unfied_sql): service and host states are filled at startup with r…
jean-christophe81 Aug 31, 2023
f2f9e14
enh(chore): use engine policy (#859)
sc979 Aug 31, 2023
0c188c1
Mon 18454 rebuild rrd status (#832)
jean-christophe81 Sep 4, 2023
cef3b71
Mon 16533 asio feeders (#856)
jean-christophe81 Sep 14, 2023
5f7f514
enh(broker): logs and data_bin use dedicated auto commit connections …
jean-christophe81 Sep 14, 2023
4b06eca
fix(bam):mod_bam_reporting_relations_ba_bv is filled (#873) (#877)
jean-christophe81 Sep 14, 2023
8fc1f70
feat(ci): package selinux rules (#879)
kduret Sep 25, 2023
acf25c5
fix(test): do not install selinux packages for nightly robot (#893)
kduret Sep 26, 2023
068bee4
fix(resources): sql definitions updated to match centreon web
bouda1 Sep 26, 2023
d642c35
Mon 11584 update mod bam.comment with service output (#882)
jean-christophe81 Sep 26, 2023
e0a32b5
MON-15502 if connexion is closed, a connection_closed exception is th…
jean-christophe81 Sep 28, 2023
8446488
Update bench test with full trace
Sep 29, 2023
a0247e3
update add variables
Sep 29, 2023
1ea1d37
Update teardown
Oct 3, 2023
75fa77d
Mon 10740 add notifications to centreon tests (#849)
sfarouq-ext Oct 4, 2023
dfcc244
enh(broker/bam): events propagation on bam improved.
bouda1 Oct 4, 2023
084f271
update teardown
Oct 5, 2023
7f4f41f
MON-21264 Measure the impact of logging trace messages on Broker's pe…
thearchit3ct Oct 9, 2023
078c255
fix(ci): deliver packages to subdirectories (#913)
kduret Oct 10, 2023
c93a4d9
enh(tests): metric names are available in metric messages (#788)
sfarouq-ext Oct 12, 2023
0d69990
fix(broker/feeder): feeder must be stopped before destroyed
bouda1 Oct 17, 2023
5445e16
enh(ci): do not trigger nightly robot when workflow is updated
kduret Oct 17, 2023
9bd1d7f
Mon-23313 rebuild rrd no metric correspond (#925)
jean-christophe81 Oct 17, 2023
26cb954
fix(broker/tests): robot tests should be ok now
bouda1 Oct 23, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
16 changes: 16 additions & 0 deletions .deepsource.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
version = 1

[[analyzers]]
name = "shell"
enabled = true

[[analyzers]]
name = "python"
enabled = true

[analyzers.meta]
runtime_version = "3.x.x"

[[analyzers]]
name = "cxx"
enabled = true
37 changes: 37 additions & 0 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
## Description

Please include a short resume of the changes and what is the purpose of PR. Any relevant information should be added to help:
* **QA Team** (Quality Assurance) with tests.
* **reviewers** to understand what are the stakes of the pull request.

**Fixes** # (issue)

## Type of change

- [ ] Patch fixing an issue (non-breaking change)
- [ ] New functionality (non-breaking change)
- [ ] Breaking change (patch or feature) that might cause side effects breaking part of the Software
- [ ] Updating documentation (missing information, typo...)

## Target serie

- [ ] 21.10.x
- [ ] 22.04.x
- [ ] 22.10.x
- [ ] 23.04.x
- [ ] 23.10.x (master)

<h2> How this pull request can be tested ? </h2>

Please describe the **procedure** to verify that the goal of the PR is matched. Provide clear instructions so that it can be **correctly tested**.

Any **relevant details** of the configuration to perform the test should be added.

## Checklist

- [ ] I have followed the **coding style guidelines** provided by Centreon
- [ ] I have commented my code, especially new **classes**, **functions** or any **legacy code** modified. (***docblock***)
- [ ] I have commented my code, especially **hard-to-understand areas** of the PR.
- [ ] I have made corresponding changes to the **documentation**.
- [ ] I have **rebased** my development branch on the base branch (master, maintenance).

118 changes: 118 additions & 0 deletions .github/actions/delivery/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,118 @@
name: "delivery"
description: "RPM and DEB packages delivery Centreon"
inputs:
module_name:
description: "The package module name"
required: true
distrib:
description: "The distribution used for packaging"
required: true
version:
description: "Centreon packaged version"
required: true
cache_key:
description: "The cached package key"
required: true
artifactory_token:
description: "The token for artifactory"
required: true
stability:
description: "The package stability (stable, testing, unstable)"
required: true

runs:
using: "composite"
steps:
- name: Build name for RPM
shell: bash
if: ${{ startsWith(inputs.distrib, 'el') }}
run: |
echo "extfile=rpm" >> $GITHUB_ENV

- name: Build name for DEB
shell: bash
if: ${{ inputs.distrib == 'bullseye' }}
run: |
echo "extfile=deb" >> $GITHUB_ENV

- name: Use cache files
uses: actions/cache@v3
with:
path: ./*.${{ env.extfile }}
key: ${{ inputs.cache_key }}

- uses: jfrog/setup-jfrog-cli@v3
env:
JF_URL: https://centreon.jfrog.io
JF_ACCESS_TOKEN: ${{ inputs.artifactory_token }}

- if: ${{ startsWith(inputs.distrib, 'el') }}
name: Publish RPMs
run: |
FILES="*.${{ env.extfile }}"

echo "[DEBUG] - Version: ${{ inputs.version }}"
echo "[DEBUG] - Distrib: ${{ inputs.distrib }}"

if [ -z "${{ inputs.module_name }}" ]; then
echo "module name is required"
exit 1
fi

if [ -z "${{ inputs.distrib }}" ]; then
echo "distrib is required"
exit 1
fi

mkdir noarch x86_64

for FILE in $FILES; do
echo "[DEBUG] - File: $FILE"

ARCH=$(echo $FILE | grep -oP '(x86_64|noarch)')

echo "[DEBUG] - Arch: $ARCH"

mv "$FILE" "$ARCH"
done

for ROOT_REPO_PATH in "rpm-standard" "rpm-standard-internal"; do
for ARCH in "noarch" "x86_64"; do
if [ "$(ls -A $ARCH)" ]; then
if [ "${{ inputs.stability }}" == "stable" ]; then
jf rt upload "$ARCH/*.rpm" "$ROOT_REPO_PATH/${{ inputs.version }}/${{ inputs.distrib }}/${{ inputs.stability }}/$ARCH/RPMS/${{ inputs.module_name }}/" --flat
else
jf rt upload "$ARCH/*.rpm" "$ROOT_REPO_PATH/${{ inputs.version }}/${{ inputs.distrib }}/${{ inputs.stability }}/$ARCH/${{ inputs.module_name }}/" --sync-deletes="$ROOT_REPO_PATH/${{ inputs.version }}/${{ inputs.distrib }}/${{ inputs.stability }}/$ARCH/${{ inputs.module_name }}/" --flat
fi
fi
done
done
shell: bash

- if: ${{ inputs.distrib == 'bullseye' }}
name: Publish DEBs
run: |
FILES="*.${{ env.extfile }}"

if [ -z "${{ inputs.module_name }}" ]; then
echo "module name is required"
exit 1
fi

if [ -z "${{ inputs.distrib }}" ]; then
echo "distrib is required"
exit 1
fi

for FILE in $FILES; do
echo "[DEBUG] - File: $FILE"

VERSION=${{ inputs.version }}
DISTRIB=$(echo $FILE | cut -d '_' -f2 | cut -d '-' -f2)
ARCH=$(echo $FILE | cut -d '_' -f3 | cut -d '.' -f1)

echo "[DEBUG] - Version: $VERSION"

jf rt upload "$FILE" "apt-standard-${{ inputs.version }}-${{ inputs.stability }}/pool/${{ inputs.module_name }}/" --deb "${{ inputs.distrib }}/main/$ARCH"
done
shell: bash
82 changes: 82 additions & 0 deletions .github/actions/package/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,82 @@
name: package
description: Package module using nfpm
inputs:
nfpm_file_pattern:
description: The pattern of the nfpm configuration file(s)
required: true
package_extension:
description: The package extension (deb or rpm)
required: true
distrib:
description: The package distrib
required: true
version:
description: The package version
required: false
release:
description: The package release number
required: false
arch:
description: The package architecture
required: false
commit_hash:
description: The commit hash
required: true
cache_key:
description: The package files cache key
required: true
rpm_gpg_key:
description: The rpm gpg key
required: true
rpm_gpg_signing_key_id:
description: The rpm gpg signing key identifier
required: true
rpm_gpg_signing_passphrase:
description: The rpm gpg signing passphrase
required: true

runs:
using: composite

steps:
- name: Import gpg key
env:
RPM_GPG_SIGNING_KEY: ${{ inputs.rpm_gpg_key }}
run: echo -n "$RPM_GPG_SIGNING_KEY" > key.gpg
shell: bash

- name: Build ${{ inputs.package_extension }} files
env:
RPM_GPG_SIGNING_KEY_ID: ${{ inputs.rpm_gpg_signing_key_id }}
RPM_GPG_SIGNING_PASSPHRASE: ${{ inputs.rpm_gpg_signing_passphrase }}
run: |
export VERSION="${{ inputs.version }}"
export RELEASE="${{ inputs.release }}"
export ARCH="${{ inputs.arch }}"

if [ "${{ inputs.package_extension }}" = "rpm" ]; then
export DIST=".${{ inputs.distrib }}"
else
export DIST=""
fi

export RPM_SIGNING_KEY_FILE="$(pwd)/key.gpg"
export RPM_SIGNING_KEY_ID="$RPM_GPG_SIGNING_KEY_ID"
export NFPM_RPM_PASSPHRASE="$RPM_GPG_SIGNING_PASSPHRASE"

for FILE in ${{ inputs.nfpm_file_pattern }}; do
DIRNAME=$(dirname $FILE)
BASENAME=$(basename $FILE)
cd $DIRNAME
sed -i "s/@COMMIT_HASH@/${{ inputs.commit_hash }}/g" $BASENAME
nfpm package --config $BASENAME --packager ${{ inputs.package_extension }}
cd -
mv $DIRNAME/*.${{ inputs.package_extension }} ./
done
shell: bash

- name: Cache packages
uses: actions/cache/save@v3
with:
path: ./*.${{ inputs.package_extension }}
key: ${{ inputs.cache_key }}
92 changes: 92 additions & 0 deletions .github/actions/promote-to-stable/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,92 @@
name: "promote testing to stable"
description: "Promote testing packages to stable."
inputs:
artifactory_token:
description: "Artifactory token"
required: true
module_name:
description: "Module name"
required: true
distrib:
description: "The distribution used for packaging"
required: true
major_version:
description: "Centreon packaged major version"
required: true
minor_version:
description: "Centreon package minor version"
required: true
stability:
description: "The package stability (stable, testing, unstable)"
required: true
repository_name:
description: "The repository name"
required: true

runs:
using: "composite"
steps:
- uses: jfrog/setup-jfrog-cli@v3
env:
JF_URL: https://centreon.jfrog.io
JF_ACCESS_TOKEN: ${{ inputs.artifactory_token }}

- name: Promote RPM packages to stable
if: ${{ startsWith(inputs.distrib, 'el') }}
run: |
set -x
echo "[DEBUG] - Major version: ${{ inputs.major_version }}"
echo "[DEBUG] - Minor version: ${{ inputs.minor_version }}"
echo "[DEBUG] - Distrib: ${{ inputs.distrib }}"

for ARCH in "noarch" "x86_64"; do
echo "[DEBUG] - Get artifactory path of $ARCH testing artifacts to promote to stable."
SRC_PATHS=$(jf rt s --include-dirs rpm-standard/${{ inputs.major_version }}/${{ inputs.distrib }}/testing/$ARCH/${{ inputs.module_name }}/*.rpm | jq -r '.[].path')
if [[ ${SRC_PATHS[@]} ]]; then
for SRC_PATH in ${SRC_PATHS[@]}; do
echo "[DEBUG] - Source path found: $SRC_PATH"
done
else
echo "[DEBUG] - No source path found."
continue
fi
echo "[DEBUG] - Build $ARCH artifactory target path."
TARGET_PATH="rpm-standard/${{ inputs.major_version }}/${{ inputs.distrib }}/${{ inputs.stability }}/$ARCH/RPMS/${{ inputs.module_name }}/"
echo "[DEBUG] - Target path: $TARGET_PATH"
echo "[DEBUG] - Promoting $ARCH testing artifacts to stable."
for ARTIFACT in ${SRC_PATHS[@]}; do
echo "[DEBUG] - Promoting $ARTIFACT to stable on artifactory."
jf rt cp $ARTIFACT $TARGET_PATH --flat=true
done
done
shell: bash

- name: Promote DEB packages to stable
if: ${{ startsWith(inputs.distrib, 'bullseye') }}
run: |
echo "[DEBUG] - Major version: ${{ inputs.major_version }}"
echo "[DEBUG] - Minor version: ${{ inputs.minor_version }}"
echo "[DEBUG] - Distrib: ${{ inputs.distrib }}"

echo "[DEBUG] - Get path of testing DEB packages to promote to stable."
SRC_PATHS=$(jf rt s --include-dirs apt-standard-${{ inputs.major_version }}-testing/pool/${{ inputs.module_name }}/*.deb | jq -r '.[].path')

if [[ ${SRC_PATHS[@]} ]]; then
for SRC_PATH in ${SRC_PATHS[@]}; do
echo "[DEBUG] - Source path found: $SRC_PATH"
done
else
echo "[DEBUG] - No source path found."
continue
fi

echo "[DEBUG] - Build target path."
TARGET_PATH="apt-standard-${{ inputs.major_version }}-${{ inputs.stability }}/pool/${{ inputs.module_name }}/"
echo "[DEBUG] - Target path: $TARGET_PATH"

echo "[DEBUG] - Promoting DEB testing artifacts to stable."
for ARTIFACT in ${SRC_PATHS[@]}; do
echo "[DEBUG] - Promoting $ARTIFACT to stable."
jf rt cp $ARTIFACT $TARGET_PATH --flat=true
done
shell: bash
46 changes: 46 additions & 0 deletions .github/actions/release-sources/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
name: "release-sources"
description: "Release sources on download.centreon.com"
inputs:
bucket_directory:
description: The bucket directory
required: true
module_directory:
description: The module directory
required: true
module_name:
description: The module name
required: true
major_version:
description: The major version
required: true
minor_version:
description: The minor version
required: true
token_download_centreon_com:
description: The token to call download.centreon.com api
required: true

runs:
using: "composite"
steps:
- name: Setup awscli
run: |
curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
sudo unzip -q awscliv2.zip
sudo ./aws/install
shell: bash

- run: |
MAJOR_VERSION="${{ inputs.major_version }}"
VERSION="${{ inputs.major_version }}.${{ inputs.minor_version }}"
SRC_FILE="${{ inputs.module_name }}-$VERSION.tar.gz"

mv "${{ inputs.module_directory }}" "${{ inputs.module_name }}-$VERSION"
tar czf $SRC_FILE "${{ inputs.module_name }}-$VERSION"

SRC_HASH=$(md5sum $SRC_FILE | cut -d ' ' -f 1)
SRC_SIZE=$(stat -c '%s' $SRC_FILE)

aws s3 cp --acl public-read "$SRC_FILE" "s3://centreon-download/public/${{ inputs.bucket_directory }}/$SRC_FILE"
curl --fail "https://download.centreon.com/api/?token=${{ inputs.token_download_centreon_com }}&product=${{ inputs.module_name }}&release=$MAJOR_VERSION&version=$VERSION&extension=tar.gz&md5=$SRC_HASH&size=$SRC_SIZE&ddos=0&dryrun=0"
shell: bash
Loading
Loading