#
# Configuration properties
#
# this file is read by the configure.py script.
#
# Note:: the special parameter value "hostname" will be replaced
# by the hostname specified on the command line or
# found by lookup. 
# 

[parameters]

#
# target base directory, use "currentdir" to leave as-is
# (otherwise use an absolute path, such as "/opt/unicore6")
#
INSTALL_PATH=currentdir


# which components to configure

#
# the Gateway
#
gateway=true

#
# the UNICORE/X server
#
unicorex=true

#
# the Perl TSI (check also the xnjsConfigFile property below)
#
tsi=false

#
# the shared Registry server
# (if you want UNICORE/X to use this or another external registry, 
#  make sure to edit the relevant settings below)
#
registry=false

#
# the XUUDB user database
#
xuudb=false

#
# shall the demo user cert be added to the xuudb and the map file?
#
installdemouser=true

#
# shall the docs be copied by install.py?
#
docs=true

#
# Java command to use
#
JAVA_CMD=java

###################################################
#
# Settings for configuring the Gateway server
#
###################################################

#
# Gateway host and port
# 
gwHost=hostname
gwPort=8080

#
# allow auto-registration with the gateway?
#
gwAutoRegistration=false

#
# add a line to connection.properties for the registry
# defaults to the value of the "registry" parameter
#
gwAddRegistryEntry=${registry}

#
# Security settings
#

# keystore is a JKS or PKCS12 file
gwKeystore=conf/gateway.p12
gwKeystorePassword=the!gateway

# truststore is either a JKS, PKCS12 or .pem file,
# or a directory containing .pem files
gwTruststore=conf/truststore.jks
gwTruststorePassword=unicore

###################################################
#
# Settings for configuring the UNICORE/X server
#
###################################################

#
# UNICORE/X server host and port
#
uxHost=hostname
uxPort=7777
#
# UNICORE/X port for remote administration via JMX
# (leave empty to disable JMX)
uxJmxPort=

# how much memory to allocate for the UNICORE/X process
uxMemory=256

#
# VSite name
#
uxName=DEMO-SITE

#
# Security settings
#
# keystore is a JKS or PKCS12 file
uxKeystore=${INSTALL_PATH}/unicorex/conf/unicorex.p12
uxKeystorePassword=the!njs

# truststore is either a JKS, PKCS12 or .pem file,
# or a directory containing .pem files
uxTruststore=${INSTALL_PATH}/unicorex/conf/truststore.jks
uxTruststorePassword=unicore

#
# Gateway host/port. By default these are in sync with the 
# gateway server settings defined above
#
uxGatewayHost=${gwHost}
uxGatewayPort=${gwPort}

#
# XNJS configuration file
#
# xnjs.xml         : uses the embedded Java TSI
# xnjs_legacy.xml  : uses the Perl TSI
#
uxXnjsConfigFile=xnjs.xml

#
# settings for defining the external registry
#

#
# register with an external Registry?
#
uxUseExternalRegistry=${registry}

#
# Give the URL of the Registry the UNICORE/X should register
# with (defaults to the one we are installing)
#
uxUrlExternalRegistry=https://${gwHost}:${gwPort}/${registryName}/services/Registry?res=default_registry


#
# Enable the StorageFactory service for this UNICORE/X server?
# A StorageFactory should ideally be running on sites with a powerful,
# high capacity filesystem
#
uxEnableStorageFactory=true

#
# For the default storage factory, where should the files be created
# This has to be world executable (like the filespace directory)
#
uxDefaultStorageFactoryPath=${INSTALL_PATH}/unicorex/storage-factory

#
# Enable the OGSA BES interface
# (leave empty to disable BES)
#
uxEnableBES=de.fzj.unicore.bes.util.BESOnStartup

#
# settings for interfacing to an XUUDB
#

# whether to use the XUUDB
# - if set to "XUUDB", the XUUDB will used
# - if set to "FILE", a map file 'conf/simpleuudb' will be used
uxUseXUUDB=FILE

# host/port, by default the XUUDB server values given below are used
uxXUUDBHost=${xuudbHost}
uxXUUDBPort=${xuudbPort}

# GCID: the ID used by the UNICORE/X server for querying the XUUDB
uxGCID=${uxName}

#
# Settings for interfacing UNICORE/X to the Perl TSI
# By default, these are in sync with the corresponding TSI properties
# defined below

# The TSI base directory
uxTSIDirectory=${tsiInstallDirectory}

uxTSIHost=${tsiHost}
uxTSIPort=${tsiPort}
uxTSICallbackPort=${tsiNjsPort}

# The user id for querying job info from the batch system (cannot be root!)
uxTSIQstatUser=${USER_NAME}

# The interval between batch system status checks (in milliseconds)
uxTSIStatusUpdateInterval=5000

#
# The directory on the target system where the job directories will be created
# (On a cluster, this should be a shared filesystem!)
# The directory must be accessible for every user id (chmod 1777)
#
uxTSIWorkingDirectoriesBasedir=${INSTALL_PATH}/FILESPACE

#
# Resource settings, these will go into the IDB file at
# 'unicorex/conf/simpleidb'. 
# All resource settings have a minimum, a maximum and a default value.
# Please consult the IDB documentation (docs/unicorex/xnjs-idb.txt) 
# for further details and options
#

