# Note: Unless otherwise noted, all parameters in this configuration file
# must be identical for all nodes in a given cluster.
# This file is optional: parameters can be given at the command line.

# See SafeConfigParser at https://docs.python.org/2/library/configparser.html
# for more information about the syntax.

# ~ and ~user constructions are expanded for all paths, even for those that
# may appear in 'database' option.

# Common parameters.
[DEFAULT]
# The cluster name
# This must be set.
# IMPORTANT: It must be a name unique to a given cluster, to prevent foreign
# misconfigured nodes from interfering.
cluster: test

# The list of master nodes
# This list should be identical for all nodes in a given cluster for
# maximum availability.
# With replicas, it is recommended to have 1 master node per machine
# (physical or not). Otherwise, 1 is enough (but more do not harm).
masters: 127.0.0.1:10000

# Partition table configuration
# Data in the cluster is distributed among nodes using a partition table, which
# has the following parameters.
# Replicas: How many copies of a partition should exist at a time.
#   0 means no redundancy
#   1 means there is a spare copy of all partitions
replicas: 0
# IMPORTANT: NEO does not try to spread replicas on different physical devices
#            so replicas should not be used if you have at least 2 nodes
#            storing data on the same device.
# Partitions: How data spreads among storage nodes.
# IMPORTANT: This can not be changed once the cluster contains data.
partitions: 12
# The maximum number of usable storage nodes is: partitions * (replicas + 1)

# Master-slave asynchronous replication
# The following 2 options are only required if you want to backup another
# NEO cluster.
;upstream_cluster: test2
;upstream_masters: 127.0.0.1:30000

# The 3 following options must be specified to enabled SSL.
# CA should be the same for all nodes, and it can be the concatenation of
# several CAs and CRLs.
;ca = ~/etc/ca.crt
;cert = ~/etc/cert.crt
;key = ~/etc/cert.key

# Individual nodes parameters
# Some parameters makes no sense to be defined in [DEFAULT] section.
# They are:
# bind: The ip:port the node will listen on.
# database: Storage nodes only. Syntax for:
#   - MySQL: [user[:password]@]database[unix_socket]
#     Database must be created manually.
#   - SQLite: path
# engine: Optional parameter for MySQL.
#         Can be InnoDB (default), RocksDB or TokuDB.

# Admin node
[admin]
bind: 127.0.0.1:9999
# Paths to log files can be specified here, but be careful not to do it in a
# common section.
;logfile: ~/log/admin.log

# Nodes can have their own certificates.
;cert = admin.crt
;key = admin.key

# Master nodes
[master]
bind: 127.0.0.1:10000

# Storage nodes
[storage]
database: neo:neo@neo1
bind: 127.0.0.1:20000

