Commit f572f47302549320974338cf6b2729f136254b16

Authored by Andrii Shvaika
2 parents 0fbe40c2 c290fea3

Merge branch 'develop/2.5.2' of github.com:thingsboard/thingsboard into develop/2.5.2

@@ -4,15 +4,15 @@ This folder containing scripts and Kubernetes resources configurations to run Th @@ -4,15 +4,15 @@ This folder containing scripts and Kubernetes resources configurations to run Th
4 4
5 ## Prerequisites 5 ## Prerequisites
6 6
7 -ThingsBoard Microservices are running on Kubernetes cluster. 7 +ThingsBoard Microservices run on the Kubernetes cluster.
8 You need to have a Kubernetes cluster, and the kubectl command-line tool must be configured to communicate with your cluster. 8 You need to have a Kubernetes cluster, and the kubectl command-line tool must be configured to communicate with your cluster.
9 -If you do not already have a cluster, you can create one by using [Minikube](https://kubernetes.io/docs/setup/minikube), 9 +If you do not have a cluster already, you can create one by using [Minikube](https://kubernetes.io/docs/setup/minikube),
10 or you can choose any other available [Kubernetes cluster deployment solutions](https://kubernetes.io/docs/setup/pick-right-solution/). 10 or you can choose any other available [Kubernetes cluster deployment solutions](https://kubernetes.io/docs/setup/pick-right-solution/).
11 11
12 ### Enable ingress addon 12 ### Enable ingress addon
13 13
14 -By default ingress addon is disable in the Minikube, and available only in cluster providers.  
15 -To enable ingress, please execute next command: 14 +By default ingress addon is disabled in the Minikube, and available only in cluster providers.
  15 +To enable ingress, please execute the following command:
16 16
17 ` 17 `
18 $ minikube addons enable ingress 18 $ minikube addons enable ingress
@@ -21,21 +21,21 @@ $ minikube addons enable ingress @@ -21,21 +21,21 @@ $ minikube addons enable ingress
21 ## Installation 21 ## Installation
22 22
23 Before performing initial installation you can configure the type of database to be used with ThingsBoard and the type of deployment. 23 Before performing initial installation you can configure the type of database to be used with ThingsBoard and the type of deployment.
24 -In order to set database type change the value of `DATABASE` variable in `.env` file to one of the following: 24 +To set database type change the value of `DATABASE` variable in `.env` file to one of the following:
25 25
26 - `postgres` - use PostgreSQL database; 26 - `postgres` - use PostgreSQL database;
27 - `cassandra` - use Cassandra database; 27 - `cassandra` - use Cassandra database;
28 28
29 **NOTE**: According to the database type corresponding kubernetes resources will be deployed (see `postgres.yml`, `cassandra.yml` for details). 29 **NOTE**: According to the database type corresponding kubernetes resources will be deployed (see `postgres.yml`, `cassandra.yml` for details).
30 30
31 -In order to set deployment type change the value of `DEPLOYMENT_TYPE` variable in `.env` file to one of the following: 31 +To set deployment type change the value of `DEPLOYMENT_TYPE` variable in `.env` file to one of the following:
32 32
33 -- `basic` - start up with single instance of Zookeeper, Kafka and Redis;  
34 -- `high-availability` - start up with Zookeeper, Kafka and Redis in cluster modes; 33 +- `basic` - startup with a single instance of Zookeeper, Kafka and Redis;
  34 +- `high-availability` - startup with Zookeeper, Kafka, and Redis in cluster modes;
35 35
36 -**NOTE**: According to the deployment type corresponding kubernetes resources will be deployed (see content of the directories `./basic` and `./high-availability` for details). 36 +**NOTE**: According to the deployment type corresponding kubernetes resources will be deployed (see the content of the directories `./basic` and `./high-availability` for details).
37 37
38 -Execute the following command to run installation: 38 +Execute the following command to run the installation:
39 39
40 ` 40 `
41 $ ./k8s-install-tb.sh --loadDemo 41 $ ./k8s-install-tb.sh --loadDemo
@@ -47,7 +47,7 @@ Where: @@ -47,7 +47,7 @@ Where:
47 47
48 ## Running 48 ## Running
49 49
50 -Execute the following command to deploy thirdparty resources: 50 +Execute the following command to deploy third-party resources:
51 51
52 ` 52 `
53 $ ./k8s-deploy-thirdparty.sh 53 $ ./k8s-deploy-thirdparty.sh
@@ -61,8 +61,8 @@ Execute the following command to deploy resources: @@ -61,8 +61,8 @@ Execute the following command to deploy resources:
61 $ ./k8s-deploy-resources.sh 61 $ ./k8s-deploy-resources.sh
62 ` 62 `
63 63
64 -After a while when all resources will be successfully started you can open `http://{your-cluster-ip}` in you browser (for ex. `http://192.168.99.101`).  
65 -You should see ThingsBoard login page. 64 +After a while when all resources will be successfully started you can open `http://{your-cluster-ip}` in your browser (for ex. `http://192.168.99.101`).
  65 +You should see the ThingsBoard login page.
66 66
67 Use the following default credentials: 67 Use the following default credentials:
68 68
@@ -73,16 +73,16 @@ If you installed DataBase with demo data (using `--loadDemo` flag) you can also @@ -73,16 +73,16 @@ If you installed DataBase with demo data (using `--loadDemo` flag) you can also
73 - **Tenant Administrator**: tenant@thingsboard.org / tenant 73 - **Tenant Administrator**: tenant@thingsboard.org / tenant
74 - **Customer User**: customer@thingsboard.org / customer 74 - **Customer User**: customer@thingsboard.org / customer
75 75
76 -In case of any issues you can examine service logs for errors. 76 +In case of any issues, you can examine service logs for errors.
77 For example to see ThingsBoard node logs execute the following commands: 77 For example to see ThingsBoard node logs execute the following commands:
78 78
79 -1) Get list of the running tb-node pods: 79 +1) Get the list of the running tb-node pods:
80 80
81 ` 81 `
82 $ kubectl get pods -l app=tb-node 82 $ kubectl get pods -l app=tb-node
83 ` 83 `
84 84
85 -2) Fetch logs of tb-node pod: 85 +2) Fetch logs of the tb-node pod:
86 86
87 ` 87 `
88 $ kubectl logs -f [tb-node-pod-name] 88 $ kubectl logs -f [tb-node-pod-name]
@@ -103,7 +103,7 @@ Execute the following command to delete all ThingsBoard microservices: @@ -103,7 +103,7 @@ Execute the following command to delete all ThingsBoard microservices:
103 $ ./k8s-delete-resources.sh 103 $ ./k8s-delete-resources.sh
104 ` 104 `
105 105
106 -Execute the following command to delete all thirdparty microservices: 106 +Execute the following command to delete all third-party microservices:
107 107
108 ` 108 `
109 $ ./k8s-delete-thirdparty.sh 109 $ ./k8s-delete-thirdparty.sh
@@ -404,6 +404,9 @@ function AlarmsTableWidgetController($element, $scope, $filter, $mdMedia, $mdDia @@ -404,6 +404,9 @@ function AlarmsTableWidgetController($element, $scope, $filter, $mdMedia, $mdDia
404 } 404 }
405 405
406 function openAlarmDetails($event, alarm) { 406 function openAlarmDetails($event, alarm) {
  407 + if ($event) {
  408 + $event.stopPropagation();
  409 + }
407 if (alarm && alarm.id) { 410 if (alarm && alarm.id) {
408 var onShowingCallback = { 411 var onShowingCallback = {
409 onShowing: function(){} 412 onShowing: function(){}
@@ -62,6 +62,11 @@ $edit-toolbar-height: 40px !default; @@ -62,6 +62,11 @@ $edit-toolbar-height: 40px !default;
62 height: 100%; 62 height: 100%;
63 } 63 }
64 } 64 }
  65 +
  66 + .container{
  67 + width: 100%;
  68 + height: 100%;
  69 + }
65 } 70 }
66 71
67 .tb-split-vertical { 72 .tb-split-vertical {
@@ -114,18 +114,18 @@ @@ -114,18 +114,18 @@
114 </div> 114 </div>
115 </md-toolbar> 115 </md-toolbar>
116 <div flex style="position: relative;"> 116 <div flex style="position: relative;">
117 - <div class="tb-editor tb-absolute-fill" style=""> 117 + <div class="tb-editor tb-absolute-fill">
118 <div id="top_panel" class="tb-split tb-split-vertical"> 118 <div id="top_panel" class="tb-split tb-split-vertical">
119 <div id="top_left_panel" class="tb-split tb-content"> 119 <div id="top_left_panel" class="tb-split tb-content">
120 - <md-tabs md-selected="1" md-dynamic-height md-border-bottom style="width: 100%; height: 100%;">  
121 - <md-tab label="{{ 'widget.resources' | translate }}" style="width: 100%; height: 100%;"> 120 + <md-tabs md-selected="1" md-dynamic-height md-border-bottom class="container">
  121 + <md-tab label="{{ 'widget.resources' | translate }}">
122 <div class="tb-resize-container" style="background-color: #fff;"> 122 <div class="tb-resize-container" style="background-color: #fff;">
123 <div class="md-padding"> 123 <div class="md-padding">
124 <div flex layout="row" 124 <div flex layout="row"
125 ng-repeat="resource in vm.widget.resources track by $index" 125 ng-repeat="resource in vm.widget.resources track by $index"
126 style="max-height: 40px;" layout-align="start center"> 126 style="max-height: 40px;" layout-align="start center">
127 <md-input-container flex md-no-float class="md-block" 127 <md-input-container flex md-no-float class="md-block"
128 - style="margin: 10px 0px 0px 0px; max-height: 40px;"> 128 + style="margin: 10px 0 0; max-height: 40px;">
129 <input placeholder="{{ 'widget.resource-url' | translate }}" 129 <input placeholder="{{ 'widget.resource-url' | translate }}"
130 ng-required="true" name="resource" ng-model="resource.url"> 130 ng-required="true" name="resource" ng-model="resource.url">
131 </md-input-container> 131 </md-input-container>
@@ -154,7 +154,7 @@ @@ -154,7 +154,7 @@
154 </div> 154 </div>
155 </div> 155 </div>
156 </md-tab> 156 </md-tab>
157 - <md-tab label="{{ 'widget.html' | translate }}" style="width: 100%; height: 100%;"> 157 + <md-tab label="{{ 'widget.html' | translate }}">
158 <div class="tb-resize-container" tb-expand-fullscreen expand-button-id="expand-button"> 158 <div class="tb-resize-container" tb-expand-fullscreen expand-button-id="expand-button">
159 <div class="tb-editor-area-title-panel"> 159 <div class="tb-editor-area-title-panel">
160 <md-button aria-label="{{ 'widget.tidy' | translate }}" 160 <md-button aria-label="{{ 'widget.tidy' | translate }}"
@@ -168,7 +168,7 @@ @@ -168,7 +168,7 @@
168 ng-model="vm.widget.templateHtml"></div> 168 ng-model="vm.widget.templateHtml"></div>
169 </div> 169 </div>
170 </md-tab> 170 </md-tab>
171 - <md-tab label="{{ 'widget.css' | translate }}" style="width: 100%; height: 100%;"> 171 + <md-tab label="{{ 'widget.css' | translate }}">
172 <div class="tb-resize-container" tb-expand-fullscreen expand-button-id="expand-button"> 172 <div class="tb-resize-container" tb-expand-fullscreen expand-button-id="expand-button">
173 <div class="tb-editor-area-title-panel"> 173 <div class="tb-editor-area-title-panel">
174 <md-button aria-label="{{ 'widget.tidy' | translate }}" 174 <md-button aria-label="{{ 'widget.tidy' | translate }}"
@@ -185,9 +185,8 @@ @@ -185,9 +185,8 @@
185 </md-tabs> 185 </md-tabs>
186 </div> 186 </div>
187 <div id="top_right_panel" class="tb-split tb-content"> 187 <div id="top_right_panel" class="tb-split tb-content">
188 - <md-tabs md-dynamic-height md-border-bottom style="width: 100%; height: 100%;">  
189 - <md-tab label="{{ 'widget.settings-schema' | translate }}"  
190 - style="width: 100%; height: 100%;"> 188 + <md-tabs md-dynamic-height md-border-bottom class="container">
  189 + <md-tab label="{{ 'widget.settings-schema' | translate }}">
191 <div class="tb-resize-container" tb-expand-fullscreen expand-button-id="expand-button"> 190 <div class="tb-resize-container" tb-expand-fullscreen expand-button-id="expand-button">
192 <div class="tb-editor-area-title-panel"> 191 <div class="tb-editor-area-title-panel">
193 <md-button aria-label="{{ 'widget.tidy' | translate }}" 192 <md-button aria-label="{{ 'widget.tidy' | translate }}"
@@ -201,8 +200,7 @@ @@ -201,8 +200,7 @@
201 ng-model="vm.widget.settingsSchema"></div> 200 ng-model="vm.widget.settingsSchema"></div>
202 </div> 201 </div>
203 </md-tab> 202 </md-tab>
204 - <md-tab label="{{ 'widget.datakey-settings-schema' | translate }}"  
205 - style="width: 100%; height: 100%;"> 203 + <md-tab label="{{ 'widget.datakey-settings-schema' | translate }}">
206 <div class="tb-resize-container" tb-expand-fullscreen expand-button-id="expand-button"> 204 <div class="tb-resize-container" tb-expand-fullscreen expand-button-id="expand-button">
207 <div class="tb-editor-area-title-panel"> 205 <div class="tb-editor-area-title-panel">
208 <md-button aria-label="{{ 'widget.tidy' | translate }}" 206 <md-button aria-label="{{ 'widget.tidy' | translate }}"
@@ -240,7 +238,7 @@ @@ -240,7 +238,7 @@
240 <md-progress-circular ng-disabled="vm.iframeWidgetEditModeInited" md-mode="indeterminate" class="md-warn" 238 <md-progress-circular ng-disabled="vm.iframeWidgetEditModeInited" md-mode="indeterminate" class="md-warn"
241 md-diameter="100"></md-progress-circular> 239 md-diameter="100"></md-progress-circular>
242 </md-content> 240 </md-content>
243 - <div tb-expand-fullscreen expand-button-id="expand-button" style="width: 100%; height: 100%;"> 241 + <div tb-expand-fullscreen expand-button-id="expand-button" class="container">
244 <iframe frameborder="0" height="100%" width="100%"></iframe> 242 <iframe frameborder="0" height="100%" width="100%"></iframe>
245 <md-button id="expand-button" aria-label="Fullscreen" 243 <md-button id="expand-button" aria-label="Fullscreen"
246 class="md-icon-button tb-fullscreen-button-style" 244 class="md-icon-button tb-fullscreen-button-style"