[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Redis or RabbitMQ?
From: |
jgart |
Subject: |
Re: Redis or RabbitMQ? |
Date: |
Sun, 12 Sep 2021 12:44:37 -0400 |
On Sun, 12 Sep 2021 17:15:48 +1000 Ben Sturmfels <ben@sturm.com.au> wrote:
> PS. Any help on the Guix service front would be amazing. I don't have
> any experience with this at all. :)
Hi Ben,
We'd love to help. We'll start looking into the mediagoblin shepherd service.
I think as a first step we'll try to organize and understand everything that
will be
involved in doing a basic deployment of mediagoblin in production.
We'll start my reading the siteadmin/ docs and more specifically
production-deployments.rst and deploying.rst.
I think it could be very helpful if we could have one session to set up
mediagoblin together on a debian server just to make sure we're all on the same
page regarding any details of deploying mediagoblin.
I think we'll probably want to model the mediagoblin.ini and paste.ini as
scheme records.
A first rough draft of what I mean by that:
```
(define-record-type* <mediagoblin-configuration>
mediagoblin-configuration make-mediagoblin-configuration
mediagoblin-configuration?
(package mediagoblin-configuration-package
(default mediagoblin))
(host mediagoblin-configuration-host
(default "127.0.0.1"))
(port mediagoblin-configuration-port
(default 8080))
(email-sender-address mediagoblin-configuration-email-sender-address
(default "notice@mediagoblin.example.org"))
(email-debug-mode mediagoblin-configuration-email-debug-mode
(default #t))
(allow-registration mediagoblin-allow-registration
(default #f))
(allow-reporting mediagoblin-allow-reporting
(default #t))
;; more config...
(wsgi mediagoblin-configuration-wsgi)
(redis mediagoblin-configuration-redis)
(nginx mediagoblin-configuration-nginx))
```
I think roptat's recently added gitile service could serve as a good starting
point showing how to use g-expressions and records
to generate a config file from scheme code.
See the `gitile-config-file` function and the nested `build` function in the
version-control module from roptat's definition.
There are probably other services that would be good to look at also to get
ideas from.
We might also come into problems that haven't been explored yet with guix in
trying to create this mediagoblin service.
So, we'll have to invent new solutions for those that might not be derived from
existing Guix System services.
I think it will be good to post on the guix-devel mailing list in order to
crowdsource ideas about the implementation involved
in this particular mediagoblin service.
The guix community is very helpful with feedback.
all best,
jgart