Skip to content

Commit b5fcbb1

Browse files
dalehamelleodido
authored andcommitted
Support for ubuntu image in makefile, bump to v0.9
1 parent 82e3597 commit b5fcbb1

6 files changed

+78
-30
lines changed

Makefile

+15-30
Original file line numberDiff line numberDiff line change
@@ -8,23 +8,16 @@ GIT_COMMIT := $(if $(shell git status --porcelain --untracked-files=no),${COMMIT
88
GIT_BRANCH ?= $(shell git rev-parse --abbrev-ref HEAD 2>/dev/null)
99
GIT_BRANCH_CLEAN := $(shell echo $(GIT_BRANCH) | sed -e "s/[^[:alnum:]]/-/g")
1010

11-
IMAGE_NAME ?= quay.io/iovisor/kubectl-trace-bpftrace
12-
IMAGE_NAME_BASE ?= quay.io/iovisor/kubectl-trace-bpftrace-base
11+
IMAGE_NAME_INIT ?= quay.io/iovisor/kubectl-trace-init
12+
IMAGE_NAME ?= quay.io/iovisor/kubectl-trace-bpftrace
1313

14-
IMAGE_NAME_INIT ?= quay.io/iovisor/kubectl-trace-init
15-
16-
IMAGE_TRACERUNNER_BRANCH := $(IMAGE_NAME):$(GIT_BRANCH_CLEAN)
17-
IMAGE_TRACERUNNER_COMMIT := $(IMAGE_NAME):$(GIT_COMMIT)
18-
IMAGE_TRACERUNNER_LATEST := $(IMAGE_NAME):latest
14+
IMAGE_TRACERUNNER_BRANCH := $(IMAGE_NAME):$(GIT_BRANCH_CLEAN)
15+
IMAGE_TRACERUNNER_COMMIT := $(IMAGE_NAME):$(GIT_COMMIT)
1916

2017
IMAGE_INITCONTAINER_BRANCH := $(IMAGE_NAME_INIT):$(GIT_BRANCH_CLEAN)
2118
IMAGE_INITCONTAINER_COMMIT := $(IMAGE_NAME_INIT):$(GIT_COMMIT)
2219
IMAGE_INITCONTAINER_LATEST := $(IMAGE_NAME_INIT):latest
2320

24-
BPFTRACESHA ?= aaed58fbb365a21f5a609521b1fc8e53aa67a97f
25-
BCCVERSION ?= 0.8.0
26-
IMAGE_BPFTRACE_BASE := $(IMAGE_NAME_BASE):$(BPFTRACESHA)
27-
2821
IMAGE_BUILD_FLAGS ?= "--no-cache"
2922

3023
LDFLAGS := -ldflags '-X github.com/iovisor/kubectl-trace/pkg/version.buildTime=$(shell date +%s) -X github.com/iovisor/kubectl-trace/pkg/version.gitCommit=${GIT_COMMIT} -X github.com/iovisor/kubectl-trace/pkg/cmd.ImageNameTag=${IMAGE_TRACERUNNER_COMMIT} -X github.com/iovisor/kubectl-trace/pkg/cmd.InitImageNameTag=${IMAGE_INITCONTAINER_COMMIT}'
@@ -46,24 +39,24 @@ ${trace_runner}:
4639
clean:
4740
rm -Rf _output
4841

49-
.PHONY: image/build
50-
image/build:
51-
$(DOCKER) build \
52-
--build-arg bpftracesha=$(BPFTRACESHA) \
53-
--build-arg imagenamebase=$(IMAGE_NAME_BASE) \
54-
$(IMAGE_BUILD_FLAGS) \
55-
-t $(IMAGE_TRACERUNNER_BRANCH) \
56-
-f Dockerfile.tracerunner .
57-
$(DOCKER) tag $(IMAGE_TRACERUNNER_BRANCH) $(IMAGE_TRACERUNNER_COMMIT)
58-
5942
.PHONY: image/build-init
6043
image/build-init:
6144
$(DOCKER) build \
6245
$(IMAGE_BUILD_FLAGS) \
6346
-t $(IMAGE_INITCONTAINER_BRANCH) \
64-
-f ./init/Dockerfile.initcontainer ./init
47+
-f ./build/Dockerfile.initcontainer ./build
6548
$(DOCKER) tag $(IMAGE_INITCONTAINER_BRANCH) $(IMAGE_INITCONTAINER_COMMIT)
6649

50+
.PHONY: image/build
51+
image/build:
52+
$(DOCKER) build \
53+
$(IMAGE_BUILD_FLAGS) \
54+
-t "$(IMAGE_TRACERUNNER_BRANCH)" \
55+
-f build/Dockerfile.tracerunner .
56+
$(DOCKER) tag $(IMAGE_TRACERUNNER_BRANCH) $(IMAGE_TRACERUNNER_COMMIT)
57+
$(DOCKER) tag "$(IMAGE_TRACERUNNER_BRANCH)" $(IMAGE_TRACERUNNER_BRANCH)
58+
59+
6760
.PHONY: image/push
6861
image/push:
6962
$(DOCKER) push $(IMAGE_TRACERUNNER_BRANCH)
@@ -85,11 +78,3 @@ test:
8578
.PHONY: integration
8679
integration:
8780
TEST_KUBECTLTRACE_BINARY=$(shell pwd)/$(kubectl_trace) $(GO) test ${LDFLAGS} -v ./integration/...
88-
89-
.PHONY: bpftraceimage/build
90-
bpftraceimage/build:
91-
$(DOCKER) build --build-arg bccversion=$(BCCVERSION) --build-arg bpftracesha=$(BPFTRACESHA) $(IMAGE_BUILD_FLAGS) -t $(IMAGE_BPFTRACE_BASE) -f Dockerfile.bpftracebase .
92-
93-
.PHONY: bpftraceimage/push
94-
bpftraceimage/push:
95-
$(DOCKER) push $(IMAGE_BPFTRACE_BASE)
File renamed without changes.

build/Dockerfile.bpftracebase-ubuntu

+30
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
FROM ubuntu:18.04 as builder
2+
ARG bpftracesha
3+
ENV RUN_TESTS=0
4+
5+
RUN apt-get update && apt-get install -y wget gnupg && apt-get clean
6+
7+
RUN wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key | apt-key add -
8+
COPY build/sources.list /etc/apt/sources.list.d/llvm.list
9+
10+
RUN wget -O - https://repo.iovisor.org/GPG-KEY | apt-key add -
11+
RUN echo "deb https://repo.iovisor.org/apt/bionic bionic main" > /etc/apt/sources.list.d/iovisor.list
12+
13+
RUN apt-get update
14+
15+
RUN apt-get install -y bison cmake flex g++ git libelf-dev zlib1g-dev libfl-dev
16+
RUN apt-get install -y clang-5.0 libclang-5.0-dev libclang-common-5.0-dev libclang1-5.0 libllvm5.0 llvm-5.0 llvm-5.0-dev llvm-5.0-runtime
17+
RUN apt-get install -y libbcc=0.9.0-1
18+
19+
ADD https://github.com/iovisor/bpftrace/archive/${bpftracesha}.tar.gz /bpftrace.tar.gz
20+
RUN tar -xvf /bpftrace.tar.gz
21+
22+
RUN mv bpftrace-${bpftracesha} /bpftrace
23+
24+
RUN mkdir /bpftrace/build
25+
26+
WORKDIR /bpftrace/build
27+
28+
RUN cmake -DCMAKE_BUILD_TYPE=DEBUG -DCMAKE_INSTALL_PREFIX=/usr/local/bpftrace ..
29+
RUN make -j9
30+
RUN make install
File renamed without changes.

build/Dockerfile.tracerunner-ubuntu

+25
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
ARG bpftracesha
2+
ARG imagenamebase
3+
4+
FROM ${imagenamebase}:${bpftracesha} as bpftrace
5+
FROM golang:1.11.4-stretch as gobuilder
6+
7+
RUN apt-get update
8+
RUN apt-get install -y make bash git
9+
10+
ADD . /go/src/github.com/iovisor/kubectl-trace
11+
WORKDIR /go/src/github.com/iovisor/kubectl-trace
12+
13+
RUN make _output/bin/trace-runner
14+
15+
FROM ubuntu:18.04
16+
17+
RUN apt-get update && apt-get install -y wget gnupg && \
18+
echo "deb https://repo.iovisor.org/apt/bionic bionic main" > /etc/apt/sources.list.d/iovisor.list && \
19+
wget -O - https://repo.iovisor.org/GPG-KEY | apt-key add - && \
20+
apt-get update && apt-get install -y libbcc=0.9.0-1 libclang1-5.0 libllvm5.0 && rm -rf /var/lib/apt/lists/* && apt-get clean
21+
22+
COPY --from=bpftrace /usr/local/bpftrace/bin/bpftrace /bin/bpftrace
23+
COPY --from=gobuilder /go/src/github.com/iovisor/kubectl-trace/_output/bin/trace-runner /bin/trace-runner
24+
25+
ENTRYPOINT ["/bin/trace-runner"]

build/sources.list

+8
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
deb http://apt.llvm.org/xenial/ llvm-toolchain-xenial main
2+
deb-src http://apt.llvm.org/xenial/ llvm-toolchain-xenial main
3+
# 5.0
4+
deb http://apt.llvm.org/xenial/ llvm-toolchain-xenial-5.0 main
5+
deb-src http://apt.llvm.org/xenial/ llvm-toolchain-xenial-5.0 main
6+
# 6.0
7+
deb http://apt.llvm.org/xenial/ llvm-toolchain-xenial-6.0 main
8+
deb-src http://apt.llvm.org/xenial/ llvm-toolchain-xenial-6.0 main

0 commit comments

Comments
 (0)