New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Better API for application runtime keys #1493
Conversation
We discussed in the MirageOS meeting on Feb 26th (yesterday) that this sounds nice (and is likely the way to go). One question that was raised if we can remove the dependency that mirage depends on mirage-runtime (and functoria depends on functoria-runtime). If this is the case, the mirage utility would be independent of e.g. lwt :) |
Related to my earlier comment, the functoria does no longer depend on functoria-runtime within this PR (opam file of functoria needs to be updated), and mirage refers in lib/mirage/mirage_runtime_arg.mli Mirage_runtime.log_threshold -- but elsewhere I already mentioned that I'm not sure about this mirage_runtime_arg module, where it is useful, and why not just pass strings through. |
these comments shouldn't hinder a merge and release -- I have not done a review of this PR though (and won't have time soon for this). |
784618b
to
6da9596
Compare
I've rebased this on top of |
Tentative new API based on discussions in #1483
Use: mirage/mirage-skeleton#382
There are a few more cleanup to do but the changes are actually quite simple:
main
function inconfig.ml
now takes a list of runtime keys - so you do not need to register them inunikernel.ml
anymore - just write normal Cmdliner terms in thereYou can see the main changes in test/functoria/e2e/app/app.ml and test/functoria/e2e/app/config.ml
@reynir and @hannesm: that would be great to have your input to know if this is going in the right direction.