mirror of https://github.com/k3s-io/k3s
Fix call for k3s-selinux versions in airgapped environments (#7264)
* Fix call for k3s-selinux versions in airgapped environments Signed-off-by: galal-hussein <hussein.galal.ahmed.11@gmail.com> * use timeout options in the donwloader Signed-off-by: galal-hussein <hussein.galal.ahmed.11@gmail.com> * more fixes Signed-off-by: galal-hussein <hussein.galal.ahmed.11@gmail.com> * run verify_downloader in case binary was skipped Signed-off-by: galal-hussein <hussein.galal.ahmed.11@gmail.com> --------- Signed-off-by: galal-hussein <hussein.galal.ahmed.11@gmail.com>pull/7281/head
parent
027cc187ce
commit
6b51ed478d
50
install.sh
50
install.sh
|
@ -372,6 +372,45 @@ get_release_version() {
|
||||||
info "Using ${VERSION_K3S} as release"
|
info "Using ${VERSION_K3S} as release"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# --- get k3s-selinux version ---
|
||||||
|
get_k3s_selinux_version() {
|
||||||
|
available_version="k3s-selinux-1.2-2.${rpm_target}.noarch.rpm"
|
||||||
|
info "Finding available k3s-selinux versions"
|
||||||
|
|
||||||
|
# run verify_downloader in case it binary installation was skipped
|
||||||
|
verify_downloader curl || verify_downloader wget || fatal 'Can not find curl or wget for downloading files'
|
||||||
|
|
||||||
|
case $DOWNLOADER in
|
||||||
|
curl)
|
||||||
|
DOWNLOADER_OPTS="-s"
|
||||||
|
;;
|
||||||
|
wget)
|
||||||
|
DOWNLOADER_OPTS="-q -O -"
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
fatal "Incorrect downloader executable '$DOWNLOADER'"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
for i in {1..3}; do
|
||||||
|
set +e
|
||||||
|
if [ "${rpm_channel}" = "testing" ]; then
|
||||||
|
version=$(timeout 5 ${DOWNLOADER} ${DOWNLOADER_OPTS} https://api.github.com/repos/k3s-io/k3s-selinux/releases | grep browser_download_url | awk '{ print $2 }' | grep -oE "[^\/]+${rpm_target}\.noarch\.rpm" | head -n 1)
|
||||||
|
else
|
||||||
|
version=$(timeout 5 ${DOWNLOADER} ${DOWNLOADER_OPTS} https://api.github.com/repos/k3s-io/k3s-selinux/releases/latest | grep browser_download_url | awk '{ print $2 }' | grep -oE "[^\/]+${rpm_target}\.noarch\.rpm")
|
||||||
|
fi
|
||||||
|
set -e
|
||||||
|
if [ "${version}" != "" ]; then
|
||||||
|
break
|
||||||
|
fi
|
||||||
|
sleep 1
|
||||||
|
done
|
||||||
|
if [ "${version}" == "" ]; then
|
||||||
|
warn "Failed to get available versions of k3s-selinux..defaulting to ${available_version}"
|
||||||
|
return
|
||||||
|
fi
|
||||||
|
available_version=${version}
|
||||||
|
}
|
||||||
|
|
||||||
# --- download from github url ---
|
# --- download from github url ---
|
||||||
download() {
|
download() {
|
||||||
[ $# -eq 2 ] || fatal 'download needs exactly 2 arguments'
|
[ $# -eq 2 ] || fatal 'download needs exactly 2 arguments'
|
||||||
|
@ -497,12 +536,6 @@ setup_selinux() {
|
||||||
package_installer=dnf
|
package_installer=dnf
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ "${rpm_channel}" = "testing" ]; then
|
|
||||||
available_version=$(curl -s https://api.github.com/repos/k3s-io/k3s-selinux/releases | grep -oP '(?<="browser_download_url": ")[^"]*' | grep -oE "[^\/]+${rpm_target}\.noarch\.rpm" | head -n 1)
|
|
||||||
else
|
|
||||||
available_version=$(curl -s https://api.github.com/repos/k3s-io/k3s-selinux/releases/latest | grep -oP '(?<="browser_download_url": ")[^"]*' | grep -oE "[^\/]+${rpm_target}\.noarch\.rpm" )
|
|
||||||
fi
|
|
||||||
|
|
||||||
policy_hint="please install:
|
policy_hint="please install:
|
||||||
${package_installer} install -y container-selinux
|
${package_installer} install -y container-selinux
|
||||||
${package_installer} install -y https://${rpm_site}/k3s/${rpm_channel}/common/${rpm_site_infix}/noarch/${available_version}
|
${package_installer} install -y https://${rpm_site}/k3s/${rpm_channel}/common/${rpm_site_infix}/noarch/${available_version}
|
||||||
|
@ -511,6 +544,7 @@ setup_selinux() {
|
||||||
if [ "$INSTALL_K3S_SKIP_SELINUX_RPM" = true ] || can_skip_download_selinux || [ ! -d /usr/share/selinux ]; then
|
if [ "$INSTALL_K3S_SKIP_SELINUX_RPM" = true ] || can_skip_download_selinux || [ ! -d /usr/share/selinux ]; then
|
||||||
info "Skipping installation of SELinux RPM"
|
info "Skipping installation of SELinux RPM"
|
||||||
else
|
else
|
||||||
|
get_k3s_selinux_version
|
||||||
install_selinux_rpm ${rpm_site} ${rpm_channel} ${rpm_target} ${rpm_site_infix}
|
install_selinux_rpm ${rpm_site} ${rpm_channel} ${rpm_target} ${rpm_site_infix}
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
@ -863,8 +897,8 @@ respawn_delay=5
|
||||||
respawn_max=0
|
respawn_max=0
|
||||||
|
|
||||||
set -o allexport
|
set -o allexport
|
||||||
if [ -f /etc/environment ]; then sourcex /etc/environment; fi
|
if [ -f /etc/environment ]; then . /etc/environment; fi
|
||||||
if [ -f ${FILE_K3S_ENV} ]; then sourcex ${FILE_K3S_ENV}; fi
|
if [ -f ${FILE_K3S_ENV} ]; then . ${FILE_K3S_ENV}; fi
|
||||||
set +o allexport
|
set +o allexport
|
||||||
EOF
|
EOF
|
||||||
$SUDO chmod 0755 ${FILE_K3S_SERVICE}
|
$SUDO chmod 0755 ${FILE_K3S_SERVICE}
|
||||||
|
|
Loading…
Reference in New Issue