G-Repository Server is the only GenRocket component installed within your corporate environment that will communicate with GenRocket Cloud. Its primary tasks are the following:
- Monitor recent actions performed on GenRocket Cloud (Inserts, Updates, and Deletions)
- Mirror recent actions performed on GenRocket Cloud in its local repository
- Monitor run requests from multiple G-Repository Clients simultaneously
- Perform license checks as a secure proxy for G-Repository Clients
- Check if G-Repository Client needs updating
- Send Repository Updates to G-Repository Client
- Collect G-Repository Client Scenario-run stats
- Send G-Repository Client Scenario-run stats to GenRocket Cloud
In This Article
- G-Repository Server Hardware Requirements
- Java Runtime / GenRocket Jar Requirements & Setup
- G-Repository Server Database Requirements
- G-Repository Server Property Files
A G-Repository Server can only be set up and launched by a GenRocket Org Admin. A GenRocket Org Admin must first download their GenRocket profile to the machine, where a G-Repository server is to be set up and place their profile in the .genrocket subdirectory. Thus, a GenRocket Org Admin may download their GenRocket profile on multiple machines should they choose to set up multiple G-Repository Servers.
- Once a G-Repository Server is set up with the given GenRocket Org Admin, it is permanently tied to that Org Admin.
- The G-Repository server will check the license of the given Org Admin to determine its viability.
- The G-Repository server will stay active as long as the Org Admin GenRocket license is valid.
G-Repository Server Hardware Requirements
G-Repository Server has been designed to run optimally on a Linux Server or Mac (Unix). Its minimum suggested requirements are the following:
- Linux Ubuntu 64 Bit OS
- Intel or AMD 4Core CPU
- 16GB RAM
- 500 GB SSD
Please Note: GenRocket does not support G-Repository Server on Windows operating systems.
Java Runtime / GenRocket Jar Requirements & Setup
G-Repository Server requires a Java Runtime to run. Perform the following steps to install Java:
- Download and install Java version 1.8 or higher
- Download and install the latest GenRocket runtime
- Login to GenRocket Cloud and create a Server profile
- Download and move the Server GenRocket profile into the .genrocket subdirectory
Note: For more detailed installation instructions, see Installation Overview.
G-Repository Server Database Requirements
G-Repository Server uses a MySQL Database Server to manage multiple repositories, the state of the continuous updates, and G-Repository clients' state interacting with them real-time. The requirements for a MySQL Server are the following:
- Download and install MySQL version 5.7 or higher
- Once installed, perform the following MySQL commands:
- GRANT ALL ON *.* to user_name@localhost IDENTIFIED BY 'password';
- Example: GRANT ALL ON *.* to root@localhost IDENTIFIED BY 'admin';
- create database g_repository_server;
- You have placed the appropriate MySQL Driver Jar into the genrocket/lib subdirectory
G-Repository Server Property Files
Once a G-Repository Server has been created (See How to Set Up a G-Repository Server), it will create a .grepository subdirectory within the subdirectory it was created and, within the .grepository subdirectory, it will create three property files:
The database.properties file contains the database connection information that allows a G-Repository Server to access the MySQL Database Server via JDBC. An example of the contents within the database.properties are the following:
# JDBC database connection properties
The server.properties file contains configuration properties for the different components running on multiple threads within the given G-Repository Server. This file is unencrypted and may be modified to tune a G-Repository Server for optimal performance. However, it is advisable to speak with a GenRocket support technician before changing any property values. The default property values within the server.properties file are the following:
# # Server Properties # mainServerPort=8020 downloadServerPort=8021 memoryLimit=64 cpuUsage=0.95 updateThreadLimit=10 downloadThreadLimit=10 maxPoolActive=10 maxPoolIdle=5 minPoolIdle=3 copyTimeoutSecs=180 autoUpdateCycleMin=60 autoDeleteCycleSecs=60 autoWaitCopyCycleSecs=60 autoStatsCycleSecs=60
The grepository.properties file is encrypted and contains information that allows a G-Repository Server to access GenRocket Cloud for a given GenRocket Organization and users of that organization via G-Repository Client. This property file is managed by the G-Repository Server.