Merge skylab and fpf dev environments into single unified env
This commit is contained in:
@@ -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
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/
|
||||||
@@ -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
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
|
||||||
23
opentofu.repo
Normal file
23
opentofu.repo
Normal 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
|
||||||
Reference in New Issue
Block a user