What is it ?

JLupin Control Center is a tool for managing whole environment build with JLupin Platform. It allows to scale your environment, change configurations, manage nodes, microservices, applications, etc. It operates on some primary units to make managing your environment easier.

Architecture

JLupin Control Center communicates with JBricks using transmission entry point configured on servers (by default running on 9096 port). No more communication ports are required.

Figure 1. Architecture overview

There are CLI clients available to communication with JCC which is running as server application.

Primary units

Microservices

Microservices are small units of your entire application for grouping and isolating your remote services. You can deploy them, start, restart and much more. Just play with them with Control Center.

Nodes

Nodes are primary physical units of your environment. They are giving compute spaces for your microservices. You connect them to Control Center to let it know about your environment.

External Nodes

External nodes are primary physical units of your environment which are not included into managed cluster. They may be some machines in other cluster managed by other JLupin Control Center or standalone.

Zones

Zones are logical group of nodes. In most configurations all nodes in same zone have access to each other. Node can be connected only to one zone.

Applications

Applications are logical group of microservices. They are useful for starting/restarting/etc. predefined groups of microservices on certain nodes.

Repositories

Repositories are used for storing built microservices (as deployable units). They are access to upload required microservice by name.

Users nad Roles

Users are just user. They can have different roles with different previliges.

Console

Prompt

Control Center prompt provides information about logged user and current context path - the virtual representation of components discovered in the environment (admin@/jlupin/zone/>). After > user can type in command using all built it features. Commands are executed after pressing enter key. Many features known from bash are supported by prompt.

Context path

Context path is used by commands to figure out on which unit operate. You don't need to type all parameters. Most commands when require unit as argument and no argument is provided are looking into context path. If unit is there it is taken as argument. You can also use * to tell command to take all units.

First element of context path is cloud name. A cloud is a set of zones and represents the whole environment for one or more applications. One instance of JCC can manage one cloud, which name is loaded from settings and by deafult is set to jlupin. Next element is category. Different categories determines different context path structure:

Context path structure for zone category

/[cloudName]/zone/[zoneName]/[nodeName]/[microserviceName]

Context path structure for application category

/[cloudName]/application/[applicationName]

Context path structure for external node category

/[cloudName]/external/node/[externalNodeName]

Context path structure for repository category

/[cloudName]/external/repo/[repositoryName]