mirror of
https://github.com/weaveworks/scope.git
synced 2026-03-04 10:41:14 +00:00
1)backend/Dockerfile 2) probe/endpoint/dns_snooper.go
3) client/Dockerfile 4) docker/Dockerfile.cloud-agent
5) probe/process/walker_linux_test.go & 6) tools/lint
1)'backend/Dockerfile' : Conditional added so that the cross-compiling should
be done on amd64. Also removed support for sh-lint for ppc64le for now.
As the version for shfmt mentioned in the dockerfile is not available for
ppc64le and the later version does't work fine with existing application.
2)'probe/endpoint/dns_snooper.go' : Renamed this file so as to reuse for ppc64le
and added a build-constraint. Now this file will be build for amd64 on linux
and ppc64le on linux.
3)'client/Dockerfile' : Modified the version of the base image for node from
8.4.0 to 8.11, as this version supports multiarch.
4)'docker/Dockerfile.cloud-agent' : Modified the version of the base image for
golang from 1.10.2-strech to 1.10.2, which supports multiarch.
5) 'probe/process/walker_linux_test.go' : Test fixed to run for ppc64le,
modified the code to accept RSSBytes based on pageSize value per
architecture, instead of hard-coded values.
6)'tools/lint' : Modified the file to skip the sh-lint implementation for ppc64le.
PR #3231
47 lines
1.8 KiB
Docker
47 lines
1.8 KiB
Docker
FROM golang:1.10.2
|
|
ENV SCOPE_SKIP_UI_ASSETS true
|
|
RUN set -eux; \
|
|
export arch_val="$(dpkg --print-architecture)"; \
|
|
apt-get update && \
|
|
if [ "$arch_val" = "amd64" ]; then \
|
|
apt-get install -y libpcap-dev python-requests time file shellcheck git gcc-arm-linux-gnueabihf curl build-essential python-pip; \
|
|
else \
|
|
apt-get install -y libpcap-dev python-requests time file shellcheck git curl build-essential python-pip; \
|
|
fi; \
|
|
\
|
|
rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
|
|
|
|
RUN go clean -i net && \
|
|
go install -tags netgo std && \
|
|
export arch_val="$(dpkg --print-architecture)"; \
|
|
if [ "$arch_val" != "ppc64el" ]; then \
|
|
go install -race -tags netgo std; \
|
|
fi;
|
|
RUN export arch_val="$(dpkg --print-architecture)"; \
|
|
if [ "$arch_val" = "amd64" ]; then \
|
|
curl -fsSL -o shfmt https://github.com/mvdan/sh/releases/download/v1.3.0/shfmt_v1.3.0_linux_amd64 && \
|
|
chmod +x shfmt && \
|
|
mv shfmt /usr/bin; \
|
|
fi;
|
|
# Skipped installing shfmt, as the version v1.3.0 isn't supported for ppc64le
|
|
# and the later version of shfmt doesn't work with the application well
|
|
RUN go get -tags netgo \
|
|
github.com/fzipp/gocyclo \
|
|
github.com/golang/lint/golint \
|
|
github.com/kisielk/errcheck \
|
|
github.com/fatih/hclfmt \
|
|
github.com/mjibson/esc \
|
|
github.com/client9/misspell/cmd/misspell && \
|
|
chmod a+wr --recursive /usr/local/go && \
|
|
rm -rf /go/pkg/ /go/src/
|
|
RUN pip install yapf==0.16.2 flake8==3.3.0 requests==2.19.1
|
|
COPY build.sh /
|
|
ENTRYPOINT ["/build.sh"]
|
|
|
|
ARG revision
|
|
LABEL maintainer="Weaveworks <help@weave.works>" \
|
|
org.opencontainers.image.title="backend" \
|
|
org.opencontainers.image.source="https://github.com/weaveworks/scope/tree/master/backend" \
|
|
org.opencontainers.image.revision="${revision}" \
|
|
org.opencontainers.image.vendor="Weaveworks"
|