# total CPUs
uxTotalCPUsMin=1
uxTotalCPUsMax=1
uxTotalCPUsDefault=1

# nodes
uxNodesMin=1
uxNodesMax=1
uxNodesDefault=1

# CPUs per node
uxCPUsPerNodeMin=1
uxCPUsPerNodeMax=1
uxCPUsPerNodeDefault=1

# wall clock time (seconds) for the job
uxTimeMin=10
uxTimeMax=86000
uxTimeDefault=3600

# memory per node (in bytes)
uxMemoryPerNodeMin=1048576
uxMemoryPerNodeMax=1073741824
uxMemoryPerNodeDefault=268435456


###################################################
#
# UNICORE/X common information provider (CIP) settings
# This data is used to provide information about this 
# site to a Common Information Service (CIS)
#
###################################################
uxCIPLatitude=52.0
uxCIPLongitude=4.888573
uxCIPCPUClockSpeed=3000
uxCIPTotalCapacity=204800


###################################################
#
# Settings for interfacing UNICORE/X to a VO server
#
###################################################

# The following settings are enough for an UVOS server. For others you 
# may need to adapt the generated configuration

# Which group is used to store Xlogins and Roles for this site?
voGroup=/demo-vo/DEMO-SITE
# whether to query the VO server (aka PULL mode)?
# set to "VO-PULL" to enable, leave empty to disable
voEnablePull=
#voEnablePull=VO-PULL
voPullServerHost=hostname
voPullServerPort=2443

# whether to process SAML assertions pushed by clients
# set to "VO-PUSH" to enable, leave empty to disable
voEnablePush=
#voEnablePush=VO-PUSH

###################################################
#
# Settings related to the Perl TSI server
#
###################################################

# TSI host and port
# (i.e. port on which the TSI process will listen for XNJS requests)
tsiHost=hostname
tsiPort=4433

# The port on which the XNJS is listening for TSI worker connections
tsiNjsPort=7654

#
# The selected TSI (i.e. directory containing platform-specific 
# TSI files), one of
#
# tsi/linux_torque       (Torque)
# tsi/linux_slurm        (Slurm)
# tsi/linux_lsf          (LSF)
# tsi/aix_ll             (LoadLeveler)
# tsi/sun_gridengine     (GridEngine)
# tsi/NOBATCH            (Simple fork)
#
# (Note: there are several more like Condor which are less
# often used and may be less well supported)
#
tsiSelected=tsi/NOBATCH

#
# Where to install the Perl TSI
# (absolute path)
#
tsiInstallDirectory=${INSTALL_PATH}/tsi_selected


###################################################
#
# Settings related to the XUUDB server
#
###################################################

#
# XUUDB server host and port
#
xuudbHost=hostname
xuudbPort=34463

# XUUDB type (dn or normal)
xuudbType=dn

#
# Security settings
#

# keystore is a JKS or PKCS12 file
xuudbKeystore=conf/xuudb.p12
xuudbKeystorePassword=the!xuudb
xuudbKeystoreType=pkcs12

# truststore is a JKS or PKCS12 file
xuudbTruststore=conf/truststore.jks
xuudbTruststorePassword=unicore
xuudbTruststoreType=jks

# ACL entry: to use the XUUDB admin.sh client, its certificate DN 
#            needs to be in the xuudb.acl file
#            (see docs/xuudb/xuudb.txt for full information)
xuudbAdminDN=CN=Demo XUUDB,O=UNICORE,C=EU

###################################################
#
# Settings related to the Registry server
#
###################################################

#
# Registry server host and port
#
registryHost=hostname
registryPort=7778
#
# Registry port for remote administration via JMX
# (leave empty to disable JMX)
registryJmxPort=

#
# VSite name
#
registryName=REGISTRY

#
# Gateway host/port. By default these are in sync with the 
# gateway server settings defined above
#
registryGatewayHost=${gwHost}
registryGatewayPort=${gwPort}


#
# Enable access control on the Registry service.
# If "true", only Grid identities having role="server" can 
# add entries to the registry. In this case server certificates 
# need to be entered with role 'server' in the XUUDB or map file.
#
# NOTE: for production infrastructures access control MUST be enabled
#
registryAccessControl=false

#
# settings for interfacing to an XUUDB
# (only relevant if accesscontrol is enabled)

# whether to use the XUUDB
# - if set to "XUUDB", the XUUDB will used
# - if set to "FILE", a map file 'conf/simpleuudb' will be used
registryUseXUUDB=FILE

# host/port, by default the XUUDB server values given below are used
registryXUUDBHost=${xuudbHost}
registryXUUDBPort=${xuudbPort}

# registry GCID: the ID used by the Registry for querying the XUUDB
registryGCID=REGISTRY

#
# Security settings
#
# keystore is a JKS or PKCS12 file
registryKeystore=conf/registry.p12
registryKeystorePassword=the!registry

# truststore is either a JKS, PKCS12 or .pem file,
# or a directory containing .pem files
registryTruststore=conf/truststore.jks
registryTruststorePassword=unicore
