This is documentation for Apprenda 7 and 8.
Documentation for newer version is available at https://new.docs.apprenda.com.

Using the Command Line to Install or Modify the Platform

Within the Apprenda Platform install package, the Apprenda.Wizard.exe file can be found in the "Installer" directory.  This file can be double-clicked to start the normal Platform install workflow, but it can also be executed through the command-line interface.  When executed in this way with the necessary parameters, the Platform installer can run an "unattended" install that will automatically repair any validation issues and auto-restart the target machine(s) when necessary.

For more information on SSL and signing certificates, as well as how they may affect the Platform installation process, please see this documentation.

When being executed with the command-line interface, Apprenda.Wizard.exe must be run from the "Installer" directory within the Apprenda Platform install package.  To access detailed information about the required and optional parameters that accompany the executable, run:

.\Apprenda.Wizard.exe Install /?

This will generate a list of parameters that the executable will take as inputs, with required parameters marked with a (*).  Most significantly, the "-inputFile" parameter delineates the XML file that defines the Apprenda instance you are installing to.

Input File Schema Location

Schema information for the most recent release of the Platform:

Sample Command Line Installation Input File

Sample ApprendaGridDefinitions.xml for Installation

<?xml version="1.0"?>
<ApprendaGridDefinitions xmlns:xsd="http://www.w3.org/2001/XMLSchema"
                         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                         xmlns="http://schemas.apprenda.com/ApprendaGridDefinitions"
                         xsi:schemaLocation="http://schemas.apprenda.com/ApprendaGridDefinitions http://apprenda.com/schemas/platform/7.0/ApprendaGridDefinitions.xsd">
 
  <ApprendaGrid licenseFilePath="C:\MyLicense.lic"
                signingCertificatePath="C:\apprenda.victor.signing.pfx"
                runtimeDriveLetter="C"
                repositoryHost="victoria01"
                enforceSslForAllPages="false"
                useApprendaHostFileExtension="false"
                requireSocAuthorization="true"
                pathBasedUrlSubdomain="apps"
                encryptInternalCommunication="true"
                generateInternalCommunicationIssuerCertificate="true"
                generateInternalCommunicationCertificates="true" />
 
    <!--Information for the initial Developer Team Account created with Platform installation-->
    <CompanyInfo name="Victorian Consulting"
                 alias="victorianconsulting"
                 address="3 Corporate Park Dr"
                 city="Clifton Park"
                 state="NY"
                 zip="12065"
                 country="United States of America"
                 phoneNumber=""
                 adminFirstName="Jane"
                 adminLastName="Eyre"
                 adminEmail="jane@apprenda.com" />
                  
    <!--Apprenda's free email solution will be used if this is set to "true"-->
    <EmailConfig useFreeCloudSolution="false">
     
      <!--Omit the following section if you choose to use Apprenda's email solution-->
      <SMTPConfig senderName="Apprenda Confirmation Agent"
                  senderAddress="apprenda-notify@apprenda.com"
                  smtpHost="emailserver"
                  smtpPort="25"
                  requiresAuthentication="false" />
    </EmailConfig>
 
     
    <!--Include the following section if you choose to deploy your platform with Platform Auditing enabled -->
    <PlatformAuditingConfig enableAuditing="true">
        <SQLInstance name="hqt-allagash04" username="saasgridadmin" password="5aa5gr1d" />
    </PlatformAuditingConfig>
     
    <WindowsServiceConfig>
      <AdminUserAccount>
        <UserAccount domain="MYDOMAIN" username="adminaccount" />
      </AdminUserAccount>
      <SystemUserAccount>
        <UserAccount domain="MYDOMAIN" username="systemaccount" />
      </SystemUserAccount>
    </WindowsServiceConfig>
     
    <!--Include the following section if your platform has at least one Linux node-->
    <!--'elevationMethod'has possible values of 'su' and 'sudo'-->
    <LinuxConfig adminUser="root" adminPassword="password" elevationMethod="su" appsRepositoryMount="/apprenda/repo/apps" systemRepositoryMount="/apprenda/repo/sys" defaultWorkloadAccount="apprenda" enableWorkloadAccountAutoCreation="true" />
     
    <Clouds>
      <!--if installing multiple clouds, the cloud that hosts the CoreDB instance must be listed first-->
 
      <Cloud name="My Private PaaS"
             description="Private cloud"
             rootUrl="http://apprenda.victoria"
             cloudType="Public"
             infrastructureProvider="My Datacenter"
             sslCertificatePath="C:\apprenda.victoria.pfx"
             generateSslCertificate="false"
             cachePorts="6379"
             cacheSize="512"
             cachePassword="password">
                                 
        <Servers>
          <Server hostName="victoria01">
            <Roles>
              <Role name="loadManager"/>
            </Roles>
          </Server>
          <Server hostName="victoria02">
            <Roles>
              <Role name="loadManager"/>
            </Roles>
          </Server>          
          <Server hostName="victoria03">
            <Roles>
              <Role name="web"/>
              <Role name="coordination"/>
              <Role name="app"/>
            </Roles>
          </Server>
          <Server hostName="victoria04">
            <Roles>
              <Role name="app"/>
              <Role name="web"/>
              <Role name="coordination"/>              
            </Roles>
          </Server>
          <Server hostName="victoria05">
            <Roles>
              <Role name="web"/>
              <Role name="coordination"/>
              <Role name="cache"/>
              <Role name="app"/>
            </Roles>
          </Server>
          <Server hostName="victoria06">
            <Roles>
              <Role name="linux"/>
            </Roles>
          </Server>
          <Server hostName="victoria07">
            <Roles>
              <Role name="linux"/>
            </Roles>
          </Server>
        </Servers>
        <DatabaseServerInstances>
          <DatabaseServerInstance name="victoriaDB"
                                  adminUser="myadmin"
                                  totalMemoryMB="12270"
                                  totalCpuMHz="27136"
                                  totalStorageMB="10240"
                                  coreServer="true"
                                  fqdn="victoriaDB.Apprenda.local" />
 
          <DatabaseServerInstance name="victOracle"
                                  type="Oracle"
                                  port="1521"
                                  serviceName="vicky"
                                  adminUser="myadmin"
                                  totalMemoryMB="12270"
                                  totalCpuMHz="27136"
                                  totalStorageMB="10240"
                                  coreServer="false"
                                  fqdn="victOracle.Apprenda.local" />
        </DatabaseServerInstances>
 
        <!--Include the section below only if your cloud includes a clustered Loadmanager with a shared IIS configuration file-->     
        <IisSharedConfig path="\\victoria03\sharediisconfig"
                         username="MYDOMAIN\username"  />   
 
      </Cloud>    
 
      <Cloud name="My Public PaaS"
             description="Public cloud"
             rootUrl="http://apprenda.victor"
             cloudType="Public"
             infrastructureProvider="Off-site Datacenter"
             sslCertificatePath="C:\apprenda.victor.pfx"
             generateSslCertificate="false"
             cachePorts="6379"
             cacheSize="512"
             cachePassword="password">           
              
        <Servers>
          <Server hostName="victor01">
            <Roles>
              <Role name="loadManager"/>
            </Roles>
          </Server>
          <Server hostName="victor02">
            <Roles>
              <Role name="loadManager"/>
            </Roles>
          </Server>          
          <Server hostName="victor03">
            <Roles>
              <Role name="web"/>
              <Role name="coordination"/>
              <Role name="app"/>
            </Roles>
          </Server>
          <Server hostName="victor04">
            <Roles>
              <Role name="app"/>
              <Role name="web"/>
              <Role name="coordination"/>              
            </Roles>
          </Server>
          <Server hostName="victor05">
            <Roles>
              <Role name="web"/>
              <Role name="coordination"/>
              <Role name="app"/>
            </Roles>
          </Server>          
        </Servers>
        <DatabaseServerInstances>
          <DatabaseServerInstance name="victorDB"
                                  adminUser="myadmin"
                                  totalMemoryMB="12270"
                                  totalCpuMHz="27136"
                                  totalStorageMB="10240"
                                  coreServer="false"
                                  fqdn="victorDB.Apprenda.local" />
        </DatabaseServerInstances>  
 
        <!--Include the section below only if your cloud includes a clustered Loadmanager with a shared IIS configuration file-->     
        <IisSharedConfig path="\\victor03\sharediisconfig"
                         username="MYDOMAIN\username"  />   
 
      </Cloud>
    </Clouds>
</ApprendaGridDefinitions>

Using the Command Line to Modify an Existing Apprenda Platform Installation

All tasks that can be performed through the regular Apprenda Installer workflow can also be accomplished through the command-line interface.  For a detailed list of the different command-line workflows for Apprenda.Wizard.exe, run:

.\Apprenda.Wizard.exe /?

For more information on SSL certificates, as well as how they may affect the Platform modification process, please see this documentation.

Command-line tasks that can be performed include adding and removing roles, nodes, database instances, and Clouds, as well as upgrading and uninstalling the Platform.  Just as with the "Install" help command shown above, detailed information about each Installer task and its parameters can be generated by running the following:

.\Apprenda.Wizard.exe [Installer task] /?

The "AddCloud" task requires an XML input file similar to the one shown above, but including only the new Cloud's definition.

The "Upgrade" task may require a text file depending on what the Platform version the upgrade is performed from/to; upgrade file requirements based on Platform version can be found here.