Seems like a good time to share my rewrite of Vault to Rust which contains a few enterprise features and is fully open source. It is still experimental and the architecture is a bit different from Vault. Feel free to try it out by following any of the examples!
Not halted by any means. It currently relies on Litestream to do streaming replication, but unfortunately the author of Litestream removed streaming replication. I have been working on a Rust rewrite of Litestream which will be ready within a few weeks and will be incorporated into Covert. My focus on the Litestream rewrite is the reason there hasn't been any commits directly to the Covert repo the last months.
Litestream author here. The streaming replication was moved to a different project called LiteFS[1]. That may be a fit for you or, at the very least, it could be a helpful reference for your Rust port.
Yeah, I haven't looked too deeply into LiteFS yet. I need the replication to work well with SQLCipher and the ability for the Covert server to completely control the master encryption key without passing it over any network or language barrier (this means I would have needed a Rust rewrite of Litestream even if it still supported streaming replication). Thanks a lot for releasing Litestream to the public. I have learned a ton about SQLite from reading the codebase!
Very cool, I'd have a big use case for "Litestream in Rust" as a library.
Any way to get notified about the release?
Also: will this be a straight port, or could it also support "live-replication" from S3, instead of just on-demand restores? https://github.com/backtrace-labs/verneuil supports this. Sadly it isn't very actively maintained and buggy.
Interesting! You could follow me on Github to get notified when the repo is made public. Other than that I will probably do a Show HN and post it to Reddit as well.
It will mostly be a straight port as I think that is the optimal way to rewrite a codebase from one language to another. First step is to do an almost line by line copy paste from Go to Rust and then port the test suite and get that passing. At this point I would do a major refactoring where I can rely on the test suite to make sure I don't break anything and ensure the codebase is idiomatic Rust. Once that is done we can start extending the project with additional features.
Live replication from S3 sounds cool so please open a more detailed GH issue to describe the use-case for it once the repo is public!
I've looked into using educative.io for course creation. There is a little bit more of politics involved when creating the course because of the expectation of high quality code. Also they use internal Docker tools to be able to create the interactive coding environments.
Slip, which I am using right now, is more straightforward and the ability to have code snippets in line which flows with the material is awesome.
Also, Slip is working on integrating with multiple platforms (StackBlitz, Figma, Repl, CodeSandbox) so we can leverage those platforms as well.
Both have a great offering and creating a course is "free" so would recommend giving both a try if you're looking to create a course.
We're a brand new startup. Only a few months old and we're currently a team of just 2 people.
One way we plan to differentiate is by being the easiest tool to use on the author side.
We've seen some early users already spend 10s of hours in their course per week which is really promising.
We're actively thinking of ways to transform awesome developers into great course teachers.
One hack we found was that a lot of great devs don't realize how valuable their knowledge is. We added a presale feature to encourage our most promising authors to build an amazing course.
There is certainly some features missing before it can be a production ready classroom tool with 25+ students, in particular having different roles and policies for the participants.
Luckily that is something that I am going to focus on implementing next.
I am definitely going to work hard on this project. I would love to hear more about what usecases you think might be missing, dont hesitate to add feature requests as issues in the repository on github when you think of something else.
It is not horizontally scalable right now, but that is not hard to implement either. You can have a look at the dogehouse project: https://github.com/benawad/dogehouse if you want to see how to horizontally scale mediasoup which is the media handler and stateful process within the servers.
I think vertical scaling will be more than enough for most of the users that are going to self-host this.
Repo: https://github.com/fmeringdal/covert Examples: https://github.com/fmeringdal/covert/tree/main/examples