Compilation
Compiling the project requires generating protocol buffer files, generating some Go code for eBPF, and compiling Go code into a static binary.
We recommend using Docker to compile the project.
Using Docker
Building the Compile Container
Run make celestial-make
to build a container that has all the dependencies needed to compile the project.
Protocol Buffer
You can use the pre-compiled gRPC/protocol buffer files or compile your own:
# compile all protofiles for python and go
docker run --platform linux/amd64 --rm -v $(pwd):/celestial celestial-make proto
Go Server
Compile the host server with:
docker run --platfrom linux/amd64 --rm -v $(pwd):/celestial celestial-make celestial.bin
Manually
To manually compile and generate code, install the dependencies found in compile.Dockerfile
. Then run make
to compile.