unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
* Arun Isaac Presentation on guix-forge this Saturday
@ 2022-05-24 23:26 jgart
  2022-05-24 23:45 ` Tobias Geerinckx-Rice
                   ` (3 more replies)
  0 siblings, 4 replies; 30+ messages in thread
From: jgart @ 2022-05-24 23:26 UTC (permalink / raw)
  To: Guix Devel

hi guixers!

I'd like to invite you this Saturday to a presentation on guix-forge by Arun Isaac:

https://guix-forge.systemreboot.net/

guix-forge empowers users to bring their own forge (BYOF). It's a much
needed project with an design focus on statelessness and minimalism.

Arun will be presenting on guix-forge this Saturday at 16:00 UTC.

Here's the room invite link:

https://meet.nixnet.services/b/jga-nze-hgu-1qg

hope to see ya there,

jgart

https://whereis.みんな/
https://litterbox.whereis.みんな/



^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: Arun Isaac Presentation on guix-forge this Saturday
  2022-05-24 23:26 Arun Isaac Presentation on guix-forge this Saturday jgart
@ 2022-05-24 23:45 ` Tobias Geerinckx-Rice
  2022-05-25  0:06   ` jgart
  2022-05-25  6:29 ` Pjotr Prins
                   ` (2 subsequent siblings)
  3 siblings, 1 reply; 30+ messages in thread
From: Tobias Geerinckx-Rice @ 2022-05-24 23:45 UTC (permalink / raw)
  To: jgart; +Cc: guix-devel

[-- Attachment #1: Type: text/plain, Size: 180 bytes --]

jgart 写道:
> I'd like to invite you this Saturday to a presentation on 
> guix-forge by Arun Isaac:

Magical: I can probably make it this time.

Kind regards,

T G-R

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 247 bytes --]

^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: Arun Isaac Presentation on guix-forge this Saturday
  2022-05-24 23:45 ` Tobias Geerinckx-Rice
@ 2022-05-25  0:06   ` jgart
  0 siblings, 0 replies; 30+ messages in thread
From: jgart @ 2022-05-25  0:06 UTC (permalink / raw)
  To: Tobias Geerinckx-Rice; +Cc: guix-devel

On Wed, 25 May 2022 01:45:07 +0200 Tobias Geerinckx-Rice <me@tobias.gr> wrote:
> jgart 写道:
> > I'd like to invite you this Saturday to a presentation on 
> > guix-forge by Arun Isaac:
> 
> Magical: I can probably make it this time.
> 
> Kind regards,
> 
> T G-R

Glad to hear you'll make it.

till Sat,

jgart


^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: Arun Isaac Presentation on guix-forge this Saturday
  2022-05-24 23:26 Arun Isaac Presentation on guix-forge this Saturday jgart
  2022-05-24 23:45 ` Tobias Geerinckx-Rice
@ 2022-05-25  6:29 ` Pjotr Prins
  2022-05-25  7:27   ` Blake Shaw
  2022-05-26  7:17   ` Arun Isaac
  2022-05-25  9:07 ` zimoun
  2022-05-25 14:14 ` Olivier Dion via Development of GNU Guix and the GNU System distribution.
  3 siblings, 2 replies; 30+ messages in thread
From: Pjotr Prins @ 2022-05-25  6:29 UTC (permalink / raw)
  To: jgart; +Cc: Guix Devel

Guix-forge aims to replace github and gitlab. I don't know how much
Arun will show, but I would like to note that under their guidance we
have replaced the github issue trackers, kanban boards, and CI for the
genenetwork project.

https://ci.genenetwork.org/

https://issues.genenetwork.org/

In all it is *much* nicer to work with.

We still have github as a backend for most git repos, but the main
thing is that we are not delivered to github functionality and may
move off to gitea or cgit any time:

https://git.genenetwork.org/

Important stuff!

Pj.

On Tue, May 24, 2022 at 06:26:56PM -0500, jgart wrote:
> hi guixers!
> 
> I'd like to invite you this Saturday to a presentation on guix-forge by Arun Isaac:
> 
> https://guix-forge.systemreboot.net/
> 
> guix-forge empowers users to bring their own forge (BYOF). It's a much
> needed project with an design focus on statelessness and minimalism.
> 
> Arun will be presenting on guix-forge this Saturday at 16:00 UTC.
> 
> Here's the room invite link:
> 
> https://meet.nixnet.services/b/jga-nze-hgu-1qg
> 
> hope to see ya there,
> 
> jgart
> 
> https://whereis.みんな/
> https://litterbox.whereis.みんな/
> 
> 


