mirror of
https://github.com/Telecominfraproject/wlan-cloud-ucentral-deploy.git
synced 2026-03-20 03:40:49 +00:00
Compare commits
5 Commits
release/v2
...
release/2.
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
0c2dc913d7 | ||
|
|
fd16bf1439 | ||
|
|
4268735b91 | ||
|
|
a7ce7258ec | ||
|
|
2cbab9dc21 |
@@ -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"
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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:
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -1,3 +0,0 @@
|
||||
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. 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.
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user