init: docker file + openhab config files

This commit is contained in:
theBigBlase 2023-12-09 16:10:01 -05:00
parent 065e2b01e6
commit 246357858b
113 changed files with 4381 additions and 0 deletions

View file

@ -0,0 +1,19 @@
:org.apache.felix.configadmin.revision:=L"1"
felix.fileinstall.filename="file:/openhab/userdata/etc/jmx.acl.org.apache.karaf.bundle.cfg"
install="manager"
refresh="manager"
resolve="manager"
restart="manager"
service.bundleLocation="?"
service.pid="jmx.acl.org.apache.karaf.bundle"
setStartLevel="manager"
setStartLevel(java.lang.String,="int)[/([1-4])?[0-9]/,/.*/]\ \=\ admin"
start="manager"
start(java.lang.String)[/([1-4])?[0-9]/]="admin"
stop="manager"
stop(java.lang.String)[/([1-4])?[0-9]/]="admin"
uninstall="admin"
uninstall(java.lang.String)[\"0\"]="#this\ is\ a\ comment,\ no\ roles\ can\ perform\ this\ operation"
update="manager"
update(java.lang.String)[/([1-4])?[0-9]/]="admin"
update(java.lang.String,java.lang.String)[/([1-4])?[0-9]/,/.*/]="admin"

View file

@ -0,0 +1,28 @@
:org.apache.felix.configadmin.revision:=L"1"
appendProperty(java.lang.String,java.lang.String,java.lang.String)="manager"
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"
create(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"
delete(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"
deleteProperty(java.lang.String,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"
felix.fileinstall.filename="file:/openhab/userdata/etc/jmx.acl.org.apache.karaf.config.cfg"
service.bundleLocation="?"
service.pid="jmx.acl.org.apache.karaf.config"
setProperty(java.lang.String,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"
update(java.lang.String,java.util.Map)="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"

View file

@ -0,0 +1,9 @@
:org.apache.felix.configadmin.revision:=L"1"
felix.fileinstall.filename="file:/openhab/userdata/etc/org.apache.felix.eventadmin.impl.EventAdmin.cfg"
org.apache.felix.eventadmin.AddSubject="true"
org.apache.felix.eventadmin.AddTimestamp="true"
org.apache.felix.eventadmin.AsyncToSyncThreadRatio="1"
org.apache.felix.eventadmin.ThreadPoolSize="3"
org.apache.felix.eventadmin.Timeout="0"
service.bundleLocation="?"
service.pid="org.apache.felix.eventadmin.impl.EventAdmin"

View file

@ -0,0 +1,13 @@
:org.apache.felix.configadmin.revision:=L"1"
felix.fileinstall.active.level="90"
felix.fileinstall.dir="/openhab/addons"
felix.fileinstall.filename="file:/openhab/userdata/etc/org.apache.felix.fileinstall-deploy.cfg"
felix.fileinstall.filter=".*\\.(jar|kar)"
felix.fileinstall.log.level="3"
felix.fileinstall.poll="10000"
felix.fileinstall.start.level="80"
felix.fileinstall.subdir.mode="skip"
felix.fileinstall.tmpdir="/openhab/userdata/tmp/bundles"
service.bundleLocation="?"
service.factoryPid="org.apache.felix.fileinstall"
service.pid="org.apache.felix.fileinstall~deploy"

View file

@ -0,0 +1,18 @@
:org.apache.felix.configadmin.revision:=L"1"
felix.fileinstall.filename="file:/openhab/userdata/etc/org.apache.karaf.command.acl.bundle.cfg"
install="admin"
refresh="manager"
refresh[/.*[-][f].*/]="admin"
restart="manager"
restart[/.*[-][f].*/]="admin"
service.bundleLocation="?"
service.pid="org.apache.karaf.command.acl.bundle"
start="manager"
start[/.*[-][f].*/]="admin"
stop="manager"
stop[/.*[-][f].*/]="admin"
uninstall="manager"
uninstall[/.*[-][f].*/]="admin"
update="manager"
update[/.*[-][f].*/]="admin"
watch="admin"

View file

@ -0,0 +1,23 @@
:org.apache.felix.configadmin.revision:=L"1"
cancel="manager"
delete="admin"
edit="manager"
edit[/.*jmx[.]acl.*/]="admin"
edit[/.*org[.]apache[.]karaf[.]command[.]acl[.].+/]="admin"
edit[/.*org[.]apache[.]karaf[.]service[.]acl[.].+/]="admin"
felix.fileinstall.filename="file:/openhab/userdata/etc/org.apache.karaf.command.acl.config.cfg"
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"
service.bundleLocation="?"
service.pid="org.apache.karaf.command.acl.config"
update="manager"

View file

@ -0,0 +1,8 @@
:org.apache.felix.configadmin.revision:=L"1"
felix.fileinstall.filename="file:/openhab/userdata/etc/org.apache.karaf.command.acl.feature.cfg"
install="admin"
service.bundleLocation="?"
service.pid="org.apache.karaf.command.acl.feature"
start="admin"
stop="admin"
uninstall="admin"

View file

@ -0,0 +1,5 @@
:org.apache.felix.configadmin.revision:=L"1"
felix.fileinstall.filename="file:/openhab/userdata/etc/org.apache.karaf.command.acl.jaas.cfg"
service.bundleLocation="?"
service.pid="org.apache.karaf.command.acl.jaas"
update="admin"

View file

@ -0,0 +1,6 @@
:org.apache.felix.configadmin.revision:=L"1"
felix.fileinstall.filename="file:/openhab/userdata/etc/org.apache.karaf.command.acl.kar.cfg"
install="admin"
service.bundleLocation="?"
service.pid="org.apache.karaf.command.acl.kar"
uninstall="admin"

View file

@ -0,0 +1,13 @@
:org.apache.felix.configadmin.revision:=L"1"
admin="org.apache.karaf.admin.command"
config="org.apache.karaf.shell.config"
features="org.apache.karaf.features.command"
felix.fileinstall.filename="file:/openhab/userdata/etc/org.apache.karaf.command.acl.scope_bundle.cfg"
jaas="org.apache.karaf.jaas.command"
log="org.apache.karaf.shell.log"
osgi="org.apache.karaf.shell.osgi"
packages="org.apache.karaf.shell.packages"
service.bundleLocation="?"
service.pid="org.apache.karaf.command.acl.scope_bundle"
shell="org.apache.karaf.shell.commands"
ssh="org.apache.karaf.shell.ssh"

View file

@ -0,0 +1,8 @@
:org.apache.felix.configadmin.revision:=L"1"
exec="admin"
felix.fileinstall.filename="file:/openhab/userdata/etc/org.apache.karaf.command.acl.shell.cfg"
java="admin"
nano="admin"
new="admin"
service.bundleLocation="?"
service.pid="org.apache.karaf.command.acl.shell"

View file

@ -0,0 +1,9 @@
:org.apache.felix.configadmin.revision:=L"1"
felix.fileinstall.filename="file:/openhab/userdata/etc/org.apache.karaf.command.acl.system.cfg"
property="admin"
service.bundleLocation="?"
service.pid="org.apache.karaf.command.acl.system"
shutdown="admin"
start-level="admin\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ #\ admin\ can\ set\ any\ start\ level,\ including\ <\ 100"
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"

View file

@ -0,0 +1,9 @@
:org.apache.felix.configadmin.revision:=L"1"
autoRefresh="true"
configCfgStore="false"
featuresBoot="instance/4.4.3,\ package/4.4.3,\ log/4.4.3,\ ssh/4.4.3,\ framework/4.4.3,\ system/4.4.3,\ eventadmin/4.4.3,\ feature/4.4.3,\ shell/4.4.3,\ service/4.4.3,\ jaas/4.4.3,\ openhab-runtime-base,\ openhab-runtime-ui,\ deployer/4.4.3,\ diagnostic/4.4.3,\ bundle/4.4.3,\ config/4.4.3,\ kar/4.4.3"
featuresBootAsynchronous="false"
featuresRepositories="mvn:org.openhab.distro/distro/4.0.3/xml/features,\ mvn:org.openhab.distro/openhab-addons/4.0.3/xml/features,\ mvn:org.apache.karaf.features/framework/4.4.3/xml/features,\ mvn:org.apache.karaf.features/standard/4.4.3/xml/features"
felix.fileinstall.filename="file:/openhab/userdata/etc/org.apache.karaf.features.cfg"
service.bundleLocation="?"
service.pid="org.apache.karaf.features"

View file

@ -0,0 +1,41 @@
:org.apache.felix.configadmin.revision:=L"1"
activemq="mvn:org.apache.activemq/activemq-karaf/RELEASE/xml/features"
aries-cdi="mvn:org.apache.aries.cdi/aries-cdi-feature/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"
aries.jax.rs.whiteboard="mvn:org.apache.aries.jax.rs/org.apache.aries.jax.rs.features/RELEASE/xml"
artemis="mvn:org.apache.activemq/artemis-features/RELEASE/xml/features"
brave="mvn:io.zipkin.brave.karaf/brave-features/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"
cave="mvn:org.apache.karaf.cave/apache-karaf-cave/RELEASE/xml/features"
cellar="mvn:org.apache.karaf.cellar/apache-karaf-cellar/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"
decanter="mvn:org.apache.karaf.decanter/apache-karaf-decanter/RELEASE/xml/features"
ecf="http://download.eclipse.org/rt/ecf/RELEASE/site.p2/karaf-features.xml"
eclipsesource-jaxrs="mvn:com.eclipsesource.jaxrs/features/RELEASE/xml/features"
enterprise="mvn:org.apache.karaf.features/enterprise/4.4.3/xml/features"
felix.fileinstall.filename="file:/openhab/userdata/etc/org.apache.karaf.features.repos.cfg"
hawtio="mvn:io.hawt/hawtio-karaf/RELEASE/xml/features"
hibernate="mvn:org.hibernate/hibernate-osgi/RELEASE/xml/karaf"
ignite="mvn:org.apache.ignite/ignite-osgi-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"
openjpa="mvn:org.apache.openjpa/openjpa-features/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-keycloak="mvn:org.ops4j.pax.keycloak/pax-keycloak-features/RELEASE/xml/features"
pax-transx="mvn:org.ops4j.pax.transx/pax-transx-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"
service.bundleLocation="?"
service.pid="org.apache.karaf.features.repos"
sling="mvn:org.apache.sling/org.apache.sling.karaf-features/RELEASE/xml/features"
spring="mvn:org.apache.karaf.features/spring/4.4.3/xml/features"
spring-legacy="mvn:org.apache.karaf.features/spring-legacy/4.4.3/xml/features"
wicket="mvn:org.ops4j.pax.wicket/features/RELEASE/xml/features"

View file

@ -0,0 +1,3 @@
:org.apache.felix.configadmin.revision:=L"1"
_felix_.cm.newConfiguration=B"true"
service.pid="org.apache.karaf.http"

View file

@ -0,0 +1,10 @@
:org.apache.felix.configadmin.revision:=L"1"
encryption.algorithm="SHA-256"
encryption.enabled="true"
encryption.encoding="hexadecimal"
encryption.name="basic"
encryption.prefix="{CRYPT}"
encryption.suffix="{CRYPT}"
felix.fileinstall.filename="file:/openhab/userdata/etc/org.apache.karaf.jaas.cfg"
service.bundleLocation="?"
service.pid="org.apache.karaf.jaas"

View file

@ -0,0 +1,7 @@
:org.apache.felix.configadmin.revision:=L"1"
felix.fileinstall.filename="file:/openhab/userdata/etc/org.apache.karaf.kar.cfg"
karStorage="/openhab/userdata/tmp/kar"
noAutoRefreshBundles="false"
noAutoStartBundles="false"
service.bundleLocation="?"
service.pid="org.apache.karaf.kar"

View file

@ -0,0 +1,6 @@
:org.apache.felix.configadmin.revision:=L"1"
felix.fileinstall.filename="file:/openhab/userdata/etc/org.apache.karaf.log.cfg"
pattern="%d{HH:mm:ss.SSS}\ [%-5.5p]\ [%-37.37c]\ -\ %h{%m}%n"
service.bundleLocation="?"
service.pid="org.apache.karaf.log"
size="500"

View file

@ -0,0 +1,13 @@
:org.apache.felix.configadmin.revision:=L"1"
completionMode="GLOBAL"
disableEofExit="false"
disableLogout="false"
felix.fileinstall.filename="file:/openhab/userdata/etc/org.apache.karaf.shell.cfg"
hostKey="/openhab/userdata/etc/host.key"
service.bundleLocation="?"
service.pid="org.apache.karaf.shell"
sftpEnabled="true"
sshHost="127.0.0.1"
sshIdleTimeout="1800000"
sshPort="8101"
sshRealm="karaf"

View file

@ -0,0 +1,7 @@
:org.apache.felix.configadmin.revision:=L"1"
asyncThreadPoolSize="30"
felix.fileinstall.filename="file:/openhab/userdata/etc/org.jupnp.cfg"
multicastResponsePort="0"
service.bundleLocation="?"
service.pid="org.jupnp"
threadPoolSize="15"

View file

@ -0,0 +1,3 @@
:org.apache.felix.configadmin.revision:=L"1"
_felix_.cm.newConfiguration=B"true"
service.pid="org.openhab.addons"

View file

@ -0,0 +1,5 @@
:org.apache.felix.configadmin.revision:=L"1"
defaultSink="enhancedjavasound"
felix.fileinstall.filename="file:/openhab/userdata/etc/org.openhab.audio.cfg"
service.bundleLocation="?"
service.pid="org.openhab.audio"

View file

@ -0,0 +1,3 @@
:org.apache.felix.configadmin.revision:=L"1"
sendOptimisticUpdates="true"
service.pid="org.openhab.autoupdate"

View file

@ -0,0 +1,3 @@
:org.apache.felix.configadmin.revision:=L"1"
_felix_.cm.newConfiguration=B"true"
service.pid="org.openhab.basicui"

View file

@ -0,0 +1,6 @@
:org.apache.felix.configadmin.revision:=L"1"
name="configWatcher"
path="/openhab/conf"
service.bundleLocation="?"
service.factoryPid="org.openhab.core.service.WatchService"
service.pid="org.openhab.core.service.WatchService.4c0ca031-fc00-41d8-8c46-4474cc442330"

View file

@ -0,0 +1,8 @@
:org.apache.felix.configadmin.revision:=L"1"
items="items"
persistence="persist"
rules="rules"
scripts="script"
service.pid="org.openhab.folder"
sitemaps="sitemap"
things="things"

View file

@ -0,0 +1,3 @@
:org.apache.felix.configadmin.revision:=L"1"
_felix_.cm.newConfiguration=B"true"
service.pid="org.openhab.rrd4j"

View file

@ -0,0 +1,3 @@
:org.apache.felix.configadmin.revision:=L"1"
_felix_.cm.newConfiguration=B"true"
service.pid="org.openhab.runtime"

View file

@ -0,0 +1,3 @@
:org.apache.felix.configadmin.revision:=L"1"
_felix_.cm.newConfiguration=B"true"
service.pid="org.openhab.services"

View file

@ -0,0 +1,8 @@
20="dsl:items,managed:item,dsl:things,managed:thing,managed:itemchannellink,dsl:persist,managed:metadata"
30="persistence:restore,automation:scriptEngineFactories"
40="dsl:rules,managed:rule,rules:refresh,rules:dslprovider"
50="ruleengine:start"
70="dsl:sitemap"
80="things:handler"
:org.apache.felix.configadmin.revision:=L"1"
service.pid="org.openhab.startlevel"

View file

@ -0,0 +1,5 @@
:org.apache.felix.configadmin.revision:=L"1"
discovery="5"
safeCall="10"
service.pid="org.openhab.threadpool"
thingHandler="5"

View file

@ -0,0 +1,5 @@
:org.apache.felix.configadmin.revision:=L"1"
defaultHLI="rulehli"
felix.fileinstall.filename="file:/openhab/userdata/etc/org.openhab.voice.cfg"
service.bundleLocation="?"
service.pid="org.openhab.voice"

View file

@ -0,0 +1,5 @@
:org.apache.felix.configadmin.revision:=L"1"
felix.fileinstall.filename="file:/openhab/userdata/etc/org.ops4j.pax.logging.cfg"
org.ops4j.pax.logging.log4j2.config.file="/openhab/userdata/etc/log4j2.xml"
service.bundleLocation="?"
service.pid="org.ops4j.pax.logging"

View file

@ -0,0 +1,17 @@
:org.apache.felix.configadmin.revision:=L"1"
felix.fileinstall.filename="file:/openhab/userdata/etc/org.ops4j.pax.url.mvn.cfg"
org.ops4j.pax.url.mvn.connection.bufferSize="8192"
org.ops4j.pax.url.mvn.connection.retryCount="3"
org.ops4j.pax.url.mvn.defaultRepositories="file:/openhab/runtime/system@id\=system.repository@snapshots,\ file:/openhab/userdata/tmp/kar@id\=kar.repository@multi@snapshots,\ file:/openhab/userdata/system@id\=child.system.repository@snapshots"
org.ops4j.pax.url.mvn.localRepository="/openhab/userdata/tmp/mvn"
org.ops4j.pax.url.mvn.repositories="https://openhab.jfrog.io/openhab/libs-release@id\=openhab"
org.ops4j.pax.url.mvn.socket.connectionTimeout="5000"
org.ops4j.pax.url.mvn.socket.keepAlive="false"
org.ops4j.pax.url.mvn.socket.linger="-1"
org.ops4j.pax.url.mvn.socket.readTimeout="30000"
org.ops4j.pax.url.mvn.socket.reuseAddress="false"
org.ops4j.pax.url.mvn.socket.tcpNoDelay="true"
org.ops4j.pax.url.mvn.timeout="5000"
org.ops4j.pax.url.mvn.useFallbackRepositories="false"
service.bundleLocation="?"
service.pid="org.ops4j.pax.url.mvn"

View file

@ -0,0 +1,13 @@
:org.apache.felix.configadmin.revision:=L"1"
felix.fileinstall.filename="file:/openhab/userdata/etc/org.ops4j.pax.web.cfg"
org.ops4j.pax.web.config.file="/openhab/runtime/etc/jetty.xml"
org.ops4j.pax.web.server.idleTimeout="300000"
org.ops4j.pax.web.server.maxThreads="50"
org.ops4j.pax.web.server.minThreads="2"
org.ops4j.pax.web.session.timeout="10"
org.ops4j.pax.web.ssl.clientauthneeded="false"
org.ops4j.pax.web.ssl.clientauthwanted="false"
org.osgi.service.http.secure.enabled="true"
org.osgi.service.http.useNIO="true"
service.bundleLocation="?"
service.pid="org.ops4j.pax.web"

View file

@ -0,0 +1 @@
org.openhab.addons="mvn:org.openhab.core.bundles/org.openhab.core.karaf/4.0.3"

View file

@ -0,0 +1,112 @@
:org.apache.felix.configadmin.revision:=L"1"
attribute.overlay="true"
attribute.parents="generated-startup\ generated-boot\ generated-installed"
feature.bundle="bundle"
feature.config="config"
feature.deployer="deployer"
feature.diagnostic="diagnostic"
feature.distro-kar/4.0.3="distro-kar/4.0.3"
feature.distro/4.0.3="distro/4.0.3"
feature.eventadmin="eventadmin"
feature.feature="feature"
feature.framework="framework"
feature.instance="instance"
feature.jaas="jaas"
feature.kar="kar"
feature.log="log"
feature.openhab-core-addon-marketplace/4.0.3="openhab-core-addon-marketplace/4.0.3"
feature.openhab-core-auth-jaas/4.0.3="openhab-core-auth-jaas/4.0.3"
feature.openhab-core-auth-oauth2client/4.0.3="openhab-core-auth-oauth2client/4.0.3"
feature.openhab-core-automation-module-media/4.0.3="openhab-core-automation-module-media/4.0.3"
feature.openhab-core-automation-module-script-rulesupport/4.0.3="openhab-core-automation-module-script-rulesupport/4.0.3"
feature.openhab-core-automation-module-script/4.0.3="openhab-core-automation-module-script/4.0.3"
feature.openhab-core-automation-rest/4.0.3="openhab-core-automation-rest/4.0.3"
feature.openhab-core-base/4.0.3="openhab-core-base/4.0.3"
feature.openhab-core-io-bin2json/4.0.3="openhab-core-io-bin2json/4.0.3"
feature.openhab-core-io-console-karaf/4.0.3="openhab-core-io-console-karaf/4.0.3"
feature.openhab-core-io-http-auth/4.0.3="openhab-core-io-http-auth/4.0.3"
feature.openhab-core-io-rest-audio/4.0.3="openhab-core-io-rest-audio/4.0.3"
feature.openhab-core-io-rest-auth/4.0.3="openhab-core-io-rest-auth/4.0.3"
feature.openhab-core-io-rest-log/4.0.3="openhab-core-io-rest-log/4.0.3"
feature.openhab-core-io-rest-mdns/4.0.3="openhab-core-io-rest-mdns/4.0.3"
feature.openhab-core-io-rest-sitemap/4.0.3="openhab-core-io-rest-sitemap/4.0.3"
feature.openhab-core-io-rest-swagger/4.0.3="openhab-core-io-rest-swagger/4.0.3"
feature.openhab-core-io-rest-transform/4.0.3="openhab-core-io-rest-transform/4.0.3"
feature.openhab-core-io-rest-voice/4.0.3="openhab-core-io-rest-voice/4.0.3"
feature.openhab-core-io-transport-coap/4.0.3="openhab-core-io-transport-coap/4.0.3"
feature.openhab-core-io-transport-http/4.0.3="openhab-core-io-transport-http/4.0.3"
feature.openhab-core-io-transport-mdns/4.0.3="openhab-core-io-transport-mdns/4.0.3"
feature.openhab-core-io-transport-modbus/4.0.3="openhab-core-io-transport-modbus/4.0.3"
feature.openhab-core-io-transport-mqtt/4.0.3="openhab-core-io-transport-mqtt/4.0.3"
feature.openhab-core-io-transport-serial-javacomm/4.0.3="openhab-core-io-transport-serial-javacomm/4.0.3"
feature.openhab-core-io-transport-upnp/4.0.3="openhab-core-io-transport-upnp/4.0.3"
feature.openhab-core-io-websocket/4.0.3="openhab-core-io-websocket/4.0.3"
feature.openhab-core-model-item-ide/4.0.3="openhab-core-model-item-ide/4.0.3"
feature.openhab-core-model-item/4.0.3="openhab-core-model-item/4.0.3"
feature.openhab-core-model-lsp/4.0.3="openhab-core-model-lsp/4.0.3"
feature.openhab-core-model-persistence-ide/4.0.3="openhab-core-model-persistence-ide/4.0.3"
feature.openhab-core-model-persistence/4.0.3="openhab-core-model-persistence/4.0.3"
feature.openhab-core-model-rule-ide/4.0.3="openhab-core-model-rule-ide/4.0.3"
feature.openhab-core-model-rule/4.0.3="openhab-core-model-rule/4.0.3"
feature.openhab-core-model-script-ide/4.0.3="openhab-core-model-script-ide/4.0.3"
feature.openhab-core-model-script/4.0.3="openhab-core-model-script/4.0.3"
feature.openhab-core-model-sitemap-ide/4.0.3="openhab-core-model-sitemap-ide/4.0.3"
feature.openhab-core-model-sitemap/4.0.3="openhab-core-model-sitemap/4.0.3"
feature.openhab-core-model-thing-ide/4.0.3="openhab-core-model-thing-ide/4.0.3"
feature.openhab-core-model-thing/4.0.3="openhab-core-model-thing/4.0.3"
feature.openhab-core-storage-json/4.0.3="openhab-core-storage-json/4.0.3"
feature.openhab-core-ui-icon/4.0.3="openhab-core-ui-icon/4.0.3"
feature.openhab-core-ui/4.0.3="openhab-core-ui/4.0.3"
feature.openhab-runtime-base="openhab-runtime-base"
feature.openhab-runtime-base/4.0.3="openhab-runtime-base/4.0.3"
feature.openhab-runtime-certificate/4.0.3="openhab-runtime-certificate/4.0.3"
feature.openhab-runtime-ui="openhab-runtime-ui"
feature.openhab-runtime-ui/4.0.3="openhab-runtime-ui/4.0.3"
feature.openhab-transport-coap/4.0.3="openhab-transport-coap/4.0.3"
feature.openhab-transport-http/4.0.3="openhab-transport-http/4.0.3"
feature.openhab-transport-mdns/4.0.3="openhab-transport-mdns/4.0.3"
feature.openhab-transport-modbus/4.0.3="openhab-transport-modbus/4.0.3"
feature.openhab-transport-mqtt/4.0.3="openhab-transport-mqtt/4.0.3"
feature.openhab-transport-serial/4.0.3="openhab-transport-serial/4.0.3"
feature.openhab-transport-upnp/4.0.3="openhab-transport-upnp/4.0.3"
feature.openhab.inc-model-core/4.0.3="openhab.inc-model-core/4.0.3"
feature.openhab.tp-asm/4.0.3="openhab.tp-asm/4.0.3"
feature.openhab.tp-base/4.0.3="openhab.tp-base/4.0.3"
feature.openhab.tp-coap/4.0.3="openhab.tp-coap/4.0.3"
feature.openhab.tp-commons-net/4.0.3="openhab.tp-commons-net/4.0.3"
feature.openhab.tp-cxf/4.0.3="openhab.tp-cxf/4.0.3"
feature.openhab.tp-gson/4.0.3="openhab.tp-gson/4.0.3"
feature.openhab.tp-hivemqclient/4.0.3="openhab.tp-hivemqclient/4.0.3"
feature.openhab.tp-httpclient/4.0.3="openhab.tp-httpclient/4.0.3"
feature.openhab.tp-jackson/4.0.3="openhab.tp-jackson/4.0.3"
feature.openhab.tp-jax-rs-whiteboard/4.0.3="openhab.tp-jax-rs-whiteboard/4.0.3"
feature.openhab.tp-jaxb/4.0.3="openhab.tp-jaxb/4.0.3"
feature.openhab.tp-jaxws/4.0.3="openhab.tp-jaxws/4.0.3"
feature.openhab.tp-jbbp/4.0.3="openhab.tp-jbbp/4.0.3"
feature.openhab.tp-jmdns/4.0.3="openhab.tp-jmdns/4.0.3"
feature.openhab.tp-jna/4.0.3="openhab.tp-jna/4.0.3"
feature.openhab.tp-jollyday/4.0.3="openhab.tp-jollyday/4.0.3"
feature.openhab.tp-jose4j/4.0.3="openhab.tp-jose4j/4.0.3"
feature.openhab.tp-jupnp/4.0.3="openhab.tp-jupnp/4.0.3"
feature.openhab.tp-lsp4j/4.0.3="openhab.tp-lsp4j/4.0.3"
feature.openhab.tp-netty/4.0.3="openhab.tp-netty/4.0.3"
feature.openhab.tp-serial-javacomm/4.0.3="openhab.tp-serial-javacomm/4.0.3"
feature.openhab.tp-serial-rxtx/4.0.3="openhab.tp-serial-rxtx/4.0.3"
feature.openhab.tp-swagger-jaxrs/4.0.3="openhab.tp-swagger-jaxrs/4.0.3"
feature.openhab.tp-xtext-ide/4.0.3="openhab.tp-xtext-ide/4.0.3"
feature.openhab.tp-xtext/4.0.3="openhab.tp-xtext/4.0.3"
feature.package="package"
feature.service="service"
feature.shell="shell"
feature.ssh="ssh"
feature.system="system"
feature.wrap="wrap"
feature.wrapper="wrapper"
felix.fileinstall.filename="file:/openhab/userdata/etc/profile.cfg"
repository.mvn:org.apache.karaf.features/framework/4.4.3/xml/features="mvn:org.apache.karaf.features/framework/4.4.3/xml/features"
repository.mvn:org.apache.karaf.features/standard/4.4.3/xml/features="mvn:org.apache.karaf.features/standard/4.4.3/xml/features"
repository.mvn:org.openhab.distro/distro-kar/4.0.3/xml/features="mvn:org.openhab.distro/distro-kar/4.0.3/xml/features"
repository.mvn:org.openhab.distro/distro/4.0.3/xml/features="mvn:org.openhab.distro/distro/4.0.3/xml/features"
repository.mvn:org.openhab.distro/openhab-addons/4.0.3/xml/features="mvn:org.openhab.distro/openhab-addons/4.0.3/xml/features"
service.bundleLocation="?"
service.pid="profile"

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,12 @@
welcome = \r\n\
\u001B[91m \u001B[97m _ _ _ ____ \u001B[0m\r\n\
\u001B[91m ___ ___ ___ ___ \u001B[97m| | | | / \\ | __ ) \u001B[0m\r\n\
\u001B[91m / _ \\ / _ \\ / _ \\ / _ \\ \u001B[97m| |_| | / _ \\ | _ \\ \u001B[0m\r\n\
\u001B[91m | (_) | (_) | __/| | | |\u001B[97m| _ | / ___ \\ | |_) )\u001B[0m\r\n\
\u001B[91m \\___/| __/ \\___/|_| |_|\u001B[97m|_| |_|/_/ \\_\\|____/ \u001B[0m\r\n\
\u001B[91m |_| \u001B[0m 4.0.3 - Release Build\u001B[0m\r\n\
\r\n\
Use '\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\
To exit, use '\u001B[1m<ctrl-d>\u001B[0m' or '\u001B[1mlogout\u001B[0m'.\r\n
prompt = \u001B[36mopenhab>\u001B[0m

View file

@ -0,0 +1,12 @@
welcome = \r\n\
\u001B[91m \u001B[97m _ _ _ ____ \u001B[0m\r\n\
\u001B[91m ___ ___ ___ ___ \u001B[97m| | | | / \\ | __ ) \u001B[0m\r\n\
\u001B[91m / _ \\ / _ \\ / _ \\ / _ \\ \u001B[97m| |_| | / _ \\ | _ \\ \u001B[0m\r\n\
\u001B[91m | (_) | (_) | __/| | | |\u001B[97m| _ | / ___ \\ | |_) )\u001B[0m\r\n\
\u001B[91m \\___/| __/ \\___/|_| |_|\u001B[97m|_| |_|/_/ \\_\\|____/ \u001B[0m\r\n\
\u001B[91m |_| \u001B[0m 4.0.3 - Release Build\u001B[0m\r\n\
\r\n\
Use '\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\
To exit, use '\u001B[1m<ctrl-d>\u001B[0m' or '\u001B[1mlogout\u001B[0m'.\r\n
prompt = \u001B[36mopenhab>\u001B[0m

View file

@ -0,0 +1,322 @@
################################################################################
#
# 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.18.0
karaf.framework.felix=mvn\:org.apache.felix/org.apache.felix.framework/7.0.5
#
# Framework config properties.
#
org.osgi.framework.system.packages= \
org.osgi.dto;version="1.1",\
org.osgi.resource;version="1.0",\
org.osgi.resource.dto;version="1.0";uses:="org.osgi.dto",\
org.osgi.framework;version="1.10",\
org.osgi.framework.dto;version="1.10";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.3";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.1";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.2";uses:="org.osgi.framework",\
org.apache.karaf.version;version="4.4.3",\
org.apache.karaf.jaas.boot.principal;uses:=javax.security.auth;version="4.4.3",\
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.4.3",\
org.apache.karaf.info;version="4.4.3",\
${jre-${java.specification.version}}
#
# Extra packages appended after standard packages
#
org.osgi.framework.system.packages.extra = \
org.apache.karaf.branding, \
sun.misc, \
com.sun.jmx.remote.protocol, \
com.sun.jmx.remote.protocol.jmxmp, \
org.apache.karaf.jaas.boot.principal;uses:=javax.security.auth;version=4.4.3, \
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.4.3, \
org.apache.karaf.diagnostic.core;uses:=org.osgi.framework;version=4.4.3, \
org.apache.karaf.diagnostic.core.common;uses:=org.apache.karaf.diagnostic.core;version=4.4.3
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-18 = 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,13.0,14.0,15.0,16.0,17.0,18.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,13.0,14.0,15.0,16.0,17.0,18.0", \
osgi.ee; osgi.ee="JavaSE/compact2"; version:List<Version>="1.8,9.0,10.0,11.0,13.0,14.0,15.0,16.0,17.0,18.0", \
osgi.ee; osgi.ee="JavaSE/compact3"; version:List<Version>="1.8,9.0,10.0,11.0,13.0,14.0,15.0,16.0,17.0,18.0"
eecap-17 = 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,13.0,14.0,15.0,16.0,17.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,13.0,14.0,15.0,16.0,17.0", \
osgi.ee; osgi.ee="JavaSE/compact2"; version:List<Version>="1.8,9.0,10.0,11.0,13.0,14.0,15.0,16.0,17.0", \
osgi.ee; osgi.ee="JavaSE/compact3"; version:List<Version>="1.8,9.0,10.0,11.0,13.0,14.0,15.0,16.0,17.0"
eecap-16 = 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,13.0,14.0,15.0,16.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,13.0,14.0,15.0,16.0", \
osgi.ee; osgi.ee="JavaSE/compact2"; version:List<Version>="1.8,9.0,10.0,11.0,13.0,14.0,15.0,16.0", \
osgi.ee; osgi.ee="JavaSE/compact3"; version:List<Version>="1.8,9.0,10.0,11.0,13.0,14.0,15.0,16.0"
eecap-15 = 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,13.0,14.0,15.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,13.0,14.0,15.0", \
osgi.ee; osgi.ee="JavaSE/compact2"; version:List<Version>="1.8,9.0,10.0,11.0,13.0,14.0,15.0", \
osgi.ee; osgi.ee="JavaSE/compact3"; version:List<Version>="1.8,9.0,10.0,11.0,13.0,14.0,15.0"
eecap-14 = 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,13.0,14.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,13.0,14.0", \
osgi.ee; osgi.ee="JavaSE/compact2"; version:List<Version>="1.8,9.0,10.0,11.0,13.0,14.0", \
osgi.ee; osgi.ee="JavaSE/compact3"; version:List<Version>="1.8,9.0,10.0,11.0,13.0,14.0"
eecap-13 = 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,13.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,13.0", \
osgi.ee; osgi.ee="JavaSE/compact2"; version:List<Version>="1.8,9.0,10.0,11.0,13.0", \
osgi.ee; osgi.ee="JavaSE/compact3"; version:List<Version>="1.8,9.0,10.0,11.0,13.0"
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 ONLY for com.sun.corba.se.impl.javax.rmi.CORBA.Util.mapSystemException().
# JDK8 and earlier provide only 3 exception classes in this package, so full JTA API bundles should always try the
# bootdelegation first - even if they also package (and export) javax.transaction package
#
# boot delegation of javax.transaction.xa is needed to avoid class loader constraint violation when using javax.sql
# and this package is always complete in all JDKs
#
# javax.security.cert is needed by pax-transx-tm-narayana as it uses URLClassLoader and otherwise is unable to create
# object store.
#
org.osgi.framework.bootdelegation = \
com.sun.*, \
javax.transaction, \
javax.transaction.xa, \
javax.xml.crypto, \
javax.xml.crypto.*, \
javax.security.cert, \
jdk.nashorn.*, \
sun.*, \
jdk.internal.reflect, \
jdk.internal.reflect.*, \
org.apache.karaf.jaas.boot.principal, \
org.apache.karaf.jaas.boot
# 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 secrets file location
#
org.apache.felix.configadmin.plugin.interpolation.secretsdir=${karaf.etc}
#
# Configuration FileMonitor properties
#
felix.fileinstall.enableConfigSave = true
felix.fileinstall.dir = ${karaf.etc}
felix.fileinstall.filter = .*\\.(cfg|config|json)
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 = 3671966a-c132-484c-b14d-9dfe27d34b1b
#
# 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.log}/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,7 @@
karaf.name=openhab
karaf.local.user=openhab
openhab.servicecfg=${openhab.runtime}/services.cfg
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.4.3
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

View file

@ -0,0 +1,35 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<!--
Copyright 2022 OPS4J.
Licensed 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_3.dtd">
<!--
The only working way to configure a context in pax-web-jetty is to:
- put WEB-INF/jetty-web.xml or WEB-INF/web-jetty.xml into the WAB/WAR, or
- put it into know location and configure org.ops4j.pax.web.context.file option
- use root element <Configure> with id="Context", as that's the ID under which we can find an instance
of org.ops4j.pax.web.service.jetty.internal.PaxWebServletContextHandler
-->
<Configure id="Context">
<!--
<Set name="virtualHosts">
<Array type="java.lang.String">
<Item>localhost</Item>
</Array>
</Set>
-->
</Configure>

View file

@ -0,0 +1,135 @@
<?xml version="1.0"?>
<!--
Copyright 2021 OPS4J.
Licensed 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_3.dtd">
<!-- Object named "Server" of org.eclipse.jetty.server.Server class is configured by pax-web-jetty -->
<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>
-->
<!-- Uncomment these two elements to enable GZIP compression -->
<!-- https://www.eclipse.org/jetty/javadoc/jetty-9/org/eclipse/jetty/server/handler/gzip/GzipHandler.html -->
<!--
<Get id="OrigHandler" name="handler" />
<Set name="handler">
<New id="GzipHandler" class="org.eclipse.jetty.server.handler.gzip.GzipHandler">
<Set name="handler">
<Ref refid="OrigHandler" />
</Set>
</New>
</Set>
-->
<!-- =========================================================== -->
<!-- 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

View file

@ -0,0 +1,503 @@
################################################################################
#
# 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.
#
# Contains java.* packages provided by the JDK (and so system packages)
jre-base= \
java.applet, \
java.awt, \
java.awt.color, \
java.awt.datatransfer, \
java.awt.dnd, \
java.awt.event, \
java.awt.font, \
java.awt.geom, \
java.awt.im, \
java.awt.im.spi, \
java.awt.image, \
java.awt.image.renderable, \
java.awt.print, \
java.beans, \
java.beans.beancontext, \
java.io, \
java.lang, \
java.lang.annotation, \
java.lang.constant, \
java.lang.instrument, \
java.lang.invoke, \
java.lang.management, \
java.lang.ref, \
java.lang.reflect, \
java.lang.runtime, \
java.math, \
java.net, \
java.net.http, \
java.nio, \
java.nio.channels, \
java.nio.channels.spi, \
java.nio.charset, \
java.nio.charset.spi, \
java.nio.file, \
java.nio.file.attribute, \
java.rmi, \
java.rmi.activation, \
java.rmi.dgc, \
java.rmi.registry, \
java.rmi.server, \
java.security, \
java.security.acl, \
java.security.cert, \
java.security.interfaces, \
java.security.spec, \
java.sql, \
java.text, \
java.text.spi, \
java.time, \
java.time.chrono, \
java.time.format, \
java.time.temporal, \
java.time.zone, \
java.util, \
java.util.concurrent, \
java.util.concurrent.atomic, \
java.util.concurrent.locks, \
java.util.function, \
java.util.random, \
java.util.jar, \
java.util.logging, \
java.util.prefs, \
java.util.regex, \
java.util.spi, \
java.util.stream, \
java.util.zip
#
# A note about javax.transaction and javax.transaction.xa packages in JDK8 and JDK9+
# - javax.transaction package is not provided at all in JDK9+ because of the removal of Corba
# - javax.transaction package in JDK8 and earlier contains only 3 exception classes required to translate 3 Corba/OMG
# exception: org.omg.CORBA.TRANSACTION_REQUIRED, org.omg.CORBA.TRANSACTION_ROLLEDBACK, org.omg.CORBA.INVALID_TRANSACTION
# - javax.transaction.xa package should always be provided by JDK itself (thus exported from system bundle and bootdelegated)
# because of javax.sql.XAConnection interface relying on javax.sql.xa.XAResource interface
# - I decided to export javax.transaction.xa package with all the versions: 1.1, 1.2 and 1.3 just to satisfy all potential
# import version ranges (and emphasize the fact that JavaEE doesn't version packages at all)
# - javax.transaction package should be exported by JDK8 (but not JDK9+) with mandatory attribute ("partial" is an
# arbirtary name mentioned in "https://docs.osgi.org/specification/osgi.core/7.0.0/framework.module.html#framework.module.requirebundle"
# - javax.transaction exported with "partial=true;mandatory:=partial" prevents system bundle to be a wire candidate for
# bundles with just "Import-Package: javax.transaction" - actual JTA API bundle is needed to provide all the classes
# from this package (like javax.transaction.UserTransaction)
# - thus javax.transaction package is exported without a version - because each bundle with "Import-Package: javax.transaction"
# should always wire to full JTA API bundle. The fact that the JDK8 provided exception classes from this package
# are always loaded using boot class loader is an obvious, but internal consequence
# - the full trick mentioned in "3.13.1 Require-Bundle" requires another bundle that exports javax.transaction package
# without mandatory attribute and that has Require-Bundle requirement to a bundle that exports the package with mandatory
# attribute - and that's what javax.transaction/javax.transaction-api/1.2 does - it contains "Require-Bundle: system.bundle"
# - Require-Bundle in JTA API bundle is not needed if javax.transaction is boot-delegated - because failure to search
# boot-delegated javax.* packages doesn't stop the class loading process - local content is checked
# - jakarta.transaction/jakarta.transaction-api/1.3.x doesn't have (by mistake, see https://github.com/eclipse-ee4j/jta-api/issues/186)
# "Require-Bundle: system.bundle", but it still works thanks to boot-delegation
# And last, but important thing - DBCP2 (see DBCP-571) has "Import-Package: javax.transaction.xa;partial=true;mandatory:=partial"
# which is simply wrong (if anything, javax.transaction package should be imported this way, not javax.transaction.xa),
# but to allow DBCP2 to be resolved on Karaf, special export package is added just for DBCP2:
# Export-Package: javax.transaction.xa;partial=true;mandatory:=partial;version="1.1"
# - mandatory "partial" attribute is added to javax.transaction export (JDK8) to prevent wiring to this package without
# full JTA API bundle
# - mandatory "partial" attribute is added to javax.transaction.xa export (all JDKs) to satisfy DBCP2
#
jre-1.8= \
${jre-base}, \
javax.accessibility, \
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;partial=true;mandatory:=partial, \
javax.transaction.xa;version="1.1";partial=true;mandatory:=partial, \
javax.transaction.xa;version="1.1", \
javax.transaction.xa;version="1.2", \
javax.transaction.xa;version="1.3", \
javax.xml, \
javax.xml.bind;version="2.2.8", \
javax.xml.bind.annotation;version="2.2.8", \
javax.xml.bind.annotation.adapters;version="2.2.8", \
javax.xml.bind.attachment;version="2.2.8", \
javax.xml.bind.helpers;version="2.2.8", \
javax.xml.bind.util;version="2.2.8", \
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.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= \
${jre-base}, \
java.lang.module, \
java.net.spi, \
javax.accessibility, \
javax.activity, \
javax.annotation;version="1.3", \
javax.annotation.processing;version="1.0", \
javax.activation;version="1.2.1", \
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.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.xa;version="1.1";partial=true;mandatory:=partial, \
javax.transaction.xa;version="1.1", \
javax.transaction.xa;version="1.2", \
javax.transaction.xa;version="1.3", \
javax.xml, \
javax.xml.bind;version="2.3.0", \
javax.xml.bind.annotation;version="2.3.0", \
javax.xml.bind.annotation.adapters;version="2.3.0", \
javax.xml.bind.attachment;version="2.3.0", \
javax.xml.bind.helpers;version="2.3.0", \
javax.xml.bind.util;version="2.3.0", \
javax.xml.catalog, \
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.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.security.sasl, \
com.sun.security.sasl.digest, \
com.sun.security.sasl.ntlm, \
com.sun.security.sasl.util
jre-10 = ${jre-9}
jre-11 = ${jre-10}
jre-12 = ${jre-11}
jre-13 = ${jre-12}
jre-14 = ${jre-13}
jre-15 = ${jre-14}
jre-16 = ${jre-15}
jre-17 = ${jre-16}
jre-18 = ${jre-17}
jre-19 = ${jre-18}

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"..
#
#
# This is an example of how to associate a public key with a user.
# 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,ssh

Binary file not shown.

View file

@ -0,0 +1,135 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?><Configuration monitorInterval="10">
<Appenders>
<!-- Console appender not used by default (see Root logger AppenderRefs) -->
<Console name="STDOUT">
<PatternLayout pattern="%d{HH:mm:ss.SSS} [%-5.5p] [%-36.36c] - %m%n"/>
</Console>
<!-- Rolling file appender -->
<RollingFile fileName="${sys:openhab.logdir}/openhab.log" filePattern="${sys:openhab.logdir}/openhab.log.%i.gz" name="LOGFILE">
<PatternLayout pattern="%d{yyyy-MM-dd HH:mm:ss.SSS} [%-5.5p] [%-36.36c] - %m%n"/>
<Policies>
<OnStartupTriggeringPolicy/>
<SizeBasedTriggeringPolicy size="16 MB"/>
</Policies>
<DefaultRolloverStrategy max="7"/>
</RollingFile>
<!-- Event log appender -->
<RollingRandomAccessFile fileName="${sys:openhab.logdir}/events.log" filePattern="${sys:openhab.logdir}/events.log.%i.gz" name="EVENT">
<PatternLayout pattern="%d{yyyy-MM-dd HH:mm:ss.SSS} [%-5.5p] [%-36.36c] - %m%n"/>
<Policies>
<OnStartupTriggeringPolicy/>
<SizeBasedTriggeringPolicy size="16 MB"/>
</Policies>
<DefaultRolloverStrategy max="7"/>
</RollingRandomAccessFile>
<!-- Audit file appender -->
<RollingRandomAccessFile fileName="${sys:openhab.logdir}/audit.log" filePattern="${sys:openhab.logdir}/audit.log.%i.gz" name="AUDIT">
<PatternLayout pattern="%d{yyyy-MM-dd HH:mm:ss.SSS} [%-5.5p] [%-36.36c] - %m%n"/>
<Policies>
<OnStartupTriggeringPolicy/>
<SizeBasedTriggeringPolicy size="8 MB"/>
</Policies>
<DefaultRolloverStrategy max="7"/>
</RollingRandomAccessFile>
<!-- OSGi appender -->
<PaxOsgi filter="*" name="OSGI"/>
</Appenders>
<Loggers>
<!-- Root logger configuration -->
<Root level="WARN">
<AppenderRef ref="LOGFILE"/>
<AppenderRef ref="OSGI"/>
</Root>
<!-- Karaf Shell logger -->
<Logger level="OFF" name="org.apache.karaf.shell.support">
<AppenderRef ref="STDOUT"/>
</Logger>
<!-- Security audit logger -->
<Logger additivity="false" level="INFO" name="org.apache.karaf.jaas.modules.audit">
<AppenderRef ref="AUDIT"/>
</Logger>
<!-- openHAB specific logger configuration -->
<Logger level="INFO" name="org.openhab"/>
<Logger level="ERROR" name="openhab.event.ItemStateEvent"/>
<Logger level="ERROR" name="openhab.event.ItemStateUpdatedEvent"/>
<Logger level="ERROR" name="openhab.event.GroupStateUpdatedEvent"/>
<Logger level="ERROR" name="openhab.event.ItemAddedEvent"/>
<Logger level="ERROR" name="openhab.event.ItemRemovedEvent"/>
<Logger level="ERROR" name="openhab.event.ItemChannelLinkAddedEvent"/>
<Logger level="ERROR" name="openhab.event.ItemChannelLinkRemovedEvent"/>
<Logger level="ERROR" name="openhab.event.ChannelDescriptionChangedEvent"/>
<Logger level="ERROR" name="openhab.event.ThingStatusInfoEvent"/>
<Logger level="ERROR" name="openhab.event.ThingAddedEvent"/>
<Logger level="ERROR" name="openhab.event.ThingUpdatedEvent"/>
<Logger level="ERROR" name="openhab.event.ThingRemovedEvent"/>
<Logger level="ERROR" name="openhab.event.InboxUpdatedEvent"/>
<Logger level="ERROR" name="openhab.event.RuleStatusInfoEvent"/>
<Logger level="ERROR" name="openhab.event.RuleAddedEvent"/>
<Logger level="ERROR" name="openhab.event.RuleRemovedEvent"/>
<Logger level="ERROR" name="openhab.event.StartlevelEvent"/>
<Logger level="ERROR" name="openhab.event.AddonEvent"/>
<Logger additivity="false" level="INFO" name="openhab.event">
<AppenderRef ref="EVENT"/>
<AppenderRef ref="OSGI"/>
</Logger>
<Logger level="ERROR" name="javax.jmdns"/>
<Logger level="ERROR" name="org.jupnp"/>
<!-- This suppresses all Maven download issues from the log when doing feature installations -->
<!-- as we are logging errors ourselves in a nicer way anyhow. -->
<Logger level="ERROR" name="org.ops4j.pax.url.mvn.internal.AetherBasedResolver"/>
<!-- Filters known issues of pax-web (issue link to be added here). -->
<!-- Can be removed once the issues are resolved in an upcoming version. -->
<Logger level="OFF" name="org.ops4j.pax.web.pax-web-runtime"/>
<!-- 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. -->
<Logger level="OFF" name="org.eclipse.lsp4j"/>
<!-- Filters warnings for events that could not be delivered to a disconnected client. -->
<Logger level="ERROR" name="org.apache.cxf.jaxrs.sse.SseEventSinkImpl"/>
<!-- Filters warnings from broken connections during startup -->
<!-- https://github.com/openhab/openhab-core/issues/2998 -->
<Logger level="ERROR" name="org.apache.cxf.phase.PhaseInterceptorChain"/>
<!-- 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. -->
<Logger level="ERROR" name="org.apache.karaf.kar.internal.KarServiceImpl"/>
<!-- Filters warnings about unavailable ciphers when JCE is not installed, see -->
<!-- https://github.com/openhab/openhab-distro/issues/999 -->
<Logger level="ERROR" name="org.apache.karaf.shell.ssh.SshUtils"/>
<!-- Filters known issues of javax.mail, see -->
<!-- https://github.com/openhab/openhab-addons/issues/5530 -->
<Logger level="ERROR" name="javax.mail"/>
<!-- Filters disconnection warnings of the ChromeCast Java API, see -->
<!-- https://github.com/openhab/openhab-addons/issues/3770 -->
<Logger level="ERROR" name="su.litvak.chromecast.api.v2.Channel"/>
<!-- Added by Karaf to prevent debug logging loops, see -->
<!-- https://issues.apache.org/jira/browse/KARAF-5559 -->
<Logger level="WARN" name="org.apache.sshd"/>
</Loggers>
</Configuration>

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,13 @@
## 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.filter = .*\\.(jar|kar)
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,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 feature subshell
#
install = admin
uninstall = admin
start = admin
stop = 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,100 @@
################################################################################
#
# 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/4.0.3/xml/features, \
mvn:org.openhab.distro/openhab-addons/4.0.3/xml/features, \
mvn:org.apache.karaf.features/framework/4.4.3/xml/features, \
mvn:org.apache.karaf.features/standard/4.4.3/xml/features
#
# Comma separated list of features to install at startup
#
featuresBoot = \
instance/4.4.3, \
package/4.4.3, \
log/4.4.3, \
ssh/4.4.3, \
framework/4.4.3, \
system/4.4.3, \
eventadmin/4.4.3, \
feature/4.4.3, \
shell/4.4.3, \
service/4.4.3, \
jaas/4.4.3, \
openhab-runtime-base, \
openhab-runtime-ui, \
deployer/4.4.3, \
diagnostic/4.4.3, \
bundle/4.4.3, \
config/4.4.3, \
kar/4.4.3
#
# 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
#
# Define if the feature service automatically refresh bundles
#
autoRefresh=true
#
# Configuration of features processing mechanism (overrides, blacklisting, modification of features)
# XML file defines instructions related to features processing
# versions.properties may declare properties to resolve placeholders in XML file
# both files are relative to ${karaf.etc}
#
#featureProcessing=org.apache.karaf.features.xml
#featureProcessingVersions=versions.properties

View file

@ -0,0 +1,62 @@
################################################################################
#
# 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
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
aries.jax.rs.whiteboard=mvn:org.apache.aries.jax.rs/org.apache.aries.jax.rs.features/RELEASE/xml
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-cdi=mvn:org.apache.aries.cdi/aries-cdi-feature/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,22 @@
<?xml version="1.0" encoding="UTF-8"?>
<featuresProcessing xmlns="http://karaf.apache.org/xmlns/features-processing/v1.0.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.
-->
<!-- you can eventually blacklist features repositories, features, or even bundle here, to exclude from resolution -->
<!-- <blacklistRepositories/> -->
</featuresProcessing>

View file

@ -0,0 +1,48 @@
## 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:
# basic/jasypt: MD2, MD5, SHA-1, SHA-256, SHA-384, SHA-512
# spring-security-crypto: argon2, bcrypt, pbkdf2, scrypt
#
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
# basic: the default encryption service which digests passwords without
# salting them
# jasypt: a more powerful alternative which supports salting
# spring-security-crypto: Supports bcrypt, argon2, pbkdf2, scrypt. Requires
# the "spring-security-crypto-encryption" feature
# to be installed.
#
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] - %h{%m}%n

View file

@ -0,0 +1,152 @@
################################################################################
#
# 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
#
# Define the number of the NIO workers for the sshd server. Default is 2.
#
#nio-workers = 2
#
# Define the maximum number of SSH sessions. Default is unlimited.
#
#max-concurrent-sessions = -1
#
# 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 key of the server
# is located. If no file is at the defined location it will be ignored.
#
hostKey = ${karaf.etc}/host.key
#
# The password required to decrypt the private key of the server stored in
# 'hostKey'. This is not required if the private key stored in 'hostKey' is
# not encrypted
#
#hostKeyPassword =
#
# The location of the hostKeyPub file defines where the public key of the server
# is located. If no file is at the defined location it will be ignored.
#
#hostKeyPub = ${karaf.etc}/host.key.pub
#
# 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
# If set to true, shell:logout command will not exit Karaf. This can be useful to avoid accidental exits.
# You will be able to exit via 'shutdown' or 'halt' instead.
disableLogout = false
# If set to true, it will stop CTRL-D from exiting Karaf. This can be useful to avoid accidental exits.
# You will be able to exit via 'shutdown' or 'halt' instead.
disableEofExit = false
#
# Override allowed SSH cipher algorithms.
# Default: aes256-ctr,aes192-ctr,aes128-ctr
#
# ciphers = aes256-ctr,aes192-ctr,aes128-ctr
#
# Override allowed SSH HMAC algorithms.
# Default: hmac-sha2-512,hmac-sha2-256
#
# macs = hmac-sha2-512,hmac-sha2-256
#
# Override allowed SSH key exchange algorithms.
# Default: ecdh-sha2-nistp521,ecdh-sha2-nistp384,ecdh-sha2-nistp256,diffie-hellman-group-exchange-sha256
#
# kexAlgorithms = ecdh-sha2-nistp521,ecdh-sha2-nistp384,ecdh-sha2-nistp256,diffie-hellman-group-exchange-sha256
#
# 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,3 @@
multicastResponsePort=0
asyncThreadPoolSize=30
threadPoolSize=15

View file

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

View file

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

View file

@ -0,0 +1 @@
org.ops4j.pax.logging.log4j2.config.file=${karaf.etc}/log4j2.xml

View file

@ -0,0 +1,120 @@
#
# 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_latest_/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 https://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 snapshots
# @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:
# https://repo1.maven.org/maven2@id=central
# https://repository.apache.org/content/groups/snapshots-group@id=apache@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 and default repositories.
#
org.ops4j.pax.url.mvn.repositories= \
https://openhab.jfrog.io/openhab/libs-release@id=openhab
#
# Global policies override repository-specific settings (@checksum=..., @update=..., @releasesUpdate=..., ...)
#
#org.ops4j.pax.url.mvn.globalUpdatePolicy = daily
#org.ops4j.pax.url.mvn.globalChecksumPolicy = warn
#
# socket and connection configuration (pax-url-aether 2.5.0)
#
# default value for connection and read timeouts, when socket.readTimeout and socket.connectionTimeout
# are not specified
org.ops4j.pax.url.mvn.timeout = 5000
# timeout in ms when establishing http connection during artifact resolution
org.ops4j.pax.url.mvn.socket.connectionTimeout = 5000
# timeout in ms when reading data after connecting to remote repository
org.ops4j.pax.url.mvn.socket.readTimeout = 30000
# SO_KEEPALIVE option for sockets, defaults to false
org.ops4j.pax.url.mvn.socket.keepAlive = false
# SO_LINGER option for sockets, defaults to -1
org.ops4j.pax.url.mvn.socket.linger = -1
# SO_REUSEADDR option for sockets, defaults to false
org.ops4j.pax.url.mvn.socket.reuseAddress = false
# TCP_NODELAY option for sockets, defaults to true
org.ops4j.pax.url.mvn.socket.tcpNoDelay = true
# Configure buffer size for HTTP connections (output and input buffers), defaults to 8192 bytes
org.ops4j.pax.url.mvn.connection.bufferSize = 8192
# Number of connection retries after failure is detected in http client. httpclient uses default value "3"
org.ops4j.pax.url.mvn.connection.retryCount = 3

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,119 @@
#
# 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.4.3/xml/features = mvn:org.apache.karaf.features/standard/4.4.3/xml/features
repository.mvn\:org.apache.karaf.features/framework/4.4.3/xml/features = mvn:org.apache.karaf.features/framework/4.4.3/xml/features
repository.mvn\:org.openhab.distro/distro/4.0.3/xml/features = mvn:org.openhab.distro/distro/4.0.3/xml/features
repository.mvn\:org.openhab.distro/openhab-addons/4.0.3/xml/features = mvn:org.openhab.distro/openhab-addons/4.0.3/xml/features
repository.mvn\:org.openhab.distro/distro-kar/4.0.3/xml/features = mvn:org.openhab.distro/distro-kar/4.0.3/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.openhab-runtime-ui = openhab-runtime-ui
feature.wrapper = wrapper
feature.wrap = wrap
feature.openhab-runtime-ui/4.0.3 = openhab-runtime-ui/4.0.3
feature.openhab-core-base/4.0.3 = openhab-core-base/4.0.3
feature.openhab-core-addon-marketplace/4.0.3 = openhab-core-addon-marketplace/4.0.3
feature.openhab-core-auth-jaas/4.0.3 = openhab-core-auth-jaas/4.0.3
feature.openhab-core-auth-oauth2client/4.0.3 = openhab-core-auth-oauth2client/4.0.3
feature.openhab-core-automation-module-script/4.0.3 = openhab-core-automation-module-script/4.0.3
feature.openhab-core-automation-module-script-rulesupport/4.0.3 = openhab-core-automation-module-script-rulesupport/4.0.3
feature.openhab-core-automation-module-media/4.0.3 = openhab-core-automation-module-media/4.0.3
feature.openhab-core-automation-rest/4.0.3 = openhab-core-automation-rest/4.0.3
feature.openhab-core-io-bin2json/4.0.3 = openhab-core-io-bin2json/4.0.3
feature.openhab-core-io-console-karaf/4.0.3 = openhab-core-io-console-karaf/4.0.3
feature.openhab-core-io-http-auth/4.0.3 = openhab-core-io-http-auth/4.0.3
feature.openhab-core-io-rest-auth/4.0.3 = openhab-core-io-rest-auth/4.0.3
feature.openhab-core-io-rest-log/4.0.3 = openhab-core-io-rest-log/4.0.3
feature.openhab-core-io-rest-sitemap/4.0.3 = openhab-core-io-rest-sitemap/4.0.3
feature.openhab-core-io-rest-swagger/4.0.3 = openhab-core-io-rest-swagger/4.0.3
feature.openhab-core-io-rest-audio/4.0.3 = openhab-core-io-rest-audio/4.0.3
feature.openhab-core-io-rest-transform/4.0.3 = openhab-core-io-rest-transform/4.0.3
feature.openhab-core-io-rest-voice/4.0.3 = openhab-core-io-rest-voice/4.0.3
feature.openhab-core-io-rest-mdns/4.0.3 = openhab-core-io-rest-mdns/4.0.3
feature.openhab-core-io-websocket/4.0.3 = openhab-core-io-websocket/4.0.3
feature.openhab-core-io-transport-coap/4.0.3 = openhab-core-io-transport-coap/4.0.3
feature.openhab-core-io-transport-http/4.0.3 = openhab-core-io-transport-http/4.0.3
feature.openhab-core-io-transport-mdns/4.0.3 = openhab-core-io-transport-mdns/4.0.3
feature.openhab-core-io-transport-modbus/4.0.3 = openhab-core-io-transport-modbus/4.0.3
feature.openhab-core-io-transport-mqtt/4.0.3 = openhab-core-io-transport-mqtt/4.0.3
feature.openhab-core-io-transport-serial-javacomm/4.0.3 = openhab-core-io-transport-serial-javacomm/4.0.3
feature.openhab-core-io-transport-upnp/4.0.3 = openhab-core-io-transport-upnp/4.0.3
feature.openhab.inc-model-core/4.0.3 = openhab.inc-model-core/4.0.3
feature.openhab-core-model-item/4.0.3 = openhab-core-model-item/4.0.3
feature.openhab-core-model-item-ide/4.0.3 = openhab-core-model-item-ide/4.0.3
feature.openhab-core-model-persistence/4.0.3 = openhab-core-model-persistence/4.0.3
feature.openhab-core-model-persistence-ide/4.0.3 = openhab-core-model-persistence-ide/4.0.3
feature.openhab-core-model-rule/4.0.3 = openhab-core-model-rule/4.0.3
feature.openhab-core-model-rule-ide/4.0.3 = openhab-core-model-rule-ide/4.0.3
feature.openhab-core-model-script/4.0.3 = openhab-core-model-script/4.0.3
feature.openhab-core-model-script-ide/4.0.3 = openhab-core-model-script-ide/4.0.3
feature.openhab-core-model-sitemap/4.0.3 = openhab-core-model-sitemap/4.0.3
feature.openhab-core-model-sitemap-ide/4.0.3 = openhab-core-model-sitemap-ide/4.0.3
feature.openhab-core-model-thing/4.0.3 = openhab-core-model-thing/4.0.3
feature.openhab-core-model-thing-ide/4.0.3 = openhab-core-model-thing-ide/4.0.3
feature.openhab-core-model-lsp/4.0.3 = openhab-core-model-lsp/4.0.3
feature.openhab-core-storage-json/4.0.3 = openhab-core-storage-json/4.0.3
feature.openhab-core-ui/4.0.3 = openhab-core-ui/4.0.3
feature.openhab-core-ui-icon/4.0.3 = openhab-core-ui-icon/4.0.3
feature.openhab-runtime-base/4.0.3 = openhab-runtime-base/4.0.3
feature.openhab-runtime-certificate/4.0.3 = openhab-runtime-certificate/4.0.3
feature.openhab-transport-coap/4.0.3 = openhab-transport-coap/4.0.3
feature.openhab-transport-http/4.0.3 = openhab-transport-http/4.0.3
feature.openhab-transport-mdns/4.0.3 = openhab-transport-mdns/4.0.3
feature.openhab-transport-modbus/4.0.3 = openhab-transport-modbus/4.0.3
feature.openhab-transport-mqtt/4.0.3 = openhab-transport-mqtt/4.0.3
feature.openhab-transport-serial/4.0.3 = openhab-transport-serial/4.0.3
feature.openhab-transport-upnp/4.0.3 = openhab-transport-upnp/4.0.3
feature.openhab.tp-base/4.0.3 = openhab.tp-base/4.0.3
feature.openhab.tp-coap/4.0.3 = openhab.tp-coap/4.0.3
feature.openhab.tp-commons-net/4.0.3 = openhab.tp-commons-net/4.0.3
feature.openhab.tp-gson/4.0.3 = openhab.tp-gson/4.0.3
feature.openhab.tp-hivemqclient/4.0.3 = openhab.tp-hivemqclient/4.0.3
feature.openhab.tp-httpclient/4.0.3 = openhab.tp-httpclient/4.0.3
feature.openhab.tp-jackson/4.0.3 = openhab.tp-jackson/4.0.3
feature.openhab.tp-asm/4.0.3 = openhab.tp-asm/4.0.3
feature.openhab.tp-jax-rs-whiteboard/4.0.3 = openhab.tp-jax-rs-whiteboard/4.0.3
feature.openhab.tp-jna/4.0.3 = openhab.tp-jna/4.0.3
feature.openhab.tp-cxf/4.0.3 = openhab.tp-cxf/4.0.3
feature.openhab.tp-jbbp/4.0.3 = openhab.tp-jbbp/4.0.3
feature.openhab.tp-netty/4.0.3 = openhab.tp-netty/4.0.3
feature.openhab.tp-jaxb/4.0.3 = openhab.tp-jaxb/4.0.3
feature.openhab.tp-jaxws/4.0.3 = openhab.tp-jaxws/4.0.3
feature.openhab.tp-jollyday/4.0.3 = openhab.tp-jollyday/4.0.3
feature.openhab.tp-jmdns/4.0.3 = openhab.tp-jmdns/4.0.3
feature.openhab.tp-jose4j/4.0.3 = openhab.tp-jose4j/4.0.3
feature.openhab.tp-jupnp/4.0.3 = openhab.tp-jupnp/4.0.3
feature.openhab.tp-lsp4j/4.0.3 = openhab.tp-lsp4j/4.0.3
feature.openhab.tp-serial-javacomm/4.0.3 = openhab.tp-serial-javacomm/4.0.3
feature.openhab.tp-serial-rxtx/4.0.3 = openhab.tp-serial-rxtx/4.0.3
feature.openhab.tp-xtext/4.0.3 = openhab.tp-xtext/4.0.3
feature.openhab.tp-xtext-ide/4.0.3 = openhab.tp-xtext-ide/4.0.3
feature.openhab.tp-swagger-jaxrs/4.0.3 = openhab.tp-swagger-jaxrs/4.0.3
feature.distro/4.0.3 = distro/4.0.3
feature.distro-kar/4.0.3 = distro-kar/4.0.3

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,55 @@
//
// 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) };
feature:upgrade = { feature:install -u $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,20 @@
# Bundles to be started on startup, with startlevel
mvn\:org.apache.karaf.features/org.apache.karaf.features.extension/4.4.3 = 1
mvn\:org.ops4j.pax.url/pax-url-aether/2.6.12 = 5
mvn\:org.apache.felix/org.apache.felix.metatype/1.2.4 = 5
mvn\:org.apache.karaf.services/org.apache.karaf.services.eventadmin/4.4.3 = 5
mvn\:org.ops4j.pax.logging/pax-logging-api/2.2.0 = 8
mvn\:org.fusesource.jansi/jansi/2.4.0 = 8
mvn\:org.ops4j.pax.logging/pax-logging-log4j2/2.2.0 = 8
mvn\:org.osgi/org.osgi.util.function/1.2.0 = 9
mvn\:org.osgi/org.osgi.util.promise/1.2.0 = 9
mvn\:org.apache.felix/org.apache.felix.coordinator/1.0.2 = 9
mvn\:org.apache.felix/org.apache.felix.converter/1.0.14 = 9
mvn\:org.apache.felix/org.apache.felix.configadmin/1.9.26 = 10
mvn\:org.apache.karaf.config/org.apache.karaf.config.core/4.4.3 = 11
mvn\:org.apache.felix/org.apache.felix.configurator/1.0.16 = 11
mvn\:org.apache.felix/org.apache.felix.configadmin.plugin.interpolation/1.2.6 = 11
mvn\:org.apache.sling/org.apache.sling.commons.johnzon/1.2.14 = 11
mvn\:org.apache.felix/org.apache.felix.cm.json/1.0.6 = 11
mvn\:org.apache.felix/org.apache.felix.fileinstall/3.7.4 = 12
mvn\:org.apache.karaf.features/org.apache.karaf.features.core/4.4.3 = 15

View file

@ -0,0 +1,162 @@
################################################################################
#
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements. See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.
# The ASF licenses this file to You under the Apache License, Version 2.0
# (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
################################################################################
#
# The properties defined in this file will be made available through system
# properties at the very beginning of the Karaf's boot process.
#
# Properties file inclusions (as a space separated list of relative paths)
# Included files will override the values specified in this file
${optionals} = custom.system.properties
# Log level when the pax-logging service is not available
# This level will only be used while the pax-logging service bundle
# is not fully available.
# To change log levels, please refer to the org.ops4j.pax.logging.cfg file
# instead.
org.ops4j.pax.logging.DefaultServiceLog.level = ERROR
#
# Name of this Karaf instance.
#
karaf.name = root
#
# Default repository where bundles will be loaded from before using
# other Maven repositories. For the full Maven configuration, see
# the org.ops4j.pax.url.mvn.cfg file.
#
karaf.default.repository = system
#
# Location of a shell script that will be run when starting a shell
# session. This script can be used to create aliases and define
# additional commands.
#
# NB: ${karaf.etc} is implicitly added to the path, don't use absolute path here
#
karaf.shell.init.script = shell.init.script,scripts/*.script
#
# Sets the maximum size of the shell command history. If not set,
# defaults to 500 entries. Setting to 0 will disable history.
#
# karaf.shell.history.maxSize = 0
#
# Sets the maximum size of the local shell command history file. If not set,
# defaults to 10000 entries.
#
# karaf.shell.history.file.maxSize = 10000
#
# Deletes the entire karaf.data directory at every start
#
karaf.clean.all = false
#
# Deletes the karaf.data/cache directory at every start
#
karaf.clean.cache = false
#
# User name for the Karaf local console
#
karaf.local.user = karaf
#
# Roles to use when for the default user in the local Karaf console.
#
# The syntax is the following:
# [classname:]principal
# where classname is the class name of the principal object
# (defaults to org.apache.karaf.jaas.modules.RolePrincipal)
# and principal is the name of the principal of that class
# (defaults to instance).
#
karaf.local.roles = admin,manager,viewer,systembundles
#
# Set this empty property to avoid errors when validating xml documents.
#
xml.catalog.files =
#
# Specs options
#
org.apache.servicemix.specs.debug = false
org.apache.servicemix.specs.timeout = 0
org.apache.karaf.specs.debug = false
org.apache.karaf.specs.timeout = 0
#
# Settings for the OSGi 4.3 Weaving
# By default, we will not weave any classes. Change this setting to include classes
# that you application needs to have woven.
#
org.apache.aries.proxy.weaving.enabled = none
# Classes not to weave - Aries default + Xerces which is known to have issues.
org.apache.aries.proxy.weaving.disabled = org.objectweb.asm.*,org.slf4j.*,org.apache.log4j.*,javax.*,org.apache.xerces.*
#
# By default, only Karaf shell commands are secured, but additional services can be
# secured by expanding this filter
#
karaf.secured.services = (&(osgi.command.scope=*)(osgi.command.function=*))
#
# If set to true, Karaf will exit if either the resolving of feature repositories, or
# the installation of boot features (as configured in org.apache.karaf.features.cfg) fails.
#
karaf.require.successful.features.boot = false
#
# By default, if there's no ACL policy for a certain karaf command, this command is allowed to access
# without the RBAC. We can change this behavior by enable the following property, which means
# if a karaf command has no corresponding ACL then access it must have one of the karaf.secured.command.compulsory.roles
#
#karaf.secured.command.compulsory.roles=admin
#
# Security properties
#
# To enable OSGi security, uncomment the properties below,
# install the framework-security feature and restart.
#
#java.security.policy=${karaf.etc}/all.policy
#org.osgi.framework.security=osgi
#org.osgi.framework.trust.repositories=${karaf.etc}/trustStore.ks
#
# HA/Lock configuration
#
# Karaf uses a lock mechanism to know which instance is the master (HA)
# The lock can be on the filesystem (default) or on a database.
#
# See http://karaf.apache.org/manual/latest/users-guide/failover.html for details.
#
# Even using a single instance, Karaf creates the lock file
# You can specify the location of the lock file using the
# karaf.lock.dir=/path/to/the/directory/containing/the/lock
#
# By default, the slave instances start but are passive.
# If you want to prevent the slave instances startup, you can use
# the karaf.lock.slave.block property (false by default):
# karaf.lock.slave.block=true

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,11 @@
openHAB Distribution Version Information
----------------------------------------
build-no : Release Build
online-repo : https://openhab.jfrog.io/openhab/libs-release
Repository Version
----------------------------------------
openhab-distro : 4.0.3
openhab-core : 4.0.3
openhab-addons : 4.0.3
karaf : 4.4.3

View file

@ -0,0 +1 @@
{"kty":"RSA","n":"xtlnpVyPt_L4tCCOovuFn6qNrorwSZ6RVmrMzSCZ4E7-9W6YcgRGWf8Rr2Qghv8wYlMtAc5f7xr0-CVSfM12oHyhxenWU6FcitJGFIYmnpuiwCEUphmIg3OtmsL1LnR3VFAJxLlhWYGBOhaGnz97w7zm1igF8YnxrEpuij9cR_QrSSoBd-bHVhMRJtEov0zNrxR45c0-VSGfucfSr-X-vyzd49ZPkMCeuc8BrVwsN8BfqRdX2MtyiCrulFNp8Q8gSFyUFTk67c20qHdgtJPyazT-lNc9K0TaJD5wEFCZcj5Fh-CVqav9Q1BxMLVaKmg3h78-sMgNYDzRferCCmFkCQ","e":"AQAB","d":"UQ6wVFUN9MMjpHGdE00KZFKm3J6gYrIztpFkmL2QXEJ3Zd7GX7vkXa0_LUrYg48kzv_u2cyhiJtpfnngTSWIFNWZME8o4gBl8-TRUm548bCpwD3759WCs2sFOo_8WAp71i-mO74Bs_W5ks8541KChgDL7EJ2YcaEcGIK-2nmmSFy7HZ0KypXdfqSTYbn2ZbEFJjjSYxmqSKTegvvXAUfIMwPfsdGfsy5S3H99QxX3-0K2XgduDi0d1dPxcuHMkftSG_oB0lAQrY9K9l_wisJvZNuqE0J4kucSbuvtEovHYceD0zRcGAQxFEaYa_oYSA5yJI2byr1pKVfBIpucCrYnQ","p":"x5-EO91jPK1rs__8T4orVJ_Q1T8sS7z9ny67hDhV8avbpLMpji1MwGmfNhnmSbJfm648EIvTZwxJj_-C09UaL7cZtEcmkHFJ26c9Rz0eecF_fKQbyfudr12NG0gm_immNXBBSSiRi_3KwnriUEEegfnXSXXeI6VrXHA9YDYiqAc","q":"_wHwNCcHVcxFqBsoZVRiJjRoI_8ZOhDmEE9pUjvDMTFz7cuoLBwKbggrpF-CmguENr8F3xsAQppOrW0Z-tWF9TYl0ydwF2SyiQ5ZRol0_jq2NHK7rZu2KvvRrY48kRSxNi3iRjxEM8Q-gWy8IEH1tW6Db6KQtck9axuFFl6k728","dp":"R1uTRl8OMUuAu5hfFgO7F4YFfaUWbYCCXNu0tj_5IOmhG0_cI_G3hPR8sDcz5dY4bQssd3G0QRrYVPwuRRDhSns2WgYxF-MXVsiClCuZ8EYmD2UOdfZW2LAlV8JEBgjXXDTjcYZp-NPhHgIVUkDk6etodN8IaE-igCmzFuhjHRM","dq":"6KJRCpLMS0Y2CZz05jPr8iR_GM-gqOs_poN7doyUji0qMDZJbiwKi8SiY6rKD1QQQo1Tguwz-Y6h1e6g88aVFVVXfmENDhpMEWJoqUO-2iqfjAtbEY7qyh2-dBE9SbFR1TZYpXBXW85co1-Z4-eoiuKNv2rTjzNN94c8i2K-Hrs","qi":"Q-LuIxo9bC76PubTswus3u4H9SHk-T95ASfaRHNKCqUG8rvBTC25zXB1KJlnX9KMn8cDwFb7UnuY-bqDWUpXpe4IcZJRv3MnZEKkRk0bgfTlNoX3pVOEfMiNXM1qb-3zyt4DBh1Z-1V49R8P9z_82H_gGZStBCfYQw9gZAcqfTA"}