Initial commit
This commit is contained in:
commit
f43f6276dd
15
Dockerfile
Normal file
15
Dockerfile
Normal file
|
@ -0,0 +1,15 @@
|
||||||
|
FROM ocaml/opam:ubuntu-20.04-ocaml-4.14 AS opam
|
||||||
|
COPY mirage-unikernel-unipi-spt.opam /home/opam/opam-repository/packages/mirage-unikernel-unipi-spt/mirage-unikernel-unipi-spt.0.0.1~dev/opam
|
||||||
|
RUN opam update
|
||||||
|
RUN opam depext mirage-unikernel-unipi-spt
|
||||||
|
RUN opam install mirage-unikernel-unipi-spt
|
||||||
|
RUN cp $(opam config var bin)/unipi.spt .
|
||||||
|
RUN cp $(opam config var bin)/solo5-elftool .
|
||||||
|
RUN cp $(opam config var bin)/solo5-spt .
|
||||||
|
|
||||||
|
FROM ubuntu:20.04
|
||||||
|
COPY --from=opam /home/opam/unipi.spt /unipi.spt
|
||||||
|
COPY --from=opam /home/opam/solo5-elftool /usr/local/bin/solo5-elftool
|
||||||
|
COPY --from=opam /home/opam/solo5-spt /usr/local/bin/solo5-spt
|
||||||
|
COPY entrypoint.sh /entrypoint.sh
|
||||||
|
ENTRYPOINT ["/entrypoint.sh", "/unipi.spt"]
|
25
entrypoint.sh
Executable file
25
entrypoint.sh
Executable file
|
@ -0,0 +1,25 @@
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
if [ "$#" -lt 1 ]; then
|
||||||
|
echo Must provide the unikernel as argument >&2
|
||||||
|
exit 2
|
||||||
|
fi
|
||||||
|
unikernel=$1
|
||||||
|
shift
|
||||||
|
ip=$(ip a show eth0 | awk '/inet/{print $2}') || {
|
||||||
|
echo Could not determine ip address >&2
|
||||||
|
exit 2
|
||||||
|
}
|
||||||
|
gateway=$(ip route show default | awk '/^default /{print $3}') || {
|
||||||
|
echo Could not determine default gateway >&2
|
||||||
|
exit 2
|
||||||
|
}
|
||||||
|
|
||||||
|
ip tuntap add mode tap name service
|
||||||
|
ip addr del "$ip" dev eth0
|
||||||
|
ip link add br0 type bridge
|
||||||
|
ip link set eth0 master br0
|
||||||
|
ip link set service master br0
|
||||||
|
ip link set br0 up
|
||||||
|
ip link set service up
|
||||||
|
solo5-spt --net:service=service -- "$unikernel" --ipv4="$ip" --ipv4-gateway="$gateway" "$@"
|
47
mirage-unikernel-unipi-spt.opam
Normal file
47
mirage-unikernel-unipi-spt.opam
Normal file
|
@ -0,0 +1,47 @@
|
||||||
|
# Generated by _build/default/config.exe configure -t spt (2022-07-22 19:38:43-00:00).
|
||||||
|
opam-version: "2.0"
|
||||||
|
name: "mirage-unikernel-unipi-spt"
|
||||||
|
depends: [ "arp" { >= "3.0.0" & < "4.0.0"}
|
||||||
|
"awa"
|
||||||
|
"awa-mirage"
|
||||||
|
"ethernet" { >= "3.0.0" & < "4.0.0"}
|
||||||
|
"functoria-runtime"
|
||||||
|
"git" { >= "3.7.0"}
|
||||||
|
"git-mirage" { >= "3.7.0" & < "3.8.0"}
|
||||||
|
"git-paf" { >= "3.7.0"}
|
||||||
|
"irmin-mirage-git" { >= "2.10.0" & < "3.0.0"}
|
||||||
|
"letsencrypt" { >= "0.3.0"}
|
||||||
|
"logs"
|
||||||
|
"lwt"
|
||||||
|
"magic-mime"
|
||||||
|
"mimic"
|
||||||
|
"mirage" {build & >= "3.10.0" & < "3.11.0"}
|
||||||
|
"mirage-bootvar-solo5" { >= "0.6.0" & < "0.7.0"}
|
||||||
|
"mirage-clock-freestanding" { >= "3.0.0" & < "5.0.0"}
|
||||||
|
"mirage-crypto-rng-mirage" { >= "0.8.0" & < "0.11.0"}
|
||||||
|
"mirage-logs" { >= "1.2.0" & < "2.0.0"}
|
||||||
|
"mirage-net-solo5" { >= "0.6.1" & < "0.7.0"}
|
||||||
|
"mirage-runtime" { >= "3.10.0" & < "3.11.0"}
|
||||||
|
"mirage-solo5" { >= "0.6.1" & < "0.7.0"}
|
||||||
|
"mirage-types" { >= "3.10.0" & < "3.11.0"}
|
||||||
|
"mirage-types-lwt" { >= "3.10.0" & < "3.11.0"}
|
||||||
|
"ocaml" {build & >= "4.08.0"}
|
||||||
|
"ocamlbuild" {build}
|
||||||
|
"ocamlfind" {build}
|
||||||
|
"paf" { >= "0.0.8-1" & < "0.0.9"}
|
||||||
|
"paf-le" { >= "0.0.8-1" & < "0.0.9"}
|
||||||
|
"solo5-bindings-spt" { >= "0.6.0" & < "0.7.0"}
|
||||||
|
"tcpip" { >= "7.0.0" & < "8.0.0"}
|
||||||
|
"tls-mirage"
|
||||||
|
]
|
||||||
|
maintainer: "dummy"
|
||||||
|
authors: "dummy"
|
||||||
|
homepage: "dummy"
|
||||||
|
bug-reports: "dummy"
|
||||||
|
dev-repo: "git+https://example.com/nonexistent"
|
||||||
|
build: [ "sh" "-exc" "mirage configure -t spt && mirage build" ]
|
||||||
|
synopsis: "This is a dummy"
|
||||||
|
install: [
|
||||||
|
[ "cp" "unipi.spt" "%{bin}%/unipi.spt" ]
|
||||||
|
]
|
||||||
|
url { src: "git+https://github.com/roburio/unipi.git#main" }
|
Loading…
Reference in a new issue