Docker updates to new release features
This commit is contained in:
parent
d1f9f25f29
commit
be8f7062a4
@ -115,7 +115,9 @@ cassandra:
|
||||
# Thingsboard keyspace name
|
||||
keyspace_name: "${CASSANDRA_KEYSPACE_NAME:thingsboard}"
|
||||
# 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
|
||||
ssl: "${CASSANDRA_USE_SSL:false}"
|
||||
# Enable/disable JMX
|
||||
|
||||
@ -44,7 +44,7 @@ public abstract class AbstractCassandraCluster {
|
||||
|
||||
@Value("${cassandra.cluster_name}")
|
||||
private String clusterName;
|
||||
@Value("${cassandra.url}")
|
||||
@Value("${cassandra.host}:${cassandra.port}")
|
||||
private String url;
|
||||
@Value("${cassandra.compression}")
|
||||
private String compression;
|
||||
|
||||
@ -2,7 +2,9 @@ cassandra.cluster_name=Thingsboard Cluster
|
||||
|
||||
cassandra.keyspace_name=thingsboard
|
||||
|
||||
cassandra.url=127.0.0.1:9142
|
||||
cassandra.host=127.0.0.1
|
||||
|
||||
cassandra.port=9142
|
||||
|
||||
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
|
||||
@ -7,4 +7,4 @@ build:
|
||||
|
||||
push: build
|
||||
docker push ${PROJECT}/${APP}:${VERSION}
|
||||
docker push ${PROJECT}/${APP}:latest
|
||||
docker push ${PROJECT}/${APP}:latest
|
||||
|
||||
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:
|
||||
zookeeper.enabled: "true"
|
||||
zookeeper.url: "zk-headless"
|
||||
cassandra.url: "cassandra-headless:9042"
|
||||
cassandra.host: "cassandra-headless"
|
||||
cassandra.port: "9042"
|
||||
database.type: "cassandra"
|
||||
---
|
||||
apiVersion: apps/v1beta1
|
||||
kind: StatefulSet
|
||||
@ -100,11 +102,21 @@ spec:
|
||||
configMapKeyRef:
|
||||
name: tb-config
|
||||
key: zookeeper.url
|
||||
- name : CASSANDRA_URL
|
||||
- name : CASSANDRA_HOST
|
||||
valueFrom:
|
||||
configMapKeyRef:
|
||||
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
|
||||
valueFrom:
|
||||
fieldRef:
|
||||
|
||||
@ -8,10 +8,11 @@ COAP_BIND_PORT=5683
|
||||
ZOOKEEPER_URL=zk:2181
|
||||
|
||||
# type of database to use: sql[DEFAULT] or cassandra
|
||||
DATABASE_TYPE=sql
|
||||
DATABASE_TYPE=cassandra
|
||||
|
||||
# cassandra db config
|
||||
CASSANDRA_URL=cassandra:9042
|
||||
CASSANDRA_HOST=cassandra
|
||||
CASSANDRA_PORT=9042
|
||||
|
||||
# postgres db config
|
||||
# SPRING_JPA_DATABASE_PLATFORM=org.hibernate.dialect.PostgreSQLDialect
|
||||
|
||||
@ -9,4 +9,4 @@ build:
|
||||
|
||||
push: build
|
||||
docker push ${PROJECT}/${APP}:${VERSION}
|
||||
docker push ${PROJECT}/${APP}:latest
|
||||
docker push ${PROJECT}/${APP}:latest
|
||||
|
||||
@ -19,7 +19,7 @@
|
||||
dpkg -i /thingsboard.deb
|
||||
|
||||
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
|
||||
echo "Wait for cassandra db to start..."
|
||||
sleep 10
|
||||
@ -39,7 +39,7 @@ fi
|
||||
if [ "$ADD_SCHEMA_AND_SYSTEM_DATA" == "true" ]; then
|
||||
echo "Creating 'Thingsboard' schema and system data..."
|
||||
if [ "$ADD_DEMO_DATA" == "true" ]; then
|
||||
echo "Adding demo data..."
|
||||
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
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user