# ----------------------
# SERVER URL AND CREDENTIALS
 
# Default values are:
#
# server.url=http://localhost
# server.port=9234
# accessKey=odilon
# secretKey=odilon
#
# server.mode can be master (default) | standby
# server.mode=master
#
# Version Control
# server.versionControl=false <-  default value is false

server.url=http://localhost
server.port=9234
accessKey=odilon
secretKey=odilon


# -----------------------
# DATA IMMUTABILITY

# rw: read write, this is the standard mode (default) 
# ro: read only, the server will accept only read requests
# WORM: Write Oncd Rean Many
#
# Example 
# dataStorageMode=rw 
# rw is the default mode and there is no need to include this variable for rw
#
# -----------------------
# DATA REPLICATION

# RAID 0. Two or more disks are combined to form a volume, which appears as a single virtual drive. 
# It is not a configuration with data replication, its function is to provide greater 
# storage and performance by allowing #  # access to the disks in parallel.
# 
# RAID 1. For each object, 1 or more exact copies (or mirrors) are created on two or more disks. 
# This provides redundancy in case of disk failure. At least 2 disks are required, 
# Odilon also supports 3 or more for greater redundancy.
#
# Data Replication Parameters
#----------------------------
# 'redundancyLevel' must be RAID 0 or RAID 1
# redundancyLevel=RAID 0 <-  default value
#
# 'dataStorage' is a comma separated list of the drives where Odilon will store binary objects.
# for RAID 0 there must be 1 or more drives, for RAID 1 there must be 2 or more drives
# datastorage=/opt/odilon-data/drive0 <-  default value 
#
# Example for RAID 0
# redundancyLevel = RAID 0
# dataStorage = /opt/odilon-data/drive0

# Example for RAID 1
# redundancyLevel=RAID 1
# dataStorage=/opt/odilon-data/drive0, /opt/odilon-data/drive1
#
redundancyLevel=RAID 0
dataStorage=c:/odilon-data/drive0

# -----------------------
# ENCRYPTION
#
# Whether binary objects are stored encrypted
# Except when the files are encrypted by the caller application, this parameter should always be true
#
# encrypt=true <-  default value
#
# Note that this variable only has effect on files uploaded after the value 'encrypt' is changed
# for files uploaded when it was encrpyt=true, it will require the decrypt services to access the file  
encrypt=true

# encryptorKey is the master encryption key used by Odilon when there is no Key Management Server integrated
# encryptorKey=YU3t6v9y$B&E)H@M <- default value
encryptorKey=YU3t6v9y$B&E)H@M

# -----------------------
# VAULT

# Odilon keeps objects encrypted (Encryption at Rest) using modern algorithms such as AES-256. 
# Each object has a unique encryption key. In turn, the encryption key of the object can be 
# generated by Odilon or, which is recommended for greater security, by a KMS (Key Management Server) externally.
# 
# 'vault' is used to determine whether to use HashiCorp Vault to manage keys
# if vault is true there are some vault paramters listed below that must be provided (url, roleId, secretId, keyId)
# vault = false <- default value
vault.enabled = false

# Vault url and credentials
# uncomment and complete if there is a Vault available
#
# vault.url=http://127.0.0.1:8220
# vault.roleId=01aa9d05-1a0a-1392-5a90-784819064f05
# vault.secretId=609e5c5e-50d7-356c-2c2c-90d65a976a97
# vault.keyId=kbee-key

# vault.newfiles: whether to use vault to encrypt keys for new incoming files.
# Note that this variable has effect on files uploaded after the value 'newfiles' is changed
# for files uploaded before the change of 'newfiles' -> if they used the Vault when uploaded, 
# then the vault is required to access those files 
# vault.newfiles=true <- default value

# MASTER - STANDBY -------------------
# 
# Set standby.enabled=enabled
# to enable master-standby architecture
# and add the standby server endpoint and credentials
#
# standby.enabled=false
# standby.url=http://localhost
# standby.port=9211
# standby.accessKey=odilon
# standby.secretKey=odilon

# standby.sync.force <- is a boolean value, true forces the master server to replicate all data to the standby, default value is file
# note that after forcing a full sync you should set this value to false to avoid a full resync every time odilon server is started
# standby.sync.force = false

#
# -----------------------
# SILENT DATA CORRUPTION DETECTION
#
# Disk monitoring for silent and slow data degradation detection (bit rot detection)
# Uncomment and edit, default values are: 
#
# Whether the integrity check is enabled, by default it is true
# integrityCheck=true 
#
# The expression 15 15 3 * * * means that the daemon should wake up and run a test every day at 3:15:15 AM
# integrityCheckCronExpression=15 15 3 * * * 
#
# integrityCheckDays is the range between checks for every file, by default 180 days
# integrityCheckDays=180

# -----------------------
# TRAFFIC CONTROL
#
# numberofpasses -> is the max number of concurrent API requests served
# the goal of this parameters is to prevent overload of the server capacity
#
#  numberofpasses=10 <- default vaule



