Contents: Related pages: |
Kiuwan On-Premises (KOP) is based on a client-server architecture with the following major server components:
KOP solution is deployed on a centralized server (all the components are installed in the same host) and accessed by users via HTTP website access or by IDE plugins (Eclipse, Visual Studio).
KOP also supports distributed architecture with high-availability and load-balancing. For these scenarios, please contact Kiuwan support.
Kiuwan On-Premises (KOP) solution is deployed on a centralized server host (all the components are installed in the same host) and accessed by users via HTTP or by IDE plugins (Eclipse, Visual Studio).
|
Server CPU and memory requirements depend on several factors:
It's important to notice that we're assuming the typical use case where code analyses are performed locally through Kiuwan Local Analyzer, and therefore out of server machine (tipically at a user machine or within a build CI system). Therefore, when we talk about analysis we mean 2nd phase of the analysis (i.e. indicator calculation that is executed within the host server) |
Above factors heavily influence host server requirements, but minimum requirements are:
Operating System | RAM | CPUs | Disk | Other SW |
---|---|---|---|---|
Linux kernel version 3.10 or higher | 16 GB | Intel i7 2,5 GHz with 4 cores | 750 GB | CS Docker Engine version 1.10 or higher |
Note: CPU clock speed and disk speed will affect overal response time.
Above configuration is recommended for a system load that requires continuous service for:
Additional system requirements can be met by following next recommendations:
Before installing KOP, make sure that you understand the System Architecture Overview, that your server host(s) complies with the Server Host Requirements, and that you have properly prepared the Environment as follows:
Installation requirements:
Installation Steps: |
KOP Installation Package consists on a tarball gz file (vX.Y.tar.gz) containing all the kiuwan docker files.
KOP Licenses are distributed through two license distribution zipfiles:
To install the licences:
|
After unpackaging, you should configure the docker image to be built. Configuration of Kiuwan docker image is currently done by creating a configuration file (settings.custom) that will be used during the image building process. There's a file (settings.tpl) you can use as a template to configure your own settings.
|
PropertyName | Default value | Meaning |
---|---|---|
SysAdmin configuration | ||
KIUWAN_HOST KIUWAN_PORT | kiuwan.mydomain.com | Hostname (or ip address) and port number to access KOP. These variables will be used to build Kiuwan URL. Example (with default values):
|
KIUWAN_DOCKER_IMAGE | Name of the docker image (repositoroy name) to be built | |
KIUWAN_TAG_DOCKER_IMAGE | Tag of the docker image to be built | |
DIR_PERSISTENT_VOLUME | /data_kop | Directory of docker server where the container volume will be bound |
KIUWAN_VOL | /kiuwan_vol | Directory of the container where KOP will be installed. |
EXTERNAL_PORT_TO_MAP_MYSQL_INTERNAL_PORT | 3306 | Docker server port to access container's MySQL
|
EXTERNAL_PORT_TO_MAP_SSH_PORT | 2222 | Docker server port to access container thorugh SSH
|
MONGODB_START | false | Depending of your Kiuwan On Premises purchased license:
|
Proxy settings (used to build the docker Kiuwan image) | ||
USE_PROXY | false |
|
PROTOCOL_PROXY | http | http or https |
HOST_PROXY PORT_PROXY | Hostname (or ip address) and port number of proxy used for Intenet connectivity during the image building process | |
USER_PROXY PWD_PROXY | Username and password to connect Proxy | |
KOP users | ||
KIUWAN_WILDFLY_USER KIUWAN_WILDFLY_GROUP | kiuwan gkiuwan | System user/group for WildFly's installation and execution |
MYSQL_ROOT_PWD | Password for root user of KOP's MySQL instance | |
KIUWAN_MYSQL_USER KIUWAN_MYSQL_USERPWD | kiuwan kiuwan | Username and password used by KOP to access MySQL database |
SSH_ROOT_PWD | password | Password for root user (SSH) of Kiuwan Container |
KIUWAN_EMAIL_ADMIN_ACCOUNT | Email address of kiuwanadmin user
| |
KOP e-mail (SMTP) configuration | ||
KIUWAN_SMTP_HOST | SMTP host and port | |
KIUWAN_SMTP_USER_ACCOUNT KIUWAN_SMTP_USER_PASSWORD | SMTP account : username and password | |
KIUWAN_EMAIL_USER_ACCOUNT | Sender email address for KOP email notifications | |
Advanced configuration (WildFly, MySQL, Redis, etc) | ||
INNODB_BUFFER_POOL_SIZE | 2G | |
KIUWAN_WILDFLY_JVMMAXMEMORY | 3G | Max ammount of heap memory to be used by WidlFly |
KIUWAN_REDIS_MAXMEMORY | 2gb | Max memory limit to be used by Redis server (https://redis.io/topics/config) |
You can visit Advanced Configuration for additional configuration parameters.
After configuration, you will build the Kiuwan docker image.
IMPORTANT: Please be sure you have already installed KOP licenses, otherwise the docker image will not be built !!
To build the docker image: cd $KOP_INSTDIR/vX.Y ./create_and_init_kop.sh
This step requires Internet connectivity. If your installation uses an proxy, you should have previolsy configured the proxy settings.
In case you need to execute the Kiuwan container in a host server without Internet connectivity:
|
After image creation, you will be able to list the images in your docker server and identify your kiuwan image by issuing the next command:
docker images
After creating the image, if you want to move it to another host server you first must save it to a tarball by executing:
docker save kop:v1.2 > kop_v12_saved_image.tar
docker load --input kop_v12_saved_image.tar
Just in case you are running with problems while executing Kiuwan container, you can run it in debug mode.
This means to apply the configuration but not starting the services, allowing you to access the container through ssh.
After the container is built, you can execute (run) the Kiuwan container in debug mode by issuing the following command:
docker run --rm --name <my_container_name> \ -h <my_container_host_name> \ -v <server_host_mount_dir:container_mount_dir> \ -p <ssh_port_ext>:22 \ -d \ <image_name:version> |
Once Kiuwan On Premise container is running, you can access it from a browser in the following URL: http://<$KIUWAN_HOST>:<$KIUWAN_PORT>/saas where KIUWAN_HOST and KIUWAN_PORT match the values of those properties as configured in Dockerfile |
As above specified, settings.custom file allows you to specify most (but not all) configuration parameters.
There are some additional configuration parameters that you can configure at Dockerfile (located in your $KOP_INSTDIR)
Configuration done at settings.custom file always take precedence over configuration done at Dockerfile |
Component | PropertyName (=default value) | Meaning |
---|---|---|
TimeZone | KIUWAN_TIMEZONE='UTC' | Timezone to be used by Kiuwan application. |
WildFly | KIUWAN_WILDFLY_JVMMINMEMORY=512M | Max and Min ammount of heap memory to be used by WidlFly. |
KIUWAN_WILDFLY_JVMMINMETASIZE=96M KIUWAN_WILDFLY_JVMMAXMETASIZE=512M | Max and min ammount of perm gen memory to be used by WildFly | |
MySQL | innodb_buffer_pool_size=2G | Default MySQL parameters used to create database instance. (see https://dev.mysql.com/doc/refman/5.6/en/ for reference) redis |
Redis | KIUWAN_REDIS_MAXCLIENTS=100 | Maximum number of Redis clients that could be handled simultaneously (https://redis.io/topics/clients) Max memory limit to be used by Redis server (https://redis.io/topics/config) |