Re: Serpent OS Infrastructure - Live
On Thursday, 23 March 2023 at 19:31:12 UTC, M.M. wrote: On Thursday, 23 March 2023 at 16:39:17 UTC, Ikey Doherty wrote: So normally a post like this really isn't that interesting. However, our infrastructure has been written in D and is now live! [...] Wow! That's a whole lot of work, and very interesting one. I guess there's still a lot to be done. I go read more on the project website, and wish good luck with the project. Oh there's so much to do! We took the decision to aim for our PoC so we could buy approx. 6 months to build the rest of the project out. Learning how to do CI/CD via DLang has been really fun =)
Re: Serpent OS Infrastructure - Live
On Thursday, 23 March 2023 at 16:39:17 UTC, Ikey Doherty wrote: So normally a post like this really isn't that interesting. However, our infrastructure has been written in D and is now live! We've had a couple of teething problems, notably libcurl on Alma Linux is super outdated, and hit pthread_t exhaustion when using `task!FN().executeInNewThread` so we switched to a thread pool ... ![img](https://serpentos.com/static/img/blog/infrastructure-launched/Featured.webp) Other than that, it's rolling. Blog post: https://serpentos.com/blog/2023/03/18/infrastructure-launched/ **Code** Summit (dashboard): https://github.com/serpent-os/summit Avalanche (builder as a service): https://github.com/serpent-os/avalanche Vessel (repo manager): https://github.com/serpent-os/vessel Boulder (build tool): https://github.com/serpent-os/boulder Moss (package manager): https://github.com/serpent-os/moss Shared service APIS: https://github.com/serpent-os/moss-service Shared package APIS: https://github.com/serpent-os/libmoss Instance: https://dash.serpentos.com **Basics** The build components are paired using a REST API, public keys and EdDSA JSON Web Tokens. The dashboard schedules builds using a graph, fetching the git recipes and determining missing builds. TLDR every missing build gets scheduled and ends up in the repository's public tree. Right now we're running it at a small scale to find out various teething issues, but do have plans to scale it beyond the current setup. Long story short we're looking to a k8s style setup with separate postgresql (rather than lmdb), and transient builders rather than the current pairing system for blessed instances. Also we're growing highly tired of relying on C libs that are host OS dependent, and are planning a rearchitecture of the core tooling around fibers (using vibe.d core APIs) which will lead to more natural idioms (allowing us to kill our predominantely OOP approach and move towards ducktyping and significantly less allocations) Great project!
Re: Serpent OS Infrastructure - Live
On Thursday, 23 March 2023 at 16:39:17 UTC, Ikey Doherty wrote: So normally a post like this really isn't that interesting. However, our infrastructure has been written in D and is now live! [...] Wow! That's a whole lot of work, and very interesting one. I guess there's still a lot to be done. I go read more on the project website, and wish good luck with the project.
Serpent OS Infrastructure - Live
So normally a post like this really isn't that interesting. However, our infrastructure has been written in D and is now live! We've had a couple of teething problems, notably libcurl on Alma Linux is super outdated, and hit pthread_t exhaustion when using `task!FN().executeInNewThread` so we switched to a thread pool ... ![img](https://serpentos.com/static/img/blog/infrastructure-launched/Featured.webp) Other than that, it's rolling. Blog post: https://serpentos.com/blog/2023/03/18/infrastructure-launched/ **Code** Summit (dashboard): https://github.com/serpent-os/summit Avalanche (builder as a service): https://github.com/serpent-os/avalanche Vessel (repo manager): https://github.com/serpent-os/vessel Boulder (build tool): https://github.com/serpent-os/boulder Moss (package manager): https://github.com/serpent-os/moss Shared service APIS: https://github.com/serpent-os/moss-service Shared package APIS: https://github.com/serpent-os/libmoss Instance: https://dash.serpentos.com **Basics** The build components are paired using a REST API, public keys and EdDSA JSON Web Tokens. The dashboard schedules builds using a graph, fetching the git recipes and determining missing builds. TLDR every missing build gets scheduled and ends up in the repository's public tree. Right now we're running it at a small scale to find out various teething issues, but do have plans to scale it beyond the current setup. Long story short we're looking to a k8s style setup with separate postgresql (rather than lmdb), and transient builders rather than the current pairing system for blessed instances. Also we're growing highly tired of relying on C libs that are host OS dependent, and are planning a rearchitecture of the core tooling around fibers (using vibe.d core APIs) which will lead to more natural idioms (allowing us to kill our predominantely OOP approach and move towards ducktyping and significantly less allocations)
Re: Serpent OS
On Thursday, 24 November 2022 at 23:32:53 UTC, Ikey Doherty wrote: On Thursday, 24 November 2022 at 12:43:27 UTC, Ikey Doherty wrote: On Thursday, 24 November 2022 at 10:42:47 UTC, Sergey wrote: On Thursday, 24 November 2022 at 08:39:39 UTC, Mahdis wrote: [...] It will be interesting if D Monthly Meeting Foundation will invite to participate Ikey (if he would like). It seems he has something to share with core developers about building process, modern x64-86 architecture support and other things. I dare say I have very little in the way of suggestions right now as I'm navigating some BKMs for Serpent OS and perhaps defining some. We've been banging this into shape for roughly 2 years now, so we'll start our engagement at the bottom and work our way up ideally. Hopefully we can provide some PRs and DIPs along the way. :) Video demonstrating where we're at: https://youtu.be/SragDP7S_SU I love it, I want to use it as my main OS instead of Fedora. But I don't know when it will be released? Does it mean that the iso will be placed on the website?
Re: Serpent OS
On Thursday, 24 November 2022 at 12:43:27 UTC, Ikey Doherty wrote: On Thursday, 24 November 2022 at 10:42:47 UTC, Sergey wrote: On Thursday, 24 November 2022 at 08:39:39 UTC, Mahdis wrote: [...] It will be interesting if D Monthly Meeting Foundation will invite to participate Ikey (if he would like). It seems he has something to share with core developers about building process, modern x64-86 architecture support and other things. I dare say I have very little in the way of suggestions right now as I'm navigating some BKMs for Serpent OS and perhaps defining some. We've been banging this into shape for roughly 2 years now, so we'll start our engagement at the bottom and work our way up ideally. Hopefully we can provide some PRs and DIPs along the way. :) Video demonstrating where we're at: https://youtu.be/SragDP7S_SU
Re: Serpent OS
On Thursday, 24 November 2022 at 10:42:47 UTC, Sergey wrote: On Thursday, 24 November 2022 at 08:39:39 UTC, Mahdis wrote: Honestly, I am surprised that its tools like package manager are written with dlang: https://www.phoronix.com/news/Serpent-OS-Infrastructure Fortunately, D Lang is gradually gaining popularity It will be interesting if D Monthly Meeting Foundation will invite to participate Ikey (if he would like). It seems he has something to share with core developers about building process, modern x64-86 architecture support and other things. I dare say I have very little in the way of suggestions right now as I'm navigating some BKMs for Serpent OS and perhaps defining some. We've been banging this into shape for roughly 2 years now, so we'll start our engagement at the bottom and work our way up ideally. Hopefully we can provide some PRs and DIPs along the way. :)
Re: Serpent OS
On Thursday, 24 November 2022 at 10:37:12 UTC, bauss wrote: On Thursday, 24 November 2022 at 08:39:39 UTC, Mahdis wrote: Honestly, I am surprised that its tools like package manager are written with dlang: https://www.phoronix.com/news/Serpent-OS-Infrastructure Fortunately, D Lang is gradually gaining popularity The website is built with vibe.d also :) I will admit the serpentos.com/ repo is a total hack. It was an effort in running away from Hugo as quickly as possible for ease of maintenance whilst getting things going quickly. It lazily rebuilds a cache DB from hugo-compatible-ish markdown files and processes them for rendering using a simple diet template. It's been running for months now so I'm happy with it. The new infra projects make use of vibe.d+moss-service, for authenticaton+ authorisation management with EdDSA JWTs and such. Very fluid right now as we define the architecture but the plan is to have rolling builds very very soon.
Re: Serpent OS
On Thursday, 24 November 2022 at 08:39:39 UTC, Mahdis wrote: Honestly, I am surprised that its tools like package manager are written with dlang: https://www.phoronix.com/news/Serpent-OS-Infrastructure Fortunately, D Lang is gradually gaining popularity It will be interesting if D Monthly Meeting Foundation will invite to participate Ikey (if he would like). It seems he has something to share with core developers about building process, modern x64-86 architecture support and other things.
Re: Serpent OS
On Thursday, 24 November 2022 at 08:39:39 UTC, Mahdis wrote: Honestly, I am surprised that its tools like package manager are written with dlang: https://www.phoronix.com/news/Serpent-OS-Infrastructure Fortunately, D Lang is gradually gaining popularity The website is built with vibe.d also :)
Serpent OS
Honestly, I am surprised that its tools like package manager are written with dlang: https://www.phoronix.com/news/Serpent-OS-Infrastructure Fortunately, D Lang is gradually gaining popularity