There are two ways to configure the agent:


1. Passing specific command line arguments upon agent initiation


The following table shows the agent command line arguments:


Command Line Parameter Description
-name Unique name for the agent 
-host OperetoBox host address
-u Opereto username
-p Opereto password.
It is recommended to put the password string in single quotes as some special characters (e.g. @) may be deleted by the shell and as a result, agent authentication will fail.
-log [optional] – location of log file. Default: .opereto/log. [-log console] will output to console only.
-loglevel [optional] – log level [info, warn, error, debug, fatal]. The default is info.
-agent.lock.port [optional] – agent lock port to ensure only one agent instance on the host. The default is 53945.
-XX:MinHeapFreeRatio
-XX:MaxHeapFreeRatio
Java internal flags to control heap expansion and shrinking.
-Xms
-Xmx
Java internal flags: Xmx specifies the maximum memory allocation pool for a Java Virtual Machine (JVM), while Xms specifies the initial memory allocation pool.
-polling.frequency Overrides the default agent polling frequency (e.g. the interval of the requests for new processes from the server (in seconds, default is 5 seconds)


2. Modifying specific control agent properties during agent runtime


Agents may have one or more properties, key-value parameters used for classification. Some built-in properties are added automatically by Opereto agent such as:

  • system.arch (e.g. amd64)
  • hostname
  • agent.home (the current agent home directory)
  • total.space, free.space etc..

Also, the user may specify and modify additional properties per agent to improve agent classification. For instance, a web server with Python installed may include the following user defined properties:
  • web_server: true
  • python: 2.7.5

Agent properties are very powerful tools to map specific agents to services. Please check out the service agents mapping section to learn more.


Built-in user-defined agent properties


Opereto supports several built-in agent properties for specific internal configurations as shown in the following table:

 

Property Description
opereto.users By default, new agents are visible to all Opereto users meaning they are public. However, Opereto provides a mechanism to classify agents as “private” and make them visible only to specific users. An exclusive built-in property “opereto.users” containing a comma-delimited list of users is used tTo make a given agent private and visible to particular user or users,  as follows:    
opereto.users: john,alice    # this agent is visible to john and alice only

  

  

opereto.owners By default, new agents can be modified or deleted by any Opereto user. Another built-in property “opereto.owners” containing a comma-delimited list of users is used to make a given agent manageable by particular user or users as follows:    
opereto.owners: john,alice    # john and alice only can modify or delete this agent

  

  

opereto.termination_protection Protecting a given agent from being accidentally deleted from the system. The proper usage of this property is as follows:    
opereto.termination_protection: true     ## if not specified, default is false

  

  

opereto.worker This flag indicates that a given agent serves as an execution worker running common services. The agent may be a private one, but it will still execute any services mapped to it. This option is useful if you want to build and share common services that anyone can use that run on a predefined cluster of execution agents but still prevent unauthorized users to select those agents explicitly when running other services.    
opereto.worker: true     ## if not specified, default is false