Github user nakomis commented on a diff in the pull request:
https://github.com/apache/brooklyn-docs/pull/180#discussion_r115698327
--- Diff: guide/blueprints/catalog/index.md ---
@@ -375,153 +375,120 @@ the latest non-snapshot version will be loaded when
an entity is instantiated.
### Bundling Catalog Resources
-When deploying a blueprint, it is possible to deploy it as an OSGI bundle
with additional resources scoped
-to this bundle. This is particularly useful when, for example, deploying a
Tomcat server with a `.war` file
-which is deployed using a classpath path such as `classpath://mywar.war`.
+It is possible to add an OSGi bundle to AMP. This is useful when you have
a blueprint that needs to reference external scripts/resources or when you have
multiple blueprints that you want to keep in sync. Brooklyn will persist any
uploaded bundles so that they are available after a restart, or a HA failover.
-In this example, we will create a simple `server` catalog item, bundled
with a simple text file.
+In this example, we will create a simple `my-server` catalog item, bundled
with a simple script. The script will be run when launching the server.
-First, create the text file with some sample contents:
+First, create a folder called bundleFolder, then add a file called
myfile.sh to it.
+The contents of myfile.sh should be as follows:
~~~ bash
-echo Hello, World! > myfile.txt
+echo Hello, World!
~~~
-Now create a file called `catalog.bom` with the following contents:
+Now create a file in bundleFolder called `catalog.bom` with the following
contents:
~~~ yaml
brooklyn.catalog:
- bundle: script-server
+ bundle: MyServerBundle
version: 1.0.0
- items:
- - id: script-server
- itemType: entity
- item:
- type: server
- brooklyn.config:
- files.runtime:
- classpath://myfile.txt: files/myfile.txt
+ item:
+ id: my-server
+ type: org.apache.brooklyn.entity.software.base.VanillaSoftwareProcess
+ brooklyn.config:
+ files.runtime:
+ classpath://myfile.sh: files/myfile.sh
+ launch.command: |
+ chmod +x ./files/myfile.sh
+ ./files/myfile.sh
+
+ checkRunning.command:
+ echo "Running"
+
~~~
-The `bundle: script-server` line specifies the OSGI bundle name for this
blueprint. Any resources included
+The `bundle: MyServerBundle` line specifies the OSGI bundle name for this
bundle. Any resources included
in this bundle will be accessible on the classpath, but will be scoped to
this bundle. This prevents an
issue where multiple bundles include the same resource.
-To create the bundle, simply zip the `.bom` and `.txt` files as follows:
+To create the bundle, simply use the BR command as follows:
~~~ bash
-zip script-server.zip catalog.bom myfile.txt
+br add-catalog bundleFolder
--- End diff --
Would be good to mention that we also support .zip
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at [email protected] or file a JIRA ticket
with INFRA.
---