Skip to content

Commit b2e00e8

Browse files
committed
Merge develop into stable for v2026.01.22 release
2 parents 7cfd3dd + bd7e531 commit b2e00e8

File tree

6 files changed

+131
-11
lines changed

6 files changed

+131
-11
lines changed

AUTHORS.rst

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -187,6 +187,7 @@ Thomas S. Hatch thatch45 thatch45@saltstack.com
187187
Tobias Jungel toanju Tobias.Jungel@gmail.com
188188
Tony Narlock tony
189189
Valentin Bud valentinbud valentin@databus.pro
190+
vegcom vegcom vegcom@protonmail.com
190191
Vernon Cole vernondcole vernondcole@gmail.com
191192
Vladimir Kozhukalov kozhukalov
192193
Whit Morriss whitmo whit@nocoast.us

CHANGELOG.md

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,17 @@
1+
# v2026.01.22
2+
3+
## What's Changed
4+
5+
- Fix SALT_REPO_URL and mktemp command in salt-quick-start.sh by @OttaviaB in https://github.com/saltstack/salt-bootstrap/pull/2102
6+
- Tidy/fix archlinux install by @vegcom in https://github.com/saltstack/salt-bootstrap/pull/2101
7+
8+
## New Contributors
9+
10+
- @OttaviaB made their first contribution in https://github.com/saltstack/salt-bootstrap/pull/2102
11+
- @vegcom made their first contribution in https://github.com/saltstack/salt-bootstrap/pull/2101
12+
13+
**Full Changelog**: https://github.com/saltstack/salt-bootstrap/compare/v2026.01.15...v2026.01.22
14+
115
# v2026.01.15
216

317
## What's Changed

README.rst

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@ sum** of the downloaded ``bootstrap-salt.sh`` file.
3737

3838
The SHA256 sum of the ``bootstrap-salt.sh`` file, per release, is:
3939

40+
- 2026.01.15: ``778ee0126f7477652bac41fccf361663faec37123703d52f5fd9e7b76a7c2174``
4041
- 2025.12.05: ``52034f69df84291928075264a0de75e2f9f202a28a5b3a0a82252bd12458a67d``
4142
- 2025.09.03: ``972d6e1a3592a8c2c820a5927e530be3c9b76de00e0a2a7126aec3f73ce99e6c``
4243
- 2025.02.24: ``a0e3a58fc6358a7c6f708ee4910229e72fbdab7161819514b0696146a2edb62d``

bootstrap-salt.ps1

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -108,7 +108,7 @@ if ($help) {
108108
exit 0
109109
}
110110

111-
$__ScriptVersion = "2026.01.15"
111+
$__ScriptVersion = "2026.01.22"
112112
$ScriptName = $myInvocation.MyCommand.Name
113113

114114
# We'll check for the Version next, because it also has no requirements

bootstrap-salt.sh

Lines changed: 112 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@
2626
#======================================================================================================================
2727
set -o nounset # Treat unset variables as an error
2828

29-
__ScriptVersion="2026.01.15"
29+
__ScriptVersion="2026.01.22"
3030
__ScriptName="bootstrap-salt.sh"
3131

3232
__ScriptFullName="$0"
@@ -6107,7 +6107,14 @@ install_arch_linux_git_deps() {
61076107
}
61086108

61096109
install_arch_linux_onedir_deps() {
6110+
echodebug "install_arch_linux_onedir_deps() entry"
6111+
6112+
# Basic tooling for download/verify/extract
6113+
pacman -Sy --noconfirm --needed wget tar gzip gnupg ca-certificates || return 1
6114+
6115+
# Reuse stable deps for python-yaml etc. if you want config_salt() parity
61106116
install_arch_linux_stable_deps || return 1
6117+
return 0
61116118
}
61126119

