# Cfg Checker
# Environment file example

# Either open a tunnel from your hosts using 
# 'ssh -L 16969:<cfg-IP>:6969 <user>@<lab-IP>'
# Or run it from within a cloud

# Main log file of the tests
MCP_LOGFILE = 'qa-lab.log'

# SSH is used when environment is not local to get salt password
# in order set options and user for the ssh, 
# please, use ~/.ssh/config
# SSH hostname of salt master node
MCP_SSH_KEY=/Users/savex/.ssh/id_rsa
MCP_SSH_USER=osavatieiev
MCP_SSH_HOST=172.16.242.122

# Salt master host to connect to
MCP_ENV_HOST=172.16.242.122
# Salt master port.
# Note that you can safely execute second master (not on production)
# on the same cfg node with diferent port and set logging to ALL
MCP_SALT_PORT=6969

# User and password to auth on master. Can be found in /srv/salt/...
SALT_USER=salt

# default timeout for salt calls
SALT_TIMEOUT=30

# Folder where salt points its filesystem: salt://
SALT_FILE_ROOT=/usr/share/salt-formulas/env/

# Subfolder with scripts to be uploaded
SALT_SCRIPTS_FOLDER=test_scripts

# All nodes list file overide
SALT_NODE_LIST_FILE=etc/qa-lab.list
