Docker updates to new release features
This commit is contained in:
parent
d1f9f25f29
commit
be8f7062a4
@ -115,7 +115,9 @@ cassandra:
|
|||||||
# Thingsboard keyspace name
|
# Thingsboard keyspace name
|
||||||
keyspace_name: "${CASSANDRA_KEYSPACE_NAME:thingsboard}"
|
keyspace_name: "${CASSANDRA_KEYSPACE_NAME:thingsboard}"
|
||||||
# Specify node list
|
# Specify node list
|
||||||
url: "${CASSANDRA_URL:127.0.0.1:9042}"
|
host: "${CASSANDRA_HOST:127.0.0.1}"
|
||||||
|
# Specify node list
|
||||||
|
post: "${CASSANDRA_PORT:9042}"
|
||||||
# Enable/disable secure connection
|
# Enable/disable secure connection
|
||||||
ssl: "${CASSANDRA_USE_SSL:false}"
|
ssl: "${CASSANDRA_USE_SSL:false}"
|
||||||
# Enable/disable JMX
|
# Enable/disable JMX
|
||||||
|
|||||||
@ -44,7 +44,7 @@ public abstract class AbstractCassandraCluster {
|
|||||||
|
|
||||||
@Value("${cassandra.cluster_name}")
|
@Value("${cassandra.cluster_name}")
|
||||||
private String clusterName;
|
private String clusterName;
|
||||||
@Value("${cassandra.url}")
|
@Value("${cassandra.host}:${cassandra.port}")
|
||||||
private String url;
|
private String url;
|
||||||
@Value("${cassandra.compression}")
|
@Value("${cassandra.compression}")
|
||||||
private String compression;
|
private String compression;
|
||||||
|
|||||||
@ -2,7 +2,9 @@ cassandra.cluster_name=Thingsboard Cluster
|
|||||||
|
|
||||||
cassandra.keyspace_name=thingsboard
|
cassandra.keyspace_name=thingsboard
|
||||||
|
|
||||||
cassandra.url=127.0.0.1:9142
|
cassandra.host=127.0.0.1
|
||||||
|
|
||||||
|
cassandra.port=9142
|
||||||
|
|
||||||
cassandra.ssl=false
|
cassandra.ssl=false
|
||||||
|
|
||||||
|
|||||||
24
docker/cassandra-setup/Dockerfile
Normal file
24
docker/cassandra-setup/Dockerfile
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
#
|
||||||
|
# Copyright © 2016-2017 The Thingsboard Authors
|
||||||
|
#
|
||||||
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
# you may not use this file except in compliance with the License.
|
||||||
|
# You may obtain a copy of the License at
|
||||||
|
#
|
||||||
|
# http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
#
|
||||||
|
# Unless required by applicable law or agreed to in writing, software
|
||||||
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
# See the License for the specific language governing permissions and
|
||||||
|
# limitations under the License.
|
||||||
|
#
|
||||||
|
|
||||||
|
FROM openjdk:8-jre
|
||||||
|
|
||||||
|
ADD install.sh /install.sh
|
||||||
|
ADD thingsboard.deb /thingsboard.deb
|
||||||
|
|
||||||
|
RUN apt-get update \
|
||||||
|
&& apt-get install -y nmap \
|
||||||
|
&& chmod +x /install.sh
|
||||||
12
docker/cassandra-setup/Makefile
Normal file
12
docker/cassandra-setup/Makefile
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
VERSION=1.2.4
|
||||||
|
PROJECT=thingsboard
|
||||||
|
APP=cassandra-setup
|
||||||
|
|
||||||
|
build:
|
||||||
|
cp ../../application/target/thingsboard.deb .
|
||||||
|
docker build --pull -t ${PROJECT}/${APP}:${VERSION} -t ${PROJECT}/${APP}:latest .
|
||||||
|
rm thingsboard.deb
|
||||||
|
|
||||||
|
push: build
|
||||||
|
docker push ${PROJECT}/${APP}:${VERSION}
|
||||||
|
docker push ${PROJECT}/${APP}:latest
|
||||||
33
docker/cassandra-setup/install.sh
Executable file
33
docker/cassandra-setup/install.sh
Executable file
@ -0,0 +1,33 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
#
|
||||||
|
# Copyright © 2016-2017 The Thingsboard Authors
|
||||||
|
#
|
||||||
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
# you may not use this file except in compliance with the License.
|
||||||
|
# You may obtain a copy of the License at
|
||||||
|
#
|
||||||
|
# http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
#
|
||||||
|
# Unless required by applicable law or agreed to in writing, software
|
||||||
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
# See the License for the specific language governing permissions and
|
||||||
|
# limitations under the License.
|
||||||
|
#
|
||||||
|
|
||||||
|
|
||||||
|
dpkg -i /thingsboard.deb
|
||||||
|
|
||||||
|
until nmap $CASSANDRA_HOST -p $CASSANDRA_PORT | grep "$CASSANDRA_PORT/tcp open"
|
||||||
|
do
|
||||||
|
echo "Wait for cassandra db to start..."
|
||||||
|
sleep 10
|
||||||
|
done
|
||||||
|
|
||||||
|
echo "Creating 'Thingsboard' schema and system data..."
|
||||||
|
if [ "$ADD_DEMO_DATA" == "true" ]; then
|
||||||
|
echo "plus demo data..."
|
||||||
|
/usr/share/thingsboard/bin/install/install.sh --loadDemo
|
||||||
|
elif [ "$ADD_DEMO_DATA" == "false" ]; then
|
||||||
|
/usr/share/thingsboard/bin/install/install.sh
|
||||||
|
fi
|
||||||
39
docker/k8s/cassandra-setup.yaml
Normal file
39
docker/k8s/cassandra-setup.yaml
Normal file
@ -0,0 +1,39 @@
|
|||||||
|
#
|
||||||
|
# Copyright © 2016-2017 The Thingsboard Authors
|
||||||
|
#
|
||||||
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
# you may not use this file except in compliance with the License.
|
||||||
|
# You may obtain a copy of the License at
|
||||||
|
#
|
||||||
|
# http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
#
|
||||||
|
# Unless required by applicable law or agreed to in writing, software
|
||||||
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
# See the License for the specific language governing permissions and
|
||||||
|
# limitations under the License.
|
||||||
|
#
|
||||||
|
|
||||||
|
apiVersion: v1
|
||||||
|
kind: Pod
|
||||||
|
metadata:
|
||||||
|
name: cassandra-setup
|
||||||
|
spec:
|
||||||
|
containers:
|
||||||
|
- name: cassandra-setup
|
||||||
|
imagePullPolicy: Always
|
||||||
|
image: thingsboard/cassandra-setup:1.2.4
|
||||||
|
env:
|
||||||
|
- name: ADD_DEMO_DATA
|
||||||
|
value: "true"
|
||||||
|
- name : CASSANDRA_HOST
|
||||||
|
value: "cassandra-headless"
|
||||||
|
- name : CASSANDRA_PORT
|
||||||
|
value: "9042"
|
||||||
|
- name : DATABASE_TYPE
|
||||||
|
value: "cassandra"
|
||||||
|
command:
|
||||||
|
- sh
|
||||||
|
- -c
|
||||||
|
- /install.sh
|
||||||
|
restartPolicy: Never
|
||||||
@ -50,7 +50,9 @@ metadata:
|
|||||||
data:
|
data:
|
||||||
zookeeper.enabled: "true"
|
zookeeper.enabled: "true"
|
||||||
zookeeper.url: "zk-headless"
|
zookeeper.url: "zk-headless"
|
||||||
cassandra.url: "cassandra-headless:9042"
|
cassandra.host: "cassandra-headless"
|
||||||
|
cassandra.port: "9042"
|
||||||
|
database.type: "cassandra"
|
||||||
---
|
---
|
||||||
apiVersion: apps/v1beta1
|
apiVersion: apps/v1beta1
|
||||||
kind: StatefulSet
|
kind: StatefulSet
|
||||||
@ -100,11 +102,21 @@ spec:
|
|||||||
configMapKeyRef:
|
configMapKeyRef:
|
||||||
name: tb-config
|
name: tb-config
|
||||||
key: zookeeper.url
|
key: zookeeper.url
|
||||||
- name : CASSANDRA_URL
|
- name : CASSANDRA_HOST
|
||||||
valueFrom:
|
valueFrom:
|
||||||
configMapKeyRef:
|
configMapKeyRef:
|
||||||
name: tb-config
|
name: tb-config
|
||||||
key: cassandra.url
|
key: cassandra.host
|
||||||
|
- name : CASSANDRA_PORT
|
||||||
|
valueFrom:
|
||||||
|
configMapKeyRef:
|
||||||
|
name: tb-config
|
||||||
|
key: cassandra.port
|
||||||
|
- name: DATABASE_TYPE
|
||||||
|
valueFrom:
|
||||||
|
configMapKeyRef:
|
||||||
|
name: tb-config
|
||||||
|
key: database.type
|
||||||
- name : RPC_HOST
|
- name : RPC_HOST
|
||||||
valueFrom:
|
valueFrom:
|
||||||
fieldRef:
|
fieldRef:
|
||||||
|
|||||||
@ -8,10 +8,11 @@ COAP_BIND_PORT=5683
|
|||||||
ZOOKEEPER_URL=zk:2181
|
ZOOKEEPER_URL=zk:2181
|
||||||
|
|
||||||
# type of database to use: sql[DEFAULT] or cassandra
|
# type of database to use: sql[DEFAULT] or cassandra
|
||||||
DATABASE_TYPE=sql
|
DATABASE_TYPE=cassandra
|
||||||
|
|
||||||
# cassandra db config
|
# cassandra db config
|
||||||
CASSANDRA_URL=cassandra:9042
|
CASSANDRA_HOST=cassandra
|
||||||
|
CASSANDRA_PORT=9042
|
||||||
|
|
||||||
# postgres db config
|
# postgres db config
|
||||||
# SPRING_JPA_DATABASE_PLATFORM=org.hibernate.dialect.PostgreSQLDialect
|
# SPRING_JPA_DATABASE_PLATFORM=org.hibernate.dialect.PostgreSQLDialect
|
||||||
|
|||||||
@ -19,7 +19,7 @@
|
|||||||
dpkg -i /thingsboard.deb
|
dpkg -i /thingsboard.deb
|
||||||
|
|
||||||
if [ "$DATABASE_TYPE" == "cassandra" ]; then
|
if [ "$DATABASE_TYPE" == "cassandra" ]; then
|
||||||
until nmap cassandra -p 9042 | grep "9042/tcp open"
|
until nmap $CASSANDRA_HOST -p $CASSANDRA_PORT | grep "$CASSANDRA_PORT/tcp open"
|
||||||
do
|
do
|
||||||
echo "Wait for cassandra db to start..."
|
echo "Wait for cassandra db to start..."
|
||||||
sleep 10
|
sleep 10
|
||||||
@ -39,7 +39,7 @@ fi
|
|||||||
if [ "$ADD_SCHEMA_AND_SYSTEM_DATA" == "true" ]; then
|
if [ "$ADD_SCHEMA_AND_SYSTEM_DATA" == "true" ]; then
|
||||||
echo "Creating 'Thingsboard' schema and system data..."
|
echo "Creating 'Thingsboard' schema and system data..."
|
||||||
if [ "$ADD_DEMO_DATA" == "true" ]; then
|
if [ "$ADD_DEMO_DATA" == "true" ]; then
|
||||||
echo "Adding demo data..."
|
echo "plus demo data..."
|
||||||
/usr/share/thingsboard/bin/install/install.sh --loadDemo
|
/usr/share/thingsboard/bin/install/install.sh --loadDemo
|
||||||
elif [ "$ADD_DEMO_DATA" == "false" ]; then
|
elif [ "$ADD_DEMO_DATA" == "false" ]; then
|
||||||
/usr/share/thingsboard/bin/install/install.sh
|
/usr/share/thingsboard/bin/install/install.sh
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user