^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: Arun Isaac Presentation on guix-forge this Saturday
  2022-05-25  6:29 ` Pjotr Prins
@ 2022-05-25  7:27   ` Blake Shaw
  2022-05-26  7:17   ` Arun Isaac
  1 sibling, 0 replies; 30+ messages in thread
From: Blake Shaw @ 2022-05-25  7:27 UTC (permalink / raw)
  To: Pjotr Prins; +Cc: jgart, Guix Devel

[-- Attachment #1: Type: text/plain, Size: 1508 bytes --]

Wow this is incredible, can't wait to hear about it!

On Wed, May 25, 2022, 13:50 Pjotr Prins <pjotr.public12@thebird.nl> wrote:

> Guix-forge aims to replace github and gitlab. I don't know how much
> Arun will show, but I would like to note that under their guidance we
> have replaced the github issue trackers, kanban boards, and CI for the
> genenetwork project.
>
> https://ci.genenetwork.org/
>
> https://issues.genenetwork.org/
>
> In all it is *much* nicer to work with.
>
> We still have github as a backend for most git repos, but the main
> thing is that we are not delivered to github functionality and may
> move off to gitea or cgit any time:
>
> https://git.genenetwork.org/
>
> Important stuff!
>
> Pj.
>
> On Tue, May 24, 2022 at 06:26:56PM -0500, jgart wrote:
> > hi guixers!
> >
> > I'd like to invite you this Saturday to a presentation on guix-forge by
> Arun Isaac:
> >
> > https://guix-forge.systemreboot.net/
> >
> > guix-forge empowers users to bring their own forge (BYOF). It's a much
> > needed project with an design focus on statelessness and minimalism.
> >
> > Arun will be presenting on guix-forge this Saturday at 16:00 UTC.
> >
> > Here's the room invite link:
> >
> > https://meet.nixnet.services/b/jga-nze-hgu-1qg
> >
> > hope to see ya there,
> >
> > jgart
> >
> > https://whereis.みんな/ <https://whereis.xn--q9jyb4c/>
> > https://litterbox.whereis.みんな/ <https://litterbox.whereis.xn--q9jyb4c/>
> >
> >
>
>

[-- Attachment #2: Type: text/html, Size: 2543 bytes --]

^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: Arun Isaac Presentation on guix-forge this Saturday
  2022-05-24 23:26 Arun Isaac Presentation on guix-forge this Saturday jgart
  2022-05-24 23:45 ` Tobias Geerinckx-Rice
  2022-05-25  6:29 ` Pjotr Prins
@ 2022-05-25  9:07 ` zimoun
  2022-05-25 16:25   ` jgart
  2022-05-25 14:14 ` Olivier Dion via Development of GNU Guix and the GNU System distribution.
  3 siblings, 1 reply; 30+ messages in thread
From: zimoun @ 2022-05-25  9:07 UTC (permalink / raw)
  To: jgart, Guix Devel

Hi,

On mar., 24 mai 2022 at 18:26, jgart <jgart@dismail.de> wrote:

> https://meet.nixnet.services/b/jga-nze-hgu-1qg

Cool!  Is it planned to record?

(Well, real life is what it is, I have some constraints on the slot and
I would like to know if I have to try hard to free this slot. :-))


Cheers,
simon


^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: Arun Isaac Presentation on guix-forge this Saturday
  2022-05-24 23:26 Arun Isaac Presentation on guix-forge this Saturday jgart
                   ` (2 preceding siblings ...)
  2022-05-25  9:07 ` zimoun
@ 2022-05-25 14:14 ` Olivier Dion via Development of GNU Guix and the GNU System distribution.
  2022-05-25 18:54   ` Arun Isaac
  2022-05-28 12:12   ` Arun Isaac Presentation on guix-forge this Saturday david larsson
  3 siblings, 2 replies; 30+ messages in thread
From: Olivier Dion via Development of GNU Guix and the GNU System distribution. @ 2022-05-25 14:14 UTC (permalink / raw)
  To: jgart, Guix Devel

On Tue, 24 May 2022, jgart <jgart@dismail.de> wrote:
> hi guixers!
>
> I'd like to invite you this Saturday to a presentation on guix-forge by Arun Isaac:
>
> https://guix-forge.systemreboot.net/

Quick question about guix-forge.  Why laminar instead of cuirass as the CI?

-- 
Olivier Dion
oldiob.dev


^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: Arun Isaac Presentation on guix-forge this Saturday
  2022-05-25  9:07 ` zimoun
@ 2022-05-25 16:25   ` jgart
  0 siblings, 0 replies; 30+ messages in thread
From: jgart @ 2022-05-25 16:25 UTC (permalink / raw)
  To: zimoun; +Cc: Guix Devel

On Wed, 25 May 2022 11:07:39 +0200 zimoun <zimon.toutoune@gmail.com> wrote:
> Hi,
> 
> On mar., 24 mai 2022 at 18:26, jgart <jgart@dismail.de> wrote:
> 
> > https://meet.nixnet.services/b/jga-nze-hgu-1qg
> 
> Cool!  Is it planned to record?

Hi,

Yes, I'll record it with Big Blue Button and release it afterwards.



^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: Arun Isaac Presentation on guix-forge this Saturday
  2022-05-25 14:14 ` Olivier Dion via Development of GNU Guix and the GNU System distribution.
@ 2022-05-25 18:54   ` Arun Isaac
  2022-05-25 19:41     ` Olivier Dion via Development of GNU Guix and the GNU System distribution.
  2022-05-27  9:06     ` Cuirass and SQL zimoun
  2022-05-28 12:12   ` Arun Isaac Presentation on guix-forge this Saturday david larsson
  1 sibling, 2 replies; 30+ messages in thread
From: Arun Isaac @ 2022-05-25 18:54 UTC (permalink / raw)
  To: Olivier Dion, jgart, Guix Devel


Hi Olivier,

> Quick question about guix-forge.  Why laminar instead of cuirass as
> the CI?

Two reasons:

- Cuirass requires a PostgreSQL database, but I wanted guix-forge to be
  as stateless as possible and definitely not require a complex database
  server like PostgreSQL. Laminar just uses sqlite.
  
- Laminar is very minimal and easy to deploy. Long back when I tried
  cuirass, I couldn't really figure out how to run it for general
  purpose CI. Maybe, the manual has improved since then, but I haven't
  checked.

Cheers!
Arun


^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: Arun Isaac Presentation on guix-forge this Saturday
  2022-05-25 18:54   ` Arun Isaac
@ 2022-05-25 19:41     ` Olivier Dion via Development of GNU Guix and the GNU System distribution.
  2022-05-26  7:28       ` Arun Isaac
  2022-05-27  9:06     ` Cuirass and SQL zimoun
  1 sibling, 1 reply; 30+ messages in thread
