On Wed, Jun 07, 2006 at 03:45:38PM -0500, Ted M Harapat wrote:
My ultimate goal is to look like each client has their own hobbit setup where the client can do Availability reports and look at the Non-Green Views.
Since you're obviously concerned about keeping one customer away from another customers data (quite a worthy concern, I think), then you must look at creating separate sets of webpages for each of your customers.
Since you want the "Non-green" view to also work for each customer, I think the pageset setup is not good enough.
What I would do is to split the bb-hosts file into several files, one per customer. You can create a "master" file that just includes the customer files to get your own view of everything, but you can then use the customer-specific bb-hosts file as the input for bbgen to create the webpages. Let me explain:
You have two bb-hosts files: One for customer A, bb-hosts.A, and another for B, bb-hosts.B.
You have also setup the top-level directory where each customer gets his own Hobbit view, and configured that into your webserver with appropriate access rights, password protection etc. Let's say those are /var/www/hobbit/customerA/ and /var/www/hobbit/customerB/, accessed through the URL's http://bla.com/A-hobbit/ and http://bla.com/B-hobbit/
Now, the trick is to generate a set of Hobbit webpages for each customer. For that, you'll run the "bbgen" tool for each customer:
BBHOSTS=/home/hobbit/etc/bb-hosts.A
BBWEB=/A-hobbit
bbgen /var/www/hobbit/customerA
BBHOSTS=/home/hobbit/etc/bb-hosts.B
BBWEB=/B-hobbit
bbgen /var/www/hobbit/customerB
By selecting the customer-specific bb-hosts file when generating the webpages, bbgen automatically ignores all of the hosts that are not in the customers' bb-hosts file. (If you have some shared infrastructure hosts, you can in fact put them in both files and it will work OK). So you get a normal set of Hobbit webpages, but with links only to the customers' own hosts.
It's not completely secure, because the CGI scripts that generate the detailed status allow you to tweak the hostname in the URL, so if you know the hostname of another customers' system, then you can get the data about the host.
That's the gist of it. There is probably some issues I've missed (reporting, for instance), but I hope that will get you started.
Regards, Henrik