Compare commits
10 Commits
8ce518300c
...
3085ead539
| Author | SHA1 | Date | |
|---|---|---|---|
| 3085ead539 | |||
| 3bc74e4180 | |||
| 302ffeb243 | |||
| dce5fa62d9 | |||
| 24c777e463 | |||
| e9d610352b | |||
| fc156d888e | |||
| 8b0490cab5 | |||
| b75e06638c | |||
| e8618ebd0a |
@@ -11,7 +11,59 @@ ENV TOOLBOX_ENV=${ENV_NAME}
|
||||
LABEL local.${ENV_NAME}.nonce=${BUILD_NONCE}
|
||||
|
||||
ADD load-user-bashrc.sh /etc/profile.d/99-load-user-bashrc.sh
|
||||
ADD google-cloud-sdk.repo /etc/yum.repos.d/google-cloud-sdk.repo
|
||||
ADD kubernetes.repo /etc/yum.repos.d/kubernetes.repo
|
||||
ADD https://rpm.releases.hashicorp.com/fedora/hashicorp.repo /etc/yum.repos.d/hashicorp.repo
|
||||
ADD https://cli.github.com/packages/rpm/gh-cli.repo /etc/yum.repos.d/github-cli.repo
|
||||
ADD https://download.docker.com/linux/fedora/docker-ce.repo /etc/yum.repos.d/docker-ce.repo
|
||||
|
||||
RUN dnf install --assumeyes \
|
||||
bind-utils \
|
||||
direnv \
|
||||
docker-ce-cli \
|
||||
docker-buildx-plugin \
|
||||
docker-compose-plugin \
|
||||
gcc \
|
||||
gcc-c++ \
|
||||
gh \
|
||||
golang \
|
||||
google-cloud-cli \
|
||||
google-cloud-sdk-gke-gcloud-auth-plugin \
|
||||
jq \
|
||||
kubectl \
|
||||
libacl-devel \
|
||||
libffi-devel \
|
||||
libpq-devel \
|
||||
libvirt-daemon-driver-qemu \
|
||||
libzstd-devel \
|
||||
lz4-devel \
|
||||
make \
|
||||
net-tools \
|
||||
oathtool \
|
||||
openssl-devel \
|
||||
packer \
|
||||
pinentry \
|
||||
podman-remote \
|
||||
postgresql \
|
||||
powerline \
|
||||
make
|
||||
python3-devel \
|
||||
python3.10 \
|
||||
python3.10-devel \
|
||||
python3.11 \
|
||||
python3.11-devel \
|
||||
python3.12 \
|
||||
python3.12-devel \
|
||||
python3.13 \
|
||||
python3.9 \
|
||||
ShellCheck \
|
||||
virsh \
|
||||
virt-install \
|
||||
xxhash-devel
|
||||
|
||||
ADD install-rpms.bash /tmp/install-rpms.bash
|
||||
RUN bash /tmp/install-rpms.bash && rm -rf /tmp/install-rpms.bash
|
||||
|
||||
ADD install-bins.bash /tmp/install-bins.bash
|
||||
RUN bash /tmp/install-bins.bash && rm -rf /tmp/install-bins.bash
|
||||
|
||||
RUN ln -s /usr/bin/podman-remote /usr/bin/podman
|
||||
|
||||
7
google-cloud-sdk.repo
Normal file
7
google-cloud-sdk.repo
Normal file
@@ -0,0 +1,7 @@
|
||||
[google-cloud-cli]
|
||||
name=Google Cloud CLI
|
||||
baseurl=https://packages.cloud.google.com/yum/repos/cloud-sdk-el9-x86_64
|
||||
enabled=1
|
||||
gpgcheck=1
|
||||
repo_gpgcheck=0
|
||||
gpgkey=https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg
|
||||
56
install-bins.bash
Executable file
56
install-bins.bash
Executable file
@@ -0,0 +1,56 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
set -e
|
||||
|
||||
latest_doctl=$(curl -sSL https://api.github.com/repos/digitalocean/doctl/releases/latest | jq -r '.tag_name')
|
||||
latest_tflint=$(curl -sSL https://api.github.com/repos/terraform-linters/tflint/releases/latest | jq -r '.tag_name')
|
||||
latest_butane=$(curl -sSL https://api.github.com/repos/coreos/butane/releases/latest | jq -r '.tag_name')
|
||||
latest_act=$(curl -sSL https://api.github.com/repos/nektos/act/releases/latest | jq -r '.tag_name')
|
||||
latest_hadolint=$(curl -sSL https://api.github.com/repos/hadolint/hadolint/releases/latest | jq -r '.tag_name')
|
||||
|
||||
mkdir -p /tmp/bins
|
||||
|
||||
working=$(mktemp -d)
|
||||
doctl_url="https://github.com/digitalocean/doctl/releases/download/${latest_doctl}/doctl-${latest_doctl:1}-linux-amd64.tar.gz"
|
||||
echo "Downloading doctl-${latest_doctl}: ${doctl_url}"
|
||||
curl --fail-with-body -sSLo "${working}/doctl.tar.gz" "${doctl_url}"
|
||||
cd "${working}"
|
||||
tar -xf doctl.tar.gz
|
||||
mv "${working}/doctl" /tmp/bins/doctl
|
||||
chmod +x /tmp/bins/doctl
|
||||
cd ~
|
||||
rm -rf "${working}"
|
||||
|
||||
working=$(mktemp -d)
|
||||
tflint_url="https://github.com/terraform-linters/tflint/releases/download/${latest_tflint}/tflint_linux_amd64.zip"
|
||||
echo "Downloading tflint-${latest_tflint}: ${tflint_url}"
|
||||
curl --fail-with-body -sSLo "${working}/tflint.zip" "${tflint_url}"
|
||||
cd "${working}"
|
||||
unzip tflint.zip
|
||||
mv tflint /tmp/bins/tflint
|
||||
chmod +x /tmp/bins/tflint
|
||||
cd ~
|
||||
rm -rf "${working}"
|
||||
|
||||
butane_url="https://github.com/coreos/butane/releases/download/${latest_butane}/butane-x86_64-unknown-linux-gnu"
|
||||
echo "Downloading butane-${latest_butane}: ${butane_url}"
|
||||
curl --fail-with-body -sSLo "/tmp/bins/butane" "${butane_url}"
|
||||
chmod +x /tmp/bins/butane
|
||||
|
||||
working=$(mktemp -d)
|
||||
act_url="https://github.com/nektos/act/releases/download/${latest_act}/act_Linux_x86_64.tar.gz"
|
||||
echo "Downloading act-${latest_act}: ${act_url}"
|
||||
curl --fail-with-body -sSLo "${working}/act.tar.gz" "${act_url}"
|
||||
cd "${working}"
|
||||
tar -xf act.tar.gz
|
||||
mv "${working}/act" /tmp/bins/act
|
||||
chmod +x /tmp/bins/act
|
||||
cd ~
|
||||
rm -rf "${working}"
|
||||
|
||||
hadolint_url="https://github.com/hadolint/hadolint/releases/download/${latest_hadolint}/hadolint-Linux-x86_64"
|
||||
echo "Downloading hadolint-${latest_hadolint}: ${hadolint_url}"
|
||||
curl --fail-with-body -sSLo "/tmp/bins/hadolint" "${hadolint_url}"
|
||||
chmod +x /tmp/bins/hadolint
|
||||
|
||||
mv /tmp/bins/* /usr/local/bin/
|
||||
30
install-rpms.bash
Executable file
30
install-rpms.bash
Executable file
@@ -0,0 +1,30 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
set -e
|
||||
|
||||
latest_tenv=$(curl -sSL https://api.github.com/repos/tofuutils/tenv/releases/latest | jq -r '.tag_name')
|
||||
latest_sops=$(curl -sSL https://api.github.com/repos/getsops/sops/releases/latest | jq -r '.tag_name')
|
||||
latest_cosign=$(curl -sSL https://api.github.com/repos/sigstore/cosign/releases/latest | jq -r '.tag_name')
|
||||
latest_codium=$(curl -sSL https://api.github.com/repos/VSCodium/vscodium/releases/latest | jq -r '.tag_name')
|
||||
|
||||
mkdir -p /tmp/rpms
|
||||
|
||||
tenv_url="https://github.com/tofuutils/tenv/releases/download/${latest_tenv}/tenv_${latest_tenv}_amd64.rpm"
|
||||
echo "Downloading tenv-${latest_tenv}: ${tenv_url}"
|
||||
curl --fail-with-body -sSLo /tmp/rpms/tenv.rpm "${tenv_url}"
|
||||
|
||||
sops_url="https://github.com/getsops/sops/releases/download/${latest_sops}/sops-${latest_sops:1}-1.x86_64.rpm"
|
||||
echo "Downloading sops-${latest_sops}: ${sops_url}"
|
||||
curl --fail-with-body -sSLo /tmp/rpms/sops.rpm "${sops_url}"
|
||||
|
||||
cosign_url="https://github.com/sigstore/cosign/releases/download/${latest_cosign}/cosign-${latest_cosign:1}-1.x86_64.rpm"
|
||||
echo "Downloading cosign-${latest_cosign}: ${cosign_url}"
|
||||
curl --fail-with-body -sSLo /tmp/rpms/cosign.rpm "${cosign_url}"
|
||||
|
||||
codium_url="https://github.com/VSCodium/vscodium/releases/download/${latest_codium}/codium-${latest_codium}-el8.x86_64.rpm"
|
||||
echo "Downloading vscodium-${latest_codium}: ${codium_url}"
|
||||
curl -sSLo /tmp/rpms/codium.rpm "${codium_url}"
|
||||
|
||||
dnf install --assumeyes /tmp/rpms/*.rpm
|
||||
|
||||
rm -rf /tmp/rpms
|
||||
6
kubernetes.repo
Normal file
6
kubernetes.repo
Normal file
@@ -0,0 +1,6 @@
|
||||
[kubernetes]
|
||||
name=Kubernetes
|
||||
baseurl=https://pkgs.k8s.io/core:/stable:/v1.32/rpm/
|
||||
enabled=1
|
||||
gpgcheck=1
|
||||
gpgkey=https://pkgs.k8s.io/core:/stable:/v1.32/rpm/repodata/repomd.xml.key
|
||||
@@ -9,7 +9,7 @@
|
||||
# stuck in a loop)
|
||||
|
||||
if [ -f /var/home/"${USER}"/.bashrc ] && [ "${HOME}" != "/var/home/${USER}" ]; then
|
||||
HOME=/var/home/"${USER}" source /var/home/"${USER}"/.bashrc;
|
||||
source /var/home/"${USER}"/.bashrc;
|
||||
fi
|
||||
|
||||
if [ -f "${HOME}"/.bashrc ]; then
|
||||
|
||||
Reference in New Issue
Block a user