mirror of
https://github.com/kasmtech/workspaces-images.git
synced 2026-01-23 02:25:16 +00:00
Merge remote-tracking branch 'origin/develop' into bugfix/KASM-7566-add_obsidian_workspace_develop
This commit is contained in:
commit
1147e92592
14 changed files with 236 additions and 31 deletions
|
|
@ -8,8 +8,8 @@ stages:
|
|||
- template
|
||||
- run
|
||||
variables:
|
||||
BASE_TAG: "develop"
|
||||
USE_PRIVATE_IMAGES: 0
|
||||
BASE_TAG: "feature_VNC-204_vulkan_support"
|
||||
USE_PRIVATE_IMAGES: 1
|
||||
KASM_RELEASE: "1.17.0"
|
||||
TEST_INSTALLER: "https://kasm-static-content.s3.amazonaws.com/kasm_release_1.17.0.bbc15c.tar.gz"
|
||||
MIRROR_ORG_NAME: "kasmtech"
|
||||
|
|
|
|||
|
|
@ -484,6 +484,31 @@ multiImages:
|
|||
- src/ubuntu/install/ansible/**
|
||||
- src/ubuntu/install/chrome/**
|
||||
- src/ubuntu/install/slack/**
|
||||
- name: debian-trixie-desktop
|
||||
singleapp: false
|
||||
base: core-debian-trixie
|
||||
dockerfile: dockerfile-kasm-debian-trixie-desktop
|
||||
changeFiles:
|
||||
- dockerfile-kasm-debian-trixie-desktop
|
||||
- src/ubuntu/install/zoom/**
|
||||
- src/ubuntu/install/vs_code/**
|
||||
- src/ubuntu/install/tools/**
|
||||
- src/ubuntu/install/thunderbird/**
|
||||
- src/ubuntu/install/terraform/**
|
||||
- src/ubuntu/install/telegram/**
|
||||
- src/ubuntu/install/sublime_text/**
|
||||
- src/ubuntu/install/signal/**
|
||||
- src/ubuntu/install/remmina/**
|
||||
- src/ubuntu/install/only_office/**
|
||||
- src/ubuntu/install/obs/**
|
||||
- src/ubuntu/install/gimp/**
|
||||
- src/ubuntu/install/gamepad_utils/**
|
||||
- src/ubuntu/install/firefox/**
|
||||
- src/ubuntu/install/cleanup/**
|
||||
- src/ubuntu/install/chromium/**
|
||||
- src/ubuntu/install/ansible/**
|
||||
- src/ubuntu/install/chrome/**
|
||||
- src/ubuntu/install/slack/**
|
||||
- name: fedora-39-desktop
|
||||
runset: set-b
|
||||
singleapp: false
|
||||
|
|
|
|||
58
dockerfile-kasm-debian-trixie-desktop
Normal file
58
dockerfile-kasm-debian-trixie-desktop
Normal file
|
|
@ -0,0 +1,58 @@
|
|||
ARG BASE_TAG="develop"
|
||||
ARG BASE_IMAGE="core-debian-trixie"
|
||||
FROM kasmweb/$BASE_IMAGE:$BASE_TAG
|
||||
|
||||
USER root
|
||||
|
||||
ENV HOME /home/kasm-default-profile
|
||||
ENV STARTUPDIR /dockerstartup
|
||||
WORKDIR $HOME
|
||||
|
||||
### Envrionment config
|
||||
ENV DEBIAN_FRONTEND=noninteractive \
|
||||
SKIP_CLEAN=true \
|
||||
KASM_RX_HOME=$STARTUPDIR/kasmrx \
|
||||
DONT_PROMPT_WSL_INSTALL="No_Prompt_please" \
|
||||
INST_DIR=$STARTUPDIR/install \
|
||||
INST_SCRIPTS="/ubuntu/install/tools/install_tools_deluxe.sh \
|
||||
/ubuntu/install/misc/install_tools.sh \
|
||||
/ubuntu/install/chrome/install_chrome.sh \
|
||||
/ubuntu/install/chromium/install_chromium.sh \
|
||||
/ubuntu/install/firefox/install_firefox.sh \
|
||||
/ubuntu/install/sublime_text/install_sublime_text.sh \
|
||||
/ubuntu/install/vs_code/install_vs_code.sh \
|
||||
/ubuntu/install/remmina/install_remmina.sh \
|
||||
/ubuntu/install/only_office/install_only_office.sh \
|
||||
/ubuntu/install/signal/install_signal.sh \
|
||||
/ubuntu/install/gimp/install_gimp.sh \
|
||||
/ubuntu/install/zoom/install_zoom.sh \
|
||||
/ubuntu/install/obs/install_obs.sh \
|
||||
/ubuntu/install/ansible/install_ansible.sh \
|
||||
/ubuntu/install/terraform/install_terraform.sh \
|
||||
/ubuntu/install/telegram/install_telegram.sh \
|
||||
/ubuntu/install/thunderbird/install_thunderbird.sh \
|
||||
/ubuntu/install/slack/install_slack.sh \
|
||||
/ubuntu/install/gamepad_utils/install_gamepad_utils.sh \
|
||||
/ubuntu/install/cleanup/cleanup.sh"
|
||||
|
||||
# Copy install scripts
|
||||
COPY ./src/ $INST_DIR
|
||||
|
||||
# Run installations
|
||||
RUN \
|
||||
for SCRIPT in $INST_SCRIPTS; do \
|
||||
bash ${INST_DIR}${SCRIPT} || exit 1; \
|
||||
done && \
|
||||
$STARTUPDIR/set_user_permission.sh $HOME && \
|
||||
rm -f /etc/X11/xinit/Xclients && \
|
||||
chown 1000:0 $HOME && \
|
||||
mkdir -p /home/kasm-user && \
|
||||
chown -R 1000:0 /home/kasm-user && \
|
||||
rm -Rf ${INST_DIR}
|
||||
|
||||
# Userspace Runtime
|
||||
ENV HOME /home/kasm-user
|
||||
WORKDIR $HOME
|
||||
USER 1000
|
||||
|
||||
CMD ["--tail-log"]
|
||||
|
|
@ -1,6 +1,7 @@
|
|||
ARG BASE_TAG="develop"
|
||||
ARG BASE_IMAGE="core-ubuntu-jammy"
|
||||
ARG BASE_IMAGE="core-debian-trixie"
|
||||
FROM kasmweb/$BASE_IMAGE:$BASE_TAG
|
||||
|
||||
USER root
|
||||
|
||||
ENV HOME /home/kasm-default-profile
|
||||
|
|
@ -10,7 +11,7 @@ WORKDIR $HOME
|
|||
|
||||
######### Customize Container Here ###########
|
||||
|
||||
|
||||
# Install Gimp
|
||||
COPY ./src/ubuntu/install/gimp $INST_SCRIPTS/gimp/
|
||||
RUN bash $INST_SCRIPTS/gimp/install_gimp.sh && rm -rf $INST_SCRIPTS/gimp/
|
||||
|
||||
|
|
|
|||
|
|
@ -24,14 +24,31 @@ chmod +x $HOME/Desktop/brave-browser.desktop
|
|||
mv /usr/bin/brave-browser /usr/bin/brave-browser-orig
|
||||
cat >/usr/bin/brave-browser <<EOL
|
||||
#!/usr/bin/env bash
|
||||
|
||||
supports_vulkan() {
|
||||
# Needs the CLI tool
|
||||
command -v vulkaninfo >/dev/null 2>&1 || return 1
|
||||
|
||||
# Look for any non-CPU device
|
||||
DISPLAY= vulkaninfo --summary 2>/dev/null |
|
||||
grep -qE 'PHYSICAL_DEVICE_TYPE_(INTEGRATED_GPU|DISCRETE_GPU|VIRTUAL_GPU)'
|
||||
}
|
||||
|
||||
sed -i 's/"exited_cleanly":false/"exited_cleanly":true/' ~/.config/BraveSoftware/Brave-Browser/Default/Preferences
|
||||
sed -i 's/"exit_type":"Crashed"/"exit_type":"None"/' ~/.config/BraveSoftware/Brave-Browser/Default/Preferences
|
||||
|
||||
VULKAN_FLAGS=
|
||||
if supports_vulkan; then
|
||||
VULKAN_FLAGS="--use-angle=vulkan"
|
||||
echo 'vulkan supported'
|
||||
fi
|
||||
|
||||
if [ -f /opt/VirtualGL/bin/vglrun ] && [ ! -z "\${KASM_EGL_CARD}" ] && [ ! -z "\${KASM_RENDERD}" ] && [ -O "\${KASM_RENDERD}" ] && [ -O "\${KASM_EGL_CARD}" ] ; then
|
||||
echo "Starting Brave with GPU Acceleration on EGL device \${KASM_EGL_CARD}"
|
||||
vglrun -d "\${KASM_EGL_CARD}" /opt/brave.com/brave/brave-browser ${CHROME_ARGS} "\$@"
|
||||
vglrun -d "\${KASM_EGL_CARD}" /opt/brave.com/brave/brave-browser ${CHROME_ARGS} "\${VULKAN_FLAGS}" "\$@"
|
||||
else
|
||||
echo "Starting Brave"
|
||||
/opt/brave.com/brave/brave-browser ${CHROME_ARGS} "\$@"
|
||||
/opt/brave.com/brave/brave-browser ${CHROME_ARGS} "\${VULKAN_FLAGS}" "\$@"
|
||||
fi
|
||||
EOL
|
||||
chmod +x /usr/bin/brave-browser
|
||||
|
|
|
|||
|
|
@ -63,17 +63,34 @@ chmod +x $HOME/Desktop/google-chrome.desktop
|
|||
mv /usr/bin/google-chrome /usr/bin/google-chrome-orig
|
||||
cat >/usr/bin/google-chrome <<EOL
|
||||
#!/usr/bin/env bash
|
||||
|
||||
supports_vulkan() {
|
||||
# Needs the CLI tool
|
||||
command -v vulkaninfo >/dev/null 2>&1 || return 1
|
||||
|
||||
# Look for any non-CPU device
|
||||
DISPLAY= vulkaninfo --summary 2>/dev/null |
|
||||
grep -qE 'PHYSICAL_DEVICE_TYPE_(INTEGRATED_GPU|DISCRETE_GPU|VIRTUAL_GPU)'
|
||||
}
|
||||
|
||||
if ! pgrep chrome > /dev/null;then
|
||||
rm -f \$HOME/.config/google-chrome/Singleton*
|
||||
fi
|
||||
sed -i 's/"exited_cleanly":false/"exited_cleanly":true/' ~/.config/google-chrome/Default/Preferences
|
||||
sed -i 's/"exit_type":"Crashed"/"exit_type":"None"/' ~/.config/google-chrome/Default/Preferences
|
||||
|
||||
VULKAN_FLAGS=
|
||||
if supports_vulkan; then
|
||||
VULKAN_FLAGS="--use-angle=vulkan"
|
||||
echo 'vulkan supported'
|
||||
fi
|
||||
|
||||
if [ -f /opt/VirtualGL/bin/vglrun ] && [ ! -z "\${KASM_EGL_CARD}" ] && [ ! -z "\${KASM_RENDERD}" ] && [ -O "\${KASM_RENDERD}" ] && [ -O "\${KASM_EGL_CARD}" ] ; then
|
||||
echo "Starting Chrome with GPU Acceleration on EGL device \${KASM_EGL_CARD}"
|
||||
vglrun -d "\${KASM_EGL_CARD}" /opt/google/chrome/google-chrome ${CHROME_ARGS} "\$@"
|
||||
vglrun -d "\${KASM_EGL_CARD}" /opt/google/chrome/google-chrome ${CHROME_ARGS} "\${VULKAN_FLAGS}" "\$@"
|
||||
else
|
||||
echo "Starting Chrome"
|
||||
/opt/google/chrome/google-chrome ${CHROME_ARGS} "\$@"
|
||||
/opt/google/chrome/google-chrome ${CHROME_ARGS} "\${VULKAN_FLAGS}" "\$@"
|
||||
fi
|
||||
EOL
|
||||
chmod +x /usr/bin/google-chrome
|
||||
|
|
|
|||
|
|
@ -74,17 +74,34 @@ fi
|
|||
mv /usr/bin/${REAL_BIN} /usr/bin/${REAL_BIN}-orig
|
||||
cat >/usr/bin/${REAL_BIN} <<EOL
|
||||
#!/usr/bin/env bash
|
||||
|
||||
supports_vulkan() {
|
||||
# Needs the CLI tool
|
||||
command -v vulkaninfo >/dev/null 2>&1 || return 1
|
||||
|
||||
# Look for any non-CPU device
|
||||
DISPLAY= vulkaninfo --summary 2>/dev/null |
|
||||
grep -qE 'PHYSICAL_DEVICE_TYPE_(INTEGRATED_GPU|DISCRETE_GPU|VIRTUAL_GPU)'
|
||||
}
|
||||
|
||||
if ! pgrep chromium > /dev/null;then
|
||||
rm -f \$HOME/.config/chromium/Singleton*
|
||||
fi
|
||||
sed -i 's/"exited_cleanly":false/"exited_cleanly":true/' ~/.config/chromium/Default/Preferences
|
||||
sed -i 's/"exit_type":"Crashed"/"exit_type":"None"/' ~/.config/chromium/Default/Preferences
|
||||
|
||||
VULKAN_FLAGS=
|
||||
if supports_vulkan; then
|
||||
VULKAN_FLAGS="--use-angle=vulkan"
|
||||
echo 'vulkan supported'
|
||||
fi
|
||||
|
||||
if [ -f /opt/VirtualGL/bin/vglrun ] && [ ! -z "\${KASM_EGL_CARD}" ] && [ ! -z "\${KASM_RENDERD}" ] && [ -O "\${KASM_RENDERD}" ] && [ -O "\${KASM_EGL_CARD}" ] ; then
|
||||
echo "Starting Chrome with GPU Acceleration on EGL device \${KASM_EGL_CARD}"
|
||||
vglrun -d "\${KASM_EGL_CARD}" /usr/bin/${REAL_BIN}-orig ${CHROME_ARGS} "\$@"
|
||||
vglrun -d "\${KASM_EGL_CARD}" /usr/bin/${REAL_BIN}-orig ${CHROME_ARGS} "\${VULKAN_FLAGS}" "\$@"
|
||||
else
|
||||
echo "Starting Chrome"
|
||||
/usr/bin/${REAL_BIN}-orig ${CHROME_ARGS} "\$@"
|
||||
/usr/bin/${REAL_BIN}-orig ${CHROME_ARGS} "\${VULKAN_FLAGS}" "\$@"
|
||||
fi
|
||||
EOL
|
||||
chmod +x /usr/bin/${REAL_BIN}
|
||||
|
|
|
|||
|
|
@ -18,14 +18,31 @@ chmod +x $HOME/Desktop/microsoft-edge.desktop
|
|||
mv /usr/bin/microsoft-edge-stable /usr/bin/microsoft-edge-stable-orig
|
||||
cat >/usr/bin/microsoft-edge-stable <<EOL
|
||||
#!/usr/bin/env bash
|
||||
|
||||
supports_vulkan() {
|
||||
# Needs the CLI tool
|
||||
command -v vulkaninfo >/dev/null 2>&1 || return 1
|
||||
|
||||
# Look for any non-CPU device
|
||||
DISPLAY= vulkaninfo --summary 2>/dev/null |
|
||||
grep -qE 'PHYSICAL_DEVICE_TYPE_(INTEGRATED_GPU|DISCRETE_GPU|VIRTUAL_GPU)'
|
||||
}
|
||||
|
||||
sed -i 's/"exited_cleanly":false/"exited_cleanly":true/' ~/.config/microsoft-edge/Default/Preferences
|
||||
sed -i 's/"exit_type":"Crashed"/"exit_type":"None"/' ~/.config/microsoft-edge/Default/Preferences
|
||||
|
||||
VULKAN_FLAGS=
|
||||
if supports_vulkan; then
|
||||
VULKAN_FLAGS="--use-angle=vulkan"
|
||||
echo 'vulkan supported'
|
||||
fi
|
||||
|
||||
if [ -f /opt/VirtualGL/bin/vglrun ] && [ ! -z "\${KASM_EGL_CARD}" ] && [ ! -z "\${KASM_RENDERD}" ] && [ -O "\${KASM_RENDERD}" ] && [ -O "\${KASM_EGL_CARD}" ] ; then
|
||||
echo "Starting Edge with GPU Acceleration on EGL device \${KASM_EGL_CARD}"
|
||||
vglrun -d "\${KASM_EGL_CARD}" /opt/microsoft/msedge/microsoft-edge ${CHROME_ARGS} "\$@"
|
||||
vglrun -d "\${KASM_EGL_CARD}" /opt/microsoft/msedge/microsoft-edge ${CHROME_ARGS} "\${VULKAN_FLAGS}" "\$@"
|
||||
else
|
||||
echo "Starting Edge"
|
||||
/opt/microsoft/msedge/microsoft-edge ${CHROME_ARGS} "\$@"
|
||||
/opt/microsoft/msedge/microsoft-edge ${CHROME_ARGS} "\${VULKAN_FLAGS}" "\$@"
|
||||
fi
|
||||
EOL
|
||||
chmod +x /usr/bin/microsoft-edge-stable
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
#!/usr/bin/env bash
|
||||
set -ex
|
||||
START_COMMAND="gimp"
|
||||
START_COMMAND="/opt/gimp-3/squashfs-root/launcher"
|
||||
PGREP="gimp"
|
||||
export MAXIMIZE="true"
|
||||
export MAXIMIZE_NAME="GNU Image Manipulation Program"
|
||||
|
|
|
|||
|
|
@ -1,11 +1,38 @@
|
|||
#!/usr/bin/env bash
|
||||
set -ex
|
||||
|
||||
# Install GIMP
|
||||
apt-get update
|
||||
apt-get install -y gimp
|
||||
cp /usr/share/applications/gimp.desktop $HOME/Desktop/
|
||||
ARCH=$(uname -m | sed 's/aarch64/arm64/g' | sed 's/x86_64/amd64/g')
|
||||
mkdir -p /opt/gimp-3
|
||||
cd /opt/gimp-3
|
||||
|
||||
# Get latest stable GIMP version
|
||||
GIMP_VERSION=$(curl -s https://www.gimp.org/downloads/ | grep -Po '(?is)current stable release of gimp is.*?\K[0-9]+\.[0-9]+\.[0-9]+')
|
||||
|
||||
if [ "${ARCH}" == "amd64" ]; then
|
||||
wget -q https://download.gimp.org/gimp/v3.0/linux/GIMP-${GIMP_VERSION}-x86_64.AppImage -O gimp.AppImage
|
||||
else
|
||||
wget -q https://download.gimp.org/gimp/v3.0/linux/GIMP-${GIMP_VERSION}-aarch64.AppImage -O gimp.AppImage
|
||||
fi
|
||||
|
||||
chmod +x gimp.AppImage
|
||||
./gimp.AppImage --appimage-extract
|
||||
rm gimp.AppImage
|
||||
chown -R 1000:1000 /opt/gimp-3
|
||||
|
||||
cat >/opt/gimp-3/squashfs-root/launcher <<EOL
|
||||
#!/usr/bin/env bash
|
||||
export APPDIR=/opt/gimp-3/squashfs-root/
|
||||
/opt/gimp-3/squashfs-root/AppRun
|
||||
EOL
|
||||
|
||||
chmod +x /opt/gimp-3/squashfs-root/launcher
|
||||
|
||||
sed -i 's@^Exec=.*@Exec=/opt/gimp-3/squashfs-root/launcher@g' /opt/gimp-3/squashfs-root/*gimp*.desktop
|
||||
sed -i 's@^Icon=.*@Icon=/opt/gimp-3/squashfs-root/org.gimp.GIMP.Stable.svg@g' /opt/gimp-3/squashfs-root/*gimp*.desktop
|
||||
cp /opt/gimp-3/squashfs-root/*gimp*.desktop $HOME/Desktop/gimp.desktop
|
||||
cp /opt/gimp-3/squashfs-root/*gimp*.desktop /usr/share/applications/gimp.desktop
|
||||
chmod +x $HOME/Desktop/gimp.desktop
|
||||
chmod +x /usr/share/applications/gimp.desktop
|
||||
|
||||
# Cleanup for app layer
|
||||
chown -R 1000:0 $HOME
|
||||
|
|
@ -16,4 +43,4 @@ if [ -z ${SKIP_CLEAN+x} ]; then
|
|||
/var/lib/apt/lists/* \
|
||||
/var/tmp/* \
|
||||
/tmp/*
|
||||
fi
|
||||
fi
|
||||
|
|
@ -8,8 +8,17 @@ if [ "${ARCH}" == "arm64" ] ; then
|
|||
exit 0
|
||||
fi
|
||||
# Signal only releases its desktop app under the xenial release, however it is compatible with all versions of Debian and Ubuntu that we support.
|
||||
wget -O- https://updates.signal.org/desktop/apt/keys.asc | apt-key add -
|
||||
echo "deb [arch=${ARCH}] https://updates.signal.org/desktop/apt xenial main" | tee -a /etc/apt/sources.list.d/signal-xenial.list
|
||||
# apt-key add is deprecated in trixie and later, use keyrings instead
|
||||
if grep -q "trixie" /etc/os-release; then
|
||||
mkdir -p /usr/share/keyrings
|
||||
wget -O- https://updates.signal.org/desktop/apt/keys.asc | gpg --dearmor | tee /usr/share/keyrings/signal-desktop-keyring.gpg > /dev/null
|
||||
echo 'deb [arch=amd64 signed-by=/usr/share/keyrings/signal-desktop-keyring.gpg] https://updates.signal.org/desktop/apt xenial main' |\
|
||||
tee /etc/apt/sources.list.d/signal-xenial.list
|
||||
else
|
||||
wget -O- https://updates.signal.org/desktop/apt/keys.asc | apt-key add -
|
||||
echo "deb [arch=${ARCH}] https://updates.signal.org/desktop/apt xenial main" | tee -a /etc/apt/sources.list.d/signal-xenial.list
|
||||
fi
|
||||
|
||||
apt-get update
|
||||
apt-get install -y signal-desktop
|
||||
|
||||
|
|
|
|||
|
|
@ -3,11 +3,20 @@ set -ex
|
|||
|
||||
# Install Sublime Text
|
||||
apt-get update
|
||||
wget -qO - https://download.sublimetext.com/sublimehq-pub.gpg | apt-key add -
|
||||
apt-get install -y apt-transport-https
|
||||
echo "deb https://download.sublimetext.com/ apt/stable/" | tee /etc/apt/sources.list.d/sublime-text.list
|
||||
apt-get update
|
||||
apt-get install -y sublime-text
|
||||
|
||||
# apt-key is deprecated in trixie and later, use keyrings instead
|
||||
if grep -q "trixie" /etc/os-release; then
|
||||
mkdir -p /usr/share/keyrings
|
||||
wget -qO - https://download.sublimetext.com/sublimehq-pub.gpg | tee /etc/apt/keyrings/sublimehq-pub.asc > /dev/null
|
||||
echo -e 'Types: deb\nURIs: https://download.sublimetext.com/\nSuites: apt/stable/\nSigned-By: /etc/apt/keyrings/sublimehq-pub.asc' | tee /etc/apt/sources.list.d/sublime-text.sources
|
||||
apt-get update && apt-get install -y sublime-text
|
||||
else
|
||||
wget -qO - https://download.sublimetext.com/sublimehq-pub.gpg | apt-key add -
|
||||
echo "deb https://download.sublimetext.com/ apt/stable/" | tee /etc/apt/sources.list.d/sublime-text.list
|
||||
apt-get update
|
||||
apt-get install -y sublime-text
|
||||
fi
|
||||
|
||||
# Desktop icon
|
||||
cp /usr/share/applications/sublime_text.desktop $HOME/Desktop/
|
||||
|
|
|
|||
|
|
@ -4,8 +4,8 @@ set -ex
|
|||
# Install Telegram
|
||||
ARCH=$(arch | sed 's/aarch64/arm64/g' | sed 's/x86_64/amd64/g')
|
||||
if [ "${ARCH}" == "arm64" ] ; then
|
||||
# Telegram is not available for noble aarch64
|
||||
if grep -q "VERSION_CODENAME=noble" /etc/os-release; then
|
||||
# Telegram is not available for noble and trixie aarch64
|
||||
if grep -q "VERSION_CODENAME=noble" /etc/os-release || grep -q "VERSION_CODENAME=trixie" /etc/os-release; then
|
||||
exit 0
|
||||
fi
|
||||
apt-get update
|
||||
|
|
|
|||
|
|
@ -9,13 +9,21 @@ if [ "${ARCH}" == "arm64" ] ; then
|
|||
fi
|
||||
|
||||
# Install terraform
|
||||
curl -fsSL https://apt.releases.hashicorp.com/gpg | apt-key add -
|
||||
echo \
|
||||
"deb [arch=$(dpkg --print-architecture)] https://apt.releases.hashicorp.com $(lsb_release -cs) main" \
|
||||
# apt-key add is deprecated in trixie and later, use keyrings instead
|
||||
# trixie does not have a release, so use bookworm temporarily
|
||||
if grep -q "trixie" /etc/os-release; then
|
||||
mkdir -p /usr/share/keyrings
|
||||
curl -fsSL https://apt.releases.hashicorp.com/gpg | gpg --dearmor | tee /usr/share/keyrings/hashicorp-archive-keyring.gpg > /dev/null
|
||||
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/hashicorp-archive-keyring.gpg] https://apt.releases.hashicorp.com bookworm main" \
|
||||
> /etc/apt/sources.list.d/hashicorp.list
|
||||
else
|
||||
curl -fsSL https://apt.releases.hashicorp.com/gpg | apt-key add -
|
||||
echo \
|
||||
"deb [arch=$(dpkg --print-architecture)] https://apt.releases.hashicorp.com $(lsb_release -cs) main" \
|
||||
> /etc/apt/sources.list.d/hashicorp.list
|
||||
fi
|
||||
apt-get update
|
||||
apt-get install -y \
|
||||
terraform
|
||||
apt-get install -y terraform
|
||||
|
||||
# Cleanup
|
||||
chown -R 1000:0 $HOME
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue