Skip to content

Commit ddd95b5

Browse files
committed
Support for ARM architecture
1 parent b508db0 commit ddd95b5

File tree

4 files changed

+62
-25
lines changed

4 files changed

+62
-25
lines changed

install_functions/checks.sh

Lines changed: 25 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,10 +9,12 @@
99
function checks_arch() {
1010

1111
common_logger -d "Checking system architecture."
12-
arch=$(uname -m)
12+
architecture=$(uname -m)
1313

14-
if [ "${arch}" != "x86_64" ]; then
15-
common_logger -e "Uncompatible system. This script must be run on a 64-bit (x86_64/AMD64) system."
14+
if [ "${architecture}" == "x86_64" ] || [ "${architecture}" == "aarch64" ]; then
15+
common_logger -d "System architecture: ${architecture}"
16+
else
17+
common_logger -e "Uncompatible system architecture: ${architecture}. Supported any 64-bit system"
1618
exit 1
1719
fi
1820
}
@@ -46,6 +48,25 @@ function checks_arguments() {
4648
fi
4749
fi
4850

51+
if [ -n "${download}" ] && [ -z "${download_arch}" ]; then
52+
common_logger -e "To download the packages it is necessary to set the architecture in -da|--download-arch <amd64|x86_64|arm64|aarch64>"
53+
exit 1
54+
fi
55+
56+
if [ -n "${download}" ] && [ -n "${download_arch}" ]; then
57+
if [ "${package_type}" = "deb" ]; then
58+
if [ "${arch}" != "amd64" ] && [ "${arch}" != "arm64" ]; then
59+
common_logger -e "Architecture ${arch} not valid for package type ${package_type}"
60+
exit 1
61+
fi
62+
elif [ "${package_type}" = "rpm" ]; then
63+
if [ "${arch}" != "x86_64" ] && [ "${arch}" != "aarch64" ]; then
64+
common_logger -e "Architecture ${arch} not valid for package type ${package_type}"
65+
exit 1
66+
fi
67+
fi
68+
fi
69+
4970
# -------------- Configurations ---------------------------------
5071

5172
if [ -f "${tar_file}" ]; then
@@ -462,7 +483,7 @@ function checks_filebeatURL() {
462483

463484
# URL using master branch
464485
new_filebeat_url="${filebeat_wazuh_template/${source_branch}/master}"
465-
486+
466487
response=$(curl -I --write-out '%{http_code}' --silent --output /dev/null $filebeat_wazuh_template)
467488
if [ "${response}" != "200" ]; then
468489
response=$(curl -I --write-out '%{http_code}' --silent --output /dev/null $new_filebeat_url)

install_functions/installMain.sh

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,9 @@ function getHelp() {
2828
echo -e " -dw, --download-wazuh <deb|rpm>"
2929
echo -e " Download all the packages necessary for offline installation. Type of packages to download for offline installation (rpm, deb)"
3030
echo -e ""
31+
echo -e " -da, --download-arch <amd64|arm64|x86_64|aarch64>"
32+
echo -e " Define the architecture of the packages to download for offline installation."
33+
echo -e ""
3134
echo -e " -fd, --force-install-dashboard"
3235
echo -e " Force Wazuh dashboard installation to continue even when it is not capable of connecting to the Wazuh indexer."
3336
echo -e ""
@@ -224,6 +227,16 @@ function main() {
224227
package_type="${2}"
225228
shift 2
226229
;;
230+
"-da"|"--download-arch")
231+
if [ "${2}" != "amd64" ] && [ "${2}" != "x86_64" ] && [ "${2}" != "arm64" ] && [ "${2}" != "aarch64" ]; then
232+
common_logger -e "Error on arguments. Probably missing <amd64|x86_64|arm64|aarch64> after -da|--download-arch"
233+
getHelp
234+
exit 1
235+
fi
236+
download_arch=1
237+
arch="${2}"
238+
shift 2
239+
;;
227240
*)
228241
echo "Unknow option: ${1}"
229242
getHelp
@@ -243,7 +256,7 @@ function main() {
243256
exit 0
244257
fi
245258

246-
common_logger "Starting Wazuh installation assistant. Wazuh version: ${wazuh_version} (x86_64/AMD64)"
259+
common_logger "Starting Wazuh installation assistant. Wazuh version: ${wazuh_version}"
247260
common_logger "Verbose logging redirected to ${logfile}"
248261

249262
# -------------- Uninstall case ------------------------------------

install_functions/installVariables.sh

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -44,12 +44,12 @@ readonly apt_lockfile="/var/lib/dpkg/lock"
4444
readonly base_dest_folder="wazuh-offline"
4545
manager_deb_base_url="${base_url}/apt/pool/main/w/wazuh-manager"
4646
readonly filebeat_deb_base_url="${base_url}/apt/pool/main/f/filebeat"
47-
readonly filebeat_deb_package="filebeat-oss-${filebeat_version}-amd64.deb"
47+
4848
indexer_deb_base_url="${base_url}/apt/pool/main/w/wazuh-indexer"
4949
dashboard_deb_base_url="${base_url}/apt/pool/main/w/wazuh-dashboard"
5050
manager_rpm_base_url="${base_url}/yum"
5151
readonly filebeat_rpm_base_url="${base_url}/yum"
52-
readonly filebeat_rpm_package="filebeat-oss-${filebeat_version}-x86_64.rpm"
52+
5353
indexer_rpm_base_url="${base_url}/yum"
5454
dashboard_rpm_base_url="${base_url}/yum"
5555
readonly wazuh_gpg_key="https://${bucket}/key/GPG-KEY-WAZUH"

install_functions/wazuh-offline-download.sh

Lines changed: 21 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ function offline_download() {
2626
manager_revision="1"
2727
indexer_revision="1"
2828
dashboard_revision="1"
29+
filebeat_revision="1"
2930

3031
if [ -n "${development}" ]; then
3132
filebeat_config_file="https://${bucket}/${wazuh_major}/tpl/wazuh/filebeat/filebeat.yml"
@@ -41,19 +42,21 @@ function offline_download() {
4142
fi
4243

4344
if [ "${package_type}" == "rpm" ]; then
44-
manager_rpm_package="wazuh-manager-${wazuh_version}-${manager_revision}.x86_64.${package_type}"
45-
indexer_rpm_package="wazuh-indexer-${wazuh_version}-${indexer_revision}.x86_64.${package_type}"
46-
dashboard_rpm_package="wazuh-dashboard-${wazuh_version}-${dashboard_revision}.x86_64.${package_type}"
45+
manager_rpm_package="wazuh-manager-${wazuh_version}-${manager_revision}.${arch}.${package_type}"
46+
indexer_rpm_package="wazuh-indexer-${wazuh_version}-${indexer_revision}.${arch}.${package_type}"
47+
dashboard_rpm_package="wazuh-dashboard-${wazuh_version}-${dashboard_revision}.${arch}.${package_type}"
48+
filebeat_rpm_package="filebeat-${filebeat_version}-${filebeat_revision}.${arch}.${package_type}"
4749
manager_base_url="${manager_rpm_base_url}"
4850
indexer_base_url="${indexer_rpm_base_url}"
4951
dashboard_base_url="${dashboard_rpm_base_url}"
5052
manager_package="${manager_rpm_package}"
5153
indexer_package="${indexer_rpm_package}"
5254
dashboard_package="${dashboard_rpm_package}"
5355
elif [ "${package_type}" == "deb" ]; then
54-
manager_deb_package="wazuh-manager_${wazuh_version}-${manager_revision}_amd64.${package_type}"
55-
indexer_deb_package="wazuh-indexer_${wazuh_version}-${indexer_revision}_amd64.${package_type}"
56-
dashboard_deb_package="wazuh-dashboard_${wazuh_version}-${dashboard_revision}_amd64.${package_type}"
56+
manager_deb_package="wazuh-manager_${wazuh_version}-${manager_revision}_${arch}.${package_type}"
57+
indexer_deb_package="wazuh-indexer_${wazuh_version}-${indexer_revision}_${arch}.${package_type}"
58+
dashboard_deb_package="wazuh-dashboard_${wazuh_version}-${dashboard_revision}_${arch}.${package_type}"
59+
filebeat_deb_package="filebeat_${filebeat_version}-${filebeat_revision}_${arch}.${package_type}"
5760
manager_base_url="${manager_deb_base_url}"
5861
indexer_base_url="${indexer_deb_base_url}"
5962
dashboard_base_url="${dashboard_deb_base_url}"
@@ -68,59 +71,59 @@ function offline_download() {
6871
while common_curl -s -I -o /dev/null -w "%{http_code}" "${manager_base_url}/${manager_package}" --max-time 300 --retry 5 --retry-delay 5 --fail | grep -q "200"; do
6972
manager_revision=$((manager_revision+1))
7073
if [ "${package_type}" == "rpm" ]; then
71-
manager_rpm_package="wazuh-manager-${wazuh_version}-${manager_revision}.x86_64.rpm"
74+
manager_rpm_package="wazuh-manager-${wazuh_version}-${manager_revision}.${arch}.rpm"
7275
manager_package="${manager_rpm_package}"
7376
else
74-
manager_deb_package="wazuh-manager_${wazuh_version}-${manager_revision}_amd64.deb"
77+
manager_deb_package="wazuh-manager_${wazuh_version}-${manager_revision}_${arch}.deb"
7578
manager_package="${manager_deb_package}"
7679
fi
7780
done
7881
if [ "$manager_revision" -gt 1 ] && [ "$(common_curl -s -I -o /dev/null -w "%{http_code}" "${manager_base_url}/${manager_package}" --max-time 300 --retry 5 --retry-delay 5 --fail)" -ne "200" ]; then
7982
manager_revision=$((manager_revision-1))
8083
if [ "${package_type}" == "rpm" ]; then
81-
manager_rpm_package="wazuh-manager-${wazuh_version}-${manager_revision}.x86_64.rpm"
84+
manager_rpm_package="wazuh-manager-${wazuh_version}-${manager_revision}.${arch}.rpm"
8285
else
83-
manager_deb_package="wazuh-manager_${wazuh_version}-${manager_revision}_amd64.deb"
86+
manager_deb_package="wazuh-manager_${wazuh_version}-${manager_revision}_${arch}.deb"
8487
fi
8588
fi
8689
common_logger -d "Wazuh manager package revision fetched."
8790

8891
while common_curl -s -I -o /dev/null -w "%{http_code}" "${indexer_base_url}/${indexer_package}" --max-time 300 --retry 5 --retry-delay 5 --fail | grep -q "200"; do
8992
indexer_revision=$((indexer_revision+1))
9093
if [ "${package_type}" == "rpm" ]; then
91-
indexer_rpm_package="wazuh-indexer-${wazuh_version}-${indexer_revision}.x86_64.rpm"
94+
indexer_rpm_package="wazuh-indexer-${wazuh_version}-${indexer_revision}.${arch}.rpm"
9295
indexer_package="${indexer_rpm_package}"
9396
else
94-
indexer_deb_package="wazuh-indexer_${wazuh_version}-${indexer_revision}_amd64.deb"
97+
indexer_deb_package="wazuh-indexer_${wazuh_version}-${indexer_revision}_${arch}.deb"
9598
indexer_package="${indexer_deb_package}"
9699
fi
97100
done
98101
if [ "$indexer_revision" -gt 1 ] && [ "$(common_curl -s -I -o /dev/null -w "%{http_code}" "${indexer_base_url}/${indexer_package}" --max-time 300 --retry 5 --retry-delay 5 --fail)" -ne "200" ]; then
99102
indexer_revision=$((indexer_revision-1))
100103
if [ "${package_type}" == "rpm" ]; then
101-
indexer_rpm_package="wazuh-indexer-${wazuh_version}-${indexer_revision}.x86_64.rpm"
104+
indexer_rpm_package="wazuh-indexer-${wazuh_version}-${indexer_revision}.${arch}.rpm"
102105
else
103-
indexer_deb_package="wazuh-indexer_${wazuh_version}-${indexer_revision}_amd64.deb"
106+
indexer_deb_package="wazuh-indexer_${wazuh_version}-${indexer_revision}_${arch}.deb"
104107
fi
105108
fi
106109
common_logger -d "Wazuh indexer package revision fetched."
107110

108111
while common_curl -s -I -o /dev/null -w "%{http_code}" "${dashboard_base_url}/${dashboard_package}" --max-time 300 --retry 5 --retry-delay 5 --fail | grep -q "200"; do
109112
dashboard_revision=$((dashboard_revision+1))
110113
if [ "${package_type}" == "rpm" ]; then
111-
dashboard_rpm_package="wazuh-dashboard-${wazuh_version}-${dashboard_revision}.x86_64.rpm"
114+
dashboard_rpm_package="wazuh-dashboard-${wazuh_version}-${dashboard_revision}.${arch}.rpm"
112115
dashboard_package="${dashboard_rpm_package}"
113116
else
114-
dashboard_deb_package="wazuh-dashboard_${wazuh_version}-${dashboard_revision}_amd64.deb"
117+
dashboard_deb_package="wazuh-dashboard_${wazuh_version}-${dashboard_revision}_${arch}.deb"
115118
dashboard_package="${dashboard_deb_package}"
116119
fi
117120
done
118121
if [ "$dashboard_revision" -gt 1 ] && [ "$(common_curl -s -I -o /dev/null -w "%{http_code}" "${dashboard_base_url}/${dashboard_package}" --max-time 300 --retry 5 --retry-delay 5 --fail)" -ne "200" ]; then
119122
dashboard_revision=$((dashboard_revision-1))
120123
if [ "${package_type}" == "rpm" ]; then
121-
dashboard_rpm_package="wazuh-dashboard-${wazuh_version}-${dashboard_revision}.x86_64.rpm"
124+
dashboard_rpm_package="wazuh-dashboard-${wazuh_version}-${dashboard_revision}.${arch}.rpm"
122125
else
123-
dashboard_deb_package="wazuh-dashboard_${wazuh_version}-${dashboard_revision}_amd64.deb"
126+
dashboard_deb_package="wazuh-dashboard_${wazuh_version}-${dashboard_revision}_${arch}.deb"
124127
fi
125128
fi
126129
common_logger -d "Wazuh dashboard package revision fetched."

0 commit comments

Comments
 (0)