Compare commits

...

2 Commits

Author SHA1 Message Date
1726c412ce icinga wip 2025-05-05 01:07:57 -04:00
393d52595f updated salt setup 2025-05-05 01:07:28 -04:00
4 changed files with 25 additions and 17 deletions

View File

@@ -1,35 +1,39 @@
# A deploy key must be added for this to work!
/usr/local/lib/nagios:
{% set git_dir = '/usr/local/lib/icinga' %}
{% set venv_dir = '%s/venv' | format(git_dir) %}
{{ git_dir }}:
git.cloned:
- name: {{ salt.pillar.get("icinga2:monitoring_plugins_git_url") | yaml_encode }}
- target: /usr/local/lib/nagios
- target: {{ git_dir }}
- branch: master
- user: root
/usr/local/lib/nagios/venv:
{{ venv_dir }}:
cmd.run:
{% if 'inmotionhosting' in grains.fqdn %}
- name: imh-python3 -m venv /usr/local/lib/nagios/venv
- name: imh-python3 -m venv {{ venv_dir }}
{% else %}
- name: python3 -m venv /usr/local/lib/nagios/venv
- name: python3 -m venv {{ venv_dir }}
{% endif %}
- creates: /usr/local/lib/nagios/venv
- creates: {{ venv_dir }}
- require:
- git: /usr/local/lib/nagios
- git: {{ git_dir }}
- pkg: monitoring_packages
venv-ensurepip:
cmd.run:
- name: /usr/local/lib/nagios/venv/bin/python3 -m ensurepip
- creates: /usr/local/lib/nagios/venv/bin/pip3
- name: {{ venv_dir }}/bin/python3 -m ensurepip
- creates: {{ venv_dir }}/bin/pip3
- require:
- cmd: /usr/local/lib/nagios/venv
- cmd: {{ venv_dir }}
{#
venv-psutil:
cmd.run:
- name: /usr/local/lib/nagios/venv/bin/pip3 install psutil
- unless: /usr/local/lib/nagios/venv/bin/pip3 freeze | grep -q '^psutil='
- name: {{ venv_dir }}/bin/pip3 install psutil
- unless: {{ venv_dir }}/bin/pip3 freeze | grep -q '^psutil='
- require:
- cmd: venv-ensurepip
#}

View File

@@ -18,7 +18,7 @@ icingaweb2_vhost:
- group: root
- mode: 644
- source: https://packages.icinga.com/icinga.key
- source_hash: be677e07972ed57b99ffc2fd211379ac11b9c6a7c8d9460086b447b96b0a82bb
- source_hash: e2b9301181fcc3cd555323cafbecfcd8764f47e06e14e0128f172c544bbb619f
icingacmd:
group.present: []

View File

@@ -1,6 +1,6 @@
{% from "salt/map.jinja" import salt_daemons with context %}
{% if grains['os'] != 'CentOS' %}
{% if grains['os'] not in ('CentOS', 'AlmaLinux') %}
{{ raise("Unsupported distro") }}
{% endif %}
@@ -10,7 +10,7 @@
salt:
pkgrepo.managed:
- baseurl: "https://repo.saltproject.io/salt/py3/redhat/{{ grains['osmajorrelease'] }}/x86_64/minor/{{ salt.pillar.get("salt:version") }}"
- humanname: Salt repo for RHEL/CentOS {{ grains['osmajorrelease'] }} PY3
- humanname: Salt repo for RHEL/CentOS/AlmaLinux {{ grains['osmajorrelease'] }} PY3
- gpgkey: file:///etc/pki/rpm-gpg/SALT-PROJECT-GPG-PUBKEY-2023
- skip_if_unavailable: true
- failovermethod: priority

View File

@@ -2,7 +2,7 @@
set -e
SALT_VERSION='3006.4'
SALT_VERSION='3007.1'
CYAN='\033[1;36m'
RED='\033[0;31m'
@@ -45,6 +45,7 @@ read
if ! [ -e /usr/bin/salt-call ]; then
if [[ "$DISTRO" == "fedora" ]]; then
mkdir -p /etc/salt/pki/minion
echo -e "${CYAN}Fedora detected - installing Python3.10 if not present, then using a venv${NC}"
if ! which python3.10 &>/dev/null; then
wget -O /usr/local/bin/python3.10 https://github.com/niess/python-appimage/releases/download/python3.10/python3.10.13-cp310-cp310-manylinux_2_28_x86_64.AppImage
@@ -62,7 +63,10 @@ if ! [ -e /usr/bin/salt-call ]; then
/opt/saltstack/salt/bin/pip3 freeze | grep -q ^salt== ||
/opt/saltstack/salt/bin/pip3 install "salt==$SALT_VERSION"
ln -sfT /opt/saltstack/salt/bin/salt-call /usr/bin/salt-call
elif [[ "$DISTRO" == "centos" ]]; then
elif [[ "$DISTRO" == "centos" ]] || [[ "$DISTRO" == "almalinux" ]]; then
if [[ "$DISTRO" == "almalinux" ]]
OS_VERSION="$(python3 -m distro --json | jq -r .version_parts.major)"
fi
rpm --import https://repo.saltproject.io/salt/py3/redhat/$OS_VERSION/x86_64/SALT-PROJECT-GPG-PUBKEY-2023.pub
[ -f /etc/yum.repos.d/salt.repo ] ||
curl -fsSL -o /etc/yum.repos.d/salt.repo https://repo.saltproject.io/salt/py3/redhat/$OS_VERSION/x86_64/minor/$SALT_VERSION.repo