Skip to content

Commit

Permalink
builder: adjust names for Makefiles and Dockerfiles
Browse files Browse the repository at this point in the history
Files responsible for building tracee container images:

- builder/Makefile.tracee-container
- builder/Dockerfile.alpine-tracee-container
- builder/entrypoint.sh

Files responsible for local building environment:

- Makefile.tracee-make
- Dockerfile.alpine-tracee-make
- Dockerfile.ubuntu-tracee-make
  • Loading branch information
rafaeldtinoco authored and Rafael David Tinoco committed Jan 20, 2022
1 parent 1ee9187 commit ba50925
Show file tree
Hide file tree
Showing 5 changed files with 51 additions and 85 deletions.
44 changes: 23 additions & 21 deletions Makefile.one
Original file line number Diff line number Diff line change
Expand Up @@ -202,42 +202,44 @@ env:
.PHONY: help
help:
@echo ""
@echo "$ make env # show makefile environment/variables"
@echo "# environment"
@echo ""
@echo " $$ make -f Makefile.one env # show makefile environment/variables"
@echo ""
@echo "# build"
@echo ""
@echo "$ make all # build tracee-ebpf, tracee-rules & rules"
@echo "$ make bpf-core # build ./dist/tracee.bpf.core.o"
@echo "$ make bpf-nocore # build ./dist/tracee.bpf.XXX.o"
@echo "$ make tracee-ebpf # build ./dist/tracee-ebpf"
@echo "$ make tracee-rules # build ./dist/tracee-rules"
@echo "$ make rules # build ./dist/rules"
@echo " $$ make -f Makefile.one all # build tracee-ebpf, tracee-rules & rules"
@echo " $$ make -f Makefile.one bpf-core # build ./dist/tracee.bpf.core.o"
@echo " $$ make -f Makefile.one bpf-nocore # build ./dist/tracee.bpf.XXX.o"
@echo " $$ make -f Makefile.one tracee-ebpf # build ./dist/tracee-ebpf"
@echo " $$ make -f Makefile.one tracee-rules # build ./dist/tracee-rules"
@echo " $$ make -f Makefile.one rules # build ./dist/rules"
@echo ""
@echo "# install"
@echo ""
@echo "$ make install-bpf-nocore # install BPF no CO-RE obj into /tmp/tracee"
@echo "$ make uninstall-bpf-nocore # uninstall BPF no CO-RE obj from /tmp/tracee"
@echo " $$ make -f Makefile.one install-bpf-nocore # install BPF no CO-RE obj into /tmp/tracee"
@echo " $$ make -f Makefile.one uninstall-bpf-nocore # uninstall BPF no CO-RE obj from /tmp/tracee"
@echo ""
@echo "# clean"
@echo ""
@echo "$ make clean # wipe ./dist/"
@echo "$ make clean-bpf-core # wipe ./dist/tracee.bpf.core.o"
@echo "$ make clean-bpf-nocore # wipe ./dist/tracee.bpf.XXX.o"
@echo "$ make clean-tracee-ebpf # wipe ./dist/tracee-ebpf"
@echo "$ make clean-tracee-rules # wipe ./dist/tracee-rules"
@echo "$ make clean-rules # wipe ./dist/rules"
@echo " $$ make -f Makefile.one clean # wipe ./dist/"
@echo " $$ make -f Makefile.one clean-bpf-core # wipe ./dist/tracee.bpf.core.o"
@echo " $$ make -f Makefile.one clean-bpf-nocore # wipe ./dist/tracee.bpf.XXX.o"
@echo " $$ make -f Makefile.one clean-tracee-ebpf # wipe ./dist/tracee-ebpf"
@echo " $$ make -f Makefile.one clean-tracee-rules # wipe ./dist/tracee-rules"
@echo " $$ make -f Makefile.one clean-rules # wipe ./dist/rules"
@echo ""
@echo "# test"
@echo ""
@echo "$ make test # run all go & opa tests"
@echo "$ make test-tracee-ebpf # go test tracee-ebpf"
@echo "$ make test-tracee-rules # go test tracee-rules"
@echo "$ make test-rules # opa test (tracee-rules)"
@echo " $$ make -f Makefile.one test # run all go & opa tests"
@echo " $$ make -f Makefile.one test-tracee-ebpf # go test tracee-ebpf"
@echo " $$ make -f Makefile.one test-tracee-rules # go test tracee-rules"
@echo " $$ make -f Makefile.one test-rules # opa test (tracee-rules)"
@echo ""
@echo "# flags"
@echo ""
@echo "STATIC=1 make ... # build static binaries"
@echo "BTFHUB=1 STATIC=1 make ... # build static binaries, embed BTF"
@echo " $$ STATIC=1 make ... # build static binaries"
@echo " $$ BTFHUB=1 STATIC=1 make ... # build static binaries, embed BTF"
@echo ""

