-
InfluxDB
Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
There is a lot of "logical" errors possible in a container runtime that no language will save you from. See CVE-2019-18837 https://github.com/containers/crun/pull/173
Another Rust option is Firecracker, it manages micro VM but can be used for Docker, ala Fargate and https://github.com/weaveworks/ignite
crun runs the OCI validations tests on each PR.
The tests are maintained here: https://github.com/opencontainers/runtime-tools/tree/master/...
I guess this is the closest to be "certified compliant", but that is not enough for working with existing container engines as everyone just assumes runc is used
> nothing really stopping you, but it's not the usual approach
In my experience, if you open-source a project, it better have to follow conventions. Following conventions makes sure someone else can read your code easily.
> In which directory to store files is an incredibly small and minor detail though.
Yeah it's a small detail, but it is important to me to not get lost in a directory tree.
Random example taken from a github search: https://github.com/gofiber/fiber
Is it really ok to have that much source code at the toplevel? Is the code architecture clear at a glance?
For me, it is not, and I'll have to put in extra work (I'm lazy) to understand the code and how it works.
I don't mind doing that for other projects, but for my projects as I work on them daily, it becomes a pain very quickly.
This pattern or close variants or subsets are fairly common:
https://github.com/golang-standards/project-layout
The particular implementation detail I was referring to: https://github.com/opencontainers/runc/tree/master/libcontai...
The distinction I was attempting to make is whether or not C source code is required in your Go project to fully implement a container runtime.