From: Olivier Dion via Development of GNU Guix and the GNU System distribution. @ 2022-05-25 19:41 UTC (permalink / raw)
  To: Arun Isaac, jgart, Guix Devel

On Thu, 26 May 2022, Arun Isaac <arunisaac@systemreboot.net> wrote:
> Hi Olivier,
>
>> Quick question about guix-forge.  Why laminar instead of cuirass as
>> the CI?
>
> Two reasons:
>
> - Cuirass requires a PostgreSQL database, but I wanted guix-forge to be
>   as stateless as possible and definitely not require a complex database
>   server like PostgreSQL. Laminar just uses sqlite.

Right.  This is something that's also bothering me.  I wonder how hard
it would be to select the database used by cuirass at runtime.
   
> - Laminar is very minimal and easy to deploy. Long back when I tried
>   cuirass, I couldn't really figure out how to run it for general
>   purpose CI. Maybe, the manual has improved since then, but I haven't
>   checked.

I did found the manual to be lacking.  I'm using it just to re-compile
my local package though so it's enough.

Tell me, does Laminar check for channels update like cuirass?  The main
feature I like about cuirass is that if any dependencies of a package is
updated, it will rebuild my package.  If it does support that, I will
seriously consider switching to guix-forge for my project.

-- 
Olivier Dion
oldiob.dev


^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: Arun Isaac Presentation on guix-forge this Saturday
  2022-05-25  6:29 ` Pjotr Prins
  2022-05-25  7:27   ` Blake Shaw
@ 2022-05-26  7:17   ` Arun Isaac
  2022-05-30 15:55     ` Ludovic Courtès
  1 sibling, 1 reply; 30+ messages in thread
From: Arun Isaac @ 2022-05-26  7:17 UTC (permalink / raw)
  To: Pjotr Prins, jgart; +Cc: Guix Devel


Hi all,

Thanks for giving me this opportunity to present guix-forge. In
particular, I wish to thank both jgart and Pjotr. guix-forge owes its
existence to their encouragement.

guix-forge is a Guix service that, ambitiously, tries to reproduce a
sourcehut, GitHub or GitLab like code forge, but using only
off-the-shelf components like cgit, laminar, public-inbox, etc. The idea
is to enable users to write a few lines of Guix operating-system
configuration code, and have an entire code forge deployed and
ready. guix-forge is similar to projects like FreedomBox, YunoHost and
Mail-in-a-Box, but for code forges and built on the rock-solid
foundation that is Guix.

For now, only the laminar CI feature is in place. In the presentation, I
will show a setup of laminar CI with guix-forge. On every git commit to
a project repo, the CI will
- automatically run tests for the project
- build and deploy a static project website

If you would like to take a sneak peek of a guix-forge configuration,
there is a simple example in the Tutorial section of the manual at
https://guix-forge.systemreboot.net/manual/dev/en/

For a more complex real world configuration that, among other things,
does continuous deployment of a web service, you can look at the
guix-forge configuration for genenetwork.org at
https://git.genenetwork.org/arunisaac/genenetwork-machines . The Laminar
CI deployed by this configuration is at https://ci.genenetwork.org/

Thanks,
Arun


^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: Arun Isaac Presentation on guix-forge this Saturday
  2022-05-25 19:41     ` Olivier Dion via Development of GNU Guix and the GNU System distribution.
@ 2022-05-26  7:28       ` Arun Isaac
  2022-05-26 15:13         ` Olivier Dion via Development of GNU Guix and the GNU System distribution.
  0 siblings, 1 reply; 30+ messages in thread
From: Arun Isaac @ 2022-05-26  7:28 UTC (permalink / raw)
  To: Olivier Dion, jgart, Guix Devel


Hi Olivier,

> Tell me, does Laminar check for channels update like cuirass?  The main
> feature I like about cuirass is that if any dependencies of a package is
> updated, it will rebuild my package.  If it does support that, I will
> seriously consider switching to guix-forge for my project.

Short answer: No, laminar/guix-forge don't rerun CI jobs when package
dependencies change.

Long answer:

It should be possible to configure laminar to do something like that.

Laminar has a very minimalist Unix-philosophy design and does not even
automatically trigger CI jobs on git commits. The user has to manually
set up a post-receive hook in the git repository that runs `laminarc
queue <job-name>'. guix-forge automatically handles this post-receive
hook setup for you. So, though I don't immediately see how to do it, it
should be possible to set up something that runs `laminarc queue
<job-name>' on dependency changes.

Laminar stands out from other CI systems in that it is not a monolith
and is very easy to interface with external tools. So, I was able to
write up Guix system configuration to do it. But, if Cuirass can provide
smoother integration with Guix, I'm more than happy to switch. The main
blocker is the postgres database.

Regards,
Arun


^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: Arun Isaac Presentation on guix-forge this Saturday
  2022-05-26  7:28       ` Arun Isaac
@ 2022-05-26 15:13         ` Olivier Dion via Development of GNU Guix and the GNU System distribution.
  2022-05-26 15:52           ` Arun Isaac
  0 siblings, 1 reply; 30+ messages in thread
From: Olivier Dion via Development of GNU Guix and the GNU System distribution. @ 2022-05-26 15:13 UTC (permalink / raw)
  To: Arun Isaac, jgart, Guix Devel

