langpacks icon indicating copy to clipboard operation
langpacks copied to clipboard

Rust and C++ package sets

Open anowell opened this issue 5 years ago • 2 comments

(disclaimer: low priority, no pressing requirement to CR or merge)

[Feb 2020 Update] This PR was overhauled Feb 2020 to be more inline with other packageset design decisions. It was successfully validated with the packageset validator script, but hasn't actually been installed into any cluster.

anowell avatar Feb 18 '19 00:02 anowell

* [ ]  runtime image? I'm not sure what to do here. Rust algos will need libssl (for algo client), but otherwise, it's completely dependent on what libs the algorithm used. In theory, that could be almost anything (e.g. there are even tensorflow bindings in rust), in practice, almost nobody uses rust on our platform. 🤷‍♂️

My thought is that the base image should be what it is now - small and with the things we know are common. Beyond that we could be creating packagesets as needed (e.g. rust + ffmpeg bindings). Ideally we'd have the + whatever extend from the same base image but that's WIP still.

* [ ]  C/C++. I've demonstrated that it's possible to build C/C++ code in this package set. In theory, I could create a separate template that stubs out the C/C++ build pieces to make it easier to do, but I'm currently staying away from that because an official decision to support C/C++ deserves more thought than just hacking out a hybrid rust+cpp template.

Not sure I see the C++ stuff in here? If it was extra work I might rather leave it out from this PR

pmcq avatar Feb 22 '19 03:02 pmcq

I believe the last commits make this much closer to something we could merge. I believe these are the remaining pieces:

  • [x] Accept or reject the design choice of exposing fn main and a function to register the apply function. Pages 9-11 of this doc build the case for this approach
  • [ ] Nail down versioning story for rust packageset
    • [ ] fixed version or latest stable in Dockerfile?
    • [ ] Should the algorithmia.conf file have some sort of version?
  • [x] Testing - need to re-verify packageset builds, and then actually figure out a good way to test the containerized build/run. The process felt very clunky the last time I tried.
  • [x] Cut a non-beta 3.0 release of the rust client (just waiting on any feedback on the API for registering the handler which has reference documentation here) and use it in this template
  • [ ] Figure out how to ship this.

anowell avatar Apr 06 '19 07:04 anowell