[__meta__]
version = 4.0

[master-bricks]
configurable=false

[slave-bricks]
configurable=false

[master-volume-id]
configurable=false

[slave-volume-id]
configurable=false

[master-replica-count]
configurable=false
type=int
value=1

[master-disperse-count]
configurable=false
type=int
value=1

[master-distribution-count]
configurable=false
type=int
value=1

[glusterd-workdir]
value = /var/db/glusterd

[gluster-logdir]
value = /var/log/glusterfs

[gluster-rundir]
value = /var/run/gluster

[gsyncd-miscdir]
value = /var/lib/misc/gluster/gsyncd

[stime-xattr-prefix]
value=

[checkpoint]
value=0
help=Set Checkpoint
validation=unixtime
type=int

[gluster-cli-options]
value=
help=Gluster CLI Options

[pid-file]
value=${gluster_rundir}/gsyncd-${master}-${primary_slave_host}-${slavevol}.pid
configurable=false
template = true
help=PID file path

[state-file]
value=${glusterd_workdir}/geo-replication/${master}_${primary_slave_host}_${slavevol}/monitor.status
configurable=false
template=true
help=Status File path

[georep-session-working-dir]
value=${glusterd_workdir}/geo-replication/${master}_${primary_slave_host}_${slavevol}/
template=true
help=Session Working directory
configurable=false

[access-mount]
value=false
type=bool
validation=bool
help=Do not lazy unmount the master volume. This allows admin to access the mount for debugging.

[slave-access-mount]
value=false
type=bool
validation=bool
help=Do not lazy unmount the slave volume. This allows admin to access the mount for debugging.

[isolated-slaves]
value=
help=List of Slave nodes which are isolated

[changelog-batch-size]
# Max size of Changelogs to process per batch, Changelogs Processing is
# not limited by the number of changelogs but instead based on
# size of the changelog file, One sample changelog file size was 145408
# with ~1000 CREATE and ~1000 DATA. 5 such files in one batch is 727040
# If geo-rep worker crashes while processing a batch, it has to retry only
# that batch since stime will get updated after each batch.
value=727040
help=Max size of Changelogs to process per batch.
type=int

[slave-timeout]
value=120
type=int
help=Timeout in seconds for Slave Gsyncd. If no activity from master for this timeout, Slave gsyncd will be disconnected. Set Timeout to zero to skip this check.

[connection-timeout]
value=60
type=int
help=Timeout for mounts

[replica-failover-interval]
value=1
type=int
help=Minimum time interval in seconds for passive worker to become Active

[changelog-archive-format]
value=%Y%m
help=Processed changelogs will be archived in working directory. Pattern for archive file

[use-meta-volume]
value=false
type=bool
help=Use this to set Active Passive mode to meta-volume.

[meta-volume-mnt]
value=/var/run/gluster/shared_storage
help=Meta Volume or Shared Volume mount path

[allow-network]
value=

[change-interval]
value=5
type=int

[sync-method]
value=rsync
help=Sync method for data sync. Available methods are tar over ssh and rsync. Default is rsync.
validation=choice
allowed_values=tarssh,rsync

[remote-gsyncd]
value =
help=If SSH keys are not secured with gsyncd prefix then use this configuration to set the actual path of gsyncd(Usually /usr/libexec/glusterfs/gsyncd)

[gluster-command-dir]
value=/usr/pkg/sbin
help=Directory where Gluster binaries exist on master

[slave-gluster-command-dir]
value=/usr/pkg/sbin
help=Directory where Gluster binaries exist on slave

[gluster-params]
value = aux-gfid-mount acl
help=Parameters for Gluster Geo-rep mount in Master

[slave-gluster-params]
value = aux-gfid-mount acl
help=Parameters for Gluster Geo-rep mount in Slave

[ignore-deletes]
value = false
type=bool
help=Do not sync deletes in Slave

[special-sync-mode]
# tunables for failover/failback mechanism:
# None   - gsyncd behaves as normal
# blind  - gsyncd works with xtime pairs to identify
#          candidates for synchronization
# wrapup - same as normal mode but does not assign
#          xtimes to orphaned files
# see crawl() for usage of the above tunables
value =
help=