#
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
#
# 1. BUILDING tracee container:
#
# $ docker build -f builder/Dockerfile.alpine-tracee \
# $ docker build -f builder/Dockerfile.alpine-tracee-container \
# --build-arg=BTFHUB=[0|1] \
# --build-arg=FLAVOR=[tracee-core|tracee-nocore] \
# -t alpine-tracee:latest \
Expand Down Expand Up @@ -42,8 +42,8 @@

# FLAVOR(s):
#
# tracee-core entrypoint: tracee-ebpf + tracee-rules
# tracee-nocore entrypoint: install-bpf-nocore + tracee-ebpf + tracee-rules
# tracee-core entrypoint: tracee-ebpf + tracee-rules
# tracee-nocore entrypoint: install-bpf-nocore + tracee-ebpf + tracee-rules

ARG BTFHUB=0
ARG FLAVOR=tracee-ebpf-core
Expand Down Expand Up @@ -112,7 +112,7 @@ WORKDIR /tracee
COPY --from=tracee-make /tracee/dist/tracee-ebpf /tracee
COPY --from=tracee-make /tracee/dist/tracee-rules /tracee
COPY --from=tracee-make /tracee/dist/rules/ /tracee/rules/
COPY --from=tracee-make /tracee/builder/tracee.sh /tracee/entrypoint.sh
COPY --from=tracee-make /tracee/builder/entrypoint.sh /tracee/entrypoint.sh

ENTRYPOINT ["/tracee/entrypoint.sh"]

Expand All @@ -129,7 +129,7 @@ COPY --from=tracee-make /tracee /tracee/src
COPY --from=tracee-make /tracee/dist/tracee-ebpf /tracee
COPY --from=tracee-make /tracee/dist/tracee-rules /tracee
COPY --from=tracee-make /tracee/dist/rules/ /tracee/rules
COPY --from=tracee-make /tracee/builder/tracee.sh /tracee/entrypoint.sh
COPY --from=tracee-make /tracee/builder/entrypoint.sh /tracee/entrypoint.sh

ENTRYPOINT ["/tracee/entrypoint.sh"]

Expand Down
35 changes: 18 additions & 17 deletions builder/Makefile.tracee → builder/Makefile.tracee-container
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
#
# Responsible for creating the official tracee container images
#

.PHONY: all
all:

Expand Down Expand Up @@ -33,31 +37,28 @@ help:
@echo ""
@echo "To generate tracee container(s):"
@echo ""
@echo " $$ make -f builder/Makefile.tracee build-alpine-tracee-core"
@echo " $$ make -f builder/Makefile.tracee build-alpine-tracee-core-btfhub"
@echo " $$ make -f builder/Makefile.tracee build-alpine-tracee-nocore"
@echo " $$ make -f builder/Makefile.tracee-container build-alpine-tracee-core"
@echo " $$ make -f builder/Makefile.tracee-container build-alpine-tracee-core-btfhub"
@echo " $$ make -f builder/Makefile.tracee-container build-alpine-tracee-nocore"
@echo ""
@echo "To execute tracee container(s):"
@echo ""
@echo " $$ make -f builder/Makefile.tracee run-alpine-tracee-core"
@echo " $$ make -f builder/Makefile.tracee run-alpine-tracee-core-btfhub"
@echo " $$ make -f builder/Makefile.tracee run-alpine-tracee-nocore"
@echo " $$ make -f builder/Makefile.tracee-container run-alpine-tracee-core"
@echo " $$ make -f builder/Makefile.tracee-container run-alpine-tracee-core-btfhub"
@echo " $$ make -f builder/Makefile.tracee-container run-alpine-tracee-nocore"
@echo ""
@echo "To execute tracee-ebpf container(s):"
@echo ""
@echo " $$ make -f builder/Makefile.tracee run-alpine-tracee-ebpf-core"
@echo " $$ make -f builder/Makefile.tracee run-alpine-tracee-ebpf-nocore"
@echo ""
@echo "Note:"
@echo " $$ make -f builder/Makefile.tracee-container run-alpine-tracee-ebpf-core"
@echo " $$ make -f builder/Makefile.tracee-container run-alpine-tracee-ebpf-nocore"
@echo ""
@echo "You may provide arguments to executions using ARG variable"
@echo "Note: You may provide \"run\" arguments using the ARG variable."
@echo ""
@echo "Example:"
@echo ""
@echo " $$ make -f builder/Makefile.tracee build-alpine-tracee-core-btfhub"
@echo " $$ make -f builder/Makefile.tracee-container build-alpine-tracee-core-btfhub"
@echo ""
@echo " $$ make -f builder/Makefile.tracee \ "
@echo " run-alpine-tracee-ebpf-core \ "
@echo " $$ make -f builder/Makefile.tracee-container run-alpine-tracee-ebpf-core \ "
@echo " ARG=\"--debug -trace event!='sched*'\" "
@echo ""

