services: guix-publish: Add 'compression-level' and 'nar-path' fields.
* gnu/services/base.scm (<guix-publish-configuration>)[compression-level, nar-path]: New fields. (guix-publish-shepherd-service): Honor them. * doc/guix.texi (Base Services): Document them.
This commit is contained in:
		
							parent
							
								
									f1e900a3b8
								
							
						
					
					
						commit
						697ddb8850
					
				
					 2 changed files with 19 additions and 2 deletions
				
			
		| 
						 | 
					@ -9032,6 +9032,15 @@ The TCP port to listen for connections.
 | 
				
			||||||
@item @code{host} (default: @code{"localhost"})
 | 
					@item @code{host} (default: @code{"localhost"})
 | 
				
			||||||
The host (and thus, network interface) to listen to.  Use
 | 
					The host (and thus, network interface) to listen to.  Use
 | 
				
			||||||
@code{"0.0.0.0"} to listen on all the network interfaces.
 | 
					@code{"0.0.0.0"} to listen on all the network interfaces.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					@item @code{compression-level} (default: @code{3})
 | 
				
			||||||
 | 
					The gzip compression level at which substitutes are compressed.  Use
 | 
				
			||||||
 | 
					@code{0} to disable compression altogether, and @code{9} to get the best
 | 
				
			||||||
 | 
					compression ratio at the expense of increased CPU usage.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					@item @code{nar-path} (default: @code{"nar"})
 | 
				
			||||||
 | 
					The URL path at which ``nars'' can be fetched.  @xref{Invoking guix
 | 
				
			||||||
 | 
					publish, @code{--nar-path}}, for details.
 | 
				
			||||||
@end table
 | 
					@end table
 | 
				
			||||||
@end deftp
 | 
					@end deftp
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -127,6 +127,8 @@
 | 
				
			||||||
            guix-publish-configuration-guix
 | 
					            guix-publish-configuration-guix
 | 
				
			||||||
            guix-publish-configuration-port
 | 
					            guix-publish-configuration-port
 | 
				
			||||||
            guix-publish-configuration-host
 | 
					            guix-publish-configuration-host
 | 
				
			||||||
 | 
					            guix-publish-configuration-compression-level
 | 
				
			||||||
 | 
					            guix-publish-configuration-nar-path
 | 
				
			||||||
            guix-publish-service
 | 
					            guix-publish-service
 | 
				
			||||||
            guix-publish-service-type
 | 
					            guix-publish-service-type
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1438,11 +1440,15 @@ failed to register hydra.gnu.org public key: ~a~%" status))))))))
 | 
				
			||||||
  (port    guix-publish-configuration-port        ;number
 | 
					  (port    guix-publish-configuration-port        ;number
 | 
				
			||||||
           (default 80))
 | 
					           (default 80))
 | 
				
			||||||
  (host    guix-publish-configuration-host        ;string
 | 
					  (host    guix-publish-configuration-host        ;string
 | 
				
			||||||
           (default "localhost")))
 | 
					           (default "localhost"))
 | 
				
			||||||
 | 
					  (compression-level guix-publish-compression-level ;integer
 | 
				
			||||||
 | 
					                     (default 3))
 | 
				
			||||||
 | 
					  (nar-path    guix-publish-nar-path              ;string
 | 
				
			||||||
 | 
					               (default "nar")))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
(define guix-publish-shepherd-service
 | 
					(define guix-publish-shepherd-service
 | 
				
			||||||
  (match-lambda
 | 
					  (match-lambda
 | 
				
			||||||
    (($ <guix-publish-configuration> guix port host)
 | 
					    (($ <guix-publish-configuration> guix port host compression nar-path)
 | 
				
			||||||
     (list (shepherd-service
 | 
					     (list (shepherd-service
 | 
				
			||||||
            (provision '(guix-publish))
 | 
					            (provision '(guix-publish))
 | 
				
			||||||
            (requirement '(guix-daemon))
 | 
					            (requirement '(guix-daemon))
 | 
				
			||||||
| 
						 | 
					@ -1450,6 +1456,8 @@ failed to register hydra.gnu.org public key: ~a~%" status))))))))
 | 
				
			||||||
                      (list #$(file-append guix "/bin/guix")
 | 
					                      (list #$(file-append guix "/bin/guix")
 | 
				
			||||||
                            "publish" "-u" "guix-publish"
 | 
					                            "publish" "-u" "guix-publish"
 | 
				
			||||||
                            "-p" #$(number->string port)
 | 
					                            "-p" #$(number->string port)
 | 
				
			||||||
 | 
					                            "-C" #$(number->string compression)
 | 
				
			||||||
 | 
					                            (string-append "--nar-path=" #$nar-path)
 | 
				
			||||||
                            (string-append "--listen=" #$host))))
 | 
					                            (string-append "--listen=" #$host))))
 | 
				
			||||||
            (stop #~(make-kill-destructor)))))))
 | 
					            (stop #~(make-kill-destructor)))))))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Reference in a new issue