TOCPREVNEXTINDEX
Moonlight Evaluation

How Moonlight Works


This appendix provides a technical overview of Moonlight.

Targets and Models

Servers that are managed by Moonlight are referred to as targets. A target can be a physical host or a virtual host. Using a particular model, you can audit a target (compare the software installed on the target to the master copy stored in the Moonlight model), or distribute to a target (bring the target into a consistent state with model by distributing files or repairing files that differ from the model).

Moonlight allows you to organize targets into groups to make managing them easier. Groups can be organized however you choose, allowing you to design a target structure that meet the needs of your environment and processes.

Moonlight uses models to manage software applications. A model comprises the master copy of a software application - all of its files, configuration settings, and properties - and the processes required for a successful deployment (for example, commands to restart a server).

A Moonlight model has the following parts:

Model Definition File (MDF). The MDF contains the rules that Moonlight uses when auditing or distributing the software. It also contains any commands to be run during an audit or a distribution.

Files. The Moonlight model holds the actual files that comprise the software application. These files are captured into the Moonlight model from a reference target. The reference target serves as the master target for a particular software application. Once a reference target is captured into the Moonlight model, the model then serves as the master copy for distributing the software to other targets.

Moonlight lets you designate a file in the model as a shared file or a per-target file. Some examples of shared files are library files or binaries: these usually do not differ on each machine where the software is deployed. An example of a per-target file is a configuration file that has settings that are specific to the machine where the application is deployed. Moonlight allows you to create templates for per-target files.

Templates. Moonlight allows you to create templates that contain variables to represent information in a file that is different for each target. A variable can be a custom attribute that you define or it can be a target property that is stored in the Moonlight database. You can also create your own variables using Moonlight's template scripting language. Templates are then used to dynamically generate per-target files at deployment time, retrieving the appropriate values, and creating one unique file for each target. When Moonlight performs an audit, it properly compares each target's customized files with the variables in the template.

Attributes. Moonlight attributes allow you to customize a model to meet your exact requirements. You can create attributes to store configuration information that is unique to your environment. For example, you can create an attribute for http_port, and then set a different port number value for each target. You can define an attribute value on a target, a group, a model, or on a target-model, or group-model relationship. Once you have created an attribute and assigned values to it, you can then use the attribute in a template. Moonlight replaces the attribute in the template with the correct value during the generate, distribute, or audit operations.

System Components

The Moonlight software consists of the following components:

Moon Portal. This is a Web-based interface to Moonlight that allows you to manage targets and models from a central location via a Web browser. Moon Portal is a graphical, Java-based application that runs on a Tomcat application server.

Moon Shell. This is the full featured command-line interface to Moonlight that allows you to manage targets and models from a central location. Moon Shell can run in interactive mode or can be used in unattended scripting mode.

The Moonlight Server. This is the control center for all Moonlight operations. Since all operations must be issued by the Moonlight server, it prevents conflicting commands from corrupting the integrity of your software configurations. The Moonlight server also controls all of the system information written to the Moonlight database and the Moonlight model depot. The Moonlight server is a Java application.

The Moonlight Target Software. The target software allows the Moonlight server to communicate with the target and manage software configurations on the target. The target software is not an agent, it remains inactive until contacted by the Moonlight server.

Moonlight Satellite Servers. All targets are managed from the centralized Moonlight server. For scalability, you can also deploy a set of Moonlight proxy servers called Satellites. Satellites allow you to manage software configurations on thousands of targets across distributed networks from a single set of models. Satellite functionality is not included in this evaluation version of Moonlight.


Send Us Your Feedback
Moonlight Support Site

Phone: 415.278.0877
Fax: 415.278.0894

www.moonlight.com

TOCPREVNEXTINDEX