Sunday, April 26, 2009

Applying Patches, Updates and Other Content via Jopr

We like to say Jopr is a management platform, not just a monitoring tool. This is because Jopr does more than just monitor the health of managed resources. It can be used to configure resources and control resources, too. In addition, Jopr has a content subsystem that allows it to deploy content to any managed resource that supports the content facet.

What does this mean? It means that you can set up your Fedora boxes to be able to "yum install" packages directly from Jopr; it means you can install patches to your JBossAS Servers; it means just about anything you want it to mean (in the context of pushing and pulling content) because Jopr is extensible in such a way that you can write your own plugins to do what you need it to do with respect to pulling down content for deployment to your custom resources.

I've created a Jopr content demo that shows how you can aggregate content from multiple remote repositories into Jopr and then have Jopr serve that content to resources it is managing.

Here is an architectural diagram that discusses how content flows from remote repositories to the Jopr Server through to the managed resources via the Jopr Agent. This diagram, coupled with the demo, should provide some good insight into the basics of the Jopr content subsystem.


  1. Wow. I had no idea that Jopr could do this. Thanks a lot for this article.

  2. Now i remember why i don't let you pick the color schemes for my presentations ;)

  3. It took all of my strength of will not to click "reject" when moderating that last comment :-p

  4. Mazz, I'm interested to see an example of this content-index.txt you are using for your jars in the web server

  5. XmasRock - I just checked in an extension to the UrlSource - HttpSource (it provides the ability to use HTTP auth and HTTP proxy). In addition, the new code now provides the ability to define a more fully detailed content-index.xml (the XML has an XML schema in the client-api module) - this provides more metadata you can define for your content. As for generating content-index.txt or .xml, you can use the main method in SimpleIndexParser and XmlIndexParser - just point them to a directory and it will generate the content-index file for you. I'll see if I can write up something and put it in our wiki to further explain this.