openHAB install after windows service feature install

This commit is contained in:
2019-11-08 16:28:55 -06:00
commit 6a5b2422b6
973 changed files with 22607 additions and 0 deletions

22
userdata/etc/all.policy Normal file
View File

@@ -0,0 +1,22 @@
//===========================================================================
//
// 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.
//
//===========================================================================
grant {
permission java.security.AllPermission;
};

View File

@@ -0,0 +1,15 @@
# if you are looking here you might be interested in visiting this page:
# http://www.network-science.de/ascii/ - this header is made with slant font. Enjoy!
welcome = \r\n\
\u001B[31m \u001B[0m __ _____ ____ \u001B[0m\r\n\
\u001B[31m ____ ____ ___ ____ \u001B[0m/ / / / | / __ ) \u001B[0m\r\n\
\u001B[31m / __ \\/ __ \\/ _ \\/ __ \\\u001B[0m/ /_/ / /| | / __ | \u001B[0m\r\n\
\u001B[31m/ /_/ / /_/ / __/ / / / \u001B[0m__ / ___ |/ /_/ / \u001B[0m\r\n\
\u001B[31m\\____/ .___/\\___/_/ /_/\u001B[0m_/ /_/_/ |_/_____/ \u001B[0m\r\n\
\u001B[31m /_/ \u001B[0m 2.4.0\u001B[0m\r\n\
\u001B[31m \u001B[0m Release Build \u001B[0m\r\n\
\r\n\
Hit '\u001B[1m<tab>\u001B[0m' for a list of available commands\r\n\
and '\u001B[1m[cmd] --help\u001B[0m' for help on a specific command.\r\n\
Hit '\u001B[1m<ctrl-d>\u001B[0m' or type '\u001B[1msystem:shutdown\u001B[0m' or '\u001B[1mlogout\u001B[0m' to shutdown openHAB.\r\n
prompt = \u001B[36mopenhab>\u001B[0m

View File

@@ -0,0 +1,15 @@
# if you are looking here you might be interested in visiting this page:
# http://www.network-science.de/ascii/ - this header is made with slant font. Enjoy!
welcome = \r\n\
\u001B[31m \u001B[0m __ _____ ____ \u001B[0m\r\n\
\u001B[31m ____ ____ ___ ____ \u001B[0m/ / / / | / __ ) \u001B[0m\r\n\
\u001B[31m / __ \\/ __ \\/ _ \\/ __ \\\u001B[0m/ /_/ / /| | / __ | \u001B[0m\r\n\
\u001B[31m/ /_/ / /_/ / __/ / / / \u001B[0m__ / ___ |/ /_/ / \u001B[0m\r\n\
\u001B[31m\\____/ .___/\\___/_/ /_/\u001B[0m_/ /_/_/ |_/_____/ \u001B[0m\r\n\
\u001B[31m /_/ \u001B[0m 2.4.0\u001B[0m\r\n\
\u001B[31m \u001B[0m Release Build \u001B[0m\r\n\
\r\n\
Hit '\u001B[1m<tab>\u001B[0m' for a list of available commands\r\n\
and '\u001B[1m[cmd] --help\u001B[0m' for help on a specific command.\r\n\
Hit '\u001B[1m<ctrl-d>\u001B[0m' or type '\u001B[1msystem:shutdown\u001B[0m' or '\u001B[1mlogout\u001B[0m' to shutdown openHAB.\r\n
prompt = \u001B[36mopenhab>\u001B[0m

View File

@@ -0,0 +1 @@
root=/rest

View File

@@ -0,0 +1,2 @@
swagger.basePath=/rest
swagger.info.title=openHAB REST API

View File

@@ -0,0 +1,269 @@
################################################################################
#
# 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.
#
################################################################################
#
# This file lists Karaf default settings for this particular version of Karaf.
# For easier maintenance when upgrading Karaf and to better document which
# default values have changed, it is recommended to place any changes to
# these values in a custom.properties file in the same folder as this file.
# Each value specified in custom.properties will override the default value
# here.
#
#
# Properties file inclusions (as a space separated list of relative paths)
# Included files will override the values specified in this file
# NB: ${includes} properties files are mandatory, it means that Karaf will not start
# if the include file is not found
#
${includes} = jre.properties custom.properties
#
# Properties file inclusions (as a space separated list of relative paths)
# Included files will override the values specified in this file
# NB: ${optionals} properties files are optionals, it means that Karaf will just
# display a warning message but the bootstrap will be performed
#
# ${optionals} = my.properties
#
# Framework selection properties
#
karaf.framework=felix
#
# Location of the OSGi frameworks
#
karaf.framework.equinox=mvn\:org.eclipse.platform/org.eclipse.osgi/3.12.100
karaf.framework.felix=mvn\:org.apache.felix/org.apache.felix.framework/5.6.10
#
# Framework config properties.
#
org.osgi.framework.system.packages= \
org.osgi.dto;version="1.0",\
org.osgi.resource;version="1.0",\
org.osgi.resource.dto;version="1.0";uses:="org.osgi.dto",\
org.osgi.framework;version="1.8",\
org.osgi.framework.dto;version="1.8";uses:="org.osgi.dto",\
org.osgi.framework.hooks.bundle;version="1.1";uses:="org.osgi.framework",\
org.osgi.framework.hooks.resolver;version="1.0";uses:="org.osgi.framework.wiring",\
org.osgi.framework.hooks.service;version="1.1";uses:="org.osgi.framework",\
org.osgi.framework.hooks.weaving;version="1.1";uses:="org.osgi.framework.wiring",\
org.osgi.framework.launch;version="1.2";uses:="org.osgi.framework",\
org.osgi.framework.namespace;version="1.1";uses:="org.osgi.resource",\
org.osgi.framework.startlevel;version="1.0";uses:="org.osgi.framework",\
org.osgi.framework.startlevel.dto;version="1.0";uses:="org.osgi.dto",\
org.osgi.framework.wiring;version="1.2";uses:="org.osgi.framework,org.osgi.resource",\
org.osgi.framework.wiring.dto;version="1.2";uses:="org.osgi.dto,org.osgi.resource.dto",\
org.osgi.service.condpermadmin;version="1.1.1";uses:="org.osgi.framework,org.osgi.service.permissionadmin",\
org.osgi.service.packageadmin;version="1.2";uses:="org.osgi.framework",org.osgi.service.permissionadmin;version="1.2",\
org.osgi.service.resolver;version="1.0";uses:="org.osgi.resource",\
org.osgi.service.startlevel;version="1.1";uses:="org.osgi.framework",\
org.osgi.service.url;version="1.0",\
org.osgi.util.tracker;version="1.5.1";uses:="org.osgi.framework",\
org.apache.karaf.version;version="4.2.1",\
org.apache.karaf.jaas.boot.principal;uses:=javax.security.auth;version="4.2.1",\
org.apache.karaf.jaas.boot;uses:="javax.security.auth,javax.security.auth.callback,javax.security.auth.login,javax.security.auth.spi,org.osgi.framework";version="4.2.1",\
${jre-${java.specification.version}}
#
# Extra packages appended after standard packages
#
org.osgi.framework.system.packages.extra = \
org.apache.karaf.branding, \
sun.misc, \
org.apache.karaf.jaas.boot;uses:=\"javax.security.auth,javax.security.auth.callback,javax.security.auth.login,javax.security.auth.spi,org.osgi.framework\";version=4.2.1, \
org.apache.karaf.jaas.boot.principal;uses:=javax.security.auth;version=4.2.1, \
org.apache.karaf.diagnostic.core;uses:=org.osgi.framework;version=4.2.1, \
org.apache.karaf.diagnostic.core.common;uses:=org.apache.karaf.diagnostic.core;version=4.2.1
org.osgi.framework.system.capabilities= \
${eecap-${java.specification.version}}, \
${${karaf.framework}-capabilities}, \
${karaf-capabilities}
karaf-capabilities= \
osgi.service;objectClass:List<String>=org.apache.karaf.info.ServerInfo
felix-capabilities= \
osgi.service;objectClass:List<String>=org.osgi.service.packageadmin.PackageAdmin, \
osgi.service;objectClass:List<String>=org.osgi.service.resolver.Resolver, \
osgi.service;objectClass:List<String>=org.osgi.service.startlevel.StartLevel
equinox-capabilities= \
osgi.service;objectClass:List<String>=java.lang.ClassLoader;equinox.classloader.type=contextClassLoader, \
osgi.service;objectClass:List<String>=javax.xml.parsers.DocumentBuilderFactory, \
osgi.service;objectClass:List<String>=javax.xml.parsers.SAXParserFactory, \
osgi.service;objectClass:List<String>=org.eclipse.osgi.framework.log.FrameworkLog, \
osgi.service;objectClass:List<String>=org.eclipse.osgi.framework.log.FrameworkLog;performance=true, \
osgi.service;objectClass:List<String>=org.eclipse.osgi.service.datalocation.Location;type=eclipse.home.location, \
osgi.service;objectClass:List<String>=org.eclipse.osgi.service.datalocation.Location;type=osgi.configuration.area, \
osgi.service;objectClass:List<String>=org.eclipse.osgi.service.datalocation.Location;type=osgi.install.area, \
osgi.service;objectClass:List<String>=org.eclipse.osgi.service.datalocation.Location;type=osgi.instance.area, \
osgi.service;objectClass:List<String>=org.eclipse.osgi.service.datalocation.Location;type=osgi.user.area, \
osgi.service;objectClass:List<String>=org.eclipse.osgi.service.debug.DebugOptions, \
osgi.service;objectClass:List<String>=org.eclipse.osgi.service.environment.EnvironmentInfo, \
osgi.service;objectClass:List<String>=org.eclipse.osgi.service.localization.BundleLocalization, \
osgi.service;objectClass:List<String>="org.osgi.service.log.LogReaderService,org.eclipse.equinox.log.ExtendedLogReaderService", \
osgi.service;objectClass:List<String>="org.osgi.service.log.LogService,org.eclipse.equinox.log.ExtendedLogService", \
osgi.service;objectClass:List<String>=org.eclipse.osgi.service.security.TrustEngine;osgi.signedcontent.trust.engine=org.eclipse.osgi, \
osgi.service;objectClass:List<String>=org.eclipse.osgi.service.urlconversion.URLConverter;protocol:List<String>="bundleentry,bundleresource"
eecap-11= osgi.ee; osgi.ee="OSGi/Minimum"; version:List<Version>="1.0,1.1,1.2", \
osgi.ee; osgi.ee="JavaSE"; version:List<Version>="1.0,1.1,1.2,1.3,1.4,1.5,1.6,1.7,1.8,9.0,10.0,11.0", \
osgi.ee; osgi.ee="JRE"; version:List<Version>="1.0,1.1", \
osgi.ee; osgi.ee="JavaSE/compact1"; version:List<Version>="1.8,9.0,10.0,11.0", \
osgi.ee; osgi.ee="JavaSE/compact2"; version:List<Version>="1.8,9.0,10.0,11.0", \
osgi.ee; osgi.ee="JavaSE/compact3"; version:List<Version>="1.8,9.0,10.0,11.0"
eecap-10= osgi.ee; osgi.ee="OSGi/Minimum"; version:List<Version>="1.0,1.1,1.2", \
osgi.ee; osgi.ee="JavaSE"; version:List<Version>="1.0,1.1,1.2,1.3,1.4,1.5,1.6,1.7,1.8,9.0,10.0", \
osgi.ee; osgi.ee="JRE"; version:List<Version>="1.0,1.1", \
osgi.ee; osgi.ee="JavaSE/compact1"; version:List<Version>="1.8,9.0,10.0", \
osgi.ee; osgi.ee="JavaSE/compact2"; version:List<Version>="1.8,9.0,10.0", \
osgi.ee; osgi.ee="JavaSE/compact3"; version:List<Version>="1.8,9.0,10.0"
eecap-9= osgi.ee; osgi.ee="OSGi/Minimum"; version:List<Version>="1.0,1.1,1.2", \
osgi.ee; osgi.ee="JavaSE"; version:List<Version>="1.0,1.1,1.2,1.3,1.4,1.5,1.6,1.7,1.8,9.0", \
osgi.ee; osgi.ee="JRE"; version:List<Version>="1.0,1.1", \
osgi.ee; osgi.ee="JavaSE/compact1"; version:List<Version>="1.8,9.0", \
osgi.ee; osgi.ee="JavaSE/compact2"; version:List<Version>="1.8,9.0", \
osgi.ee; osgi.ee="JavaSE/compact3"; version:List<Version>="1.8,9.0"
eecap-1.8= osgi.ee; osgi.ee="OSGi/Minimum"; version:List<Version>="1.0,1.1,1.2", \
osgi.ee; osgi.ee="JavaSE"; version:List<Version>="1.0,1.1,1.2,1.3,1.4,1.5,1.6,1.7,1.8", \
osgi.ee; osgi.ee="JRE"; version:List<Version>="1.0,1.1", \
osgi.ee; osgi.ee="JavaSE/compact1"; version:List<Version>="1.8", \
osgi.ee; osgi.ee="JavaSE/compact2"; version:List<Version>="1.8", \
osgi.ee; osgi.ee="JavaSE/compact3"; version:List<Version>="1.8"
#
# javax.transaction is needed to avoid class loader constraint violation when using javax.sql
#
org.osgi.framework.bootdelegation = \
com.sun.*, \
javax.transaction, \
javax.transaction.*, \
javax.xml.crypto, \
javax.xml.crypto.*, \
jdk.nashorn.*, \
sun.*, \
jdk.internal.reflect, \
jdk.internal.reflect.*, \
org.apache.karaf.jaas.boot, \
org.apache.karaf.jaas.boot.principal
# jVisualVM support
# in order to use Karaf with jvisualvm, the org.osgi.framework.bootdelegation property has to contain the org.netbeans.lib.profiler.server package
# and, so, it should look like:
#
# org.osgi.framework.bootdelegation=org.apache.karaf.jaas.boot,org.apache.karaf.jaas.boot.principal,sun.*,com.sun.*,javax.transaction,javax.transaction.*,javax.xml.crypto,javax.xml.crypto.*,org.apache.xerces.jaxp.datatype,org.apache.xerces.stax,org.apache.xerces.parsers,org.apache.xerces.jaxp,org.apache.xerces.jaxp.validation,org.apache.xerces.dom,org.netbeans.lib.profiler.server
#
# YourKit support
# in order to use Karaf with YourKit, the org.osgi.framework.bootdelegation property has to contain the com.yourkit.* packages
# and, so, it should look like:
#
# org.osgi.framework.bootdelegation=org.apache.karaf.jaas.boot,org.apache.karaf.jaas.boot.principal,sun.*,com.sun.*,javax.transaction,javax.transaction.*,javax.xml.crypto,javax.xml.crypto.*,org.apache.xerces.jaxp.datatype,org.apache.xerces.stax,org.apache.xerces.parsers,org.apache.xerces.jaxp,org.apache.xerces.jaxp.validation,org.apache.xerces.dom,com.yourkit.*
#
#
# Set the parent classloader for the bundle to the classloader that loads the Framework (i.e. everything in lib/*.jar)
#
org.osgi.framework.bundle.parent=framework
#
# Definition of the default bundle start level
#
org.osgi.framework.startlevel.beginning=100
karaf.startlevel.bundle=80
#
# The location of the Karaf shutdown port file used to stop instance
#
karaf.shutdown.port.file=${karaf.data}/port
#
# The location of the Karaf pid file
#
karaf.pid.file=${karaf.base}/karaf.pid
#
# Configuration FileMonitor properties
#
felix.fileinstall.enableConfigSave = true
felix.fileinstall.dir = ${karaf.etc}
felix.fileinstall.filter = .*\\.(cfg|config)
felix.fileinstall.poll = 1000
felix.fileinstall.noInitialDelay = true
felix.fileinstall.log.level = 3
felix.fileinstall.log.default = jul
# Use cached urls for bundle CodeSource to avoid
# problems with JCE cached informations, see KARAF-3974
felix.bundlecodesource.usecachedurls = true
#
# Delay for writing the framework state to disk in equinox
# must be >= 1000 and <= 1800000
#
eclipse.stateSaveDelayInterval = 1000
#
# OBR Repository list
# This property will be modified by the obr:addUrl and obr:removeUrl commands.
#
obr.repository.url =
#
# Start blueprint bundles synchronously when possible
#
org.apache.aries.blueprint.synchronous=true
#
# Do not weave all any classes by default
#
org.apache.aries.proxy.weaving.enabled=
#
# mvn url handler requires config instance configuration
#
org.ops4j.pax.url.mvn.requireConfigAdminConfig=true
#
# Don't delay the console startup. Set to true if you want the console to start after all other bundles
#
karaf.delay.console=false
#
# Generated command shutdown
#
karaf.shutdown.command = b39dad51-f162-4919-9f2f-8f8b7b27d5f2
#
# Enable native Karaf support for systemd's watchdog.
#
# In addition to setting the flag to true, the JNA library needs to be made
# available to the main classloader by adding the two following libraries
# to the lib/boot directory
# mvn:net.java.dev.jna/jna/${jna.version}
# mvn:net.java.dev.jna/jna-platform/${jna.version}
# or by building a custom distribution and adding the following lines for the
# karaf maven plugin configuration:
# <library>mvn:net.java.dev.jna/jna/${jna.version};type:=boot;export:=false</library>
# <library>mvn:net.java.dev.jna/jna-platform/${jna.version};type:=boot;export:=false</library>
#
#karaf.systemd.enabled=true

View File

@@ -0,0 +1,10 @@
karaf.bootstrap.log = ${karaf.logs}/openhab.log
karaf.systemBundlesStartLevel = 50
karaf.framework = equinox
karaf.lock.dir=${karaf.data}/tmp
karaf.shutdown.port.file=${karaf.data}/tmp/port
karaf.pid.file=${karaf.data}/tmp/karaf.pid
osgi.compatibility.bootdelegation = true
felix.fileinstall.dir = ${karaf.data}/etc

View File

@@ -0,0 +1,12 @@
karaf.name=openhab
karaf.local.user=openhab
mdnsName=openhab
smarthome.servicepid=org.openhab
smarthome.servicecfg=${openhab.runtime}/services.cfg
smarthome.userdata=${openhab.userdata}
smarthome.configdir=${openhab.conf}
org.quartz.properties=${openhab.runtime}/etc/quartz.properties
jetty.keystore.path=${openhab.userdata}/etc/keystore
jetty.truststore.path=${openhab.userdata}/etc/keystore
equinox.ds.block_timeout=240000
equinox.scr.waitTimeOnBlock=60000

View File

@@ -0,0 +1,26 @@
################################################################################
#
# 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.
#
################################################################################
#
# This file contains the general platform information required by the itests to find out
# about the current versions.
#
karafVersion=4.2.1
name=Apache Karaf

View File

@@ -0,0 +1,111 @@
# 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.
#### Debugging options for org.eclipse.bundles
# Turn on general debugging for org.eclipse.bundles
org.eclipse.osgi/debug = false
# Prints out class loading debug information
org.eclipse.osgi/debug/loader = false
# Prints out event (FrameworkEvent/BundleEvent/ServiceEvent) and listener debug information
org.eclipse.osgi/debug/events = false
# Prints out OSGi service debug information (registration/getting/ungetting etc.)
org.eclipse.osgi/debug/services = false
# Prints out bundle manifest parsing debug information
org.eclipse.osgi/debug/manifest = false
# Prints out LDAP filter debug information
org.eclipse.osgi/debug/filter = false
# Prints out security (PermissionAdmin service) debug information
org.eclipse.osgi/debug/security = false
# Prints out start level service debug information
org.eclipse.osgi/debug/startlevel = false
# Prints out package instance service debug information
org.eclipse.osgi/debug/packageadmin = false
# Prints out timing information for bundle activation
org.eclipse.osgi/debug/bundleTime = false
# Debug the loading of message bundles
org.eclipse.osgi/debug/messageBundles = false
# Eclipse adaptor options
org.eclipse.osgi/eclipseadaptor/debug = false
org.eclipse.osgi/eclipseadaptor/debug/location = false
org.eclipse.osgi/eclipseadaptor/debug/platformadmin = false
org.eclipse.osgi/eclipseadaptor/debug/platformadmin/resolver = false
org.eclipse.osgi/eclipseadaptor/converter/debug = false
### OSGi resolver options
# Turns on debugging for the resolver
org.eclipse.osgi/resolver/debug = false
# Prints out wiring information after the resolver has completed the resolve process
org.eclipse.osgi/resolver/wiring = false
# Prints out Import-Package information
org.eclipse.osgi/resolver/imports = false
# Prints out Require-Bundle information
org.eclipse.osgi/resolver/requires = false
# Prints out package grouping information form the "uses" clause
org.eclipse.osgi/resolver/grouping = false
# Prints out cycle information
org.eclipse.osgi/resolver/cycles = false
# Prints out Eclipse-GenericRequire information
org.eclipse.osgi/resolver/generics = false
#### Profile settings
org.eclipse.osgi/profile/startup = false
org.eclipse.osgi/profile/benchmark = false
org.eclipse.osgi/profile/debug = false
# Override the default implemenation
org.eclipse.osgi/profile/impl = org.eclipse.osgi.internal.profile.DefaultProfileLogger
# Append all profile messages to the filename specified
org.eclipse.osgi/defaultprofile/logfilename =
# Output all profile log messages synchronously to the jvm console.
# By default, all log messages are cached until the log buffer is
# requested.
org.eclipse.osgi/defaultprofile/logsynchronously = false
# Specify the size of the default profile implementation log buffer.
org.eclipse.osgi/defaultprofile/buffersize = 256
#### Monitoring settings
# monitor class loading
org.eclipse.osgi/monitor/classes = false
# monitor bundle activation
org.eclipse.osgi/monitor/activation = false
# monitor resource bundle (*.properties) loading
org.eclipse.osgi/monitor/resources = false
#### Trace settings
# trace class loading - snapshot the execution stack when a class is loaded
org.eclipse.osgi/trace/classLoading = false
# trace location - file in which execution traces are written
org.eclipse.osgi/trace/filename = runtime.traces
# trace filters - Java properties file defining which classes should
# be traced (if trace/classLoading is true)
# File format:
# plugins=<comma separated list of plugins whose classes to trace>
# packages=<comma separated list of package prefixes of classes to trace>
# Note that there may be many 'plugins' and 'packages' lines in one file.
org.eclipse.osgi/trace/filters = trace.properties
# trace bundle activation - snapshot the execution stack when a bundle is activated
org.eclipse.osgi/trace/activation = false

View File

@@ -0,0 +1,6 @@
# set default format layout
java.util.logging.SimpleFormatter.format = %1$tF %1$tT.%1$tL [%4$s] [%3$s] - %5$s%6$s%n
# disable lock messages at startup
org.apache.karaf.main.Main.level = WARNING
org.apache.karaf.main.lock.SimpleFileLock.level = WARNING

119
userdata/etc/jetty.xml Normal file
View File

@@ -0,0 +1,119 @@
<?xml version="1.0"?>
<!--
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.
-->
<!DOCTYPE Configure PUBLIC "-//Jetty//Configure//EN" "http://www.eclipse.org/jetty/configure_9_0.dtd">
<Configure id="Server" class="org.eclipse.jetty.server.Server">
<!-- =========================================================== -->
<!-- Set connectors -->
<!-- =========================================================== -->
<!-- One of each type! -->
<!-- =========================================================== -->
<!-- Use this connector for many frequently idle connections and for
threadless continuations. -->
<New id="httpConfig" class="org.eclipse.jetty.server.HttpConfiguration">
<Set name="secureScheme">https</Set>
<Set name="securePort">
<Property name="jetty.secure.port" default="8443" />
</Set>
<Set name="outputBufferSize">32768</Set>
<Set name="requestHeaderSize">8192</Set>
<Set name="responseHeaderSize">8192</Set>
<Set name="sendServerVersion">true</Set>
<Set name="sendDateHeader">false</Set>
<Set name="headerCacheSize">512</Set>
</New>
<!-- =========================================================== -->
<!-- Special server connectors -->
<!-- =========================================================== -->
<!-- This is a sample for alternative connectors, enable if needed -->
<!-- =========================================================== -->
<!--
<Call name="addConnector">
<Arg>
<New class="org.eclipse.jetty.server.ServerConnector">
<Arg name="server">
<Ref refid="Server" />
</Arg>
<Arg name="factories">
<Array type="org.eclipse.jetty.server.ConnectionFactory">
<Item>
<New class="org.eclipse.jetty.server.HttpConnectionFactory">
<Arg name="config">
<Ref refid="httpConfig" />
</Arg>
</New>
</Item>
</Array>
</Arg>
<Set name="host">
<Property name="jetty.host" default="localhost" />
</Set>
<Set name="port">
<Property name="jetty.port" default="8282" />
</Set>
<Set name="idleTimeout">
<Property name="http.timeout" default="30000" />
</Set>
<Set name="name">jettyConn1</Set>
</New>
</Arg>
</Call>
-->
<!-- =========================================================== -->
<!-- Configure Authentication Realms -->
<!-- Realms may be configured for the entire server here, or -->
<!-- they can be configured for a specific web app in a context -->
<!-- configuration (see $(jetty.home)/contexts/test.xml for an -->
<!-- example). -->
<!-- =========================================================== -->
<Call name="addBean">
<Arg>
<New class="org.eclipse.jetty.jaas.JAASLoginService">
<Set name="name">karaf</Set>
<Set name="loginModuleName">karaf</Set>
<Set name="roleClassNames">
<Array type="java.lang.String">
<Item>org.apache.karaf.jaas.boot.principal.RolePrincipal
</Item>
</Array>
</Set>
</New>
</Arg>
</Call>
<Call name="addBean">
<Arg>
<New class="org.eclipse.jetty.jaas.JAASLoginService">
<Set name="name">default</Set>
<Set name="loginModuleName">karaf</Set>
<Set name="roleClassNames">
<Array type="java.lang.String">
<Item>org.apache.karaf.jaas.boot.principal.RolePrincipal
</Item>
</Array>
</Set>
</New>
</Arg>
</Call>
</Configure>

View File

@@ -0,0 +1,40 @@
################################################################################
#
# 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.
#
################################################################################
#
# JMX ACL specific to the org.apache.karaf:type=bundle,name=* MBean which maps to the Karaf MBean
# to control OSGi bundles.
#
install = manager
refresh = manager
resolve = manager
restart = manager
setStartLevel(java.lang.String, int)[/([1-4])?[0-9]/,/.*/] = admin
setStartLevel = manager
start(java.lang.String)[/([1-4])?[0-9]/] = admin
start = manager
stop(java.lang.String)[/([1-4])?[0-9]/] = admin
stop = manager
uninstall(java.lang.String)["0"] = #this is a comment, no roles can perform this operation
uninstall = admin
update(java.lang.String)[/([1-4])?[0-9]/] = admin
update(java.lang.String,java.lang.String)[/([1-4])?[0-9]/,/.*/] = admin
update = manager

View File

@@ -0,0 +1,54 @@
################################################################################
#
# 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.
#
################################################################################
#
# JMX ACL specific to the org.apache.karaf:type=config,name=* MBean which maps to the Karaf MBean to interact with the
# OSGi Config Admin service.
#
# For a description of the format of this file, see jmx.acl.cfg
#
# By default, only an admin can make changes to the JMX ACL and shell command rules, but managers can make
# changes to other PIDs.
#
appendProperty(java.lang.String,java.lang.String,java.lang.String)[/jmx[.]acl.*/,/.*/,/.*/] = admin
appendProperty(java.lang.String,java.lang.String,java.lang.String)[/org[.]apache[.]karaf[.]command[.]acl.+/,/.*/,/.*/] = admin
appendProperty(java.lang.String,java.lang.String,java.lang.String)[/org[.]apache[.]karaf[.]service[.]acl.+/,/.*/,/.*/] = admin
appendProperty(java.lang.String,java.lang.String,java.lang.String) = manager
create(java.lang.String)[/jmx[.]acl.*/] = admin
create(java.lang.String)[/org[.]apache[.]karaf[.]command[.]acl.+/] = admin
create(java.lang.String)[/org[.]apache[.]karaf[.]service[.]acl.+/] = admin
create(java.lang.String) = manager
delete(java.lang.String)[/jmx[.]acl.*/] = admin
delete(java.lang.String)[/org[.]apache[.]karaf[.]command[.]acl.+/] = admin
delete(java.lang.String)[/org[.]apache[.]karaf[.]service[.]acl.+/] = admin
delete(java.lang.String) = manager
deleteProperty(java.lang.String,java.lang.String)[/jmx[.]acl.*/,/.*/] = admin
deleteProperty(java.lang.String,java.lang.String)[/org[.]apache[.]karaf[.]command[.]acl.+/,/.*/] = admin
deleteProperty(java.lang.String,java.lang.String)[/org[.]apache[.]karaf[.]service[.]acl.+/,/.*/] = admin
deleteProperty(java.lang.String,java.lang.String) = manager
setProperty(java.lang.String,java.lang.String,java.lang.String)[/jmx[.]acl.*/,/.*/,/.*/] = admin
setProperty(java.lang.String,java.lang.String,java.lang.String)[/org[.]apache[.]karaf[.]command[.]acl.+/,/.*/,/.*/] = admin
setProperty(java.lang.String,java.lang.String,java.lang.String)[/org[.]apache[.]karaf[.]service[.]acl.+/,/.*/,/.*/] = admin
setProperty(java.lang.String,java.lang.String,java.lang.String) = manager
update(java.lang.String,java.util.Map)[/jmx[.]acl.*/,/.*/] = admin
update(java.lang.String,java.util.Map)[/org[.]apache[.]karaf[.]command[.]acl.+/,/.*/] = admin
update(java.lang.String,java.util.Map)[/org[.]apache[.]karaf[.]service[.]acl.+/,/.*/] = admin
update(java.lang.String,java.util.Map) = manager

727
userdata/etc/jre.properties Normal file
View File

@@ -0,0 +1,727 @@
################################################################################
#
# 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.
#
################################################################################
#
# Java platform package export properties.
#
# Standard package set. Note that:
# - javax.transaction* is exported with a mandatory attribute
jre-1.6= \
javax.accessibility, \
javax.activation;version="1.1", \
javax.activity, \
javax.annotation;version="1.0", \
javax.annotation.processing;version="1.0", \
javax.crypto, \
javax.crypto.interfaces, \
javax.crypto.spec, \
javax.imageio, \
javax.imageio.event, \
javax.imageio.metadata, \
javax.imageio.plugins.bmp, \
javax.imageio.plugins.jpeg, \
javax.imageio.spi, \
javax.imageio.stream, \
javax.jws, \
javax.jws.soap, \
javax.lang.model, \
javax.lang.model.element, \
javax.lang.model.type, \
javax.lang.model.util, \
javax.management, \
javax.management.loading, \
javax.management.modelmbean, \
javax.management.monitor, \
javax.management.openmbean, \
javax.management.relation, \
javax.management.remote, \
javax.management.remote.rmi, \
javax.management.timer, \
javax.naming, \
javax.naming.directory, \
javax.naming.event, \
javax.naming.ldap, \
javax.naming.spi, \
javax.net, \
javax.net.ssl, \
javax.print, \
javax.print.attribute, \
javax.print.attribute.standard, \
javax.print.event, \
javax.rmi, \
javax.rmi.CORBA, \
javax.rmi.ssl, \
javax.script, \
javax.security.auth, \
javax.security.auth.callback, \
javax.security.auth.kerberos, \
javax.security.auth.login, \
javax.security.auth.spi, \
javax.security.auth.x500, \
javax.security.cert, \
javax.security.sasl, \
javax.sound.midi, \
javax.sound.midi.spi, \
javax.sound.sampled, \
javax.sound.sampled.spi, \
javax.sql, \
javax.sql.rowset, \
javax.sql.rowset.serial, \
javax.sql.rowset.spi, \
javax.swing, \
javax.swing.border, \
javax.swing.colorchooser, \
javax.swing.event, \
javax.swing.filechooser, \
javax.swing.plaf, \
javax.swing.plaf.basic, \
javax.swing.plaf.metal, \
javax.swing.plaf.multi, \
javax.swing.plaf.synth, \
javax.swing.table, \
javax.swing.text, \
javax.swing.text.html, \
javax.swing.text.html.parser, \
javax.swing.text.rtf, \
javax.swing.tree, \
javax.swing.undo, \
javax.tools, \
javax.transaction; javax.transaction.xa; partial=true; mandatory:=partial, \
javax.xml, \
javax.xml.bind;version="2.2.1", \
javax.xml.bind.annotation;version="2.2.1", \
javax.xml.bind.annotation.adapters;version="2.2.1", \
javax.xml.bind.attachment;version="2.2.1", \
javax.xml.bind.helpers;version="2.2.1", \
javax.xml.bind.util;version="2.2.1", \
javax.xml.crypto, \
javax.xml.crypto.dom, \
javax.xml.crypto.dsig, \
javax.xml.crypto.dsig.dom, \
javax.xml.crypto.dsig.keyinfo, \
javax.xml.crypto.dsig.spec, \
javax.xml.datatype, \
javax.xml.namespace, \
javax.xml.parsers, \
javax.xml.soap;version="1.3", \
javax.xml.stream;version="1.2", \
javax.xml.stream.events;version="1.2", \
javax.xml.stream.util;version="1.2", \
javax.xml.transform, \
javax.xml.transform.dom, \
javax.xml.transform.sax, \
javax.xml.transform.stax, \
javax.xml.transform.stream, \
javax.xml.validation, \
javax.xml.ws;version="2.2", \
javax.xml.ws.handler;version="2.2", \
javax.xml.ws.handler.soap;version="2.2", \
javax.xml.ws.http;version="2.2", \
javax.xml.ws.soap;version="2.2", \
javax.xml.ws.spi;version="2.2", \
javax.xml.ws.wsaddressing;version="2.2", \
javax.xml.ws.spi.http;version="2.2", \
javax.xml.xpath, \
org.ietf.jgss, \
org.omg.CORBA, \
org.omg.CORBA_2_3, \
org.omg.CORBA_2_3.portable, \
org.omg.CORBA.DynAnyPackage, \
org.omg.CORBA.ORBPackage, \
org.omg.CORBA.portable, \
org.omg.CORBA.TypeCodePackage, \
org.omg.CosNaming, \
org.omg.CosNaming.NamingContextExtPackage, \
org.omg.CosNaming.NamingContextPackage, \
org.omg.Dynamic, \
org.omg.DynamicAny, \
org.omg.DynamicAny.DynAnyFactoryPackage, \
org.omg.DynamicAny.DynAnyPackage, \
org.omg.IOP, \
org.omg.IOP.CodecFactoryPackage, \
org.omg.IOP.CodecPackage, \
org.omg.Messaging, \
org.omg.PortableInterceptor, \
org.omg.PortableInterceptor.ORBInitInfoPackage, \
org.omg.PortableServer, \
org.omg.PortableServer.CurrentPackage, \
org.omg.PortableServer.POAManagerPackage, \
org.omg.PortableServer.POAPackage, \
org.omg.PortableServer.portable, \
org.omg.PortableServer.ServantLocatorPackage, \
org.omg.SendingContext, \
org.omg.stub.java.rmi, \
org.omg.stub.javax.management.remote.rmi, \
org.w3c.dom, \
org.w3c.dom.bootstrap, \
org.w3c.dom.css, \
org.w3c.dom.events, \
org.w3c.dom.html, \
org.w3c.dom.ls, \
org.w3c.dom.ranges, \
org.w3c.dom.stylesheets, \
org.w3c.dom.traversal, \
org.w3c.dom.views, \
org.w3c.dom.xpath, \
org.xml.sax, \
org.xml.sax.ext, \
org.xml.sax.helpers
# Standard package set. Note that:
# - javax.transaction* is exported with a mandatory attribute
jre-1.7= \
javax.accessibility, \
javax.activation;version="1.1", \
javax.activity, \
javax.annotation;version="1.0", \
javax.annotation.processing;version="1.0", \
javax.crypto, \
javax.crypto.interfaces, \
javax.crypto.spec, \
javax.imageio, \
javax.imageio.event, \
javax.imageio.metadata, \
javax.imageio.plugins.bmp, \
javax.imageio.plugins.jpeg, \
javax.imageio.spi, \
javax.imageio.stream, \
javax.jws, \
javax.jws.soap, \
javax.lang.model, \
javax.lang.model.element, \
javax.lang.model.type, \
javax.lang.model.util, \
javax.management, \
javax.management.loading, \
javax.management.modelmbean, \
javax.management.monitor, \
javax.management.openmbean, \
javax.management.relation, \
javax.management.remote, \
javax.management.remote.rmi, \
javax.management.timer, \
javax.naming, \
javax.naming.directory, \
javax.naming.event, \
javax.naming.ldap, \
javax.naming.spi, \
javax.net, \
javax.net.ssl, \
javax.print, \
javax.print.attribute, \
javax.print.attribute.standard, \
javax.print.event, \
javax.rmi, \
javax.rmi.CORBA, \
javax.rmi.ssl, \
javax.script, \
javax.security.auth, \
javax.security.auth.callback, \
javax.security.auth.kerberos, \
javax.security.auth.login, \
javax.security.auth.spi, \
javax.security.auth.x500, \
javax.security.cert, \
javax.security.sasl, \
javax.sound.midi, \
javax.sound.midi.spi, \
javax.sound.sampled, \
javax.sound.sampled.spi, \
javax.sql, \
javax.sql.rowset, \
javax.sql.rowset.serial, \
javax.sql.rowset.spi, \
javax.swing, \
javax.swing.border, \
javax.swing.colorchooser, \
javax.swing.event, \
javax.swing.filechooser, \
javax.swing.plaf, \
javax.swing.plaf.basic, \
javax.swing.plaf.metal, \
javax.swing.plaf.multi, \
javax.swing.plaf.synth, \
javax.swing.table, \
javax.swing.text, \
javax.swing.text.html, \
javax.swing.text.html.parser, \
javax.swing.text.rtf, \
javax.swing.tree, \
javax.swing.undo, \
javax.tools, \
javax.transaction; javax.transaction.xa; partial=true; mandatory:=partial, \
javax.xml, \
javax.xml.bind;version="2.2.1", \
javax.xml.bind.annotation;version="2.2.1", \
javax.xml.bind.annotation.adapters;version="2.2.1", \
javax.xml.bind.attachment;version="2.2.1", \
javax.xml.bind.helpers;version="2.2.1", \
javax.xml.bind.util;version="2.2.1", \
javax.xml.crypto, \
javax.xml.crypto.dom, \
javax.xml.crypto.dsig, \
javax.xml.crypto.dsig.dom, \
javax.xml.crypto.dsig.keyinfo, \
javax.xml.crypto.dsig.spec, \
javax.xml.datatype, \
javax.xml.namespace, \
javax.xml.parsers, \
javax.xml.soap;version="1.3", \
javax.xml.stream;version="1.2", \
javax.xml.stream.events;version="1.2", \
javax.xml.stream.util;version="1.2", \
javax.xml.transform, \
javax.xml.transform.dom, \
javax.xml.transform.sax, \
javax.xml.transform.stax, \
javax.xml.transform.stream, \
javax.xml.validation, \
javax.xml.xpath, \
org.ietf.jgss, \
org.omg.CORBA, \
org.omg.CORBA_2_3, \
org.omg.CORBA_2_3.portable, \
org.omg.CORBA.DynAnyPackage, \
org.omg.CORBA.ORBPackage, \
org.omg.CORBA.portable, \
org.omg.CORBA.TypeCodePackage, \
org.omg.CosNaming, \
org.omg.CosNaming.NamingContextExtPackage, \
org.omg.CosNaming.NamingContextPackage, \
org.omg.Dynamic, \
org.omg.DynamicAny, \
org.omg.DynamicAny.DynAnyFactoryPackage, \
org.omg.DynamicAny.DynAnyPackage, \
org.omg.IOP, \
org.omg.IOP.CodecFactoryPackage, \
org.omg.IOP.CodecPackage, \
org.omg.Messaging, \
org.omg.PortableInterceptor, \
org.omg.PortableInterceptor.ORBInitInfoPackage, \
org.omg.PortableServer, \
org.omg.PortableServer.CurrentPackage, \
org.omg.PortableServer.POAManagerPackage, \
org.omg.PortableServer.POAPackage, \
org.omg.PortableServer.portable, \
org.omg.PortableServer.ServantLocatorPackage, \
org.omg.SendingContext, \
org.omg.stub.java.rmi, \
org.omg.stub.javax.management.remote.rmi, \
org.w3c.dom, \
org.w3c.dom.bootstrap, \
org.w3c.dom.css, \
org.w3c.dom.events, \
org.w3c.dom.html, \
org.w3c.dom.ls, \
org.w3c.dom.ranges, \
org.w3c.dom.stylesheets, \
org.w3c.dom.traversal, \
org.w3c.dom.views, \
org.w3c.dom.xpath, \
org.xml.sax, \
org.xml.sax.ext, \
org.xml.sax.helpers, \
com.sun.nio.sctp
jre-1.8= \
javax.accessibility, \
javax.activation;version="1.1", \
javax.activity, \
javax.annotation;version="1.0", \
javax.annotation.processing;version="1.0", \
javax.crypto, \
javax.crypto.interfaces, \
javax.crypto.spec, \
javax.imageio, \
javax.imageio.event, \
javax.imageio.metadata, \
javax.imageio.plugins.bmp, \
javax.imageio.plugins.jpeg, \
javax.imageio.spi, \
javax.imageio.stream, \
javax.jws, \
javax.jws.soap, \
javax.lang.model, \
javax.lang.model.element, \
javax.lang.model.type, \
javax.lang.model.util, \
javax.management, \
javax.management.loading, \
javax.management.modelmbean, \
javax.management.monitor, \
javax.management.openmbean, \
javax.management.relation, \
javax.management.remote, \
javax.management.remote.rmi, \
javax.management.timer, \
javax.naming, \
javax.naming.directory, \
javax.naming.event, \
javax.naming.ldap, \
javax.naming.spi, \
javax.net, \
javax.net.ssl, \
javax.print, \
javax.print.attribute, \
javax.print.attribute.standard, \
javax.print.event, \
javax.rmi, \
javax.rmi.CORBA, \
javax.rmi.ssl, \
javax.script, \
javax.security.auth, \
javax.security.auth.callback, \
javax.security.auth.kerberos, \
javax.security.auth.login, \
javax.security.auth.spi, \
javax.security.auth.x500, \
javax.security.cert, \
javax.security.sasl, \
javax.sound.midi, \
javax.sound.midi.spi, \
javax.sound.sampled, \
javax.sound.sampled.spi, \
javax.sql, \
javax.sql.rowset, \
javax.sql.rowset.serial, \
javax.sql.rowset.spi, \
javax.swing, \
javax.swing.border, \
javax.swing.colorchooser, \
javax.swing.event, \
javax.swing.filechooser, \
javax.swing.plaf, \
javax.swing.plaf.basic, \
javax.swing.plaf.metal, \
javax.swing.plaf.multi, \
javax.swing.plaf.synth, \
javax.swing.table, \
javax.swing.text, \
javax.swing.text.html, \
javax.swing.text.html.parser, \
javax.swing.text.rtf, \
javax.swing.tree, \
javax.swing.undo, \
javax.tools, \
javax.transaction; javax.transaction.xa; partial=true; mandatory:=partial, \
javax.xml, \
javax.xml.bind;version="2.2.1", \
javax.xml.bind.annotation;version="2.2.1", \
javax.xml.bind.annotation.adapters;version="2.2.1", \
javax.xml.bind.attachment;version="2.2.1", \
javax.xml.bind.helpers;version="2.2.1", \
javax.xml.bind.util;version="2.2.1", \
javax.xml.crypto, \
javax.xml.crypto.dom, \
javax.xml.crypto.dsig, \
javax.xml.crypto.dsig.dom, \
javax.xml.crypto.dsig.keyinfo, \
javax.xml.crypto.dsig.spec, \
javax.xml.datatype, \
javax.xml.namespace, \
javax.xml.parsers, \
javax.xml.soap;version="1.3", \
javax.xml.stream;version="1.2", \
javax.xml.stream.events;version="1.2", \
javax.xml.stream.util;version="1.2", \
javax.xml.transform, \
javax.xml.transform.dom, \
javax.xml.transform.sax, \
javax.xml.transform.stax, \
javax.xml.transform.stream, \
javax.xml.validation, \
javax.xml.ws;version="2.2", \
javax.xml.ws.handler;version="2.2", \
javax.xml.ws.handler.soap;version="2.2", \
javax.xml.ws.http;version="2.2", \
javax.xml.ws.soap;version="2.2", \
javax.xml.ws.spi;version="2.2", \
javax.xml.ws.wsaddressing;version="2.2", \
javax.xml.ws.spi.http;version="2.2", \
javax.xml.xpath, \
javafx.animation, \
javafx.application, \
javafx.beans, \
javafx.beans.binding, \
javafx.beans.property, \
javafx.beans.property.adapter, \
javafx.beans.value, \
javafx.collections, \
javafx.collections.transform, \
javafx.concurrent, \
javafx.css, \
javafx.embed.swing, \
javafx.embed.swt, \
javafx.event, \
javafx.fxml, \
javafx.geometry, \
javafx.print, \
javafx.scene, \
javafx.scene.canvas, \
javafx.scene.chart, \
javafx.scene.control, \
javafx.scene.control.cell, \
javafx.scene.effect, \
javafx.scene.image, \
javafx.scene.input, \
javafx.scene.layout, \
javafx.scene.media, \
javafx.scene.paint, \
javafx.scene.shape, \
javafx.scene.text, \
javafx.scene.transform, \
javafx.scene.web, \
javafx.stage, \
javafx.util, \
javafx.util.converter, \
netscape.javascript, \
org.ietf.jgss, \
org.omg.CORBA, \
org.omg.CORBA_2_3, \
org.omg.CORBA_2_3.portable, \
org.omg.CORBA.DynAnyPackage, \
org.omg.CORBA.ORBPackage, \
org.omg.CORBA.portable, \
org.omg.CORBA.TypeCodePackage, \
org.omg.CosNaming, \
org.omg.CosNaming.NamingContextExtPackage, \
org.omg.CosNaming.NamingContextPackage, \
org.omg.Dynamic, \
org.omg.DynamicAny, \
org.omg.DynamicAny.DynAnyFactoryPackage, \
org.omg.DynamicAny.DynAnyPackage, \
org.omg.IOP, \
org.omg.IOP.CodecFactoryPackage, \
org.omg.IOP.CodecPackage, \
org.omg.Messaging, \
org.omg.PortableInterceptor, \
org.omg.PortableInterceptor.ORBInitInfoPackage, \
org.omg.PortableServer, \
org.omg.PortableServer.CurrentPackage, \
org.omg.PortableServer.POAManagerPackage, \
org.omg.PortableServer.POAPackage, \
org.omg.PortableServer.portable, \
org.omg.PortableServer.ServantLocatorPackage, \
org.omg.SendingContext, \
org.omg.stub.java.rmi, \
org.omg.stub.javax.management.remote.rmi, \
org.w3c.dom, \
org.w3c.dom.bootstrap, \
org.w3c.dom.css, \
org.w3c.dom.events, \
org.w3c.dom.html, \
org.w3c.dom.ls, \
org.w3c.dom.ranges, \
org.w3c.dom.stylesheets, \
org.w3c.dom.traversal, \
org.w3c.dom.views, \
org.w3c.dom.xpath, \
org.xml.sax, \
org.xml.sax.ext, \
org.xml.sax.helpers, \
com.sun.nio.sctp
jre-9= \
javax.accessibility, \
javax.activation;version="1.1", \
javax.activity, \
javax.annotation.processing;version="1.0", \
javax.crypto, \
javax.crypto.interfaces, \
javax.crypto.spec, \
javax.imageio, \
javax.imageio.event, \
javax.imageio.metadata, \
javax.imageio.plugins.bmp, \
javax.imageio.plugins.jpeg, \
javax.imageio.spi, \
javax.imageio.stream, \
javax.lang.model, \
javax.lang.model.element, \
javax.lang.model.type, \
javax.lang.model.util, \
javax.management, \
javax.management.loading, \
javax.management.modelmbean, \
javax.management.monitor, \
javax.management.openmbean, \
javax.management.relation, \
javax.management.remote, \
javax.management.remote.rmi, \
javax.management.timer, \
javax.naming, \
javax.naming.directory, \
javax.naming.event, \
javax.naming.ldap, \
javax.naming.spi, \
javax.net, \
javax.net.ssl, \
javax.print, \
javax.print.attribute, \
javax.print.attribute.standard, \
javax.print.event, \
javax.rmi, \
javax.rmi.CORBA, \
javax.rmi.ssl, \
javax.script, \
javax.security.auth, \
javax.security.auth.callback, \
javax.security.auth.kerberos, \
javax.security.auth.login, \
javax.security.auth.spi, \
javax.security.auth.x500, \
javax.security.cert, \
javax.security.sasl, \
javax.sound.midi, \
javax.sound.midi.spi, \
javax.sound.sampled, \
javax.sound.sampled.spi, \
javax.sql, \
javax.sql.rowset, \
javax.sql.rowset.serial, \
javax.sql.rowset.spi, \
javax.swing, \
javax.swing.border, \
javax.swing.colorchooser, \
javax.swing.event, \
javax.swing.filechooser, \
javax.swing.plaf, \
javax.swing.plaf.basic, \
javax.swing.plaf.metal, \
javax.swing.plaf.multi, \
javax.swing.plaf.synth, \
javax.swing.table, \
javax.swing.text, \
javax.swing.text.html, \
javax.swing.text.html.parser, \
javax.swing.text.rtf, \
javax.swing.tree, \
javax.swing.undo, \
javax.tools, \
javax.transaction; javax.transaction.xa; partial=true; mandatory:=partial, \
javax.xml, \
javax.xml.bind;version="2.2.1", \
javax.xml.bind.annotation;version="2.2.1", \
javax.xml.bind.annotation.adapters;version="2.2.1", \
javax.xml.bind.attachment;version="2.2.1", \
javax.xml.bind.helpers;version="2.2.1", \
javax.xml.bind.util;version="2.2.1", \
javax.xml.crypto, \
javax.xml.crypto.dom, \
javax.xml.crypto.dsig, \
javax.xml.crypto.dsig.dom, \
javax.xml.crypto.dsig.keyinfo, \
javax.xml.crypto.dsig.spec, \
javax.xml.datatype, \
javax.xml.namespace, \
javax.xml.parsers, \
javax.xml.stream;version="1.2", \
javax.xml.stream.events;version="1.2", \
javax.xml.stream.util;version="1.2", \
javax.xml.transform, \
javax.xml.transform.dom, \
javax.xml.transform.sax, \
javax.xml.transform.stax, \
javax.xml.transform.stream, \
javax.xml.validation, \
javax.xml.xpath, \
javafx.animation, \
javafx.application, \
javafx.beans, \
javafx.beans.binding, \
javafx.beans.property, \
javafx.beans.property.adapter, \
javafx.beans.value, \
javafx.collections, \
javafx.collections.transformation, \
javafx.concurrent, \
javafx.css, \
javafx.embed.swing, \
javafx.embed.swt, \
javafx.event, \
javafx.fxml, \
javafx.geometry, \
javafx.print, \
javafx.scene, \
javafx.scene.canvas, \
javafx.scene.chart, \
javafx.scene.control, \
javafx.scene.control.cell, \
javafx.scene.effect, \
javafx.scene.image, \
javafx.scene.input, \
javafx.scene.layout, \
javafx.scene.media, \
javafx.scene.paint, \
javafx.scene.shape, \
javafx.scene.text, \
javafx.scene.transform, \
javafx.scene.web, \
javafx.stage, \
javafx.util, \
javafx.util.converter, \
netscape.javascript, \
org.ietf.jgss, \
org.omg.CORBA, \
org.omg.CORBA_2_3, \
org.omg.CORBA_2_3.portable, \
org.omg.CORBA.DynAnyPackage, \
org.omg.CORBA.ORBPackage, \
org.omg.CORBA.portable, \
org.omg.CORBA.TypeCodePackage, \
org.omg.CosNaming, \
org.omg.CosNaming.NamingContextExtPackage, \
org.omg.CosNaming.NamingContextPackage, \
org.omg.Dynamic, \
org.omg.DynamicAny, \
org.omg.DynamicAny.DynAnyFactoryPackage, \
org.omg.DynamicAny.DynAnyPackage, \
org.omg.IOP, \
org.omg.IOP.CodecFactoryPackage, \
org.omg.IOP.CodecPackage, \
org.omg.Messaging, \
org.omg.PortableInterceptor, \
org.omg.PortableInterceptor.ORBInitInfoPackage, \
org.omg.PortableServer, \
org.omg.PortableServer.CurrentPackage, \
org.omg.PortableServer.POAManagerPackage, \
org.omg.PortableServer.POAPackage, \
org.omg.PortableServer.portable, \
org.omg.PortableServer.ServantLocatorPackage, \
org.omg.SendingContext, \
org.omg.stub.java.rmi, \
org.omg.stub.javax.management.remote.rmi, \
org.w3c.dom, \
org.w3c.dom.bootstrap, \
org.w3c.dom.css, \
org.w3c.dom.events, \
org.w3c.dom.html, \
org.w3c.dom.ls, \
org.w3c.dom.ranges, \
org.w3c.dom.stylesheets, \
org.w3c.dom.traversal, \
org.w3c.dom.views, \
org.w3c.dom.xpath, \
org.xml.sax, \
org.xml.sax.ext, \
org.xml.sax.helpers
jre-10 = ${jre-9}
jre-11 = ${jre-10}

View File

@@ -0,0 +1,36 @@
################################################################################
#
# 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.
#
################################################################################
#
# This file contains the valid users who can log into Karaf. Each line have to be of
# the format:
#
# USER=KEY,ROLE1,ROLE2,...
#
# All users and roles entered in this file are available after Karaf startup
# and modifiable via the JAAS command group. These users reside in a JAAS domain
# with the name "karaf"..
#
#
# For security reason, the default auto-signed key is disabled.
# The user guide describes how to generate/update the key.
#
#karaf=AAAAB3NzaC1kc3MAAACBAP1/U4EddRIpUt9KnC7s5Of2EbdSPO9EAMMeP4C2USZpRV1AIlH7WT2NWPq/xfW6MPbLm1Vs14E7gB00b/JmYLdrmVClpJ+f6AR7ECLCT7up1/63xhv4O1fnxqimFQ8E+4P208UewwI1VBNaFpEy9nXzrith1yrv8iIDGZ3RSAHHAAAAFQCXYFCPFSMLzLKSuYKi64QL8Fgc9QAAAIEA9+GghdabPd7LvKtcNrhXuXmUr7v6OuqC+VdMCz0HgmdRWVeOutRZT+ZxBxCBgLRJFnEj6EwoFhO3zwkyjMim4TwWeotUfI0o4KOuHiuzpnWRbqN/C/ohNWLx+2J6ASQ7zKTxvqhRkImog9/hWuWfBpKLZl6Ae1UlZAFMO/7PSSoAAACBAKKSU2PFl/qOLxIwmBZPPIcJshVe7bVUpFvyl3BbJDow8rXfskl8wO63OzP/qLmcJM0+JbcRU/53JjTuyk31drV2qxhIOsLDC9dGCWj47Y7TyhPdXh/0dthTRBy6bqGtRPxGa7gJov1xm/UuYYXPIUR/3x9MAZvZ5xvE0kYXO+rx,_g_:admingroup
_g_\:admingroup = group,admin,manager,viewer,systembundles

BIN
userdata/etc/keystore Normal file

Binary file not shown.

View File

@@ -0,0 +1,66 @@
#*******************************************************
# openHAB2-wrapper.conf for Windows Service Installation
#*******************************************************
# openHAB installation dir (Adapt this first setting to your system)
set.default.OPENHAB_HOME=C:\openHAB2
# Wrapper Properties
set.default.OPENHAB_CONF=%OPENHAB_HOME%\conf
set.default.OPENHAB_RUNTIME=%OPENHAB_HOME%\runtime
set.default.OPENHAB_USERDATA=%OPENHAB_HOME%\userdata
set.default.OPENHAB_LOGDIR=%OPENHAB_USERDATA%\logs
set.default.KARAF_HOME=%OPENHAB_RUNTIME%
set.default.KARAF_BASE=%OPENHAB_USERDATA%
set.default.KARAF_DATA=%OPENHAB_USERDATA%
set.default.KARAF_ETC=%OPENHAB_USERDATA%\etc
set.default.PATH=%PATH%;%KARAF_BASE%\lib;%KARAF_HOME%\lib
# Java Application
wrapper.working.dir=%KARAF_BASE%
wrapper.java.command=%JAVA_HOME%\bin\java
wrapper.java.mainclass=org.apache.karaf.wrapper.internal.service.Main
wrapper.java.classpath.1=%KARAF_HOME%\lib\boot\*.jar
wrapper.java.classpath.2=%KARAF_DATA%\lib\wrapper\*.jar
wrapper.java.library.path.1=%KARAF_DATA%\lib\wrapper\
# Java Parameters
wrapper.java.additional.1=-Dkaraf.home="%KARAF_HOME%"
wrapper.java.additional.2=-Dkaraf.base="%KARAF_BASE%"
wrapper.java.additional.3=-Dkaraf.data="%KARAF_DATA%"
wrapper.java.additional.4=-Dkaraf.etc="%KARAF_ETC%"
wrapper.java.additional.5=-Dcom.sun.management.jmxremote
wrapper.java.additional.6=-Dkaraf.startLocalConsole=false
wrapper.java.additional.7=-Dkaraf.startRemoteShell=true
wrapper.java.additional.8=-Djava.endorsed.dirs="%JAVA_HOME%\jre\lib\endorsed;%JAVA_HOME%\lib\endorsed;%KARAF_HOME%\lib\endorsed"
wrapper.java.additional.9=-Djava.ext.dirs="%JAVA_HOME%\jre\lib\ext;%JAVA_HOME%\lib\ext;%KARAF_HOME%\lib\ext"
wrapper.java.additional.10=-Dopenhab.home="%OPENHAB_HOME%"
wrapper.java.additional.11=-Dopenhab.conf="%OPENHAB_HOME%\conf"
wrapper.java.additional.12=-Dopenhab.runtime="%OPENHAB_HOME%\runtime"
wrapper.java.additional.13=-Dopenhab.userdata="%OPENHAB_HOME%\userdata"
wrapper.java.additional.14=-Dopenhab.logdir="%OPENHAB_USERDATA%\logs"
wrapper.java.additional.15=-Dfelix.cm.dir="%OPENHAB_HOME%\userdata\config"
wrapper.java.additional.16=-Dorg.osgi.service.http.port=8080
wrapper.java.additional.17=-Dorg.osgi.service.http.port.secure=8443
wrapper.java.additional.18=-Djava.util.logging.config.file="%KARAF_ETC%\java.util.logging.properties"
wrapper.java.additional.19=-Dkaraf.logs="%OPENHAB_LOGDIR%"
wrapper.java.maxmemory=512
# Wrapper Logging Properties
wrapper.console.format=PM
wrapper.console.loglevel=INFO
wrapper.logfile=%OPENHAB_USERDATA%\logs\wrapper.log
wrapper.logfile.format=LPTM
wrapper.logfile.loglevel=INFO
wrapper.logfile.maxsize=10m
wrapper.logfile.maxfiles=5
wrapper.syslog.loglevel=NONE
# Wrapper Windows Properties
wrapper.console.title=openHAB2
wrapper.ntservice.name=openHAB2
wrapper.ntservice.displayname=openHAB2
wrapper.ntservice.description=openHAB 2 Service
wrapper.ntservice.dependency.1=
wrapper.ntservice.starttype=AUTO_START
wrapper.ntservice.interactive=false

View File

@@ -0,0 +1,15 @@
## Standard settings of Karaf
org.apache.felix.eventadmin.AddTimestamp=true
org.apache.felix.eventadmin.AddSubject=true
## Custom openHAB configuration
# Configure thread pool size for EventAdmin sync event delivery.
org.apache.felix.eventadmin.ThreadPoolSize=3
# Use as many threads for async as for sync.
org.apache.felix.eventadmin.AsyncToSyncThreadRatio=1
# Do not timeout event handlers, see https://github.com/openhab/openhab-distro/issues/600
org.apache.felix.eventadmin.Timeout=0

View File

@@ -0,0 +1,12 @@
## Standard settings of Karaf
felix.fileinstall.start.level = 80
felix.fileinstall.log.level = 3
## Custom openHAB configuration
felix.fileinstall.dir = ${openhab.home}/addons
felix.fileinstall.tmpdir = ${karaf.data}/tmp/bundles
felix.fileinstall.poll = 10000
felix.fileinstall.active.level = 90
felix.fileinstall.subdir.mode = skip

View File

@@ -0,0 +1,46 @@
################################################################################
#
# 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.
#
################################################################################
#
# This configuration file defines the ACLs for commands in the bundle subshell
#
# For an explanation of the syntax of this file, see the file:
# org.apache.karaf.command.acl.system.cfg
#
# This configuration relies on the fact that 'system' bundles need to be managed
# with the
# -f (--force)
# flag. Operations with -f need admin permission. Most of these operations without
# the 'force' option can be done by a manager.
install = admin
refresh[/.*[-][f].*/] = admin
refresh = manager
restart[/.*[-][f].*/] = admin
restart = manager
start[/.*[-][f].*/] = admin
start = manager
stop[/.*[-][f].*/] = admin
stop = manager
uninstall[/.*[-][f].*/] = admin
uninstall = manager
update[/.*[-][f].*/] = admin
update = manager
watch = admin

View File

@@ -0,0 +1,46 @@
################################################################################
#
# 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.
#
################################################################################
#
# This configuration file defines the ACLs for various commands in the config subshell
#
# For an explanation of the syntax of this file, see the file:
# org.apache.karaf.command.acl.system.cfg
#
cancel = manager
delete = admin
edit = manager
edit[/.*jmx[.]acl.*/] = admin
edit[/.*org[.]apache[.]karaf[.]command[.]acl[.].+/] = admin
edit[/.*org[.]apache[.]karaf[.]service[.]acl[.].+/] = admin
property-append = manager
property-append[/.*jmx[.]acl.*/] = admin
property-append[/.*org[.]apache[.]karaf[.]command[.]acl[.].+/] = admin
property-append[/.*org[.]apache[.]karaf[.]service[.]acl[.].+/] = admin
property-delete = manager
property-delete[/.*jmx[.]acl.*/] = admin
property-delete[/.*org[.]apache[.]karaf[.]command[.]acl[.].+/] = admin
property-delete[/.*org[.]apache[.]karaf[.]service[.]acl[.].+/] = admin
property-set = manager
property-set[/.*jmx[.]acl.*/] = admin
property-set[/.*org[.]apache[.]karaf[.]command[.]acl[.].+/] = admin
property-set[/.*org[.]apache[.]karaf[.]service[.]acl[.].+/] = admin
update = manager

View File

@@ -0,0 +1,29 @@
################################################################################
#
# 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.
#
################################################################################
#
# This configuration file defines the ACLs for commands in the feature subshell
#
install = admin
uninstall = admin
start = admin
stop = admin
update = admin

View File

@@ -0,0 +1,25 @@
################################################################################
#
# 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.
#
################################################################################
#
# This configuration file defines the ACLs for commands in the jaas subshell
# Jaas commands commands have no effect until update is called.
update = admin

View File

@@ -0,0 +1,29 @@
################################################################################
#
# 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.
#
################################################################################
#
# This configuration file defines the ACLs for commands in the kar subshell
#
# For an explanation of the syntax of this file, see the file:
# org.apache.karaf.command.acl.system.cfg
#
install = admin
uninstall = admin

View File

@@ -0,0 +1,33 @@
################################################################################
#
# 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.
#
################################################################################
#
# This configuration file defines the ACLs for scope bundles
#
features=org.apache.karaf.features.command
jaas=org.apache.karaf.jaas.command
admin=org.apache.karaf.admin.command
osgi=org.apache.karaf.shell.osgi
log=org.apache.karaf.shell.log
packages=org.apache.karaf.shell.packages
config=org.apache.karaf.shell.config
ssh=org.apache.karaf.shell.ssh
shell=org.apache.karaf.shell.commands

View File

@@ -0,0 +1,28 @@
################################################################################
#
# 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.
#
################################################################################
#
# This configuration file defines the ACLs for commands in the shell subshell
#
nano = admin
exec = admin
new = admin
java = admin

View File

@@ -0,0 +1,29 @@
################################################################################
#
# 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.
#
################################################################################
#
# This configuration file defines the ACLs for commands in the system subshell
#
property = admin
shutdown = admin
start-level[/.*[1-9][0-9][0-9]+.*/] = manager # manager can set startlevels above 100
start-level[/[^0-9]*/] = viewer # viewer can obtain the current start level
start-level = admin # admin can set any start level, including < 100

View File

@@ -0,0 +1,85 @@
################################################################################
#
# 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.
#
################################################################################
#
# Comma separated list of features repositories to register by default
#
featuresRepositories = \
mvn:org.openhab.distro/distro/2.4.0/xml/features, \
mvn:org.openhab.distro/openhab-addons/2.4.0/xml/features, \
mvn:org.apache.karaf.features/framework/4.2.1/xml/features, \
mvn:org.apache.karaf.features/standard/4.2.1/xml/features
#
# Comma separated list of features to install at startup
#
featuresBoot = \
instance, \
package, \
log, \
ssh, \
framework, \
system, \
eventadmin, \
feature, \
shell, \
service, \
jaas, \
openhab-runtime-base, \
deployer, \
diagnostic, \
bundle, \
config, \
kar
#
# Resource repositories (OBR) that the features resolver can use
# to resolve requirements/capabilities
#
# The format of the resourceRepositories is
# resourceRepositories=[xml:url|json:url],...
# for Instance:
#
#resourceRepositories=xml:http://host/path/to/index.xml
# or
#resourceRepositories=json:http://host/path/to/index.json
#
#
# Defines if the boot features are started in asynchronous mode (in a dedicated thread)
#
featuresBootAsynchronous=false
#
# Service requirements enforcement
#
# By default, the feature resolver checks the service requirements/capabilities of
# bundles for new features (xml schema >= 1.3.0) in order to automatically installs
# the required bundles.
# The following flag can have those values:
# - disable: service requirements are completely ignored
# - default: service requirements are ignored for old features
# - enforce: service requirements are always verified
#
#serviceRequirements=default
#
# Store cfg file for config element in feature
#
configCfgStore=false

View File

@@ -0,0 +1,61 @@
################################################################################
#
# 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.
#
################################################################################
#
# This file describes the features repository URL
# It could be directly installed using feature:repo-add command
#
enterprise=mvn:org.apache.karaf.features/enterprise/${karaf.version}/xml/features
enterprise-legacy=mvn:org.apache.karaf.features/enterprise-legacy/${karaf.version}/xml/features
spring=mvn:org.apache.karaf.features/spring/${karaf.version}/xml/features
spring-legacy=mvn:org.apache.karaf.features/spring-legacy/${karaf.version}/xml/features
cellar=mvn:org.apache.karaf.cellar/apache-karaf-cellar/RELEASE/xml/features
cave=mvn:org.apache.karaf.cave/apache-karaf-cave/RELEASE/xml/features
camel=mvn:org.apache.camel.karaf/apache-camel/RELEASE/xml/features
camel-extras=mvn:org.apache-extras.camel-extra.karaf/camel-extra/RELEASE/xml/features
cxf=mvn:org.apache.cxf.karaf/apache-cxf/RELEASE/xml/features
cxf-dosgi=mvn:org.apache.cxf.dosgi/cxf-dosgi/RELEASE/xml/features
cxf-dosgi-samples=mvn:org.apache.cxf.dosgi/cxf-dosgi-samples/RELEASE/xml/features
cxf-xkms=mvn:org.apache.cxf.services.xkms/cxf-services-xkms-features/RELEASE/xml
activemq=mvn:org.apache.activemq/activemq-karaf/RELEASE/xml/features
jclouds=mvn:org.apache.jclouds.karaf/jclouds-karaf/RELEASE/xml/features
openejb=mvn:org.apache.openejb/openejb-feature/RELEASE/xml/features
wicket=mvn:org.ops4j.pax.wicket/features/RELEASE/xml/features
hawtio=mvn:io.hawt/hawtio-karaf/RELEASE/xml/features
pax-cdi=mvn:org.ops4j.pax.cdi/pax-cdi-features/RELEASE/xml/features
pax-jdbc=mvn:org.ops4j.pax.jdbc/pax-jdbc-features/RELEASE/xml/features
pax-jms=mvn:org.ops4j.pax.jms/pax-jms-features/RELEASE/xml/features
pax-jpa=mvn:org.ops4j.pax.jpa/pax-jpa-features/RELEASE/xml/features
pax-transx=mvn:org.ops4j.pax.transx/pax-transx-features/RELEASE/xml/features
pax-keycloak=mvn:org.ops4j.pax.keycloak/pax-keycloak-features/RELEASE/xml/features
pax-web=mvn:org.ops4j.pax.web/pax-web-features/RELEASE/xml/features
pax-wicket=mvn:org.ops4j.pax.wicket/pax-wicket-features/RELEASE/xml/features
ecf=http://download.eclipse.org/rt/ecf/RELEASE/site.p2/karaf-features.xml
decanter=mvn:org.apache.karaf.decanter/apache-karaf-decanter/RELEASE/xml/features
eclipsesource-jaxrs=mvn:com.eclipsesource.jaxrs/features/RELEASE/xml/features
aries-jpa=mvn:org.apache.aries.jpa/jpa-features/RELEASE/xml/features
aries-rsa=mvn:org.apache.aries.rsa/rsa-features/RELEASE/xml/features
hibernate=mvn:org.hibernate/hibernate-osgi/RELEASE/xml/karaf
ignite=mvn:org.apache.ignite/ignite-osgi-karaf/RELEASE/xml/features
openjpa=mvn:org.apache.openjpa/openjpa-features/RELEASE/xml/features
artemis=mvn:org.apache.activemq/artemis-features/RELEASE/xml/features
brave=mvn:io.zipkin.brave.karaf/brave-features/RELEASE/xml/features
sling=mvn:org.apache.sling/org.apache.sling.karaf-features/RELEASE/xml/features

View File

@@ -0,0 +1,49 @@
## Standard settings of Karaf
#
# Encryption prefix
#
encryption.prefix = {CRYPT}
#
# Encryption suffix
#
encryption.suffix = {CRYPT}
#
# Set the encryption algorithm to use in Karaf JAAS login module
# Supported encryption algorithms follow:
# MD2
# MD5
# SHA-1
# SHA-256
# SHA-384
# SHA-512
#
encryption.algorithm = SHA-256
#
# Encoding of the encrypted password.
# Can be:
# hexadecimal
# base64
#
encryption.encoding = hexadecimal
##########################################################################
##
## Custom openHAB configuration
#
# Boolean enabling / disabling encrypted passwords
#
encryption.enabled = true
#
# Encryption Service name
# the default one is 'basic'
# a more powerful one named 'jasypt' is available
# when installing the encryption feature
#
encryption.name = basic

View File

@@ -0,0 +1,22 @@
## Standard settings of Karaf
#
# Enable or disable the refresh of the bundles when installing
# the features contained in a KAR file
#
noAutoRefreshBundles=false
#
# Enable or disable the automatic start of the bundles when installing
# the features contained in a KAR file
#
noAutoStartBundles=false
##########################################################################
##
## Custom openHAB configuration
#
# Directory where the kar are stored (when downloaded from Maven for instance)
#
karStorage=${karaf.data}/tmp/kar

View File

@@ -0,0 +1,23 @@
## Standard settings of Karaf
#
# This configuration file is used to configure the default values for the log:display
# and log:exception-display commands.
#
#
# The number of log statements to be displayed using log:display. It also defines the number
# of lines searched for exceptions using log:exception-display. You can override this value
# at runtime using -n in log:display.
#
size = 500
##########################################################################
##
## Custom openHAB configuration
#
# The pattern used to format the log statement when using log:display. This pattern is according
# to the log4j layout. You can override this parameter at runtime using log:display with -p.
#
pattern = %d{HH:mm:ss.SSS} [%-5.5p] [%-37.37c] - %m%n

View File

@@ -0,0 +1,128 @@
################################################################################
#
# 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.
#
################################################################################
#
# These properties are used to configure Karaf's ssh shell.
#
#
# Via sshPort and sshHost you define the address you can login into Karaf.
#
sshPort = 8101
sshHost = 127.0.0.1
#
# The sshIdleTimeout defines the inactivity timeout to logout the SSH session.
# The sshIdleTimeout is in milliseconds, and the default is set to 30 minutes.
#
sshIdleTimeout = 1800000
#
# sshRealm defines which JAAS domain to use for password authentication.
#
sshRealm = karaf
#
# Role name used for SSH access authorization
# If not set, this defaults to the ${karaf.admin.role} configured in etc/system.properties
#
# sshRole = admin
#
# Defines if the SFTP system is enabled or not in the SSH server
#
sftpEnabled=true
#
# The location of the hostKey file defines where the private/public key of the server
# is located. If no file is at the defined location it will be ignored.
#
hostKey = ${karaf.etc}/host.key
#
# The format used for hostKey.
# Possible values are simple (Karaf internal), or PEM (OpenSSH format)
#
hostKeyFormat = simple
#
# Self defined key size in 1024, 2048, 3072, or 4096
# If not set, this defaults to 2048.
#
# keySize = 2048
#
# Specify host key algorithm, defaults to RSA
#
# algorithm = RSA
#
# Specify the client log level (default is WARN)
# 0: ERROR
# 1: WARN
# 2: INFO
# 3: DEBUG
# 4: TRACE
#
#logLevel = 1
#
# Specify an additional welcome banner to be displayed when a user logs into the server.
#
# welcomeBanner =
#
# Defines the completion mode on the Karaf shell console. The possible values are:
# - GLOBAL: it's the same behavior as in previous Karaf releases. The completion displays all commands and all aliases
# ignoring if you are in a subshell or not.
# - FIRST: the completion displays all commands and all aliases only when you are not in a subshell. When you are
# in a subshell, the completion displays only the commands local to the subshell.
# - SUBSHELL: the completion displays only the subshells on the root level. When you are in a subshell, the completion
# displays only the commands local to the subshell.
# This property define the default value when you use the Karaf shell console.
# You can change the completion mode directly in the shell console, using shell:completion command.
#
completionMode = GLOBAL
#
# Override allowed SSH cipher algorithms.
# Default: aes128-ctr,arcfour128,aes128-cbc,3des-cbc,blowfish-cbc
#
# ciphers = aes128-ctr,arcfour128,aes128-cbc,3des-cbc,blowfish-cbc
#
# Override allowed SSH HMAC algorithms.
# Default: hmac-sha2-512,hmac-sha2-256,hmac-sha1
#
# macs = hmac-sha2-512,hmac-sha2-256,hmac-sha1
#
# Override allowed SSH key exchange algorithms.
# Default: diffie-hellman-group-exchange-sha256,ecdh-sha2-nistp521,ecdh-sha2-nistp384,ecdh-sha2-nistp256,diffie-hellman-group-exchange-sha1,diffie-hellman-group1-sha1
#
# kexAlgorithms = diffie-hellman-group-exchange-sha256,ecdh-sha2-nistp521,ecdh-sha2-nistp384,ecdh-sha2-nistp256,diffie-hellman-group-exchange-sha1,diffie-hellman-group1-sha1
#
# Override moduli-url.
# Default: moduli-url not specified to use the internal one from SSHD
#
# moduli-url = external moduli-url users wanna use

View File

@@ -0,0 +1,2 @@
defaultSink = enhancedjavasound

View File

@@ -0,0 +1,2 @@
defaultHLI = rulehli

View File

@@ -0,0 +1,3 @@
multicastResponsePort=0
asyncThreadPoolSize=30
threadPoolSize=15

View File

@@ -0,0 +1,138 @@
# Common pattern layout for appenders
#log4j2.pattern = %d{ISO8601} | %-5p | %-16t | %-32c{1} | %X{bundle.id} - %X{bundle.name} - %X{bundle.version} | %m%n
# Root logger
log4j2.rootLogger.level = WARN
log4j2.rootLogger.appenderRefs = out, osgi
log4j2.rootLogger.appenderRef.out.ref = LOGFILE
log4j2.rootLogger.appenderRef.osgi.ref = OSGI
# Karaf Shell logger
log4j2.logger.shell.name = org.apache.karaf.shell.support
log4j2.logger.shell.level = OFF
log4j2.logger.shell.appenderRefs = stdout
log4j2.logger.shell.appenderRef.stdout.ref = STDOUT
# Security audit logger
log4j2.logger.audit.name = org.apache.karaf.jaas.modules.audit
log4j2.logger.audit.level = INFO
log4j2.logger.audit.additivity = false
log4j2.logger.audit.appenderRefs = audit
log4j2.logger.audit.appenderRef.audit.ref = AUDIT
# openHAB specific logger configuration
log4j2.logger.openhab.name = org.openhab
log4j2.logger.openhab.level = INFO
log4j2.logger.smarthome.name = org.eclipse.smarthome
log4j2.logger.smarthome.level = INFO
log4j2.logger.smarthomeItemStateEvent.name = smarthome.event.ItemStateEvent
log4j2.logger.smarthomeItemStateEvent.level = ERROR
log4j2.logger.smarthomeItemAddedEvent.name = smarthome.event.ItemAddedEvent
log4j2.logger.smarthomeItemAddedEvent.level = ERROR
log4j2.logger.smarthomeItemRemovedEvent.name = smarthome.event.ItemRemovedEvent
log4j2.logger.smarthomeItemRemovedEvent.level = ERROR
log4j2.logger.smarthomeThingStatusInfoEvent.name = smarthome.event.ThingStatusInfoEvent
log4j2.logger.smarthomeThingStatusInfoEvent.level = ERROR
log4j2.logger.smarthomeThingAddedEvent.name = smarthome.event.ThingAddedEvent
log4j2.logger.smarthomeThingAddedEvent.level = ERROR
log4j2.logger.smarthomeThingRemovedEvent.name = smarthome.event.ThingRemovedEvent
log4j2.logger.smarthomeThingRemovedEvent.level = ERROR
log4j2.logger.smarthomeInboxUpdatedEvent.name = smarthome.event.InboxUpdatedEvent
log4j2.logger.smarthomeInboxUpdatedEvent.level = ERROR
log4j2.logger.events.name = smarthome.event
log4j2.logger.events.level = INFO
log4j2.logger.events.additivity = false
log4j2.logger.events.appenderRefs = event
log4j2.logger.events.appenderRef.event.ref = EVENT
log4j2.logger.events.appenderRef.osgi.ref = OSGI
log4j2.logger.jupnp.name = org.jupnp
log4j2.logger.jupnp.level = ERROR
log4j2.logger.jmdns.name = javax.jmdns
log4j2.logger.jmdns.level = ERROR
# This suppresses all Maven download issues from the log when doing feature installations
# as we are logging errors ourselves in a nicer way anyhow.
log4j2.logger.paxurl.name = org.ops4j.pax.url.mvn.internal.AetherBasedResolver
log4j2.logger.paxurl.level = ERROR
# Filters known issues of pax-web (issue link to be added here).
# Can be removed once the issues are resolved in an upcoming version.
log4j2.logger.paxweb.name = org.ops4j.pax.web.pax-web-runtime
log4j2.logger.paxweb.level = OFF
# Filters known issues of lsp4j, see
# https://github.com/eclipse/smarthome/issues/4639
# https://github.com/eclipse/smarthome/issues/4629
# https://github.com/eclipse/smarthome/issues/4643
# Can be removed once the issues are resolved in an upcoming version.
log4j2.logger.lsp4j.name = org.eclipse.lsp4j
log4j2.logger.lsp4j.level = OFF
# Filters known issues of KarServiceImpl, see
# https://github.com/openhab/openhab-distro/issues/519#issuecomment-351944506
# Can be removed once the issues are resolved in an upcoming version.
log4j2.logger.karservice.name = org.apache.karaf.kar.internal.KarServiceImpl
log4j2.logger.karservice.level = ERROR
# Filters warnings about small thread pools.
# The thread pool is kept small intentionally for supporting resource constrained hardware.
log4j2.logger.threadpoolbudget.name = org.eclipse.jetty.util.thread.ThreadPoolBudget
log4j2.logger.threadpoolbudget.level = ERROR
# Appenders configuration
# Console appender not used by default (see log4j2.rootLogger.appenderRefs)
log4j2.appender.console.type = Console
log4j2.appender.console.name = STDOUT
log4j2.appender.console.layout.type = PatternLayout
log4j2.appender.console.layout.pattern = %d{HH:mm:ss.SSS} [%-5.5p] [%-36.36c] - %m%n
# Rolling file appender
log4j2.appender.out.type = RollingRandomAccessFile
log4j2.appender.out.name = LOGFILE
log4j2.appender.out.fileName = ${openhab.logdir}/openhab.log
log4j2.appender.out.filePattern = ${openhab.logdir}/openhab.log.%i
log4j2.appender.out.immediateFlush = true
log4j2.appender.out.append = true
log4j2.appender.out.layout.type = PatternLayout
log4j2.appender.out.layout.pattern = %d{yyyy-MM-dd HH:mm:ss.SSS} [%-5.5p] [%-36.36c] - %m%n
log4j2.appender.out.policies.type = Policies
log4j2.appender.out.policies.size.type = SizeBasedTriggeringPolicy
log4j2.appender.out.policies.size.size = 16MB
# Event log appender
log4j2.appender.event.type = RollingRandomAccessFile
log4j2.appender.event.name = EVENT
log4j2.appender.event.fileName = ${openhab.logdir}/events.log
log4j2.appender.event.filePattern = ${openhab.logdir}/events.log.%i
log4j2.appender.event.immediateFlush = true
log4j2.appender.event.append = true
log4j2.appender.event.layout.type = PatternLayout
log4j2.appender.event.layout.pattern = %d{yyyy-MM-dd HH:mm:ss.SSS} [%-26.26c] - %m%n
log4j2.appender.event.policies.type = Policies
log4j2.appender.event.policies.size.type = SizeBasedTriggeringPolicy
log4j2.appender.event.policies.size.size = 16MB
# Audit file appender
log4j2.appender.audit.type = RollingRandomAccessFile
log4j2.appender.audit.name = AUDIT
log4j2.appender.audit.fileName = ${openhab.logdir}/audit.log
log4j2.appender.audit.filePattern = ${openhab.logdir}/audit.log.%i
log4j2.appender.audit.append = true
log4j2.appender.audit.layout.type = PatternLayout
log4j2.appender.audit.layout.pattern = %d{yyyy-MM-dd HH:mm:ss.SSS} [%-5.5p] [%-36.36c] - %m%n
log4j2.appender.audit.policies.type = Policies
log4j2.appender.audit.policies.size.type = SizeBasedTriggeringPolicy
log4j2.appender.audit.policies.size.size = 8MB
# OSGi appender
log4j2.appender.osgi.type = PaxOsgi
log4j2.appender.osgi.name = OSGI
log4j2.appender.osgi.filter = *

View File

@@ -0,0 +1,92 @@
#
# If set to true, the following property will not allow any certificate to be used
# when accessing Maven repositories through SSL
#
#org.ops4j.pax.url.mvn.certificateCheck=
#
# Path to the local Maven settings file.
# The repositories defined in this file will be automatically added to the list
# of default repositories if the 'org.ops4j.pax.url.mvn.repositories' property
# below is not set.
# The following locations are checked for the existence of the settings.xml file
# * 1. looks for the specified url
# * 2. if not found looks for /var/jenkins_home/.m2/settings.xml
# * 3. if not found looks for /var/jenkins_home/tools/hudson.tasks.Maven_MavenInstallation/Maven_3.3.9/conf/settings.xml
# * 4. if not found looks for ${M2_HOME}/conf/settings.xml
#
# Properties prefixed with "org.ops4j.pax.url.mvn." have
# higher priority except <proxies> element. HTTP proxies should be configured in
# settings file
#org.ops4j.pax.url.mvn.settings=
#
# Path to the local Maven repository which is used to avoid downloading
# artifacts when they already exist locally.
# The value of this property will be extracted from the settings.xml file
# above, or defaulted to:
# System.getProperty( "user.home" ) + "/.m2/repository"
#
org.ops4j.pax.url.mvn.localRepository=${openhab.userdata}/tmp/mvn
#
# Default this to false. It's just weird to use undocumented repos
# "false" means that http://repo1.maven.org/maven2@id=central won't be
# implicitly used as remote repository
#
org.ops4j.pax.url.mvn.useFallbackRepositories=false
#
# Comma separated list of repositories scanned when resolving an artifact.
# list of repositories searched in the first place, should contain
# ${runtime.home}/${karaf.default.repository}.
# if "org.ops4j.pax.url.mvn.localRepository" is defined and it's not
# ~/.m2/repository, it's recommended (at least for dev purposes) to add
# ~/.m2/repository to defaultRepositories
# each of these repositories is checked by aether as "local repository". if
# artifact isn't found, "repositories" are searched next
#
# Those repositories will be checked before iterating through the
# below list of repositories and even before the local repository
# A repository url can be appended with zero or more of the following flags:
# @snapshots : the repository contains snaphots
# @noreleases : the repository does not contain any released artifacts
#
# The following property value will add the system folder as a repo.
#
org.ops4j.pax.url.mvn.defaultRepositories=\
${karaf.home.uri}${karaf.default.repository}@id=system.repository@snapshots, \
${karaf.data.uri}tmp/kar@id=kar.repository@multi@snapshots, \
${karaf.base.uri}${karaf.default.repository}@id=child.system.repository@snapshots
#
# if "defaultLocalRepoAsRemote" is set to *any* value, localRepository will be
# added to the list of remote repositories being searched for artifacts
#
#org.ops4j.pax.url.mvn.defaultLocalRepoAsRemote = true
#
# Comma separated list of repositories scanned when resolving an artifact.
# list of repositories searched after resolution fails for "defaultRepositories"
# These are true remote repositories accessed using maven/aether/wagon
# mechanisms. If any repository contains required artifact, it is then written
# to "localRepository"
#
# if this list is _prepended_ with '+' sign, all repositories from active
# profiles defined in effective settings.xml file will be _appended_ to this
# list
# The default list includes the following repositories:
# http://repo1.maven.org/maven2@id=central
# http://repository.apache.org/content/groups/snapshots-group@id=apache@snapshots@noreleases
# https://oss.sonatype.org/content/repositories/snapshots@id=sonatype.snapshots.deploy@snapshots@noreleases
# https://oss.sonatype.org/content/repositories/ops4j-snapshots@id=ops4j.sonatype.snapshots.deploy@snapshots@noreleases
# A repository url can be appended with zero or more of the following flags:
# @snapshots : the repository contains snapshots
# @noreleases : the repository does not contain any released artifacts
# @id=repository.id : the id for the repository, just like in the
# settings.xml this is optional but recommended
#
# This contains the openhab, smart home and default repositories.
#
org.ops4j.pax.url.mvn.repositories= \
https://dl.bintray.com/openhab/mvn/online-repo/2.4@id=openhab

View File

@@ -0,0 +1,62 @@
#
# min server threads
#
org.ops4j.pax.web.server.minThreads = 2
#
# max server threads
#
org.ops4j.pax.web.server.maxThreads = 50
#
# location of jetty config
#
org.ops4j.pax.web.config.file = ${openhab.runtime}/etc/jetty.xml
#
# enable https
#
org.osgi.service.http.secure.enabled = true
#
# http port.
# This is currently also in the setenv
# org.osgi.service.http.port = 8080
#
# https port, default is 8443.
# This is currently also in the setenv
#
#org.osgi.service.http.port.secure = 8443
#
# The number of minutes after which an inactive session will timeout.
#
org.ops4j.pax.web.session.timeout = 10
#
# Specifies if the connections established use the nio classes from java.
#
org.osgi.service.http.useNIO = true
#
# Set to true if certificate-based client authentication at the server is "wanted".
#
org.ops4j.pax.web.ssl.clientauthwanted = false
#
# Set to true if certificate-based client authentication at the server is "required".
#
org.ops4j.pax.web.ssl.clientauthneeded = false
#
# The time in milliseconds that the connection can be idle before it is closed.
#
org.ops4j.pax.web.server.idleTimeout = 300000
#
# Listening addresses. This should match host in the sslconnector/name attribute in jetty.xml
# Default is 0.0.0.0
# This is currently also in the setenv
#
#org.ops4j.pax.web.listening.addresses = 0.0.0.0

View File

@@ -0,0 +1 @@
mvn:org.apache.karaf.shell/org.apache.karaf.shell.ssh/4.2.1-sp1

133
userdata/etc/profile.cfg Normal file
View File

@@ -0,0 +1,133 @@
#
# Profile generated by Karaf Assembly Builder
#
# Parent profiles
attribute.parents = generated-startup generated-boot generated-installed
# Attributes
attribute.overlay = true
# Feature XML repositories
repository.mvn\:org.apache.karaf.features/standard/4.2.1/xml/features = mvn:org.apache.karaf.features/standard/4.2.1/xml/features
repository.mvn\:org.apache.karaf.features/framework/4.2.1/xml/features = mvn:org.apache.karaf.features/framework/4.2.1/xml/features
repository.mvn\:org.openhab.distro/distro/2.4.0/xml/features = mvn:org.openhab.distro/distro/2.4.0/xml/features
repository.mvn\:org.openhab.distro/openhab-addons/2.4.0/xml/features = mvn:org.openhab.distro/openhab-addons/2.4.0/xml/features
repository.mvn\:org.openhab.distro/overrides/2.4.0/xml/features = mvn:org.openhab.distro/overrides/2.4.0/xml/features
repository.mvn\:org.openhab.distro/distro-kar/2.4.0/xml/features = mvn:org.openhab.distro/distro-kar/2.4.0/xml/features
# Features
feature.framework = framework
feature.eventadmin = eventadmin
feature.jaas = jaas
feature.shell = shell
feature.ssh = ssh
feature.bundle = bundle
feature.config = config
feature.deployer = deployer
feature.diagnostic = diagnostic
feature.feature = feature
feature.instance = instance
feature.kar = kar
feature.log = log
feature.package = package
feature.service = service
feature.system = system
feature.openhab-runtime-base = openhab-runtime-base
feature.wrapper = wrapper
feature.wrap = wrap
feature.openhab-overrides = openhab-overrides
feature.openhab-package-demo/2.4.0 = openhab-package-demo/2.4.0
feature.openhab-package-simple/2.4.0 = openhab-package-simple/2.4.0
feature.openhab-package-standard/2.4.0 = openhab-package-standard/2.4.0
feature.openhab-package-expert/2.4.0 = openhab-package-expert/2.4.0
feature.esh.tp-base/0.10.0.oh240 = esh.tp-base/0.10.0.oh240
feature.esh.tp-coap/0.10.0.oh240 = esh.tp-coap/0.10.0.oh240
feature.esh.tp-commons-net/0.10.0.oh240 = esh.tp-commons-net/0.10.0.oh240
feature.esh.tp-httpclient/0.10.0.oh240 = esh.tp-httpclient/0.10.0.oh240
feature.esh.tp-jax-rs/0.10.0.oh240 = esh.tp-jax-rs/0.10.0.oh240
feature.esh.tp-jax-rs-min/0.10.0.oh240 = esh.tp-jax-rs-min/0.10.0.oh240
feature.esh.tp-kat.cpy-jersey-min-2.22.2/0.10.0.oh240 = esh.tp-kat.cpy-jersey-min-2.22.2/0.10.0.oh240
feature.esh.tp-jupnp/0.10.0.oh240 = esh.tp-jupnp/0.10.0.oh240
feature.esh.tp-jmdns/0.10.0.oh240 = esh.tp-jmdns/0.10.0.oh240
feature.esh.tp-lsp4j/0.10.0.oh240 = esh.tp-lsp4j/0.10.0.oh240
feature.esh.tp-mapdb/0.10.0.oh240 = esh.tp-mapdb/0.10.0.oh240
feature.esh.tp-paho/0.10.0.oh240 = esh.tp-paho/0.10.0.oh240
feature.esh.tp-serial-javacomm/0.10.0.oh240 = esh.tp-serial-javacomm/0.10.0.oh240
feature.esh.tp-serial-rxtx/0.10.0.oh240 = esh.tp-serial-rxtx/0.10.0.oh240
feature.esh.tp-xtext/0.10.0.oh240 = esh.tp-xtext/0.10.0.oh240
feature.esh.tp-xtext-ide/0.10.0.oh240 = esh.tp-xtext-ide/0.10.0.oh240
feature.esh.tp-swagger-jax-rs-provider/0.10.0.oh240 = esh.tp-swagger-jax-rs-provider/0.10.0.oh240
feature.esh-base/0.10.0.oh240 = esh-base/0.10.0.oh240
feature.esh-auth-jaas/0.10.0.oh240 = esh-auth-jaas/0.10.0.oh240
feature.esh-auth-oauth2client/0.10.0.oh240 = esh-auth-oauth2client/0.10.0.oh240
feature.esh-automation-api/0.10.0.oh240 = esh-automation-api/0.10.0.oh240
feature.esh-automation-commands/0.10.0.oh240 = esh-automation-commands/0.10.0.oh240
feature.esh-automation-core/0.10.0.oh240 = esh-automation-core/0.10.0.oh240
feature.esh-automation-module-core/0.10.0.oh240 = esh-automation-module-core/0.10.0.oh240
feature.esh-automation-module-script/0.10.0.oh240 = esh-automation-module-script/0.10.0.oh240
feature.esh-automation-module-script-defaultscope/0.10.0.oh240 = esh-automation-module-script-defaultscope/0.10.0.oh240
feature.esh-automation-module-script-rulesupport/0.10.0.oh240 = esh-automation-module-script-rulesupport/0.10.0.oh240
feature.esh-automation-module-media/0.10.0.oh240 = esh-automation-module-media/0.10.0.oh240
feature.esh-automation-module-timer/0.10.0.oh240 = esh-automation-module-timer/0.10.0.oh240
feature.esh-automation-parser-gson/0.10.0.oh240 = esh-automation-parser-gson/0.10.0.oh240
feature.esh-automation-providers/0.10.0.oh240 = esh-automation-providers/0.10.0.oh240
feature.esh-automation-rest/0.10.0.oh240 = esh-automation-rest/0.10.0.oh240
feature.esh-config-serial/0.10.0.oh240 = esh-config-serial/0.10.0.oh240
feature.esh-config-discovery-usbserial/0.10.0.oh240 = esh-config-discovery-usbserial/0.10.0.oh240
feature.esh-io-console-karaf/0.10.0.oh240 = esh-io-console-karaf/0.10.0.oh240
feature.esh-io-http-auth/0.10.0.oh240 = esh-io-http-auth/0.10.0.oh240
feature.esh-io-http-auth-basic/0.10.0.oh240 = esh-io-http-auth-basic/0.10.0.oh240
feature.esh-io-rest-auth/0.10.0.oh240 = esh-io-rest-auth/0.10.0.oh240
feature.esh-io-rest-log/0.10.0.oh240 = esh-io-rest-log/0.10.0.oh240
feature.esh-io-rest-sitemap/0.10.0.oh240 = esh-io-rest-sitemap/0.10.0.oh240
feature.esh-io-rest-voice/0.10.0.oh240 = esh-io-rest-voice/0.10.0.oh240
feature.esh-io-rest-mdns/0.10.0.oh240 = esh-io-rest-mdns/0.10.0.oh240
feature.esh-io-transport-coap/0.10.0.oh240 = esh-io-transport-coap/0.10.0.oh240
feature.esh-io-transport-dbus/0.10.0.oh240 = esh-io-transport-dbus/0.10.0.oh240
feature.esh-io-transport-http/0.10.0.oh240 = esh-io-transport-http/0.10.0.oh240
feature.esh-io-transport-mdns/0.10.0.oh240 = esh-io-transport-mdns/0.10.0.oh240
feature.esh-io-transport-mqtt/0.10.0.oh240 = esh-io-transport-mqtt/0.10.0.oh240
feature.esh-io-transport-serial/0.10.0.oh240 = esh-io-transport-serial/0.10.0.oh240
feature.esh-io-transport-serial-javacomm/0.10.0.oh240 = esh-io-transport-serial-javacomm/0.10.0.oh240
feature.esh-io-transport-serial-rxtx/0.10.0.oh240 = esh-io-transport-serial-rxtx/0.10.0.oh240
feature.esh-io-transport-serial-rfc2217/0.10.0.oh240 = esh-io-transport-serial-rfc2217/0.10.0.oh240
feature.esh-io-transport-upnp/0.10.0.oh240 = esh-io-transport-upnp/0.10.0.oh240
feature.esh-model-core/0.10.0.oh240 = esh-model-core/0.10.0.oh240
feature.esh-model-item/0.10.0.oh240 = esh-model-item/0.10.0.oh240
feature.esh-model-item-runtime/0.10.0.oh240 = esh-model-item-runtime/0.10.0.oh240
feature.esh-model-item-ide/0.10.0.oh240 = esh-model-item-ide/0.10.0.oh240
feature.esh-model-persistence/0.10.0.oh240 = esh-model-persistence/0.10.0.oh240
feature.esh-model-persistence-runtime/0.10.0.oh240 = esh-model-persistence-runtime/0.10.0.oh240
feature.esh-model-persistence-ide/0.10.0.oh240 = esh-model-persistence-ide/0.10.0.oh240
feature.esh-model-rule/0.10.0.oh240 = esh-model-rule/0.10.0.oh240
feature.esh-model-rule-runtime/0.10.0.oh240 = esh-model-rule-runtime/0.10.0.oh240
feature.esh-model-rule-ide/0.10.0.oh240 = esh-model-rule-ide/0.10.0.oh240
feature.esh-model-script/0.10.0.oh240 = esh-model-script/0.10.0.oh240
feature.esh-model-script-runtime/0.10.0.oh240 = esh-model-script-runtime/0.10.0.oh240
feature.esh-model-script-ide/0.10.0.oh240 = esh-model-script-ide/0.10.0.oh240
feature.esh-model-sitemap/0.10.0.oh240 = esh-model-sitemap/0.10.0.oh240
feature.esh-model-sitemap-runtime/0.10.0.oh240 = esh-model-sitemap-runtime/0.10.0.oh240
feature.esh-model-sitemap-ide/0.10.0.oh240 = esh-model-sitemap-ide/0.10.0.oh240
feature.esh-model-thing/0.10.0.oh240 = esh-model-thing/0.10.0.oh240
feature.esh-model-thing-runtime/0.10.0.oh240 = esh-model-thing-runtime/0.10.0.oh240
feature.esh-model-thing-ide/0.10.0.oh240 = esh-model-thing-ide/0.10.0.oh240
feature.esh-model-lsp/0.10.0.oh240 = esh-model-lsp/0.10.0.oh240
feature.esh-storage-mapdb/0.10.0.oh240 = esh-storage-mapdb/0.10.0.oh240
feature.esh-storage-json/0.10.0.oh240 = esh-storage-json/0.10.0.oh240
feature.esh-ui/0.10.0.oh240 = esh-ui/0.10.0.oh240
feature.esh-ui-icon/0.10.0.oh240 = esh-ui-icon/0.10.0.oh240
feature.openhab-runtime-base/2.4.0 = openhab-runtime-base/2.4.0
feature.openhab-runtime-certificate/2.4.0 = openhab-runtime-certificate/2.4.0
feature.openhab-runtime-jna/2.4.0 = openhab-runtime-jna/2.4.0
feature.openhab-runtime-compat1x/2.4.0 = openhab-runtime-compat1x/2.4.0
feature.openhab-transport-coap/2.4.0 = openhab-transport-coap/2.4.0
feature.openhab-transport-http/2.4.0 = openhab-transport-http/2.4.0
feature.openhab-transport-mdns/2.4.0 = openhab-transport-mdns/2.4.0
feature.openhab-transport-mqtt/2.4.0 = openhab-transport-mqtt/2.4.0
feature.openhab-transport-serial/2.4.0 = openhab-transport-serial/2.4.0
feature.openhab-transport-upnp/2.4.0 = openhab-transport-upnp/2.4.0
feature.openhab-misc-restdocs/2.4.0 = openhab-misc-restdocs/2.4.0
feature.openhab-ui-homebuilder/2.4.0 = openhab-ui-homebuilder/2.4.0
feature.distro/2.4.0 = distro/2.4.0
feature.distro-kar/2.4.0 = distro-kar/2.4.0

View File

@@ -0,0 +1,40 @@
// This script overrides the default colors for the Karaf console.
// All colors are set using the original ANSI escape code specification.
// HIGHLIGHTER_COLORS overrides the colors related to console input.
// From the Apache Felix documentation:
// rs : Reserved words
// st : Strings
// nu : Numbers
// co : Constants
// va : Variable
// vn : Variable name
// fu : Function
// bf : Bad function
// un : Unknown
// re : Repair
HIGHLIGHTER_COLORS = "rs=93:st=92:nu=37:co=90:va=97:vn=37:fu=96:bf=91:re=32"
// LS_COLORS overrides the colors used in the ls command output.
// From the Apache Felix documentation:
// dr : Directory
// ex : Executable
// sl : Symbolic Link
// ot : Other
//LS_COLORS = "dr=1;91:ex=1;92:sl=1;96:ot=34;43"
// GREP_COLORS overrides the colors used in the grep command output.
// From the Apache Felix documentation:
// mt : Hits in the text (sets both ms and mc)
// ms : Matching text in selected line
// mc : Matching text in context line
// fn : File names
// ln : Line numbers
// se : Selected lines
// sl : Whole selected line
// cx : Context lines
// rv : If set and match is inverted, the meaning of sl and cx is inverted
//GREP_COLORS = "mt=1;31:fn=35:ln=32:se=36"

View File

@@ -0,0 +1,271 @@
//
// 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.
//
// This script is run each time a shell is created.
// You can define here closures or variables that will be available
// in each session.
//
__option_not_present = {
res = true
opts = $argv
each $opts {
arg = $it
each ($.commandLine words) {
if { ($it toString) equals ($arg toString) } {
res = false
}
}
}
$res
}
__set_unset_arguments = {
is_setopt = (($.commandLine words) get 0) equals "setopt"
enums = ((__load_class 'org.jline.reader.LineReader$Option') enumConstants)
candidates = new ArrayList
each $enums {
name = ${(GL)it/_/-}
is_set = ($.reader isSet $it)
neg = %(( if(is_setopt, is_set, not(is_set)) ))
if { $neg } {
name = "no-${name}"
}
if { not { (($.commandLine words) subList 1 ($.commandLine wordIndex)) contains $name } } {
$candidates add (new org.jline.reader.Candidate $name $name (if { $neg } { "unset" } { "set" }) null null null true)
}
}
$candidates
}
jlineReader = $.reader
if { %(jlineReader != null) } {
complete -c shell:complete -e
complete -c shell:complete -d "Edit command specific completions"
complete -c shell:complete -s c -l command --description "Command to add completion to" -n '__option_not_present -c --command' -a '$.commands'
complete -c shell:complete -s s -l short-option --description "Posix-style option to complete" -n '__option_not_present -s --short-option'
complete -c shell:complete -s l -l long-option --description "GNU-style option to complete" -n '__option_not_present -l --long-option'
complete -c shell:complete -s a -l arguments --description "A list of possible arguments" -n '__option_not_present -a --argument'
complete -c shell:complete -s d -l description --description "Description of this completions" -n '__option_not_present -d --description'
complete -c shell:complete -s h -l help --description "Display help and exit" -n '__option_not_present -h --help'
complete -c shell:complete -s n -l condition --description "The completion should only be used if the specified command has a zero exit status" -n '__option_not_present -n --condition'
complete -c shell:complete -s e -l erase --description "Remove completion" -n '__option_not_present -e --erase'
complete -c shell:history -e
complete -c shell:history -d "Show and manipulate command history"
complete -c shell:history -l clear --description "Clear history" -n '__option_not_present --clear'
complete -c shell:history -l save --description "Save history" -n '__option_not_present --save'
complete -c shell:setopt -e
complete -c shell:setopt -d "Set or view set shell options"
complete -c shell:setopt -a '__set_unset_arguments'
complete -c shell:unsetopt -e
complete -c shell:unsetopt -d "Unset or view unset shell options"
complete -c shell:unsetopt -a '__set_unset_arguments'
complete -c shell:cat -e
complete -c shell:cat -d "Concatenate and print files"
complete -c shell:cat -s n "Number the output lines, starting at 1"
complete -c shell:cat -a '__files'
complete -c shell:pwd -e
complete -c shell:pwd -d "Get current directory"
complete -c shell:ls -e
complete -c shell:ls -d "List files"
complete -c shell:cd -e
complete -c shell:cd -d "Change current directory"
complete -c shell:cd -a 'wi = ($.commandLine wordIndex); if { %(wi==1) } { __directories } { [ ] }'
complete -c shell:sleep -e
complete -c shell:sleep -d "Pause execution for the specified amount of time"
complete -c shell:echo -e
complete -c shell:echo -d "Write arguments to the standard output"
complete -c shell:echo -s n -d "No trailing new line"
complete -c shell:grep -e
complete -c shell:grep -d "File pattern searcher"
# TODO
complete -c shell:sort -e
complete -c shell:sort -d "Sort lines of text files"
# TODO
complete -c shell:gosh -e
complete -c shell:gosh -d "Execute script with arguments in a new session"
# TODO
complete -c shell:sh -e
complete -c shell:sh -d "Execute script with arguments in a new session"
# TODO
complete -c shell:source -e
complete -c shell:source -d "Execute script with arguments"
# TODO
# TODO: format getopt new set tac type addcommand removeCommand eval
complete -c shell:break -e
complete -c shell:break -d "Break from a loop"
complete -c shell:continue -e
complete -c shell:continue -d "Continue to next iteration in a loop"
complete -c shell:each -e
complete -c shell:each -d "Loop and execute script on the specified elements"
complete -c shell:if -e
complete -c shell:if -d "Conditionaly execute a script"
complete -c shell:new -e
complete -c shell:new -d "Creates new instance of the given java class"
complete -c shell:not -e
complete -c shell:not -d "Negates the result of a script"
complete -c shell:throw -e
complete -c shell:throw -d "Throws an exception"
complete -c shell:try -e
complete -c shell:try -d "Try executing a script and catch any exception"
complete -c shell:until -e
complete -c shell:until -d "Loop and execute script until a condition is satisfied"
complete -c shell:while -e
complete -c shell:while -d "Loop and execute script while a condition is satisfied"
complete -c shell:less -e
complete -c shell:less -d "File pager"
complete -c shell:less -s e -l quit-at-eof --description "Exit on second EOF"
complete -c shell:less -s E -l QUIT-AT-EOF --description "Exit on EOF"
complete -c shell:less -s q -l quiet -l silent --description "Silent mode"
complete -c shell:less -s Q -l QUIET -l SILENT --description "Completely silent"
complete -c shell:less -s S -l chop-long-lines --description "Do not fold long lines"
complete -c shell:less -s i -l ignore-case --description "Search ignores lowercase case"
complete -c shell:less -s I -l IGNORE-CASE --description "Search ignores all case"
complete -c shell:less -s x -l tabs --description "Set tab stops"
complete -c shell:less -s N -l LINE-NUMBERS --description "Display line number for each line"
complete -c shell:less -a '__files'
complete -c shell:nano -e
complete -c shell:nano -d "File editor"
complete -c shell:nano -a '__files'
complete -c shell:keymap -e
complete -c shell:keymap -d "Manipulate keymaps"
complete -c shell:keymap -s N --description "Create a new keymap" -n '__option_not_present -N -d -D -l -r -s -A'
complete -c shell:keymap -s d --description "Delete existing keymaps and reset to default state" -n '__option_not_present -N -d -D -l -r -s -A'
complete -c shell:keymap -s D --description "Delete named keymaps" -n '__option_not_present -N -d -D -l -r -s -A'
complete -c shell:keymap -s l --description "List existing keymap names" -n '__option_not_present -N -d -D -l -r -s -A'
complete -c shell:keymap -s r --description "Unbind specified in-strings" -n '__option_not_present -N -d -D -l -r -s -A'
complete -c shell:keymap -s s --description "Bind each in-string to each out-string" -n '__option_not_present -N -d -D -l -r -s -A'
complete -c shell:keymap -s A --description "Create alias to keymap" -n '__option_not_present -N -d -D -l -r -s -A'
complete -c shell:keymap -s e --description "Select emacs keymap and bind it to main" -n '__option_not_present -e -a -v -M'
complete -c shell:keymap -s v --description "Select viins keymap and bind it to main" -n '__option_not_present -e -a -v -M'
complete -c shell:keymap -s a --description "Select vicmd keymap" -n '__option_not_present -e -a -v -M'
complete -c shell:keymap -s M --description "Specify keymap to select" -n '__option_not_present -e -a -v -M' -a '(keymap -l | tac) split " "'
complete -c shell:keymap -s R --description "Interpret in-strings as ranges"
complete -c shell:keymap -s p --description "List bindings which have given key sequence as a a prefix"
complete -c shell:keymap -s L --description "Output in form of keymap commands"
complete -c shell:widget -e
complete -c shell:widget -d "Manipulate widgets"
complete -c shell:widget -s N --description "Create a new widget" -n '__option_not_present -N -A -D -U -l'
complete -c shell:widget -s A --description "Create alias to widget" -n '__option_not_present -N -A -D -U -l'
complete -c shell:widget -s D --description "Delete widgets" -n '__option_not_present -N -A -D -U -l'
complete -c shell:widget -s U --description "Push characters to the stack" -n '__option_not_present -N -A -D -U -l'
complete -c shell:widget -s l --description "List user-defined widgets" -n '__option_not_present -N -A -D -U -l'
complete -c shell:widget -s a --description "With -l, list all widgets" -n '__option_not_present -l'
complete -c shell:bg -e
complete -c shell:bg -d "Put job in background"
complete -c shell:fg -e
complete -c shell:fg -d "Put job in foreground"
complete -c shell:jobs -e
complete -c shell:jobs -d "List jobs"
complete -c shell:clear -e
complete -c shell:clear -d "Clear screen"
complete -c shell:head -e
complete -c shell:head -d "Displays first lines of file"
complete -c shell:head -s n -l lines --description "Print line counts"
complete -c shell:head -s c -l bytes --description "Print byte counts"
complete -c shell:head -a '__files'
complete -c shell:tail -e
complete -c shell:tail -d "Displays last lines of file"
complete -c shell:tail -s q -l quiet --description "Suppress headers when printing multiple sources"
complete -c shell:tail -s f -l follow --description "Do not stop at end of file"
complete -c shell:tail -s F -l FOLLOW --description "Follow and check for file renaming or rotation"
complete -c shell:tail -s n -l lines --description "Number of lines to print"
complete -c shell:tail -s c -l bytes --description "Number of bytes to print"
complete -c shell:tail -a '__files'
complete -c shell:date -e
complete -c shell:date -d "Display date and time"
complete -c shell:date -s u --description "Use UTC"
complete -c shell:date -s r --description "Print the date represented by 'seconds' since January 1, 1970"
complete -c shell:date -s v --description "Adjust date"
complete -c shell:date -s f --description "Use 'input_fmt' to parse 'new_date'"
complete -c shell:wc -e
complete -c shell:wc -d "Word, line, character, and byte count"
complete -c shell:wc -s n -l lines --description "Print line count"
complete -c shell:wc -s c -l bytes --description "Print byte count"
complete -c shell:wc -s m -l chars --description "Print character count"
complete -c shell:wc -s w -l words --description "Print word count"
complete -c shell:wc -a '__files'
__get_scr_components = {
list = [ ]
scrref = ($.context getServiceReference org.osgi.service.component.runtime.ServiceComponentRuntime)
scr = ($.context getService $scrref)
each ($scr getComponentDescriptionDTOs ($.context bundles)) {
$list add ((($it getClass) getField "name") get $it)
}
$.context ungetService $scrref
$list
}
complete -c scr:config -e
complete -c scr:config -d "Show the current SCR configuration"
complete -c scr:disable -e
complete -c scr:disable -d "Disable an enabled component"
complete -c scr:disable -a '__get_scr_components'
complete -c scr:enable -e
complete -c scr:enable -d "Enable an disabled component"
complete -c scr:enable -a '__get_scr_components'
complete -c scr:info -e
complete -c scr:info -d "Dump information of a component or component configuration"
complete -c scr:info -a '__get_scr_components'
complete -c scr:list -e
complete -c scr:list -d "List component configurations of a specific bundle"
}

View File

@@ -0,0 +1,54 @@
//
// 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.
//
// This script is run each time a shell is created.
// You can define here closures or variables that will be available
// in each session.
//
ld = { log:display $args } ;
lde = { log:exception-display $args } ;
la = { bundle:list -t 0 $args } ;
ls = { service:list $args } ;
cl = { config:list "(service.pid=$args)" } ;
halt = { system:shutdown -h -f $args } ;
help = { *:help $args | more } ;
man = { help $args } ;
log:list = { log:get ALL } ;
service:get = { $.context getService ($.context getServiceReference $args) };
env = { shell:set $args }
edit = { shell:nano $args }
more = { shell:less -F $args }
__load_class = {
(($.reader class) classLoader) loadClass $1
}
// make sure that we catch exceptions
// as they do occur if the session is headless / non-interactive
jlineReader = $.reader
if { %(jlineReader != null) } {
setopt group
setopt auto-fresh-line
unsetopt insert-tab
keymap "^[OA" up-line-or-search
keymap "^[[A" up-line-or-search
keymap "^[OB" down-line-or-search
keymap "^[[B" down-line-or-search
}

View File

@@ -0,0 +1,13 @@
# Bundles to be started on startup, with startlevel
mvn\:org.apache.karaf.features/org.apache.karaf.features.extension/4.2.1 = 1
mvn\:org.apache.felix/org.apache.felix.metatype/1.2.0 = 5
mvn\:org.apache.karaf.services/org.apache.karaf.services.eventadmin/4.2.1 = 5
mvn\:org.ops4j.pax.url/pax-url-aether/2.5.4 = 5
mvn\:org.fusesource.jansi/jansi/1.17.1 = 8
mvn\:org.ops4j.pax.logging/pax-logging-api/1.10.1 = 8
mvn\:org.ops4j.pax.logging/pax-logging-log4j2/1.10.1 = 8
mvn\:org.apache.felix/org.apache.felix.coordinator/1.0.2 = 9
mvn\:org.apache.felix/org.apache.felix.configadmin/1.9.4 = 10
mvn\:org.apache.felix/org.apache.felix.fileinstall/3.6.4 = 11
mvn\:org.apache.karaf.features/org.apache.karaf.features.core/4.2.1 = 15
mvn\:org.apache.servicemix.bundles/org.apache.servicemix.bundles.jaxb-impl/2.2.11_1 = 20

View File

@@ -0,0 +1,156 @@
################################################################################
#
# 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=*))
#
# 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

View File

@@ -0,0 +1,33 @@
################################################################################
#
# 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.
#
################################################################################
#
# This file contains the users, groups, and roles.
# Each line has to be of the format:
#
# USER=PASSWORD,ROLE1,ROLE2,...
# USER=PASSWORD,_g_:GROUP,...
# _g_\:GROUP=ROLE1,ROLE2,...
#
# All users, groups, and roles entered in this file are available after Karaf startup
# and modifiable via the JAAS command group. These users reside in a JAAS domain
# with the name "karaf".
#
openhab = {CRYPT}4F61A0FD056BC0FD8231899EC4D9F9CA06AF0DEC895B2A3B0773F6FBC1C99776{CRYPT},_g_:admingroup
_g_\:admingroup = group,admin,manager,viewer,systembundles

View File

@@ -0,0 +1,13 @@
openHAB Distribution Version Information
----------------------------------------
build-no : Release Build
online-repo : https://dl.bintray.com/openhab/mvn/online-repo/2.4
Repository Version
----------------------------------------
openhab-distro : 2.4.0
smarthome : 0.10.0.oh240
openhab-core : 2.4.0
openhab1-addons : 1.13.0
openhab2-addons : 2.4.0
karaf : 4.2.1