On Thu, 26 May 2022, Arun Isaac <arunisaac@systemreboot.net> wrote:
>> Tell me, does Laminar check for channels update like cuirass?  The main
>> feature I like about cuirass is that if any dependencies of a package is
>> updated, it will rebuild my package.  If it does support that, I will
>> seriously consider switching to guix-forge for my project.

> it should be possible to set up something that runs `laminarc queue
> <job-name>' on dependency changes.

Right.  It's just a matter of checking how cuirass does it and do the
same in guix-forge.

> Laminar stands out from other CI systems in that it is not a monolith
> and is very easy to interface with external tools. So, I was able to
> write up Guix system configuration to do it. But, if Cuirass can provide
> smoother integration with Guix, I'm more than happy to switch. The main
> blocker is the postgres database.

Right.  Postgresql makes sens for huge CI like ci.guix.gnu.org I guess.
However it would indeed be nice to have the option to select sqlite as
the DBMS.  For the Guile portion that should be trivial I think.  The
difficult part is probably within the SQL schema, if Postgresql'
extensions were used.  Maybe the solution would be to use a
object-relational mapper and generate the schemas on the fly depending
on the DBMS.  I think that `guile-dbi` does just that.

To continue :-)

Regards,
old

-- 
Olivier Dion
oldiob.dev


^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: Arun Isaac Presentation on guix-forge this Saturday
  2022-05-26 15:13         ` Olivier Dion via Development of GNU Guix and the GNU System distribution.
@ 2022-05-26 15:52           ` Arun Isaac
  0 siblings, 0 replies; 30+ messages in thread
From: Arun Isaac @ 2022-05-26 15:52 UTC (permalink / raw)
  To: Olivier Dion, jgart, Guix Devel


Hi Olivier,

> Right.  Postgresql makes sens for huge CI like ci.guix.gnu.org I guess.
> However it would indeed be nice to have the option to select sqlite as
> the DBMS.

Exactly!

> Maybe the solution would be to use a object-relational mapper and
> generate the schemas on the fly depending on the DBMS.  I think that
> `guile-dbi` does just that.

I think object-relational mappers add too much complexity. guile-dbi and
guile-dbd-* with simple SQL queries should be more than sufficient for
the job.

Regards,
Arun


^ permalink raw reply	[flat|nested] 30+ messages in thread

* Cuirass and SQL
  2022-05-25 18:54   ` Arun Isaac
  2022-05-25 19:41     ` Olivier Dion via Development of GNU Guix and the GNU System distribution.
@ 2022-05-27  9:06     ` zimoun
  2022-05-28  7:28       ` Blake Shaw
                         ` (3 more replies)
  1 sibling, 4 replies; 30+ messages in thread
From: zimoun @ 2022-05-27  9:06 UTC (permalink / raw)
  To: Arun Isaac, Olivier Dion, jgart, Guix Devel, Mathieu Othacehe

Hi,

On jeu., 26 mai 2022 at 00:24, Arun Isaac <arunisaac@systemreboot.net> wrote:

>> Quick question about guix-forge.  Why laminar instead of cuirass as
>> the CI?
>
> Two reasons:
>
> - Cuirass requires a PostgreSQL database, but I wanted guix-forge to be
>   as stateless as possible and definitely not require a complex database
>   server like PostgreSQL. Laminar just uses sqlite.

Initially, Cuirass was using SQLite but then switched [1] to
PostgreSQL.  The main reason is scalability.

I do not know if it is a technically doable to have two SQL backends and
let the user pick the one they prefer.  For sure, it is not doable from
a maintenance point of view.

About the complexity of PostgreSQL, I think the Guix services [2,3] help here.



1: <http://git.savannah.gnu.org/cgit/guix/guix-cuirass.git/commit/?id=cbc462679d2647ecc897231cc78781a90fa2441a>
2: <https://guix.gnu.org/en/manual/devel/en/guix.html#Continuous-Integration>
3: <https://guix.gnu.org/en/manual/devel/en/guix.html#Database-Services>


Cheers,
simon


^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: Cuirass and SQL
  2022-05-27  9:06     ` Cuirass and SQL zimoun
@ 2022-05-28  7:28       ` Blake Shaw
  2022-05-28  8:45       ` Arun Isaac
                         ` (2 subsequent siblings)
  3 siblings, 0 replies; 30+ messages in thread
From: Blake Shaw @ 2022-05-28  7:28 UTC (permalink / raw)
  To: zimoun; +Cc: Arun Isaac, Olivier Dion, jgart, Guix Devel, Mathieu Othacehe

[-- Attachment #1: Type: text/plain, Size: 1910 bytes --]

For any cuirass-curious readers, I want to say I deployed it on Linode a
week ago and its been one of the most "just works" out-of-the-box tools in
the guix arsenal that I've encountered. It was really easy and painless to
get going, and makes "pinning" milestone system & profile generations a
breeze so that you always have substitutes available for them. This has
sped up my guix workflow tremendously, as I'm able to just commit push,
branch off, try other ideas, push, review past results and keep moving,
instead of getting distracted by checking the news or what have you.

 The remote-server sometimes stops allocating builds to workers though, but
I just restart the server and its fine.

Feels like proper boutique gear, too ;)

On Fri, May 27, 2022, 16:41 zimoun <zimon.toutoune@gmail.com> wrote:

