Skip to content

Commit

Permalink
B #-: Fix alertmanager.yml path for arm64
Browse files Browse the repository at this point in the history
Download and install also arm64 vendor bin.

(cherry picked from commit 246a213)
(cherry picked from commit 115236c)
(cherry picked from commit 6b115f0)
  • Loading branch information
xorel authored and rsmontero committed Feb 4, 2025
1 parent 5d6b857 commit 485c3c4
Show file tree
Hide file tree
Showing 3 changed files with 48 additions and 19 deletions.
51 changes: 36 additions & 15 deletions install.sh
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@
usage() {
echo
echo "Usage: install.sh [-u install_user] [-g install_group] [-k keep conf]"
echo " [-d ONE_LOCATION] [-c cli|ec2] [-r]"
echo " [-d ONE_LOCATION] [-c cli|ec2] [-a arch] [-r]"
echo " [-s] [-p] [-G] [-6] [-f] [-l] [-e] [-h]"
echo
echo "-u: user that will run opennebula, defaults to user executing install.sh"
Expand All @@ -50,11 +50,12 @@ usage() {
echo "-r: remove Opennebula, only useful if -d was not specified, otherwise"
echo " rm -rf \$ONE_LOCATION would do the job"
echo "-l: creates symlinks instead of copying files, useful for development"
echo "-a: architecuture of downloaded vendor artifacts, default: x86_64"
echo "-h: prints this help"
}
#-------------------------------------------------------------------------------

PARAMETERS=":u:g:d:ehkrlcspFPorlfG6"
PARAMETERS=":u:g:d:a:ehkrlcspFPorlfG6"

INSTALL_ETC="yes"
UNINSTALL="no"
Expand All @@ -69,6 +70,7 @@ ONEFLOW="no"
ONEADMIN_USER=`id -u`
ONEADMIN_GROUP=`id -g`
SRC_DIR=$PWD
ARCH="x86_64"

while getopts $PARAMETERS opt; do
case $opt in
Expand All @@ -85,13 +87,19 @@ while getopts $PARAMETERS opt; do
f) ONEFLOW="yes" ;;
u) ONEADMIN_USER="$OPTARG" ;;
g) ONEADMIN_GROUP="$OPTARG" ;;
a) ARCH="$OPTARG" ;;
d) ROOT="$OPTARG" ;;
\?) usage; exit 1 ;;
esac
done

shift $(($OPTIND - 1))

if [ "$ARCH" != x86_64 ] && [ "$ARCH" != arm64 ]; then
echo "Unsupported architecture: $ARCH, only x86_64 or arm64"
exit 1
fi

