mirror of
https://github.com/Telecominfraproject/wlan-cloud-ucentral-deploy.git
synced 2026-03-20 03:40:49 +00:00
Compare commits
22 Commits
feature/he
...
v2.1.0-RC1
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
4ac4b09110 | ||
|
|
338069c7d8 | ||
|
|
2571e50b6e | ||
|
|
49d6c964c3 | ||
|
|
ebd55e627f | ||
|
|
765e274e8b | ||
|
|
9d9e267fac | ||
|
|
4cb29f4b28 | ||
|
|
c475222967 | ||
|
|
61ee9a2120 | ||
|
|
f4ee38fd74 | ||
|
|
a0c00cba83 | ||
|
|
1c006d532a | ||
|
|
4c849204bb | ||
|
|
e7969b762f | ||
|
|
c55f50a771 | ||
|
|
3f07e5e299 | ||
|
|
08e51ff81d | ||
|
|
e939e0b420 | ||
|
|
7e9efb2b71 | ||
|
|
36b5d12afc | ||
|
|
b5ed453f1c |
76
.github/workflows/release.yml
vendored
Normal file
76
.github/workflows/release.yml
vendored
Normal file
@@ -0,0 +1,76 @@
|
||||
name: Release chart package
|
||||
|
||||
on:
|
||||
push:
|
||||
tags:
|
||||
- 'v*'
|
||||
|
||||
defaults:
|
||||
run:
|
||||
shell: bash
|
||||
|
||||
jobs:
|
||||
helm-package:
|
||||
runs-on: ubuntu-20.04
|
||||
env:
|
||||
HELM_REPO_URL: https://tip.jfrog.io/artifactory/tip-wlan-cloud-ucentral-helm/
|
||||
HELM_REPO_USERNAME: ucentral
|
||||
steps:
|
||||
- name: Checkout uCentral assembly chart repo
|
||||
uses: actions/checkout@v2
|
||||
with:
|
||||
path: wlan-cloud-ucentral-deploy
|
||||
repository: Telecominfraproject/wlan-cloud-ucentral-deploy
|
||||
|
||||
- name: Run pre-checks
|
||||
working-directory: wlan-cloud-ucentral-deploy/chart
|
||||
run: |
|
||||
pip3 install yq -q
|
||||
export CHART_VERSION=$(cat Chart.yaml | yq .version -r)
|
||||
export GIT_TAG=$(echo ${GITHUB_REF} | sed -e 's/refs\/tags\/[v]//' | tr '/' '-')
|
||||
if [ "$CHART_VERSION" != "$GIT_TAG" ]; then
|
||||
echo "Chart version in Chart.yaml ($CHART_VERSION) is different from Git tag ($GIT_TAG)";
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ "$(cat Chart.yaml | yq '.dependencies[].repository' -r | grep -E 'ref=(main|master)' | wc -l)" != "0" ]; then
|
||||
echo "Some of the dependencies does not have a fixed version set. List of affected dependencies:";
|
||||
cat Chart.yaml | yq '.dependencies[].repository' -r | grep -E 'ref=(main|master)';
|
||||
exit 1
|
||||
fi
|
||||
|
||||
- name: Build package
|
||||
working-directory: wlan-cloud-ucentral-deploy/chart
|
||||
run: |
|
||||
helm plugin install https://github.com/aslafy-z/helm-git --version 0.10.0
|
||||
helm repo add bitnami https://charts.bitnami.com/bitnami
|
||||
helm repo update
|
||||
helm dependency update
|
||||
mkdir dist
|
||||
helm package . -d dist
|
||||
|
||||
- name: Login into Helm repo
|
||||
run: helm repo add remote-repo ${{ env.HELM_REPO_URL }} --username ${{ env.HELM_REPO_USERNAME }} --password ${{ secrets.HELM_REPO_PASSWORD }}
|
||||
|
||||
- name: Push Helm package into Helm repo
|
||||
working-directory: wlan-cloud-ucentral-deploy/chart
|
||||
run: |
|
||||
pip3 install yq -q
|
||||
export CHART_NAME=$(cat Chart.yaml | yq .name -r)
|
||||
export CHART_VERSION=$(cat Chart.yaml | yq .version -r)
|
||||
helm plugin install https://github.com/belitre/helm-push-artifactory-plugin --version v1.0.2
|
||||
helm push-artifactory dist/$CHART_NAME-$CHART_VERSION.tgz remote-repo
|
||||
|
||||
- name: Generate GitHub release body
|
||||
working-directory: wlan-cloud-ucentral-deploy/chart
|
||||
run: |
|
||||
pip3 install yq -q
|
||||
echo "Versions of packages in this release:" > release.txt
|
||||
echo >> release.txt
|
||||
cat Chart.yaml | yq -r '.dependencies[] | "\(.name) - \(.repository) v\(.version)"' >> release.txt
|
||||
|
||||
- name: Create GitHub release
|
||||
uses: softprops/action-gh-release@v1
|
||||
with:
|
||||
body_path: wlan-cloud-ucentral-deploy/chart/release.txt
|
||||
files: wlan-cloud-ucentral-deploy/chart/dist/*
|
||||
10
README.md
10
README.md
@@ -8,3 +8,13 @@ Currently 2 deployment methods are supported:
|
||||
2. [Docker-compose](docker-compose) - may be used for local deployments
|
||||
|
||||
Details on every type of deployment may be found in the corresponding directories
|
||||
|
||||
## How to cut a new release
|
||||
|
||||
This is a short version of [uCentral branching model](https://telecominfraproject.atlassian.net/wiki/spaces/WIFI/pages/1416364078/uCentral+branching+model) doc with specifics for this repo. To cut a new release following steps must be done:
|
||||
|
||||
1. Create release branch with next Chart version (check Git tags for the latest version - for example if latest tag was `v0.1.0`, create release branch `release/v0.1.1`), set required microservices tags in refs in Chart.yaml (for example, if we want to have this version to be tied to ucentralgw release version `v2.0.0`, we should set it’s repository to `"git+https://github.com/Telecominfraproject/wlan-cloud-ucentralgw@helm?ref=v2.0.0"`).
|
||||
2. Increase Helm version in [Chart.yaml](./chart/Chart.yaml) to the same version as Git tag (for example if the latest git tag is `v0.1.0`, set version `0.1.1` (**without v in it**) in Chart.yaml).
|
||||
3. Also increase the microservice image tags used by the Docker Compose deployment according to the release in the [.env](./docker-compose/.env) file.
|
||||
4. Create new git tag from release branch. The Git tag should have the same name as the intended release version. Once the tag is pushed to the repo, Github will trigger a build process that will create an assembly Helm chart bundle with all version fixed to the release equal to the Git tag name and will publish it to the public Artifactory and as GitHub release asset.
|
||||
5. Release to the QA namespace using the packaged Helm assembly chart to verify there are no issues related to the deployment.
|
||||
|
||||
@@ -5,6 +5,9 @@ dependencies:
|
||||
- name: ucentralsec
|
||||
repository: git+https://github.com/Telecominfraproject/wlan-cloud-ucentralsec@helm?ref=main
|
||||
version: 0.1.0
|
||||
- name: ucentralfms
|
||||
repository: git+https://github.com/Telecominfraproject/wlan-cloud-ucentralfms@helm?ref=main
|
||||
version: 0.1.0
|
||||
- name: ucentralgwui
|
||||
repository: git+https://github.com/Telecominfraproject/wlan-cloud-ucentralgw-ui@helm?ref=main
|
||||
version: 0.1.0
|
||||
@@ -14,5 +17,5 @@ dependencies:
|
||||
- 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:1e144681dd3b4edcb831cb37d342820dfc82ab05ccfa0be004d7c7450a402011
|
||||
generated: "2021-08-04T19:26:33.071800266+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-RC1
|
||||
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-RC1"
|
||||
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
|
||||
|
||||
@@ -1,11 +1,23 @@
|
||||
# uCentralGW (https://github.com/Telecominfraproject/wlan-cloud-ucentralgw/)
|
||||
ucentralgw:
|
||||
fullnameOverride: ucentralgw
|
||||
|
||||
configProperties:
|
||||
ucentral.kafka.enable: "true"
|
||||
ucentral.kafka.brokerlist: kafka:9092
|
||||
|
||||
# uCentralSec (https://github.com/Telecominfraproject/wlan-cloud-ucentralsec)
|
||||
ucentralsec:
|
||||
fullnameOverride: 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
|
||||
@@ -13,6 +25,9 @@ ucentralsec:
|
||||
# rttys (https://github.com/Telecominfraproject/wlan-cloud-ucentralgw-rtty)
|
||||
rttys:
|
||||
enabled: true
|
||||
|
||||
fullnameOverride: rttys
|
||||
|
||||
config:
|
||||
token: 96181c567b4d0d98c50f127230068fa8
|
||||
|
||||
@@ -29,6 +44,11 @@ kafka:
|
||||
|
||||
minBrokerId: 100
|
||||
|
||||
zookeeper:
|
||||
fullnameOverride: zookeeper
|
||||
|
||||
# uCentral UI (https://github.com/Telecominfraproject/wlan-cloud-ucentralgw-ui/)
|
||||
ucentralgwui:
|
||||
enabled: true
|
||||
|
||||
fullnameOverride: ucentralgwui
|
||||
|
||||
@@ -1,9 +1,8 @@
|
||||
COMPOSE_PROJECT_NAME=ucentral
|
||||
POSTGRES_TAG=latest
|
||||
MYSQL_TAG=latest
|
||||
UCENTRALGW_TAG=master
|
||||
UCENTRALGWUI_TAG=main
|
||||
UCENTRALSEC_TAG=main
|
||||
RTTYS_TAG=3.6.0
|
||||
UCENTRALGW_TAG=v2.1.0-RC1
|
||||
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
|
||||
|
||||
@@ -1,4 +0,0 @@
|
||||
MYSQL_ROOT_PASSWORD=root
|
||||
MYSQL_USER=rttys
|
||||
MYSQL_PASSWORD=rttys
|
||||
MYSQL_DATABASE=rttys
|
||||
@@ -1,5 +0,0 @@
|
||||
POSTGRES_PASSWORD=ucentralgw
|
||||
POSTGRES_USER=ucentralgw
|
||||
UCENTRALSEC_DB=ucentralsec
|
||||
UCENTRALSEC_DB_USER=ucentralsec
|
||||
UCENTRALSEC_DB_PASSWORD=ucentralsec
|
||||
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
|
||||
@@ -1,2 +1,3 @@
|
||||
RUN_CHOWN=true
|
||||
UCENTRALGW_ROOT=/ucentralgw-data
|
||||
UCENTRALGW_CONFIG=/ucentralgw-data
|
||||
|
||||
@@ -1,2 +1,3 @@
|
||||
RUN_CHOWN=true
|
||||
UCENTRALSEC_ROOT=/ucentralsec-data
|
||||
UCENTRALSEC_CONFIG=/ucentralsec-data
|
||||
|
||||
@@ -1,19 +1,20 @@
|
||||
# Docker Compose
|
||||
With the provided Docker Compose file you can instantiate a complete deployment of the uCentral microservices and related components for local development purposes. To spin up a local development environment:
|
||||
1. Switch into the project directory with `cd docker-compose/`.
|
||||
2. This repository contains a gateway certificate signed by TIP and a self-signed certificate for the REST API and other components which are used by default in the Compose deployment. The certificates are valid for the `*.wlan.local` domain and the Docker Compose uCentral microservice configs use `ucentral.wlan.local` as a hostname, so make sure you add an entry in your hosts file (or in your local DNS solution) which points to `127.0.0.1`.
|
||||
2. This repository contains a gateway certificate signed by TIP and a self-signed certificate for the REST API and other components which are used by default in the Compose deployment. The certificates are valid for the `*.wlan.local` domain and the Docker Compose uCentral microservice configs use `ucentral.wlan.local` as a hostname, so make sure you add an entry in your hosts file (or in your local DNS solution) which points to `127.0.0.1` or whatever the IP of the host running the deployment is. Be aware that by default only port `15002` (websocket) and `16003` (fileupload) are exposed on all interfaces and the rest only on localhost. Make sure to adapt that according to your needs.
|
||||
3. If you have your own certificates and want to use the deployment for anything other than local development copy your certs into the `certs/` directory and reference them in the appropriate sections of the microservice configuration files. Make sure to also adapt the sections which reference the hostname. For more information on certificates please see the [certificates section](https://github.com/Telecominfraproject/wlan-cloud-ucentralgw#certificates) of this README and/or [CERTIFICATES.md](https://github.com/Telecominfraproject/wlan-cloud-ucentralgw/blob/master/CERTIFICATES.md).
|
||||
4. Docker Compose pulls the microservice images from the JFrog repository. If you want to change the image tag or some of the image versions which are used for the other services, have a look into the `.env` file. You'll also find service specific `.env` files in this directory. Edit them if you want to change database passwords (highly recommended!) or other configuration data. Don't forget to adapt your changes in the application configuration files.
|
||||
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 a certificate exception in your browser by visiting `https://ucentral.wlan.local:16001` and accepting the SSL certificate warning.
|
||||
9. Navigate to the UI which listens to `127.0.0.1` or `ucentral.wlan.local` and login with your uCentralGW authentication data.
|
||||
10. 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:
|
||||
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:
|
||||
```
|
||||
export UCENTRALSEC="ucentral.wlan.local:16001"
|
||||
export FLAGS="-s --cacert <your-wlan-cloud-ucentral-deploy-location>/docker-compose/certs/restapi-ca.pem"
|
||||
```
|
||||
The `--cacert` option is necessary since the REST API certificates are self-signed. Omit the option if you provide your own signed certificates.
|
||||
|
||||
PS: The Docker Compose deployment creates five local volumes to persist mostly database data and data for Zookeeper and Kafka. If you want re-create the deployment and remove all persistent application and database data just delete the volumes with `docker volume rm $(docker volume ls -qf name=ucentral)` after you stopped the services with `docker-compose down`.
|
||||
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"
|
||||
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
|
||||
|
||||
@@ -1,10 +1,6 @@
|
||||
version: '3'
|
||||
|
||||
volumes:
|
||||
postgresql_data:
|
||||
driver: local
|
||||
mysql_data:
|
||||
driver: local
|
||||
zookeeper_data:
|
||||
driver: local
|
||||
zookeeper_datalog:
|
||||
@@ -13,37 +9,18 @@ volumes:
|
||||
driver: local
|
||||
|
||||
services:
|
||||
postgresql:
|
||||
image: "postgres:${POSTGRES_TAG}"
|
||||
env_file:
|
||||
- .env_postgresql
|
||||
restart: unless-stopped
|
||||
volumes:
|
||||
- postgresql_data:/var/lib/postgresql/data
|
||||
- ./init-ucentralsec-db.sh:/docker-entrypoint-initdb.d/init-ucentralsec-db.sh
|
||||
|
||||
mysql:
|
||||
image: "mysql:${MYSQL_TAG}"
|
||||
env_file:
|
||||
- .env_mysql
|
||||
restart: unless-stopped
|
||||
command: --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
|
||||
volumes:
|
||||
- mysql_data:/var/lib/mysql
|
||||
|
||||
ucentralgw.wlan.local:
|
||||
image: "tip-tip-wlan-cloud-ucentral.jfrog.io/ucentralgw:${UCENTRALGW_TAG}"
|
||||
env_file:
|
||||
- .env_ucentralgw
|
||||
depends_on:
|
||||
- postgresql
|
||||
- kafka
|
||||
- rttys
|
||||
restart: unless-stopped
|
||||
ports:
|
||||
- "127.0.0.1:15002:15002"
|
||||
- "15002:15002"
|
||||
- "127.0.0.1:16002:16002"
|
||||
- "127.0.0.1:16003:16003"
|
||||
- "16003:16003"
|
||||
- "127.0.0.1:16102:16102"
|
||||
volumes:
|
||||
- ./ucentralgw-data:/ucentralgw-data
|
||||
@@ -54,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"
|
||||
@@ -64,10 +43,7 @@ services:
|
||||
env_file:
|
||||
- .env_ucentralsec
|
||||
depends_on:
|
||||
- postgresql
|
||||
- kafka
|
||||
- rttys
|
||||
- ucentralgw.wlan.local
|
||||
restart: unless-stopped
|
||||
ports:
|
||||
- "127.0.0.1:16001:16001"
|
||||
@@ -76,11 +52,26 @@ 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}"
|
||||
depends_on:
|
||||
- mysql
|
||||
restart: unless-stopped
|
||||
ports:
|
||||
- "127.0.0.1:5912:5912"
|
||||
- "127.0.0.1:5913:5913"
|
||||
volumes:
|
||||
- ./certs/restapi-cert.pem:/etc/rttys/restapi-cert.pem
|
||||
- ./certs/restapi-key.pem:/etc/rttys/restapi-key.pem
|
||||
|
||||
@@ -1,8 +0,0 @@
|
||||
#!/bin/bash
|
||||
set -e
|
||||
|
||||
psql -v ON_ERROR_STOP=1 --username "$POSTGRES_USER" <<-EOSQL
|
||||
CREATE USER $UCENTRALSEC_DB_USER WITH ENCRYPTED PASSWORD '$UCENTRALSEC_DB_PASSWORD';
|
||||
CREATE DATABASE $UCENTRALSEC_DB;
|
||||
GRANT ALL PRIVILEGES ON DATABASE $UCENTRALSEC_DB TO $UCENTRALSEC_DB_USER;
|
||||
EOSQL
|
||||
@@ -14,5 +14,3 @@ token: 96181c567b4d0d98c50f127230068fa8
|
||||
# http://localhost:5913/connect/rtty1
|
||||
white-list: "*"
|
||||
#white-list: rtty1 rtty2
|
||||
# mysql database source
|
||||
db: rttys:rttys@tcp(mysql)/rttys
|
||||
|
||||
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
|
||||
|
||||
|
||||
|
||||
@@ -82,7 +82,7 @@ firmware.autoupdate.policy.default = auto
|
||||
# rtty
|
||||
#
|
||||
rtty.enabled = true
|
||||
rtty.server = rttys
|
||||
rtty.server = ucentral.wlan.local
|
||||
rtty.port = 5912
|
||||
rtty.token = 96181c567b4d0d98c50f127230068fa8
|
||||
rtty.timeout = 60
|
||||
@@ -113,8 +113,8 @@ ucentral.kafka.queue.buffering.max.ms = 50
|
||||
# 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 = sqlite
|
||||
#storage.type = postgresql
|
||||
#storage.type = mysql
|
||||
#storage.type = odbc
|
||||
|
||||
|
||||
@@ -75,8 +75,8 @@ ucentral.kafka.queue.buffering.max.ms = 50
|
||||
# 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 = sqlite
|
||||
#storage.type = postgresql
|
||||
#storage.type = mysql
|
||||
#storage.type = odbc
|
||||
|
||||
|
||||
Reference in New Issue
Block a user