> Hi,
>
> On jeu., 26 mai 2022 at 00:24, Arun Isaac <arunisaac@systemreboot.net>
> wrote:
>
> >> Quick question about guix-forge.  Why laminar instead of cuirass as
> >> the CI?
> >
> > Two reasons:
> >
> > - Cuirass requires a PostgreSQL database, but I wanted guix-forge to be
> >   as stateless as possible and definitely not require a complex database
> >   server like PostgreSQL. Laminar just uses sqlite.
>
> Initially, Cuirass was using SQLite but then switched [1] to
> PostgreSQL.  The main reason is scalability.
>
> I do not know if it is a technically doable to have two SQL backends and
> let the user pick the one they prefer.  For sure, it is not doable from
> a maintenance point of view.
>
> About the complexity of PostgreSQL, I think the Guix services [2,3] help
> here.
>
>
>
> 1: <
> http://git.savannah.gnu.org/cgit/guix/guix-cuirass.git/commit/?id=cbc462679d2647ecc897231cc78781a90fa2441a
> >
> 2: <
> https://guix.gnu.org/en/manual/devel/en/guix.html#Continuous-Integration>
> 3: <https://guix.gnu.org/en/manual/devel/en/guix.html#Database-Services>
>
>
> Cheers,
> simon
>
>

[-- Attachment #2: Type: text/html, Size: 2983 bytes --]

^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: Cuirass and SQL
  2022-05-27  9:06     ` Cuirass and SQL zimoun
  2022-05-28  7:28       ` Blake Shaw
@ 2022-05-28  8:45       ` Arun Isaac
  2022-05-28 14:25         ` Ryan Prior
  2022-05-30 15:50         ` Ludovic Courtès
  2022-05-28 18:01       ` jgart
  2022-05-30 15:02       ` Olivier Dion via Development of GNU Guix and the GNU System distribution.
  3 siblings, 2 replies; 30+ messages in thread
From: Arun Isaac @ 2022-05-28  8:45 UTC (permalink / raw)
  To: zimoun, Olivier Dion, jgart, Guix Devel, Mathieu Othacehe


Hi zimoun,

> Initially, Cuirass was using SQLite but then switched [1] to
> PostgreSQL.  The main reason is scalability.

Ah, I see. I didn't know that.

> I do not know if it is a technically doable to have two SQL backends and
> let the user pick the one they prefer.  For sure, it is not doable from
> a maintenance point of view.

It should be possible with guile-dbi and guile-dbd-*, which abstract
away the database server in use. But, cuirass switched from
guile-sqlite3 to guile-squee, both of which are database server
specific.

> About the complexity of PostgreSQL, I think the Guix services [2,3]
> help here.

There's still the complexity of backing up a PostgreSQL
database---something IIUC the Guix service does not help with, and
probably cannot help with. Then, there's the added complexity of
maintaining database users and authentication. All this is very overkill
for a small CI system.

Cheers!
Arun


^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: Arun Isaac Presentation on guix-forge this Saturday
  2022-05-25 14:14 ` Olivier Dion via Development of GNU Guix and the GNU System distribution.
  2022-05-25 18:54   ` Arun Isaac
@ 2022-05-28 12:12   ` david larsson
  1 sibling, 0 replies; 30+ messages in thread
From: david larsson @ 2022-05-28 12:12 UTC (permalink / raw)
  To: Olivier Dion; +Cc: jgart, Guix Devel, Guix-devel

On 2022-05-25 16:14, Olivier Dion via "Development of GNU Guix and the 
GNU System distribution." wrote:
> On Tue, 24 May 2022, jgart <jgart@dismail.de> wrote:
>> hi guixers!
>> 
>> I'd like to invite you this Saturday to a presentation on guix-forge 
>> by Arun Isaac:
>> 
>> https://guix-forge.systemreboot.net/
> 
> Quick question about guix-forge.  Why laminar instead of cuirass as the 
> CI?

If you want to use cuirass to build certain packages on new commits to 
those packages (or specific branches thereof), I wrote a script that 
does that about a year ago, it might be of interest:

https://gitlab.com/methuselah-0/guix-cigmon

Though no fancy interface comes included :)

Best regards,
David


^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: Cuirass and SQL
  2022-05-28  8:45       ` Arun Isaac
@ 2022-05-28 14:25         ` Ryan Prior
  2022-05-28 15:30           ` Arun Isaac
  2022-05-30 15:50         ` Ludovic Courtès
  1 sibling, 1 reply; 30+ messages in thread
From: Ryan Prior @ 2022-05-28 14:25 UTC (permalink / raw)
  To: Arun Isaac; +Cc: Guix Devel

------- Original Message -------
On Saturday, May 28th, 2022 at 8:45 AM, Arun Isaac <arunisaac@systemreboot.net> wrote:

> There's still the complexity of backing up a PostgreSQL
> database

How much easier is sqlite3?

I host a Postgres server on DigitalOcean with automatic db backup. I've had to restore, it's easy and it works. I also have a few apps in Fly.io using sqlite3, backups are equivalently easy.

> Then, there's the added complexity of
> maintaining database users and authentication

For simplicity in a single-system deployment I recommend running postgres in "trust" mode and listen on a local unix socket rather than exposing it to the network. This allows you to use the same access control for Postgres that you'd use for an sqlite3 db file: file permissions.


^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: Cuirass and SQL
  2022-05-28 14:25         ` Ryan Prior
@ 2022-05-28 15:30           ` Arun Isaac
  0 siblings, 0 replies; 30+ messages in thread
From: Arun Isaac @ 2022-05-28 15:30 UTC (permalink / raw)
  To: Ryan Prior; +Cc: Guix Devel


> For simplicity in a single-system deployment I recommend running
> postgres in "trust" mode and listen on a local unix socket rather than
> exposing it to the network. This allows you to use the same access
> control for Postgres that you'd use for an sqlite3 db file: file
> permissions.

This is useful, thanks! I didn't know about this.