#-------------------------------------------------------------------------------
# Definition of locations
#-------------------------------------------------------------------------------
Expand Down Expand Up @@ -3048,12 +3056,25 @@ CONTEXT_SHARE=$(find share/context/ -type f \( ! -iname "*.sh" ! -iname "SConstr
# PROMETHEUS
#-------------------------------------------------------------------------------

ALERTMANAGER_VENDOR_DIR='alertmanager'
NODE_EXPORTER_VENDOR_DIR='node_exporter'
PROMETHEUS_VENDOR_DIR='prometheus'
if [ $ARCH = 'arm64' ]; then
ALERTMANAGER_VENDOR_DIR='alertmanager.arm64'
NODE_EXPORTER_VENDOR_DIR='node_exporter.arm64'
PROMETHEUS_VENDOR_DIR='prometheus.arm64'

# adjust restic binary symlink
rm src/datastore_mad/remotes/restic/restic
ln -s ./vendor/bin/restic.arm64 src/datastore_mad/remotes/restic/restic
fi

# ALERTMANAGER
ONEPROMETHEUS_ALERTMANAGER_BIN_FILES="src/oneprometheus/vendor/alertmanager/alertmanager \
src/oneprometheus/vendor/alertmanager/amtool"
ONEPROMETHEUS_ALERTMANAGER_BIN_FILES="src/oneprometheus/vendor/${ALERTMANAGER_VENDOR_DIR}/alertmanager \
src/oneprometheus/vendor/${ALERTMANAGER_VENDOR_DIR}/amtool"
ONEPROMETHEUS_ALERTMANAGER_CONFIG_FILES="src/oneprometheus/alertmanager/etc/alertmanager.yml"
ONEPROMETHEUS_ALERTMANAGER_FILES="src/oneprometheus/vendor/alertmanager/LICENSE \
src/oneprometheus/vendor/alertmanager/NOTICE"
ONEPROMETHEUS_ALERTMANAGER_FILES="src/oneprometheus/vendor/${ALERTMANAGER_VENDOR_DIR}/LICENSE \
src/oneprometheus/vendor/${ALERTMANAGER_VENDOR_DIR}/NOTICE"
ONEPROMETHEUS_ALERTMANAGER_SYSTEMD_FILES="src/oneprometheus/alertmanager/systemd/opennebula-alertmanager.service"

# GRAFANA
Expand All @@ -3065,9 +3086,9 @@ ONEPROMETHEUS_LIBVIRT_EXPORTER_FILES="src/oneprometheus/opennebula-libvirt-expor
ONEPROMETHEUS_LIBVIRT_EXPORTER_SYSTEMD_FILES="src/oneprometheus/opennebula-libvirt-exporter/systemd/opennebula-libvirt-exporter.service"

# NODE-EXPORTER
ONEPROMETHEUS_NODE_EXPORTER_BIN_FILES="src/oneprometheus/vendor/node_exporter/node_exporter"
ONEPROMETHEUS_NODE_EXPORTER_FILES="src/oneprometheus/vendor/node_exporter/LICENSE \
src/oneprometheus/vendor/node_exporter/NOTICE"
ONEPROMETHEUS_NODE_EXPORTER_BIN_FILES="src/oneprometheus/vendor/${NODE_EXPORTER_VENDOR_DIR}/node_exporter"
ONEPROMETHEUS_NODE_EXPORTER_FILES="src/oneprometheus/vendor/${NODE_EXPORTER_VENDOR_DIR}/LICENSE \
src/oneprometheus/vendor/${NODE_EXPORTER_VENDOR_DIR}/NOTICE"
ONEPROMETHEUS_NODE_EXPORTER_SYSTEMD_FILES="src/oneprometheus/node_exporter/systemd/opennebula-node-exporter.service"

# OPENNEBULA-EXPORTER
Expand All @@ -3080,14 +3101,14 @@ ONEPROMETHEUS_OPENNEBULA_EXPORTER_FILES="src/oneprometheus/opennebula-exporter/s
ONEPROMETHEUS_OPENNEBULA_EXPORTER_SYSTEMD_FILES="src/oneprometheus/opennebula-exporter/systemd/opennebula-exporter.service"

# PROMETHEUS
ONEPROMETHEUS_PROMETHEUS_BIN_FILES="src/oneprometheus/vendor/prometheus/prometheus \
src/oneprometheus/vendor/prometheus/promtool"
ONEPROMETHEUS_PROMETHEUS_BIN_FILES="src/oneprometheus/vendor/${PROMETHEUS_VENDOR_DIR}/prometheus \
src/oneprometheus/vendor/${PROMETHEUS_VENDOR_DIR}/promtool"
ONEPROMETHEUS_PROMETHEUS_CONFIG_FILES="src/oneprometheus/prometheus/etc/prometheus.yml \
src/oneprometheus/prometheus/etc/rules.yml"
ONEPROMETHEUS_PROMETHEUS_FILES="src/oneprometheus/vendor/prometheus/console_libraries/ \
src/oneprometheus/vendor/prometheus/consoles/ \
src/oneprometheus/vendor/prometheus/LICENSE \
src/oneprometheus/vendor/prometheus/NOTICE"
ONEPROMETHEUS_PROMETHEUS_FILES="src/oneprometheus/vendor/${PROMETHEUS_VENDOR_DIR}/console_libraries/ \
src/oneprometheus/vendor/${PROMETHEUS_VENDOR_DIR}/consoles/ \
src/oneprometheus/vendor/${PROMETHEUS_VENDOR_DIR}/LICENSE \
src/oneprometheus/vendor/${PROMETHEUS_VENDOR_DIR}/NOTICE"
ONEPROMETHEUS_PROMETHEUS_SHARE_FILES="src/oneprometheus/prometheus/share/patch_datasources.rb"
ONEPROMETHEUS_PROMETHEUS_SYSTEMD_FILES="src/oneprometheus/prometheus/systemd/opennebula-prometheus.service"

Expand Down
4 changes: 3 additions & 1 deletion src/datastore_mad/remotes/restic/vendor/download
Original file line number Diff line number Diff line change
Expand Up @@ -24,8 +24,10 @@ which curl bzip2 dirname realpath xargs 1>/dev/null
readonly SELF=$(realpath "$0" | xargs dirname) && cd "$SELF/"

readonly RESTIC_URL="https://github.com/restic/restic/releases/download/v${RESTIC_VERSION}/restic_${RESTIC_VERSION}_linux_amd64.bz2"
readonly RESTIC_URL_ARM64="https://github.com/restic/restic/releases/download/v${RESTIC_VERSION}/restic_${RESTIC_VERSION}_linux_arm64.bz2"

install -d "$SELF/bin/"
curl -fsSL "$RESTIC_URL" | bzip2 -d -s > "$SELF/bin/restic"
curl -fsSL "$RESTIC_URL_ARM64" | bzip2 -d -s > "$SELF/bin/restic.arm64"

chmod ugo+x "$SELF/bin/restic"
chmod ugo+x "$SELF/bin/restic" "$SELF/bin/restic.arm64"
12 changes: 9 additions & 3 deletions src/oneprometheus/vendor/download
Original file line number Diff line number Diff line change
Expand Up @@ -28,16 +28,22 @@ which curl dirname gzip realpath tar xargs 1>/dev/null
readonly SELF=$(realpath "$0" | xargs dirname) && cd "$SELF/"

readonly ALERTMANAGER_URL="https://github.com/prometheus/alertmanager/releases/download/v$ALERTMANAGER_VERSION/alertmanager-$ALERTMANAGER_VERSION.linux-amd64.tar.gz"
readonly ALERTMANAGER_URL_ARM64="https://github.com/prometheus/alertmanager/releases/download/v$ALERTMANAGER_VERSION/alertmanager-$ALERTMANAGER_VERSION.linux-arm64.tar.gz"

readonly NODE_EXPORTER_URL="https://github.com/prometheus/node_exporter/releases/download/v$NODE_EXPORTER_VERSION/node_exporter-$NODE_EXPORTER_VERSION.linux-amd64.tar.gz"
readonly NODE_EXPORTER_URL_ARM64="https://github.com/prometheus/node_exporter/releases/download/v$NODE_EXPORTER_VERSION/node_exporter-$NODE_EXPORTER_VERSION.linux-arm64.tar.gz"

readonly PROMETHEUS_URL="https://github.com/prometheus/prometheus/releases/download/v$PROMETHEUS_VERSION/prometheus-$PROMETHEUS_VERSION.linux-amd64.tar.gz"
readonly PROMETHEUS_URL_ARM64="https://github.com/prometheus/prometheus/releases/download/v$PROMETHEUS_VERSION/prometheus-$PROMETHEUS_VERSION.linux-arm64.tar.gz"

install -d "$SELF/alertmanager/"
install -d "$SELF/alertmanager/" "$SELF/alertmanager.arm64/"
curl -fsSL "$ALERTMANAGER_URL" | tar -xzf- --strip-components=1 -C "$SELF/alertmanager/"
curl -fsSL "$ALERTMANAGER_URL_ARM64" | tar -xzf- --strip-components=1 -C "$SELF/alertmanager.arm64/"

install -d "$SELF/node_exporter/"
install -d "$SELF/node_exporter/" "$SELF/node_exporter.arm64/"
curl -fsSL "$NODE_EXPORTER_URL" | tar -xzf- --strip-components=1 -C "$SELF/node_exporter/"
curl -fsSL "$NODE_EXPORTER_URL_ARM64" | tar -xzf- --strip-components=1 -C "$SELF/node_exporter.arm64/"

install -d "$SELF/prometheus/"
install -d "$SELF/prometheus/" "$SELF/prometheus.arm64/"
curl -fsSL "$PROMETHEUS_URL" | tar -xzf- --strip-components=1 -C "$SELF/prometheus/"
curl -fsSL "$PROMETHEUS_URL_ARM64" | tar -xzf- --strip-components=1 -C "$SELF/prometheus.arm64/"

0 comments on commit 485c3c4

Please sign in to comment.