-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathContainerfile
More file actions
47 lines (33 loc) · 952 Bytes
/
Containerfile
File metadata and controls
47 lines (33 loc) · 952 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
FROM registry.fedoraproject.org/fedora:43 as builder
RUN dnf install -y \
rust \
cargo \
clippy \
rustfmt \
# for stub \
nasm \
# for script jit \
llvm-devel \
zlib-devel \
libxml2-devel \
libstdc++-static \
# for bpf \
clang \
kernel-devel \
libbpf-devel
ADD ./ /berserker/
WORKDIR /berserker/
RUN nasm -f elf64 -o stub.o stub.asm && ld -o stub stub.o
RUN cargo fmt --check
RUN cargo clippy -- -D warnings
RUN cargo build -r
# Test will require stub binary to be available
ENV PATH="${PATH}:/berserker:/berserker/target/release"
RUN cargo test
FROM registry.fedoraproject.org/fedora:43
RUN mkdir /etc/berserker
COPY --from=builder /berserker/target/release/berserker /usr/local/bin/berserker
COPY --from=builder /berserker/workload.toml /etc/berserker/workload.toml
COPY --from=builder /berserker/stub /usr/local/bin/stub
ENV PATH="${PATH}:/usr/local/bin"
ENTRYPOINT berserker