<div dir="ltr"><div class="gmail_default" style="font-size:small">Hi All,</div><div class="gmail_default" style="font-size:small"><br></div><div class="gmail_default" style="font-size:small"># TL;DR</div><div class="gmail_default" style="font-size:small"><br></div><div class="gmail_default" style="font-size:small">- The new agent is written in rust [2].</div><div class="gmail_default" style="font-size:small">- We need the community to be more familiar with the rust language.</div><div class="gmail_default" style="font-size:small">- I've written some brief notes on rust, along with a very simple program written in both golang and rust (to allow you to "diff the implementations") for educational purposes. See [6].<br></div><div class="gmail_default" style="font-size:small"><br></div><div class="gmail_default" style="font-size:small"><br></div><div class="gmail_default" style="font-size:small"># The Kata agent</div><div class="gmail_default" style="font-size:small"><br></div><div class="gmail_default" style="font-size:small">As you may be aware, the current Kata agent is written in golang [1]. But we also have a newer agent written in rust [2]. That implies we need more rust programmers in the community to:</div><div class="gmail_default" style="font-size:small"><br></div><div class="gmail_default" style="font-size:small">- Work on rust PRs.</div><div class="gmail_default" style="font-size:small">- Write new tests in rust (our test advice document explains how to write tests in both golang and rust [3]).</div><div class="gmail_default" style="font-size:small">- Have some rust knowledge to help ask awkward questions [4] on the code when they review PRs ;)<br></div><div class="gmail_default" style="font-size:small"><br></div><div class="gmail_default" style="font-size:small"><br></div><div class="gmail_default" style="font-size:small"># Is this you?<br></div><div class="gmail_default" style="font-size:small"><br></div><div class="gmail_default" style="font-size:small">Since much of the container ecosystem is currently written in golang, you may not be familiar with rust yet. Or maybe you looked at learning rust ages ago and gave up in frustration whilst also wondering what all the fuss was about?<br></div><div class="gmail_default" style="font-size:small"><br></div><div class="gmail_default" style="font-size:small"><br></div><div class="gmail_default" style="font-size:small"># Rust docs</div><div class="gmail_default" style="font-size:small"><br></div><div class="gmail_default" style="font-size:small">There is a lot of material on rust available including the excellent official documentation [5]. However, it can all be a little overwhelming initially due to the sheer size and scope of available material.</div><div class="gmail_default" style="font-size:small"><br></div><div class="gmail_default" style="font-size:small">If you already know golang and want a very quick "jump start", my (very brief and incomplete) notes plus example program written in go and rust may be useful [6]. Usual caveats apply [7].</div><div class="gmail_default" style="font-size:small"><br></div><div class="gmail_default" style="font-size:small"><br></div><div class="gmail_default" style="font-size:small"># Learning rust</div><div class="gmail_default" style="font-size:small"><br></div><div class="gmail_default" style="font-size:small">I think all those who have learnt or are currently learning rust will concede that it is not an easy language to become fully comfortable with. It requires a significant investment in time to learn, but, like many difficult things in life, it really is worth the effort! As usual, perseverance pays off. Read and write as much rust as possible!<br></div><div class="gmail_default" style="font-size:small"><br></div><div class="gmail_default" style="font-size:small"><br></div><div class="gmail_default" style="font-size:small">Cheers,</div><div class="gmail_default" style="font-size:small"><br></div><div class="gmail_default" style="font-size:small">James</div><div class="gmail_default" style="font-size:small"><br></div><div class="gmail_default" style="font-size:small">[1] - <a href="https://github.com/kata-containers/agent">https://github.com/kata-containers/agent</a></div><div class="gmail_default" style="font-size:small">[2] - <a href="https://github.com/kata-containers/kata-containers/tree/2.0-dev/src/agent">https://github.com/kata-containers/kata-containers/tree/2.0-dev/src/agent</a></div><div class="gmail_default" style="font-size:small">[3] - <a href="https://github.com/kata-containers/tests/blob/master/Unit-Test-Advice.md">https://github.com/kata-containers/tests/blob/master/Unit-Test-Advice.md</a></div><div class="gmail_default" style="font-size:small">[4] - <a href="https://github.com/kata-containers/community/blob/master/PR-Review-Guide.md">https://github.com/kata-containers/community/blob/master/PR-Review-Guide.md</a></div><div class="gmail_default" style="font-size:small">[5] - <a href="https://www.rust-lang.org/learn">https://www.rust-lang.org/learn</a></div><div class="gmail_default" style="font-size:small">[6] - <a href="https://github.com/jamesodhunt/go-vs-rust">https://github.com/jamesodhunt/go-vs-rust</a></div><div class="gmail_default" style="font-size:small">[7] -  The notes are in *no way comprehensive* and the example code isn't using fully idiomatic rust, but hopefully does provide a framework for experimentation and education. Blah, blah, blah.</div><div class="gmail_default" style="font-size:small"><br></div><div dir="ltr" class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><font color="#888888"><span style="font-family:monospace,monospace"><span style="font-family:monospace,monospace">---</span></span></font></div><div dir="ltr"><a href="https://katacontainers.io/" style="color:rgb(17,85,204);font-family:monospace,monospace" target="_blank">https://katacontainers.io/</a><span style="color:rgb(136,136,136);font-family:monospace,monospace"> | <a href="https://github.com/clearcontainers" target="_blank">https://github.com/kata-containers</a></span><font color="#888888"><span style="font-family:monospace,monospace"><span style="font-family:monospace,monospace"><br></span></span></font></div><div dir="ltr"><font color="#888888"><font face="monospace, monospace">Open Source Technology Center</font><br><font face="monospace, monospace">Intel Corporation (UK) Ltd. - Co. Reg. #1134945 - Pipers Way, Swindon SN3 1RJ.</font></font><br></div></div></div></div></div></div></div></div></div></div></div></div>