As I’ve mentioned before, there is absolutely a valid reason to receive data from outside of the data model genie holds for CPEs. This could include HTTP_AUTH headers, SSL Client auth related certificates… This data is related directly to the context of processing the provisioning of the CPE.
Is there a reason the scripts are declarative?
I have to admit, I still don’t quite understand the operational semantics of declare()… and I’ve read all the documentation I can find on it. Given we’re dealing with objects in the TR-* models it seems to me that possibly taking a more objective model wouldn’t be a bad thing…
There’s no public road map or feature requests tracker. The project is not that big yet. I’m afraid your best bet right now is to implement this yourself in your own fork.
Yes, your peace of mind and good night’s sleep! It can be difficult to wrap your head around Genie’s scripting at first, and many aspects of it can be counter intuitive, but once you have your scripts done right it’s a smooth sailing from there. When talking scale, edge cases are no longer that and everything that can possibly go wrong will inevitably do. A declarative design forces you to approach your device configuration from that perspective.