FROM alpine:3.12 RUN apk --no-cache add \ curl \ git \ libc6-compat \ openssh-client \ py3-pip \ py3-wheel \ python3 && \ pip install --upgrade pip==20.2.1 # Install a YAML Linter ARG YAML_LINT_VERSION=1.24.2 RUN pip install "yamllint==$YAML_LINT_VERSION" # Install Yamale YAML schema validator ARG YAMALE_VERSION=3.0.2 RUN pip install "yamale==$YAMALE_VERSION" # Install kubectl ARG KUBECTL_VERSION=v1.18.6 RUN curl -LO "https://storage.googleapis.com/kubernetes-release/release/$KUBECTL_VERSION/bin/linux/amd64/kubectl" && \ chmod +x kubectl && \ mv kubectl /usr/local/bin/ # Install Helm ARG helm_version=v2.17.0 LABEL helm_version=$helm_version RUN curl -LO "https://get.helm.sh/helm-$helm_version-linux-amd64.tar.gz" && \ mkdir -p "/usr/local/helm-$helm_version" && \ tar -xzf "helm-$helm_version-linux-amd64.tar.gz" -C "/usr/local/helm-$helm_version" && \ ln -s "/usr/local/helm-$helm_version/linux-amd64/helm" /usr/local/bin/helm && \ rm -f "helm-$helm_version-linux-amd64.tar.gz" COPY ./etc/chart_schema.yaml /etc/ct/chart_schema.yaml COPY ./etc/lintconf.yaml /etc/ct/lintconf.yaml COPY ct /usr/local/bin/ct # Ensure that the binary is available on path and is executable RUN ct --help