ControlTier > elements
 

ClientInstaller

client installer module

Overview

ClientInstaller: client installer module

Intent

  • Automates the installation of a ControlTier Client and bootstraps the client into the current project. Features automated install of the ControlTier Installer (client mode) and dependent Java Package.
  • Support additional configurations for installation on a Cygwin/Win32 based client.

Problem

Provides an automation solution for the ControlTier client installation which can then be exposed at the Jobcenter level. This should provide an automation solution for users who may lack the knowledge of a ControlTier installation and/or have the responsibility for many installations within a captured process.

Discussion

This module is somewhat atypical of a normal ControlTier Deployment in that we are bootstrapping a ControlTier client into a project. However, the concept of a Deployment holds in that we are provisioning an entity (the ctier framework instance for the Node) with package dependencies (ControlTier Installer and Java). A "Separation of Concerns" should be considered here prior to automating this process. Many organizations, depending on policy and available resources, may automate this process within a Systems Operations provisioning solution such as Puppet. Consider implemenation of this specific process as an alternative to a larger scoped provising solution.

Design

Super Type
Deployment
Role Concrete. (Objects can be created.)
Instance Names Unique
Notification false
Template Directory
Data View Children, proximity: 1
Logger Name ClientInstaller

Constraints

Allowed Child Dependencies

  • ClientInstallerCygwinClient 1

    allowed setting dependency to override behavior to apply cygwin related configuration, see attribute-defaults.

  • ClientInstallerTargetCTierRoot 1

    allowed setting dependency, to override the target CTIER_ROOT, see attribute-defaults.

  • ClientInstallerTargetUser 1

    allowed setting dependency, to override the target user, see attribute-defaults.

  • ClientInstallerTrustClient 1

    allowed setting dependency, if settingValue set to true, will blindly trust remote clients over ssh, see attribute-defaults.

  • CTierInstallerZip 1

    allowed package dependency, to specify controltier installer package

  • JavaBin 1

    allowed package dependency, to specify dependent unix based java package

  • JavaZip 1

    allowed package dependency, to specify dependent windows based java package

1: These types have a Singleton constraint. Only one instance may be added as a resource.

Attributes

Defaults for Imported Attributes

Name Default Description
cygwinClient false sets cygwinClient to false and assumes a traditional unix client
targetCTierRoot ctier sets remote CTIER_ROOT as the "ctier" subdirectory of the remote user's $HOME
targetUser ${user.name} sets remote target user to the local username as a reasonable default username
trustClient false sets trustClient to false to default to normal ssh behavior regarding trusting remote clients on the network

Commands

View the available commands in the User Reference.

Related Types

The following types are defined for use with ClientInstaller.

ClientInstallerCygwinClient

Overview

ClientInstallerCygwinClient: client installer target user

Design

Super Type
DeploymentSetting
Role Concrete. (Objects can be created.)
Instance Names Unique

Attributes

Exported Attributes
Name Property Description
cygwinClient settingValue If true, will override the assumption of a native unix client and will establish configuration suitable for a cygwin ControlTier client

ClientInstallerTargetCTierRoot

Overview

ClientInstallerTargetCTierRoot: target CTIER_ROOT

Design

Super Type
DeploymentSetting
Role Concrete. (Objects can be created.)
Instance Names Unique

Attributes

Exported Attributes
Name Property Description
targetCTierRoot settingValue relative or absolute path name of the CTIER_ROOT for the installed client. By default, ControlTier client is installed into "ctier" subdirectory of the remote user's $HOME

ClientInstallerTargetUser

Overview

ClientInstallerTargetUser: client installer target user

Design

Super Type
DeploymentSetting
Role Concrete. (Objects can be created.)
Instance Names Unique

Attributes

Exported Attributes
Name Property Description
targetUser settingValue Identifies the target user for the installed ControlTier client

ClientInstallerTrustClient

Overview

ClientInstallerTrustClient: trust remote ssh execution when trying to install on remote client

Design

Super Type
DeploymentSetting
Role Concrete. (Objects can be created.)
Instance Names Unique

Attributes

Exported Attributes
Name Property Description
trustClient settingValue If true, will override the ssh host key protection by ignoring whether remote client is present in the local ssh known hosts file