summary refs log tree commit diff
path: root/doc
diff options
context:
space:
mode:
authorOleg Pykhalov <go.wigust@gmail.com>2021-01-01 13:02:11 +0300
committerOleg Pykhalov <go.wigust@gmail.com>2021-01-12 14:40:36 +0300
commit4e511fcfce2c005c615df673836c553f96550b35 (patch)
treee2890bffd0044ed909f44524764538b263b5145c /doc
parent79ba12a1dbb3e40b623dd0945a277f8720d9780a (diff)
downloadguix-4e511fcfce2c005c615df673836c553f96550b35.tar.gz
services: Add keepalived service.
* gnu/services/networking.scm (<keepalived-configuration>): New record.
(keepalived-shepherd-service): New procedure.
(keepalived-service-type): New variable.
* doc/guix.texi (Networking Services): Document this.
Diffstat (limited to 'doc')
-rw-r--r--doc/guix.texi54
1 files changed, 53 insertions, 1 deletions
diff --git a/doc/guix.texi b/doc/guix.texi
index c752815975..93c980c196 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -55,7 +55,7 @@ Copyright @copyright{} 2017 Andy Wingo@*
 Copyright @copyright{} 2017, 2018, 2019, 2020 Arun Isaac@*
 Copyright @copyright{} 2017 nee@*
 Copyright @copyright{} 2018 Rutger Helling@*
-Copyright @copyright{} 2018 Oleg Pykhalov@*
+Copyright @copyright{} 2018, 2021 Oleg Pykhalov@*
 Copyright @copyright{} 2018 Mike Gerwitz@*
 Copyright @copyright{} 2018 Pierre-Antoine Rouby@*
 Copyright @copyright{} 2018, 2019 Gábor Boskovits@*
@@ -17207,6 +17207,58 @@ address, delete everything except these options:
 @end table
 @end deftp
 
+@cindex keepalived
+@deffn {Scheme Variable} keepalived-service-type
+This is the type for the @uref{https://www.keepalived.org/, Keepalived}
+routing software, @command{keepalived}.  Its value must be an
+@code{keepalived-configuration} record as in this example for master
+machine:
+
+@lisp
+(service keepalived-service-type
+         (keepalived-configuration
+           (config-file (local-file "keepalived-master.conf"))))
+@end lisp
+
+where @file{keepalived-master.conf}:
+
+@example
+vrrp_instance my-group @{
+  state MASTER
+  interface enp9s0
+  virtual_router_id 100
+  priority 100
+  unicast_peer @{ 10.0.0.2 @}
+  virtual_ipaddress @{
+    10.0.0.4/24
+  @}
+@}
+@end example
+
+and for backup machine:
+
+@lisp
+(service keepalived-service-type
+         (keepalived-configuration
+          (config-file (local-file "keepalived-backup.conf"))))
+@end lisp
+
+where @file{keepalived-backup.conf}:
+
+@example
+vrrp_instance my-group @{
+  state BACKUP
+  interface enp9s0
+  virtual_router_id 100
+  priority 99
+  unicast_peer @{ 10.0.0.3 @}
+  virtual_ipaddress @{
+    10.0.0.4/24
+  @}
+@}
+@end example
+@end deffn
+
 @node Unattended Upgrades
 @subsection Unattended Upgrades