[gfid-conflict-resolution]
value = true
validation=bool
type=bool
help=Disables automatic gfid conflict resolution while syncing

[working-dir]
value = ${gsyncd_miscdir}/${master}_${primary_slave_host}_${slavevol}/
template=true
configurable=false
help=Working directory for storing Changelogs

[change-detector]
value=changelog
help=Change detector
validation=choice
allowed_values=changelog,xsync

[cli-log-file]
value=${gluster_logdir}/geo-replication/cli.log
template=true
configurable=false

[cli-log-level]
value=INFO
help=Set CLI Log Level
validation=choice
allowed_values=ERROR,INFO,WARNING,DEBUG

[log-file]
value=${gluster_logdir}/geo-replication/${master}_${primary_slave_host}_${slavevol}/gsyncd.log
configurable=false
template=true

[changelog-log-file]
value=${gluster_logdir}/geo-replication/${master}_${primary_slave_host}_${slavevol}/changes-${local_id}.log
configurable=false
template=true

[gluster-log-file]
value=${gluster_logdir}/geo-replication/${master}_${primary_slave_host}_${slavevol}/mnt-${local_id}.log
template=true
configurable=false

[slave-log-file]
value=${gluster_logdir}/geo-replication-slaves/${master}_${primary_slave_host}_${slavevol}/gsyncd.log
template=true
configurable=false

[slave-gluster-log-file]
value=${gluster_logdir}/geo-replication-slaves/${master}_${primary_slave_host}_${slavevol}/mnt-${master_node}-${master_brick_id}.log
template=true
configurable=false

[slave-gluster-log-file-mbr]
value=${gluster_logdir}/geo-replication-slaves/${master}_${primary_slave_host}_${slavevol}/mnt-mbr-${master_node}-${master_brick_id}.log
template=true
configurable=false

[log-level]
value=INFO
help=Set Log Level
validation=choice
allowed_values=ERROR,INFO,WARNING,DEBUG

[gluster-log-level]
value=INFO
help=Set Gluster mount Log Level
validation=choice
allowed_values=ERROR,INFO,WARNING,DEBUG

[changelog-log-level]
value=INFO
help=Set Changelog Log Level
validation=choice
allowed_values=ERROR,INFO,WARNING,DEBUG

[slave-log-level]
value=INFO
help=Set Slave Gsyncd Log Level
validation=choice
allowed_values=ERROR,INFO,WARNING,DEBUG

[slave-gluster-log-level]
value=INFO
help=Set Slave Gluster mount Log Level
validation=choice
allowed_values=ERROR,INFO,WARNING,DEBUG

[ssh-port]
value=22
validation=minmax
min=1
max=65535
help=Set SSH port
type=int

[ssh-command]
value=ssh
help=Set ssh binary path
validation=execpath

[tar-command]
value=tar
help=Set tar command path
validation=execpath

[ssh-options]
value = -oPasswordAuthentication=no -oStrictHostKeyChecking=no -i ${glusterd_workdir}/geo-replication/secret.pem
template=true

[ssh-options-tar]
value = -oPasswordAuthentication=no -oStrictHostKeyChecking=no -i ${glusterd_workdir}/geo-replication/tar_ssh.pem
template=true

[gluster-command]
value=gluster
help=Set gluster binary path
validation=execpath

[sync-jobs]
value=3
help=Number of Syncer jobs
validation=minmax
min=1
max=100
type=int

[rsync-command]
value=rsync
help=Set rsync command path
validation=execpath

[rsync-options]
value=

[rsync-ssh-options]
value=

[rsync-opt-ignore-missing-args]
value=true
type=bool

[rsync-opt-existing]
value=true
type=bool

[log-rsync-performance]
value=false
help=Log Rsync performance
validation=bool
type=bool

[use-rsync-xattrs]
value=false
type=bool

[sync-xattrs]
value=true
type=bool

[sync-acls]
value=true
type=bool

[max-rsync-retries]
value=10
type=int

[state_socket_unencoded]
# Unused, For backward compatibility
value=
