# Licensed to the Apache Software Foundation (ASF) under the terms of ASLv2 (http://www.apache.org/licenses/LICENSE-2.0).

org.apache.ace.server.servlet.endpoint=/agent
# no authentication is used...
authentication.enabled = false
# OBR settings
obr.url = http://${org.apache.ace.obr}/obr/