61136120
install_arch_linux_stable() {
@@ -6122,7 +6129,73 @@ install_arch_linux_stable() {
61226129
pacman -S --noconfirm --needed bash || return 1
61236130
pacman -Su --noconfirm || return 1
61246131
# We can now resume regular salt update
6125-
pacman -Syu --noconfirm salt || return 1
6132+
# Except that this hasn't been in arch repos for years;
6133+
# so we have to build from AUR
6134+
# We use "buildgirl" because Eve demanded it.
6135+
build_user=${build_user:-buildgirl}
6136+
userdel "$build_user" || true
6137+
useradd -M -r -s /usr/bin/nologin "$build_user"
6138+
echo "$build_user ALL=(ALL) NOPASSWD: ALL" > /etc/sudoers.d/"$build_user"
6139+
rm -rf /tmp/yay-bin || true
6140+
6141+
git clone https://aur.archlinux.org/salt.git /tmp/yay-bin
6142+
chown -R "$build_user":"$build_user" /tmp/yay-bin
6143+
sudo -u "$build_user" env -i \
6144+
HOME=/tmp \
6145+
PATH=/usr/bin:/bin:/usr/sbin:/sbin \
6146+
MAKEFLAGS="-j$(nproc)" \
6147+
LANG=en_US.UTF-8 LC_ALL=en_US.UTF-8 \
6148+
makepkg -CcsiD /tmp/yay-bin \
6149+
--noconfirm --needed \
6150+
--noprogressbar || return 1
6151+
6152+
rm -f /etc/sudoers.d/"$build_user"
6153+
rm -rf /tmp/yay-bin
6154+
userdel "$build_user"
6155+
return 0
6156+
}
6157+
6158+
install_arch_linux_onedir() {
6159+
echodebug "install_arch_linux_onedir() entry"
6160+
6161+
version="${ONEDIR_REV:-latest}"
6162+
arch="x86_64"
6163+
[ "$(uname -m)" = "aarch64" ] && arch="aarch64"
6164+
6165+
# Resolve "latest" to actual version
6166+
if [ "$version" = "latest" ]; then
6167+
version=$(wget -qO- https://api.github.com/repos/saltstack/salt/releases/latest \
6168+
| grep -Eo '"tag_name": *"v[0-9.]+"' \
6169+
| sed 's/"tag_name": *"v//;s/"//') || return 1
6170+
fi
6171+
6172+
tarball="salt-${version}-onedir-linux-${arch}.tar.xz"
6173+
url="https://github.com/saltstack/salt/releases/download/v${version}/${tarball}"
6174+
extractdir="/tmp/salt-${version}-onedir-linux-${arch}"
6175+
6176+
echoinfo "Downloading Salt onedir: $url"
6177+
wget -q "$url" -O "/tmp/${tarball}" || return 1
6178+
6179+
# Validate tarball
6180+
if ! tar -tf "/tmp/${tarball}" >/dev/null 2>&1; then
6181+
echoerror "Invalid or corrupt onedir tarball"
6182+
return 1
6183+
fi
6184+
6185+
# Prepare extraction
6186+
rm -rf "$extractdir" || true
6187+
rm -rf /opt/saltstack/salt || true
6188+
mkdir -p "$extractdir"
6189+
6190+
# Extract and flatten (remove leading 'salt/' directory)
6191+
# /tmp/salt-${version}-onedir-linux-${arch}
6192+
tar --strip-components=1 -xf "/tmp/${tarball}" -C "$extractdir"
6193+
6194+
# Place into /opt
6195+
mkdir -p /opt/saltstack/salt
6196+
mv "$extractdir"/* /opt/saltstack/salt/ || return 1
6197+
chmod -R 755 /opt/saltstack/salt
6198+
61266199
return 0
61276200
}
61286201

@@ -6260,17 +6333,48 @@ install_arch_check_services() {
62606333
return 0
62616334
}
62626335

6263-
install_arch_linux_onedir() {
6264-
install_arch_linux_stable || return 1
62656336

6266-
return 0
6267-
}
62686337

62696338
install_arch_linux_onedir_post() {
6270-
install_arch_linux_post || return 1
6339+
echodebug "install_arch_linux_onedir_post() entry"
6340+
6341+
# Disable any distro/AUR salt units
6342+
systemctl disable --now salt-minion.service 2>/dev/null || true
6343+
systemctl disable --now salt-master.service 2>/dev/null || true
6344+
6345+
# Drop a clean unit, same pattern as Debian/Ubuntu onedir
6346+
cat >/etc/systemd/system/salt-minion.service <<'EOF'
6347+
[Unit]
6348+
Description=Salt Minion (onedir)
6349+
After=network-online.target
6350+
Wants=network-online.target
6351+
6352+
[Service]
6353+
Type=simple
6354+
ExecStart=/opt/saltstack/salt/salt-minion -c /etc/salt
6355+
Restart=always
6356+
LimitNOFILE=100000
62716357
6272-
return 0
6358+
[Install]
6359+
WantedBy=multi-user.target
6360+
EOF
6361+
6362+
systemctl daemon-reload
6363+
6364+
# Add onedir paths system-wide
6365+
cat >/etc/profile.d/saltstack.sh <<'EOF'
6366+
export PATH=/opt/saltstack/salt:/opt/saltstack/salt/bin:$PATH
6367+
EOF
6368+
6369+
chmod 644 /etc/profile.d/saltstack.sh
6370+
6371+
if [ "$_START_DAEMONS" -eq $BS_TRUE ]; then
6372+
systemctl enable --now salt-minion.service
6373+
fi
6374+
6375+
return 0
62736376
}
6377+
62746378
#
62756379
# Ended Arch Install Functions
62766380
#

salt-quick-start.sh

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
#!/bin/sh
22

33
__ScriptName="salt-quick-start.sh"
4-
SALT_REPO_URL="https://packages.broadcom.com/artifactory/salt-project-generic/onedir"
4+
SALT_REPO_URL="https://packages.broadcom.com/artifactory/saltproject-generic/onedir"
55
_COLORS=${QS_COLORS:-$(tput colors 2>/dev/null || echo 0)}
66

77
_LOCAL=0
@@ -94,7 +94,7 @@ __parse_repo_json_jq() {
9494
# $2 is ARCH
9595

9696
# get dir listing from url, sort and pick highest
97-
onedir_versions_tmpf=$(mktemp)
97+
onedir_versions_tmpf=$(mktemp -d)
9898
curr_pwd=$(pwd)
9999
cd ${onedir_versions_tmpf} || return 1
100100
wget -r -np -nH --exclude-directories=onedir,relenv,windows -x -l 1 "$SALT_REPO_URL/"

0 commit comments

Comments
 (0)