# gridgain-control-center-on-premise **Repository Path**: myll_758/gridgain-control-center-on-premise ## Basic Information - **Project Name**: gridgain-control-center-on-premise - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2021-01-13 - **Last Updated**: 2021-01-13 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README Requirements ------------------------------------- 1. JDK 8 suitable for your platform. 2. Supported browsers: Chrome, Firefox, Safari, Edge. How to run ------------------------------------- 1. Unpack gridgain-control-center--.zip to some folder. 2. Change work directory to folder where GridGain Control Center was unpacked. 3. Start control-center.{bat|sh} executable for you platform. 4. Open URL `localhost:3000` in browser. 5. Sign up to create a user. Technical details ------------------------------------- 1. Package content: `libs` - this folder contains GridGain Control Center dependencies. `work` - this folder contains all GridGain Control Center data (registered users, created objects, ...) and should be preserved in case of update to new version. 2. Gridgain Control Center will start on default HTTP port `3000` and bind to all interfaces `0.0.0.0`. You can use properties files, YAML files, environment variables to externalize configuration. Properties are considered in the following order: 1. Java System properties (System.getProperties()). 2. OS environment variables. 3. Properties in /config subdirectory of the work directory or in work directory (application.properties and YAML variants). YAML format description can be found here https://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-external-config.html#boot-features-external-config-yaml Various properties can be specified inside your application.properties file, inside your application.yml file, or Java System properties. This appendix provides a list of common Spring Boot properties and references to the underlying classes that consume them: # Sign up configuration. account.signup.enabled=true # Enable self registration account.activation.enabled=false # Enable account activation account.activation.timeout=1800000 # Activation timeout(milliseconds) account.activation.sendTimeout=180000 # Activation send email throttle (milliseconds) # Sign in configuration. account.authentication.maxAttempts=Infinity # Specifies the maximum number of failed attempts allowed before preventing login. account.authentication.interval=100 # Specifies the interval in milliseconds between login attempts, which increases exponentially based on the number of failed attempts (milliseconds). account.authentication.maxInterval=300000 # Specifies the maximum amount of time an account can be locked (milliseconds). # Embedded server configuration. server.address=0.0.0.0 # Network address to which the GridGain Control Center should bind. server.port=3000 # GridGain Control Center port. control.repositories.configurations.GccSessionCache.touchExpirationTimeout=604_800_000 # The number of milliseconds that the user session should be kept alive (default: 7 days). control.repositories.auto-migrate-enabled=false # Enable auto migration of internal storage. control.metric.cluster.expiry= # Cluster metrics expiry time in milliseconds. control.metric.node.expiry= # Node metrics expiry time in milliseconds. control.metric.cache.expiry= # Cache metrics expiry time in milliseconds. control.base-url= # Control Center url for links in notifications. # Email (MailProperties) spring.mail.default-encoding=UTF-8 # Default MimeMessage encoding. spring.mail.host= # SMTP server host. For instance, `smtp.example.com`. spring.mail.jndi-name= # Session JNDI name. When set, takes precedence over other Session settings. spring.mail.port= # SMTP server port. spring.mail.properties.*= # Additional JavaMail Session properties. spring.mail.protocol=smtp # Protocol used by the SMTP server. spring.mail.test-connection=false # Whether to test that the mail server is available on startup. spring.mail.username= # Login user of the SMTP server. spring.mail.password= # Login password of the SMTP server. # SMS (SmsProperties) - currently Control Center supports "vonage.com" only. nexmo.creds.api-key= # API key from account. nexmo.creds.api-secret= # API secret from account. nexmo.creds.from= # The name or number the message should be sent from. # SSL options. server.ssl.ciphers= # Supported SSL ciphers. server.ssl.client-auth= # Client authentication mode. server.ssl.enabled=true # Whether to enable SSL support. server.ssl.enabled-protocols= # Enabled SSL protocols. server.ssl.key-alias= # Alias that identifies the key in the key store. server.ssl.key-password= # Password used to access the key in the key store. server.ssl.key-store= # Path to the key store that holds the SSL certificate (typically a jks file). server.ssl.key-store-password= # Password used to access the key store. server.ssl.key-store-provider= # Provider for the key store. server.ssl.key-store-type= # Type of the key store. server.ssl.protocol=TLS # SSL protocol to use. server.ssl.trust-store= # Trust store that holds SSL certificates. server.ssl.trust-store-password= # Password used to access the trust store. server.ssl.trust-store-provider= # Provider for the trust store. server.ssl.trust-store-type= # Type of the trust store. # OpenID Connect configuration. Replace XXXXX with your provider name. spring.security.oauth2.client.registration.XXXXX.client-id= # Registered client ID in provider. spring.security.oauth2.client.registration.XXXXX.client-secret= # Secret for registered client ID. spring.security.oauth2.client.provider.XXXXX.authorization-uri= # Authorization URI for the provider. spring.security.oauth2.client.provider.XXXXX.token-uri= # Token URI for the provider. spring.security.oauth2.client.provider.XXXXX.jwk-set-uri= # JWK set URI for the provider. Mail setup ------------------------------------- For example, the properties for Gmail SMTP Server can be specified as: spring.mail.host=smtp.gmail.com spring.mail.port=587 spring.mail.username= spring.mail.password= spring.mail.properties.mail.smtp.auth=true spring.mail.properties.mail.smtp.starttls.enable=true HTTPS setup (with self-signed certificate) between cluster and GridGain Control Center ------------------------------------- 1. Generate self-signed certificate. 2. Configure GridGain Control Center to use SSL port: 443 and key-store with generated certificate. 3. Configure you cluster to use SSL with help of control.sh utility. For more information execute: JVM_OPTS='-DIGNITE_ENABLE_EXPERIMENTAL_COMMAND=true' control.sh --management help For example, the properties for GridGain Control Center can be specified as: server.port=443 server.ssl.key-store-type=JKS server.ssl.key-store=certificates/server.jks server.ssl.key-store-password=change_me Database(s) configuration ------------------------------------- The following property can be used to specify custom database(s) configuration in "application.properties": ignite.configurations= Or using environment variable: IGNITE_CONFIGURATIONS= Or using system properties: -Dignite.configurations= For example: ignite.configurations=classpath:ignite-config.xml ignite.configurations=file:\some\path\custom-ignite-config.xml ignite.configurations= Configuration "classpath:ignite-config.xml" - will be used as default and available out of the box. It contains configuration for single-node isolated cluster and suitable for development or small production usages. This is an example of default Control Center configuration that can be changed over ignite.configurations property: ------------------------------------- It is possible to setup separate data storage for users data, metrics and traces. In this case GridGain Control Center will start three internal client nodes to connect to external clusters. This will improve scalability and fault tolerance of GridGain Control Center. To achieve this goal, define Spring XML configuration with three beans of IgniteConfiguration for three clients that should connect to different clusters and pass it to GridGain Control Center via "ignite.configurations" property. Beans should have the following predefined names: USERS_IGNITE_CONFIG, METRICS_IGNITE_CONFIG and TRACES_IGNITE_CONFIG. This is an example of how the Control Center can be configured to store its internal information in three different GridGain clusters: ------------------------------------- 127.0.0.1:47500 127.0.0.1:47600 127.0.0.1:47700