1
0
mirror of https://git.savannah.gnu.org/git/guix.git synced 2026-05-21 08:35:58 +02:00

publish: Add advertising support.

* guix/scripts/publish.scm (%options): Add "--advertise" option.
(show-help): Document it.
(service-name): New procedure,
(publish-service-type): new variable.
(run-publish-server): Add "advertise?" and "port" parameters. Use them to publish
the server using Avahi.
(guix-publish): Pass the "advertise?" option to "run-publish-server".
* gnu/services/base.scm (<guix-publish-configuration>): Add "advertise?"
field.
(guix-publish-shepherd-service): Honor it.
This commit is contained in:
Mathieu Othacehe
2020-11-22 15:15:17 +01:00
parent 375cc7dea2
commit 276e494b2a
3 changed files with 43 additions and 4 deletions
+7 -1
View File
@@ -1744,6 +1744,8 @@ proxy of 'guix-daemon'...~%")
(default 80))
(host guix-publish-configuration-host ;string
(default "localhost"))
(advertise? guix-publish-advertise? ;boolean
(default #f))
(compression guix-publish-configuration-compression
(thunked)
(default (default-compression this-record
@@ -1790,7 +1792,8 @@ raise a deprecation warning if the 'compression-level' field was used."
lst))))
(match-record config <guix-publish-configuration>
(guix port host nar-path cache workers ttl cache-bypass-threshold)
(guix port host nar-path cache workers ttl cache-bypass-threshold
advertise?)
(list (shepherd-service
(provision '(guix-publish))
(requirement '(guix-daemon))
@@ -1801,6 +1804,9 @@ raise a deprecation warning if the 'compression-level' field was used."
#$@(config->compression-options config)
(string-append "--nar-path=" #$nar-path)
(string-append "--listen=" #$host)
#$@(if advertise?
#~("--advertise")
#~())
#$@(if workers
#~((string-append "--workers="
#$(number->string