Compare commits

..

19 Commits

Author SHA1 Message Date
Johann Hoffmann
dbf8f6e376 Update README.md 2021-09-30 19:32:03 +02:00
Johann Hoffmann
f06971fe5b Update README.md 2021-09-30 19:31:32 +02:00
Dmitry Dunaev
a70857e918 Add: new candidate release (2.1.0-RC3) 2021-09-08 13:17:16 +03:00
jaspreetsachdev
fefd8b0cc5 Update with the most recent change for ucentralgw 2021-09-07 15:54:07 -04:00
jaspreetsachdev
c072a05ee9 Update to the most recent image 2021-09-07 15:49:01 -04:00
Dmitry Dunaev
5502c81fc9 Chg: update ucentralgw to v2.1.0-RC2 and update lock 2021-09-02 12:40:20 +03:00
jaspreetsachdev
6b6e7c0cb3 Updated to the latest ucentralgw tag 2021-09-01 23:16:49 -04:00
oblom0v
4ac4b09110 Set fixed version for RTTYS 2021-08-27 15:12:58 +02:00
oblom0v
338069c7d8 Fix release version name 2021-08-27 15:07:24 +02:00
oblom0v
2571e50b6e Release 2.0.0-RC1 2021-08-27 15:04:09 +02:00
Johann Hoffmann
49d6c964c3 Update README.md 2021-08-26 14:52:14 +02:00
Dmitry Dunaev
ebd55e627f [WIFI-3250] Add: note about new endpoint for uCentralFMS service to accept certificate exception 2021-08-10 13:47:15 +03:00
Dmitry Dunaev
765e274e8b [WIFI-3250] Add: RO creds for ucentralfms 2021-08-10 12:27:10 +03:00
Dmitry Dunaev
9d9e267fac Fix: s3.retry for docker-compose config 2021-08-09 12:33:31 +03:00
Dmitry Dunaev
4cb29f4b28 Chg: update Chart.lock with ucentralfms 2021-08-05 12:25:48 +03:00
Dmitry Dunaev
c475222967 Merge pull request #17 from Telecominfraproject/feature/chart-add-ucentralfms
[WIFI-3279] Add: ucentralfms to Helm chart
2021-08-04 17:59:36 +03:00
Dmitry Dunaev
61ee9a2120 [WIFI-3279] Add: ucentralfms to Helm chart 2021-08-02 16:50:55 +03:00
Dmitry Dunaev
f4ee38fd74 Merge pull request #16 from Telecominfraproject/WIFI-3250-extend-compose-deployment
[WIFI-3250] Extend Docker Compose deployment with new ucentralfms service
2021-08-02 16:45:21 +03:00
oblom0v
a0c00cba83 Add uCentralFMS service and adapt existing files 2021-07-30 16:27:20 +02:00
9 changed files with 191 additions and 20 deletions

View File

@@ -1,12 +1,15 @@
dependencies:
- name: ucentralgw
repository: git+https://github.com/Telecominfraproject/wlan-cloud-ucentralgw@helm?ref=v2.0.0
repository: git+https://github.com/Telecominfraproject/wlan-cloud-ucentralgw@helm?ref=v2.1.0-RC3
version: 0.1.0
- name: ucentralsec
repository: git+https://github.com/Telecominfraproject/wlan-cloud-ucentralsec@helm?ref=v2.0.0
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=v2.0.0
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=v0.1.0
@@ -14,5 +17,5 @@ dependencies:
- name: kafka
repository: https://charts.bitnami.com/bitnami
version: 13.0.2
digest: sha256:9c9d4eefb4d86337134eae961a297ad76eb025d077d78b82847f5653983161c5
generated: "2021-08-02T13:50:27.857633819+03:00"
digest: sha256:dd01079e0cd254744f00f3f85259ebd0c9893b965c9724819e40c4c912be20e4
generated: "2021-09-08T13:12:25.763485669+03:00"

View File

@@ -2,16 +2,19 @@ apiVersion: v2
name: wlan-cloud-ucentral
appVersion: "1.0"
description: A Helm chart for Kubernetes
version: 2.0.0
version: 2.1.0-RC3
dependencies:
- name: ucentralgw
repository: "git+https://github.com/Telecominfraproject/wlan-cloud-ucentralgw@helm?ref=v2.0.0"
repository: "git+https://github.com/Telecominfraproject/wlan-cloud-ucentralgw@helm?ref=v2.1.0-RC3"
version: 0.1.0
- name: ucentralsec
repository: "git+https://github.com/Telecominfraproject/wlan-cloud-ucentralsec@helm?ref=v2.0.0"
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=v2.0.0"
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

View File

@@ -5,8 +5,6 @@ ucentralgw:
configProperties:
ucentral.kafka.enable: "true"
ucentral.kafka.brokerlist: kafka:9092
logging.formatters.f1.pattern: "%Y-%m-%d %H:%M:%S %s: [%p] %t"
logging.loggers.root.channel: c1
# uCentralSec (https://github.com/Telecominfraproject/wlan-cloud-ucentralsec)
ucentralsec:
@@ -15,8 +13,14 @@ ucentralsec:
configProperties:
ucentral.kafka.enable: "true"
ucentral.kafka.brokerlist: kafka:9092
logging.formatters.f1.pattern: "%Y-%m-%d %H:%M:%S %s: [%p] %t"
logging.loggers.root.channel: c1
# 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:

View File

@@ -1,7 +1,8 @@
COMPOSE_PROJECT_NAME=ucentral
UCENTRALGW_TAG="v2.0.0"
UCENTRALGWUI_TAG="v2.0.0"
UCENTRALSEC_TAG="v2.0.0"
UCENTRALGW_TAG=v2.1.0-RC3
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

View File

@@ -0,0 +1,3 @@
RUN_CHOWN=true
UCENTRALFMS_ROOT=/ucentralfms-data
UCENTRALFMS_CONFIG=/ucentralfms-data

View File

@@ -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:
@@ -17,4 +17,6 @@ export FLAGS="-s --cacert <your-wlan-cloud-ucentral-deploy-location>/docker-comp
```
The `--cacert` option is necessary since the REST API certificates are self-signed. Omit the option if you provide your own signed certificates.
**Note**: When deploying with self-signed certificates you can not make use of the trace functionality in the UI since the AP will throw a TLS error when uploading the trace to uCentralGW. Please use the Letsencrypt deployment or provide your own valid certificates if you want to use this function.
PS: The deployment creates local volumes to persist mostly application and database data. In addition to that several bind mounts are created: one for the `docker-compose/certs/` directory which is used by multiple services, and the other ones mount service specific data directories and configuration files located under `docker-compose/` into the appropriate containers. Be aware that for the bind mounts the host directories and files will be owned by the user in the container. Since the files are under version control, you may have to change the ownership to your user again before pulling changes.

View File

@@ -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

View File

@@ -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

View 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