^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: Cuirass and SQL
  2022-05-27  9:06     ` Cuirass and SQL zimoun
  2022-05-28  7:28       ` Blake Shaw
  2022-05-28  8:45       ` Arun Isaac
@ 2022-05-28 18:01       ` jgart
  2022-05-30 15:02       ` Olivier Dion via Development of GNU Guix and the GNU System distribution.
  3 siblings, 0 replies; 30+ messages in thread
From: jgart @ 2022-05-28 18:01 UTC (permalink / raw)
  To: zimoun; +Cc: Arun Isaac, Olivier Dion, Guix Devel, Mathieu Othacehe

On Fri, 27 May 2022 11:06:24 +0200 zimoun <zimon.toutoune@gmail.com> wrote:

Hi Guixers,

Here is the video recording from today:

https://archive.org/details/guix-forge-arun-isaac-may-28-2022

enjoy,

jgart

https://whereis.xn--q9jyb4c/


^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: Cuirass and SQL
  2022-05-27  9:06     ` Cuirass and SQL zimoun
                         ` (2 preceding siblings ...)
  2022-05-28 18:01       ` jgart
@ 2022-05-30 15:02       ` Olivier Dion via Development of GNU Guix and the GNU System distribution.
  3 siblings, 0 replies; 30+ messages in thread
From: Olivier Dion via Development of GNU Guix and the GNU System distribution. @ 2022-05-30 15:02 UTC (permalink / raw)
  To: zimoun, Arun Isaac, jgart, Guix Devel, Mathieu Othacehe

On Fri, 27 May 2022, zimoun <zimon.toutoune@gmail.com> wrote:

> Initially, Cuirass was using SQLite but then switched [1] to
> PostgreSQL.  The main reason is scalability.

Make sens for the main CI used by Guix or for an organization.

> I do not know if it is a technically doable to have two SQL backends and
> let the user pick the one they prefer.  For sure, it is not doable from
> a maintenance point of view.

With guile-dbi, the maintenance is trivial.

> About the complexity of PostgreSQL, I think the Guix services [2,3]
> help here.

This is what I did.  I have a local CI as a service that build my
projects at every new commits on a specific branch.  It works, but I
feel thing would have been easier to setup with SQLite.  It could had
been a guix-home service for example instead of a system service and
testing the configuration is much easier with a scratch DB.

-- 
Olivier Dion
oldiob.dev


^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: Cuirass and SQL
  2022-05-28  8:45       ` Arun Isaac
  2022-05-28 14:25         ` Ryan Prior
@ 2022-05-30 15:50         ` Ludovic Courtès
  2022-05-30 19:12           ` Arun Isaac
  1 sibling, 1 reply; 30+ messages in thread
From: Ludovic Courtès @ 2022-05-30 15:50 UTC (permalink / raw)
  To: Arun Isaac; +Cc: zimoun, Olivier Dion, jgart, Guix Devel, Mathieu Othacehe

Hi,

Arun Isaac <arunisaac@systemreboot.net> skribis:

>> Initially, Cuirass was using SQLite but then switched [1] to
>> PostgreSQL.  The main reason is scalability.
>
> Ah, I see. I didn't know that.

Years before, Hydra (https://nixos.org/hydra) also dropped its SQLite
backend in favor of PostgreSQL only.

Like you, not being a database person, I liked that SQLite was easy to
deploy and had a clear model: it just touches this one file and that’s it.

Yet, I’m starting to see a pattern.  :-)

SQLite may be good enough at a small scale; the problem is that you
never know how long it’ll be before the project you’re hosting is no
longer small-scale.

Ludo’.


^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: Arun Isaac Presentation on guix-forge this Saturday
  2022-05-26  7:17   ` Arun Isaac
@ 2022-05-30 15:55     ` Ludovic Courtès
  2022-05-30 19:02       ` Arun Isaac
                         ` (2 more replies)
  0 siblings, 3 replies; 30+ messages in thread
From: Ludovic Courtès @ 2022-05-30 15:55 UTC (permalink / raw)
  To: Arun Isaac; +Cc: Pjotr Prins, jgart, Guix Devel

Hello Arun!

Too bad I missed the event on Saturday.

Arun Isaac <arunisaac@systemreboot.net> skribis:

> guix-forge is a Guix service that, ambitiously, tries to reproduce a
> sourcehut, GitHub or GitLab like code forge, but using only
> off-the-shelf components like cgit, laminar, public-inbox, etc. The idea
> is to enable users to write a few lines of Guix operating-system
> configuration code, and have an entire code forge deployed and
> ready. guix-forge is similar to projects like FreedomBox, YunoHost and
> Mail-in-a-Box, but for code forges and built on the rock-solid
> foundation that is Guix.

This is really nice.  I like the idea of having easy deployment through
a Guix service, and of composing existing tools.  (It’d even be worth a
blog post, hint hint ;-))

> For now, only the laminar CI feature is in place. In the presentation, I
> will show a setup of laminar CI with guix-forge. On every git commit to
> a project repo, the CI will
> - automatically run tests for the project
> - build and deploy a static project website
>
> If you would like to take a sneak peek of a guix-forge configuration,
> there is a simple example in the Tutorial section of the manual at
> https://guix-forge.systemreboot.net/manual/dev/en/
>
> For a more complex real world configuration that, among other things,
> does continuous deployment of a web service, you can look at the
> guix-forge configuration for genenetwork.org at
> https://git.genenetwork.org/arunisaac/genenetwork-machines . The Laminar
> CI deployed by this configuration is at https://ci.genenetwork.org/

Neat.  I wonder if there could be a more Guiley flavor of guix-forge,
for instance with Gitile instead of Cgit and mumi instead of
public-inbox (though these two are not quite equivalent).

Thanks for sharing!

Ludo’.


^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: Arun Isaac Presentation on guix-forge this Saturday
  2022-05-30 15:55     ` Ludovic Courtès
