There are use cases where policy evaluation needs to be done in environments without std. This sort of policies typically don't need most builtins involving external crates other than maybe regex.
[x] Use core, alloc in place of std.
[x] Determine whether to use serde_json or serde_json_core
[x] custom_allocator feature in ffi binding to allow using a custom allocator
[x] opa-no-std feature to enable all features that are no_std compatible.
[x] ensure_no_std test to ensure that there are truly no std dependencies. Achieved via target thumbv7m-none-eabi
[x] Update README.md
[x] Ensure that regorus example can be built so that it uses the library in no_std mode.
There are use cases where policy evaluation needs to be done in environments without
std
. This sort of policies typically don't need most builtins involving external crates other than maybe regex.custom_allocator
feature inffi
binding to allow using a custom allocatoropa-no-std
feature to enable all features that areno_std
compatible.ensure_no_std
test to ensure that there are truly no std dependencies. Achieved via targetthumbv7m-none-eabi
regorus
example can be built so that it uses the library inno_std
mode.