Use repository for devcontainer storage

This commit is contained in:
kjeld Schouten-Lebbing 2021-09-28 15:41:31 +02:00
parent f9b83010ea
commit 77a67ccc29
No known key found for this signature in database
GPG Key ID: 4CDAD4A532BC1EDB
1 changed files with 1 additions and 111 deletions

View File

@ -1,111 +1 @@
# [Choice] Ruby version: 2, 2.7, 2.6, 2.5
ARG VARIANT="2"
# hadolint ignore=DL3007
FROM quay.io/helmpack/chart-releaser:v1.2.1 AS cr
# hadolint ignore=DL3007
FROM jnorwood/helm-docs:v1.5.0 AS hd
# hadolint ignore=DL3007
FROM quay.io/git-chglog/git-chglog:0.15.0 AS gcl
# See here for image contents: https://github.com/microsoft/vscode-dev-containers/tree/v0.154.0/containers/ruby/.devcontainer/base.Dockerfile
FROM mcr.microsoft.com/vscode/devcontainers/ruby:0-${VARIANT}
ARG HELM_VERSION="3.5.4"
ARG CT_VERSION=3.3.1
ENV DEBIAN_FRONTEND=noninteractive
ENV PYTHONUNBUFFERED 1
SHELL ["/bin/bash", "-o", "pipefail", "-c"]
# hadolint ignore=DL3008,DL3015,SC2086,SC2155
RUN --mount=type=bind,from=cr,source=/usr/local/bin,target=/crbin \
cp /crbin/cr /usr/local/bin/cr
# hadolint ignore=DL3008,DL3015,SC2086,SC2155
RUN --mount=type=bind,from=hd,source=/usr/bin/,target=/hdbin \
cp /hdbin/helm-docs /usr/local/bin/helm-docs
# hadolint ignore=DL3008,DL3015,SC2086,SC2155
RUN --mount=type=bind,from=gcl,source=/usr/local/bin,target=/gclbin \
cp /gclbin/git-chglog /usr/local/bin/git-chglog
RUN \
apt-get update \
&& \
apt-get -y install --no-install-recommends \
libonig-dev \
gnupg2 \
&& \
cd /tmp && \
wget https://raw.githubusercontent.com/truecharts/apps/master/Gemfile && \
cd - && \
sh -c "$(curl --location https://taskfile.dev/install.sh)" -- -d -b /usr/local/bin \
&& \
curl -o /tmp/helm.tar.gz "https://get.helm.sh/helm-v${HELM_VERSION}-linux-$(dpkg --print-architecture).tar.gz" \
&& tar xvzf /tmp/helm.tar.gz -C /usr/local/bin --strip-components 1 "linux-$(dpkg --print-architecture)/helm" \
&& chmod +x /usr/local/bin/helm \
&& \
curl -o /tmp/ct.tar.gz -L "https://github.com/helm/chart-testing/releases/download/v${CT_VERSION}/chart-testing_${CT_VERSION}_linux_$(dpkg --print-architecture).tar.gz" \
&& mkdir -p /etc/ct \
&& tar xvzf /tmp/ct.tar.gz -C /usr/local/bin "ct" \
&& tar xvzf /tmp/ct.tar.gz --strip-components=1 -C /etc/ct "etc/" \
&& chmod +x /usr/local/bin/ct \
&& \
bundle config set system 'true' \
&& bundle install --gemfile /tmp/Gemfile \
&& \
rm -Rf \
/tmp/Gemfile \
/tmp/Gemfile.lock \
/tmp/helm.tar.gz \
/tmp/ct.tar.gz
RUN \
apt-get update \
&& \
apt-get -y install --no-install-recommends \
python3-pip \
python3-setuptools \
debhelper-compat \
dh-python \
python3-dev \
devscripts \
python3-jsonschema \
python3-semantic-version \
python3-kubernetes \
python3-yaml \
&& \
cd /tmp && \
git clone https://github.com/truenas/catalog_validation.git && \
cd - && \
cd /tmp/catalog_validation && \
git checkout $(git describe --tags $(git rev-list --tags --max-count=1)) && \
pip install -U . && \
cd - && \
rm -Rf \
/tmp/catalog_validation
RUN \
apt-get update \
&& \
apt-get -y install --no-install-recommends \
python3-pip \
&& \
pip3 install \
pre-commit \
yamale \
yamllint \
&& \
mkdir /tmp/precommit/ && \
cd /tmp/precommit && \
wget https://raw.githubusercontent.com/truecharts/apps/master/.pre-commit-config.yaml && \
git init . && \
pre-commit install-hooks && \
echo "installed pre-commit hooks:" && \
ls ~/.cache/pre-commit/* && \
cd - && \
rm -Rf \
/tmp/precommit
FROM ghcr.io/truecharts/devcontainer:v2.0.0