mirror of
https://github.com/centreon/centreon-plugins.git
synced 2025-07-27 15:44:21 +02:00
Merge pull request #4539 from centreon/release-20230706
Release 20230706
This commit is contained in:
commit
abf27fca30
2
.github/CODEOWNERS
vendored
Normal file
2
.github/CODEOWNERS
vendored
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
* @centreon/perl-reviewers
|
||||||
|
.github/ @centreon/perl-reviewers @centreon/automation-reviewers
|
@ -24,10 +24,11 @@ runs:
|
|||||||
using: "composite"
|
using: "composite"
|
||||||
steps:
|
steps:
|
||||||
- name: Use cache DEB files
|
- name: Use cache DEB files
|
||||||
uses: actions/cache@v3
|
uses: actions/cache/restore@v3
|
||||||
with:
|
with:
|
||||||
path: ./*.deb
|
path: ./*.deb
|
||||||
key: ${{ inputs.cache_key }}
|
key: ${{ inputs.cache_key }}
|
||||||
|
fail-on-cache-miss: true
|
||||||
|
|
||||||
- name: Publish DEBs to Nexus
|
- name: Publish DEBs to Nexus
|
||||||
run: |
|
run: |
|
||||||
|
3
.github/actions/deb-delivery/action.yml
vendored
3
.github/actions/deb-delivery/action.yml
vendored
@ -24,10 +24,11 @@ runs:
|
|||||||
using: "composite"
|
using: "composite"
|
||||||
steps:
|
steps:
|
||||||
- name: Use cache DEB files
|
- name: Use cache DEB files
|
||||||
uses: actions/cache@v3
|
uses: actions/cache/restore@v3
|
||||||
with:
|
with:
|
||||||
path: ./*.deb
|
path: ./*.deb
|
||||||
key: ${{ inputs.cache_key }}
|
key: ${{ inputs.cache_key }}
|
||||||
|
fail-on-cache-miss: true
|
||||||
|
|
||||||
- uses: jfrog/setup-jfrog-cli@v3
|
- uses: jfrog/setup-jfrog-cli@v3
|
||||||
env:
|
env:
|
||||||
|
109
.github/actions/package/action.yml
vendored
109
.github/actions/package/action.yml
vendored
@ -1,84 +1,85 @@
|
|||||||
name: package
|
name: package
|
||||||
description: Package module
|
description: Package module using nfpm
|
||||||
inputs:
|
inputs:
|
||||||
|
nfpm_file_pattern:
|
||||||
|
description: The pattern of the nfpm configuration file(s)
|
||||||
|
required: true
|
||||||
package_extension:
|
package_extension:
|
||||||
description: The package extension (deb or rpm)
|
description: The package extension (deb or rpm)
|
||||||
required: true
|
required: true
|
||||||
distrib:
|
distrib:
|
||||||
description: The package distrib (el8, bullseye...)
|
description: The package distrib
|
||||||
required: true
|
|
||||||
image_name:
|
|
||||||
description: The docker image name
|
|
||||||
required: true
|
|
||||||
script_name:
|
|
||||||
description: The packaging script name
|
|
||||||
plugins:
|
|
||||||
description: List of plugins to package
|
|
||||||
required: true
|
required: true
|
||||||
version:
|
version:
|
||||||
description: The plugins version
|
description: The package version
|
||||||
required: true
|
required: false
|
||||||
release:
|
release:
|
||||||
description: The release number
|
description: The package release number
|
||||||
|
required: false
|
||||||
|
commit_hash:
|
||||||
|
description: The commit hash
|
||||||
required: true
|
required: true
|
||||||
cache_key:
|
cache_key:
|
||||||
description: The package files cache key
|
description: The package files cache key
|
||||||
required: true
|
required: true
|
||||||
sign:
|
rpm_gpg_key:
|
||||||
description: Wether to sign the package or not
|
description: The rpm gpg key
|
||||||
default: ""
|
|
||||||
registry_url:
|
|
||||||
description: Docker registry url
|
|
||||||
required: true
|
required: true
|
||||||
registry_username:
|
rpm_gpg_signing_key_id:
|
||||||
description: Docker registry username
|
description: The rpm gpg signing key identifier
|
||||||
required: true
|
required: true
|
||||||
registry_password:
|
rpm_gpg_signing_passphrase:
|
||||||
description: Docker registry password
|
description: The rpm gpg signing passphrase
|
||||||
required: true
|
required: true
|
||||||
|
|
||||||
runs:
|
runs:
|
||||||
using: composite
|
using: composite
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Login to Registry
|
- name: Import gpg key
|
||||||
uses: docker/login-action@v2
|
env:
|
||||||
with:
|
RPM_GPG_SIGNING_KEY: ${{ inputs.rpm_gpg_key }}
|
||||||
registry: ${{ inputs.registry_url }}
|
run: echo -n "$RPM_GPG_SIGNING_KEY" > key.gpg
|
||||||
username: ${{ inputs.registry_username }}
|
shell: bash
|
||||||
password: ${{ inputs.registry_password }}
|
|
||||||
|
|
||||||
- name: Package
|
- name: Build ${{ inputs.package_extension }} files
|
||||||
uses: ./.github/actions/runner-docker
|
env:
|
||||||
with:
|
RPM_GPG_SIGNING_KEY_ID: ${{ inputs.rpm_gpg_signing_key_id }}
|
||||||
script_name: ${{ inputs.script_name }}
|
RPM_GPG_SIGNING_PASSPHRASE: ${{ inputs.rpm_gpg_signing_passphrase }}
|
||||||
image_name: ${{ inputs.image_name }}
|
run: |
|
||||||
image_version: latest
|
export VERSION="${{ inputs.version }}"
|
||||||
registry_url: ${{ inputs.registry_url }}
|
export RELEASE="${{ inputs.release }}"
|
||||||
registry_username: ${{ inputs.registry_username }}
|
|
||||||
registry_password: ${{ inputs.registry_password }}
|
|
||||||
params: ${{ inputs.version }} ${{ inputs.release }} "${{ inputs.plugins }}"
|
|
||||||
|
|
||||||
- name: Sign
|
if [ "${{ inputs.package_extension }}" = "rpm" ]; then
|
||||||
if: ${{ inputs.sign != '' && inputs.package_extension == 'rpm' }}
|
export DIST=".${{ inputs.distrib }}"
|
||||||
uses: ./.github/actions/runner-docker
|
else
|
||||||
with:
|
export DIST=""
|
||||||
script_name: rpm-signing
|
fi
|
||||||
image_name: rpm-signing
|
|
||||||
image_version: ubuntu
|
|
||||||
registry_url: ${{ inputs.registry_url }}
|
|
||||||
registry_username: ${{ inputs.registry_username }}
|
|
||||||
registry_password: ${{ inputs.registry_password }}
|
|
||||||
|
|
||||||
- name: Cache packaged files
|
export RPM_SIGNING_KEY_FILE="$(pwd)/key.gpg"
|
||||||
uses: actions/cache@v3
|
export RPM_SIGNING_KEY_ID="$RPM_GPG_SIGNING_KEY_ID"
|
||||||
with:
|
export NFPM_RPM_PASSPHRASE="$RPM_GPG_SIGNING_PASSPHRASE"
|
||||||
path: ./*.${{ inputs.package_extension }}
|
|
||||||
key: ${{ inputs.cache_key }}
|
|
||||||
|
|
||||||
- if: ${{ inputs.distrib == 'el8' }}
|
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: Upload package artifacts
|
||||||
uses: actions/upload-artifact@v3
|
uses: actions/upload-artifact@v3
|
||||||
with:
|
with:
|
||||||
name: packages-${{ inputs.distrib }}
|
name: packages-${{ inputs.distrib }}
|
||||||
path: ./*.${{ inputs.package_extension }}
|
path: ./*.${{ inputs.package_extension }}
|
||||||
retention-days: 1
|
retention-days: 1
|
||||||
|
|
||||||
|
- name: Cache packages
|
||||||
|
uses: actions/cache/save@v3
|
||||||
|
with:
|
||||||
|
path: ./*.${{ inputs.package_extension }}
|
||||||
|
key: ${{ inputs.cache_key }}
|
||||||
|
@ -36,10 +36,11 @@ runs:
|
|||||||
using: "composite"
|
using: "composite"
|
||||||
steps:
|
steps:
|
||||||
- name: Use cache RPM files
|
- name: Use cache RPM files
|
||||||
uses: actions/cache@v3
|
uses: actions/cache/restore@v3
|
||||||
with:
|
with:
|
||||||
path: ./*.rpm
|
path: ./*.rpm
|
||||||
key: ${{ inputs.cache_key }}
|
key: ${{ inputs.cache_key }}
|
||||||
|
fail-on-cache-miss: true
|
||||||
|
|
||||||
- name: Setup awscli
|
- name: Setup awscli
|
||||||
run: |
|
run: |
|
||||||
|
3
.github/actions/rpm-delivery/action.yml
vendored
3
.github/actions/rpm-delivery/action.yml
vendored
@ -21,10 +21,11 @@ runs:
|
|||||||
using: "composite"
|
using: "composite"
|
||||||
steps:
|
steps:
|
||||||
- name: Use cache RPM files
|
- name: Use cache RPM files
|
||||||
uses: actions/cache@v3
|
uses: actions/cache/restore@v3
|
||||||
with:
|
with:
|
||||||
path: ./*.rpm
|
path: ./*.rpm
|
||||||
key: ${{ inputs.cache_key }}
|
key: ${{ inputs.cache_key }}
|
||||||
|
fail-on-cache-miss: true
|
||||||
|
|
||||||
- uses: jfrog/setup-jfrog-cli@v3
|
- uses: jfrog/setup-jfrog-cli@v3
|
||||||
env:
|
env:
|
||||||
|
@ -10,7 +10,7 @@ baseurl=https://repo.goreleaser.com/yum/
|
|||||||
enabled=1
|
enabled=1
|
||||||
gpgcheck=0' | tee /etc/yum.repos.d/goreleaser.repo
|
gpgcheck=0' | tee /etc/yum.repos.d/goreleaser.repo
|
||||||
|
|
||||||
dnf -y install git gettext rpm-build dos2unix python3 epel-release nfpm zstd
|
dnf -y install git gettext rpm-build dos2unix python3 epel-release nfpm jq zstd
|
||||||
dnf -y install perl-App-cpanminus perl-JSON
|
dnf -y install perl-App-cpanminus perl-JSON
|
||||||
cpanm App::FatPacker
|
cpanm App::FatPacker
|
||||||
cpanm File::Copy::Recursive
|
cpanm File::Copy::Recursive
|
||||||
|
@ -10,7 +10,7 @@ baseurl=https://repo.goreleaser.com/yum/
|
|||||||
enabled=1
|
enabled=1
|
||||||
gpgcheck=0' | tee /etc/yum.repos.d/goreleaser.repo
|
gpgcheck=0' | tee /etc/yum.repos.d/goreleaser.repo
|
||||||
|
|
||||||
dnf -y install git gettext rpm-build dos2unix python3 epel-release nfpm zstd
|
dnf -y install git gettext rpm-build dos2unix python3 epel-release nfpm jq zstd
|
||||||
dnf -y install perl-App-cpanminus perl-JSON
|
dnf -y install perl-App-cpanminus perl-JSON
|
||||||
cpanm App::FatPacker
|
cpanm App::FatPacker
|
||||||
cpanm File::Copy::Recursive
|
cpanm File::Copy::Recursive
|
||||||
|
@ -10,8 +10,8 @@ baseurl=https://repo.goreleaser.com/yum/
|
|||||||
enabled=1
|
enabled=1
|
||||||
gpgcheck=0' | tee /etc/yum.repos.d/goreleaser.repo
|
gpgcheck=0' | tee /etc/yum.repos.d/goreleaser.repo
|
||||||
|
|
||||||
yum -y install git gettext rpm-build dos2unix python3 epel-release nfpm zstd
|
yum -y install git gettext rpm-build dos2unix python3 epel-release nfpm
|
||||||
yum -y install perl-App-FatPacker perl-File-Copy-Recursive perl-JSON
|
yum -y install perl-App-FatPacker perl-File-Copy-Recursive perl-JSON jq zstd
|
||||||
yum clean all
|
yum clean all
|
||||||
|
|
||||||
EOF
|
EOF
|
||||||
|
88
.github/packaging/centreon-plugin.yaml.template
vendored
Normal file
88
.github/packaging/centreon-plugin.yaml.template
vendored
Normal file
@ -0,0 +1,88 @@
|
|||||||
|
name: "@PACKAGE_NAME@"
|
||||||
|
arch: "all"
|
||||||
|
platform: "linux"
|
||||||
|
version_schema: "none"
|
||||||
|
version: "${VERSION}"
|
||||||
|
release: "${RELEASE}${DIST}"
|
||||||
|
section: "default"
|
||||||
|
priority: "optional"
|
||||||
|
maintainer: "Centreon <contact@centreon.com>"
|
||||||
|
description: |
|
||||||
|
@SUMMARY@
|
||||||
|
Commit: @COMMIT_HASH@
|
||||||
|
vendor: "Centreon"
|
||||||
|
homepage: "https://centreon.com"
|
||||||
|
license: "Apache-2.0"
|
||||||
|
|
||||||
|
contents:
|
||||||
|
- src: "../../build/@PLUGIN_NAME@/*"
|
||||||
|
dst: "/usr/lib/centreon/plugins/"
|
||||||
|
file_info:
|
||||||
|
mode: 0775
|
||||||
|
|
||||||
|
conflicts:
|
||||||
|
[@CONFLICTS@]
|
||||||
|
replaces:
|
||||||
|
[@REPLACES@]
|
||||||
|
provides:
|
||||||
|
[@PROVIDES@]
|
||||||
|
|
||||||
|
overrides:
|
||||||
|
rpm:
|
||||||
|
depends: [
|
||||||
|
perl(Digest::MD5),
|
||||||
|
perl(Pod::Find),
|
||||||
|
perl-Net-Curl,
|
||||||
|
perl(URI::Encode),
|
||||||
|
perl(LWP::UserAgent),
|
||||||
|
perl(LWP::Protocol::https),
|
||||||
|
perl(IO::Socket::SSL),
|
||||||
|
perl(URI),
|
||||||
|
perl(HTTP::ProxyPAC),
|
||||||
|
perl-CryptX,
|
||||||
|
perl(MIME::Base64),
|
||||||
|
perl(JSON::XS),
|
||||||
|
perl-JSON-Path,
|
||||||
|
perl-KeePass-Reader,
|
||||||
|
perl(Storable),
|
||||||
|
perl(POSIX),
|
||||||
|
perl(Encode),
|
||||||
|
@RPM_DEPENDENCIES@
|
||||||
|
]
|
||||||
|
conflicts:
|
||||||
|
[@RPM_CONFLICTS@]
|
||||||
|
replaces:
|
||||||
|
[@RPM_REPLACES@]
|
||||||
|
provides:
|
||||||
|
[@RPM_PROVIDES@]
|
||||||
|
deb:
|
||||||
|
depends: [
|
||||||
|
libpod-parser-perl,
|
||||||
|
libnet-curl-perl,
|
||||||
|
liburi-encode-perl,
|
||||||
|
libwww-perl,
|
||||||
|
liblwp-protocol-https-perl,
|
||||||
|
libhttp-cookies-perl,
|
||||||
|
libio-socket-ssl-perl,
|
||||||
|
liburi-perl,
|
||||||
|
libhttp-proxypac-perl,
|
||||||
|
libcryptx-perl,
|
||||||
|
libjson-xs-perl,
|
||||||
|
libjson-path-perl,
|
||||||
|
libcrypt-argon2-perl,
|
||||||
|
libkeepass-reader-perl,
|
||||||
|
libdatetime-perl,
|
||||||
|
@DEB_DEPENDENCIES@
|
||||||
|
]
|
||||||
|
conflicts:
|
||||||
|
[@DEB_CONFLICTS@]
|
||||||
|
replaces:
|
||||||
|
[@DEB_REPLACES@]
|
||||||
|
provides:
|
||||||
|
[@DEB_PROVIDES@]
|
||||||
|
|
||||||
|
rpm:
|
||||||
|
compression: xz
|
||||||
|
signature:
|
||||||
|
key_file: ${RPM_SIGNING_KEY_FILE}
|
||||||
|
key_id: ${RPM_SIGNING_KEY_ID}
|
24
.github/packaging/debian/control.body.template
vendored
24
.github/packaging/debian/control.body.template
vendored
@ -1,24 +0,0 @@
|
|||||||
|
|
||||||
Package: @NAME@
|
|
||||||
Architecture: all
|
|
||||||
Description: @SUMMARY@@CUSTOM_PKG_DATA@
|
|
||||||
Depends:
|
|
||||||
${shlibs:Depends},
|
|
||||||
${misc:Depends},
|
|
||||||
libpod-parser-perl,
|
|
||||||
libnet-curl-perl,
|
|
||||||
liburi-encode-perl,
|
|
||||||
libwww-perl,
|
|
||||||
liblwp-protocol-https-perl,
|
|
||||||
libhttp-cookies-perl,
|
|
||||||
libio-socket-ssl-perl,
|
|
||||||
liburi-perl,
|
|
||||||
libhttp-proxypac-perl,
|
|
||||||
libcryptx-perl,
|
|
||||||
libjson-xs-perl,
|
|
||||||
libjson-path-perl,
|
|
||||||
libcrypt-argon2-perl,
|
|
||||||
libkeepass-reader-perl,
|
|
||||||
libdatetime-perl,
|
|
||||||
@REQUIRES@
|
|
||||||
|
|
12
.github/packaging/debian/control.head.template
vendored
12
.github/packaging/debian/control.head.template
vendored
@ -1,12 +0,0 @@
|
|||||||
Source: centreon-plugins
|
|
||||||
Section: net
|
|
||||||
Priority: optional
|
|
||||||
Maintainer: Centreon <contact@centreon.com>
|
|
||||||
Build-Depends:
|
|
||||||
debhelper-compat (= 12),
|
|
||||||
libapp-fatpacker-perl,
|
|
||||||
libfile-copy-recursive-perl,
|
|
||||||
libjson-perl
|
|
||||||
Standards-Version: 4.5.0
|
|
||||||
Homepage: https://www.centreon.com
|
|
||||||
|
|
29
.github/packaging/debian/copyright
vendored
29
.github/packaging/debian/copyright
vendored
@ -1,29 +0,0 @@
|
|||||||
Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
|
|
||||||
Upstream-Name: centreon-collect
|
|
||||||
Upstream-Contact: Centreon <contact@centreon.com>
|
|
||||||
Source: https://www.centreon.com
|
|
||||||
|
|
||||||
Files: *
|
|
||||||
Copyright: 2023 Centreon
|
|
||||||
License: Apache-2.0
|
|
||||||
|
|
||||||
Files: debian/*
|
|
||||||
Copyright: 2023 Centreon
|
|
||||||
License: Apache-2.0
|
|
||||||
|
|
||||||
License: Apache-2.0
|
|
||||||
Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
you may not use this file except in compliance with the License.
|
|
||||||
You may obtain a copy of the License at
|
|
||||||
.
|
|
||||||
https://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
.
|
|
||||||
Unless required by applicable law or agreed to in writing, software
|
|
||||||
distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
See the License for the specific language governing permissions and
|
|
||||||
limitations under the License.
|
|
||||||
.
|
|
||||||
On Debian systems, the complete text of the Apache version 2.0 license
|
|
||||||
can be found in "/usr/share/common-licenses/Apache-2.0".
|
|
||||||
|
|
@ -1 +0,0 @@
|
|||||||
plugins/@DIR@/@NAME@ usr/lib/centreon/plugins
|
|
7
.github/packaging/debian/rules
vendored
7
.github/packaging/debian/rules
vendored
@ -1,7 +0,0 @@
|
|||||||
#!/usr/bin/make -f
|
|
||||||
|
|
||||||
%:
|
|
||||||
dh $@
|
|
||||||
|
|
||||||
override_dh_clean:
|
|
||||||
override_dh_auto_build:
|
|
1
.github/packaging/debian/source/format
vendored
1
.github/packaging/debian/source/format
vendored
@ -1 +0,0 @@
|
|||||||
3.0 (quilt)
|
|
48
.github/packaging/rpm/plugin.spectemplate
vendored
48
.github/packaging/rpm/plugin.spectemplate
vendored
@ -1,48 +0,0 @@
|
|||||||
Name: @NAME@
|
|
||||||
Version: @VERSION@
|
|
||||||
Release: @RELEASE@%{?dist}
|
|
||||||
Source0: %{name}-%{version}.tar.gz
|
|
||||||
Summary: @SUMMARY@
|
|
||||||
Group: Development/Libraries
|
|
||||||
License: Apache-2.0
|
|
||||||
URL: https://www.centreon.com/
|
|
||||||
BuildArch: noarch
|
|
||||||
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
|
|
||||||
AutoReqProv: no
|
|
||||||
|
|
||||||
AutoReqProv: no
|
|
||||||
Requires: perl(Digest::MD5)
|
|
||||||
Requires: perl(Pod::Find)
|
|
||||||
Requires: perl-Net-Curl
|
|
||||||
Requires: perl(URI::Encode)
|
|
||||||
Requires: perl(LWP::UserAgent)
|
|
||||||
Requires: perl(LWP::Protocol::https)
|
|
||||||
Requires: perl(IO::Socket::SSL)
|
|
||||||
Requires: perl(URI)
|
|
||||||
Requires: perl(HTTP::ProxyPAC)
|
|
||||||
Requires: perl-CryptX
|
|
||||||
Requires: perl(MIME::Base64)
|
|
||||||
Requires: perl(JSON::XS)
|
|
||||||
Requires: perl-JSON-Path
|
|
||||||
Requires: perl-KeePass-Reader
|
|
||||||
Requires: perl(Storable)
|
|
||||||
Requires: perl(POSIX)
|
|
||||||
Requires: perl(Encode)
|
|
||||||
@REQUIRES@
|
|
||||||
|
|
||||||
@CUSTOM_PKG_DATA@
|
|
||||||
|
|
||||||
%description
|
|
||||||
Centreon plugin
|
|
||||||
|
|
||||||
%prep
|
|
||||||
%setup -q
|
|
||||||
|
|
||||||
%install
|
|
||||||
rm -rf %{buildroot}
|
|
||||||
mkdir -p %{buildroot}/usr/lib/centreon/plugins/
|
|
||||||
%{__install} -m 775 *.pl %{buildroot}%{_prefix}/lib/centreon/plugins/
|
|
||||||
|
|
||||||
%files
|
|
||||||
%defattr(-,root,root,-)
|
|
||||||
%{_prefix}/lib/centreon/plugins/@PLUGIN_NAME@
|
|
55
.github/scripts/plugin-packaging-deb.sh
vendored
55
.github/scripts/plugin-packaging-deb.sh
vendored
@ -1,55 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
|
|
||||||
set -e
|
|
||||||
|
|
||||||
VERSION="$1"
|
|
||||||
RELEASE="$2"
|
|
||||||
PLUGINS="$3"
|
|
||||||
|
|
||||||
cd /src
|
|
||||||
|
|
||||||
mkdir -p centreon-plugins/plugins
|
|
||||||
cp -R .github/packaging/debian centreon-plugins/debian
|
|
||||||
mv centreon-plugins/debian/control.head.template centreon-plugins/debian/control
|
|
||||||
|
|
||||||
for PLUGIN in $PLUGINS; do
|
|
||||||
|
|
||||||
PACKAGE_PATH=$PLUGIN
|
|
||||||
|
|
||||||
if [[ "$PLUGIN" =~ (.+)"=>"(.+) ]]; then
|
|
||||||
PACKAGE_PATH=$(echo ${BASH_REMATCH[1]})
|
|
||||||
PLUGIN=$(echo ${BASH_REMATCH[2]})
|
|
||||||
fi
|
|
||||||
|
|
||||||
PLUGIN_NAME_LOWER=$(echo "$PLUGIN" | tr '[:upper:]' '[:lower:]')
|
|
||||||
|
|
||||||
echo "::group::Preparing $PLUGIN_NAME_LOWER"
|
|
||||||
|
|
||||||
mkdir centreon-plugins/plugins/$PLUGIN
|
|
||||||
cp -R build/$PLUGIN/*.pl centreon-plugins/plugins/$PLUGIN
|
|
||||||
|
|
||||||
# Process package files
|
|
||||||
pkg_values=($(cat "packaging/$PACKAGE_PATH/pkg.json" | jq -r '.pkg_name,.plugin_name'))
|
|
||||||
pkg_summary=$(echo "${pkg_values[0]}")
|
|
||||||
plugin_name=$(echo "${pkg_values[1]}")
|
|
||||||
deb_dependencies=$(cat "packaging/$PACKAGE_PATH/deb.json" | jq -r '.dependencies | join(",\\n ")')
|
|
||||||
deb_custom_pkg_data=$(cat "packaging/$PACKAGE_PATH/deb.json" | jq -r '.custom_pkg_data // "" | if . != "" then ("\\n" + .) else "" end')
|
|
||||||
|
|
||||||
sed -e "s/@NAME@/$PLUGIN_NAME_LOWER/g" \
|
|
||||||
-e "s/@SUMMARY@/$pkg_summary/g" \
|
|
||||||
-e "s/@REQUIRES@/$deb_dependencies/g" \
|
|
||||||
-e "s/@CUSTOM_PKG_DATA@/$deb_custom_pkg_data/g" \
|
|
||||||
< centreon-plugins/debian/control.body.template \
|
|
||||||
>> centreon-plugins/debian/control
|
|
||||||
|
|
||||||
# .install file
|
|
||||||
sed -e "s/@DIR@/$PLUGIN/g" -e "s/@NAME@/$plugin_name/g" < centreon-plugins/debian/plugin.install.template >> centreon-plugins/debian/$PLUGIN_NAME_LOWER.install
|
|
||||||
|
|
||||||
echo "::endgroup::"
|
|
||||||
done
|
|
||||||
|
|
||||||
rm -f centreon-plugins/debian/*.template
|
|
||||||
tar czf centreon-plugins-${VERSION}-${RELEASE}.tar.gz centreon-plugins
|
|
||||||
cd centreon-plugins
|
|
||||||
debmake -f "Centreon" -e "contact@centreon.com" -u "${VERSION}-${RELEASE}" -y -r "bullseye"
|
|
||||||
debuild-pbuilder --no-lintian
|
|
37
.github/scripts/plugin-packaging-rpm.sh
vendored
37
.github/scripts/plugin-packaging-rpm.sh
vendored
@ -1,37 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
|
|
||||||
set -e
|
|
||||||
|
|
||||||
VERSION="$1"
|
|
||||||
RELEASE="$2"
|
|
||||||
PLUGINS="$3"
|
|
||||||
|
|
||||||
for PLUGIN_NAME in $PLUGINS; do
|
|
||||||
echo "::group::Packaging $PLUGIN_NAME"
|
|
||||||
|
|
||||||
PACKAGE_PATH=$PLUGIN_NAME
|
|
||||||
|
|
||||||
if [[ "$PLUGIN_NAME" =~ (.+)"=>"(.+) ]]; then
|
|
||||||
PACKAGE_PATH=$(echo ${BASH_REMATCH[1]})
|
|
||||||
PLUGIN_NAME=$(echo ${BASH_REMATCH[2]})
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Process specfile
|
|
||||||
rm -f plugin.specfile
|
|
||||||
python3 .github/scripts/create-spec-file.py "$PACKAGE_PATH" "$PLUGIN_NAME" "$VERSION" "$RELEASE"
|
|
||||||
|
|
||||||
rm -rf $HOME/rpmbuild/{BUILD,BUILDROOT,RPMS,SOURCES,SPECS,SRPMS}
|
|
||||||
mkdir -p $HOME/rpmbuild/{BUILD,BUILDROOT,RPMS,SOURCES,SPECS,SRPMS}
|
|
||||||
|
|
||||||
mv build/$PLUGIN_NAME $PLUGIN_NAME-$VERSION
|
|
||||||
tar czf $PLUGIN_NAME-$VERSION.tar.gz $PLUGIN_NAME-$VERSION
|
|
||||||
mv $PLUGIN_NAME-$VERSION.tar.gz $HOME/rpmbuild/SOURCES/
|
|
||||||
|
|
||||||
cd $PLUGIN_NAME-$VERSION
|
|
||||||
rpmbuild -ba ../plugin.specfile
|
|
||||||
find $HOME/rpmbuild/RPMS -name *.rpm -exec mv {} /src/ \;
|
|
||||||
|
|
||||||
cd -
|
|
||||||
|
|
||||||
echo "::endgroup::"
|
|
||||||
done
|
|
5
.github/scripts/rpm-signing.sh
vendored
5
.github/scripts/rpm-signing.sh
vendored
@ -1,5 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
|
|
||||||
set -ex
|
|
||||||
export GPG_TTY=$(tty)
|
|
||||||
rpmsign --addsign /src/*.rpm
|
|
35
.github/workflows/connector-vmware.yml
vendored
35
.github/workflows/connector-vmware.yml
vendored
@ -29,6 +29,7 @@ jobs:
|
|||||||
package:
|
package:
|
||||||
needs:
|
needs:
|
||||||
- get-environment
|
- get-environment
|
||||||
|
runs-on: ubuntu-22.04
|
||||||
strategy:
|
strategy:
|
||||||
matrix:
|
matrix:
|
||||||
include:
|
include:
|
||||||
@ -41,18 +42,32 @@ jobs:
|
|||||||
- package_extension: deb
|
- package_extension: deb
|
||||||
image: packaging-plugins-bullseye
|
image: packaging-plugins-bullseye
|
||||||
distrib: bullseye
|
distrib: bullseye
|
||||||
|
|
||||||
|
container:
|
||||||
|
image: ${{ vars.DOCKER_INTERNAL_REGISTRY_URL }}/${{ matrix.image }}
|
||||||
|
credentials:
|
||||||
|
username: ${{ secrets.DOCKER_REGISTRY_ID }}
|
||||||
|
password: ${{ secrets.DOCKER_REGISTRY_PASSWD }}
|
||||||
|
|
||||||
name: package ${{ matrix.distrib }}
|
name: package ${{ matrix.distrib }}
|
||||||
|
|
||||||
uses: ./.github/workflows/package.yml
|
steps:
|
||||||
with:
|
- name: Checkout sources
|
||||||
nfpm_file_pattern: "connectors/vmware/packaging/centreon-plugin-virtualization-vmware-daemon.yaml"
|
uses: actions/checkout@v3
|
||||||
distrib: ${{ matrix.distrib }}
|
|
||||||
package_extension: ${{ matrix.package_extension }}
|
- name: Package
|
||||||
image_name: ${{ matrix.image }}
|
uses: ./.github/actions/package
|
||||||
version: ${{ needs.get-environment.outputs.version }}
|
with:
|
||||||
release: ${{ needs.get-environment.outputs.release }}
|
nfpm_file_pattern: "connectors/vmware/packaging/centreon-plugin-virtualization-vmware-daemon.yaml"
|
||||||
cache_key: ${{ github.sha }}-${{ github.run_id }}-${{ matrix.package_extension }}-${{ matrix.distrib }}
|
distrib: ${{ matrix.distrib }}
|
||||||
secrets: inherit
|
package_extension: ${{ matrix.package_extension }}
|
||||||
|
version: ${{ needs.get-environment.outputs.version }}
|
||||||
|
release: ${{ needs.get-environment.outputs.release }}
|
||||||
|
commit_hash: ${{ github.sha }}
|
||||||
|
cache_key: ${{ github.sha }}-${{ github.run_id }}-${{ matrix.package_extension }}-${{ matrix.distrib }}
|
||||||
|
rpm_gpg_key: ${{ secrets.RPM_GPG_SIGNING_KEY }}
|
||||||
|
rpm_gpg_signing_key_id: ${{ secrets.RPM_GPG_SIGNING_KEY_ID }}
|
||||||
|
rpm_gpg_signing_passphrase: ${{ secrets.RPM_GPG_SIGNING_PASSPHRASE }}
|
||||||
|
|
||||||
deliver-rpm:
|
deliver-rpm:
|
||||||
needs:
|
needs:
|
||||||
|
117
.github/workflows/package.yml
vendored
117
.github/workflows/package.yml
vendored
@ -1,117 +0,0 @@
|
|||||||
on:
|
|
||||||
workflow_call:
|
|
||||||
inputs:
|
|
||||||
nfpm_file_pattern:
|
|
||||||
type: string
|
|
||||||
description: The pattern of the nfpm configuration file(s)
|
|
||||||
required: true
|
|
||||||
distrib:
|
|
||||||
type: string
|
|
||||||
description: The distrib
|
|
||||||
required: true
|
|
||||||
package_extension:
|
|
||||||
type: string
|
|
||||||
description: The package extension (deb or rpm)
|
|
||||||
required: true
|
|
||||||
image_name:
|
|
||||||
type: string
|
|
||||||
description: The image name
|
|
||||||
required: true
|
|
||||||
version:
|
|
||||||
type: string
|
|
||||||
description: The package version
|
|
||||||
required: false
|
|
||||||
release:
|
|
||||||
type: string
|
|
||||||
description: The release number
|
|
||||||
required: false
|
|
||||||
source_cache_key:
|
|
||||||
type: string
|
|
||||||
description: The source files cache key
|
|
||||||
required: false
|
|
||||||
source_cache_path:
|
|
||||||
type: string
|
|
||||||
description: The source files path
|
|
||||||
required: false
|
|
||||||
cache_key:
|
|
||||||
type: string
|
|
||||||
description: The package files cache key
|
|
||||||
required: true
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
package:
|
|
||||||
runs-on: ubuntu-22.04
|
|
||||||
container:
|
|
||||||
image: ${{ vars.DOCKER_INTERNAL_REGISTRY_URL }}/${{ inputs.image_name }}
|
|
||||||
credentials:
|
|
||||||
username: ${{ secrets.DOCKER_REGISTRY_ID }}
|
|
||||||
password: ${{ secrets.DOCKER_REGISTRY_PASSWD }}
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- name: Checkout sources
|
|
||||||
uses: actions/checkout@v3
|
|
||||||
|
|
||||||
- name: Import gpg key
|
|
||||||
env:
|
|
||||||
RPM_GPG_SIGNING_KEY: ${{ secrets.RPM_GPG_SIGNING_KEY }}
|
|
||||||
run: echo -n "$RPM_GPG_SIGNING_KEY" > key.gpg
|
|
||||||
shell: bash
|
|
||||||
|
|
||||||
- if: ${{ inputs.source_cache_key != '' && inputs.source_cache_path != '' }}
|
|
||||||
name: Import source files
|
|
||||||
uses: actions/cache/restore@v3
|
|
||||||
with:
|
|
||||||
path: ${{ inputs.source_cache_path }}
|
|
||||||
key: ${{ inputs.source_cache_key }}
|
|
||||||
fail-on-cache-miss: true
|
|
||||||
|
|
||||||
- name: Build ${{ inputs.package_extension }} files
|
|
||||||
env:
|
|
||||||
RPM_GPG_SIGNING_KEY_ID: ${{ secrets.RPM_GPG_SIGNING_KEY_ID }}
|
|
||||||
RPM_GPG_SIGNING_PASSPHRASE: ${{ secrets.RPM_GPG_SIGNING_PASSPHRASE }}
|
|
||||||
run: |
|
|
||||||
export VERSION="${{ inputs.version }}"
|
|
||||||
export RELEASE="${{ inputs.release }}"
|
|
||||||
|
|
||||||
if [ "${{ inputs.package_extension }}" = "rpm" ]; then
|
|
||||||
export DIST=".${{ inputs.distrib }}"
|
|
||||||
export APACHE_USER="apache"
|
|
||||||
export APACHE_GROUP="apache"
|
|
||||||
else
|
|
||||||
export DIST=""
|
|
||||||
export APACHE_USER="www-data"
|
|
||||||
export APACHE_GROUP="www-data"
|
|
||||||
fi
|
|
||||||
|
|
||||||
export PERL_SITELIB="$(eval "$(perl -V:installsitelib)"; echo $installsitelib)"
|
|
||||||
export PERL_VENDORLIB="$(eval "$(perl -V:installvendorlib)"; echo $installvendorlib)"
|
|
||||||
|
|
||||||
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@/${{ github.sha }}/g; s#@PERL_SITELIB@#${PERL_SITELIB}#g; s#@PERL_VENDORLIB@#${PERL_VENDORLIB}#g" \
|
|
||||||
$BASENAME
|
|
||||||
nfpm package --config $BASENAME --packager ${{ inputs.package_extension }}
|
|
||||||
cd -
|
|
||||||
mv $DIRNAME/*.${{ inputs.package_extension }} ./
|
|
||||||
done
|
|
||||||
shell: bash
|
|
||||||
|
|
||||||
- name: Upload package artifacts
|
|
||||||
uses: actions/upload-artifact@v3
|
|
||||||
with:
|
|
||||||
name: packages-${{ inputs.distrib }}
|
|
||||||
path: ./*.${{ inputs.package_extension }}
|
|
||||||
retention-days: 1
|
|
||||||
|
|
||||||
- name: Cache packages
|
|
||||||
uses: actions/cache@v3
|
|
||||||
with:
|
|
||||||
path: ./*.${{ inputs.package_extension }}
|
|
||||||
key: ${{ inputs.cache_key }}
|
|
40
.github/workflows/perl-vmware-vsphere.yml
vendored
40
.github/workflows/perl-vmware-vsphere.yml
vendored
@ -49,6 +49,7 @@ jobs:
|
|||||||
package:
|
package:
|
||||||
needs:
|
needs:
|
||||||
- get-sources
|
- get-sources
|
||||||
|
runs-on: ubuntu-22.04
|
||||||
strategy:
|
strategy:
|
||||||
matrix:
|
matrix:
|
||||||
include:
|
include:
|
||||||
@ -61,18 +62,37 @@ jobs:
|
|||||||
- package_extension: deb
|
- package_extension: deb
|
||||||
image: packaging-plugins-bullseye
|
image: packaging-plugins-bullseye
|
||||||
distrib: bullseye
|
distrib: bullseye
|
||||||
|
|
||||||
|
container:
|
||||||
|
image: ${{ vars.DOCKER_INTERNAL_REGISTRY_URL }}/${{ matrix.image }}
|
||||||
|
credentials:
|
||||||
|
username: ${{ secrets.DOCKER_REGISTRY_ID }}
|
||||||
|
password: ${{ secrets.DOCKER_REGISTRY_PASSWD }}
|
||||||
|
|
||||||
name: package ${{ matrix.distrib }}
|
name: package ${{ matrix.distrib }}
|
||||||
|
|
||||||
uses: ./.github/workflows/package.yml
|
steps:
|
||||||
with:
|
- name: Checkout sources
|
||||||
nfpm_file_pattern: "dependencies/perl-vmware-vsphere/packaging/perl-vmware-vsphere.yaml"
|
uses: actions/checkout@v3
|
||||||
distrib: ${{ matrix.distrib }}
|
|
||||||
package_extension: ${{ matrix.package_extension }}
|
- name: Import source files
|
||||||
image_name: ${{ matrix.image }}
|
uses: actions/cache/restore@v3
|
||||||
source_cache_key: ${{ github.sha }}-${{ github.run_id }}-sources-perl-vmware-vsphere
|
with:
|
||||||
source_cache_path: vmware-vsphere-cli-distrib
|
path: vmware-vsphere-cli-distrib
|
||||||
cache_key: ${{ github.sha }}-${{ github.run_id }}-${{ matrix.package_extension }}-${{ matrix.distrib }}
|
key: ${{ github.sha }}-${{ github.run_id }}-sources-perl-vmware-vsphere
|
||||||
secrets: inherit
|
fail-on-cache-miss: true
|
||||||
|
|
||||||
|
- name: Package
|
||||||
|
uses: ./.github/actions/package
|
||||||
|
with:
|
||||||
|
nfpm_file_pattern: "dependencies/perl-vmware-vsphere/packaging/perl-vmware-vsphere.yaml"
|
||||||
|
distrib: ${{ matrix.distrib }}
|
||||||
|
package_extension: ${{ matrix.package_extension }}
|
||||||
|
commit_hash: ${{ github.sha }}
|
||||||
|
cache_key: ${{ github.sha }}-${{ github.run_id }}-${{ matrix.package_extension }}-${{ matrix.distrib }}
|
||||||
|
rpm_gpg_key: ${{ secrets.RPM_GPG_SIGNING_KEY }}
|
||||||
|
rpm_gpg_signing_key_id: ${{ secrets.RPM_GPG_SIGNING_KEY_ID }}
|
||||||
|
rpm_gpg_signing_passphrase: ${{ secrets.RPM_GPG_SIGNING_PASSPHRASE }}
|
||||||
|
|
||||||
deliver-rpm:
|
deliver-rpm:
|
||||||
needs:
|
needs:
|
||||||
|
10
.github/workflows/plugin-delivery.yml
vendored
10
.github/workflows/plugin-delivery.yml
vendored
@ -46,10 +46,11 @@ jobs:
|
|||||||
- name: Checkout sources
|
- name: Checkout sources
|
||||||
uses: actions/checkout@v3
|
uses: actions/checkout@v3
|
||||||
|
|
||||||
- uses: actions/cache@v3
|
- uses: actions/cache/restore@v3
|
||||||
with:
|
with:
|
||||||
path: ./build/
|
path: ./build/
|
||||||
key: fatpacked-plugins-${{ github.sha }}-${{ github.run_id }}
|
key: fatpacked-plugins-${{ github.sha }}-${{ github.run_id }}
|
||||||
|
fail-on-cache-miss: true
|
||||||
|
|
||||||
- name: Deliver sources
|
- name: Deliver sources
|
||||||
uses: ./.github/actions/release-sources
|
uses: ./.github/actions/release-sources
|
||||||
@ -66,7 +67,7 @@ jobs:
|
|||||||
strategy:
|
strategy:
|
||||||
fail-fast: false
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
distrib: [el7, el8, el9]
|
distrib: [el7]
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout sources
|
- name: Checkout sources
|
||||||
@ -82,11 +83,12 @@ jobs:
|
|||||||
artifactory_token: ${{ secrets.artifactory_token }}
|
artifactory_token: ${{ secrets.artifactory_token }}
|
||||||
|
|
||||||
deliver-rpm-legacy:
|
deliver-rpm-legacy:
|
||||||
|
if: ${{ inputs.stability == 'stable' }}
|
||||||
runs-on: [self-hosted, common]
|
runs-on: [self-hosted, common]
|
||||||
strategy:
|
strategy:
|
||||||
fail-fast: false
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
distrib: [el7, el8]
|
distrib: [el7]
|
||||||
major_version: ["21.10", "22.04", "22.10"]
|
major_version: ["21.10", "22.04", "22.10"]
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
@ -107,6 +109,7 @@ jobs:
|
|||||||
stability: ${{ inputs.stability }}
|
stability: ${{ inputs.stability }}
|
||||||
|
|
||||||
deliver-deb:
|
deliver-deb:
|
||||||
|
if: ${{ inputs.stability == 'REMOVE-LINE' }}
|
||||||
runs-on: [self-hosted, common]
|
runs-on: [self-hosted, common]
|
||||||
strategy:
|
strategy:
|
||||||
fail-fast: false
|
fail-fast: false
|
||||||
@ -126,6 +129,7 @@ jobs:
|
|||||||
artifactory_token: ${{ secrets.artifactory_token }}
|
artifactory_token: ${{ secrets.artifactory_token }}
|
||||||
|
|
||||||
deliver-deb-legacy:
|
deliver-deb-legacy:
|
||||||
|
if: ${{ inputs.stability == 'RESET-TO-STABLE' }}
|
||||||
runs-on: [self-hosted, common]
|
runs-on: [self-hosted, common]
|
||||||
strategy:
|
strategy:
|
||||||
fail-fast: false
|
fail-fast: false
|
||||||
|
88
.github/workflows/plugin-package.yml
vendored
88
.github/workflows/plugin-package.yml
vendored
@ -1,88 +0,0 @@
|
|||||||
on:
|
|
||||||
workflow_call:
|
|
||||||
inputs:
|
|
||||||
plugins:
|
|
||||||
required: true
|
|
||||||
type: string
|
|
||||||
version:
|
|
||||||
required: true
|
|
||||||
type: string
|
|
||||||
release:
|
|
||||||
required: true
|
|
||||||
type: string
|
|
||||||
secrets:
|
|
||||||
registry_username:
|
|
||||||
required: true
|
|
||||||
registry_password:
|
|
||||||
required: true
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
fatpacker:
|
|
||||||
runs-on: ubuntu-22.04
|
|
||||||
steps:
|
|
||||||
- name: Checkout sources
|
|
||||||
uses: actions/checkout@v3
|
|
||||||
with:
|
|
||||||
fetch-depth: 1
|
|
||||||
|
|
||||||
- name: Prepare FatPacker
|
|
||||||
uses: shogo82148/actions-setup-perl@v1
|
|
||||||
with:
|
|
||||||
perl-version: '5.34'
|
|
||||||
install-modules-with: cpm
|
|
||||||
install-modules: App::FatPacker File::Copy::Recursive JSON
|
|
||||||
|
|
||||||
- name: Run FatPacker
|
|
||||||
run: |
|
|
||||||
COMMIT=$(git log -1 HEAD --pretty=format:%h)
|
|
||||||
perl .github/scripts/plugins-source.container.pl "${{ inputs.plugins }}" "${{ inputs.version }} ($COMMIT)"
|
|
||||||
|
|
||||||
- uses: actions/cache@v3
|
|
||||||
with:
|
|
||||||
path: ./build/
|
|
||||||
key: fatpacked-plugins-${{ github.sha }}-${{ github.run_id }}
|
|
||||||
|
|
||||||
package:
|
|
||||||
runs-on: ubuntu-22.04
|
|
||||||
needs: [fatpacker]
|
|
||||||
|
|
||||||
strategy:
|
|
||||||
matrix:
|
|
||||||
include:
|
|
||||||
- package_extension: rpm
|
|
||||||
image: packaging-plugins-centos7
|
|
||||||
distrib: el7
|
|
||||||
- package_extension: rpm
|
|
||||||
image: packaging-plugins-alma8
|
|
||||||
distrib: el8
|
|
||||||
- package_extension: rpm
|
|
||||||
image: packaging-plugins-alma9
|
|
||||||
distrib: el9
|
|
||||||
- package_extension: deb
|
|
||||||
image: packaging-plugins-bullseye
|
|
||||||
distrib: bullseye
|
|
||||||
name: "package ${{ matrix.distrib }}"
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- name: Checkout sources
|
|
||||||
uses: actions/checkout@v3
|
|
||||||
|
|
||||||
- uses: actions/cache@v3
|
|
||||||
with:
|
|
||||||
path: ./build/
|
|
||||||
key: fatpacked-plugins-${{ github.sha }}-${{ github.run_id }}
|
|
||||||
|
|
||||||
- uses: ./.github/actions/package
|
|
||||||
with:
|
|
||||||
package_extension: ${{ matrix.package_extension }}
|
|
||||||
distrib: ${{ matrix.distrib }}
|
|
||||||
image_name: ${{ matrix.image }}
|
|
||||||
script_name: plugin-packaging-${{ matrix.package_extension }}
|
|
||||||
plugins: ${{ inputs.plugins }}
|
|
||||||
version: ${{ inputs.version }}
|
|
||||||
release: ${{ inputs.release }}
|
|
||||||
cache_key: ${{ github.sha }}-${{ github.run_id }}-${{ matrix.package_extension }}-${{ matrix.distrib }}
|
|
||||||
sign: true
|
|
||||||
registry_url: ${{ vars.DOCKER_INTERNAL_REGISTRY_URL }}
|
|
||||||
registry_username: ${{ secrets.registry_username }}
|
|
||||||
registry_password: ${{ secrets.registry_password }}
|
|
145
.github/workflows/plugins.yml
vendored
145
.github/workflows/plugins.yml
vendored
@ -84,17 +84,144 @@ jobs:
|
|||||||
fi
|
fi
|
||||||
shell: bash
|
shell: bash
|
||||||
|
|
||||||
package:
|
fatpacker:
|
||||||
if: ${{ needs.get-plugins.outputs.plugins != '' }}
|
if: ${{ needs.get-plugins.outputs.plugins != '' }}
|
||||||
needs: [get-environment, get-plugins]
|
needs: [get-environment, get-plugins]
|
||||||
uses: ./.github/workflows/plugin-package.yml
|
runs-on: ubuntu-22.04
|
||||||
with:
|
steps:
|
||||||
plugins: ${{ needs.get-plugins.outputs.plugins }}
|
- name: Checkout sources
|
||||||
version: ${{ needs.get-environment.outputs.version }}
|
uses: actions/checkout@v3
|
||||||
release: ${{ needs.get-environment.outputs.release }}
|
with:
|
||||||
secrets:
|
fetch-depth: 1
|
||||||
registry_username: ${{ secrets.DOCKER_REGISTRY_ID }}
|
|
||||||
registry_password: ${{ secrets.DOCKER_REGISTRY_PASSWD }}
|
- name: Prepare FatPacker
|
||||||
|
uses: shogo82148/actions-setup-perl@v1
|
||||||
|
with:
|
||||||
|
perl-version: '5.34'
|
||||||
|
install-modules-with: cpm
|
||||||
|
install-modules: App::FatPacker File::Copy::Recursive JSON
|
||||||
|
|
||||||
|
- name: Run FatPacker
|
||||||
|
run: |
|
||||||
|
COMMIT=$(git log -1 HEAD --pretty=format:%h)
|
||||||
|
perl .github/scripts/plugins-source.container.pl "${{ needs.get-plugins.outputs.plugins }}" "${{ needs.get-environment.outputs.version }} ($COMMIT)"
|
||||||
|
|
||||||
|
- uses: actions/cache/save@v3
|
||||||
|
with:
|
||||||
|
path: ./build/
|
||||||
|
key: fatpacked-plugins-${{ github.sha }}-${{ github.run_id }}
|
||||||
|
|
||||||
|
package:
|
||||||
|
runs-on: ubuntu-22.04
|
||||||
|
needs: [get-environment, get-plugins, fatpacker]
|
||||||
|
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
matrix:
|
||||||
|
include:
|
||||||
|
- package_extension: rpm
|
||||||
|
image: packaging-plugins-centos7
|
||||||
|
distrib: el7
|
||||||
|
- package_extension: rpm
|
||||||
|
image: packaging-plugins-alma8
|
||||||
|
distrib: el8
|
||||||
|
- package_extension: rpm
|
||||||
|
image: packaging-plugins-alma9
|
||||||
|
distrib: el9
|
||||||
|
- package_extension: deb
|
||||||
|
image: packaging-plugins-bullseye
|
||||||
|
distrib: bullseye
|
||||||
|
|
||||||
|
container:
|
||||||
|
image: ${{ vars.DOCKER_INTERNAL_REGISTRY_URL }}/${{ matrix.image }}
|
||||||
|
credentials:
|
||||||
|
username: ${{ secrets.DOCKER_REGISTRY_ID }}
|
||||||
|
password: ${{ secrets.DOCKER_REGISTRY_PASSWD }}
|
||||||
|
|
||||||
|
name: "package ${{ matrix.distrib }}"
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: Checkout sources
|
||||||
|
uses: actions/checkout@v3
|
||||||
|
|
||||||
|
- uses: actions/cache/restore@v3
|
||||||
|
with:
|
||||||
|
path: ./build/
|
||||||
|
key: fatpacked-plugins-${{ github.sha }}-${{ github.run_id }}
|
||||||
|
fail-on-cache-miss: true
|
||||||
|
|
||||||
|
- run: |
|
||||||
|
PLUGINS="${{ needs.get-plugins.outputs.plugins }}"
|
||||||
|
for PLUGIN in $PLUGINS; do
|
||||||
|
PACKAGE_PATH=$PLUGIN
|
||||||
|
|
||||||
|
if [[ "$PLUGIN" =~ (.+)"=>"(.+) ]]; then
|
||||||
|
PACKAGE_PATH=$(echo ${BASH_REMATCH[1]})
|
||||||
|
PLUGIN=$(echo ${BASH_REMATCH[2]})
|
||||||
|
fi
|
||||||
|
|
||||||
|
PLUGIN_NAME_LOWER=$(echo "$PLUGIN" | tr '[:upper:]' '[:lower:]')
|
||||||
|
|
||||||
|
echo "::group::Preparing $PLUGIN_NAME_LOWER"
|
||||||
|
|
||||||
|
# Process package files
|
||||||
|
pkg_values=($(cat "packaging/$PACKAGE_PATH/pkg.json" | jq -r '.pkg_name,.plugin_name'))
|
||||||
|
pkg_summary=$(echo "${pkg_values[0]}")
|
||||||
|
plugin_name=$(echo "${pkg_values[1]}")
|
||||||
|
conflicts=$(cat "packaging/$PACKAGE_PATH/pkg.json" | jq -r '.conflicts // [] | join(",")')
|
||||||
|
replaces=$(cat "packaging/$PACKAGE_PATH/pkg.json" | jq -r '.replaces // [] | join(",")')
|
||||||
|
provides=$(cat "packaging/$PACKAGE_PATH/pkg.json" | jq -r '.provides // [] | join(",")')
|
||||||
|
deb_dependencies=$(cat "packaging/$PACKAGE_PATH/deb.json" | jq -r '.dependencies // [] | join(",")')
|
||||||
|
deb_conflicts=$(cat "packaging/$PACKAGE_PATH/deb.json" | jq -r '.conflicts // [] | join(",")')
|
||||||
|
deb_replaces=$(cat "packaging/$PACKAGE_PATH/deb.json" | jq -r '.replaces // [] | join(",")')
|
||||||
|
deb_provides=$(cat "packaging/$PACKAGE_PATH/deb.json" | jq -r '.provides // [] | join(",")')
|
||||||
|
rpm_dependencies=$(cat "packaging/$PACKAGE_PATH/rpm.json" | jq -r '.dependencies // [] | join(",")')
|
||||||
|
rpm_conflicts=$(cat "packaging/$PACKAGE_PATH/rpm.json" | jq -r '.conflicts // [] | join(",")')
|
||||||
|
rpm_replaces=$(cat "packaging/$PACKAGE_PATH/rpm.json" | jq -r '.replaces // [] | join(",")')
|
||||||
|
rpm_provides=$(cat "packaging/$PACKAGE_PATH/rpm.json" | jq -r '.provides // [] | join(",")')
|
||||||
|
|
||||||
|
sed -e "s/@PLUGIN_NAME@/$PLUGIN/g;" \
|
||||||
|
-e "s/@SUMMARY@/$pkg_summary/g" \
|
||||||
|
-e "s/@CONFLICTS@/$conflicts/g" \
|
||||||
|
-e "s/@REPLACES@/$replaces/g" \
|
||||||
|
-e "s/@PROVIDES@/$provides/g" \
|
||||||
|
-e "s/@DEB_DEPENDENCIES@/$deb_dependencies/g" \
|
||||||
|
-e "s/@DEB_CONFLICTS@/$deb_conflicts/g" \
|
||||||
|
-e "s/@DEB_REPLACES@/$deb_replaces/g" \
|
||||||
|
-e "s/@DEB_PROVIDES@/$deb_provides/g" \
|
||||||
|
-e "s/@RPM_DEPENDENCIES@/$rpm_dependencies/g" \
|
||||||
|
-e "s/@RPM_CONFLICTS@/$rpm_conflicts/g" \
|
||||||
|
-e "s/@RPM_REPLACES@/$rpm_replaces/g" \
|
||||||
|
-e "s/@RPM_PROVIDES@/$rpm_provides/g" \
|
||||||
|
< .github/packaging/centreon-plugin.yaml.template \
|
||||||
|
>> .github/packaging/$PLUGIN.yaml
|
||||||
|
|
||||||
|
if [ "${{ matrix.package_extension }}" = "rpm" ]; then
|
||||||
|
sed -i "s/@PACKAGE_NAME@/$PLUGIN/g" \
|
||||||
|
.github/packaging/$PLUGIN.yaml
|
||||||
|
else
|
||||||
|
sed -i "s/@PACKAGE_NAME@/$PLUGIN_NAME_LOWER/g" \
|
||||||
|
.github/packaging/$PLUGIN.yaml
|
||||||
|
fi
|
||||||
|
|
||||||
|
cat .github/packaging/$PLUGIN.yaml
|
||||||
|
|
||||||
|
echo "::endgroup::"
|
||||||
|
done
|
||||||
|
shell: bash
|
||||||
|
|
||||||
|
- uses: ./.github/actions/package
|
||||||
|
with:
|
||||||
|
nfpm_file_pattern: ".github/packaging/*.yaml"
|
||||||
|
distrib: ${{ matrix.distrib }}
|
||||||
|
package_extension: ${{ matrix.package_extension }}
|
||||||
|
version: ${{ needs.get-environment.outputs.version }}
|
||||||
|
release: ${{ needs.get-environment.outputs.release }}
|
||||||
|
commit_hash: ${{ github.sha }}
|
||||||
|
cache_key: ${{ github.sha }}-${{ github.run_id }}-${{ matrix.package_extension }}-${{ matrix.distrib }}
|
||||||
|
rpm_gpg_key: ${{ secrets.RPM_GPG_SIGNING_KEY }}
|
||||||
|
rpm_gpg_signing_key_id: ${{ secrets.RPM_GPG_SIGNING_KEY_ID }}
|
||||||
|
rpm_gpg_signing_passphrase: ${{ secrets.RPM_GPG_SIGNING_PASSPHRASE }}
|
||||||
|
|
||||||
deliver:
|
deliver:
|
||||||
needs: [get-environment, package]
|
needs: [get-environment, package]
|
||||||
|
33
.github/workflows/tests-functional.yml
vendored
33
.github/workflows/tests-functional.yml
vendored
@ -1,26 +1,37 @@
|
|||||||
name: Run mock API server
|
name: Functional tests
|
||||||
|
|
||||||
|
concurrency:
|
||||||
|
group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }}
|
||||||
|
cancel-in-progress: true
|
||||||
|
|
||||||
on:
|
on:
|
||||||
workflow_dispatch:
|
workflow_dispatch:
|
||||||
push:
|
pull_request:
|
||||||
branches:
|
paths:
|
||||||
- MON-**
|
- 'src/**'
|
||||||
|
- 'tests/functional/**'
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
test:
|
AWS_tests:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-22.04
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v2
|
- uses: actions/checkout@v3
|
||||||
|
|
||||||
- name: Use Node.js
|
- name: Use Node.js
|
||||||
uses: actions/setup-node@v2
|
uses: actions/setup-node@v2
|
||||||
with:
|
with:
|
||||||
node-version: "14.x"
|
node-version: "16.x"
|
||||||
|
|
||||||
- name: Install Mockoon CLI
|
- name: Install Mockoon CLI
|
||||||
run: npm install -D @mockoon/cli
|
run: npm install -D @mockoon/cli
|
||||||
|
|
||||||
- name: Install perl dependencies
|
- name: Install perl dependencies
|
||||||
uses: perl-actions/install-with-cpm@stable
|
uses: shogo82148/actions-setup-perl@v1
|
||||||
with:
|
with:
|
||||||
install: |
|
perl-version: '5.34'
|
||||||
|
install-modules-with: cpm
|
||||||
|
install-modules: |
|
||||||
DateTime
|
DateTime
|
||||||
Digest::MD5
|
Digest::MD5
|
||||||
Encode
|
Encode
|
||||||
@ -35,8 +46,10 @@ jobs:
|
|||||||
Storable
|
Storable
|
||||||
URI
|
URI
|
||||||
URI::Encode
|
URI::Encode
|
||||||
|
|
||||||
- name: Run Mockoon CLI
|
- name: Run Mockoon CLI
|
||||||
run: npx mockoon-cli start --data tests/resources/mockoon/cloud-aws-cloudtrail.json --port 3000
|
run: npx mockoon-cli start --data tests/resources/mockoon/cloud-aws-cloudtrail.json --port 3000
|
||||||
|
|
||||||
- name: Run plugin
|
- name: Run plugin
|
||||||
run: |
|
run: |
|
||||||
sudo chmod -R +x tests/functional/
|
sudo chmod -R +x tests/functional/
|
||||||
|
14
doc/CI.md
14
doc/CI.md
@ -90,12 +90,6 @@ The following files are included by default:
|
|||||||
* centreon/plugins/templates/hardware.pm,
|
* centreon/plugins/templates/hardware.pm,
|
||||||
* centreon/plugins/values.pm.
|
* centreon/plugins/values.pm.
|
||||||
|
|
||||||
Extra entries can be used, for example to make a package obsoleting another one:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
"custom_pkg_data": "Obsoletes: centreon-plugin-Old-Plugin",
|
|
||||||
```
|
|
||||||
|
|
||||||
#### Create package dependencies management files
|
#### Create package dependencies management files
|
||||||
|
|
||||||
In the previously created directory, create two new JSON files named *rpm.json* and *deb.json*.
|
In the previously created directory, create two new JSON files named *rpm.json* and *deb.json*.
|
||||||
@ -126,6 +120,14 @@ Example of *deb.json* file:
|
|||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
|
Extra entries can be used in *rpm.json* and *deb.json*, for example to make a package obsoleting another one:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
"conflicts": "centreon-plugin-Old-Plugin",
|
||||||
|
"replaces": "centreon-plugin-Old-Plugin",
|
||||||
|
"provides": "centreon-plugin-Old-Plugin",
|
||||||
|
```
|
||||||
|
|
||||||
### Commit and push changes
|
### Commit and push changes
|
||||||
|
|
||||||
In the project directory, create a new branch:
|
In the project directory, create a new branch:
|
||||||
|
@ -1727,11 +1727,11 @@ Add a description of the mode options:
|
|||||||
|
|
||||||
=item B<--warning>
|
=item B<--warning>
|
||||||
|
|
||||||
Threshold warning for dropped packets in packets per second.
|
Warning threshold for dropped packets in packets per second.
|
||||||
|
|
||||||
=item B<--critical>
|
=item B<--critical>
|
||||||
|
|
||||||
Threshold critical for dropped packets in packets per second.
|
Critical threshold for dropped packets in packets per second.
|
||||||
|
|
||||||
=back
|
=back
|
||||||
|
|
||||||
|
@ -1743,11 +1743,11 @@ Ajouter une description aux options du mode :
|
|||||||
|
|
||||||
=item B<--warning>
|
=item B<--warning>
|
||||||
|
|
||||||
Threshold warning for dropped packets in packets per second.
|
Warning threshold for dropped packets in packets per second.
|
||||||
|
|
||||||
=item B<--critical>
|
=item B<--critical>
|
||||||
|
|
||||||
Threshold critical for dropped packets in packets per second.
|
Critical threshold for dropped packets in packets per second.
|
||||||
|
|
||||||
=back
|
=back
|
||||||
|
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
{
|
{
|
||||||
"dependencies": [
|
"dependencies": [],
|
||||||
],
|
"provides": ["centreon-plugin-network-cisco-ssms-restapi"],
|
||||||
"custom_pkg_data": "Provides: centreon-plugin-network-cisco-ssms-restapi\\nReplaces: centreon-plugin-network-cisco-ssms-restapi\\nConflicts: centreon-plugin-network-cisco-ssms-restapi"
|
"replaces": ["centreon-plugin-network-cisco-ssms-restapi"],
|
||||||
|
"conflicts": ["centreon-plugin-network-cisco-ssms-restapi"]
|
||||||
}
|
}
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
{
|
{
|
||||||
"dependencies": [
|
"dependencies": [
|
||||||
],
|
],
|
||||||
"custom_pkg_data": "Obsoletes: centreon-plugin-Network-Cisco-Ssms-Restapi"
|
"replaces": ["centreon-plugin-Network-Cisco-Ssms-Restapi"]
|
||||||
}
|
}
|
||||||
|
@ -1,5 +1,4 @@
|
|||||||
{
|
{
|
||||||
"dependencies": [
|
"dependencies": [],
|
||||||
],
|
"replaces": ["centreon-plugin-Applications-Elasticsearch"]
|
||||||
"custom_pkg_data": "Obsoletes: centreon-plugin-Applications-Elasticsearch"
|
|
||||||
}
|
}
|
||||||
|
@ -6,5 +6,5 @@
|
|||||||
"perl(DBI)",
|
"perl(DBI)",
|
||||||
"perl(DBD::mysql)"
|
"perl(DBD::mysql)"
|
||||||
],
|
],
|
||||||
"custom_pkg_data": "Obsoletes: centreon-plugin-meta"
|
"replaces": ["centreon-plugin-meta"]
|
||||||
}
|
}
|
||||||
|
@ -1,9 +0,0 @@
|
|||||||
{
|
|
||||||
"pkg_name": "centreon-plugin-Applications-Monitoring-Iplabel-Datametrie-Restapi",
|
|
||||||
"pkg_summary": "Centreon Plugin IP-Label datametrie rest api",
|
|
||||||
"plugin_name": "centreon_monitoring_iplabel_datametrie_restapi.pl",
|
|
||||||
"files": [
|
|
||||||
"centreon/plugins/script_custom.pm",
|
|
||||||
"apps/monitoring/iplabel/datametrie/restapi/"
|
|
||||||
]
|
|
||||||
}
|
|
@ -4,5 +4,5 @@
|
|||||||
"perl(Digest::MD5)",
|
"perl(Digest::MD5)",
|
||||||
"perl(NetAddr::IP)"
|
"perl(NetAddr::IP)"
|
||||||
],
|
],
|
||||||
"custom_pkg_data": "Obsoletes: centreon-plugin-Generic-Snmp"
|
"replaces": ["centreon-plugin-Generic-Snmp"]
|
||||||
}
|
}
|
||||||
|
@ -0,0 +1,9 @@
|
|||||||
|
{
|
||||||
|
"pkg_name": "centreon-plugin-Applications-Sailpoint-Identitynow-Restapi",
|
||||||
|
"pkg_summary": "Centreon Plugin to monitor SailPoint IdentityNow throught RestAPI",
|
||||||
|
"plugin_name": "centreon_sailpoint_identitynow_restapi.pl",
|
||||||
|
"files": [
|
||||||
|
"centreon/plugins/script_custom.pm",
|
||||||
|
"apps/sailpoint/identitynow/restapi/"
|
||||||
|
]
|
||||||
|
}
|
@ -0,0 +1,4 @@
|
|||||||
|
{
|
||||||
|
"dependencies": [
|
||||||
|
]
|
||||||
|
}
|
@ -0,0 +1,9 @@
|
|||||||
|
{
|
||||||
|
"pkg_name": "centreon-plugin-Applications-Tosca-Restapi",
|
||||||
|
"pkg_summary": "Centreon Plugin to monitor Tosca throught Tosca Commander REST Webservice (TCRS)",
|
||||||
|
"plugin_name": "centreon_tosca_restapi.pl",
|
||||||
|
"files": [
|
||||||
|
"centreon/plugins/script_custom.pm",
|
||||||
|
"apps/tosca/restapi/"
|
||||||
|
]
|
||||||
|
}
|
@ -0,0 +1,4 @@
|
|||||||
|
{
|
||||||
|
"dependencies": [
|
||||||
|
]
|
||||||
|
}
|
@ -0,0 +1,5 @@
|
|||||||
|
{
|
||||||
|
"dependencies": [
|
||||||
|
"libdatetime-perl"
|
||||||
|
]
|
||||||
|
}
|
@ -0,0 +1,9 @@
|
|||||||
|
{
|
||||||
|
"pkg_name": "centreon-plugin-Applications-Veeam-Vbem-Restapi",
|
||||||
|
"pkg_summary": "Centreon Plugin",
|
||||||
|
"plugin_name": "centreon_veeam_vbem_restapi.pl",
|
||||||
|
"files": [
|
||||||
|
"centreon/plugins/script_custom.pm",
|
||||||
|
"apps/backup/veeam/vbem/restapi/"
|
||||||
|
]
|
||||||
|
}
|
@ -0,0 +1,5 @@
|
|||||||
|
{
|
||||||
|
"dependencies": [
|
||||||
|
"perl(DateTime)"
|
||||||
|
]
|
||||||
|
}
|
@ -2,5 +2,5 @@
|
|||||||
"dependencies": [
|
"dependencies": [
|
||||||
"perl(SNMP)"
|
"perl(SNMP)"
|
||||||
],
|
],
|
||||||
"custom_pkg_data": "Obsoletes: centreon-plugin-App-Video-Openheadend-Snmp"
|
"replaces": ["centreon-plugin-App-Video-Openheadend-Snmp"]
|
||||||
}
|
}
|
||||||
|
@ -2,5 +2,5 @@
|
|||||||
"dependencies": [
|
"dependencies": [
|
||||||
"perl(DateTime)"
|
"perl(DateTime)"
|
||||||
],
|
],
|
||||||
"custom_pkg_data": "Obsoletes: centreon-plugin-Cloud-Aws-Api"
|
"replaces": ["centreon-plugin-Cloud-Aws-Api"]
|
||||||
}
|
}
|
||||||
|
@ -2,5 +2,5 @@
|
|||||||
"dependencies": [
|
"dependencies": [
|
||||||
"perl(DateTime)"
|
"perl(DateTime)"
|
||||||
],
|
],
|
||||||
"custom_pkg_data": "Obsoletes: centreon-plugin-Cloud-Aws-Api"
|
"replaces": ["centreon-plugin-Cloud-Aws-Api"]
|
||||||
}
|
}
|
||||||
|
@ -3,5 +3,5 @@
|
|||||||
"perl(DateTime)",
|
"perl(DateTime)",
|
||||||
"perl(Digest::SHA)"
|
"perl(Digest::SHA)"
|
||||||
],
|
],
|
||||||
"custom_pkg_data": "Obsoletes: centreon-plugin-Cloud-Azure-Compute-Api"
|
"replaces": ["centreon-plugin-Cloud-Azure-Compute-Api"]
|
||||||
}
|
}
|
||||||
|
@ -3,5 +3,5 @@
|
|||||||
"perl(DateTime)",
|
"perl(DateTime)",
|
||||||
"perl(Digest::SHA)"
|
"perl(Digest::SHA)"
|
||||||
],
|
],
|
||||||
"custom_pkg_data": "Obsoletes: centreon-plugin-Cloud-Azure-Monitor-Api"
|
"replaces": ["centreon-plugin-Cloud-Azure-Monitor-Api"]
|
||||||
}
|
}
|
||||||
|
@ -5,5 +5,5 @@
|
|||||||
"perl(DateTime-Format-Duration-ISO8601)",
|
"perl(DateTime-Format-Duration-ISO8601)",
|
||||||
"perl(DateTime::Duration)"
|
"perl(DateTime::Duration)"
|
||||||
],
|
],
|
||||||
"custom_pkg_data": "Obsoletes: centreon-plugin-Cloud-Azure-Resources-Api"
|
"replaces": ["centreon-plugin-Cloud-Azure-Resources-Api"]
|
||||||
}
|
}
|
||||||
|
@ -3,5 +3,5 @@
|
|||||||
"perl(DateTime)",
|
"perl(DateTime)",
|
||||||
"perl(Digest::SHA)"
|
"perl(Digest::SHA)"
|
||||||
],
|
],
|
||||||
"custom_pkg_data": "Obsoletes: centreon-plugin-Cloud-Azure-Nework-LoadBalancer-Api"
|
"replaces": ["centreon-plugin-Cloud-Azure-Nework-LoadBalancer-Api"]
|
||||||
}
|
}
|
||||||
|
@ -3,5 +3,5 @@
|
|||||||
"perl(DateTime)",
|
"perl(DateTime)",
|
||||||
"perl(Digest::SHA)"
|
"perl(Digest::SHA)"
|
||||||
],
|
],
|
||||||
"custom_pkg_data": "Obsoletes: centreon-plugin-Cloud-Azure-Network-Api"
|
"replaces": ["centreon-plugin-Cloud-Azure-Network-Api"]
|
||||||
}
|
}
|
||||||
|
@ -3,5 +3,5 @@
|
|||||||
"perl(DateTime)",
|
"perl(DateTime)",
|
||||||
"perl(Digest::SHA)"
|
"perl(Digest::SHA)"
|
||||||
],
|
],
|
||||||
"custom_pkg_data": "Obsoletes: centreon-plugin-Cloud-Azure-Storage-Api"
|
"replaces": ["centreon-plugin-Cloud-Azure-Storage-Api"]
|
||||||
}
|
}
|
||||||
|
@ -1,5 +1,8 @@
|
|||||||
{
|
{
|
||||||
"dependencies": [
|
"dependencies": [
|
||||||
"libsnmp-perl"
|
"libsnmp-perl"
|
||||||
]
|
],
|
||||||
|
"replaces": ["centreon-plugin-hardware-devices-masterclock-ntpserver-snmp"],
|
||||||
|
"conflicts": ["centreon-plugin-hardware-devices-masterclock-ntpserver-snmp"],
|
||||||
|
"provides": ["centreon-plugin-hardware-devices-masterclock-ntpserver-snmp"]
|
||||||
}
|
}
|
@ -7,6 +7,5 @@
|
|||||||
"centreon/plugins/snmp.pm",
|
"centreon/plugins/snmp.pm",
|
||||||
"snmp_standard/mode/uptime.pm",
|
"snmp_standard/mode/uptime.pm",
|
||||||
"hardware/devices/masterclock/ntp100gps/snmp/"
|
"hardware/devices/masterclock/ntp100gps/snmp/"
|
||||||
],
|
]
|
||||||
"custom_pkg_data": "Obsoletes: centreon-plugin-Hardware-Devices-Masterclock-Ntpserver-Snmp"
|
|
||||||
}
|
}
|
||||||
|
@ -1,5 +1,8 @@
|
|||||||
{
|
{
|
||||||
"dependencies": [
|
"dependencies": [
|
||||||
"perl(SNMP)"
|
"perl(SNMP)"
|
||||||
]
|
],
|
||||||
|
"replaces": ["centreon-plugin-Hardware-Devices-Masterclock-Ntpserver-Snmp"],
|
||||||
|
"conflicts": ["centreon-plugin-Hardware-Devices-Masterclock-Ntpserver-Snmp"],
|
||||||
|
"provides": ["centreon-plugin-Hardware-Devices-Masterclock-Ntpserver-Snmp"]
|
||||||
}
|
}
|
@ -0,0 +1,5 @@
|
|||||||
|
{
|
||||||
|
"dependencies": [
|
||||||
|
"libsnmp-perl"
|
||||||
|
]
|
||||||
|
}
|
@ -0,0 +1,10 @@
|
|||||||
|
{
|
||||||
|
"pkg_name": "centreon-plugin-Hardware-Sensors-Rittal-Cmc-Snmp",
|
||||||
|
"pkg_summary": "Centreon Plugin Sensor Rittal CMC3",
|
||||||
|
"plugin_name": "centreon_sensors_rittal_cmc3_snmp.pl",
|
||||||
|
"files": [
|
||||||
|
"centreon/plugins/script_snmp.pm",
|
||||||
|
"centreon/plugins/snmp.pm",
|
||||||
|
"hardware/sensors/rittal/cmc3/snmp/"
|
||||||
|
]
|
||||||
|
}
|
@ -0,0 +1,5 @@
|
|||||||
|
{
|
||||||
|
"dependencies": [
|
||||||
|
"perl(SNMP)"
|
||||||
|
]
|
||||||
|
}
|
@ -2,5 +2,5 @@
|
|||||||
"dependencies": [
|
"dependencies": [
|
||||||
"perl(XML::Simple)"
|
"perl(XML::Simple)"
|
||||||
],
|
],
|
||||||
"custom_pkg_data": "Obsoletes: centreon-plugin-Hardware-Servers-Hp-Ilo-Xmlapii"
|
"replaces": ["centreon-plugin-Hardware-Servers-Hp-Ilo-Xmlapii"]
|
||||||
}
|
}
|
||||||
|
@ -8,5 +8,5 @@
|
|||||||
"hardware/server/ibm/mgmt_cards/imm/snmp/",
|
"hardware/server/ibm/mgmt_cards/imm/snmp/",
|
||||||
"snmp_standard/mode/ntp.pm"
|
"snmp_standard/mode/ntp.pm"
|
||||||
],
|
],
|
||||||
"custom_pkg_data": "Obsoletes: centreon-plugin-Hardware-servers-ibm-imm-snmp"
|
"replaces": ["centreon-plugin-Hardware-servers-ibm-imm-snmp"]
|
||||||
}
|
}
|
||||||
|
@ -2,5 +2,5 @@
|
|||||||
"dependencies": [
|
"dependencies": [
|
||||||
"perl(SNMP)"
|
"perl(SNMP)"
|
||||||
],
|
],
|
||||||
"custom_pkg_data": "Obsoletes: centreon-plugin-Hardware-Storage-Oracle-Zfs-Snmp"
|
"replaces": ["centreon-plugin-Hardware-Storage-Oracle-Zfs-Snmp"]
|
||||||
}
|
}
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
{
|
{
|
||||||
"dependencies": [
|
"dependencies": [
|
||||||
],
|
],
|
||||||
"custom_pkg_data": "Obsoletes: centreon-plugin-Network-Cisco-Meraki-Restap"
|
"replaces": ["centreon-plugin-Network-Cisco-Meraki-Restap"]
|
||||||
}
|
}
|
||||||
|
@ -0,0 +1,5 @@
|
|||||||
|
{
|
||||||
|
"dependencies": [
|
||||||
|
"libsnmp-perl"
|
||||||
|
]
|
||||||
|
}
|
@ -0,0 +1,14 @@
|
|||||||
|
{
|
||||||
|
"pkg_name": "centreon-plugin-Network-Fortinet-Fortimail-Snmp",
|
||||||
|
"pkg_summary": "Centreon Plugin Fortinet FortiMail SNMP",
|
||||||
|
"plugin_name": "centreon_fortinet_fortimail_snmp.pl",
|
||||||
|
"files": [
|
||||||
|
"centreon/plugins/script_snmp.pm",
|
||||||
|
"centreon/plugins/snmp.pm",
|
||||||
|
"snmp_standard/mode/interfaces.pm",
|
||||||
|
"snmp_standard/mode/listinterfaces.pm",
|
||||||
|
"snmp_standard/mode/resources/",
|
||||||
|
"snmp_standard/mode/uptime.pm",
|
||||||
|
"network/fortinet/fortimail/snmp/"
|
||||||
|
]
|
||||||
|
}
|
@ -0,0 +1,5 @@
|
|||||||
|
{
|
||||||
|
"dependencies": [
|
||||||
|
"perl(SNMP)"
|
||||||
|
]
|
||||||
|
}
|
@ -4,5 +4,5 @@
|
|||||||
"perl(DateTime)",
|
"perl(DateTime)",
|
||||||
"perl(Digest::SHA)"
|
"perl(Digest::SHA)"
|
||||||
],
|
],
|
||||||
"custom_pkg_data": "Obsoletes: centreon-plugin-Network-Fritzbox"
|
"replaces": ["centreon-plugin-Network-Fritzbox"]
|
||||||
}
|
}
|
||||||
|
@ -5,6 +5,9 @@
|
|||||||
"files": [
|
"files": [
|
||||||
"centreon/plugins/script_snmp.pm",
|
"centreon/plugins/script_snmp.pm",
|
||||||
"centreon/plugins/snmp.pm",
|
"centreon/plugins/snmp.pm",
|
||||||
|
"snmp_standard/mode/interfaces.pm",
|
||||||
|
"snmp_standard/mode/listinterfaces.pm",
|
||||||
|
"snmp_standard/mode/resources/",
|
||||||
"network/atrica/snmp/"
|
"network/atrica/snmp/"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
@ -3,5 +3,5 @@
|
|||||||
"perl(SNMP)",
|
"perl(SNMP)",
|
||||||
"perl(DateTime)"
|
"perl(DateTime)"
|
||||||
],
|
],
|
||||||
"custom_pkg_data": "Obsoletes: centreon-plugin-Operatingsystems-Hpuux-Snmp"
|
"replaces": ["centreon-plugin-Operatingsystems-Hpuux-Snmp"]
|
||||||
}
|
}
|
||||||
|
@ -247,32 +247,32 @@ Antivirus daily.cvd file (Default: '/var/lib/clamav/daily.cvd').
|
|||||||
|
|
||||||
=item B<--warning-engine-status>
|
=item B<--warning-engine-status>
|
||||||
|
|
||||||
Set warning threshold for status (Default: '')
|
Define the conditions to match for the status to be WARNING (Default: '')
|
||||||
You can use the following variables: %{last_engine_version}, %{current_engine_version}
|
You can use the following variables: %{last_engine_version}, %{current_engine_version}
|
||||||
|
|
||||||
=item B<--critical-engine-status>
|
=item B<--critical-engine-status>
|
||||||
|
|
||||||
Set critical threshold for status (Default: '%{last_engine_version} ne %{current_engine_version}').
|
Define the conditions to match for the status to be CRITICAL (Default: '%{last_engine_version} ne %{current_engine_version}').
|
||||||
You can use the following variables: %{last_engine_version}, %{current_engine_version}
|
You can use the following variables: %{last_engine_version}, %{current_engine_version}
|
||||||
|
|
||||||
=item B<--warning-maindb-status>
|
=item B<--warning-maindb-status>
|
||||||
|
|
||||||
Set warning threshold for status (Default: '')
|
Define the conditions to match for the status to be WARNING (Default: '')
|
||||||
You can use the following variables: %{last_maindb_version}, %{current_maindb_version}, %{current_maindb_timediff}
|
You can use the following variables: %{last_maindb_version}, %{current_maindb_version}, %{current_maindb_timediff}
|
||||||
|
|
||||||
=item B<--critical-maindb-status>
|
=item B<--critical-maindb-status>
|
||||||
|
|
||||||
Set critical threshold for status (Default: '%{last_maindb_version} ne %{current_maindb_version}').
|
Define the conditions to match for the status to be CRITICAL (Default: '%{last_maindb_version} ne %{current_maindb_version}').
|
||||||
You can use the following variables: %{last_maindb_version}, %{current_maindb_version}, %{current_maindb_timediff}
|
You can use the following variables: %{last_maindb_version}, %{current_maindb_version}, %{current_maindb_timediff}
|
||||||
|
|
||||||
=item B<--warning-dailydb-status>
|
=item B<--warning-dailydb-status>
|
||||||
|
|
||||||
Set warning threshold for status (Default: '')
|
Define the conditions to match for the status to be WARNING (Default: '')
|
||||||
You can use the following variables: %{last_dailydb_version}, %{current_dailydb_version}, %{current_dailydb_timediff}
|
You can use the following variables: %{last_dailydb_version}, %{current_dailydb_version}, %{current_dailydb_timediff}
|
||||||
|
|
||||||
=item B<--critical-dailydb-status>
|
=item B<--critical-dailydb-status>
|
||||||
|
|
||||||
Set critical threshold for status (Default: '%{last_dailydb_version} ne %{current_dailydb_version} || %{current_dailydb_timediff} > 432000').
|
Define the conditions to match for the status to be CRITICAL (Default: '%{last_dailydb_version} ne %{current_dailydb_version} || %{current_dailydb_timediff} > 432000').
|
||||||
You can use the following variables: %{last_dailydb_version}, %{current_dailydb_version}, %{current_dailydb_timediff}
|
You can use the following variables: %{last_dailydb_version}, %{current_dailydb_version}, %{current_dailydb_timediff}
|
||||||
|
|
||||||
=back
|
=back
|
||||||
|
@ -297,22 +297,22 @@ Check antivirus software deployment status.
|
|||||||
|
|
||||||
=item B<--warning-status>
|
=item B<--warning-status>
|
||||||
|
|
||||||
Set warning threshold for status. (Default: '%{status} =~ /Warning/i').
|
Define the conditions to match for the status to be WARNING. (Default: '%{status} =~ /Warning/i').
|
||||||
Can use special variables like: %{status}
|
Can use special variables like: %{status}
|
||||||
|
|
||||||
=item B<--critical-status>
|
=item B<--critical-status>
|
||||||
|
|
||||||
Set critical threshold for status. (Default: '%{status} =~ /Critical/i').
|
Define the conditions to match for the status to be CRITICAL. (Default: '%{status} =~ /Critical/i').
|
||||||
Can use special variables like: %{status}
|
Can use special variables like: %{status}
|
||||||
|
|
||||||
=item B<--warning-*>
|
=item B<--warning-*>
|
||||||
|
|
||||||
Threshold warning.
|
Warning threshold.
|
||||||
Can be: 'progress' (counter or %), 'failed', 'expiring', 'expired'.
|
Can be: 'progress' (counter or %), 'failed', 'expiring', 'expired'.
|
||||||
|
|
||||||
=item B<--critical-*>
|
=item B<--critical-*>
|
||||||
|
|
||||||
Threshold critical.
|
Critical threshold.
|
||||||
Can be: 'progress' (counter or %), 'failed', 'expiring', 'expired'.
|
Can be: 'progress' (counter or %), 'failed', 'expiring', 'expired'.
|
||||||
|
|
||||||
=item B<--percent>
|
=item B<--percent>
|
||||||
|
@ -120,22 +120,22 @@ Check events status.
|
|||||||
|
|
||||||
=item B<--warning-status>
|
=item B<--warning-status>
|
||||||
|
|
||||||
Set warning threshold for status. (Default: '%{status} =~ /Warning/i').
|
Define the conditions to match for the status to be WARNING. (Default: '%{status} =~ /Warning/i').
|
||||||
Can use special variables like: %{status}
|
Can use special variables like: %{status}
|
||||||
|
|
||||||
=item B<--critical-status>
|
=item B<--critical-status>
|
||||||
|
|
||||||
Set critical threshold for status. (Default: '%{status} =~ /Critical/i').
|
Define the conditions to match for the status to be CRITICAL. (Default: '%{status} =~ /Critical/i').
|
||||||
Can use special variables like: %{status}
|
Can use special variables like: %{status}
|
||||||
|
|
||||||
=item B<--warning-*>
|
=item B<--warning-*>
|
||||||
|
|
||||||
Threshold warning.
|
Warning threshold.
|
||||||
Can be: 'events'.
|
Can be: 'events'.
|
||||||
|
|
||||||
=item B<--critical-*>
|
=item B<--critical-*>
|
||||||
|
|
||||||
Threshold critical.
|
Critical threshold.
|
||||||
Can be: 'events'.
|
Can be: 'events'.
|
||||||
|
|
||||||
=back
|
=back
|
||||||
|
@ -118,22 +118,22 @@ Check full scan status.
|
|||||||
|
|
||||||
=item B<--warning-status>
|
=item B<--warning-status>
|
||||||
|
|
||||||
Set warning threshold for status. (Default: '%{status} =~ /Warning/i').
|
Define the conditions to match for the status to be WARNING. (Default: '%{status} =~ /Warning/i').
|
||||||
Can use special variables like: %{status}
|
Can use special variables like: %{status}
|
||||||
|
|
||||||
=item B<--critical-status>
|
=item B<--critical-status>
|
||||||
|
|
||||||
Set critical threshold for status. (Default: '%{status} =~ /Critical/i').
|
Define the conditions to match for the status to be CRITICAL. (Default: '%{status} =~ /Critical/i').
|
||||||
Can use special variables like: %{status}
|
Can use special variables like: %{status}
|
||||||
|
|
||||||
=item B<--warning-*>
|
=item B<--warning-*>
|
||||||
|
|
||||||
Threshold warning.
|
Warning threshold.
|
||||||
Can be: 'not-scanned'.
|
Can be: 'not-scanned'.
|
||||||
|
|
||||||
=item B<--critical-*>
|
=item B<--critical-*>
|
||||||
|
|
||||||
Threshold critical.
|
Critical threshold.
|
||||||
Can be: 'not-scanned'.
|
Can be: 'not-scanned'.
|
||||||
|
|
||||||
=back
|
=back
|
||||||
|
@ -152,23 +152,23 @@ Check logical network status.
|
|||||||
|
|
||||||
=item B<--warning-status>
|
=item B<--warning-status>
|
||||||
|
|
||||||
Set warning threshold for status. (Default: '%{status} =~ /Warning/i').
|
Define the conditions to match for the status to be WARNING. (Default: '%{status} =~ /Warning/i').
|
||||||
Can use special variables like: %{status}
|
Can use special variables like: %{status}
|
||||||
|
|
||||||
=item B<--critical-status>
|
=item B<--critical-status>
|
||||||
|
|
||||||
Set critical threshold for status. (Default: '%{status} =~ /Critical/i').
|
Define the conditions to match for the status to be CRITICAL. (Default: '%{status} =~ /Critical/i').
|
||||||
Can use special variables like: %{status}
|
Can use special variables like: %{status}
|
||||||
|
|
||||||
=item B<--warning-*>
|
=item B<--warning-*>
|
||||||
|
|
||||||
Threshold warning.
|
Warning threshold.
|
||||||
Can be: 'new-hosts', 'groups', 'not-connected-long-time',
|
Can be: 'new-hosts', 'groups', 'not-connected-long-time',
|
||||||
'not-controlled'.
|
'not-controlled'.
|
||||||
|
|
||||||
=item B<--critical-*>
|
=item B<--critical-*>
|
||||||
|
|
||||||
Threshold critical.
|
Critical threshold.
|
||||||
Can be: 'new-hosts', 'groups', 'not-connected-long-time',
|
Can be: 'new-hosts', 'groups', 'not-connected-long-time',
|
||||||
'not-controlled'.
|
'not-controlled'.
|
||||||
|
|
||||||
|
@ -162,23 +162,23 @@ Check protection status.
|
|||||||
|
|
||||||
=item B<--warning-status>
|
=item B<--warning-status>
|
||||||
|
|
||||||
Set warning threshold for status. (Default: '%{status} =~ /Warning/i').
|
Define the conditions to match for the status to be WARNING. (Default: '%{status} =~ /Warning/i').
|
||||||
Can use special variables like: %{status}
|
Can use special variables like: %{status}
|
||||||
|
|
||||||
=item B<--critical-status>
|
=item B<--critical-status>
|
||||||
|
|
||||||
Set critical threshold for status. (Default: '%{status} =~ /Critical/i').
|
Define the conditions to match for the status to be CRITICAL. (Default: '%{status} =~ /Critical/i').
|
||||||
Can use special variables like: %{status}
|
Can use special variables like: %{status}
|
||||||
|
|
||||||
=item B<--warning-*>
|
=item B<--warning-*>
|
||||||
|
|
||||||
Threshold warning.
|
Warning threshold.
|
||||||
Can be: 'no-antivirus', 'no-real-time', 'not-acceptable-level',
|
Can be: 'no-antivirus', 'no-real-time', 'not-acceptable-level',
|
||||||
'not-cured-objects', 'too-many-threats'.
|
'not-cured-objects', 'too-many-threats'.
|
||||||
|
|
||||||
=item B<--critical-*>
|
=item B<--critical-*>
|
||||||
|
|
||||||
Threshold critical.
|
Critical threshold.
|
||||||
Can be: 'no-antivirus', 'no-real-time', 'not-acceptable-level',
|
Can be: 'no-antivirus', 'no-real-time', 'not-acceptable-level',
|
||||||
'not-cured-objects', 'too-many-threats'.
|
'not-cured-objects', 'too-many-threats'.
|
||||||
|
|
||||||
|
@ -197,22 +197,22 @@ Check updates status.
|
|||||||
|
|
||||||
=item B<--warning-status>
|
=item B<--warning-status>
|
||||||
|
|
||||||
Set warning threshold for status. (Default: '%{status} =~ /Warning/i').
|
Define the conditions to match for the status to be WARNING. (Default: '%{status} =~ /Warning/i').
|
||||||
Can use special variables like: %{status}
|
Can use special variables like: %{status}
|
||||||
|
|
||||||
=item B<--critical-status>
|
=item B<--critical-status>
|
||||||
|
|
||||||
Set critical threshold for status. (Default: '%{status} =~ /Critical/i').
|
Define the conditions to match for the status to be CRITICAL. (Default: '%{status} =~ /Critical/i').
|
||||||
Can use special variables like: %{status}
|
Can use special variables like: %{status}
|
||||||
|
|
||||||
=item B<--warning-*>
|
=item B<--warning-*>
|
||||||
|
|
||||||
Threshold warning.
|
Warning threshold.
|
||||||
Can be: 'last-server-update', 'not-updated'.
|
Can be: 'last-server-update', 'not-updated'.
|
||||||
|
|
||||||
=item B<--critical-*>
|
=item B<--critical-*>
|
||||||
|
|
||||||
Threshold critical.
|
Critical threshold.
|
||||||
Can be: 'last-server-update', 'not-updated'.
|
Can be: 'last-server-update', 'not-updated'.
|
||||||
|
|
||||||
=item B<--timezone>
|
=item B<--timezone>
|
||||||
|
@ -98,12 +98,12 @@ Only display some counters (regexp can be used).
|
|||||||
|
|
||||||
=item B<--warning-*>
|
=item B<--warning-*>
|
||||||
|
|
||||||
Threshold warning.
|
Warning threshold.
|
||||||
Can be: 'clients', 'sockets'.
|
Can be: 'clients', 'sockets'.
|
||||||
|
|
||||||
=item B<--critical-*>
|
=item B<--critical-*>
|
||||||
|
|
||||||
Threshold critical.
|
Critical threshold.
|
||||||
Can be: 'clients', 'sockets'.
|
Can be: 'clients', 'sockets'.
|
||||||
|
|
||||||
=back
|
=back
|
||||||
|
@ -142,13 +142,13 @@ Only display some counters (regexp can be used).
|
|||||||
|
|
||||||
=item B<--warning-*>
|
=item B<--warning-*>
|
||||||
|
|
||||||
Threshold warning.
|
Warning threshold.
|
||||||
Can be: 'legitimate', 'blocked', 'blocked-by-am',
|
Can be: 'legitimate', 'blocked', 'blocked-by-am',
|
||||||
'blocked-by-mf', 'blocked-by-uf'.
|
'blocked-by-mf', 'blocked-by-uf'.
|
||||||
|
|
||||||
=item B<--critical-*>
|
=item B<--critical-*>
|
||||||
|
|
||||||
Threshold critical.
|
Critical threshold.
|
||||||
Can be: 'legitimate', 'blocked', 'blocked-by-am',
|
Can be: 'legitimate', 'blocked', 'blocked-by-am',
|
||||||
'blocked-by-mf', 'blocked-by-uf'.
|
'blocked-by-mf', 'blocked-by-uf'.
|
||||||
|
|
||||||
|
@ -144,12 +144,12 @@ Only display some counters (regexp can be used).
|
|||||||
|
|
||||||
=item B<--warning-*>
|
=item B<--warning-*>
|
||||||
|
|
||||||
Threshold warning.
|
Warning threshold.
|
||||||
Can be: 'malware-detected', 'category'
|
Can be: 'malware-detected', 'category'
|
||||||
|
|
||||||
=item B<--critical-*>
|
=item B<--critical-*>
|
||||||
|
|
||||||
Threshold critical.
|
Critical threshold.
|
||||||
Can be: 'malware-detected', 'category'
|
Can be: 'malware-detected', 'category'
|
||||||
|
|
||||||
=back
|
=back
|
||||||
|
@ -135,13 +135,13 @@ Only display some counters (regexp can be used).
|
|||||||
|
|
||||||
=item B<--warning-*>
|
=item B<--warning-*>
|
||||||
|
|
||||||
Threshold warning.
|
Warning threshold.
|
||||||
Can be: 'client-to-proxy', 'server-to-proxy',
|
Can be: 'client-to-proxy', 'server-to-proxy',
|
||||||
'proxy-to-client', 'proxy-to-server'.
|
'proxy-to-client', 'proxy-to-server'.
|
||||||
|
|
||||||
=item B<--critical-*>
|
=item B<--critical-*>
|
||||||
|
|
||||||
Threshold critical.
|
Critical threshold.
|
||||||
Can be: 'client-to-proxy', 'server-to-proxy',
|
Can be: 'client-to-proxy', 'server-to-proxy',
|
||||||
'proxy-to-client', 'proxy-to-server'.
|
'proxy-to-client', 'proxy-to-server'.
|
||||||
|
|
||||||
|
@ -151,13 +151,13 @@ Only display some counters (regexp can be used).
|
|||||||
|
|
||||||
=item B<--warning-*>
|
=item B<--warning-*>
|
||||||
|
|
||||||
Threshold warning.
|
Warning threshold.
|
||||||
Can be: 'request', 'client-to-proxy', 'server-to-proxy',
|
Can be: 'request', 'client-to-proxy', 'server-to-proxy',
|
||||||
'proxy-to-client', 'proxy-to-server'.
|
'proxy-to-client', 'proxy-to-server'.
|
||||||
|
|
||||||
=item B<--critical-*>
|
=item B<--critical-*>
|
||||||
|
|
||||||
Threshold critical.
|
Critical threshold.
|
||||||
Can be: 'request', 'client-to-proxy', 'server-to-proxy',
|
Can be: 'request', 'client-to-proxy', 'server-to-proxy',
|
||||||
'proxy-to-client', 'proxy-to-server'.
|
'proxy-to-client', 'proxy-to-server'.
|
||||||
|
|
||||||
|
@ -152,13 +152,13 @@ Only display some counters (regexp can be used).
|
|||||||
|
|
||||||
=item B<--warning-*>
|
=item B<--warning-*>
|
||||||
|
|
||||||
Threshold warning.
|
Warning threshold.
|
||||||
Can be: 'request', 'client-to-proxy', 'server-to-proxy',
|
Can be: 'request', 'client-to-proxy', 'server-to-proxy',
|
||||||
'proxy-to-client', 'proxy-to-server'.
|
'proxy-to-client', 'proxy-to-server'.
|
||||||
|
|
||||||
=item B<--critical-*>
|
=item B<--critical-*>
|
||||||
|
|
||||||
Threshold critical.
|
Critical threshold.
|
||||||
Can be: 'request', 'client-to-proxy', 'server-to-proxy',
|
Can be: 'request', 'client-to-proxy', 'server-to-proxy',
|
||||||
'proxy-to-client', 'proxy-to-server'.
|
'proxy-to-client', 'proxy-to-server'.
|
||||||
|
|
||||||
|
@ -169,12 +169,12 @@ Only display some counters (regexp can be used).
|
|||||||
|
|
||||||
=item B<--warning-*>
|
=item B<--warning-*>
|
||||||
|
|
||||||
Threshold warning on last update.
|
Warning threshold on last update.
|
||||||
Can be: 'dat-version', 'tsdb-version', 'proactive-version'.
|
Can be: 'dat-version', 'tsdb-version', 'proactive-version'.
|
||||||
|
|
||||||
=item B<--critical-*>
|
=item B<--critical-*>
|
||||||
|
|
||||||
Threshold critical on last update.
|
Critical threshold on last update.
|
||||||
Can be: 'dat-version', 'tsdb-version', 'proactive-version'.
|
Can be: 'dat-version', 'tsdb-version', 'proactive-version'.
|
||||||
|
|
||||||
=back
|
=back
|
||||||
|
@ -148,23 +148,23 @@ Set HTTP headers (Multiple option)
|
|||||||
|
|
||||||
=item B<--unknown-status>
|
=item B<--unknown-status>
|
||||||
|
|
||||||
Threshold warning for http response code
|
Warning threshold for http response code
|
||||||
|
|
||||||
=item B<--warning-status>
|
=item B<--warning-status>
|
||||||
|
|
||||||
Threshold warning for http response code
|
Warning threshold for http response code
|
||||||
|
|
||||||
=item B<--critical-status>
|
=item B<--critical-status>
|
||||||
|
|
||||||
Threshold critical for http response code (Default: '%{http_code} < 200 or %{http_code} >= 300')
|
Critical threshold for http response code (Default: '%{http_code} < 200 or %{http_code} >= 300')
|
||||||
|
|
||||||
=item B<--warning>
|
=item B<--warning>
|
||||||
|
|
||||||
Threshold warning in seconds (server-status page response time)
|
Warning threshold in seconds (server-status page response time)
|
||||||
|
|
||||||
=item B<--critical>
|
=item B<--critical>
|
||||||
|
|
||||||
Threshold critical in seconds (server-status page response time)
|
Critical threshold in seconds (server-status page response time)
|
||||||
|
|
||||||
=back
|
=back
|
||||||
|
|
||||||
|
@ -145,17 +145,17 @@ Display failed hosts list in verbose output.
|
|||||||
|
|
||||||
=item B<--unknown-job-status>
|
=item B<--unknown-job-status>
|
||||||
|
|
||||||
Set unknown threshold for status (Default: '%{last_job_status} =~ /default/').
|
Define the conditions to match for the status to be UNKNOWN (Default: '%{last_job_status} =~ /default/').
|
||||||
You can use the following variables: %{last_job_status}, %{display}
|
You can use the following variables: %{last_job_status}, %{display}
|
||||||
|
|
||||||
=item B<--warning-job-status>
|
=item B<--warning-job-status>
|
||||||
|
|
||||||
Set warning threshold for status.
|
Define the conditions to match for the status to be WARNING.
|
||||||
You can use the following variables: %{last_job_status}, %{display}
|
You can use the following variables: %{last_job_status}, %{display}
|
||||||
|
|
||||||
=item B<--critical-job-status>
|
=item B<--critical-job-status>
|
||||||
|
|
||||||
Set critical threshold for status (Default: '%{last_job_status} =~ /failed/').
|
Define the conditions to match for the status to be CRITICAL (Default: '%{last_job_status} =~ /failed/').
|
||||||
You can use the following variables: %{last_job_status}, %{display}
|
You can use the following variables: %{last_job_status}, %{display}
|
||||||
|
|
||||||
=item B<--warning-*> B<--critical-*>
|
=item B<--warning-*> B<--critical-*>
|
||||||
|
@ -215,17 +215,17 @@ Number of seconds between retries (Default : 10).
|
|||||||
|
|
||||||
=item B<--unknown-job-status>
|
=item B<--unknown-job-status>
|
||||||
|
|
||||||
Set unknown threshold for status (Default: '%{last_job_status} =~ /default/').
|
Define the conditions to match for the status to be UNKNOWN (Default: '%{last_job_status} =~ /default/').
|
||||||
You can use the following variables: %{last_job_status}, %{display}
|
You can use the following variables: %{last_job_status}, %{display}
|
||||||
|
|
||||||
=item B<--warning-job-status>
|
=item B<--warning-job-status>
|
||||||
|
|
||||||
Set warning threshold for status.
|
Define the conditions to match for the status to be WARNING.
|
||||||
You can use the following variables: %{last_job_status}, %{display}
|
You can use the following variables: %{last_job_status}, %{display}
|
||||||
|
|
||||||
=item B<--critical-job-status>
|
=item B<--critical-job-status>
|
||||||
|
|
||||||
Set critical threshold for status (Default: '%{last_job_status} =~ /failed/').
|
Define the conditions to match for the status to be CRITICAL (Default: '%{last_job_status} =~ /failed/').
|
||||||
You can use the following variables: %{last_job_status}, %{display}
|
You can use the following variables: %{last_job_status}, %{display}
|
||||||
|
|
||||||
=item B<--warning-*> B<--critical-*>
|
=item B<--warning-*> B<--critical-*>
|
||||||
|
@ -166,17 +166,17 @@ Filter schedule name (Can use regexp).
|
|||||||
|
|
||||||
=item B<--unknown-job-status>
|
=item B<--unknown-job-status>
|
||||||
|
|
||||||
Set unknown threshold for status (Default: '%{last_job_status} =~ /default/').
|
Define the conditions to match for the status to be UNKNOWN (Default: '%{last_job_status} =~ /default/').
|
||||||
You can use the following variables: %{last_job_status}, %{display}
|
You can use the following variables: %{last_job_status}, %{display}
|
||||||
|
|
||||||
=item B<--warning-job-status>
|
=item B<--warning-job-status>
|
||||||
|
|
||||||
Set warning threshold for status.
|
Define the conditions to match for the status to be WARNING.
|
||||||
You can use the following variables: %{last_job_status}, %{display}
|
You can use the following variables: %{last_job_status}, %{display}
|
||||||
|
|
||||||
=item B<--critical-job-status>
|
=item B<--critical-job-status>
|
||||||
|
|
||||||
Set critical threshold for status (Default: '%{last_job_status} =~ /failed/').
|
Define the conditions to match for the status to be CRITICAL (Default: '%{last_job_status} =~ /failed/').
|
||||||
You can use the following variables: %{last_job_status}, %{display}
|
You can use the following variables: %{last_job_status}, %{display}
|
||||||
|
|
||||||
=item B<--warning-*> B<--critical-*>
|
=item B<--warning-*> B<--critical-*>
|
||||||
|
@ -230,17 +230,17 @@ Timezone of mssql server (If not set, we use current server execution timezone).
|
|||||||
|
|
||||||
=item B<--ok-status>
|
=item B<--ok-status>
|
||||||
|
|
||||||
Set ok threshold for status (Default: '%{status} == 1')
|
Define the conditions to match for the status to be OK (Default: '%{status} == 1')
|
||||||
You can use the following variables: %{display}, %{status}
|
You can use the following variables: %{display}, %{status}
|
||||||
|
|
||||||
=item B<--warning-status>
|
=item B<--warning-status>
|
||||||
|
|
||||||
Set warning threshold for status (Default: '%{status} == 1')
|
Define the conditions to match for the status to be WARNING (Default: '%{status} == 1')
|
||||||
You can use the following variables: %{display}, %{status}, %{type}
|
You can use the following variables: %{display}, %{status}, %{type}
|
||||||
|
|
||||||
=item B<--critical-status>
|
=item B<--critical-status>
|
||||||
|
|
||||||
Set critical threshold for status (Default: '%{status} != 1').
|
Define the conditions to match for the status to be CRITICAL (Default: '%{status} != 1').
|
||||||
You can use the following variables: %{display}, %{status}, %{type}
|
You can use the following variables: %{display}, %{status}, %{type}
|
||||||
|
|
||||||
=item B<--warning-total>
|
=item B<--warning-total>
|
||||||
|
@ -277,12 +277,12 @@ Only get alerts by severity (can be a regexp).
|
|||||||
|
|
||||||
=item B<--warning-status>
|
=item B<--warning-status>
|
||||||
|
|
||||||
Set warning threshold for status (Default: '%{severity} =~ /warning/i')
|
Define the conditions to match for the status to be WARNING (Default: '%{severity} =~ /warning/i')
|
||||||
You can use the following variables: %{name}, %{severity}, %{source}, %{category}, %{timeraised}, %{message}
|
You can use the following variables: %{name}, %{severity}, %{source}, %{category}, %{timeraised}, %{message}
|
||||||
|
|
||||||
=item B<--critical-status>
|
=item B<--critical-status>
|
||||||
|
|
||||||
Set critical threshold for status (Default: '%{severity} =~ /error/i').
|
Define the conditions to match for the status to be CRITICAL (Default: '%{severity} =~ /error/i').
|
||||||
You can use the following variables: %{name}, %{severity}, %{source}, %{category}, %{timeraised}, %{message}
|
You can use the following variables: %{name}, %{severity}, %{source}, %{category}, %{timeraised}, %{message}
|
||||||
|
|
||||||
=item B<--warning-*> B<--critical-*>
|
=item B<--warning-*> B<--critical-*>
|
||||||
|
@ -304,12 +304,12 @@ Filter disks by type (can be a regexp).
|
|||||||
|
|
||||||
=item B<--warning-status>
|
=item B<--warning-status>
|
||||||
|
|
||||||
Set warning threshold for status.
|
Define the conditions to match for the status to be WARNING.
|
||||||
You can use the following variables: %{status}, %{name}, %{type}.
|
You can use the following variables: %{status}, %{name}, %{type}.
|
||||||
|
|
||||||
=item B<--critical-status>
|
=item B<--critical-status>
|
||||||
|
|
||||||
Set critical threshold for status.
|
Define the conditions to match for the status to be CRITICAL.
|
||||||
You can use the following variables: %{status}, %{name}, %{type}.
|
You can use the following variables: %{status}, %{name}, %{type}.
|
||||||
|
|
||||||
=item B<--warning-*> B<--critical-*>
|
=item B<--warning-*> B<--critical-*>
|
||||||
|
@ -307,12 +307,12 @@ Filter job with end time greater than current time less value in seconds (Defaul
|
|||||||
|
|
||||||
=item B<--warning-status>
|
=item B<--warning-status>
|
||||||
|
|
||||||
Set warning threshold for status.
|
Define the conditions to match for the status to be WARNING.
|
||||||
You can use the following variables: %{name}, %{status}, %{subStatus}, %{type}, %{isActive}.
|
You can use the following variables: %{name}, %{status}, %{subStatus}, %{type}, %{isActive}.
|
||||||
|
|
||||||
=item B<--critical-status>
|
=item B<--critical-status>
|
||||||
|
|
||||||
Set critical threshold for status (Default: 'not %{status} =~ /succeeded/i').
|
Define the conditions to match for the status to be CRITICAL (Default: 'not %{status} =~ /succeeded/i').
|
||||||
You can use the following variables: %{name}, %{status}, %{subStatus}, %{type}, %{isActive}.
|
You can use the following variables: %{name}, %{status}, %{subStatus}, %{type}, %{isActive}.
|
||||||
|
|
||||||
=item B<--warning-long>
|
=item B<--warning-long>
|
||||||
|
@ -16,7 +16,6 @@
|
|||||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
# See the License for the specific language governing permissions and
|
# See the License for the specific language governing permissions and
|
||||||
# limitations under the License.
|
# limitations under the License.
|
||||||
# Authors : Roman Morandell - ivertix
|
|
||||||
#
|
#
|
||||||
|
|
||||||
package apps::backup::commvault::commserve::restapi::custom::api;
|
package apps::backup::commvault::commserve::restapi::custom::api;
|
||||||
|
@ -211,12 +211,12 @@ Filter alerts by type (can be a regexp).
|
|||||||
|
|
||||||
=item B<--warning-status>
|
=item B<--warning-status>
|
||||||
|
|
||||||
Set warning threshold for status (Default: '%{severity} =~ /warning/')
|
Define the conditions to match for the status to be WARNING (Default: '%{severity} =~ /warning/')
|
||||||
You can use the following variables: %{severity}, %{status}, %{type}, %{name}, %{since}
|
You can use the following variables: %{severity}, %{status}, %{type}, %{name}, %{since}
|
||||||
|
|
||||||
=item B<--critical-status>
|
=item B<--critical-status>
|
||||||
|
|
||||||
Set critical threshold for status (Default: '%{severity} =~ /critical/').
|
Define the conditions to match for the status to be CRITICAL (Default: '%{severity} =~ /critical/').
|
||||||
You can use the following variables: %{severity}, %{status}, %{type}, %{name}, %{since}
|
You can use the following variables: %{severity}, %{status}, %{type}, %{name}, %{since}
|
||||||
|
|
||||||
=item B<--memory>
|
=item B<--memory>
|
||||||
|
@ -265,12 +265,12 @@ Set timeframe in seconds (E.g '3600' to check last 60 minutes).
|
|||||||
|
|
||||||
=item B<--warning-status>
|
=item B<--warning-status>
|
||||||
|
|
||||||
Set warning threshold for status (Default: '%{status} =~ /abnormal/i')
|
Define the conditions to match for the status to be WARNING (Default: '%{status} =~ /abnormal/i')
|
||||||
You can use the following variables: %{display}, %{status}, %{type}
|
You can use the following variables: %{display}, %{status}, %{type}
|
||||||
|
|
||||||
=item B<--critical-status>
|
=item B<--critical-status>
|
||||||
|
|
||||||
Set critical threshold for status (Default: '%{status} =~ /errors|failed/i').
|
Define the conditions to match for the status to be CRITICAL (Default: '%{status} =~ /errors|failed/i').
|
||||||
You can use the following variables: %{display}, %{status}, %{type}
|
You can use the following variables: %{display}, %{status}, %{type}
|
||||||
|
|
||||||
=item B<--warning-long>
|
=item B<--warning-long>
|
||||||
|
@ -177,17 +177,17 @@ Filter media agents by name (Can be a regexp).
|
|||||||
|
|
||||||
=item B<--unknown-device-status>
|
=item B<--unknown-device-status>
|
||||||
|
|
||||||
Set unknown threshold for status.
|
Define the conditions to match for the status to be UNKNOWN.
|
||||||
You can use the following variables: %{status}, %{name}
|
You can use the following variables: %{status}, %{name}
|
||||||
|
|
||||||
=item B<--warning-status>
|
=item B<--warning-status>
|
||||||
|
|
||||||
Set warning threshold for status.
|
Define the conditions to match for the status to be WARNING.
|
||||||
You can use the following variables: %{status}, %{is_maintenance}, %{offline_reason}, %{name}
|
You can use the following variables: %{status}, %{is_maintenance}, %{offline_reason}, %{name}
|
||||||
|
|
||||||
=item B<--critical-status>
|
=item B<--critical-status>
|
||||||
|
|
||||||
Set critical threshold for status (Default: '%{is_maintenance} eq "no" and %{status} eq "offline"').
|
Define the conditions to match for the status to be CRITICAL (Default: '%{is_maintenance} eq "no" and %{status} eq "offline"').
|
||||||
You can use the following variables: %{status}, %{is_maintenance}, %{offline_reason}, %{name}
|
You can use the following variables: %{status}, %{is_maintenance}, %{offline_reason}, %{name}
|
||||||
|
|
||||||
=item B<--warning-*> B<--critical-*>
|
=item B<--warning-*> B<--critical-*>
|
||||||
|
@ -166,17 +166,17 @@ Filter storage pools by name (can be a regexp).
|
|||||||
|
|
||||||
=item B<--unknown-status>
|
=item B<--unknown-status>
|
||||||
|
|
||||||
Set unknown threshold for status.
|
Define the conditions to match for the status to be UNKNOWN.
|
||||||
You can use the following variables: %{status}, %{display}
|
You can use the following variables: %{status}, %{display}
|
||||||
|
|
||||||
=item B<--warning-status>
|
=item B<--warning-status>
|
||||||
|
|
||||||
Set warning threshold for status.
|
Define the conditions to match for the status to be WARNING.
|
||||||
You can use the following variables: %{status}, %{display}
|
You can use the following variables: %{status}, %{display}
|
||||||
|
|
||||||
=item B<--critical-status>
|
=item B<--critical-status>
|
||||||
|
|
||||||
Set critical threshold for status (Default: '%{status} !~ /online/i').
|
Define the conditions to match for the status to be CRITICAL (Default: '%{status} !~ /online/i').
|
||||||
You can use the following variables: %{status}, %{display}
|
You can use the following variables: %{status}, %{display}
|
||||||
|
|
||||||
=item B<--warning-*> B<--critical-*>
|
=item B<--warning-*> B<--critical-*>
|
||||||
|
@ -16,7 +16,6 @@
|
|||||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
# See the License for the specific language governing permissions and
|
# See the License for the specific language governing permissions and
|
||||||
# limitations under the License.
|
# limitations under the License.
|
||||||
# Authors : Roman Morandell - ivertix
|
|
||||||
#
|
#
|
||||||
|
|
||||||
package apps::backup::commvault::commserve::restapi::plugin;
|
package apps::backup::commvault::commserve::restapi::plugin;
|
||||||
|
@ -251,17 +251,17 @@ Set timezone (If not set, we use current server execution timezone).
|
|||||||
|
|
||||||
=item B<--unknown-status>
|
=item B<--unknown-status>
|
||||||
|
|
||||||
Set unknown threshold for status.
|
Define the conditions to match for the status to be UNKNOWN.
|
||||||
You can use the following variables: %{display}, %{status}, %{type}
|
You can use the following variables: %{display}, %{status}, %{type}
|
||||||
|
|
||||||
=item B<--warning-status>
|
=item B<--warning-status>
|
||||||
|
|
||||||
Set warning threshold for status (Default: '%{status} =~ /warning/i').
|
Define the conditions to match for the status to be WARNING (Default: '%{status} =~ /warning/i').
|
||||||
You can use the following variables: %{display}, %{status}, %{type}
|
You can use the following variables: %{display}, %{status}, %{type}
|
||||||
|
|
||||||
=item B<--critical-status>
|
=item B<--critical-status>
|
||||||
|
|
||||||
Set critical threshold for status (Default: '%{status} =~ /failed/i').
|
Define the conditions to match for the status to be CRITICAL (Default: '%{status} =~ /failed/i').
|
||||||
You can use the following variables: %{display}, %{status}, %{type}
|
You can use the following variables: %{display}, %{status}, %{type}
|
||||||
|
|
||||||
=item B<--warning-total>
|
=item B<--warning-total>
|
||||||
|
@ -206,12 +206,12 @@ Set critical threshold in percent.
|
|||||||
|
|
||||||
=item B<--warning-status>
|
=item B<--warning-status>
|
||||||
|
|
||||||
Set warning threshold for status.
|
Define the conditions to match for the status to be WARNING.
|
||||||
You can use the following variables: %{display}, %{status}
|
You can use the following variables: %{display}, %{status}
|
||||||
|
|
||||||
=item B<--critical-status>
|
=item B<--critical-status>
|
||||||
|
|
||||||
Set critical threshold for status (Default: '%{status} !~ /up/i').
|
Define the conditions to match for the status to be CRITICAL (Default: '%{status} !~ /up/i').
|
||||||
You can use the following variables: %{display}, %{status}
|
You can use the following variables: %{display}, %{status}
|
||||||
|
|
||||||
=back
|
=back
|
||||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user