mirror of
https://github.com/Telecominfraproject/wlan-cloud-ucentral-deploy.git
synced 2026-03-20 03:40:49 +00:00
Compare commits
14 Commits
v2.0.0
...
v2.1.0-RC2
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
5502c81fc9 | ||
|
|
6b6e7c0cb3 | ||
|
|
4ac4b09110 | ||
|
|
338069c7d8 | ||
|
|
2571e50b6e | ||
|
|
49d6c964c3 | ||
|
|
ebd55e627f | ||
|
|
765e274e8b | ||
|
|
9d9e267fac | ||
|
|
4cb29f4b28 | ||
|
|
c475222967 | ||
|
|
61ee9a2120 | ||
|
|
f4ee38fd74 | ||
|
|
a0c00cba83 |
@@ -1,18 +1,21 @@
|
||||
dependencies:
|
||||
- name: ucentralgw
|
||||
repository: git+https://github.com/Telecominfraproject/wlan-cloud-ucentralgw@helm?ref=master
|
||||
repository: git+https://github.com/Telecominfraproject/wlan-cloud-ucentralgw@helm?ref=v2.1.0-RC2
|
||||
version: 0.1.0
|
||||
- name: ucentralsec
|
||||
repository: git+https://github.com/Telecominfraproject/wlan-cloud-ucentralsec@helm?ref=main
|
||||
repository: git+https://github.com/Telecominfraproject/wlan-cloud-ucentralsec@helm?ref=v2.1.0-RC1
|
||||
version: 0.1.0
|
||||
- name: ucentralfms
|
||||
repository: git+https://github.com/Telecominfraproject/wlan-cloud-ucentralfms@helm?ref=v2.1.0-RC1
|
||||
version: 0.1.0
|
||||
- name: ucentralgwui
|
||||
repository: git+https://github.com/Telecominfraproject/wlan-cloud-ucentralgw-ui@helm?ref=main
|
||||
repository: git+https://github.com/Telecominfraproject/wlan-cloud-ucentralgw-ui@helm?ref=v2.1.0-RC1
|
||||
version: 0.1.0
|
||||
- name: rttys
|
||||
repository: git+https://github.com/Telecominfraproject/wlan-cloud-ucentralgw-rtty@chart?ref=main
|
||||
repository: git+https://github.com/Telecominfraproject/wlan-cloud-ucentralgw-rtty@chart?ref=v0.1.0
|
||||
version: 0.1.0
|
||||
- name: kafka
|
||||
repository: https://charts.bitnami.com/bitnami
|
||||
version: 13.0.2
|
||||
digest: sha256:53ad7494db63a30c02f01a6d9262efadeb475a51259b0351b90079456baf30cf
|
||||
generated: "2021-07-21T15:04:25.34215441+03:00"
|
||||
digest: sha256:38927996b231cee0bab612414308e4b2931329c96634c15485bf7ff45413773f
|
||||
generated: "2021-09-02T12:35:25.840558653+03:00"
|
||||
|
||||
@@ -2,20 +2,23 @@ apiVersion: v2
|
||||
name: wlan-cloud-ucentral
|
||||
appVersion: "1.0"
|
||||
description: A Helm chart for Kubernetes
|
||||
version: 0.1.0
|
||||
version: 2.1.0-RC2
|
||||
dependencies:
|
||||
- name: ucentralgw
|
||||
repository: "git+https://github.com/Telecominfraproject/wlan-cloud-ucentralgw@helm?ref=master"
|
||||
repository: "git+https://github.com/Telecominfraproject/wlan-cloud-ucentralgw@helm?ref=v2.1.0-RC2"
|
||||
version: 0.1.0
|
||||
- name: ucentralsec
|
||||
repository: "git+https://github.com/Telecominfraproject/wlan-cloud-ucentralsec@helm?ref=main"
|
||||
repository: "git+https://github.com/Telecominfraproject/wlan-cloud-ucentralsec@helm?ref=v2.1.0-RC1"
|
||||
version: 0.1.0
|
||||
- name: ucentralfms
|
||||
repository: "git+https://github.com/Telecominfraproject/wlan-cloud-ucentralfms@helm?ref=v2.1.0-RC1"
|
||||
version: 0.1.0
|
||||
- name: ucentralgwui
|
||||
repository: "git+https://github.com/Telecominfraproject/wlan-cloud-ucentralgw-ui@helm?ref=main"
|
||||
repository: "git+https://github.com/Telecominfraproject/wlan-cloud-ucentralgw-ui@helm?ref=v2.1.0-RC1"
|
||||
version: 0.1.0
|
||||
condition: ucentralgwui.enabled
|
||||
- name: rttys
|
||||
repository: "git+https://github.com/Telecominfraproject/wlan-cloud-ucentralgw-rtty@chart?ref=main"
|
||||
repository: "git+https://github.com/Telecominfraproject/wlan-cloud-ucentralgw-rtty@chart?ref=v0.1.0"
|
||||
version: 0.1.0
|
||||
condition: rttys.enabled
|
||||
- name: kafka
|
||||
|
||||
@@ -14,6 +14,14 @@ ucentralsec:
|
||||
ucentral.kafka.enable: "true"
|
||||
ucentral.kafka.brokerlist: kafka:9092
|
||||
|
||||
# uCentralFMS (https://github.com/Telecominfraproject/wlan-cloud-ucentralfms)
|
||||
ucentralfms:
|
||||
fullnameOverride: ucentralfms
|
||||
|
||||
configProperties:
|
||||
ucentral.kafka.enable: "true"
|
||||
ucentral.kafka.brokerlist: kafka:9092
|
||||
|
||||
# rttys (https://github.com/Telecominfraproject/wlan-cloud-ucentralgw-rtty)
|
||||
rttys:
|
||||
enabled: true
|
||||
|
||||
@@ -1,7 +1,8 @@
|
||||
COMPOSE_PROJECT_NAME=ucentral
|
||||
UCENTRALGW_TAG=master
|
||||
UCENTRALGWUI_TAG=main
|
||||
UCENTRALSEC_TAG=main
|
||||
UCENTRALGW_TAG=v2.1.0-RC2
|
||||
UCENTRALGWUI_TAG=v2.1.0-RC1
|
||||
UCENTRALSEC_TAG=v2.1.0-RC1
|
||||
UCENTRALFMS_TAG=v2.1.0-RC1
|
||||
RTTYS_TAG=3.5.0
|
||||
KAFKA_TAG=latest
|
||||
ZOOKEEPER_TAG=latest
|
||||
|
||||
3
docker-compose/.env_ucentralfms
Normal file
3
docker-compose/.env_ucentralfms
Normal file
@@ -0,0 +1,3 @@
|
||||
RUN_CHOWN=true
|
||||
UCENTRALFMS_ROOT=/ucentralfms-data
|
||||
UCENTRALFMS_CONFIG=/ucentralfms-data
|
||||
@@ -7,7 +7,7 @@ With the provided Docker Compose file you can instantiate a complete deployment
|
||||
5. Open `docker-compose/ucentralgw-data/ucentralgw.properties` to change [authentication data](https://github.com/Telecominfraproject/wlan-cloud-ucentralgw#default-username-and-password) for uCentralGW (again highly recommended!).
|
||||
6. Spin up the deployment with `docker-compose up -d`.
|
||||
7. Add the self-signed certificates to the system trust store of the containers with `./add-ca-cert.sh`.
|
||||
8. Either add the `certs/restapi-ca.pem` certificate to your trusted browser certificates or add SSL certificate exceptions in your browser by visiting `https://ucentral.wlan.local:16001` and `https://ucentral.wlan.local:16002` (make sure to visit both and add the exceptions).
|
||||
8. Add SSL certificate exceptions in your browser by visiting https://ucentral.wlan.local:16001, https://ucentral.wlan.local:16002 and https://ucentral.wlan.local:16004 (make sure to visit all and add the exceptions).
|
||||
9. Connect to your AP via SSH and add a static hosts entry in `/etc/hosts` for `ucentral.wlan.local` which points to the address of the host the Compose deployment runs on.
|
||||
10. Navigate to the UI `http://ucentral.wlan.local` and login with your uCentralGW authentication data.
|
||||
11. To use the [curl test script](https://github.com/Telecominfraproject/wlan-cloud-ucentralgw/blob/main/TEST_CURL.md) to talk to the API set the following environment variables:
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
#!/usr/bin/env bash
|
||||
set -e
|
||||
|
||||
SERVICES="ucentralgw.wlan.local ucentralsec.wlan.local"
|
||||
SERVICES="ucentralgw.wlan.local ucentralsec.wlan.local ucentralfms.wlan.local"
|
||||
|
||||
for i in $SERVICES; do
|
||||
docker-compose exec -T -u root $i apk add ca-certificates
|
||||
|
||||
@@ -31,7 +31,9 @@ services:
|
||||
env_file:
|
||||
- .env_ucentralgw-ui
|
||||
depends_on:
|
||||
- ucentralsec.wlan.local
|
||||
- ucentralgw.wlan.local
|
||||
- ucentralfms.wlan.local
|
||||
restart: unless-stopped
|
||||
ports:
|
||||
- "127.0.0.1:80:80"
|
||||
@@ -42,8 +44,6 @@ services:
|
||||
- .env_ucentralsec
|
||||
depends_on:
|
||||
- kafka
|
||||
- rttys
|
||||
- ucentralgw.wlan.local
|
||||
restart: unless-stopped
|
||||
ports:
|
||||
- "127.0.0.1:16001:16001"
|
||||
@@ -52,6 +52,20 @@ services:
|
||||
- ./ucentralsec-data:/ucentralsec-data
|
||||
- ./certs:/ucentralsec-data/certs
|
||||
|
||||
ucentralfms.wlan.local:
|
||||
image: "tip-tip-wlan-cloud-ucentral.jfrog.io/ucentralfms:${UCENTRALFMS_TAG}"
|
||||
env_file:
|
||||
- .env_ucentralfms
|
||||
depends_on:
|
||||
- kafka
|
||||
restart: unless-stopped
|
||||
ports:
|
||||
- "127.0.0.1:16004:16004"
|
||||
- "127.0.0.1:16104:16104"
|
||||
volumes:
|
||||
- ./ucentralfms-data:/ucentralfms-data
|
||||
- ./certs:/ucentralfms-data/certs
|
||||
|
||||
rttys:
|
||||
image: "tip-tip-wlan-cloud-ucentral.jfrog.io/rttys:${RTTYS_TAG}"
|
||||
restart: unless-stopped
|
||||
|
||||
141
docker-compose/ucentralfms-data/ucentralfms.properties
Normal file
141
docker-compose/ucentralfms-data/ucentralfms.properties
Normal file
@@ -0,0 +1,141 @@
|
||||
#
|
||||
# uCentral protocol server for devices. This is where you point
|
||||
# all your devices. You can replace the * for address by the specific
|
||||
# address of one of your interfaces
|
||||
#
|
||||
#
|
||||
# REST API access
|
||||
#
|
||||
ucentralfws.restapi.host.0.backlog = 100
|
||||
ucentralfws.restapi.host.0.security = relaxed
|
||||
ucentralfws.restapi.host.0.rootca = $UCENTRALFMS_ROOT/certs/restapi-ca.pem
|
||||
ucentralfws.restapi.host.0.address = *
|
||||
ucentralfws.restapi.host.0.port = 16004
|
||||
ucentralfws.restapi.host.0.cert = $UCENTRALFMS_ROOT/certs/restapi-cert.pem
|
||||
ucentralfws.restapi.host.0.key = $UCENTRALFMS_ROOT/certs/restapi-key.pem
|
||||
ucentralfws.restapi.host.0.key.password = mypassword
|
||||
|
||||
ucentral.internal.restapi.host.0.backlog = 100
|
||||
ucentral.internal.restapi.host.0.security = relaxed
|
||||
ucentral.internal.restapi.host.0.rootca = $UCENTRALFMS_ROOT/certs/restapi-ca.pem
|
||||
ucentral.internal.restapi.host.0.address = *
|
||||
ucentral.internal.restapi.host.0.port = 17004
|
||||
ucentral.internal.restapi.host.0.cert = $UCENTRALFMS_ROOT/certs/restapi-cert.pem
|
||||
ucentral.internal.restapi.host.0.key = $UCENTRALFMS_ROOT/certs/restapi-key.pem
|
||||
ucentral.internal.restapi.host.0.key.password = mypassword
|
||||
|
||||
#
|
||||
# Generic section that all microservices must have
|
||||
#
|
||||
ucentral.service.key = $UCENTRALFMS_ROOT/certs/restapi-key.pem
|
||||
ucentral.service.key.password = mypassword
|
||||
ucentral.system.data = $UCENTRALFMS_ROOT/data
|
||||
ucentral.system.debug = false
|
||||
ucentral.system.uri.private = https://ucentralfms.wlan.local:17004
|
||||
ucentral.system.uri.public = https://ucentral.wlan.local:16004
|
||||
ucentral.system.commandchannel = /tmp/app.ucentralfms
|
||||
ucentral.system.uri.ui = ucentral.wlan.local
|
||||
|
||||
#
|
||||
# Firmware Microservice Specific Section
|
||||
#
|
||||
s3.bucketname = ucentral-ap-firmware
|
||||
s3.region = us-east-1
|
||||
s3.secret = b0S6EiR5RLIxoe7Xvz9YXPPdxQCoZ6ze37qunTAI
|
||||
s3.key = AKIAUG47UZG7R6SRLD7F
|
||||
s3.retry = 60
|
||||
s3.bucket.uri = ucentral-ap-firmware.s3.amazonaws.com
|
||||
|
||||
firmwaredb.refresh = 1800
|
||||
#############################
|
||||
# Generic information for all micro services
|
||||
#############################
|
||||
#
|
||||
# NLB Support
|
||||
#
|
||||
alb.enable = true
|
||||
alb.port = 16104
|
||||
|
||||
#
|
||||
# Kafka
|
||||
#
|
||||
ucentral.kafka.group.id = firmware
|
||||
ucentral.kafka.client.id = firmware1
|
||||
ucentral.kafka.enable = true
|
||||
ucentral.kafka.brokerlist = kafka:9092
|
||||
ucentral.kafka.auto.commit = false
|
||||
ucentral.kafka.queue.buffering.max.ms = 50
|
||||
|
||||
#
|
||||
# This section select which form of persistence you need
|
||||
# Only one selected at a time. If you select multiple, this service will die if a horrible
|
||||
# death and might make your beer flat.
|
||||
#
|
||||
storage.type = sqlite
|
||||
#storage.type = postgresql
|
||||
#storage.type = mysql
|
||||
#storage.type = odbc
|
||||
|
||||
storage.type.sqlite.db = firmware.db
|
||||
storage.type.sqlite.idletime = 120
|
||||
storage.type.sqlite.maxsessions = 128
|
||||
|
||||
storage.type.postgresql.maxsessions = 64
|
||||
storage.type.postgresql.idletime = 60
|
||||
storage.type.postgresql.host = localhost
|
||||
storage.type.postgresql.username = stephb
|
||||
storage.type.postgresql.password = snoopy99
|
||||
storage.type.postgresql.database = ucentral
|
||||
storage.type.postgresql.port = 5432
|
||||
storage.type.postgresql.connectiontimeout = 60
|
||||
|
||||
storage.type.mysql.maxsessions = 64
|
||||
storage.type.mysql.idletime = 60
|
||||
storage.type.mysql.host = localhost
|
||||
storage.type.mysql.username = stephb
|
||||
storage.type.mysql.password = snoopy99
|
||||
storage.type.mysql.database = ucentral
|
||||
storage.type.mysql.port = 3306
|
||||
storage.type.mysql.connectiontimeout = 60
|
||||
|
||||
|
||||
########################################################################
|
||||
########################################################################
|
||||
#
|
||||
# Logging: please leave as is for now.
|
||||
#
|
||||
########################################################################
|
||||
logging.formatters.f1.class = PatternFormatter
|
||||
logging.formatters.f1.pattern = %Y-%m-%d %H:%M:%S %s: [%p] %t
|
||||
logging.formatters.f1.times = UTC
|
||||
logging.channels.c1.class = ConsoleChannel
|
||||
logging.channels.c1.formatter = f1
|
||||
|
||||
# This is where the logs will be written. This path MUST exist
|
||||
logging.channels.c2.class = FileChannel
|
||||
logging.channels.c2.path = $UCENTRALFMS_ROOT/logs/log
|
||||
logging.channels.c2.formatter.class = PatternFormatter
|
||||
logging.channels.c2.formatter.pattern = %Y-%m-%d %H:%M:%S %s: [%p] %t
|
||||
logging.channels.c2.rotation = 20 M
|
||||
logging.channels.c2.archive = timestamp
|
||||
logging.channels.c2.purgeCount = 20
|
||||
logging.channels.c3.class = ConsoleChannel
|
||||
logging.channels.c3.pattern = %s: [%p] %t
|
||||
|
||||
# External Channel
|
||||
logging.loggers.root.channel = c1
|
||||
logging.loggers.root.level = debug
|
||||
|
||||
# Inline Channel with PatternFormatter
|
||||
# logging.loggers.l1.name = logger1
|
||||
# logging.loggers.l1.channel.class = ConsoleChannel
|
||||
# logging.loggers.l1.channel.pattern = %s: [%p] %t
|
||||
# logging.loggers.l1.level = information
|
||||
# SplitterChannel
|
||||
# logging.channels.splitter.class = SplitterChannel
|
||||
# logging.channels.splitter.channels = l1,l2
|
||||
# logging.loggers.l2.name = logger2
|
||||
# logging.loggers.l2.channel = splitter
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user