Configurable Settings - Java Viper Controller on Linux for Static Analysis
- How to apply changes to the Controller environment
- Required fields in installation.yaml
- Sample with required fields in installation.yaml
- Optional fields in installation.yaml
How to apply changes to the Controller environment
Changes in the installation.yaml
can be applied by running the install script or the upgrade script. Note that re-running the install script will delete any information that would have been stored previously.
Required fields in installation.yaml
|
|
|
---|---|---|
controller.name
|
String | This will be the identifier used in the VF Server UI. So, this should be as precise a name as possible, e.g. "UAT Viper" or "Prod App1" |
controller.host
|
String | The controller.host is the address that the vFunction Server address with which the Controller will connect. The value needs to start with http:// or https://. The value can be an IP Address or a FQDN |
controller.org_id
|
Strings | Once the Server is installed, the Admin can log into the UI and create the App. In the UI's Install Controller dialog box, the YAML values for the org_id, app_id, client_id and client_secret will be displayed. The values for this YAML file should be copied for the Server UI to here |
controller.type
|
String | "java" |
viper.port
|
Integer | Used by the VF Viper process to communication internally with the VF Controller process. This only needs to be modified if multiples instances of a Controller are running on the same Server or if a Port is in use |
viper.archives
|
List of Strings | Path(s) to the App's Binary Archives such as /opt/application/lib/*.jar |
Sample with required fields in installation.yaml
controller:
name: Prod App1
host: http://10.0.0.143
org_id: 3cf59199-0a0a-0a0a-0a0a-7c63ffac776e
app_id: 7b1ab58d-0a0a-0a0a-0a0a-098a113ad721
client_id: 20761b99-0a0a-0a0a-0a0a-94c2e0bc1859
client_secret: 6b5b7bc1-0a0a-0a0a-0a0a-2bd10db75e2f
type: java
jolokia_port: 8778
instrconf_additions:
inclusions:
exclusions:
server_application:
agent:
application_server: raw
override_properties:
viper:
port: 8090
archives:
- /opt/application/lib/*.jar
stored_procedures:
spring:
custom_context_roots:
root_bean_classes:
Optional fields in installation.yaml
controller.instance_id
controller:
instance_id: containerized
|
|
viper.debug_mode
viper:
debug_mode: true
|
|
viper.jvm_memory_params
viper:
jvm_memory_params: "-Xms300m -Xmx4g -Xss50m"
|
|
Recommended RAM based on Classes in Namespace for Xmx Sizing
The table below can help to set the viper.jvm_memory_params’s Xmx value depending on the number of Classes in the Namespaces of the Application’s Business Logic.
Classes in Namespaces(s) | Recommended RAM |
---|---|
Less than 8k | 2gb |
8k-20k | 4gb |
20k-100k | 8gb |
viper.port
viper:
port: 8091
|
|
viper.stored_procedure
Prerequisites for viper.stored_procedure
The following prerequisites are needed for tracking Stored Procedures with vFunction:
- Oracle database using Stored Procedures
- An Oracle database user who has SELECT access to the DBA_DEPENDENCIES table in the Oracle database
As a best practice, create a new user for the purpose of gathering Stored Procedures information for the vFunction Analysis:
- Log into the DB as an Administrator
- Create a new user
- Find-and-replace $USERNAME with the actual Username
- Find-and-replace $PASSWORD with the desired Password
create user $USERNAME identified by "$PASSWORD";
- Grant access to DBA_DEPENDENCIES
- Find-and-replace $USERNAME with the actual Username
grant select on DBA_DEPENDENCIES to $USERNAME;
- The URL to access the Oracle Database from the VF Controller, including the Driver Type used in the DB Connection and whether the connection is made using SIDs or a Service Name
- The Username and Password for the Oracle database user
Settings for viper.stored_procedure
The following settings should be added to the installation.yaml:
|
|
---|---|
viper:
stored_procedure:
jdbc:oracle:thin://@10.0.0.43:15421/XE
### Format displayed: jdbc:oracle:thin://@HOST:PORT/SERVICE_NAME ### If the user is a sysoper or sysdba, use the internal_login parameter: jdbc:oracle:thin://@HOST:PORT/SERVICE_NAME?internal_login=SYSDBA ### Alternate format using SID: jdbc:oracle:thin:@\HOST:PORT:SID ### Alternate format using OCI driver: jdbc:oracle:oci://@DATABASE_NAME db_username: charlotteLee
db_password: c0mpleX!
|
|