Kubernetes CRI CLI: crictl-shaped client, simulator server, proxy
1(* runtime.v1.Device and runtime.v1.CDIDevice: host devices mounted into a
2 container. Field numbers from api.proto. *)
3
4module Pb = Protobuf
5
6type t = { container_path : string; host_path : string; permissions : string }
7
8let pp ppf t =
9 Fmt.pf ppf "@[<1>{container_path=%S;@ host_path=%S;@ permissions=%S}@]"
10 t.container_path t.host_path t.permissions
11
12let t : t Pb.t =
13 let open Pb.Message in
14 v (fun container_path host_path permissions ->
15 { container_path; host_path; permissions })
16 |> required 1 Pb.string ~enc:(fun r -> r.container_path)
17 |> required 2 Pb.string ~enc:(fun r -> r.host_path)
18 |> required 3 Pb.string ~enc:(fun r -> r.permissions)
19 |> seal
20
21type cdi_device = { name : string }
22
23let cdi_device : cdi_device Pb.t =
24 let open Pb.Message in
25 v (fun name -> { name })
26 |> required 1 Pb.string ~enc:(fun r -> r.name)
27 |> seal