################################################################################
#
#    Licensed to the Apache Software Foundation (ASF) under one or more
#    contributor license agreements.  See the NOTICE file distributed with
#    this work for additional information regarding copyright ownership.
#    The ASF licenses this file to You under the Apache License, Version 2.0
#    (the "License"); you may not use this file except in compliance with
#    the License.  You may obtain a copy of the License at
#
#       http://www.apache.org/licenses/LICENSE-2.0
#
#    Unless required by applicable law or agreed to in writing, software
#    distributed under the License is distributed on an "AS IS" BASIS,
#    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
#    See the License for the specific language governing permissions and
#    limitations under the License.
#
################################################################################

#
# The properties defined in this file will be made available through system
# properties at the very beginning of the Karaf's boot process.
#

# Properties file inclusions (as a space separated list of relative paths)
# Included files will override the values specified in this file
${optionals} = custom.system.properties

# Log level when the pax-logging service is not available
# This level will only be used while the pax-logging service bundle
# is not fully available.
# To change log levels, please refer to the org.ops4j.pax.logging.cfg file
# instead.
org.ops4j.pax.logging.DefaultServiceLog.level = ERROR

#
# Name of this Karaf instance.
#
karaf.name = root

#
# Default repository where bundles will be loaded from before using
# other Maven repositories.  For the full Maven configuration, see
# the org.ops4j.pax.url.mvn.cfg file.
#
karaf.default.repository = system

#
# Location of a shell script that will be run when starting a shell
# session.  This script can be used to create aliases and define
# additional commands.
#
# NB: ${karaf.etc} is implicitly added to the path, don't use absolute path here
#
karaf.shell.init.script = shell.init.script,scripts/*.script

#
# Sets the maximum size of the shell command history. If not set,
# defaults to 500 entries. Setting to 0 will disable history.
#
# karaf.shell.history.maxSize = 0

#
# Sets the maximum size of the local shell command history file. If not set,
# defaults to 10000 entries.
#
# karaf.shell.history.file.maxSize = 10000

#
# Deletes the entire karaf.data directory at every start
#
karaf.clean.all = false

#
# Deletes the karaf.data/cache directory at every start
#
karaf.clean.cache = false

#
# User name for the Karaf local console
#
karaf.local.user = karaf

#
# Roles to use when for the default user in the local Karaf console.
#
# The syntax is the following:
#   [classname:]principal
# where classname is the class name of the principal object
# (defaults to org.apache.karaf.jaas.modules.RolePrincipal)
# and principal is the name of the principal of that class
# (defaults to instance).
#
karaf.local.roles = admin,manager,viewer,systembundles

#
# Set this empty property to avoid errors when validating xml documents.
#
xml.catalog.files =

#
# Specs options
#
org.apache.servicemix.specs.debug = false
org.apache.servicemix.specs.timeout = 0
org.apache.karaf.specs.debug = false
org.apache.karaf.specs.timeout = 0

#
# Settings for the OSGi 4.3 Weaving
# By default, we will not weave any classes. Change this setting to include classes
# that you application needs to have woven.
#
org.apache.aries.proxy.weaving.enabled = none
# Classes not to weave - Aries default + Xerces which is known to have issues.
org.apache.aries.proxy.weaving.disabled = org.objectweb.asm.*,org.slf4j.*,org.apache.log4j.*,javax.*,org.apache.xerces.*

#
# By default, only Karaf shell commands are secured, but additional services can be
# secured by expanding this filter
#
karaf.secured.services = (&(osgi.command.scope=*)(osgi.command.function=*))

#
# If set to true, Karaf will exit if either the resolving of feature repositories, or 
# the installation of boot features (as configured in org.apache.karaf.features.cfg) fails.
#
karaf.require.successful.features.boot = false

#
# By default, if there's no ACL policy for a certain karaf command, this command is allowed to access
# without the RBAC. We can change this behavior by enable the following property, which means
# if a karaf command has no corresponding ACL then access it must have one of the karaf.secured.command.compulsory.roles
#
#karaf.secured.command.compulsory.roles=admin

#
# Security properties
#
# To enable OSGi security, uncomment the properties below,
# install the framework-security feature and restart.
#
#java.security.policy=${karaf.etc}/all.policy
#org.osgi.framework.security=osgi
#org.osgi.framework.trust.repositories=${karaf.etc}/trustStore.ks

#
# HA/Lock configuration
#
# Karaf uses a lock mechanism to know which instance is the master (HA)
# The lock can be on the filesystem (default) or on a database.
#
# See http://karaf.apache.org/manual/latest/users-guide/failover.html for details.
#
# Even using a single instance, Karaf creates the lock file
# You can specify the location of the lock file using the
# karaf.lock.dir=/path/to/the/directory/containing/the/lock
#
# By default, the slave instances start but are passive.
# If you want to prevent the slave instances startup, you can use
# the karaf.lock.slave.block property (false by default):
# karaf.lock.slave.block=true
