alnoda-workspaces/workspaces/kubespray-workspace/Dockerfile

59 lines
3.2 KiB
Docker
Raw Normal View History

2022-09-17 20:23:45 +12:00
FROM lnoda/ansible-terraform-workspace:4.0
2022-06-21 06:24:28 +12:00
2022-09-17 20:23:45 +12:00
RUN sudo apt-get -y update \
2022-06-21 06:24:28 +12:00
&& echo "------------------------------------------------------ Kubectl" \
&& cd /tmp && curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl" \
2022-09-17 20:23:45 +12:00
&& install kubectl /home/abc/.local/bin/kubectl \
2022-06-21 06:24:28 +12:00
&& rm /tmp/kubectl \
&& echo "------------------------------------------------------ Helm" \
&& cd /tmp && wget https://get.helm.sh/helm-v3.9.0-linux-386.tar.gz \
&& tar -zxvf /tmp/helm-v3.9.0-linux-386.tar.gz \
&& chmod +x /tmp/linux-386/helm \
2022-09-17 20:23:45 +12:00
&& mv /tmp/linux-386/helm /home/abc/.local/bin/helm \
2022-06-21 06:24:28 +12:00
&& rm /tmp/helm-v3.9.0-linux-386.tar.gz \
&& rm -r /tmp/linux-386 \
&& echo "------------------------------------------------------ K9s" \
&& mkdir /tmp/k9s \
&& cd /tmp/k9s && wget https://github.com/derailed/k9s/releases/download/v0.25.18/k9s_Linux_x86_64.tar.gz \
&& tar -zxvf /tmp/k9s/k9s_Linux_x86_64.tar.gz \
&& chmod +x /tmp/k9s/k9s \
2022-09-17 20:23:45 +12:00
&& mv /tmp/k9s/k9s /home/abc/.local/bin/k9s \
2022-06-21 06:24:28 +12:00
&& rm -r /tmp/k9s \
&& echo "------------------------------------------------------ Octant" \
&& mkdir -p /tmp/octant \
&& cd /tmp/octant && wget https://github.com/vmware-tanzu/octant/releases/download/v0.25.1/octant_0.25.1_Linux-64bit.tar.gz \
&& tar -zxvf /tmp/octant/octant_0.25.1_Linux-64bit.tar.gz \
&& chmod +x /tmp/octant/octant_0.25.1_Linux-64bit/octant \
2022-09-17 20:23:45 +12:00
&& mv /tmp/octant/octant_0.25.1_Linux-64bit/octant /home/abc/.local/bin/ \
&& rm -rf /tmp/octant
2022-06-21 06:24:28 +12:00
2022-09-17 20:23:45 +12:00
RUN echo "------------------------------------------------------ kubespray" \
2022-06-21 06:24:28 +12:00
&& git clone -b v2.19.0 --single-branch https://github.com/kubernetes-sigs/kubespray.git /home/project/kubespray \
&& pip install -r /home/project/kubespray/requirements-2.12.txt \
&& echo "------------------------------------------------------ Kube-shell" \
&& pipx install kube-shell \
&& echo "------------------------------------------------------ Krew" \
&& mkdir /tmp/krew \
&& cd /tmp/krew && wget https://github.com/kubernetes-sigs/krew/releases/download/v0.4.3/krew-linux_amd64.tar.gz \
&& tar -zxvf /tmp/krew/krew-linux_amd64.tar.gz \
&& chmod +x /tmp/krew/krew-linux_amd64 \
&& /tmp/krew/krew-linux_amd64 install krew \
&& rm -rf /tmp/krew/ \
&& echo "------------------------------------------------------ kubectl-aliases" \
&& cd /home/abc && wget https://raw.githubusercontent.com/ahmetb/kubectl-aliases/master/.kubectl_aliases \
&& echo '[ -f ~/.kubectl_aliases ] && source ~/.kubectl_aliases' >> /home/abc/.zshrc \
&& mkdir -p /home/abc/.ssh
ENV OCTANT_DISABLE_OPEN_BROWSER=1 \
2022-09-17 20:23:45 +12:00
OCTANT_LISTENER_ADDR=0.0.0.0:8035
ENV PATH="${KREW_ROOT:-$HOME/.krew}/bin:$PATH"
# Install additional codeserver extensions
RUN echo "------------------------------------------------------ extensions" \
&& code-server --install-extension ms-kubernetes-tools.vscode-kubernetes-tools \
&& code-server --install-extension ipedrazas.kubernetes-snippets
2022-06-21 06:24:28 +12:00
2022-09-17 20:23:45 +12:00
# Build Alnoda workspace
COPY --chown=abc:abc workspace /tmp/workspace
RUN pipx uninstall alnoda-wrk; pipx install alnoda-wrk; alnoda-wrk build /tmp/workspace && rm -rf /tmp/workspace