You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@brooklyn.apache.org by ha...@apache.org on 2015/10/27 00:58:20 UTC

[02/12] incubator-brooklyn git commit: [BROOKLYN-183] Skeleton for karaf container

[BROOKLYN-183] Skeleton for karaf container


Project: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/commit/b9d5a46f
Tree: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/tree/b9d5a46f
Diff: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/diff/b9d5a46f

Branch: refs/heads/master
Commit: b9d5a46f383ee3e13cabce74725db04baede2b24
Parents: 9a80ebe
Author: Hadrian Zbarcea <ha...@apache.org>
Authored: Tue Sep 22 20:05:01 2015 -0400
Committer: Ciprian Ciubotariu <ch...@gmx.net>
Committed: Sun Oct 25 00:58:37 2015 +0300

----------------------------------------------------------------------
 karaf/apache-brooklyn/pom.xml                   | 123 +++++++++++++++++
 .../filtered-resources/etc/branding.properties  |  35 +++++
 .../src/main/resources/etc/custom.properties    | 114 ++++++++++++++++
 .../resources/etc/org.ops4j.pax.logging.cfg     |  46 +++++++
 .../src/main/resources/etc/system.properties    | 133 +++++++++++++++++++
 karaf/features/pom.xml                          |  54 ++++++++
 karaf/features/src/main/resources/features.xml  |  12 ++
 karaf/pom.xml                                   | 123 +++++++++++++++++
 pom.xml                                         |   1 +
 9 files changed, 641 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/b9d5a46f/karaf/apache-brooklyn/pom.xml
