Rust LEAF data service

LEAF Team,
I have been working with RUST a lot lately and would like to create some LEAF dataObjects from one of the programs I have written. It would be nice to be able to generate a service with Yeoman for a Rust based LEAF data/functional service. It occurred to me that I might be able to create something reusable in the LEAF community.

If I wanted to build a LEAF data service with a language that is, as yet unimplemented, are there any basic guidelines? I can reverse engineer some of the details;

  • register with the service-registry.
  • have some default rest endpoints and be able to service basic REST queries.
  • support skaffold.
  • Persistent storage (mongodb).

Is there any documentation outlining what a minimal service MUST be able to do?

Hi Steve!

This is a great suggestion for a new feature. I’m no expert on any of this so someone like @mark.a.alvaro might want to weigh in here. I just want to manage your expectations by sharing my perception of things. Historically, (and this is just my perception) it seems a bit complicated for the LEAF project to take code contributions from engineers who are not using LEAF charge numbers. I don’t know all the reasons for this but it seems like Leidos wants to be EXTRAORDINARILY careful with the color of money used so that they can either have legal protections and/or avoid legal problems. I think this stems from the wide array of projects that might use LEAF (spanning things like DoD, Civil, Domestic, International, NATO, Healthcare, and even companies outside of Leidos that don’t directly compete with us). Furthermore, the LEAF engineers have to be careful about adopting new features because (just like building a road) there’s a cost to maintain it after it’s adopted. (This may or may not be an issue in this instance but I’m merely pointing out that there are people that evaluate this before a new feature is adopted.) So, even if you wrote the perfect implementation for this, I think the team couldn’t use it AS-IS for these reasons. Which, although none of this is personal, it’s a not great situation because it sounds like you’re super motivated and I can tell from your questions you already know a lot about LEAF to be able to do great work.

I don’t like to post something which might stifle your effort and is probably not fun for you to read. However, on a positive note, you might offer your contribution to the team as something they could reference for inspiration if/when they decide to add this feature. If you do, you wouldn’t want to spend too much time on any of the details. …Just enough to prove the concept and attach it to a feature request here. The LEAF team is ALWAYS looking for new features to consider and, you never know, a good code spike might help.

Regarding your original question (and your other post about data change events), I’m not the right person to answer the technical side of this question but if things are unusually silent for you, at least you will have some understanding. Having said all of that, I wanted to make sure you did get at least some response because you’re such a rock star with this stuff and we really appreciate your epic involvement!

Respectfully,
Chris Bozic

2 Likes

I totally understand Chris and thank you for your considerate response. I will just have some fun building it and submit it with a feature request.

sg

1 Like