Kube.Kube.start_all: def of bend-kube-runtime@0.2.0.0 Import: import bend-kube-runtime@0.2.0.0/src/kube.bend as Kube Lines 86-97 of bend-kube-runtime@0.2.0.0/src/kube.bend: https://jend.leeeet.dev/read.txt?path=bend-kube-runtime@0.2.0.0/src/kube.bend&start_line=86&end_line=97 import Base import bend-kube-runtime@0.2.0.0/src/json.bend as J import bend-kube-runtime@0.2.0.0/src/config.bend as K import bend-kube-runtime@0.2.0.0/src/queue.bend as Q import bend-kube-runtime@0.2.0.0/src/runtime.bend as R import bend-kube-runtime@0.2.0.0/src/log.bend as L # Several controllers in one process, sharing their watches (Manager): # rec(i, obj, cfg) reconciles for the i-th controller of cs. Opts.label is # unused here (each Ctrl has its own); max likewise. def Kube.start_all(~rec: U32 -> J.Json -> K.Config -> IO(Q.Action), +cfg: K.Config, +cs: List<&2, R.Ctrl>, o: Opts) -> IO(Unit): match o: case Opts{m, +p, l, sel}: IO.bind(Chan(R.SMsg), Unit, R.Keeper.start(), +status => IO.bind(Unit, Unit, Kube.serve(p, status), u => IO.bind(Unit, Unit, L.Log.info("starting controllers", [L.Log.kv("count", Nat.show(List.length(&2, R.Ctrl, cs))), L.Log.kv("server", K.Config.host(cfg))]), u2 => Kube.elect(cfg, l, R.Manager.start(~rec, cfg, cs, status))))) Uses (21): https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Chan https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=IO https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=IO.bind https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=List https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=List.length https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Nat.show https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=U32 https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Unit https://jend.leeeet.dev/definition.txt?path=bend-kube-runtime@0.2.0.0/src/config.bend&name=Config https://jend.leeeet.dev/definition.txt?path=bend-kube-runtime@0.2.0.0/src/config.bend&name=Config.host https://jend.leeeet.dev/definition.txt?path=bend-kube-runtime@0.2.0.0/src/json.bend&name=Json https://jend.leeeet.dev/definition.txt?path=bend-kube-runtime@0.2.0.0/src/kube.bend&name=Kube.elect https://jend.leeeet.dev/definition.txt?path=bend-kube-runtime@0.2.0.0/src/kube.bend&name=Kube.serve https://jend.leeeet.dev/definition.txt?path=bend-kube-runtime@0.2.0.0/src/kube.bend&name=Opts https://jend.leeeet.dev/definition.txt?path=bend-kube-runtime@0.2.0.0/src/log.bend&name=Log.info https://jend.leeeet.dev/definition.txt?path=bend-kube-runtime@0.2.0.0/src/log.bend&name=Log.kv https://jend.leeeet.dev/definition.txt?path=bend-kube-runtime@0.2.0.0/src/queue.bend&name=Action https://jend.leeeet.dev/definition.txt?path=bend-kube-runtime@0.2.0.0/src/runtime.bend&name=Ctrl https://jend.leeeet.dev/definition.txt?path=bend-kube-runtime@0.2.0.0/src/runtime.bend&name=Keeper.start https://jend.leeeet.dev/definition.txt?path=bend-kube-runtime@0.2.0.0/src/runtime.bend&name=Manager.start https://jend.leeeet.dev/definition.txt?path=bend-kube-runtime@0.2.0.0/src/runtime.bend&name=SMsg