Expand All @@ -79,7 +80,7 @@ help:
#

ALPINE_TRACEE_CORE_CONTNAME = tracee
ALPINE_TRACEE_CORE_DOCKERFILE = builder/Dockerfile.alpine-tracee
ALPINE_TRACEE_CORE_DOCKERFILE = builder/Dockerfile.alpine-tracee-container

.PHONY: build-alpine-tracee-core
build-alpine-tracee-core: \
Expand All @@ -94,7 +95,7 @@ build-alpine-tracee-core: \
.

ALPINE_TRACEE_CORE_BTFHUB_CONTNAME = tracee-btfhub
ALPINE_TRACEE_CORE_DOCKERFILE = builder/Dockerfile.alpine-tracee
ALPINE_TRACEE_CORE_DOCKERFILE = builder/Dockerfile.alpine-tracee-container

.PHONY: build-alpine-tracee-core-btfhub
build-alpine-tracee-core-btfhub: \
Expand All @@ -109,7 +110,7 @@ build-alpine-tracee-core-btfhub: \
.

ALPINE_TRACEE_NOCORE_CONTNAME = tracee-nocore
ALPINE_TRACEE_NOCORE_DOCKERFILE = builder/Dockerfile.alpine-tracee
ALPINE_TRACEE_NOCORE_DOCKERFILE = builder/Dockerfile.alpine-tracee-container

.PHONY: build-alpine-tracee-nocore
build-alpine-tracee-nocore: \
Expand Down
4 changes: 4 additions & 0 deletions builder/Makefile.tracee-make
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
#
# Responsible for creating a local docker building environment (alpine & ubuntu)
#

.PHONY: all
all:

Expand Down
43 changes: 1 addition & 42 deletions builder/tracee.sh → builder/entrypoint.sh
Original file line number Diff line number Diff line change
@@ -1,49 +1,8 @@
#!/bin/sh -e

################################################################################
# INSTRUCTIONS
################################################################################
#
# This script is the entrypoint for the following 2 docker container flavors:
# Entrypoint for the official tracee container images
#
# 1. tracee-core
# 2. tracee-nocore
#
# 1. BUILDING tracee container:
#
# $ docker build -f builder/Dockerfile.alpine-tracee \
# --build-arg=BTFHUB=[0|1] \
# --build-arg=FLAVOR=[tracee-core|tracee-nocore] \
# -t alpine-tracee:latest \
# .
#
# 2. RUNNING tracee container:
#
# 2.1 tracee-core:
#
# $ docker run --privileged --pid=host \
# -v /etc/os-release:/etc/os-release-host:ro \
# -e LIBBPFGO_OSRELEASE_FILE=/etc/os-release-host \
# -e TRACEE_EBPF_ONLY=0 \
# --rm -it alpine-tracee [arguments | --help]
#
# 2.2 tracee-nocore:
#
# $ docker run --privileged --pid=host \
# -v /etc/os-release:/etc/os-release-host:ro \
# -e LIBBPFGO_OSRELEASE_FILE=/etc/os-release-host \
# -v /usr/src:/usr/src:ro \
# -v /lib/modules:/lib/modules:ro \
# -e TRACEE_EBPF_ONLY=0 \
# -e FORCE_CORE=0 \
# --rm -it alpine-tracee [arguments | --help]
#
# Notes:
#
# - TRACEE_EBPF_ONLY=1 will execute "tracee-ebpf" instead of "tracee".
# - FORCE_CORE=1 will force CORE obj loading in a tracee-nocore container.
#
################################################################################

run_tracee() {
if [ ${TRACEE_EBPF_ONLY} -eq 1 ]; then
Expand Down

0 comments on commit ba50925

Please sign in to comment.