devops: update
This commit is contained in:
parent
1c0c3d20a1
commit
09cc328000
52
Dockerfile
52
Dockerfile
@ -5,13 +5,17 @@ USER root
|
|||||||
|
|
||||||
WORKDIR /app
|
WORKDIR /app
|
||||||
|
|
||||||
COPY rootfs/ /
|
RUN export ARCH=$(dpkg --print-architecture) \
|
||||||
|
&& apt-get update -qq -y \
|
||||||
RUN apt update -qq -y >/dev/null 2>&1 \
|
&& apt-get install -qq -y ca-certificates \
|
||||||
&& apt install -qq -y \
|
&& echo "deb [arch=${ARCH} trusted=yes] https://download.docker.com/linux/debian $(. /etc/os-release && echo "$VERSION_CODENAME") stable" \
|
||||||
|
| tee /etc/apt/sources.list.d/docker.list \
|
||||||
|
&& apt-get update -qq -y \
|
||||||
|
&& apt-get install -qq -y \
|
||||||
jq \
|
jq \
|
||||||
git \
|
git \
|
||||||
zip \
|
zip \
|
||||||
|
pipx \
|
||||||
curl \
|
curl \
|
||||||
bash \
|
bash \
|
||||||
make \
|
make \
|
||||||
@ -26,17 +30,16 @@ RUN apt update -qq -y >/dev/null 2>&1 \
|
|||||||
python3-pip \
|
python3-pip \
|
||||||
python3-apt \
|
python3-apt \
|
||||||
python3-distutils \
|
python3-distutils \
|
||||||
&& apt autoclean -y \
|
&& apt-get autoclean -y \
|
||||||
&& apt autoremove -y \
|
&& apt-get autoremove -y
|
||||||
&& rm -rf /var/lib/apt/lists/*
|
|
||||||
|
|
||||||
RUN git clone --depth=1 https://github.com/tfutils/tfenv.git ./tfenv \
|
RUN git clone --depth=1 https://github.com/tfutils/tfenv.git ./tfenv \
|
||||||
&& chmod +x ./tfenv/bin/* \
|
&& chmod +x ./tfenv/bin/* \
|
||||||
&& mv ./tfenv/bin/* /usr/local/bin
|
&& ln -s /app/tfenv/bin/* /usr/local/bin
|
||||||
|
|
||||||
RUN git clone --depth=1 https://github.com/cunymatthieu/tgenv.git ./tgenv \
|
RUN git clone --depth=1 https://github.com/cunymatthieu/tgenv.git ./tgenv \
|
||||||
&& chmod +x ./tgenv/bin/* \
|
&& chmod +x ./tgenv/bin/* \
|
||||||
&& mv ./tgenv/bin/* /usr/local/bin
|
&& ln -s /app/tgenv/bin/* /usr/local/bin
|
||||||
|
|
||||||
RUN curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip" \
|
RUN curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip" \
|
||||||
&& unzip awscliv2.zip \
|
&& unzip awscliv2.zip \
|
||||||
@ -46,24 +49,25 @@ RUN curl -sL https://aka.ms/InstallAzureCLIDeb | bash
|
|||||||
|
|
||||||
ENV N_PREFIX=/app/n
|
ENV N_PREFIX=/app/n
|
||||||
RUN curl -L https://bit.ly/n-install | bash -s -- -y
|
RUN curl -L https://bit.ly/n-install | bash -s -- -y
|
||||||
ENV PATH=/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/app/n/bin
|
ENV PATH=/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/app/n/bin:/root/.local/bin
|
||||||
|
|
||||||
|
RUN export ARCH=$(dpkg --print-architecture) \
|
||||||
RUN curl -s https://api.github.com/repos/little-angry-clouds/kubernetes-binaries-managers/releases/latest \
|
&& export SYSTEM=$(uname | tr '[:upper:]' '[:lower:]' ) \
|
||||||
| jq -r '.assets[] | select(.browser_download_url | contains ("linux_amd64")) | .browser_download_url' \
|
&& curl -s https://api.github.com/repos/little-angry-clouds/kubernetes-binaries-managers/releases/latest \
|
||||||
| xargs curl -sLo kbenv.tar.gz \
|
| jq -r '.assets[] | select(.browser_download_url | contains ("'${SYSTEM}_${ARCH}'")) | .browser_download_url' \
|
||||||
|
| xargs curl -s -L -o kbenv.tar.gz \
|
||||||
&& tar -zxvf kbenv.tar.gz \
|
&& tar -zxvf kbenv.tar.gz \
|
||||||
&& mv kubectl-linux-amd64/kbenv /usr/bin/kbenv \
|
&& mv kubectl-${SYSTEM}-${ARCH}/kbenv /usr/bin/kbenv \
|
||||||
&& mv kubectl-linux-amd64/kubectl-wrapper /usr/bin/kubectl \
|
&& mv kubectl-${SYSTEM}-${ARCH}/kubectl-wrapper /usr/bin/kubectl \
|
||||||
&& mv helm-linux-amd64/helmenv /usr/bin/helmenv \
|
&& mv helm-${SYSTEM}-${ARCH}/helmenv /usr/bin/helmenv \
|
||||||
&& mv helm-linux-amd64/helm-wrapper /usr/bin/helm
|
&& mv helm-${SYSTEM}-${ARCH}/helm-wrapper /usr/bin/helm
|
||||||
|
|
||||||
ENV KUBECTL_VERSION=1.28.2
|
ENV KUBECTL_VERSION=1.28.2
|
||||||
ENV HELM_VERSION=3.15.4
|
ENV HELM_VERSION=3.15.4
|
||||||
RUN /usr/bin/kbenv install ${KUBECTL_VERSION} \
|
RUN kbenv install ${KUBECTL_VERSION} \
|
||||||
&& /usr/bin/kbenv use ${KUBECTL_VERSION} \
|
&& kbenv use ${KUBECTL_VERSION} \
|
||||||
&& /usr/bin/helmenv install ${HELM_VERSION} \
|
&& helmenv install ${HELM_VERSION} \
|
||||||
&& /usr/bin/helmenv use ${HELM_VERSION}
|
&& helmenv use ${HELM_VERSION}
|
||||||
|
|
||||||
ENV TF_VERSION=1.9.5
|
ENV TF_VERSION=1.9.5
|
||||||
RUN tfenv install ${TF_VERSION} \
|
RUN tfenv install ${TF_VERSION} \
|
||||||
@ -74,5 +78,7 @@ RUN tgenv install ${TG_VERSION} \
|
|||||||
&& tgenv use ${TG_VERSION}
|
&& tgenv use ${TG_VERSION}
|
||||||
|
|
||||||
ENV ANSIBLE_VERSION=10.4.0
|
ENV ANSIBLE_VERSION=10.4.0
|
||||||
RUN pip3 install ansible==${ANSIBLE_VERSION}
|
RUN pipx install ansible==${ANSIBLE_VERSION}
|
||||||
|
ENV PATH=/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/app/n/bin:/root/.local/bin:/root/.local/pipx/venvs/ansible/bin
|
||||||
|
|
||||||
|
COPY rootfs/ /
|
||||||
|
|||||||
7
build.sh
Executable file
7
build.sh
Executable file
@ -0,0 +1,7 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
docker buildx build \
|
||||||
|
--tag rbvtopudding/devops:latest \
|
||||||
|
--push \
|
||||||
|
--platform linux/arm64/v8,linux/amd64 \
|
||||||
|
.
|
||||||
@ -14,7 +14,7 @@ fact_caching = community.general.yaml
|
|||||||
fact_caching_timeout = 7200
|
fact_caching_timeout = 7200
|
||||||
fact_caching_connection = /tmp/ansible/cache
|
fact_caching_connection = /tmp/ansible/cache
|
||||||
|
|
||||||
stdout_callback = dense
|
stdout_callback = debug
|
||||||
callbacks_enabled = timer, profile_tasks
|
callbacks_enabled = timer, profile_tasks
|
||||||
callback_whitelist = timer, profile_tasks
|
callback_whitelist = timer, profile_tasks
|
||||||
|
|
||||||
|
|||||||
@ -1 +0,0 @@
|
|||||||
deb https://download.docker.com/linux/debian "bookworm" stable
|
|
||||||
Loading…
x
Reference in New Issue
Block a user