Compare commits

..

5 Commits

Author SHA1 Message Date
oblom0v
0c2dc913d7 Fix image tags since double quotes in .env are interpreted as part of the value 2021-08-19 12:43:02 +02:00
Dmitry Dunaev
fd16bf1439 Fix: logging for current version 2021-08-02 15:19:15 +03:00
jaspreetsachdev
4268735b91 Update for release 2.0.0
Release v2.0.0 images
2021-07-30 13:49:17 -04:00
jaspreetsachdev
a7ce7258ec Updated for 2.0.0 Release
Updated for 2.0.0 Release
2021-07-30 13:47:43 -04:00
Dmitry Dunaev
2cbab9dc21 Release: 2.0.0 2021-07-30 17:05:09 +02:00
9 changed files with 20 additions and 191 deletions

View File

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

View File

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

View File

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

View File

@@ -1,8 +1,7 @@
COMPOSE_PROJECT_NAME=ucentral
UCENTRALGW_TAG=v2.1.0-RC3
UCENTRALGWUI_TAG=v2.1.0-RC1
UCENTRALSEC_TAG=v2.1.0-RC1
UCENTRALFMS_TAG=v2.1.0-RC1
UCENTRALGW_TAG=v2.0.0
UCENTRALGWUI_TAG=v2.0.0
UCENTRALSEC_TAG=v2.0.0
RTTYS_TAG=3.5.0
KAFKA_TAG=latest
ZOOKEEPER_TAG=latest

View File

@@ -1,3 +0,0 @@
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. 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).
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).
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,6 +17,4 @@ 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 ucentralfms.wlan.local"
SERVICES="ucentralgw.wlan.local ucentralsec.wlan.local"
for i in $SERVICES; do
docker-compose exec -T -u root $i apk add ca-certificates

View File

@@ -31,9 +31,7 @@ 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"
@@ -44,6 +42,8 @@ services:
- .env_ucentralsec
depends_on:
- kafka
- rttys
- ucentralgw.wlan.local
restart: unless-stopped
ports:
- "127.0.0.1:16001:16001"
@@ -52,20 +52,6 @@ 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

@@ -1,141 +0,0 @@
#
# 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