openvpn router unikernel using caravan
This commit is contained in:
parent
15db88325b
commit
dc1390c3b9
6 changed files with 135 additions and 12 deletions
34
packages/caravan.1.0.0~dev/opam
Normal file
34
packages/caravan.1.0.0~dev/opam
Normal file
|
@ -0,0 +1,34 @@
|
||||||
|
opam-version: "2.0"
|
||||||
|
name: "provision"
|
||||||
|
maintainer: [ "Romain Calascibetta <romain.calascibetta@gmail.com>" ]
|
||||||
|
authors: [ "Romain Calascibetta <romain.calascibetta@gmail.com>" ]
|
||||||
|
homepage: "https://github.com/dinosaure/caravan"
|
||||||
|
bug-reports: "https://github.com/dinosaure/caravan/issues"
|
||||||
|
dev-repo: "git+https://github.com/dinosaure/caravan.git"
|
||||||
|
doc: "https://dinosaure.github.io/caravan/"
|
||||||
|
license: "MIT"
|
||||||
|
synopsis: "Section injection into ELF binary file"
|
||||||
|
description: """
|
||||||
|
Tool to inject new <.provision> section into given ELF binary file.
|
||||||
|
"""
|
||||||
|
|
||||||
|
build: [ ["dune" "subst"] {dev}
|
||||||
|
["dune" "build" "-p" name "-j" jobs ]
|
||||||
|
["dune" "runtest" "-p" name "-j" jobs] {with-test} ]
|
||||||
|
|
||||||
|
depends: [
|
||||||
|
"ocaml" {>= "4.07.0"}
|
||||||
|
"dune" {>= "1.9.2"}
|
||||||
|
"base-bytes"
|
||||||
|
"base-unix"
|
||||||
|
"bigstringaf"
|
||||||
|
"fmt"
|
||||||
|
"bos"
|
||||||
|
"logs"
|
||||||
|
"rresult"
|
||||||
|
"mmap"
|
||||||
|
"cmdliner"
|
||||||
|
]
|
||||||
|
url {
|
||||||
|
src: "git+https://github.com/hannesm/caravan.git#next"
|
||||||
|
}
|
|
@ -1,8 +1,7 @@
|
||||||
# Generated by ./config.exe configure -t hvt --allocation-policy=best-fit (2021-01-18 16:29:37-00:00).
|
# Generated by ./config.exe configure -t hvt --allocation-policy=best-fit (2021-05-04 21:03:08-00:00).
|
||||||
opam-version: "2.0"
|
opam-version: "2.0"
|
||||||
name: "mirage-unikernel-ovpn_router-hvt"
|
name: "mirage-unikernel-ovpn_router-hvt"
|
||||||
depends: [ "arp" { >= "2.3.0" & < "3.0.0"}
|
depends: [ "arp" { >= "2.3.0" & < "3.0.0"}
|
||||||
"crunch" {build & >= "3.1.0" & < "4.0.0"}
|
|
||||||
"ethernet" { >= "2.2.0" & < "3.0.0"}
|
"ethernet" { >= "2.2.0" & < "3.0.0"}
|
||||||
"functoria-runtime"
|
"functoria-runtime"
|
||||||
"logs"
|
"logs"
|
||||||
|
@ -12,9 +11,8 @@ depends: [ "arp" { >= "2.3.0" & < "3.0.0"}
|
||||||
"mirage-bootvar-solo5" { >= "0.6.0" & < "0.7.0"}
|
"mirage-bootvar-solo5" { >= "0.6.0" & < "0.7.0"}
|
||||||
"mirage-clock-freestanding" { >= "3.0.0" & < "4.0.0"}
|
"mirage-clock-freestanding" { >= "3.0.0" & < "4.0.0"}
|
||||||
"mirage-console-solo5" { >= "0.6.1" & < "0.7.0"}
|
"mirage-console-solo5" { >= "0.6.1" & < "0.7.0"}
|
||||||
"mirage-crypto-rng-mirage" { >= "0.8.0" & < "0.9.0"}
|
"mirage-crypto-rng-mirage" { >= "0.8.0" & < "0.11.0"}
|
||||||
"mirage-kv"
|
"mirage-kv"
|
||||||
"mirage-kv-mem" { >= "3.0.0" & < "4.0.0"}
|
|
||||||
"mirage-logs" { >= "1.2.0" & < "2.0.0"}
|
"mirage-logs" { >= "1.2.0" & < "2.0.0"}
|
||||||
"mirage-net-solo5" { >= "0.6.1" & < "0.7.0"}
|
"mirage-net-solo5" { >= "0.6.1" & < "0.7.0"}
|
||||||
"mirage-runtime" { >= "3.10.0" & >= "3.8.0" & < "3.11.0"}
|
"mirage-runtime" { >= "3.10.0" & >= "3.8.0" & < "3.11.0"}
|
||||||
|
@ -26,8 +24,9 @@ depends: [ "arp" { >= "2.3.0" & < "3.0.0"}
|
||||||
"ocamlbuild" {build}
|
"ocamlbuild" {build}
|
||||||
"ocamlfind" {build}
|
"ocamlfind" {build}
|
||||||
"openvpn"
|
"openvpn"
|
||||||
"solo5-bindings-hvt" { >= "0.6.0" & < "0.7.0"}
|
"provision"
|
||||||
"tcpip" { >= "6.0.0" & < "7.0.0"}
|
"solo5-bindings-hvt" { = "0.6.8~caravan"}
|
||||||
|
"tcpip" { >= "6.1.0" & < "7.0.0"}
|
||||||
]
|
]
|
||||||
pin-depends: [ ["openvpn.dev" "git+https://github.com/roburio/openvpn.git"]
|
pin-depends: [ ["openvpn.dev" "git+https://github.com/roburio/openvpn.git"]
|
||||||
]
|
]
|
||||||
|
@ -36,7 +35,7 @@ authors: "dummy"
|
||||||
homepage: "dummy"
|
homepage: "dummy"
|
||||||
bug-reports: "dummy"
|
bug-reports: "dummy"
|
||||||
dev-repo: "git+https://example.com/nonexistent"
|
dev-repo: "git+https://example.com/nonexistent"
|
||||||
build: [ "sh" "-exc" "cd mirage-router && cp /root/openvpn.config configuration/ && mirage configure -t hvt --allocation-policy=best-fit && mirage build" ]
|
build: [ "sh" "-exc" "cd mirage-router && mirage configure -t hvt --allocation-policy=best-fit && mirage build" ]
|
||||||
synopsis: "This is a dummy"
|
synopsis: "This is a dummy"
|
||||||
install: [
|
install: [
|
||||||
[ "cp" "mirage-router/ovpn_router.hvt" "%{bin}%/ovpn_router.hvt" ]
|
[ "cp" "mirage-router/ovpn_router.hvt" "%{bin}%/ovpn_router.hvt" ]
|
||||||
|
|
|
@ -9,7 +9,7 @@ maintainer: ["robur"]
|
||||||
license: "AGPL"
|
license: "AGPL"
|
||||||
|
|
||||||
build: [
|
build: [
|
||||||
["dune" "subst" ] {pinned}
|
["dune" "subst" ] {dev}
|
||||||
["dune" "build" "-p" name "-j" jobs]
|
["dune" "build" "-p" name "-j" jobs]
|
||||||
["dune" "runtest" "-p" name "-j" jobs] {with-test}
|
["dune" "runtest" "-p" name "-j" jobs] {with-test}
|
||||||
]
|
]
|
||||||
|
@ -38,9 +38,9 @@ depends: [
|
||||||
"mirage-crypto-rng" {>= "0.8.0"}
|
"mirage-crypto-rng" {>= "0.8.0"}
|
||||||
"ptime"
|
"ptime"
|
||||||
"rresult"
|
"rresult"
|
||||||
"tls" {>= "0.11.0"}
|
"tls" {>= "0.13.0"}
|
||||||
"dns-client" {>= "4.5.0"}
|
"dns-client" {>= "5.0.0"}
|
||||||
"x509" {>= "0.10.0"}
|
"x509" {>= "0.13.0"}
|
||||||
"duration"
|
"duration"
|
||||||
|
|
||||||
"tuntap" {>= "1.8.1"}
|
"tuntap" {>= "1.8.1"}
|
||||||
|
@ -49,7 +49,7 @@ depends: [
|
||||||
"mtime"
|
"mtime"
|
||||||
"randomconv"
|
"randomconv"
|
||||||
# mirage:
|
# mirage:
|
||||||
"mirage-stack" {>= "2.0.0"}
|
"mirage-stack" {>= "2.2.0"}
|
||||||
"mirage-protocols" {>= "5.0.0"}
|
"mirage-protocols" {>= "5.0.0"}
|
||||||
"tcpip" {>= "4.1.0"}
|
"tcpip" {>= "4.1.0"}
|
||||||
"mirage-random" {>= "2.0.0"}
|
"mirage-random" {>= "2.0.0"}
|
||||||
|
|
36
packages/provision.1,0,0~dev/opam
Normal file
36
packages/provision.1,0,0~dev/opam
Normal file
|
@ -0,0 +1,36 @@
|
||||||
|
opam-version: "2.0"
|
||||||
|
name: "provision"
|
||||||
|
maintainer: [ "Romain Calascibetta <romain.calascibetta@gmail.com>" ]
|
||||||
|
authors: [ "Romain Calascibetta <romain.calascibetta@gmail.com>" ]
|
||||||
|
homepage: "https://github.com/dinosaure/caravan"
|
||||||
|
bug-reports: "https://github.com/dinosaure/caravan/issues"
|
||||||
|
dev-repo: "git+https://github.com/dinosaure/caravan.git"
|
||||||
|
doc: "https://dinosaure.github.io/caravan/"
|
||||||
|
license: "MIT"
|
||||||
|
synopsis: "Section injection into ELF binary file"
|
||||||
|
description: """
|
||||||
|
Tool to inject new <.provision> section into given ELF binary file.
|
||||||
|
"""
|
||||||
|
|
||||||
|
build: [ ["dune" "subst"] {dev}
|
||||||
|
["dune" "build" "-p" name "-j" jobs ]
|
||||||
|
["dune" "runtest" "-p" name "-j" jobs] {with-test} ]
|
||||||
|
|
||||||
|
depends: [
|
||||||
|
"ocaml" {>= "4.07.0"}
|
||||||
|
"dune" {>= "1.9.2"}
|
||||||
|
"base-bytes"
|
||||||
|
"bigstringaf"
|
||||||
|
"fmt"
|
||||||
|
]
|
||||||
|
|
||||||
|
depopts: [
|
||||||
|
"ocaml-freestanding"
|
||||||
|
]
|
||||||
|
|
||||||
|
conflicts: [
|
||||||
|
"ocaml-freestanding" {< "0.6.0"}
|
||||||
|
]
|
||||||
|
url {
|
||||||
|
src: "git+https://github.com/hannesm/caravan.git#next"
|
||||||
|
}
|
54
packages/solo5-bindings-hvt.0.6.8~caravan/opam
Normal file
54
packages/solo5-bindings-hvt.0.6.8~caravan/opam
Normal file
|
@ -0,0 +1,54 @@
|
||||||
|
opam-version: "2.0"
|
||||||
|
maintainer: "martin@lucina.net"
|
||||||
|
authors: [
|
||||||
|
"Dan Williams <djwillia@us.ibm.com>"
|
||||||
|
"Martin Lucina <martin@lucina.net>"
|
||||||
|
"Ricardo Koller <kollerr@us.ibm.com>"
|
||||||
|
]
|
||||||
|
homepage: "https://github.com/solo5/solo5"
|
||||||
|
bug-reports: "https://github.com/solo5/solo5/issues"
|
||||||
|
license: "ISC"
|
||||||
|
dev-repo: "git+https://github.com/solo5/solo5.git"
|
||||||
|
build: [
|
||||||
|
["./configure.sh"]
|
||||||
|
[make "V=1" "CONFIG_SPT=" "CONFIG_VIRTIO=" "CONFIG_MUEN=" "CONFIG_GENODE=" "CONFIG_XEN="]
|
||||||
|
]
|
||||||
|
install: [make "V=1" "CONFIG_SPT=" "CONFIG_VIRTIO=" "CONFIG_MUEN=" "CONFIG_GENODE=" "CONFIG_XEN=" "install-opam-hvt" "PREFIX=%{prefix}%"]
|
||||||
|
depends: [
|
||||||
|
"conf-pkg-config"
|
||||||
|
"conf-libseccomp" {build & os = "linux"}
|
||||||
|
]
|
||||||
|
depexts: [
|
||||||
|
["linux-headers"] {os-distribution = "alpine"}
|
||||||
|
["kernel-headers"] {os-distribution = "fedora"}
|
||||||
|
["kernel-headers"] {os-distribution = "rhel"}
|
||||||
|
["linux-libc-dev"] {os-family = "debian"}
|
||||||
|
]
|
||||||
|
conflicts: [
|
||||||
|
"ocaml-freestanding" {< "0.6.0"}
|
||||||
|
"solo5-bindings-spt"
|
||||||
|
"solo5-bindings-virtio"
|
||||||
|
"solo5-bindings-muen"
|
||||||
|
"solo5-bindings-genode"
|
||||||
|
"solo5-bindings-xen"
|
||||||
|
]
|
||||||
|
available: [
|
||||||
|
(arch = "x86_64" | arch = "arm64") &
|
||||||
|
(os = "linux" | os = "freebsd" | os = "openbsd")
|
||||||
|
]
|
||||||
|
synopsis: "Solo5 sandboxed execution environment (hvt target)"
|
||||||
|
description: """
|
||||||
|
Solo5 is a sandboxed execution environment primarily intended
|
||||||
|
for, but not limited to, running applications built using various
|
||||||
|
unikernels (a.k.a. library operating systems).
|
||||||
|
|
||||||
|
This package provides the Solo5 components needed to build and
|
||||||
|
run MirageOS unikernels on the "hvt" target, including the
|
||||||
|
"solo5-hvt" tender source code, and "solo5-hvt-configure" script
|
||||||
|
used to specialize the tender at MirageOS unikernel build time.
|
||||||
|
|
||||||
|
The "hvt" target is supported on 64-bit Linux, FreeBSD and
|
||||||
|
OpenBSD systems with hardware virtualization."""
|
||||||
|
url {
|
||||||
|
src: "git+https://github.com/hannesm/solo5.git#0.6.8-caravan"
|
||||||
|
}
|
Loading…
Reference in a new issue