Merge skylab and fpf dev environments into single unified env

This commit is contained in:
2025-08-18 13:35:27 -06:00
parent b75e06638c
commit 8b0490cab5
7 changed files with 168 additions and 19 deletions

View File

@@ -11,15 +11,53 @@ ENV TOOLBOX_ENV=${ENV_NAME}
LABEL local.${ENV_NAME}.nonce=${BUILD_NONCE} LABEL local.${ENV_NAME}.nonce=${BUILD_NONCE}
ADD load-user-bashrc.sh /etc/profile.d/99-load-user-bashrc.sh 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 \ RUN dnf install --assumeyes \
powerline \ 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 \
libpq-devel \
libzstd-devel \
lz4-devel \
make \ make \
jq oathtool \
openssl-devel \
packer \
pinentry \
podman-remote \
powerline \
python3-devel \
python3.10 \
python3.10-devel \
python3.11 \
python3.11-devel \
python3.12 \
python3.12-devel \
python3.13 \
python3.9 \
ShellCheck \
xxhash-devel
ADD install-codium.bash /tmp/install-codium.bash ADD install-rpms.bash /tmp/install-rpms.bash
RUN /tmp/install-codium.bash RUN bash /tmp/install-rpms.bash && rm -rf /tmp/install-rpms.bash
RUN dnf install --assumeyes \
/tmp/rpms/*.rpm ADD install-bins.bash /tmp/install-bins.bash
RUN rm -rf /tmp/install-codium.bash RUN bash /tmp/install-bins.bash && rm -rf /tmp/install-bins.bash
RUN rm -rf /tmp/rpms
RUN ln -s /usr/bin/podman-remote /usr/bin/podman

7
google-cloud-sdk.repo Normal file
View 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
View 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/

View File

@@ -1,11 +0,0 @@
#!/usr/bin/env bash
set -e
latest_codium=$(curl -sSL https://api.github.com/repos/VSCodium/vscodium/releases/latest | jq -r '.tag_name')
mkdir -p /tmp/rpms
echo "Downloading vscodium-${latest_codium}..."
curl -sSLo /tmp/rpms/codium.rpm "https://github.com/VSCodium/vscodium/releases/download/${latest_codium}/codium-${latest_codium}-el9.x86_64.rpm"

30
install-rpms.bash Executable file
View 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
View 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

23
opentofu.repo Normal file
View File

@@ -0,0 +1,23 @@
[opentofu]
name=opentofu
baseurl=https://packages.opentofu.org/opentofu/tofu/rpm_any/rpm_any/\$basearch
repo_gpgcheck=0
gpgcheck=1
enabled=1
gpgkey=https://get.opentofu.org/opentofu.gpg
https://packages.opentofu.org/opentofu/tofu/gpgkey
sslverify=1
sslcacert=/etc/pki/tls/certs/ca-bundle.crt
metadata_expire=300
[opentofu-source]
name=opentofu-source
baseurl=https://packages.opentofu.org/opentofu/tofu/rpm_any/rpm_any/SRPMS
repo_gpgcheck=0
gpgcheck=1
enabled=1
gpgkey=https://get.opentofu.org/opentofu.gpg
https://packages.opentofu.org/opentofu/tofu/gpgkey
sslverify=1
sslcacert=/etc/pki/tls/certs/ca-bundle.crt
metadata_expire=300