----------------------------------------------------------------------
diff --git a/karaf/apache-brooklyn/pom.xml b/karaf/apache-brooklyn/pom.xml
new file mode 100755
index 0000000..f3374a6
--- /dev/null
+++ b/karaf/apache-brooklyn/pom.xml
@@ -0,0 +1,123 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+    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.
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+
+  <modelVersion>4.0.0</modelVersion>
+  <parent>
+    <groupId>org.apache.brooklyn</groupId>
+    <artifactId>brooklyn-karaf</artifactId>
+    <version>0.9.0-SNAPSHOT</version>  <!-- BROOKLYN_VERSION -->
+  </parent>
+
+  <artifactId>apache-brooklyn</artifactId>
+  <packaging>karaf-assembly</packaging>
+  <name>Brooklyn Karaf Distro</name>
+
+  <dependencies>
+    <dependency>
+      <groupId>org.apache.karaf.features</groupId>
+      <artifactId>framework</artifactId>
+      <version>${karaf.version}</version>
+      <type>kar</type>
+    </dependency>
+
+    <dependency>
+      <groupId>org.apache.karaf.features</groupId>
+      <artifactId>standard</artifactId>
+      <classifier>features</classifier>
+      <version>${karaf.version}</version>
+      <type>xml</type>
+      <scope>runtime</scope>
+    </dependency>
+
+    <dependency>
+      <groupId>org.apache.karaf.features</groupId>
+      <artifactId>enterprise</artifactId>
+      <classifier>features</classifier>
+      <version>${karaf.version}</version>
+      <type>xml</type>
+      <scope>runtime</scope>
+    </dependency>
+
+    <!--dependency>
+      <groupId>org.apache.brooklyn</groupId>
+      <artifactId>features</artifactId>
+      <version>${project.version}</version>
+      <type>xml</type>
+      <classifier>features</classifier>
+      <scope>runtime</scope>
+    </dependency-->
+
+  </dependencies>
+
+  <build>
+    <resources>
+      <resource>
+        <directory>src/main/resources</directory>
+        <filtering>false</filtering>
+        <includes>
+         <include>**/*</include>
+        </includes>
+      </resource>
+      <resource>
+	<directory>src/main/filtered-resources</directory>
+	<filtering>true</filtering>
+	<includes>
+         <include>**/*</include>
+	</includes>
+      </resource>
+    </resources>
+
+    <plugins>
+      <plugin>
+        <groupId>org.apache.karaf.tooling</groupId>
+        <artifactId>karaf-maven-plugin</artifactId>
+        <version>${karaf.version}</version>
+        <extensions>true</extensions>
+        <configuration>
+          <bootFeatures>
+            <bootFeature>aries-blueprint</bootFeature>
+            <bootFeature>bundle</bootFeature>
+            <bootFeature>config</bootFeature>
+            <bootFeature>deployer</bootFeature>
+            <bootFeature>diagnostic</bootFeature>
+            <bootFeature>feature</bootFeature>
+            <bootFeature>instance</bootFeature>
+            <bootFeature>jaas</bootFeature>
+            <bootFeature>kar</bootFeature>
+            <bootFeature>log</bootFeature>
+            <bootFeature>management</bootFeature>
+            <bootFeature>package</bootFeature>
+            <bootFeature>service</bootFeature>
+            <bootFeature>shell</bootFeature>
+            <bootFeature>shell-compat</bootFeature>
+            <bootFeature>ssh</bootFeature>
+            <bootFeature>system</bootFeature>
+            <bootFeature>wrap</bootFeature>
+            <!--bootFeature>brooklyn-core</bootFeature-->
+          </bootFeatures>
+	    </configuration>
+      </plugin>
+    </plugins>
+  </build>
+
+</project>
+

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/b9d5a46f/karaf/apache-brooklyn/src/main/filtered-resources/etc/branding.properties
----------------------------------------------------------------------
diff --git a/karaf/apache-brooklyn/src/main/filtered-resources/etc/branding.properties b/karaf/apache-brooklyn/src/main/filtered-resources/etc/branding.properties
new file mode 100755
index 0000000..714c7db
--- /dev/null
+++ b/karaf/apache-brooklyn/src/main/filtered-resources/etc/branding.properties
@@ -0,0 +1,35 @@
+################################################################################
+#
+#    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.
+#
+################################################################################
+
+welcome = \
+\u001B[33m\u001B[0m\n\
+\u001B[33m  _                     _    _              \u001B[0m\n\
+\u001B[33m | |__  _ __ ___   ___ | | _| |_   _ _ __ (R) \u001B[0m\n\
+\u001B[33m | '_ \\| '__/ _ \\ / _ \\| |/ / | | | | '_ \\  \u001B[0m\n\
+\u001B[33m | |_) | | | (_) | (_) |   <| | |_| | | | |  \u001B[0m\n\
+\u001B[33m |_.__/|_|  \\___/ \\___/|_|\\_\\_|\\__, |_| |_|  \u001B[0m\n\
+\u001B[33m                               |___/              \u001B[0m\n\
+\u001B[33m                                             \u001B[0m\n\
+\u001B[33m http://brooklyn.incubator.apache.org \u001B[0m\n\
+\u001B[33m (version ${project.version})\u001B[0m\n\
+\u001B[33m\u001B[0m\n\
+\u001B[33mHit '\u001B[1m<tab>\u001B[0m' for a list of available commands\u001B[0m\n\
+\u001B[33mand '\u001B[1m[cmd] --help\u001B[0m' for help on a specific command.\u001B[0m\n\
+\u001B[33mHit '\u001B[1m<ctrl-d>\u001B[0m' or '\u001B[1mosgi:shutdown\u001B[0m' to shutdown\u001B[0m\n\
+\u001B[33m\u001B[0m\n\

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/b9d5a46f/karaf/apache-brooklyn/src/main/resources/etc/custom.properties
----------------------------------------------------------------------
diff --git a/karaf/apache-brooklyn/src/main/resources/etc/custom.properties b/karaf/apache-brooklyn/src/main/resources/etc/custom.properties
new file mode 100644
index 0000000..912207f
--- /dev/null
+++ b/karaf/apache-brooklyn/src/main/resources/etc/custom.properties
@@ -0,0 +1,114 @@
+################################################################################
+#
+#    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 place any customized configuration here.
+# All the values specified here will override the default value.
+#
+
+karaf.systemBundlesStartLevel=50
+
+org.osgi.framework.bootdelegation=org.apache.karaf.jaas.boot,!com.sun.xml.messaging.saaj.*,!com.sun.xml.internal.bind.*,sun.*,com.sun.*,javax.transaction,javax.transaction.*,org.apache.xalan.processor,org.apache.xpath.jaxp,org.apache.xml.dtm.ref,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.osgi.framework.system.packages.extra = \
+  org.apache.karaf.branding, \
+  com.sun.org.apache.xalan.internal.xsltc.trax, \
+  com.sun.org.apache.xerces.internal.dom, \
+  com.sun.org.apache.xerces.internal.jaxp, \
+  com.sun.org.apache.xerces.internal.xni, \
+  com.sun.jndi.ldap, \
+  org.apache.xalan.extensions; version="2.7.1", \
+  org.apache.xalan.xsltc.compiler; version="2.7.1", \
+  org.apache.xalan.xsltc.cmdline.getopt; version="2.7.1", \
+  org.apache.xalan.xsltc.util; version="2.7.1", \
+  org.apache.xalan.transformer; version="2.7.1", \
+  org.apache.xalan.xsltc.trax; version="2.7.1", \
+  org.apache.xalan.processor; version="2.7.1", \
+  org.apache.xalan.lib; version="2.7.1", \
+  org.apache.xalan.trace; version="2.7.1", \
+  org.apache.xalan.xsltc.compiler.util; version="2.7.1", \
+  org.apache.xalan.templates; version="2.7.1", \
+  org.apache.xalan.xsltc; version="2.7.1", \
+  org.apache.xalan.xsltc.runtime; version="2.7.1", \
+  org.apache.xalan; version="2.7.1", \
+  org.apache.xalan.xslt; version="2.7.1", \
+  org.apache.xalan.lib.sql; version="2.7.1", \
+  org.apache.xalan.xsltc.runtime.output; version="2.7.1", \
+  org.apache.xalan.xsltc.dom; version="2.7.1", \
+  org.apache.xalan.client; version="2.7.1", \
+  org.apache.xalan.xsltc.cmdline; version="2.7.1", \
+  org.apache.xalan.serialize; version="2.7.1", \
+  org.apache.xalan.res; version="2.7.1", \
+  org.apache.xml.dtm.ref; version="2.7.1", \
+  org.apache.xml.dtm; version="2.7.1", \
+  org.apache.xml.dtm.ref.sax2dtm; version="2.7.1", \
+  org.apache.xml.dtm.ref.dom2dtm; version="2.7.1", \
+  org.apache.xml.res; version="2.7.1", \
+  org.apache.xml.serializer.dom3; version="2.7.1", \
+  org.apache.xml.serializer; version="2.7.1", \
+  org.apache.xml.serializer.utils; version="2.7.1", \
+  org.apache.xml.utils.res; version="2.7.1", \
+  org.apache.xml.utils; version="2.7.1", \
+  org.apache.xpath.functions; version="2.7.1", \
+  org.apache.xpath.jaxp; version="2.7.1", \
+  org.apache.xpath.patterns; version="2.7.1", \
+  org.apache.xpath.objects; version="2.7.1", \
+  org.apache.xpath.res; version="2.7.1", \
+  org.apache.xpath; version="2.7.1", \
+  org.apache.xpath.axes; version="2.7.1", \
+  org.apache.xpath.compiler; version="2.7.1", \
+  org.apache.xpath.operations; version="2.7.1", \
+  org.apache.xpath.domapi; version="2.7.1", \
+  org.apache.html.dom; version="2.11.0", \
+  org.apache.wml.dom; version="2.11.0", \
+  org.apache.wml; version="2.11.0", \
+  org.apache.xerces.parsers; version="2.11.0", \
+  org.apache.xerces.impl.dtd.models; version="2.11.0", \
+  org.apache.xerces.xni.parser; version="2.11.0", \
+  org.apache.xerces.impl.dv.xs; version="2.11.0", \
+  org.apache.xerces.impl.xs.traversers; version="2.11.0", \
+  org.apache.xerces.util; version="2.11.0", \
+  org.apache.xerces.impl.dtd; version="2.11.0", \
+  org.apache.xerces.jaxp.validation; version="2.11.0", \
+  org.apache.xerces.dom3.as; version="2.11.0", \
+  org.apache.xerces.impl.dv; version="2.11.0", \
+  org.apache.xerces.jaxp; version="2.11.0", \
+  org.apache.xerces.jaxp.datatype; version="2.11.0", \
+  org.apache.xerces.impl.xpath.regex; version="2.11.0", \
+  org.apache.xerces.xni; version="2.11.0", \
+  org.apache.xerces.impl.msg; version="2.11.0", \
+  org.apache.xerces.impl.dv.util; version="2.11.0", \
+  org.apache.xerces.impl.xs.util; version="2.11.0", \
+  org.apache.xerces.dom; version="2.11.0", \
+  org.apache.xerces.dom.events; version="2.11.0", \
+  org.apache.xerces.impl.xs.opti; version="2.11.0", \
+  org.apache.xerces.impl; version="2.11.0", \
+  org.apache.xerces.xs; version="2.11.0", \
+  org.apache.xerces.impl.io; version="2.11.0", \
+  org.apache.xerces.xpointer; version="2.11.0", \
+  org.apache.xerces.impl.dv.dtd; version="2.11.0", \
+  org.apache.xerces.xinclude; version="2.11.0", \
+  org.apache.xerces.impl.xpath; version="2.11.0", \
+  org.apache.xerces.xs.datatypes; version="2.11.0", \
+  org.apache.xerces.impl.xs.identity; version="2.11.0", \
+  org.apache.xerces.impl.xs.models; version="2.11.0", \
+  org.apache.xerces.xni.grammars; version="2.11.0", \
+  org.apache.xerces.impl.xs; version="2.11.0", \
+  org.apache.xerces.impl.validation; version="2.11.0", \
+  org.apache.xml.serialize; version="2.11.0"
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/b9d5a46f/karaf/apache-brooklyn/src/main/resources/etc/org.ops4j.pax.logging.cfg
----------------------------------------------------------------------
diff --git a/karaf/apache-brooklyn/src/main/resources/etc/org.ops4j.pax.logging.cfg b/karaf/apache-brooklyn/src/main/resources/etc/org.ops4j.pax.logging.cfg
new file mode 100755
index 0000000..26de433
--- /dev/null
+++ b/karaf/apache-brooklyn/src/main/resources/etc/org.ops4j.pax.logging.cfg
@@ -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.
+#
+################################################################################
+
+# Root logger
+log4j.rootLogger=INFO, out, osgi:VmLogAppender
+log4j.throwableRenderer=org.apache.log4j.OsgiThrowableRenderer
+
+# CONSOLE appender not used by default
+log4j.appender.stdout=org.apache.log4j.ConsoleAppender
+log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
+log4j.appender.stdout.layout.ConversionPattern=%d{ABSOLUTE} | %-5.5p | %-16.16t | %-32.32C %4L | %X{bundle.id} - %X{bundle.name} - %X{bundle.version} | %m%n
+
+# File appender
+log4j.appender.out=org.apache.log4j.RollingFileAppender
+log4j.appender.out.layout=org.apache.log4j.PatternLayout
+log4j.appender.out.layout.ConversionPattern=%d{ABSOLUTE} | %-5.5p | %-16.16t | %-32.32C %4L | %X{bundle.id} - %X{bundle.name} - %X{bundle.version} | %m%n
+log4j.appender.out.file=${karaf.home}/log/brooklyn.log
+log4j.appender.out.append=true
+log4j.appender.out.maxFileSize=1MB
+log4j.appender.out.maxBackupIndex=10
+
+# Sift appender
+log4j.appender.sift=org.apache.log4j.sift.MDCSiftingAppender
+log4j.appender.sift.key=bundle.name
+log4j.appender.sift.default=brooklyn
+log4j.appender.sift.appender=org.apache.log4j.FileAppender
+log4j.appender.sift.appender.layout=org.apache.log4j.PatternLayout
+log4j.appender.sift.appender.layout.ConversionPattern=%d{ABSOLUTE} | %-5.5p | %-16.16t | %-32.32c{1} | %-32.32C %4L | %m%n
+log4j.appender.sift.appender.file=${karaf.data}/log/$\\{bundle.name\\}.log
+log4j.appender.sift.appender.append=true
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/b9d5a46f/karaf/apache-brooklyn/src/main/resources/etc/system.properties
----------------------------------------------------------------------
diff --git a/karaf/apache-brooklyn/src/main/resources/etc/system.properties b/karaf/apache-brooklyn/src/main/resources/etc/system.properties
new file mode 100644
index 0000000..a95f167
--- /dev/null
+++ b/karaf/apache-brooklyn/src/main/resources/etc/system.properties
@@ -0,0 +1,133 @@
+################################################################################
+#
+#    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.
+#
+
+
+# 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 = brooklyn
+
+#
+# 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.
+#
+karaf.shell.init.script = ${karaf.etc}/shell.init.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
+
+#
+# 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
+
+#
+# Roles to use when logging into a 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 =
+
+#
+# Suppress the bell in the console when hitting backspace too many times
+# for example
+#
+jline.nobell = true
+
+#
+# ServiceMix specs options
+#
+org.apache.servicemix.specs.debug = false
+org.apache.servicemix.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=*))
+
+#
+# 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
+#

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/b9d5a46f/karaf/features/pom.xml
----------------------------------------------------------------------
diff --git a/karaf/features/pom.xml b/karaf/features/pom.xml
new file mode 100755
index 0000000..50dd5a7
--- /dev/null
+++ b/karaf/features/pom.xml
@@ -0,0 +1,54 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+	 xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+
+  <modelVersion>4.0.0</modelVersion>
+  <parent>
+    <groupId>org.apache.brooklyn</groupId>
+    <artifactId>brooklyn-karaf</artifactId>
+    <version>0.9.0-SNAPSHOT</version>  <!-- BROOKLYN_VERSION -->
+  </parent>
+
+  <artifactId>brooklyn-features</artifactId>
+  <name>Brooklyn Karaf Features</name>
+
+  <build>
+    <resources>
+      <resource>
+	<directory>src/main/resources</directory>
+	<filtering>true</filtering>
+	<includes>
+	  <include>**/*</include>
+	</includes>
+      </resource>
+    </resources>
+
+    <plugins>
+      <plugin>
+	<groupId>org.codehaus.mojo</groupId>
+	<artifactId>build-helper-maven-plugin</artifactId>
+	<version>1.9.1</version>
+	<executions>
+	  <execution>
+	    <id>attach-artifacts</id>
+	    <phase>process-resources</phase>
+	    <goals>
+	      <goal>attach-artifact</goal>
+	    </goals>
+	    <configuration>
+	      <artifacts>
+		<artifact>
+		  <file>${project.build.outputDirectory}/features.xml</file>
+		  <type>xml</type>
+		  <classifier>features</classifier>
+		</artifact>
+	      </artifacts>
+	    </configuration>
+	  </execution>
+	</executions>
+      </plugin>
+    </plugins>
+  </build>
+
+</project>
+

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/b9d5a46f/karaf/features/src/main/resources/features.xml
----------------------------------------------------------------------
diff --git a/karaf/features/src/main/resources/features.xml b/karaf/features/src/main/resources/features.xml
new file mode 100755
index 0000000..ff843f9
--- /dev/null
+++ b/karaf/features/src/main/resources/features.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<features xmlns="http://karaf.apache.org/xmlns/features/v1.2.0" name="org.apache.brooklyn-${project.version}">
+
+  <repository>mvn:org.apache.karaf.features/standard/${karaf.version}/xml/features</repository>
+  <repository>mvn:org.apache.karaf.features/enterprise/${karaf.version}/xml/features</repository>
+  <repository>mvn:org.apache.karaf.features/spring/${karaf.version}/xml/features</repository>
+
+  <!-- TODO: complete the features set -->
+  <feature name="brooklyn-core" version="${project.version}" resolver="(obr)">
+    <bundle>mvn:org.apache.brooklyn/brooklyn-core/${project.version}</bundle>
+  </feature>
+</features>

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/b9d5a46f/karaf/pom.xml
----------------------------------------------------------------------
diff --git a/karaf/pom.xml b/karaf/pom.xml
new file mode 100644
index 0000000..94b7750
--- /dev/null
+++ b/karaf/pom.xml
@@ -0,0 +1,123 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+    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.
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+
+  <modelVersion>4.0.0</modelVersion>
+  <parent>
+    <groupId>org.apache.brooklyn</groupId>
+    <artifactId>brooklyn</artifactId>
+    <version>0.9.0-SNAPSHOT</version>  <!-- BROOKLYN_VERSION -->
+  </parent>
+
+  <artifactId>brooklyn-karaf</artifactId>
+  <name>Brooklyn Karaf</name>
+  <packaging>pom</packaging>
+
+  <properties>
+    <karaf.version>4.0.1</karaf.version>
+
+    <org.osgi.core.version>6.0.0</org.osgi.core.version>
+    <org.osgi.compendium.version>5.0.0</org.osgi.compendium.version>
+    
+    <lifecycle-mapping-plugin.version>1.0.0</lifecycle-mapping-plugin.version>
+
+    <maven.compiler.source>${java.version}</maven.compiler.source>
+    <maven.compiler.target>${java.version}</maven.compiler.target>
+  </properties>
+
+  <modules>
+    <module>features</module>
+    <module>apache-brooklyn</module>
+  </modules>
+
+  <build>
+    <pluginManagement>
+      <plugins>
+	<plugin>
+          <groupId>org.eclipse.m2e</groupId>
+          <artifactId>lifecycle-mapping</artifactId>
+          <version>${lifecycle-mapping-plugin.version}</version>
+          <configuration>
+            <lifecycleMappingMetadata>
+              <pluginExecutions>
+                <pluginExecution>
+                  <pluginExecutionFilter>
+                    <groupId>org.apache.maven.plugins</groupId>
+                    <artifactId>maven-enforcer-plugin</artifactId>
+                    <versionRange>[0,)</versionRange>
+                    <goals>
+                      <goal>enforce</goal>
+                    </goals>
+                  </pluginExecutionFilter>
+                  <action>
+                    <ignore />
+                  </action>
+                </pluginExecution>
+                <pluginExecution>
+                  <pluginExecutionFilter>
+                    <groupId>org.codehaus.mojo</groupId>
+                    <artifactId>build-helper-maven-plugin</artifactId>
+                    <versionRange>[0,)</versionRange>
+                    <goals>
+                      <goal>attach-artifact</goal>
+                    </goals>
+                  </pluginExecutionFilter>
+                  <action>
+                    <ignore />
+                  </action>
+                </pluginExecution>
+                <pluginExecution>
+                  <pluginExecutionFilter>
+                    <groupId>org.apache.karaf.tooling</groupId>
+                    <artifactId>karaf-maven-plugin</artifactId>
+                    <versionRange>[0,)</versionRange>
+                    <goals>
+                      <goal>assembly</goal>
+                      <goal>commands-generate-help</goal>
+                    </goals>
+                  </pluginExecutionFilter>
+                  <action>
+                    <ignore />
+                  </action>
+                </pluginExecution>
+                
+              </pluginExecutions>
+            </lifecycleMappingMetadata>
+          </configuration>
+        </plugin>
+      </plugins>
+    </pluginManagement>
+  </build>
+  
+  <repositories>
+    <repository>
+      <id>servicemix</id>
+      <name>Apache ServiceMix Repository</name>
+      <url>http://svn.apache.org/repos/asf/servicemix/m2-repo</url>
+      <releases>
+        <enabled>true</enabled>
+      </releases>
+      <snapshots>
+        <enabled>false</enabled>
+      </snapshots>
+    </repository>
+  </repositories>
+</project>

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/b9d5a46f/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index 8e4c265..1b55f7b 100644
--- a/pom.xml
+++ b/pom.xml
@@ -90,6 +90,7 @@
         <module>policy</module>
 
         <module>locations/jclouds</module>
+        <module>karaf</module>
 
         <!-- module>sandbox/cassandra-multicloud-snitch</module -->
         <!-- module>sandbox/database</module -->