diff --git a/sink/Dockerfile b/sink/Dockerfile new file mode 100644 index 0000000..4bd1571 --- /dev/null +++ b/sink/Dockerfile @@ -0,0 +1,51 @@ +FROM d:base + +ENV TERM=xterm-256color +ENV COLORTERM=truecolor + +ENV LANG=en_US.UTF-8 +ENV LC_ALL=en_US.UTF-8 +ENV PATH=/opt/flutter/bin:$PATH + +# Update +RUN sudo pacman -Syu --noconfirm +RUN yay -Syu --noconfirm + +# Update and install base packages +RUN sudo pacman -Syu --noconfirm && \ + sudo pacman -S --noconfirm \ + git openssh sudo base-devel curl wget unzip gnupg \ + go python nodejs npm php ruby jekyll \ + gtk3 clang cmake gcc make ninja pkgconf \ + docker docker-compose \ + terraform \ + kubectl \ + helm \ + k9s + +RUN yay -Sy --noconfirm \ + opentofu + +# Install Flutter manually (not in pacman) +# GPT Full flutter support command ehh +RUN sudo pacman -S --noconfirm \ + clang \ + ninja \ + cmake \ + gtk3 \ + pkgconf \ + libepoxy \ + libappindicator-gtk3 \ + curl \ + unzip + +RUN sudo mkdir /opt/flutter && sudo chown -R x:x /opt/flutter && \ + git clone https://github.com/flutter/flutter.git /opt/flutter && \ + /opt/flutter/bin/flutter doctor + +# Install Argo CD +RUN sudo curl -sSL -o /usr/local/bin/argocd https://github.com/argoproj/argo-cd/releases/latest/download/argocd-linux-amd64 && \ + sudo chmod +x /usr/local/bin/argocd + + +ENTRYPOINT ["/entrypoint.sh"] diff --git a/sink/entrypoint.sh b/sink/entrypoint.sh new file mode 100644 index 0000000..456a20e --- /dev/null +++ b/sink/entrypoint.sh @@ -0,0 +1,16 @@ +#!/bin/bash + +# Start the ssh-agent if it's not already running +if [ ! -S /tmp/ssh-agent.sock ]; then + eval $(ssh-agent -a /tmp/ssh-agent.sock) +fi + +# Export environment variables globally +export SSH_AUTH_SOCK=/tmp/ssh-agent.sock +echo "export SSH_AUTH_SOCK=/tmp/ssh-agent.sock" >> /etc/profile.d/ssh-agent.sh + +# Optionally preload keys +# ssh-add /path/to/id_rsa + +# Start tmux +SSH_AUTH_SOCK=/tmp/ssh-agent.sock tmux