@ 2022-05-30 19:02       ` Arun Isaac
  2022-05-30 19:31       ` jgart
  2022-08-16 12:25       ` Christine Lemmer-Webber
  2 siblings, 0 replies; 30+ messages in thread
From: Arun Isaac @ 2022-05-30 19:02 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: Pjotr Prins, jgart, Guix Devel


Hi Ludo,

> This is really nice.  I like the idea of having easy deployment through
> a Guix service, and of composing existing tools.  (It’d even be worth a
> blog post, hint hint ;-))

He he, I'm getting the hint! ;-) Maybe, I'll write a blog post when
guix-forge is a little bit more featureful! :-)

> I wonder if there could be a more Guiley flavor of guix-forge, for
> instance with Gitile instead of Cgit

I have added gitile, klaus and other git web viewers to my agenda. I'm
sure everyone will have their favorite git web viewer. So, it'll be good
to cater to a wider range of tastes. Besides, it's really easy to
support multiple read-only git web viewers. Patches welcome! ;-)

Also, I'm thinking parts of guix-forge can be gradually merged into Guix
itself. The webhook-service-type in guix-forge is already a good
candidate with wider use cases than just guix-forge.

> mumi instead of public-inbox (though these two are not quite
> equivalent).

Mumi is tricky to deploy since it is not standalone and requires being
on a special IP allowlist with the Debbugs GNU servers. If mumi could be
augmented to not need a Debbugs server at all, then it would become much
more attractive.

> Thanks for sharing!

Thanks for inventing Guix and making guix-forge inevitable! :-)

Regards,
Arun


^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: Cuirass and SQL
  2022-05-30 15:50         ` Ludovic Courtès
@ 2022-05-30 19:12           ` Arun Isaac
  2022-06-01 16:24             ` Ludovic Courtès
  0 siblings, 1 reply; 30+ messages in thread
From: Arun Isaac @ 2022-05-30 19:12 UTC (permalink / raw)
  To: Ludovic Courtès
  Cc: zimoun, Olivier Dion, jgart, Guix Devel, Mathieu Othacehe


Hi Ludo,

> Years before, Hydra (https://nixos.org/hydra) also dropped its SQLite
> backend in favor of PostgreSQL only.
>
> Like you, not being a database person, I liked that SQLite was easy to
> deploy and had a clear model: it just touches this one file and that’s
> it.

Exactly! :-)

If we use guile-dbi, it should be possible to support both sqlite and
postgresql. Popular projects like Nextcloud do allow the user to choose
their preferred database system. But, then again, Cuirass is built for
very large scale. So, perhaps it is best to not try and also cover the
small scale end.

> SQLite may be good enough at a small scale; the problem is that you
> never know how long it’ll be before the project you’re hosting is no
> longer small-scale.

Scale may not be an issue at least for the CI. Unlike Guix which needs
to rebuild the entire world of software, most other software are only
going to have a handful of jobs---easily less than 5 or less than 10 in
the worst case. So, even if we trigger all these jobs on every commit,
the total number of runs will easily be manageable with sqlite.

Regards,
Arun


^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: Arun Isaac Presentation on guix-forge this Saturday
  2022-05-30 15:55     ` Ludovic Courtès
  2022-05-30 19:02       ` Arun Isaac
@ 2022-05-30 19:31       ` jgart
  2022-05-31  1:07         ` jgart
  2022-08-16 12:25       ` Christine Lemmer-Webber
  2 siblings, 1 reply; 30+ messages in thread
From: jgart @ 2022-05-30 19:31 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: Arun Isaac, Pjotr Prins, Guix Devel

On Mon, 30 May 2022 17:55:27 +0200 Ludovic Courtès <ludo@gnu.org> wrote:
Hi Guixers!

Below is an updated link that actually shows Arun's screenshare:

https://archive.org/details/arun-isaac-guix-forge-may-28

Let me know if you run into any issues. 

I recommend downloading it from archive.org for local viewing as
archive.org tends to struggle with streaming it.

all best,

jgart

https://whereis.みんな/


^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: Arun Isaac Presentation on guix-forge this Saturday
  2022-05-30 19:31       ` jgart
@ 2022-05-31  1:07         ` jgart
  0 siblings, 0 replies; 30+ messages in thread
From: jgart @ 2022-05-31  1:07 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: Arun Isaac, Pjotr Prins, Guix Devel

On Mon, 30 May 2022 14:31:12 -0500 jgart <jgart@dismail.de> wrote:
> On Mon, 30 May 2022 17:55:27 +0200 Ludovic Courtès <ludo@gnu.org> wrote:
> Hi Guixers!
> 
> Below is an updated link that actually shows Arun's screenshare:
> 
> https://archive.org/details/arun-isaac-guix-forge-may-28

Other link had no audio ;()

Here's the latest one:

https://archive.org/details/arun-isaac-on-guix-forge


^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: Cuirass and SQL
  2022-05-30 19:12           ` Arun Isaac
