# Blank lines are permitted in this file. # spread.conf sample file # # questions to spread@spread.org # #MINIMAL REQUIRED FILE # # Spread should work fine on one machine with just the uncommented # lines below. The rest of the file documents all the options and # more complex network setups. # # This configures one spread daemon running on port 4803 on localhost. Spread_Segment 10.1.2.255:10001 { node-1-1 10.1.2.2 node-2-1 10.1.2.3 node-3-1 10.1.2.4 node-4-1 10.1.2.5 node-5-1 10.1.2.6 node-6-1 10.1.2.7 } Spread_Segment 10.1.4.255:10001 { node-7-1 10.1.4.2 node-8-1 10.1.4.3 node-9-1 10.1.4.4 node-10-1 10.1.4.5 node-11-1 10.1.4.6 node-12-1 10.1.4.7 } Spread_Segment 10.1.6.255:10001 { node-13-1 10.1.6.2 node-14-1 10.1.6.3 node-15-1 10.1.6.4 node-16-1 10.1.6.5 node-17-1 10.1.6.6 node-18-1 10.1.6.7 } Spread_Segment 10.1.8.255:10001 { node-19-1 10.1.8.2 node-20-1 10.1.8.3 node-21-1 10.1.8.4 node-22-1 10.1.8.5 node-23-1 10.1.8.6 node-24-1 10.1.8.7 } Spread_Segment 10.1.1.255:10001 { node-25-1 10.1.1.2 node-26-1 10.1.1.3 node-27-1 10.1.1.4 node-28-1 10.1.1.5 node-29-1 10.1.1.6 node-30-1 10.1.1.7 } Spread_Segment 10.1.2.255:10002 { node-1-2 10.1.2.2 node-2-2 10.1.2.3 node-3-2 10.1.2.4 node-4-2 10.1.2.5 node-5-2 10.1.2.6 node-6-2 10.1.2.7 } Spread_Segment 10.1.4.255:10002 { node-7-2 10.1.4.2 node-8-2 10.1.4.3 node-9-2 10.1.4.4 node-10-2 10.1.4.5 node-11-2 10.1.4.6 node-12-2 10.1.4.7 } Spread_Segment 10.1.6.255:10002 { node-13-2 10.1.6.2 node-14-2 10.1.6.3 node-15-2 10.1.6.4 node-16-2 10.1.6.5 node-17-2 10.1.6.6 node-18-2 10.1.6.7 } Spread_Segment 10.1.8.255:10002 { node-19-2 10.1.8.2 node-20-2 10.1.8.3 node-21-2 10.1.8.4 node-22-2 10.1.8.5 node-23-2 10.1.8.6 node-24-2 10.1.8.7 } Spread_Segment 10.1.1.255:10002 { node-25-2 10.1.1.2 node-26-2 10.1.1.3 node-27-2 10.1.1.4 node-28-2 10.1.1.5 node-29-2 10.1.1.6 node-30-2 10.1.1.7 } Spread_Segment 10.1.2.255:10003 { node-1-3 10.1.2.2 node-2-3 10.1.2.3 node-3-3 10.1.2.4 node-4-3 10.1.2.5 node-5-3 10.1.2.6 node-6-3 10.1.2.7 } Spread_Segment 10.1.4.255:10003 { node-7-3 10.1.4.2 node-8-3 10.1.4.3 node-9-3 10.1.4.4 node-10-3 10.1.4.5 node-11-3 10.1.4.6 node-12-3 10.1.4.7 } Spread_Segment 10.1.6.255:10003 { node-13-3 10.1.6.2 node-14-3 10.1.6.3 node-15-3 10.1.6.4 node-16-3 10.1.6.5 node-17-3 10.1.6.6 node-18-3 10.1.6.7 } Spread_Segment 10.1.8.255:10003 { node-19-3 10.1.8.2 node-20-3 10.1.8.3 node-21-3 10.1.8.4 node-22-3 10.1.8.5 node-23-3 10.1.8.6 node-24-3 10.1.8.7 } Spread_Segment 10.1.1.255:10003 { node-25-3 10.1.1.2 node-26-3 10.1.1.3 node-27-3 10.1.1.4 node-28-3 10.1.1.5 node-29-3 10.1.1.6 node-30-3 10.1.1.7 } Spread_Segment 10.1.2.255:10004 { node-1-4 10.1.2.2 node-2-4 10.1.2.3 node-3-4 10.1.2.4 node-4-4 10.1.2.5 node-5-4 10.1.2.6 node-6-4 10.1.2.7 } Spread_Segment 10.1.4.255:10004 { node-7-4 10.1.4.2 node-8-4 10.1.4.3 node-9-4 10.1.4.4 node-10-4 10.1.4.5 node-11-4 10.1.4.6 node-12-4 10.1.4.7 } Spread_Segment 10.1.6.255:10004 { node-13-4 10.1.6.2 node-14-4 10.1.6.3 node-15-4 10.1.6.4 node-16-4 10.1.6.5 node-17-4 10.1.6.6 node-18-4 10.1.6.7 } Spread_Segment 10.1.8.255:10004 { node-19-4 10.1.8.2 node-20-4 10.1.8.3 node-21-4 10.1.8.4 node-22-4 10.1.8.5 node-23-4 10.1.8.6 node-24-4 10.1.8.7 } Spread_Segment 10.1.1.255:10004 { node-25-4 10.1.1.2 node-26-4 10.1.1.3 node-27-4 10.1.1.4 node-28-4 10.1.1.5 node-29-4 10.1.1.6 node-30-4 10.1.1.7 } DaemonGroup = spread1 #MAX SEGMENTS=30 # Spread options #--------------------------------------------------------------------------- #--------------------------------------------------------------------------- #Set what internal Spread events are logged to the screen or file # (see EventLogFile). # Default setting is to enable PRINT and EXIT events only. #The PRINT and EXIT types should always be enabled. The names of others are: # EXIT PRINT DEBUG DATA_LINK NETWORK PROTOCOL SESSION # CONFIGURATION MEMBERSHIP FLOW_CONTROL STATUS EVENTS # GROUPS MEMORY SKIPLIST ALL NONE # ALL and NONE are special and represent either enabling every type # or enabling none of them. # You can also use a "!" sign to negate a type, # so { ALL !DATA_LINK } means log all events except data_link ones. #DebugFlags = { PRINT EXIT } # Set priority level of events to output to log file or screen # The possible levels are: # pDEBUG INFO WARNING ERROR CRITICAL FATAL # Once selected all events tagged with that priority or higher will # be output. FATAL events are always output and cause the daemon to # shut down. Some Events are tagged with a priority of PRINT which # causes them to print out no matter what priority level is set. # # The default level used if nothing is set is INFO. #EventPriority = INFO #Set whether to log to a file as opposed to stdout/stderr and what # file to log to. # Default is to log to stdout. # #If option is not set then logging is to stdout. #If option is set then logging is to the filename specified. # The filename can include a %h or %H escape that will be replaced at runtime # by the hostname of the machine upon which the daemon is running. # For example "EventLogFile = spreadlog_%h.log" with 2 machines # running Spread (machine1.mydomain.com and machine2.mydomain.com) will # cause the daemons to log to "spreadlog_machine1.mydomain.com.log" and # "spreadlog_machine2.mydomain.com.log" respectively. #EventLogFile = testlog.out #Set whether to add a timestamp in front of all logged events or not. # Default is no timestamps. Default format is "[%a %d %b %Y %H:%M:%S]". #If option is commented out then no timestamp is added. #If option is enabled then a timestamp is added with the default format #If option is enabled and set equal to a string, then that string is used # as the format string for the timestamp. The string must be a valid time # format string as used by the strftime() function. #EventTimeStamp # or #EventTimeStamp = "[%a %d %b %Y %H:%M:%S]" #Set whether to allow dangerous monitor commands # like "partition, flow_control, or kill" # Default setting is FALSE. #If option is set to false then only "safe" monitor commands are allowed # (such as requesting a status update). #If option is set to true then all monitor commands are enabled. # THIS IS A SECURTIY RISK IF YOUR NETWORK IS NOT PROTECTED! #DangerousMonitor = false #Set handling of SO_REUSEADDR socket option for the daemon's TCP # listener. This is useful for facilitating quick daemon restarts (OSes # often hold onto the interface/port combination for a short period of time # after daemon shut down). # # AUTO - Active when bound to specific interfaces (default). # ON - Always active, regardless of interface. # SECURITY RISK FOR ANY OS WHICH ALLOW DOUBLE BINDS BY DIFFERENT USERS # OFF - Always off. #SocketPortReuse = AUTO #Sets the runtime directory used when the Spread daemon is run as root # as the directory to chroot to. Defaults to the value of the # compile-time preprocessor define SP_RUNTIME_DIR, which is generally # "/var/run/spread". #RuntimeDir = /var/run/spread #Sets the unix user that the Spread daemon runs as (when launched as # the "root" user). Not effective on a Windows system. Defaults to # the user and group "spread". #DaemonUser = spread #DaemonGroup = spread #Set the list of authentication methods that the daemon will allow # and those which are required in all cases. # All of the methods listed in "RequiredAuthMethods" will be checked, # irregardless of what methods the client chooses. # Of the methods listed is "AllowedAuthMethods" the client is # permitted to choose one or more, and all the ones the client chooses # will also be checked. # # To support older clients, if NULL is enabled, then older clients can # connect without any authentication. Any methods which do not require # any interaction with the client (such as IP) can also be enabled # for older clients. If you enable methods that require interaction, # then essentially all older clients will be locked out. # #The current choices are: # NULL for default, allow anyone authentication # IP for IP based checks using the spread.access_ip file #RequiredAuthMethods = " " #AllowedAuthMethods = "NULL" #Set the current access control policy. # This is only needed if you want to establish a customized policy. # The default policy is to allow any actions by authenticated clients. #AccessControlPolicy = "PERMIT" # network description line. # Spread_Segment { # port is optional, if not specified the default 4803 port is used. #Spread_Segment 127.0.0.255:4803 { # either a name or IP address. If both are given, than the name is taken # as-is, and the IP address is used for that name. # localhost 127.0.0.1 #} # repeat for next sub-network #Spread_Segment x.2.2.255 { # other1 128.2.2.10 # 128.2.2.11 # other3.my.com #} # Spread will feel free to use broadcast messages within a sub-network. # if you do not want this to happen, you should specify your machines on # different logical sub-networks. # IP-Multicast addresses can also be used as the multicast address for # the logical sub-network as in this example. If IP-multicast is supported # by the operating system, then the messages will only be received # by those machines who are in the group and not by all others in the same # sub-network as happens with broadcast addresses #Spread_Segment 225.0.1.1:3333 { # mcast1 1.2.3.4 # mcast2 1.2.3.6 #} # Multi-homed host setup # # If you run Spread on hosts with multiple interfaces you may want to # control which interfaces Spread uses for client connections and for # the daemon-to-daemon (and monitor control) messages. This can be done # by adding an extra stanza to each configured machine. # #Sample: # #Spread_Segment 225.0.1.1 { # multihomed1 1.2.3.4 { # D 192.168.0.4 # C 1.2.3.4 } # multihomed2 1.2.3.5 { # D 192.168.0.5 # C 1.2.3.5 # C 127.0.0.1 } # multihomed3 1.2.3.6 { # 192.168.0.6 # 1.2.3.6 } #} # This configuration sets up three multihomed machines into a Spread segment. # The first host has a 'main' IP address of 1.2.3.4 and listens for client # connections only on that interface. All daemon-to-daemon UDP multicasts and # the tokens and any monitor messages must use the 192.168.0.4 interface. # The second host multihomed2 has a similar setup, except it also listens for # client connections on the localhost interface as well as the 1.2.3.5 interface. # If you make any use of the extra interface stanza ( a { } block ) then you must # explicitly configure ALL interfaces you want as Spread removes all defaults when # you use the explicit notation. # The third multihomed3 host uses a shorthand form of omitting the D or C option and # just listening for all types of traffic and events on both the 192.168.0 and 1.2.3 # networks. If no letter is listed before the interface address then ALL types of # events are handled on that interface.