@ 2022-06-01 16:24             ` Ludovic Courtès
  0 siblings, 0 replies; 30+ messages in thread
From: Ludovic Courtès @ 2022-06-01 16:24 UTC (permalink / raw)
  To: Arun Isaac; +Cc: zimoun, Olivier Dion, jgart, Guix Devel, Mathieu Othacehe

Hi,

Arun Isaac <arunisaac@systemreboot.net> skribis:

>> Years before, Hydra (https://nixos.org/hydra) also dropped its SQLite
>> backend in favor of PostgreSQL only.
>>
>> Like you, not being a database person, I liked that SQLite was easy to
>> deploy and had a clear model: it just touches this one file and that’s
>> it.
>
> Exactly! :-)
>
> If we use guile-dbi, it should be possible to support both sqlite and
> postgresql. Popular projects like Nextcloud do allow the user to choose
> their preferred database system. But, then again, Cuirass is built for
> very large scale. So, perhaps it is best to not try and also cover the
> small scale end.

That too was my understanding some years ago.  :-)

But then I discovered that in practice, you optimize for a specific
DBMS.  The way you’d optimize a Postgres or an SQLite database for your
application can be quite different.  An abstraction wouldn’t let you do
that.

> Scale may not be an issue at least for the CI. Unlike Guix which needs
> to rebuild the entire world of software, most other software are only
> going to have a handful of jobs---easily less than 5 or less than 10 in
> the worst case. So, even if we trigger all these jobs on every commit,
> the total number of runs will easily be manageable with sqlite.

Yes, could be!

Thanks,
Ludo’.


^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: Arun Isaac Presentation on guix-forge this Saturday
  2022-05-30 15:55     ` Ludovic Courtès
  2022-05-30 19:02       ` Arun Isaac
  2022-05-30 19:31       ` jgart
@ 2022-08-16 12:25       ` Christine Lemmer-Webber
  2 siblings, 0 replies; 30+ messages in thread
From: Christine Lemmer-Webber @ 2022-08-16 12:25 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: Arun Isaac, Pjotr Prins, jgart, guix-devel

Ludovic Courtès <ludo@gnu.org> writes:

> Hello Arun!
>
> Too bad I missed the event on Saturday.
>
> Arun Isaac <arunisaac@systemreboot.net> skribis:
>
>> guix-forge is a Guix service that, ambitiously, tries to reproduce a
>> sourcehut, GitHub or GitLab like code forge, but using only
>> off-the-shelf components like cgit, laminar, public-inbox, etc. The idea
>> is to enable users to write a few lines of Guix operating-system
>> configuration code, and have an entire code forge deployed and
>> ready. guix-forge is similar to projects like FreedomBox, YunoHost and
>> Mail-in-a-Box, but for code forges and built on the rock-solid
>> foundation that is Guix.
>
> This is really nice.  I like the idea of having easy deployment through
> a Guix service, and of composing existing tools.  (It’d even be worth a
> blog post, hint hint ;-))
>
>> For now, only the laminar CI feature is in place. In the presentation, I
>> will show a setup of laminar CI with guix-forge. On every git commit to
>> a project repo, the CI will
>> - automatically run tests for the project
>> - build and deploy a static project website
>>
>> If you would like to take a sneak peek of a guix-forge configuration,
>> there is a simple example in the Tutorial section of the manual at
>> https://guix-forge.systemreboot.net/manual/dev/en/
>>
>> For a more complex real world configuration that, among other things,
>> does continuous deployment of a web service, you can look at the
>> guix-forge configuration for genenetwork.org at
>> https://git.genenetwork.org/arunisaac/genenetwork-machines . The Laminar
>> CI deployed by this configuration is at https://ci.genenetwork.org/
>
> Neat.  I wonder if there could be a more Guiley flavor of guix-forge,
> for instance with Gitile instead of Cgit and mumi instead of
> public-inbox (though these two are not quite equivalent).
>
> Thanks for sharing!
>
> Ludo’.

And cuirass? :)


^ permalink raw reply	[flat|nested] 30+ messages in thread

end of thread, other threads:[~2022-08-16 12:26 UTC | newest]

Thread overview: 30+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-05-24 23:26 Arun Isaac Presentation on guix-forge this Saturday jgart
2022-05-24 23:45 ` Tobias Geerinckx-Rice
2022-05-25  0:06   ` jgart
2022-05-25  6:29 ` Pjotr Prins
2022-05-25  7:27   ` Blake Shaw
2022-05-26  7:17   ` Arun Isaac
2022-05-30 15:55     ` Ludovic Courtès
2022-05-30 19:02       ` Arun Isaac
2022-05-30 19:31       ` jgart
2022-05-31  1:07         ` jgart
2022-08-16 12:25       ` Christine Lemmer-Webber
2022-05-25  9:07 ` zimoun
2022-05-25 16:25   ` jgart
2022-05-25 14:14 ` Olivier Dion via Development of GNU Guix and the GNU System distribution.
2022-05-25 18:54   ` Arun Isaac
2022-05-25 19:41     ` Olivier Dion via Development of GNU Guix and the GNU System distribution.
2022-05-26  7:28       ` Arun Isaac
2022-05-26 15:13         ` Olivier Dion via Development of GNU Guix and the GNU System distribution.
2022-05-26 15:52           ` Arun Isaac
2022-05-27  9:06     ` Cuirass and SQL zimoun
2022-05-28  7:28       ` Blake Shaw
2022-05-28  8:45       ` Arun Isaac
2022-05-28 14:25         ` Ryan Prior
2022-05-28 15:30           ` Arun Isaac
2022-05-30 15:50         ` Ludovic Courtès
2022-05-30 19:12           ` Arun Isaac
2022-06-01 16:24             ` Ludovic Courtès
2022-05-28 18:01       ` jgart
2022-05-30 15:02       ` Olivier Dion via Development of GNU Guix and the GNU System distribution.
2022-05-28 12:12   ` Arun Isaac Presentation on guix-forge this Saturday david larsson

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).