mirror of
https://github.com/Telecominfraproject/wlan-cloud-ucentral-deploy.git
synced 2026-03-20 03:40:49 +00:00
Compare commits
75 Commits
delay
...
v2.6.0-RC3
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
262b572cc7 | ||
|
|
dcdfefeac1 | ||
|
|
322a6dbe39 | ||
|
|
0edee41ad9 | ||
|
|
6fddf78759 | ||
|
|
1bc18dbe85 | ||
|
|
4af8cabcd3 | ||
|
|
85a92c8f50 | ||
|
|
e388ba0833 | ||
|
|
9fa2c00092 | ||
|
|
9c27c167ca | ||
|
|
62d3bd6724 | ||
|
|
0d60cd1004 | ||
|
|
798414363b | ||
|
|
8e3a1a6aa8 | ||
|
|
46225139cb | ||
|
|
dfd26d3d7f | ||
|
|
bac81ddf69 | ||
|
|
6b0a148caa | ||
|
|
b77194b5e8 | ||
|
|
7fe9b39a01 | ||
|
|
74dbf8aac0 | ||
|
|
bf1ad84357 | ||
|
|
1591d968a6 | ||
|
|
1070472c1b | ||
|
|
62ed783d95 | ||
|
|
644ff61e87 | ||
|
|
471907aaf6 | ||
|
|
7f9c82c40f | ||
|
|
76c44c5f5a | ||
|
|
eb5421a2fe | ||
|
|
3bd988aaed | ||
|
|
43d1c6499c | ||
|
|
94a7b7c10f | ||
|
|
ea31dc784e | ||
|
|
0a13612351 | ||
|
|
65d516091b | ||
|
|
613e560b3c | ||
|
|
a7ae4ac9c3 | ||
|
|
284fc2f703 | ||
|
|
500ad97523 | ||
|
|
069225307c | ||
|
|
29dfb04b3f | ||
|
|
b4f17c8142 | ||
|
|
fc1b8580c0 | ||
|
|
6844052e9b | ||
|
|
daa6c5d95b | ||
|
|
a8de1f3cd2 | ||
|
|
30bc627cd4 | ||
|
|
5e2ff8d5fb | ||
|
|
e335d2cca3 | ||
|
|
b028fde21a | ||
|
|
201f666223 | ||
|
|
7bb56887b7 | ||
|
|
7ae5389dde | ||
|
|
4412d8159f | ||
|
|
def2ea3827 | ||
|
|
63bf637921 | ||
|
|
955ee6bc04 | ||
|
|
ffd9f9850b | ||
|
|
6502f60213 | ||
|
|
9749f9871f | ||
|
|
08b83ac56b | ||
|
|
0127bd5d27 | ||
|
|
152cfaa0bd | ||
|
|
129c68dc09 | ||
|
|
0d4efd37c8 | ||
|
|
9d82a191df | ||
|
|
0bebbca3dd | ||
|
|
7d0e0746e0 | ||
|
|
135ef24c82 | ||
|
|
5e17a7b980 | ||
|
|
0fcc67565e | ||
|
|
591277b5c4 | ||
|
|
5e77eedc76 |
13
.github/git-release-tool/git-release-tool.sh
vendored
13
.github/git-release-tool/git-release-tool.sh
vendored
@@ -99,18 +99,11 @@ modify_deploy_repo_values() {
|
||||
sed "s/$REPO_DOCKER_COMPOSE_NAME=.*/$REPO_DOCKER_COMPOSE_NAME=$SERVICE_TAG/" -i docker-compose/.env.selfsigned
|
||||
sed "/${REPO_NAME_WITHOUT_SUFFIX#*/}@/s/ref=.*/ref=$SERVICE_TAG\"/g" -i chart/Chart.yaml
|
||||
done
|
||||
if [[ "$(git diff | wc -l)" -eq "0" ]]; then
|
||||
log_info "No changes in microservices found, new release is not required"
|
||||
LATEST_RELEASE_TAG=$(git tag | grep $CURRENT_RELEASE_VERSION | tail -1)
|
||||
if [[ "$(git diff | wc -l)" -eq "0" ]] && [[ "$(git diff $LATEST_RELEASE_TAG)" -eq "0" ]]; then
|
||||
log_info "No changes in microservices and since the latest tag are found, new release is not required"
|
||||
else
|
||||
sed 's/^version: .*/version: '${NEW_RELEASE_TAG#v}'/' chart/Chart.yaml -i
|
||||
if [[ "$GIT_PUSH_CONFIRMED" == "true" ]]; then
|
||||
log_info "Updating helm dependencies:"
|
||||
cd chart
|
||||
helm dependency update
|
||||
cd ..
|
||||
else
|
||||
log_info "Skipping helm charts update due to GIT_PUSH_CONFIRMED not being set to 'true'"
|
||||
fi
|
||||
fi
|
||||
git diff
|
||||
}
|
||||
|
||||
18
.github/git-release-tool/repositories.yaml
vendored
18
.github/git-release-tool/repositories.yaml
vendored
@@ -12,9 +12,15 @@ repositories:
|
||||
- name: owgw-ui
|
||||
url: https://github.com/Telecominfraproject/wlan-cloud-ucentralgw-ui.git
|
||||
docker_compose_name: OWGWUI_TAG
|
||||
# - name: owprov-ui
|
||||
# url: https://github.com/Telecominfraproject/wlan-cloud-owprov-ui.git
|
||||
# docker_compose_name: OWPROVUI_TAG
|
||||
# - name: owprov
|
||||
# url: https://github.com/Telecominfraproject/wlan-cloud-owprov.git
|
||||
# docker_compose_name: OWPROV_TAG
|
||||
- name: owprov-ui
|
||||
url: https://github.com/Telecominfraproject/wlan-cloud-owprov-ui.git
|
||||
docker_compose_name: OWPROVUI_TAG
|
||||
- name: owprov
|
||||
url: https://github.com/Telecominfraproject/wlan-cloud-owprov.git
|
||||
docker_compose_name: OWPROV_TAG
|
||||
- name: owanalytics
|
||||
url: https://github.com/Telecominfraproject/wlan-cloud-analytics.git
|
||||
docker_compose_name: OWANALYTICS_TAG
|
||||
- name: owsub
|
||||
url: https://github.com/Telecominfraproject/wlan-cloud-userportal.git
|
||||
docker_compose_name: OWSUB_TAG
|
||||
|
||||
113
.github/workflows/ci.yml
vendored
Normal file
113
.github/workflows/ci.yml
vendored
Normal file
@@ -0,0 +1,113 @@
|
||||
name: CI
|
||||
|
||||
on:
|
||||
push:
|
||||
tags:
|
||||
- 'v*'
|
||||
- '!v*-RC*'
|
||||
pull_request:
|
||||
branches:
|
||||
- main
|
||||
- 'release/*'
|
||||
|
||||
defaults:
|
||||
run:
|
||||
shell: bash
|
||||
|
||||
jobs:
|
||||
envs:
|
||||
name: Setup environment variables for further tests
|
||||
if: startsWith(github.ref, 'refs/pull/') || startsWith(github.ref, 'refs/tags/v')
|
||||
runs-on: ubuntu-latest
|
||||
outputs:
|
||||
pr_branch: ${{ steps.get_branch_names.outputs.pr_branch }}
|
||||
deployment_upgrade_tag: ${{ steps.get_deployment_upgrade_tag.outputs.tag }}
|
||||
deployment_tag: ${{ steps.get_deployment_tag.outputs.tag }}
|
||||
steps:
|
||||
- name: Get branch names and set as outputs
|
||||
id: get_branch_names
|
||||
if: startsWith(github.ref, 'refs/pull/')
|
||||
run: |
|
||||
echo ::set-output name=pr_branch::$(echo ${GITHUB_HEAD_REF})
|
||||
|
||||
- name: Get created deployment tag and set as output
|
||||
id: get_deployment_upgrade_tag
|
||||
if: startsWith(github.ref, 'refs/tags/v')
|
||||
run: |
|
||||
echo ::set-output name=tag::$(echo ${GITHUB_REF#refs/tags/})
|
||||
|
||||
- name: Get previous deployment tag
|
||||
id: get_deployment_tag
|
||||
if: startsWith(github.ref, 'refs/tags/v')
|
||||
run: |
|
||||
echo ::set-output name=tag::$(git tag | grep -v RC | tail -2 | head -1)
|
||||
|
||||
trigger-docker-compose-testing:
|
||||
if: startsWith(github.ref, 'refs/pull/')
|
||||
runs-on: ubuntu-latest
|
||||
needs: envs
|
||||
steps:
|
||||
- name: Checkout actions repo
|
||||
uses: actions/checkout@v2
|
||||
with:
|
||||
repository: Telecominfraproject/.github
|
||||
path: github
|
||||
|
||||
- name: Trigger testing of OpenWifi Docker Compose deployment and wait for result
|
||||
uses: ./github/composite-actions/trigger-workflow-and-wait
|
||||
env:
|
||||
PR_BRANCH: ${{ needs.envs.outputs.pr_branch }}
|
||||
with:
|
||||
owner: Telecominfraproject
|
||||
repo: wlan-testing
|
||||
workflow: ow_docker-compose.yml
|
||||
token: ${{ secrets.WLAN_TESTING_PAT }}
|
||||
ref: master
|
||||
inputs: '{"deployment_version": "${{ env.PR_BRANCH }}", "microservice": "all"}'
|
||||
|
||||
trigger-k8s-testing:
|
||||
if: startsWith(github.ref, 'refs/pull/')
|
||||
runs-on: ubuntu-latest
|
||||
needs: envs
|
||||
steps:
|
||||
- name: Checkout actions repo
|
||||
uses: actions/checkout@v2
|
||||
with:
|
||||
repository: Telecominfraproject/.github
|
||||
path: github
|
||||
|
||||
- name: Trigger testing of OpenWifi Docker Compose deployment and wait for result
|
||||
uses: ./github/composite-actions/trigger-workflow-and-wait
|
||||
env:
|
||||
PR_BRANCH: ${{ needs.envs.outputs.pr_branch }}
|
||||
with:
|
||||
owner: Telecominfraproject
|
||||
repo: wlan-testing
|
||||
workflow: ow_k8s.yml
|
||||
token: ${{ secrets.WLAN_TESTING_PAT }}
|
||||
ref: master
|
||||
inputs: '{"deployment_version": "${{ env.PR_BRANCH }}", "microservice": "all"}'
|
||||
|
||||
trigger-docker-compose-upgrade-testing:
|
||||
if: startsWith(github.ref, 'refs/tags/v')
|
||||
runs-on: ubuntu-latest
|
||||
needs: envs
|
||||
steps:
|
||||
- name: Checkout actions repo
|
||||
uses: actions/checkout@v2
|
||||
with:
|
||||
repository: Telecominfraproject/.github
|
||||
path: github
|
||||
|
||||
- name: Trigger testing of OpenWifi Docker Compose deployment upgrade and wait for result
|
||||
uses: ./github/composite-actions/trigger-workflow-and-wait
|
||||
env:
|
||||
DEPLOYMENT_TAG: ${{ needs.envs.outputs.deployment_tag }}
|
||||
DEPLOYMENT_UPGRADE_TAG: ${{ needs.envs.outputs.deployment_upgrade_tag }}
|
||||
with:
|
||||
owner: Telecominfraproject
|
||||
repo: wlan-testing
|
||||
workflow: ow_docker-compose-upgrade-test.yml
|
||||
token: ${{ secrets.WLAN_TESTING_PAT }}
|
||||
ref: master
|
||||
inputs: '{"deployment_version": "${{ env.DEPLOYMENT_TAG }}", "deployment_upgrade_version": "${{ env.DEPLOYMENT_UPGRADE_TAG }}"}'
|
||||
32
.github/workflows/release.yml
vendored
32
.github/workflows/release.yml
vendored
@@ -22,22 +22,22 @@ jobs:
|
||||
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: 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
|
||||
|
||||
1
.gitignore
vendored
1
.gitignore
vendored
@@ -3,3 +3,4 @@ chart/charts/*
|
||||
/docker-compose/certs/
|
||||
/docker-compose/*_data
|
||||
/docker-compose/owls/*_data
|
||||
chart/environment-values/wlan-cloud-ucentral-deploy/
|
||||
|
||||
@@ -1,27 +0,0 @@
|
||||
dependencies:
|
||||
- name: owgw
|
||||
repository: git+https://github.com/Telecominfraproject/wlan-cloud-ucentralgw@helm?ref=master
|
||||
version: 0.1.0
|
||||
- name: owsec
|
||||
repository: git+https://github.com/Telecominfraproject/wlan-cloud-ucentralsec@helm?ref=main
|
||||
version: 0.1.0
|
||||
- name: owfms
|
||||
repository: git+https://github.com/Telecominfraproject/wlan-cloud-ucentralfms@helm?ref=main
|
||||
version: 0.1.0
|
||||
- name: owprov
|
||||
repository: git+https://github.com/Telecominfraproject/wlan-cloud-owprov@helm?ref=main
|
||||
version: 0.1.0
|
||||
- name: owgwui
|
||||
repository: git+https://github.com/Telecominfraproject/wlan-cloud-ucentralgw-ui@helm?ref=main
|
||||
version: 0.1.0
|
||||
- name: owprovui
|
||||
repository: git+https://github.com/Telecominfraproject/wlan-cloud-owprov-ui@helm?ref=main
|
||||
version: 0.1.0
|
||||
- name: rttys
|
||||
repository: git+https://github.com/Telecominfraproject/wlan-cloud-ucentralgw-rtty@chart?ref=main
|
||||
version: 0.1.0
|
||||
- name: kafka
|
||||
repository: https://charts.bitnami.com/bitnami
|
||||
version: 13.0.2
|
||||
digest: sha256:3de20b44745484d6e2980d34b3d9e95c92b93537facb2a0bb62c75e583ef444f
|
||||
generated: "2021-10-26T16:27:32.319129019+03:00"
|
||||
@@ -2,31 +2,34 @@ apiVersion: v2
|
||||
name: openwifi
|
||||
appVersion: "1.0"
|
||||
description: A Helm chart for Kubernetes
|
||||
version: 0.1.0
|
||||
version: 2.6.0-RC3
|
||||
dependencies:
|
||||
- name: owgw
|
||||
repository: "git+https://github.com/Telecominfraproject/wlan-cloud-ucentralgw@helm?ref=master"
|
||||
repository: "git+https://github.com/Telecominfraproject/wlan-cloud-ucentralgw@helm?ref=v2.6.0-RC2"
|
||||
version: 0.1.0
|
||||
- name: owsec
|
||||
repository: "git+https://github.com/Telecominfraproject/wlan-cloud-ucentralsec@helm?ref=main"
|
||||
repository: "git+https://github.com/Telecominfraproject/wlan-cloud-ucentralsec@helm?ref=v2.6.0-RC2"
|
||||
version: 0.1.0
|
||||
- name: owfms
|
||||
repository: "git+https://github.com/Telecominfraproject/wlan-cloud-ucentralfms@helm?ref=main"
|
||||
repository: "git+https://github.com/Telecominfraproject/wlan-cloud-ucentralfms@helm?ref=v2.6.0-RC1"
|
||||
version: 0.1.0
|
||||
- name: owprov
|
||||
repository: "git+https://github.com/Telecominfraproject/wlan-cloud-owprov@helm?ref=main"
|
||||
repository: "git+https://github.com/Telecominfraproject/wlan-cloud-owprov@helm?ref=v2.6.0-RC2"
|
||||
version: 0.1.0
|
||||
- name: owanalytics
|
||||
repository: "git+https://github.com/Telecominfraproject/wlan-cloud-analytics@helm?ref=v2.6.0-RC2"
|
||||
version: 0.1.0
|
||||
- name: owgwui
|
||||
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.6.0-RC2"
|
||||
version: 0.1.0
|
||||
- name: owprovui
|
||||
repository: "git+https://github.com/Telecominfraproject/wlan-cloud-owprov-ui@helm?ref=main"
|
||||
repository: "git+https://github.com/Telecominfraproject/wlan-cloud-owprov-ui@helm?ref=v2.6.0-RC3"
|
||||
version: 0.1.0
|
||||
- name: rttys
|
||||
repository: "git+https://github.com/Telecominfraproject/wlan-cloud-ucentralgw-rtty@chart?ref=main"
|
||||
- name: owsub
|
||||
repository: "git+https://github.com/Telecominfraproject/wlan-cloud-userportal@helm?ref=v2.6.0-RC1"
|
||||
version: 0.1.0
|
||||
- name: kafka
|
||||
repository: https://charts.bitnami.com/bitnami
|
||||
repository: https://tip.jfrog.io/artifactory/tip-wlan-cloud-ucentral-helm/
|
||||
version: 13.0.2
|
||||
- name: owls
|
||||
repository: "git+https://github.com/Telecominfraproject/wlan-cloud-owls@helm?ref=main"
|
||||
@@ -36,3 +39,7 @@ dependencies:
|
||||
repository: "git+https://github.com/Telecominfraproject/wlan-cloud-owls-ui@helm?ref=master"
|
||||
version: 0.1.0
|
||||
condition: owlsui.enabled
|
||||
- name: haproxy
|
||||
repository: https://tip.jfrog.io/artifactory/tip-wlan-cloud-ucentral-helm/
|
||||
version: 0.2.21
|
||||
condition: haproxy.enabled
|
||||
|
||||
132
chart/README.md
132
chart/README.md
@@ -7,6 +7,7 @@ This Helm chart helps to deploy OpenWIFI Cloud SDK with all required dependencie
|
||||
[helm-git](https://github.com/aslafy-z/helm-git) is required for remote the installation as it pull charts from other repositories for the deployment, so intall it if you don't have it already.
|
||||
|
||||
```bash
|
||||
$ helm dependency update
|
||||
$ helm install .
|
||||
```
|
||||
|
||||
@@ -20,23 +21,35 @@ Current dependencies may be found in [chart definition](Chart.yaml) and list wil
|
||||
|
||||
## Installing the Chart
|
||||
|
||||
To install the chart with the release name `my-release`:
|
||||
There are multiple ways to install this chart. Described commands will deploy the OpenWIFI Cloud SDK on the Kubernetes cluster in the default configuration. The [configuration](#configuration) section lists the parameters that will be overwritten above default values from dependent charts.
|
||||
|
||||
### Installation using local git repo
|
||||
|
||||
To install the chart from local git repo with the release name `my-release` you need to first update dependencies as it is required with dependencies deployed by helm-git:
|
||||
|
||||
```bash
|
||||
$ helm install --name my-release git+https://github.com/Telecominfraproject/wlan-cloud-ucentral-deploy/@chart?ref=main
|
||||
$ helm dependency update
|
||||
$ helm install .
|
||||
```
|
||||
|
||||
The command deploys the OpenWIFI Cloud SDK on the Kubernetes cluster in the default configuration. The [configuration](#configuration) section lists the parameters that will be overwritten above default values from dependent charts.
|
||||
### Installation using remote chart
|
||||
|
||||
> **Tip**: List all releases using `helm list`
|
||||
|
||||
If you need to update your release, it could be required to update your helm charts dependencies before installation:
|
||||
To install the chart with the release name `my-release` you need to first update dependencies as it is required with dependencies deployed by helm-git:
|
||||
|
||||
```bash
|
||||
helm dependency update
|
||||
$ helm install --name my-release git+https://github.com/Telecominfraproject/wlan-cloud-ucentral-deploy@chart/openwifi-0.1.0.tgz?ref=main
|
||||
```
|
||||
|
||||
#### Required password changing on the first startup
|
||||
### Installation using external repo
|
||||
|
||||
This approach requires adding external helm repo and new versions are build for every [release](https://github.com/Telecominfraproject/wlan-cloud-ucentral-deploy/releases):
|
||||
|
||||
```bash
|
||||
helm repo add tip-wlan https://tip.jfrog.io/artifactory/tip-wlan-cloud-ucentral-helm/
|
||||
helm install my-release tip-wlan/openwifi
|
||||
```
|
||||
|
||||
## Required password changing on the first startup
|
||||
|
||||
One important action that must be done before using the deployment is changing password for the default user in owsec as described in [owsec docs](https://github.com/Telecominfraproject/wlan-cloud-ucentralsec/tree/main#changing-default-password). Please use these docs to find the actions that must be done **after** the deployment in order to start using your deployment.
|
||||
|
||||
@@ -62,7 +75,14 @@ The following table lists the configurable parameters that overrides microservic
|
||||
| `owsec.configProperties."openwifi\.kafka\.brokerlist"` | string | Sets up Kafka broker list for OpenWIFI Security to the predictable Kubernetes service name (see `kafka.fullnameOverride` option description for details) | `'kafka:9092'` |
|
||||
| `owfms.configProperties."openwifi\.kafka\.enable"` | string | Configures OpenWIFI Firmware to use Kafka for communication | `'true'` |
|
||||
| `owfms.configProperties."openwifi\.kafka\.brokerlist"` | string | Sets up Kafka broker list for OpenWIFI Firmware to the predictable Kubernetes service name (see `kafka.fullnameOverride` option description for details) | `'kafka:9092'` |
|
||||
| `owprov.configProperties."openwifi\.kafka\.enable"` | string | Configures OpenWIFI Provisioning to use Kafka for communication | `'true'` |
|
||||
| `owprov.configProperties."openwifi\.kafka\.brokerlist"` | string | Sets up Kafka broker list for OpenWIFI Provisioning to the predictable Kubernetes service name (see `kafka.fullnameOverride` option description for details) | `'kafka:9092'` |
|
||||
| `owanalytics.enabled` | boolean | Install OpenWIFI Analytics in the release | `false` |
|
||||
| `owanalytics.configProperties."openwifi\.kafka\.enable"` | string | Configures OpenWIFI Analytics to use Kafka for communication | `'true'` |
|
||||
| `owanalytics.configProperties."openwifi\.kafka\.brokerlist"` | string | Sets up Kafka broker list for OpenWIFI Analytics to the predictable Kubernetes service name (see `kafka.fullnameOverride` option description for details) | `'kafka:9092'` |
|
||||
| `rttys.enabled` | boolean | Enables [rttys](https://github.com/Telecominfraproject/wlan-cloud-ucentralgw-rtty) deployment | `True` |
|
||||
| `rttys.internal` | boolean | Whether to use the built-in rttys server | `True` |
|
||||
| `rttys.enabled` | boolean | Enable or disable rttys | `True` |
|
||||
| `rttys.config.token` | string | Sets default rttys token | |
|
||||
| `kafka.enabled` | boolean | Enables [kafka](https://github.com/bitnami/charts/blob/master/bitnami/kafka/) deployment | `True` |
|
||||
| `kafka.fullnameOverride` | string | Overrides Kafka Kubernetes service name so it could be predictable and set in microservices configs | `'kafka'` |
|
||||
@@ -70,6 +90,21 @@ The following table lists the configurable parameters that overrides microservic
|
||||
| `kafka.image.repository` | string | Kafka Docker image repository | `'bitnami/kafka'` |
|
||||
| `kafka.image.tag` | string | Kafka Docker image tag | `'2.8.0-debian-10-r43'` |
|
||||
| `kafka.minBrokerId` | number | Sets Kafka minimal broker ID (useful for multi-node Kafka installations) | `100` |
|
||||
| `clustersysteminfo.enabled` | boolean | Enables post-install check that makes sure that all services are working correctly using systeminfo RESTAPI method | `false` |
|
||||
| `clustersysteminfo.delay` | integer | Number of seconds to delay clustersysteminfo execution | `0` |
|
||||
| `clustersysteminfo.public_env_variables` | hash | Map of public environment variables that will be passed to the script (required for configuration) | |
|
||||
| `clustersysteminfo.secret_env_variables` | hash | Map of secret environment variables that will be passed to the script (for example, password) | |
|
||||
| `clustersysteminfo.activeDeadlineSeconds` | integer | Number of seconds that are allowed for job to run before failing with Dealine Exceeded error | `2400` |
|
||||
| `clustersysteminfo.backoffLimit` | integer | Number of jobs retries before job failure | `5` |
|
||||
| `owls.enabled` | boolean | Install OpenWIFI Load Simulator in the release | `false` |
|
||||
| `owls.configProperties."openwifi\.kafka\.enable"` | string | Configures OpenWIFI Load Simulator to use Kafka for communication | `'true'` |
|
||||
| `owls.configProperties."openwifi\.kafka\.brokerlist"` | string | Sets up Kafka broker list for OpenWIFI Load Simulator to the predictable Kubernetes service name (see `kafka.fullnameOverride` option description for details) | `'kafka:9092'` |
|
||||
| `owlsui.enabled` | boolean | Install OpenWIFI Load Simulator Web UI in the release | `false` |
|
||||
| `haproxy.enabled` | boolean | Install HAproxy as a unified TCP proxy for services | `true` |
|
||||
| `haproxy.replicaCount` | Integer | Amount of HAproxy pods to start | `3` |
|
||||
| `restapiCerts.enabled` | boolean | Enable generation of self-signed certificates for REST API private endpoints (see details below) | `false` |
|
||||
| `restapiCerts.services` | array | List of services that require certificates generation | |
|
||||
| `restapiCerts.clusterDomain` | string | Kubernetes cluster domain | `cluster.local` |
|
||||
|
||||
If required, further overrides may be passed. They will be merged with default values from this chart and other subcharts with priority to values you'll pass.
|
||||
|
||||
@@ -90,3 +125,84 @@ $ helm install --name my-release -f values.yaml .
|
||||
```
|
||||
|
||||
> **Tip**: You can use the default [values.yaml](values.yaml) as a base for customization.
|
||||
|
||||
## Optional features
|
||||
|
||||
Some features of the SDK are not enabled by default, but you may enable them by changing your values file. Below you may find information about supported features and values that may be used as a base to enable these changes. As an example of used values you may check values files in [wlan-testing](https://github.com/Telecominfraproject/wlan-testing/tree/master/helm/ucentral) repository that are used for different automated testing pipelines.
|
||||
|
||||
If you want to enable different features, you may try passing additional values files using `-f` flag during `helm install/upgrade` commands.
|
||||
|
||||
### Cluster systeminfo check
|
||||
|
||||
By setting `clusterinfo.enabled` to `true` you may enable job on post-install/post-upgrade step that will do the following:
|
||||
|
||||
1. Change default security credentials from credentials set in OWSEC configuration file (see 'Required password changing on the first startup' block above)
|
||||
2. Check if all services started responding correctly after the deployment using systeminfo REST API method
|
||||
|
||||
In order to do that, you need to additionaly set multiple parameters:
|
||||
|
||||
1. clusterinfo.public_env_variables.OWSEC - OWSEC endpoint to use for CLI tools
|
||||
2. clusterinfo.secret_env_variables.OWSEC_DEFAULT_USERNAME - username used for CLI requests (see OWSEC configuration file for details)
|
||||
3. clusterinfo.secret_env_variables.OWSEC_DEFAULT_PASSWORD - default password stored in OWSEC configuration that is required for initial password change
|
||||
4. clusterinfo.secret_env_variables.OWSEC_NEW_PASSWORD - new password that should be set instead of default OWSEC password. It is set only once, then used all the time. Password must comply https://github.com/Telecominfraproject/wlan-cloud-ucentralsec/#authenticationvalidationexpression
|
||||
|
||||
If you are interested in script itself, see [script](https://github.com/Telecominfraproject/wlan-cloud-ucentral-deploy/blob/main/chart/docker/clustersysteminfo).
|
||||
|
||||
You may see example values to enable this feature in [values.enable-clustersysteminfo.yaml](./feature-values/values.enable-clustersysteminfo.yaml).
|
||||
|
||||
### Load simulation
|
||||
|
||||
Chart also allows to install [OWLS](https://github.com/Telecominfraproject/wlan-cloud-owls) and [OWLS-UI](https://github.com/Telecominfraproject/wlan-cloud-owls-ui) alongside your installation if you are interested in load testing your installation. See services repositories for available options and configuration details.
|
||||
|
||||
You may see example values to enable this feature in [values.enable-owls.yaml](./feature-values/values.enable-owls.yaml).
|
||||
|
||||
### HAproxy
|
||||
|
||||
In order to use single point of entry for all services (may be used for one cloud Load Balancer per installation) HAproxy is installed by default with other services. HAproxy is working in TCP proxy mode, so every TLS certificate is managed by services themself, while it is possible to pass requests from cloud load balancer to services using same ports (configuration of cloud load balancer may vary from cloud provider to provider).
|
||||
|
||||
By default this option is enabled, but you may disable it and make per-service LoadBalancer using values in [values.disable-haproxy.yaml](./feature-values/values.disable-haproxy.yaml).
|
||||
|
||||
### OWGW unsafe sysctls
|
||||
|
||||
By default Linux is using quite adeqate sysctl values for TCP keepalive, but OWGW may keep disconnected APs in stuck state preventing it from connecting back. This may be changed by setting some sysctls to lower values:
|
||||
|
||||
- net.ipv4.tcp_keepalive_intvl
|
||||
- net.ipv4.tcp_keepalive_probes - 2
|
||||
- net.ipv4.tcp_keepalive_time - 45
|
||||
|
||||
However this change is [not considered safe by Kubernetes](https://kubernetes.io/docs/tasks/administer-cluster/sysctl-cluster/#enabling-unsafe-sysctls) and it requires to pass additional argument to your Kubelets services in your Kubernetes cluster:
|
||||
|
||||
```
|
||||
--allowed-unsafe-sysctls net.ipv4.tcp_keepalive_intvl,net.ipv4.tcp_keepalive_probes,net.ipv4.tcp_keepalive_time
|
||||
```
|
||||
|
||||
After this change you may pass additional parameters to OWGW helm chart. You may see example values in [values.owgw-unsafe-sysctl.yaml](./feature-values/values.owgw-unsafe-sysctl.yaml)
|
||||
|
||||
### Private REST API cert-manager managed certificates
|
||||
|
||||
All services have 2 REST API endpoints - private and public one. Private endpoint is used for inter-service communication and should not be exposed to the world, but since it also requires TLS in order to work correctly, additional optional logic was implemented that allows to manage TLS certificates for such endpoints to be managed by [cert-manager](https://github.com/jetstack/cert-manager). In order to activate this feature following steps are required:
|
||||
|
||||
0. Install and configure [cert-manager](https://cert-manager.io/docs/) in your cluster
|
||||
1. Enable option by setting `restapiCerts.enabled`
|
||||
2. If you have a different Kubernetes cluster domain, adapt `restapiCerts.clusterDomain` to your cluster domain
|
||||
3. Add additional parameters for services in order to mount certificates secrets in pods, use certificates by service and add public environment variable that will add cert-manager managed CA certificate to pod's trusted chain (see [OWGW docker-entrypoint.sh](https://github.com/Telecominfraproject/wlan-cloud-ucentralgw/blob/master/docker-entrypoint.sh) as example of how it is done)
|
||||
|
||||
You may see example values to enable this feature in [values.restapi-certmanager-certs.yaml](./feature-values/values.restapi-certmanager-certs.yaml).
|
||||
|
||||
### Unsecure REST API endpoints
|
||||
|
||||
If you want, you may use configuration property `openwifi.security.restapi.disable=true` in order to disable TLS requirements on REST API endpoints which basically only requires OWGW Websocket TLS certificate in order to deploy the whole environment. If you will pass certificates into the container they will be ignored.
|
||||
|
||||
You may see example values to enable this feature in [values.restapi-disable-tls.yaml](./feature-values/values.restapi-disable-tls.yaml).
|
||||
|
||||
## Environment specific values
|
||||
|
||||
This repository contains values files that may be used in the same manner as feature values above to deploy to specific runtime envionemnts (including different cloud deployments).
|
||||
|
||||
Some environments are using [external-dns](https://github.com/kubernetes-sigs/external-dns) service to dynamically set DNS records, but you may manage your records manually
|
||||
|
||||
### AWS EKS
|
||||
|
||||
EKS based installation assumes that you are using [AWS Load Balancer controller](https://kubernetes-sigs.github.io/aws-load-balancer-controller) so that all required ALBs and NLBs are created automatically. Also it is assumed that you have Route53 managed DNS zone and you've issued wildcard certificate for one of your zones that may be used by Load Balancers.
|
||||
|
||||
You may see example values for this environment in [values.aws.yaml](./environment-values/values.aws.yaml).
|
||||
|
||||
@@ -38,23 +38,20 @@ do
|
||||
sleep 5
|
||||
done
|
||||
|
||||
if [[ "$ONLY_CHANGE_CREDENTIALS" == "true" ]]; then
|
||||
echo "Flag ONLY_CHANGE_CREDENTIALS was set to true, exiting without services checks";
|
||||
exit 0
|
||||
fi
|
||||
|
||||
if [[ "${CHANGE_CHECK_RETRIES}" -eq "0" ]]
|
||||
then
|
||||
echo "Run out of retries to change/check login credentials"
|
||||
exit 3
|
||||
fi
|
||||
|
||||
# Adapt scripts for the security credentials
|
||||
# -> Username
|
||||
sed '/^username/s/username=.*/username="'$OWSEC_DEFAULT_USERNAME'"/' owsec_cli -i
|
||||
sed '/^username/s/username=.*/username="'$OWSEC_DEFAULT_USERNAME'"/' owgw_cli -i
|
||||
sed '/^username/s/username=.*/username="'$OWSEC_DEFAULT_USERNAME'"/' owfms_cli -i
|
||||
sed '/^username/s/username=.*/username="'$OWSEC_DEFAULT_USERNAME'"/' owprov_cli -i
|
||||
# -> Password
|
||||
sed '/^password/s/password=.*/password="'$OWSEC_NEW_PASSWORD'"/' owsec_cli -i
|
||||
sed '/^password/s/password=.*/password="'$OWSEC_NEW_PASSWORD'"/' owgw_cli -i
|
||||
sed '/^password/s/password=.*/password="'$OWSEC_NEW_PASSWORD'"/' owfms_cli -i
|
||||
sed '/^password/s/password=.*/password="'$OWSEC_NEW_PASSWORD'"/' owprov_cli -i
|
||||
# Prepare security credentials for cli usage
|
||||
export OWSEC_USERNAME=${OWSEC_DEFAULT_USERNAME}
|
||||
export OWSEC_PASSWORD=${OWSEC_NEW_PASSWORD}
|
||||
|
||||
echo "Running systeminfo checks for all components until all of them are available OR check tries are exausted ($CHECK_RETRIES)"
|
||||
exit_code_sum=1
|
||||
|
||||
244
chart/environment-values/deploy.sh
Executable file
244
chart/environment-values/deploy.sh
Executable file
@@ -0,0 +1,244 @@
|
||||
#!/bin/bash
|
||||
set -e
|
||||
|
||||
# Usage function
|
||||
usage () {
|
||||
echo >&2;
|
||||
echo "This script is indended for OpenWIFI Cloud SDK deployment to TIP QA/Dev environments using assembly Helm chart (https://github.com/Telecominfraproject/wlan-cloud-ucentral-deploy/tree/main/chart) with configuration through environment variables" >&2;
|
||||
echo >&2;
|
||||
echo "Required environment variables:" >&2;
|
||||
echo >&2;
|
||||
echo "- NAMESPACE - namespace suffix that will used added for the Kubernetes environment (i.e. if you pass 'test', kubernetes namespace will be named 'ucentral-test')" >&2;
|
||||
echo "- DEPLOY_METHOD - deployment method for the chart deployment (supported methods - 'git' (will use helm-git from assembly chart) and 'bundle' (will use chart stored in the Artifactory0" >&2;
|
||||
echo "- CHART_VERSION - version of chart to be deployed from assembly chart (for 'git' method git ref may be passed, for 'bundle' method version of chart may be passed)" >&2;
|
||||
echo >&2;
|
||||
echo "- VALUES_FILE_LOCATION - path to file with override values that may be used for deployment" >&2;
|
||||
echo "- OWGW_AUTH_USERNAME - username to be used for requests to OpenWIFI Security" >&2;
|
||||
echo "- OWGW_AUTH_PASSWORD - hashed password for OpenWIFI Security (details on this may be found in https://github.com/Telecominfraproject/wlan-cloud-ucentralsec/#authenticationdefaultpassword)" >&2;
|
||||
echo "- OWFMS_S3_SECRET - secret key that is used for OpenWIFI Firmware access to firmwares S3 bucket" >&2;
|
||||
echo "- OWFMS_S3_KEY - access key that is used for OpenWIFI Firmware access to firmwares S3 bucket" >&2;
|
||||
echo "- OWSEC_NEW_PASSWORD - password that should be set to default user instead of default password from properties" >&2;
|
||||
echo "- CERT_LOCATION - path to certificate in PEM format that will be used for securing all endpoint in all services" >&2;
|
||||
echo "- KEY_LOCATION - path to private key in PEM format that will be used for securing all endpoint in all services" >&2;
|
||||
echo >&2;
|
||||
echo "Following environmnet variables may be passed, but will be ignored if CHART_VERSION is set to release (i.e. v2.4.0):" >&2;
|
||||
echo >&2;
|
||||
echo "- OWGW_VERSION - OpenWIFI Gateway version to deploy (will be used for Docker image tag and git branch for Helm chart if git deployment is required)" >&2;
|
||||
echo "- OWGWUI_VERSION - OpenWIFI Web UI version to deploy (will be used for Docker image tag and git branch for Helm chart if git deployment is required)" >&2;
|
||||
echo "- OWSEC_VERSION - OpenWIFI Security version to deploy (will be used for Docker image tag and git branch for Helm chart if git deployment is required)" >&2;
|
||||
echo "- OWFMS_VERSION - OpenWIFI Firmware version to deploy (will be used for Docker image tag and git branch for Helm chart if git deployment is required)" >&2;
|
||||
echo "- OWPROV_VERSION - OpenWIFI Provisioning version to deploy (will be used for Docker image tag and git branch for Helm chart if git deployment is required)" >&2;
|
||||
echo "- OWPROVUI_VERSION - OpenWIFI Provisioning Web UI version to deploy (will be used for Docker image tag and git branch for Helm chart if git deployment is required)" >&2;
|
||||
echo "- OWANALYTICS_VERSION - OpenWIFI Analytics version to deploy (will be used for Docker image tag and git branch for Helm chart if git deployment is required)" >&2;
|
||||
echo "- OWSUB_VERSION - OpenWIFI Subscription (Userportal) version to deploy (will be used for Docker image tag and git branch for Helm chart if git deployment is required)" >&2;
|
||||
echo >&2;
|
||||
echo "Optional environment variables:" >&2;
|
||||
echo >&2;
|
||||
echo "- EXTRA_VALUES - extra values that should be passed to Helm deployment separated by comma (,)" >&2;
|
||||
echo "- DEVICE_CERT_LOCATION - path to certificate in PEM format that will be used for load simulator" >&2;
|
||||
echo "- DEVICE_KEY_LOCATION - path to private key in PEM format that will be used for load simulator" >&2;
|
||||
echo "- USE_SEPARATE_OWGW_LB - flag that should change split external DNS for OWGW and other services" >&2;
|
||||
echo "- INTERNAL_RESTAPI_ENDPOINT_SCHEMA - what schema to use for internal RESTAPI endpoints (https by default)" >&2;
|
||||
echo "- IPTOCOUNTRY_IPINFO_TOKEN - token that should be set for IPInfo support (owgw/owprov iptocountry.ipinfo.token properties), ommited if not passed" >&2;
|
||||
echo "- MAILER_USERNAME - SMTP username used for OWSEC mailer" >&2;
|
||||
echo "- MAILER_PASSWORD - SMTP password used for OWSEC mailer (only if both MAILER_PASSWORD and MAILER_USERNAME are set, mailer will be enabled)" >&2;
|
||||
}
|
||||
|
||||
# Global variables
|
||||
VALUES_FILE_LOCATION_SPLITTED=()
|
||||
EXTRA_VALUES_SPLITTED=()
|
||||
|
||||
# Helper functions
|
||||
check_if_chart_version_is_release() {
|
||||
PARSED_CHART_VERSION=$(echo $CHART_VERSION | grep -xP "v\d+\.\d+\.\d+.*")
|
||||
if [[ -z "$PARSED_CHART_VERSION" ]]; then
|
||||
return 1
|
||||
else
|
||||
return 0
|
||||
fi
|
||||
}
|
||||
|
||||
# Check if required environment variables were passed
|
||||
## Deployment specifics
|
||||
[ -z ${DEPLOY_METHOD+x} ] && echo "DEPLOY_METHOD is unset" >&2 && usage && exit 1
|
||||
[ -z ${CHART_VERSION+x} ] && echo "CHART_VERSION is unset" >&2 && usage && exit 1
|
||||
if check_if_chart_version_is_release; then
|
||||
echo "Chart version ($CHART_VERSION) is release version, ignoring services versions"
|
||||
else
|
||||
echo "Chart version ($CHART_VERSION) is not release version, checking if services versions are set"
|
||||
[ -z ${OWGW_VERSION+x} ] && echo "OWGW_VERSION is unset" >&2 && usage && exit 1
|
||||
[ -z ${OWGWUI_VERSION+x} ] && echo "OWGWUI_VERSION is unset" >&2 && usage && exit 1
|
||||
[ -z ${OWSEC_VERSION+x} ] && echo "OWSEC_VERSION is unset" >&2 && usage && exit 1
|
||||
[ -z ${OWFMS_VERSION+x} ] && echo "OWFMS_VERSION is unset" >&2 && usage && exit 1
|
||||
[ -z ${OWPROV_VERSION+x} ] && echo "OWPROV_VERSION is unset" >&2 && usage && exit 1
|
||||
[ -z ${OWPROVUI_VERSION+x} ] && echo "OWPROVUI_VERSION is unset" >&2 && usage && exit 1
|
||||
[ -z ${OWANALYTICS_VERSION+x} ] && echo "OWANALYTICS_VERSION is unset" >&2 && usage && exit 1
|
||||
[ -z ${OWSUB_VERSION+x} ] && echo "OWSUB_VERSION is unset" >&2 && usage && exit 1
|
||||
fi
|
||||
## Environment specifics
|
||||
[ -z ${NAMESPACE+x} ] && echo "NAMESPACE is unset" >&2 && usage && exit 1
|
||||
## Variables specifics
|
||||
[ -z ${VALUES_FILE_LOCATION+x} ] && echo "VALUES_FILE_LOCATION is unset" >&2 && usage && exit 1
|
||||
[ -z ${OWGW_AUTH_USERNAME+x} ] && echo "OWGW_AUTH_USERNAME is unset" >&2 && usage && exit 1
|
||||
[ -z ${OWGW_AUTH_PASSWORD+x} ] && echo "OWGW_AUTH_PASSWORD is unset" >&2 && usage && exit 1
|
||||
[ -z ${OWFMS_S3_SECRET+x} ] && echo "OWFMS_S3_SECRET is unset" >&2 && usage && exit 1
|
||||
[ -z ${OWFMS_S3_KEY+x} ] && echo "OWFMS_S3_KEY is unset" >&2 && usage && exit 1
|
||||
[ -z ${OWSEC_NEW_PASSWORD+x} ] && echo "OWSEC_NEW_PASSWORD is unset" >&2 && usage && exit 1
|
||||
[ -z ${CERT_LOCATION+x} ] && echo "CERT_LOCATION is unset" >&2 && usage && exit 1
|
||||
[ -z ${KEY_LOCATION+x} ] && echo "KEY_LOCATION is unset" >&2 && usage && exit 1
|
||||
|
||||
[ -z ${DEVICE_CERT_LOCATION+x} ] && echo "DEVICE_CERT_LOCATION is unset, setting it to CERT_LOCATION" && export DEVICE_CERT_LOCATION=$CERT_LOCATION
|
||||
[ -z ${DEVICE_KEY_LOCATION+x} ] && echo "DEVICE_KEY_LOCATION is unset, setting it to KEY_LOCATION" && export DEVICE_KEY_LOCATION=$KEY_LOCATION
|
||||
[ -z ${INTERNAL_RESTAPI_ENDPOINT_SCHEMA+x} ] && echo "INTERNAL_RESTAPI_ENDPOINT_SCHEMA is unset, setting it to 'https'" && export INTERNAL_RESTAPI_ENDPOINT_SCHEMA=https
|
||||
export MAILER_ENABLED="false"
|
||||
[ ! -z ${MAILER_USERNAME+x} ] && [ ! -z ${MAILER_PASSWORD+x} ] && echo "MAILER_USERNAME and MAILER_PASSWORD are set, mailer will be enabled" && export MAILER_ENABLED="true"
|
||||
|
||||
# Transform some environment variables
|
||||
export OWGW_VERSION_TAG=$(echo ${OWGW_VERSION} | tr '/' '-')
|
||||
export OWGWUI_VERSION_TAG=$(echo ${OWGWUI_VERSION} | tr '/' '-')
|
||||
export OWSEC_VERSION_TAG=$(echo ${OWSEC_VERSION} | tr '/' '-')
|
||||
export OWFMS_VERSION_TAG=$(echo ${OWFMS_VERSION} | tr '/' '-')
|
||||
export OWPROV_VERSION_TAG=$(echo ${OWPROV_VERSION} | tr '/' '-')
|
||||
export OWPROVUI_VERSION_TAG=$(echo ${OWPROVUI_VERSION} | tr '/' '-')
|
||||
export OWANALYTICS_VERSION_TAG=$(echo ${OWANALYTICS_VERSION} | tr '/' '-')
|
||||
export OWSUB_VERSION_TAG=$(echo ${OWSUB_VERSION} | tr '/' '-')
|
||||
|
||||
# Debug get bash version
|
||||
bash --version >&2
|
||||
|
||||
# Check deployment method that's required for this environment
|
||||
helm plugin install https://github.com/databus23/helm-diff || true
|
||||
if [[ "$DEPLOY_METHOD" == "git" ]]; then
|
||||
helm plugin install https://github.com/aslafy-z/helm-git --version 0.10.0 || true
|
||||
rm -rf wlan-cloud-ucentral-deploy || true
|
||||
git clone https://github.com/Telecominfraproject/wlan-cloud-ucentral-deploy.git
|
||||
cd wlan-cloud-ucentral-deploy
|
||||
git checkout $CHART_VERSION
|
||||
cd chart
|
||||
if ! check_if_chart_version_is_release; then
|
||||
sed -i '/wlan-cloud-ucentralgw@/s/ref=.*/ref='${OWGW_VERSION}'\"/g' Chart.yaml
|
||||
sed -i '/wlan-cloud-ucentralgw-ui@/s/ref=.*/ref='${OWGWUI_VERSION}'\"/g' Chart.yaml
|
||||
sed -i '/wlan-cloud-ucentralsec@/s/ref=.*/ref='${OWSEC_VERSION}'\"/g' Chart.yaml
|
||||
sed -i '/wlan-cloud-ucentralfms@/s/ref=.*/ref='${OWFMS_VERSION}'\"/g' Chart.yaml
|
||||
sed -i '/wlan-cloud-owprov@/s/ref=.*/ref='${OWPROV_VERSION}'\"/g' Chart.yaml
|
||||
sed -i '/wlan-cloud-owprov-ui@/s/ref=.*/ref='${OWPROVUI_VERSION}'\"/g' Chart.yaml
|
||||
sed -i '/wlan-cloud-analytics@/s/ref=.*/ref='${OWANALYTICS_VERSION}'\"/g' Chart.yaml
|
||||
sed -i '/wlan-cloud-userportal@/s/ref=.*/ref='${OWSUB_VERSION}'\"/g' Chart.yaml
|
||||
fi
|
||||
helm repo add bitnami https://charts.bitnami.com/bitnami
|
||||
helm repo update
|
||||
helm dependency update
|
||||
cd ../..
|
||||
export DEPLOY_SOURCE="wlan-cloud-ucentral-deploy/chart"
|
||||
else
|
||||
if [[ "$DEPLOY_METHOD" == "bundle" ]]; then
|
||||
helm repo add tip-wlan-cloud-ucentral-helm https://tip.jfrog.io/artifactory/tip-wlan-cloud-ucentral-helm/ || true
|
||||
export DEPLOY_SOURCE="tip-wlan-cloud-ucentral-helm/openwifi --version $CHART_VERSION"
|
||||
else
|
||||
echo "Deploy method is not correct: $DEPLOY_METHOD. Valid value - git or bundle" >&2
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
|
||||
VALUES_FILES_FLAGS=()
|
||||
IFS=',' read -ra VALUES_FILE_LOCATION_SPLITTED <<< "$VALUES_FILE_LOCATION"
|
||||
for VALUE_FILE in ${VALUES_FILE_LOCATION_SPLITTED[*]}; do
|
||||
VALUES_FILES_FLAGS+=("-f" $VALUE_FILE)
|
||||
done
|
||||
EXTRA_VALUES_FLAGS=()
|
||||
IFS=',' read -ra EXTRA_VALUES_SPLITTED <<< "$EXTRA_VALUES"
|
||||
for EXTRA_VALUE in ${EXTRA_VALUES_SPLITTED[*]}; do
|
||||
EXTRA_VALUES_FLAGS+=("--set" $EXTRA_VALUE)
|
||||
done
|
||||
|
||||
if [[ "$USE_SEPARATE_OWGW_LB" == "true" ]]; then
|
||||
export HAPROXY_SERVICE_DNS_RECORDS="sec-${NAMESPACE}.cicd.lab.wlan.tip.build\,fms-${NAMESPACE}.cicd.lab.wlan.tip.build\,prov-${NAMESPACE}.cicd.lab.wlan.tip.build\,analytics-${NAMESPACE}.cicd.lab.wlan.tip.build\,sub-${NAMESPACE}.cicd.lab.wlan.tip.build"
|
||||
export OWGW_SERVICE_DNS_RECORDS="gw-${NAMESPACE}.cicd.lab.wlan.tip.build"
|
||||
else
|
||||
export HAPROXY_SERVICE_DNS_RECORDS="gw-${NAMESPACE}.cicd.lab.wlan.tip.build\,sec-${NAMESPACE}.cicd.lab.wlan.tip.build\,fms-${NAMESPACE}.cicd.lab.wlan.tip.build\,prov-${NAMESPACE}.cicd.lab.wlan.tip.build\,analytics-${NAMESPACE}.cicd.lab.wlan.tip.build\,sub-${NAMESPACE}.cicd.lab.wlan.tip.build"
|
||||
export OWGW_SERVICE_DNS_RECORDS=""
|
||||
fi
|
||||
|
||||
# Run the deployment
|
||||
helm upgrade --install --create-namespace --wait --timeout 60m \
|
||||
--namespace openwifi-${NAMESPACE} \
|
||||
${VALUES_FILES_FLAGS[*]} \
|
||||
--set owgw.services.owgw.annotations."external-dns\.alpha\.kubernetes\.io/hostname"=gw-${NAMESPACE}.cicd.lab.wlan.tip.build \
|
||||
--set owgw.configProperties."openwifi\.fileuploader\.host\.0\.name"=gw-${NAMESPACE}.cicd.lab.wlan.tip.build \
|
||||
--set owgw.configProperties."rtty\.server"=gw-${NAMESPACE}.cicd.lab.wlan.tip.build \
|
||||
--set owgw.configProperties."openwifi\.system\.uri\.public"=https://gw-${NAMESPACE}.cicd.lab.wlan.tip.build:16002 \
|
||||
--set owgw.configProperties."openwifi\.system\.uri\.private"=$INTERNAL_RESTAPI_ENDPOINT_SCHEMA://owgw-owgw:17002 \
|
||||
--set owgw.configProperties."openwifi\.system\.uri\.ui"=https://webui-${NAMESPACE}.cicd.lab.wlan.tip.build \
|
||||
--set owgw.configProperties."iptocountry\.ipinfo\.token"="${IPTOCOUNTRY_IPINFO_TOKEN}" \
|
||||
--set owgw.public_env_variables.OWSEC=sec-${NAMESPACE}.cicd.lab.wlan.tip.build:16001 \
|
||||
--set owsec.configProperties."authentication\.default\.username"=${OWGW_AUTH_USERNAME} \
|
||||
--set owsec.configProperties."authentication\.default\.password"=${OWGW_AUTH_PASSWORD} \
|
||||
--set owsec.services.owsec.annotations."external-dns\.alpha\.kubernetes\.io/hostname"=sec-${NAMESPACE}.cicd.lab.wlan.tip.build \
|
||||
--set owsec.configProperties."openwifi\.system\.uri\.public"=https://sec-${NAMESPACE}.cicd.lab.wlan.tip.build:16001 \
|
||||
--set owsec.configProperties."openwifi\.system\.uri\.private"=$INTERNAL_RESTAPI_ENDPOINT_SCHEMA://owsec-owsec:17001 \
|
||||
--set owsec.configProperties."openwifi\.system\.uri\.ui"=https://webui-${NAMESPACE}.cicd.lab.wlan.tip.build \
|
||||
--set owsec.configProperties."mailer\.sender"=sec-${NAMESPACE}@cicd.lab.wlan.tip.build \
|
||||
--set owsec.configProperties."mailer\.enabled"=$MAILER_ENABLED \
|
||||
--set owsec.configProperties."mailer\.username"=$MAILER_USERNAME \
|
||||
--set owsec.configProperties."mailer\.password"=$MAILER_PASSWORD \
|
||||
--set owfms.configProperties."s3\.secret"=${OWFMS_S3_SECRET} \
|
||||
--set owfms.configProperties."s3\.key"=${OWFMS_S3_KEY} \
|
||||
--set owfms.services.owfms.annotations."external-dns\.alpha\.kubernetes\.io/hostname"=fms-${NAMESPACE}.cicd.lab.wlan.tip.build \
|
||||
--set owfms.configProperties."openwifi\.system\.uri\.public"=https://fms-${NAMESPACE}.cicd.lab.wlan.tip.build:16004 \
|
||||
--set owfms.configProperties."openwifi\.system\.uri\.private"=$INTERNAL_RESTAPI_ENDPOINT_SCHEMA://owfms-owfms:17004 \
|
||||
--set owfms.configProperties."openwifi\.system\.uri\.ui"=https://webui-${NAMESPACE}.cicd.lab.wlan.tip.build \
|
||||
--set owfms.public_env_variables.OWSEC=sec-${NAMESPACE}.cicd.lab.wlan.tip.build:16001 \
|
||||
--set owgwui.ingresses.default.annotations."external-dns\.alpha\.kubernetes\.io/hostname"=webui-${NAMESPACE}.cicd.lab.wlan.tip.build \
|
||||
--set owgwui.ingresses.default.hosts={webui-${NAMESPACE}.cicd.lab.wlan.tip.build} \
|
||||
--set owgwui.public_env_variables.DEFAULT_UCENTRALSEC_URL=https://sec-${NAMESPACE}.cicd.lab.wlan.tip.build:16001 \
|
||||
--set owprov.services.owprov.annotations."external-dns\.alpha\.kubernetes\.io/hostname"=prov-${NAMESPACE}.cicd.lab.wlan.tip.build \
|
||||
--set owprov.configProperties."openwifi\.system\.uri\.public"=https://prov-${NAMESPACE}.cicd.lab.wlan.tip.build:16005 \
|
||||
--set owprov.configProperties."openwifi\.system\.uri\.private"=$INTERNAL_RESTAPI_ENDPOINT_SCHEMA://owprov-owprov:17005 \
|
||||
--set owprov.configProperties."openwifi\.system\.uri\.ui"=https://webui-${NAMESPACE}.cicd.lab.wlan.tip.build \
|
||||
--set owprov.configProperties."iptocountry\.ipinfo\.token"="${IPTOCOUNTRY_IPINFO_TOKEN}" \
|
||||
--set owprov.public_env_variables.OWSEC=sec-${NAMESPACE}.cicd.lab.wlan.tip.build:16001 \
|
||||
--set owprovui.ingresses.default.annotations."external-dns\.alpha\.kubernetes\.io/hostname"=provui-${NAMESPACE}.cicd.lab.wlan.tip.build \
|
||||
--set owprovui.ingresses.default.hosts={provui-${NAMESPACE}.cicd.lab.wlan.tip.build} \
|
||||
--set owprovui.public_env_variables.DEFAULT_UCENTRALSEC_URL=https://sec-${NAMESPACE}.cicd.lab.wlan.tip.build:16001 \
|
||||
--set owprovui.public_env_variables.REACT_APP_UCENTRALSEC_URL=https://sec-${NAMESPACE}.cicd.lab.wlan.tip.build:16001 \
|
||||
--set owanalytics.services.owanalytics.annotations."external-dns\.alpha\.kubernetes\.io/hostname"=analytics-${NAMESPACE}.cicd.lab.wlan.tip.build \
|
||||
--set owanalytics.configProperties."openwifi\.system\.uri\.public"=https://analytics-${NAMESPACE}.cicd.lab.wlan.tip.build:16009 \
|
||||
--set owanalytics.configProperties."openwifi\.system\.uri\.private"=$INTERNAL_RESTAPI_ENDPOINT_SCHEMA://owanalytics-owanalytics:17009 \
|
||||
--set owanalytics.configProperties."openwifi\.system\.uri\.ui"=https://webui-${NAMESPACE}.cicd.lab.wlan.tip.build \
|
||||
--set owanalytics.public_env_variables.OWSEC=sec-${NAMESPACE}.cicd.lab.wlan.tip.build:16001 \
|
||||
--set owsub.services.owsub.annotations."external-dns\.alpha\.kubernetes\.io/hostname"=sub-${NAMESPACE}.cicd.lab.wlan.tip.build \
|
||||
--set owsub.configProperties."openwifi\.system\.uri\.public"=https://sub-${NAMESPACE}.cicd.lab.wlan.tip.build:16006 \
|
||||
--set owsub.configProperties."openwifi\.system\.uri\.private"=$INTERNAL_RESTAPI_ENDPOINT_SCHEMA://owsub-owsub:17006 \
|
||||
--set owsub.configProperties."openwifi\.system\.uri\.ui"=https://webui-${NAMESPACE}.cicd.lab.wlan.tip.build \
|
||||
--set owsub.public_env_variables.OWSEC=sec-${NAMESPACE}.cicd.lab.wlan.tip.build:16001 \
|
||||
--set clustersysteminfo.public_env_variables.OWSEC=sec-${NAMESPACE}.cicd.lab.wlan.tip.build:16001 \
|
||||
--set clustersysteminfo.secret_env_variables.OWSEC_NEW_PASSWORD=${OWSEC_NEW_PASSWORD} \
|
||||
--set owls.services.owls.annotations."external-dns\.alpha\.kubernetes\.io/hostname"=ls-${NAMESPACE}.cicd.lab.wlan.tip.build \
|
||||
--set owls.configProperties."openwifi\.system\.uri\.public"=https://ls-${NAMESPACE}.cicd.lab.wlan.tip.build:16007 \
|
||||
--set owls.configProperties."openwifi\.system\.uri\.private"=$INTERNAL_RESTAPI_ENDPOINT_SCHEMA://owls-owls:17007 \
|
||||
--set owls.configProperties."openwifi\.system\.uri\.ui"=https://webui-${NAMESPACE}.cicd.lab.wlan.tip.build \
|
||||
--set owlsui.ingresses.default.annotations."external-dns\.alpha\.kubernetes\.io/hostname"=lsui-${NAMESPACE}.cicd.lab.wlan.tip.build \
|
||||
--set owlsui.ingresses.default.hosts={lsui-${NAMESPACE}.cicd.lab.wlan.tip.build} \
|
||||
--set owlsui.public_env_variables.DEFAULT_UCENTRALSEC_URL=https://sec-${NAMESPACE}.cicd.lab.wlan.tip.build:16001 \
|
||||
--set haproxy.service.annotations."external-dns\.alpha\.kubernetes\.io/hostname"=$HAPROXY_SERVICE_DNS_RECORDS \
|
||||
--set owgw.services.owgw.annotations."external-dns\.alpha\.kubernetes\.io/hostname"=$OWGW_SERVICE_DNS_RECORDS \
|
||||
${EXTRA_VALUES_FLAGS[*]} \
|
||||
--set-file owgw.certs."restapi-cert\.pem"=$CERT_LOCATION \
|
||||
--set-file owgw.certs."restapi-key\.pem"=$KEY_LOCATION \
|
||||
--set-file owgw.certs."websocket-cert\.pem"=$CERT_LOCATION \
|
||||
--set-file owgw.certs."websocket-key\.pem"=$KEY_LOCATION \
|
||||
--set-file owsec.certs."restapi-cert\.pem"=$CERT_LOCATION \
|
||||
--set-file owsec.certs."restapi-key\.pem"=$KEY_LOCATION \
|
||||
--set-file owfms.certs."restapi-cert\.pem"=$CERT_LOCATION \
|
||||
--set-file owfms.certs."restapi-key\.pem"=$KEY_LOCATION \
|
||||
--set-file owprov.certs."restapi-cert\.pem"=$CERT_LOCATION \
|
||||
--set-file owprov.certs."restapi-key\.pem"=$KEY_LOCATION \
|
||||
--set-file owls.certs."restapi-cert\.pem"=$CERT_LOCATION \
|
||||
--set-file owls.certs."restapi-key\.pem"=$KEY_LOCATION \
|
||||
--set-file owls.certs."device-cert\.pem"=$DEVICE_CERT_LOCATION \
|
||||
--set-file owls.certs."device-key\.pem"=$DEVICE_KEY_LOCATION \
|
||||
--set-file owanalytics.certs."restapi-cert\.pem"=$CERT_LOCATION \
|
||||
--set-file owanalytics.certs."restapi-key\.pem"=$KEY_LOCATION \
|
||||
--set-file owsub.certs."restapi-cert\.pem"=$CERT_LOCATION \
|
||||
--set-file owsub.certs."restapi-key\.pem"=$KEY_LOCATION \
|
||||
tip-openwifi $DEPLOY_SOURCE
|
||||
106
chart/environment-values/values.aws.yaml
Normal file
106
chart/environment-values/values.aws.yaml
Normal file
@@ -0,0 +1,106 @@
|
||||
# TODO adapt config for your environments - change FQDNs, certificates and security credentials
|
||||
owgw:
|
||||
configProperties: # TODO change FQDNs
|
||||
openwifi.fileuploader.host.0.name: gw.cicd.lab.wlan.tip.build
|
||||
openwifi.system.uri.public: https://gw.cicd.lab.wlan.tip.build:16002
|
||||
openwifi.system.uri.private: https://gw.cicd.lab.wlan.tip.build:17002
|
||||
openwifi.system.uri.ui: https://webui.cicd.lab.wlan.tip.build
|
||||
rtty.server: rtty.cicd.lab.wlan.tip.build
|
||||
|
||||
owgwui:
|
||||
services:
|
||||
owgwui:
|
||||
type: NodePort
|
||||
|
||||
ingresses:
|
||||
default:
|
||||
enabled: true
|
||||
annotations:
|
||||
kubernetes.io/ingress.class: alb
|
||||
alb.ingress.kubernetes.io/scheme: internet-facing
|
||||
alb.ingress.kubernetes.io/group.name: wlan-cicd
|
||||
alb.ingress.kubernetes.io/certificate-arn: arn:aws:acm:us-east-2:289708231103:certificate/bfa89c7a-5b64-4a8a-bcfe-ffec655b5285 # TODO change certificate
|
||||
alb.ingress.kubernetes.io/listen-ports: '[{"HTTP": 80}, {"HTTPS": 443}]'
|
||||
alb.ingress.kubernetes.io/actions.ssl-redirect: '{"Type": "redirect", "RedirectConfig": { "Protocol": "HTTPS", "Port": "443", "StatusCode": "HTTP_302"}}'
|
||||
external-dns.alpha.kubernetes.io/hostname: webui.cicd.lab.wlan.tip.build # TODO change FQDN
|
||||
paths:
|
||||
- path: /*
|
||||
serviceName: owgwui
|
||||
servicePort: http
|
||||
|
||||
public_env_variables:
|
||||
DEFAULT_UCENTRALSEC_URL: https://sec.cicd.lab.wlan.tip.build:16001 # TODO change to OWSEC RESTAPI url
|
||||
|
||||
owsec:
|
||||
configProperties: # TODO change FQDNs and credentials
|
||||
authentication.default.username: tip@ucentral.com
|
||||
authentication.default.password: TOFILL # TODO change password to default hashed password (see OWSEC readme for details)
|
||||
openwifi.system.uri.public: https://sec.cicd.lab.wlan.tip.build:16001
|
||||
openwifi.system.uri.private: https://sec.cicd.lab.wlan.tip.build:17001
|
||||
openwifi.system.uri.ui: https://webui.cicd.lab.wlan.tip.build
|
||||
|
||||
owfms:
|
||||
configProperties: # TODO change FQDNs and credentials
|
||||
s3.key: TOFILL # TODO change these values to S3 credentials to get firmwares from bucket
|
||||
s3.secret: TOFILL
|
||||
# TODO uncomment and change these values if you are using your own S3 bucket with firmwares
|
||||
#s3.bucketname: ucentral-ap-firmware
|
||||
#s3.region: us-east-1
|
||||
#s3.bucket.uri: ucentral-ap-firmware.s3.amazonaws.com
|
||||
openwifi.system.uri.public: https://fms.cicd.lab.wlan.tip.build:16004
|
||||
openwifi.system.uri.private: https://fms.cicd.lab.wlan.tip.build:17004
|
||||
openwifi.system.uri.ui: https://webui.cicd.lab.wlan.tip.build
|
||||
|
||||
owprov:
|
||||
configProperties: # TODO change FQDNs
|
||||
openwifi.system.uri.public: https://prov.cicd.lab.wlan.tip.build:16005
|
||||
openwifi.system.uri.private: https://prov.cicd.lab.wlan.tip.build:17005
|
||||
openwifi.system.uri.ui: https://webui.cicd.lab.wlan.tip.build
|
||||
|
||||
owprovui:
|
||||
services:
|
||||
owprovui:
|
||||
type: NodePort
|
||||
|
||||
ingresses:
|
||||
default:
|
||||
enabled: true
|
||||
annotations:
|
||||
kubernetes.io/ingress.class: alb
|
||||
alb.ingress.kubernetes.io/scheme: internet-facing
|
||||
alb.ingress.kubernetes.io/group.name: wlan-cicd
|
||||
alb.ingress.kubernetes.io/certificate-arn: arn:aws:acm:us-east-2:289708231103:certificate/bfa89c7a-5b64-4a8a-bcfe-ffec655b5285 # TODO change certificate
|
||||
alb.ingress.kubernetes.io/listen-ports: '[{"HTTP": 80}, {"HTTPS": 443}]'
|
||||
alb.ingress.kubernetes.io/actions.ssl-redirect: '{"Type": "redirect", "RedirectConfig": { "Protocol": "HTTPS", "Port": "443", "StatusCode": "HTTP_302"}}'
|
||||
external-dns.alpha.kubernetes.io/hostname: provui.cicd.lab.wlan.tip.build # TODO change FQDN
|
||||
paths:
|
||||
- path: /*
|
||||
serviceName: owprovui
|
||||
servicePort: http
|
||||
|
||||
public_env_variables:
|
||||
REACT_APP_UCENTRALSEC_URL: https://sec.cicd.lab.wlan.tip.build:16001 # TODO change to OWSEC RESTAPI url
|
||||
|
||||
owsub:
|
||||
configProperties: # TODO change FQDNs
|
||||
openwifi.system.uri.public: https://sub.cicd.lab.wlan.tip.build:16007
|
||||
openwifi.system.uri.private: https://sub.cicd.lab.wlan.tip.build:17007
|
||||
openwifi.system.uri.ui: https://webui.cicd.lab.wlan.tip.build
|
||||
|
||||
owanalytics:
|
||||
configProperties: # TODO change FQDNs
|
||||
openwifi.system.uri.public: https://analytics.cicd.lab.wlan.tip.build:16009
|
||||
openwifi.system.uri.private: https://analytics.cicd.lab.wlan.tip.build:17009
|
||||
openwifi.system.uri.ui: https://webui.cicd.lab.wlan.tip.build
|
||||
|
||||
haproxy:
|
||||
service:
|
||||
annotations:
|
||||
service.beta.kubernetes.io/aws-load-balancer-backend-protocol: ssl
|
||||
service.beta.kubernetes.io/aws-load-balancer-healthcheck-port: "8080"
|
||||
service.beta.kubernetes.io/aws-load-balancer-scheme: internet-facing
|
||||
service.beta.kubernetes.io/aws-load-balancer-ssl-cert: arn:aws:acm:us-east-2:289708231103:certificate/bfa89c7a-5b64-4a8a-bcfe-ffec655b5285 # TODO change certificate
|
||||
service.beta.kubernetes.io/aws-load-balancer-ssl-ports: "16004,17004,16002,16003,17002,16005,17005,16001,17001,5912,5913,16009,16007"
|
||||
service.beta.kubernetes.io/aws-load-balancer-type: nlb-ip
|
||||
external-dns.alpha.kubernetes.io/hostname: "gw.cicd.lab.wlan.tip.build,sec.cicd.lab.wlan.tip.build,fms.cicd.lab.wlan.tip.build,prov.cicd.lab.wlan.tip.build,rtty.cicd.lab.wlan.tip.build,sub.cicd.lab.wlan.tip.build,analytics.cicd.lab.wlan.tip.build" # TODO change FQDNs
|
||||
|
||||
29
chart/environment-values/values.openwifi-qa.disable-tls.yaml
Normal file
29
chart/environment-values/values.openwifi-qa.disable-tls.yaml
Normal file
@@ -0,0 +1,29 @@
|
||||
# NOTE: using of this values files will require you to use http schema in 'openwifi.system.uri.private' (and maybe 'openwifi.system.uri.public') configuration properties (i.e. http://owgw-owgw:17002)
|
||||
owgw:
|
||||
configProperties:
|
||||
openwifi.security.restapi.disable: "true"
|
||||
|
||||
owsec:
|
||||
configProperties:
|
||||
openwifi.security.restapi.disable: "true"
|
||||
|
||||
owfms:
|
||||
configProperties:
|
||||
openwifi.security.restapi.disable: "true"
|
||||
|
||||
owprov:
|
||||
configProperties:
|
||||
openwifi.security.restapi.disable: "true"
|
||||
|
||||
owanalytics:
|
||||
configProperties:
|
||||
openwifi.security.restapi.disable: "true"
|
||||
|
||||
owsub:
|
||||
configProperties:
|
||||
openwifi.security.restapi.disable: "true"
|
||||
|
||||
haproxy:
|
||||
service:
|
||||
annotations:
|
||||
service.beta.kubernetes.io/aws-load-balancer-backend-protocol: tcp
|
||||
14
chart/environment-values/values.openwifi-qa.external-db.yaml
Normal file
14
chart/environment-values/values.openwifi-qa.external-db.yaml
Normal file
@@ -0,0 +1,14 @@
|
||||
owgw:
|
||||
configProperties:
|
||||
storage.type: postgresql
|
||||
storage.type.postgresql.host: owgw-pgsql
|
||||
storage.type.postgresql.database: owgw
|
||||
storage.type.postgresql.username: owgw
|
||||
storage.type.postgresql.password: owgw
|
||||
|
||||
postgresql:
|
||||
enabled: true
|
||||
fullnameOverride: owgw-pgsql
|
||||
postgresqlDatabase: owgw
|
||||
postgresqlUsername: owgw
|
||||
postgresqlPassword: owgw
|
||||
173
chart/environment-values/values.openwifi-qa.owls-enabled.yaml
Normal file
173
chart/environment-values/values.openwifi-qa.owls-enabled.yaml
Normal file
@@ -0,0 +1,173 @@
|
||||
owgw:
|
||||
services:
|
||||
owgw:
|
||||
type: LoadBalancer
|
||||
annotations:
|
||||
service.beta.kubernetes.io/aws-load-balancer-type: "nlb-ip"
|
||||
service.beta.kubernetes.io/aws-load-balancer-scheme: internet-facing
|
||||
service.beta.kubernetes.io/aws-load-balancer-healthcheck-port: "16102"
|
||||
service.beta.kubernetes.io/aws-load-balancer-backend-protocol: ssl
|
||||
service.beta.kubernetes.io/aws-load-balancer-ssl-cert: "arn:aws:acm:us-east-2:289708231103:certificate/bfa89c7a-5b64-4a8a-bcfe-ffec655b5285"
|
||||
service.beta.kubernetes.io/aws-load-balancer-ssl-ports: "16002,16003,17002"
|
||||
|
||||
configProperties:
|
||||
simulatorid: 53494D020202
|
||||
storage.type: postgresql
|
||||
storage.type.postgresql.host: owgw-pgsql
|
||||
storage.type.postgresql.database: owgw
|
||||
storage.type.postgresql.username: owgw
|
||||
storage.type.postgresql.password: owgw
|
||||
|
||||
resources:
|
||||
requests:
|
||||
cpu: 2000m
|
||||
memory: 3000Mi
|
||||
limits:
|
||||
cpu: 2000m
|
||||
memory: 3000Mi
|
||||
|
||||
postgresql:
|
||||
enabled: true
|
||||
fullnameOverride: owgw-pgsql
|
||||
|
||||
postgresqlDatabase: owgw
|
||||
postgresqlUsername: owgw
|
||||
postgresqlPassword: owgw
|
||||
|
||||
owls:
|
||||
enabled: true
|
||||
services:
|
||||
owls:
|
||||
type: LoadBalancer
|
||||
annotations:
|
||||
service.beta.kubernetes.io/aws-load-balancer-type: "nlb-ip"
|
||||
service.beta.kubernetes.io/aws-load-balancer-scheme: internet-facing
|
||||
service.beta.kubernetes.io/aws-load-balancer-healthcheck-port: "16107"
|
||||
service.beta.kubernetes.io/aws-load-balancer-backend-protocol: ssl
|
||||
service.beta.kubernetes.io/aws-load-balancer-ssl-cert: "arn:aws:acm:us-east-2:289708231103:certificate/bfa89c7a-5b64-4a8a-bcfe-ffec655b5285"
|
||||
service.beta.kubernetes.io/aws-load-balancer-ssl-ports: "16007,17007"
|
||||
external-dns.alpha.kubernetes.io/ttl: "60"
|
||||
|
||||
podAnnotations:
|
||||
cluster-autoscaler.kubernetes.io/safe-to-evict: "false"
|
||||
|
||||
resources:
|
||||
requests:
|
||||
cpu: 3000m
|
||||
memory: 8000Mi
|
||||
limits:
|
||||
cpu: 3000m
|
||||
memory: 8000Mi
|
||||
|
||||
checks:
|
||||
owls:
|
||||
liveness:
|
||||
httpGet:
|
||||
path: /
|
||||
port: 16107
|
||||
failureThreshold: 900
|
||||
readiness:
|
||||
httpGet:
|
||||
path: /
|
||||
port: 16107
|
||||
failureThreshold: 900
|
||||
|
||||
certs:
|
||||
restapi-ca.pem: |
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIIDojCCAoqgAwIBAgIUPVYBpqNbcLYygF6Mx+qxSWwQyFowDQYJKoZIhvcNAQEL
|
||||
BQAwaTELMAkGA1UEBhMCVVMxJDAiBgNVBAoTG1RlbGVjb20gSW5mcmEgUHJvamVj
|
||||
dCwgSW5jLjEMMAoGA1UECxMDVElQMSYwJAYDVQQDEx1UZWxlY29tIEluZnJhIFBy
|
||||
b2plY3QgUm9vdCBDQTAeFw0yMTA0MTMyMjQyNDRaFw0zMTA0MTMyMjM4NDZaMGkx
|
||||
CzAJBgNVBAYTAlVTMSQwIgYDVQQKExtUZWxlY29tIEluZnJhIFByb2plY3QsIElu
|
||||
Yy4xDDAKBgNVBAsTA1RJUDEmMCQGA1UEAxMdVGVsZWNvbSBJbmZyYSBQcm9qZWN0
|
||||
IFJvb3QgQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDIGCibwf5u
|
||||
AAwZ+1H8U0e3u2V+0d2gSctucoK86XwUmfe1V2a/qlCYZd29r80IuN1IIeB0naIm
|
||||
KnK/MzXW87clF6tFd1+HzEvmlY/W4KyIXalVCTEzirFSvBEG2oZpM0yC3AefytAO
|
||||
aOpA00LaM3xTfTqMKIRhJBuLy0I4ANUVG6ixVebbGuc78IodleqiLoWy2Q9QHyEO
|
||||
t/7hZndJhiVogh0PveRhho45EbsACu7ymDY+JhlIleevqwlE3iQoq0YcmYADHno6
|
||||
Eq8vcwLpZFxihupUafkd1T3WJYQAJf9coCjBu2qIhNgrcrGD8R9fGswwNRzMRMpX
|
||||
720+GjcDW3bJAgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFAJG
|
||||
lmB5sVP2qfL3xZ8hQOTpkQH6MA4GA1UdDwEB/wQEAwIBhjANBgkqhkiG9w0BAQsF
|
||||
AAOCAQEAVjl9dm4epG9NUYnagT9sg7scVQEPfz3Lt6w1NXJXgD8mAUlK0jXmEyvM
|
||||
dCPD4514n+8+lM7US8fh+nxc7jO//LwK17Wm9FblgjNFR7+anv0Q99T9fP19DLlF
|
||||
PSNHL2emogy1bl1lLTAoj8nxg2wVKPDSHBGviQ5LR9fsWUIJDv9Bs5k0qWugWYSj
|
||||
19S6qnHeskRDB8MqRLhKMG82oDVLerSnhD0P6HjySBHgTTU7/tYS/OZr1jI6MPbG
|
||||
L+/DtiR5fDVMNdBSGU89UNTi0wHY9+RFuNlIuvZC+x/swF0V9R5mN+ywquTPtDLA
|
||||
5IOM7ItsRmen6u3qu+JXros54e4juQ==
|
||||
-----END CERTIFICATE-----
|
||||
|
||||
public_env_variables:
|
||||
SELFSIGNED_CERTS: "true"
|
||||
|
||||
configProperties:
|
||||
openwifi.internal.restapi.host.0.rootca: $OWLS_ROOT/certs/restapi-certs/ca.crt
|
||||
openwifi.internal.restapi.host.0.cert: $OWLS_ROOT/certs/restapi-certs/tls.crt
|
||||
openwifi.internal.restapi.host.0.key: $OWLS_ROOT/certs/restapi-certs/tls.key
|
||||
openwifi.restapi.host.0.rootca: $OWLS_ROOT/certs/restapi-certs/ca.crt
|
||||
openwifi.restapi.host.0.cert: $OWLS_ROOT/certs/restapi-certs/tls.crt
|
||||
openwifi.restapi.host.0.key: $OWLS_ROOT/certs/restapi-certs/tls.key
|
||||
|
||||
volumes:
|
||||
owls:
|
||||
- name: config
|
||||
mountPath: /owls-data/owls.properties
|
||||
subPath: owls.properties
|
||||
# Template below will be rendered in template
|
||||
volumeDefinition: |
|
||||
secret:
|
||||
secretName: {{ include "owls.fullname" . }}-config
|
||||
- name: certs
|
||||
mountPath: /owls-data/certs
|
||||
volumeDefinition: |
|
||||
secret:
|
||||
secretName: {{ include "owls.fullname" . }}-certs
|
||||
- name: certs-cas
|
||||
mountPath: /owls-data/certs/cas
|
||||
volumeDefinition: |
|
||||
secret:
|
||||
secretName: {{ include "owls.fullname" . }}-certs-cas
|
||||
# Change this if you want to use another volume type
|
||||
- name: persist
|
||||
mountPath: /owls-data/persist
|
||||
volumeDefinition: |
|
||||
persistentVolumeClaim:
|
||||
claimName: {{ template "owls.fullname" . }}-pvc
|
||||
|
||||
- name: restapi-certs
|
||||
mountPath: /owls-data/certs/restapi-certs
|
||||
volumeDefinition: |
|
||||
secret:
|
||||
secretName: {{ include "owls.fullname" . }}-owls-restapi-tls
|
||||
- name: restapi-ca
|
||||
mountPath: /usr/local/share/ca-certificates/restapi-ca-selfsigned.pem
|
||||
subPath: ca.crt
|
||||
volumeDefinition: |
|
||||
secret:
|
||||
secretName: {{ include "owls.fullname" . }}-owls-restapi-tls
|
||||
|
||||
owlsui:
|
||||
enabled: true
|
||||
|
||||
services:
|
||||
owlsui:
|
||||
type: NodePort
|
||||
|
||||
ingresses:
|
||||
default:
|
||||
enabled: true
|
||||
annotations:
|
||||
kubernetes.io/ingress.class: alb
|
||||
alb.ingress.kubernetes.io/scheme: internet-facing
|
||||
alb.ingress.kubernetes.io/group.name: wlan-cicd
|
||||
alb.ingress.kubernetes.io/certificate-arn: arn:aws:acm:us-east-2:289708231103:certificate/bfa89c7a-5b64-4a8a-bcfe-ffec655b5285
|
||||
alb.ingress.kubernetes.io/listen-ports: '[{"HTTP": 80}, {"HTTPS": 443}]'
|
||||
alb.ingress.kubernetes.io/actions.ssl-redirect: '{"Type": "redirect", "RedirectConfig": { "Protocol": "HTTPS", "Port": "443", "StatusCode": "HTTP_302"}}'
|
||||
external-dns.alpha.kubernetes.io/ttl: "60"
|
||||
paths:
|
||||
- path: /*
|
||||
serviceName: owlsui
|
||||
servicePort: http
|
||||
|
||||
podAnnotations:
|
||||
cluster-autoscaler.kubernetes.io/safe-to-evict: "false"
|
||||
@@ -0,0 +1,74 @@
|
||||
owgw:
|
||||
services:
|
||||
owgw:
|
||||
type: LoadBalancer
|
||||
annotations:
|
||||
service.beta.kubernetes.io/aws-load-balancer-type: "nlb-ip"
|
||||
service.beta.kubernetes.io/aws-load-balancer-scheme: internet-facing
|
||||
service.beta.kubernetes.io/aws-load-balancer-healthcheck-port: "16102"
|
||||
service.beta.kubernetes.io/aws-load-balancer-backend-protocol: ssl
|
||||
service.beta.kubernetes.io/aws-load-balancer-ssl-cert: "arn:aws:acm:us-east-2:289708231103:certificate/bfa89c7a-5b64-4a8a-bcfe-ffec655b5285"
|
||||
service.beta.kubernetes.io/aws-load-balancer-ssl-ports: "16002,16003,17002,5912,5913"
|
||||
|
||||
owsec:
|
||||
services:
|
||||
owsec:
|
||||
type: LoadBalancer
|
||||
annotations:
|
||||
service.beta.kubernetes.io/aws-load-balancer-type: "nlb-ip"
|
||||
service.beta.kubernetes.io/aws-load-balancer-scheme: internet-facing
|
||||
service.beta.kubernetes.io/aws-load-balancer-healthcheck-port: "16101"
|
||||
service.beta.kubernetes.io/aws-load-balancer-backend-protocol: ssl
|
||||
service.beta.kubernetes.io/aws-load-balancer-ssl-cert: "arn:aws:acm:us-east-2:289708231103:certificate/bfa89c7a-5b64-4a8a-bcfe-ffec655b5285"
|
||||
service.beta.kubernetes.io/aws-load-balancer-ssl-ports: "16001,17001"
|
||||
|
||||
owfms:
|
||||
services:
|
||||
owfms:
|
||||
type: LoadBalancer
|
||||
annotations:
|
||||
service.beta.kubernetes.io/aws-load-balancer-type: "nlb-ip"
|
||||
service.beta.kubernetes.io/aws-load-balancer-scheme: internet-facing
|
||||
service.beta.kubernetes.io/aws-load-balancer-healthcheck-port: "16104"
|
||||
service.beta.kubernetes.io/aws-load-balancer-backend-protocol: ssl
|
||||
service.beta.kubernetes.io/aws-load-balancer-ssl-cert: "arn:aws:acm:us-east-2:289708231103:certificate/bfa89c7a-5b64-4a8a-bcfe-ffec655b5285"
|
||||
service.beta.kubernetes.io/aws-load-balancer-ssl-ports: "16004,17004"
|
||||
|
||||
owprov:
|
||||
services:
|
||||
owprov:
|
||||
type: LoadBalancer
|
||||
annotations:
|
||||
service.beta.kubernetes.io/aws-load-balancer-type: "nlb-ip"
|
||||
service.beta.kubernetes.io/aws-load-balancer-scheme: internet-facing
|
||||
service.beta.kubernetes.io/aws-load-balancer-healthcheck-port: "16105"
|
||||
service.beta.kubernetes.io/aws-load-balancer-backend-protocol: ssl
|
||||
service.beta.kubernetes.io/aws-load-balancer-ssl-cert: "arn:aws:acm:us-east-2:289708231103:certificate/bfa89c7a-5b64-4a8a-bcfe-ffec655b5285"
|
||||
service.beta.kubernetes.io/aws-load-balancer-ssl-ports: "16005,17005"
|
||||
|
||||
owanalytics:
|
||||
services:
|
||||
owanalytics:
|
||||
type: LoadBalancer
|
||||
annotations:
|
||||
service.beta.kubernetes.io/aws-load-balancer-type: "nlb-ip"
|
||||
service.beta.kubernetes.io/aws-load-balancer-scheme: internet-facing
|
||||
service.beta.kubernetes.io/aws-load-balancer-healthcheck-port: "16109"
|
||||
service.beta.kubernetes.io/aws-load-balancer-backend-protocol: ssl
|
||||
service.beta.kubernetes.io/aws-load-balancer-ssl-cert: "arn:aws:acm:us-east-2:289708231103:certificate/bfa89c7a-5b64-4a8a-bcfe-ffec655b5285"
|
||||
service.beta.kubernetes.io/aws-load-balancer-ssl-ports: "16009,17009"
|
||||
|
||||
owsub:
|
||||
services:
|
||||
owsub:
|
||||
type: LoadBalancer
|
||||
annotations:
|
||||
service.beta.kubernetes.io/aws-load-balancer-type: "nlb-ip"
|
||||
service.beta.kubernetes.io/aws-load-balancer-scheme: internet-facing
|
||||
service.beta.kubernetes.io/aws-load-balancer-healthcheck-port: "16106"
|
||||
service.beta.kubernetes.io/aws-load-balancer-backend-protocol: ssl
|
||||
service.beta.kubernetes.io/aws-load-balancer-ssl-cert: "arn:aws:acm:us-east-2:289708231103:certificate/bfa89c7a-5b64-4a8a-bcfe-ffec655b5285"
|
||||
service.beta.kubernetes.io/aws-load-balancer-ssl-ports: "16006,17006"
|
||||
|
||||
haproxy:
|
||||
enabled: false
|
||||
118
chart/environment-values/values.openwifi-qa.test-nodes.yaml
Normal file
118
chart/environment-values/values.openwifi-qa.test-nodes.yaml
Normal file
@@ -0,0 +1,118 @@
|
||||
owgw:
|
||||
nodeSelector:
|
||||
env: tests
|
||||
tolerations:
|
||||
- key: "tests"
|
||||
operator: "Exists"
|
||||
effect: "NoSchedule"
|
||||
|
||||
postgresql:
|
||||
primary:
|
||||
nodeSelector:
|
||||
env: tests
|
||||
tolerations:
|
||||
- key: "tests"
|
||||
operator: "Exists"
|
||||
effect: "NoSchedule"
|
||||
readReplicas:
|
||||
nodeSelector:
|
||||
env: tests
|
||||
tolerations:
|
||||
- key: "tests"
|
||||
operator: "Exists"
|
||||
effect: "NoSchedule"
|
||||
|
||||
owsec:
|
||||
nodeSelector:
|
||||
env: tests
|
||||
tolerations:
|
||||
- key: "tests"
|
||||
operator: "Exists"
|
||||
effect: "NoSchedule"
|
||||
|
||||
owgwui:
|
||||
nodeSelector:
|
||||
env: tests
|
||||
tolerations:
|
||||
- key: "tests"
|
||||
operator: "Exists"
|
||||
effect: "NoSchedule"
|
||||
|
||||
owfms:
|
||||
nodeSelector:
|
||||
env: tests
|
||||
tolerations:
|
||||
- key: "tests"
|
||||
operator: "Exists"
|
||||
effect: "NoSchedule"
|
||||
|
||||
owprov:
|
||||
nodeSelector:
|
||||
env: tests
|
||||
tolerations:
|
||||
- key: "tests"
|
||||
operator: "Exists"
|
||||
effect: "NoSchedule"
|
||||
|
||||
owprovui:
|
||||
nodeSelector:
|
||||
env: tests
|
||||
tolerations:
|
||||
- key: "tests"
|
||||
operator: "Exists"
|
||||
effect: "NoSchedule"
|
||||
|
||||
owls:
|
||||
nodeSelector:
|
||||
env: tests
|
||||
tolerations:
|
||||
- key: "tests"
|
||||
operator: "Exists"
|
||||
effect: "NoSchedule"
|
||||
|
||||
postgresql:
|
||||
primary:
|
||||
nodeSelector:
|
||||
env: tests
|
||||
tolerations:
|
||||
- key: "tests"
|
||||
operator: "Exists"
|
||||
effect: "NoSchedule"
|
||||
readReplicas:
|
||||
nodeSelector:
|
||||
env: tests
|
||||
tolerations:
|
||||
- key: "tests"
|
||||
operator: "Exists"
|
||||
effect: "NoSchedule"
|
||||
|
||||
owlsui:
|
||||
nodeSelector:
|
||||
env: tests
|
||||
tolerations:
|
||||
- key: "tests"
|
||||
operator: "Exists"
|
||||
effect: "NoSchedule"
|
||||
|
||||
owanalytics:
|
||||
nodeSelector:
|
||||
env: tests
|
||||
tolerations:
|
||||
- key: "tests"
|
||||
operator: "Exists"
|
||||
effect: "NoSchedule"
|
||||
|
||||
kafka:
|
||||
nodeSelector:
|
||||
env: tests
|
||||
tolerations:
|
||||
- key: "tests"
|
||||
operator: "Exists"
|
||||
effect: "NoSchedule"
|
||||
zookeeper:
|
||||
nodeSelector:
|
||||
env: tests
|
||||
tolerations:
|
||||
- key: "tests"
|
||||
operator: "Exists"
|
||||
effect: "NoSchedule"
|
||||
629
chart/environment-values/values.openwifi-qa.yaml
Normal file
629
chart/environment-values/values.openwifi-qa.yaml
Normal file
@@ -0,0 +1,629 @@
|
||||
owgw:
|
||||
# https://telecominfraproject.atlassian.net/browse/WIFI-5840
|
||||
checks:
|
||||
owgw:
|
||||
readiness:
|
||||
exec:
|
||||
command: ["true"]
|
||||
|
||||
resources:
|
||||
requests:
|
||||
cpu: 1000m
|
||||
memory: 100Mi
|
||||
limits:
|
||||
cpu: 2000m
|
||||
memory: 500Mi
|
||||
|
||||
securityContext:
|
||||
sysctls:
|
||||
- name: net.ipv4.tcp_keepalive_intvl
|
||||
value: "5"
|
||||
- name: net.ipv4.tcp_keepalive_probes
|
||||
value: "2"
|
||||
- name: net.ipv4.tcp_keepalive_time
|
||||
value: "45"
|
||||
|
||||
podAnnotations:
|
||||
cluster-autoscaler.kubernetes.io/safe-to-evict: "false"
|
||||
|
||||
podSecurityPolicy:
|
||||
enabled: true
|
||||
|
||||
certs:
|
||||
restapi-ca.pem: |
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIIDojCCAoqgAwIBAgIUPVYBpqNbcLYygF6Mx+qxSWwQyFowDQYJKoZIhvcNAQEL
|
||||
BQAwaTELMAkGA1UEBhMCVVMxJDAiBgNVBAoTG1RlbGVjb20gSW5mcmEgUHJvamVj
|
||||
dCwgSW5jLjEMMAoGA1UECxMDVElQMSYwJAYDVQQDEx1UZWxlY29tIEluZnJhIFBy
|
||||
b2plY3QgUm9vdCBDQTAeFw0yMTA0MTMyMjQyNDRaFw0zMTA0MTMyMjM4NDZaMGkx
|
||||
CzAJBgNVBAYTAlVTMSQwIgYDVQQKExtUZWxlY29tIEluZnJhIFByb2plY3QsIElu
|
||||
Yy4xDDAKBgNVBAsTA1RJUDEmMCQGA1UEAxMdVGVsZWNvbSBJbmZyYSBQcm9qZWN0
|
||||
IFJvb3QgQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDIGCibwf5u
|
||||
AAwZ+1H8U0e3u2V+0d2gSctucoK86XwUmfe1V2a/qlCYZd29r80IuN1IIeB0naIm
|
||||
KnK/MzXW87clF6tFd1+HzEvmlY/W4KyIXalVCTEzirFSvBEG2oZpM0yC3AefytAO
|
||||
aOpA00LaM3xTfTqMKIRhJBuLy0I4ANUVG6ixVebbGuc78IodleqiLoWy2Q9QHyEO
|
||||
t/7hZndJhiVogh0PveRhho45EbsACu7ymDY+JhlIleevqwlE3iQoq0YcmYADHno6
|
||||
Eq8vcwLpZFxihupUafkd1T3WJYQAJf9coCjBu2qIhNgrcrGD8R9fGswwNRzMRMpX
|
||||
720+GjcDW3bJAgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFAJG
|
||||
lmB5sVP2qfL3xZ8hQOTpkQH6MA4GA1UdDwEB/wQEAwIBhjANBgkqhkiG9w0BAQsF
|
||||
AAOCAQEAVjl9dm4epG9NUYnagT9sg7scVQEPfz3Lt6w1NXJXgD8mAUlK0jXmEyvM
|
||||
dCPD4514n+8+lM7US8fh+nxc7jO//LwK17Wm9FblgjNFR7+anv0Q99T9fP19DLlF
|
||||
PSNHL2emogy1bl1lLTAoj8nxg2wVKPDSHBGviQ5LR9fsWUIJDv9Bs5k0qWugWYSj
|
||||
19S6qnHeskRDB8MqRLhKMG82oDVLerSnhD0P6HjySBHgTTU7/tYS/OZr1jI6MPbG
|
||||
L+/DtiR5fDVMNdBSGU89UNTi0wHY9+RFuNlIuvZC+x/swF0V9R5mN+ywquTPtDLA
|
||||
5IOM7ItsRmen6u3qu+JXros54e4juQ==
|
||||
-----END CERTIFICATE-----
|
||||
|
||||
public_env_variables:
|
||||
SELFSIGNED_CERTS: "true"
|
||||
|
||||
configProperties:
|
||||
openwifi.internal.restapi.host.0.rootca: $OWGW_ROOT/certs/restapi-certs/ca.crt
|
||||
openwifi.internal.restapi.host.0.cert: $OWGW_ROOT/certs/restapi-certs/tls.crt
|
||||
openwifi.internal.restapi.host.0.key: $OWGW_ROOT/certs/restapi-certs/tls.key
|
||||
openwifi.restapi.host.0.rootca: $OWGW_ROOT/certs/restapi-certs/ca.crt
|
||||
openwifi.restapi.host.0.cert: $OWGW_ROOT/certs/restapi-certs/tls.crt
|
||||
openwifi.restapi.host.0.key: $OWGW_ROOT/certs/restapi-certs/tls.key
|
||||
|
||||
volumes:
|
||||
owgw:
|
||||
- name: config
|
||||
mountPath: /owgw-data/owgw.properties
|
||||
subPath: owgw.properties
|
||||
# Template below will be rendered in template
|
||||
volumeDefinition: |
|
||||
secret:
|
||||
secretName: {{ include "owgw.fullname" . }}-config
|
||||
- name: certs
|
||||
mountPath: /owgw-data/certs
|
||||
volumeDefinition: |
|
||||
secret:
|
||||
secretName: {{ include "owgw.fullname" . }}-certs
|
||||
- name: certs-cas
|
||||
mountPath: /owgw-data/certs/cas
|
||||
volumeDefinition: |
|
||||
secret:
|
||||
secretName: {{ include "owgw.fullname" . }}-certs-cas
|
||||
- name: persist
|
||||
mountPath: /owgw-data/persist
|
||||
volumeDefinition: |
|
||||
persistentVolumeClaim:
|
||||
claimName: {{ template "owgw.fullname" . }}-pvc
|
||||
|
||||
- name: restapi-certs
|
||||
mountPath: /owgw-data/certs/restapi-certs
|
||||
volumeDefinition: |
|
||||
secret:
|
||||
secretName: {{ include "owgw.fullname" . }}-owgw-restapi-tls
|
||||
- name: restapi-ca
|
||||
mountPath: /usr/local/share/ca-certificates/restapi-ca-selfsigned.pem
|
||||
subPath: ca.crt
|
||||
volumeDefinition: |
|
||||
secret:
|
||||
secretName: {{ include "owgw.fullname" . }}-owgw-restapi-tls
|
||||
|
||||
owsec:
|
||||
# https://telecominfraproject.atlassian.net/browse/WIFI-5840
|
||||
checks:
|
||||
owsec:
|
||||
readiness:
|
||||
exec:
|
||||
command: ["true"]
|
||||
|
||||
resources:
|
||||
requests:
|
||||
cpu: 10m
|
||||
memory: 15Mi
|
||||
limits:
|
||||
cpu: 100m
|
||||
memory: 100Mi
|
||||
|
||||
podAnnotations:
|
||||
cluster-autoscaler.kubernetes.io/safe-to-evict: "false"
|
||||
|
||||
certs:
|
||||
restapi-ca.pem: |
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIIDojCCAoqgAwIBAgIUPVYBpqNbcLYygF6Mx+qxSWwQyFowDQYJKoZIhvcNAQEL
|
||||
BQAwaTELMAkGA1UEBhMCVVMxJDAiBgNVBAoTG1RlbGVjb20gSW5mcmEgUHJvamVj
|
||||
dCwgSW5jLjEMMAoGA1UECxMDVElQMSYwJAYDVQQDEx1UZWxlY29tIEluZnJhIFBy
|
||||
b2plY3QgUm9vdCBDQTAeFw0yMTA0MTMyMjQyNDRaFw0zMTA0MTMyMjM4NDZaMGkx
|
||||
CzAJBgNVBAYTAlVTMSQwIgYDVQQKExtUZWxlY29tIEluZnJhIFByb2plY3QsIElu
|
||||
Yy4xDDAKBgNVBAsTA1RJUDEmMCQGA1UEAxMdVGVsZWNvbSBJbmZyYSBQcm9qZWN0
|
||||
IFJvb3QgQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDIGCibwf5u
|
||||
AAwZ+1H8U0e3u2V+0d2gSctucoK86XwUmfe1V2a/qlCYZd29r80IuN1IIeB0naIm
|
||||
KnK/MzXW87clF6tFd1+HzEvmlY/W4KyIXalVCTEzirFSvBEG2oZpM0yC3AefytAO
|
||||
aOpA00LaM3xTfTqMKIRhJBuLy0I4ANUVG6ixVebbGuc78IodleqiLoWy2Q9QHyEO
|
||||
t/7hZndJhiVogh0PveRhho45EbsACu7ymDY+JhlIleevqwlE3iQoq0YcmYADHno6
|
||||
Eq8vcwLpZFxihupUafkd1T3WJYQAJf9coCjBu2qIhNgrcrGD8R9fGswwNRzMRMpX
|
||||
720+GjcDW3bJAgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFAJG
|
||||
lmB5sVP2qfL3xZ8hQOTpkQH6MA4GA1UdDwEB/wQEAwIBhjANBgkqhkiG9w0BAQsF
|
||||
AAOCAQEAVjl9dm4epG9NUYnagT9sg7scVQEPfz3Lt6w1NXJXgD8mAUlK0jXmEyvM
|
||||
dCPD4514n+8+lM7US8fh+nxc7jO//LwK17Wm9FblgjNFR7+anv0Q99T9fP19DLlF
|
||||
PSNHL2emogy1bl1lLTAoj8nxg2wVKPDSHBGviQ5LR9fsWUIJDv9Bs5k0qWugWYSj
|
||||
19S6qnHeskRDB8MqRLhKMG82oDVLerSnhD0P6HjySBHgTTU7/tYS/OZr1jI6MPbG
|
||||
L+/DtiR5fDVMNdBSGU89UNTi0wHY9+RFuNlIuvZC+x/swF0V9R5mN+ywquTPtDLA
|
||||
5IOM7ItsRmen6u3qu+JXros54e4juQ==
|
||||
-----END CERTIFICATE-----
|
||||
|
||||
public_env_variables:
|
||||
SELFSIGNED_CERTS: "true"
|
||||
|
||||
configProperties:
|
||||
openwifi.internal.restapi.host.0.rootca: $OWSEC_ROOT/certs/restapi-certs/ca.crt
|
||||
openwifi.internal.restapi.host.0.cert: $OWSEC_ROOT/certs/restapi-certs/tls.crt
|
||||
openwifi.internal.restapi.host.0.key: $OWSEC_ROOT/certs/restapi-certs/tls.key
|
||||
openwifi.restapi.host.0.rootca: $OWSEC_ROOT/certs/restapi-certs/ca.crt
|
||||
openwifi.restapi.host.0.cert: $OWSEC_ROOT/certs/restapi-certs/tls.crt
|
||||
openwifi.restapi.host.0.key: $OWSEC_ROOT/certs/restapi-certs/tls.key
|
||||
mailer.hostname: email-smtp.us-east-2.amazonaws.com
|
||||
|
||||
volumes:
|
||||
owsec:
|
||||
- name: config
|
||||
mountPath: /owsec-data/owsec.properties
|
||||
subPath: owsec.properties
|
||||
# Template below will be rendered in template
|
||||
volumeDefinition: |
|
||||
secret:
|
||||
secretName: {{ include "owsec.fullname" . }}-config
|
||||
- name: certs
|
||||
mountPath: /owsec-data/certs
|
||||
volumeDefinition: |
|
||||
secret:
|
||||
secretName: {{ include "owsec.fullname" . }}-certs
|
||||
- name: persist
|
||||
mountPath: /owsec-data/persist
|
||||
volumeDefinition: |
|
||||
persistentVolumeClaim:
|
||||
claimName: {{ template "owsec.fullname" . }}-pvc
|
||||
|
||||
- name: restapi-certs
|
||||
mountPath: /owsec-data/certs/restapi-certs
|
||||
volumeDefinition: |
|
||||
secret:
|
||||
secretName: {{ include "owsec.fullname" . }}-owsec-restapi-tls
|
||||
- name: restapi-ca
|
||||
mountPath: /usr/local/share/ca-certificates/restapi-ca-selfsigned.pem
|
||||
subPath: ca.crt
|
||||
volumeDefinition: |
|
||||
secret:
|
||||
secretName: {{ include "owsec.fullname" . }}-owsec-restapi-tls
|
||||
|
||||
owgwui:
|
||||
services:
|
||||
owgwui:
|
||||
type: NodePort
|
||||
|
||||
ingresses:
|
||||
default:
|
||||
enabled: true
|
||||
annotations:
|
||||
kubernetes.io/ingress.class: alb
|
||||
alb.ingress.kubernetes.io/scheme: internet-facing
|
||||
alb.ingress.kubernetes.io/group.name: wlan-cicd
|
||||
alb.ingress.kubernetes.io/certificate-arn: arn:aws:acm:us-east-2:289708231103:certificate/bfa89c7a-5b64-4a8a-bcfe-ffec655b5285
|
||||
alb.ingress.kubernetes.io/listen-ports: '[{"HTTP": 80}, {"HTTPS": 443}]'
|
||||
alb.ingress.kubernetes.io/actions.ssl-redirect: '{"Type": "redirect", "RedirectConfig": { "Protocol": "HTTPS", "Port": "443", "StatusCode": "HTTP_302"}}'
|
||||
paths:
|
||||
- path: /*
|
||||
serviceName: owgwui
|
||||
servicePort: http
|
||||
|
||||
resources:
|
||||
requests:
|
||||
cpu: 10m
|
||||
memory: 30Mi
|
||||
limits:
|
||||
cpu: 10m
|
||||
memory: 30Mi
|
||||
|
||||
podAnnotations:
|
||||
cluster-autoscaler.kubernetes.io/safe-to-evict: "false"
|
||||
|
||||
owfms:
|
||||
# https://telecominfraproject.atlassian.net/browse/WIFI-5840
|
||||
checks:
|
||||
owfms:
|
||||
readiness:
|
||||
exec:
|
||||
command: ["true"]
|
||||
|
||||
resources:
|
||||
requests:
|
||||
cpu: 10m
|
||||
memory: 80Mi
|
||||
limits:
|
||||
cpu: 100m
|
||||
memory: 160Mi
|
||||
|
||||
podAnnotations:
|
||||
cluster-autoscaler.kubernetes.io/safe-to-evict: "false"
|
||||
|
||||
certs:
|
||||
restapi-ca.pem: |
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIIDojCCAoqgAwIBAgIUPVYBpqNbcLYygF6Mx+qxSWwQyFowDQYJKoZIhvcNAQEL
|
||||
BQAwaTELMAkGA1UEBhMCVVMxJDAiBgNVBAoTG1RlbGVjb20gSW5mcmEgUHJvamVj
|
||||
dCwgSW5jLjEMMAoGA1UECxMDVElQMSYwJAYDVQQDEx1UZWxlY29tIEluZnJhIFBy
|
||||
b2plY3QgUm9vdCBDQTAeFw0yMTA0MTMyMjQyNDRaFw0zMTA0MTMyMjM4NDZaMGkx
|
||||
CzAJBgNVBAYTAlVTMSQwIgYDVQQKExtUZWxlY29tIEluZnJhIFByb2plY3QsIElu
|
||||
Yy4xDDAKBgNVBAsTA1RJUDEmMCQGA1UEAxMdVGVsZWNvbSBJbmZyYSBQcm9qZWN0
|
||||
IFJvb3QgQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDIGCibwf5u
|
||||
AAwZ+1H8U0e3u2V+0d2gSctucoK86XwUmfe1V2a/qlCYZd29r80IuN1IIeB0naIm
|
||||
KnK/MzXW87clF6tFd1+HzEvmlY/W4KyIXalVCTEzirFSvBEG2oZpM0yC3AefytAO
|
||||
aOpA00LaM3xTfTqMKIRhJBuLy0I4ANUVG6ixVebbGuc78IodleqiLoWy2Q9QHyEO
|
||||
t/7hZndJhiVogh0PveRhho45EbsACu7ymDY+JhlIleevqwlE3iQoq0YcmYADHno6
|
||||
Eq8vcwLpZFxihupUafkd1T3WJYQAJf9coCjBu2qIhNgrcrGD8R9fGswwNRzMRMpX
|
||||
720+GjcDW3bJAgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFAJG
|
||||
lmB5sVP2qfL3xZ8hQOTpkQH6MA4GA1UdDwEB/wQEAwIBhjANBgkqhkiG9w0BAQsF
|
||||
AAOCAQEAVjl9dm4epG9NUYnagT9sg7scVQEPfz3Lt6w1NXJXgD8mAUlK0jXmEyvM
|
||||
dCPD4514n+8+lM7US8fh+nxc7jO//LwK17Wm9FblgjNFR7+anv0Q99T9fP19DLlF
|
||||
PSNHL2emogy1bl1lLTAoj8nxg2wVKPDSHBGviQ5LR9fsWUIJDv9Bs5k0qWugWYSj
|
||||
19S6qnHeskRDB8MqRLhKMG82oDVLerSnhD0P6HjySBHgTTU7/tYS/OZr1jI6MPbG
|
||||
L+/DtiR5fDVMNdBSGU89UNTi0wHY9+RFuNlIuvZC+x/swF0V9R5mN+ywquTPtDLA
|
||||
5IOM7ItsRmen6u3qu+JXros54e4juQ==
|
||||
-----END CERTIFICATE-----
|
||||
|
||||
public_env_variables:
|
||||
SELFSIGNED_CERTS: "true"
|
||||
|
||||
configProperties:
|
||||
openwifi.internal.restapi.host.0.rootca: $OWFMS_ROOT/certs/restapi-certs/ca.crt
|
||||
openwifi.internal.restapi.host.0.cert: $OWFMS_ROOT/certs/restapi-certs/tls.crt
|
||||
openwifi.internal.restapi.host.0.key: $OWFMS_ROOT/certs/restapi-certs/tls.key
|
||||
openwifi.restapi.host.0.rootca: $OWFMS_ROOT/certs/restapi-certs/ca.crt
|
||||
openwifi.restapi.host.0.cert: $OWFMS_ROOT/certs/restapi-certs/tls.crt
|
||||
openwifi.restapi.host.0.key: $OWFMS_ROOT/certs/restapi-certs/tls.key
|
||||
|
||||
volumes:
|
||||
owfms:
|
||||
- name: config
|
||||
mountPath: /owfms-data/owfms.properties
|
||||
subPath: owfms.properties
|
||||
# Template below will be rendered in template
|
||||
volumeDefinition: |
|
||||
secret:
|
||||
secretName: {{ include "owfms.fullname" . }}-config
|
||||
- name: certs
|
||||
mountPath: /owfms-data/certs
|
||||
volumeDefinition: |
|
||||
secret:
|
||||
secretName: {{ include "owfms.fullname" . }}-certs
|
||||
- name: persist
|
||||
mountPath: /owfms-data/persist
|
||||
volumeDefinition: |
|
||||
persistentVolumeClaim:
|
||||
claimName: {{ template "owfms.fullname" . }}-pvc
|
||||
|
||||
- name: restapi-certs
|
||||
mountPath: /owfms-data/certs/restapi-certs
|
||||
volumeDefinition: |
|
||||
secret:
|
||||
secretName: {{ include "owfms.fullname" . }}-owfms-restapi-tls
|
||||
- name: restapi-ca
|
||||
mountPath: /usr/local/share/ca-certificates/restapi-ca-selfsigned.pem
|
||||
subPath: ca.crt
|
||||
volumeDefinition: |
|
||||
secret:
|
||||
secretName: {{ include "owfms.fullname" . }}-owfms-restapi-tls
|
||||
|
||||
owprov:
|
||||
checks:
|
||||
owprov:
|
||||
readiness:
|
||||
exec:
|
||||
command: ["true"]
|
||||
|
||||
resources:
|
||||
requests:
|
||||
cpu: 10m
|
||||
memory: 20Mi
|
||||
limits:
|
||||
cpu: 100m
|
||||
memory: 100Mi
|
||||
|
||||
podAnnotations:
|
||||
cluster-autoscaler.kubernetes.io/safe-to-evict: "false"
|
||||
|
||||
certs:
|
||||
restapi-ca.pem: |
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIIDojCCAoqgAwIBAgIUPVYBpqNbcLYygF6Mx+qxSWwQyFowDQYJKoZIhvcNAQEL
|
||||
BQAwaTELMAkGA1UEBhMCVVMxJDAiBgNVBAoTG1RlbGVjb20gSW5mcmEgUHJvamVj
|
||||
dCwgSW5jLjEMMAoGA1UECxMDVElQMSYwJAYDVQQDEx1UZWxlY29tIEluZnJhIFBy
|
||||
b2plY3QgUm9vdCBDQTAeFw0yMTA0MTMyMjQyNDRaFw0zMTA0MTMyMjM4NDZaMGkx
|
||||
CzAJBgNVBAYTAlVTMSQwIgYDVQQKExtUZWxlY29tIEluZnJhIFByb2plY3QsIElu
|
||||
Yy4xDDAKBgNVBAsTA1RJUDEmMCQGA1UEAxMdVGVsZWNvbSBJbmZyYSBQcm9qZWN0
|
||||
IFJvb3QgQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDIGCibwf5u
|
||||
AAwZ+1H8U0e3u2V+0d2gSctucoK86XwUmfe1V2a/qlCYZd29r80IuN1IIeB0naIm
|
||||
KnK/MzXW87clF6tFd1+HzEvmlY/W4KyIXalVCTEzirFSvBEG2oZpM0yC3AefytAO
|
||||
aOpA00LaM3xTfTqMKIRhJBuLy0I4ANUVG6ixVebbGuc78IodleqiLoWy2Q9QHyEO
|
||||
t/7hZndJhiVogh0PveRhho45EbsACu7ymDY+JhlIleevqwlE3iQoq0YcmYADHno6
|
||||
Eq8vcwLpZFxihupUafkd1T3WJYQAJf9coCjBu2qIhNgrcrGD8R9fGswwNRzMRMpX
|
||||
720+GjcDW3bJAgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFAJG
|
||||
lmB5sVP2qfL3xZ8hQOTpkQH6MA4GA1UdDwEB/wQEAwIBhjANBgkqhkiG9w0BAQsF
|
||||
AAOCAQEAVjl9dm4epG9NUYnagT9sg7scVQEPfz3Lt6w1NXJXgD8mAUlK0jXmEyvM
|
||||
dCPD4514n+8+lM7US8fh+nxc7jO//LwK17Wm9FblgjNFR7+anv0Q99T9fP19DLlF
|
||||
PSNHL2emogy1bl1lLTAoj8nxg2wVKPDSHBGviQ5LR9fsWUIJDv9Bs5k0qWugWYSj
|
||||
19S6qnHeskRDB8MqRLhKMG82oDVLerSnhD0P6HjySBHgTTU7/tYS/OZr1jI6MPbG
|
||||
L+/DtiR5fDVMNdBSGU89UNTi0wHY9+RFuNlIuvZC+x/swF0V9R5mN+ywquTPtDLA
|
||||
5IOM7ItsRmen6u3qu+JXros54e4juQ==
|
||||
-----END CERTIFICATE-----
|
||||
|
||||
public_env_variables:
|
||||
SELFSIGNED_CERTS: "true"
|
||||
|
||||
configProperties:
|
||||
openwifi.internal.restapi.host.0.rootca: $OWPROV_ROOT/certs/restapi-certs/ca.crt
|
||||
openwifi.internal.restapi.host.0.cert: $OWPROV_ROOT/certs/restapi-certs/tls.crt
|
||||
openwifi.internal.restapi.host.0.key: $OWPROV_ROOT/certs/restapi-certs/tls.key
|
||||
openwifi.restapi.host.0.rootca: $OWPROV_ROOT/certs/restapi-certs/ca.crt
|
||||
openwifi.restapi.host.0.cert: $OWPROV_ROOT/certs/restapi-certs/tls.crt
|
||||
openwifi.restapi.host.0.key: $OWPROV_ROOT/certs/restapi-certs/tls.key
|
||||
|
||||
volumes:
|
||||
owprov:
|
||||
- name: config
|
||||
mountPath: /owprov-data/owprov.properties
|
||||
subPath: owprov.properties
|
||||
# Template below will be rendered in template
|
||||
volumeDefinition: |
|
||||
secret:
|
||||
secretName: {{ include "owprov.fullname" . }}-config
|
||||
- name: certs
|
||||
mountPath: /owprov-data/certs
|
||||
volumeDefinition: |
|
||||
secret:
|
||||
secretName: {{ include "owprov.fullname" . }}-certs
|
||||
- name: persist
|
||||
mountPath: /owprov-data/persist
|
||||
volumeDefinition: |
|
||||
persistentVolumeClaim:
|
||||
claimName: {{ template "owprov.fullname" . }}-pvc
|
||||
|
||||
- name: restapi-certs
|
||||
mountPath: /owprov-data/certs/restapi-certs
|
||||
volumeDefinition: |
|
||||
secret:
|
||||
secretName: {{ include "owprov.fullname" . }}-owprov-restapi-tls
|
||||
- name: restapi-ca
|
||||
mountPath: /usr/local/share/ca-certificates/restapi-ca-selfsigned.pem
|
||||
subPath: ca.crt
|
||||
volumeDefinition: |
|
||||
secret:
|
||||
secretName: {{ include "owprov.fullname" . }}-owprov-restapi-tls
|
||||
|
||||
owprovui:
|
||||
services:
|
||||
owprovui:
|
||||
type: NodePort
|
||||
|
||||
ingresses:
|
||||
default:
|
||||
enabled: true
|
||||
annotations:
|
||||
kubernetes.io/ingress.class: alb
|
||||
alb.ingress.kubernetes.io/scheme: internet-facing
|
||||
alb.ingress.kubernetes.io/group.name: wlan-cicd
|
||||
alb.ingress.kubernetes.io/certificate-arn: arn:aws:acm:us-east-2:289708231103:certificate/bfa89c7a-5b64-4a8a-bcfe-ffec655b5285
|
||||
alb.ingress.kubernetes.io/listen-ports: '[{"HTTP": 80}, {"HTTPS": 443}]'
|
||||
alb.ingress.kubernetes.io/actions.ssl-redirect: '{"Type": "redirect", "RedirectConfig": { "Protocol": "HTTPS", "Port": "443", "StatusCode": "HTTP_302"}}'
|
||||
paths:
|
||||
- path: /*
|
||||
serviceName: owprovui
|
||||
servicePort: http
|
||||
|
||||
podAnnotations:
|
||||
cluster-autoscaler.kubernetes.io/safe-to-evict: "false"
|
||||
|
||||
owanalytics:
|
||||
checks:
|
||||
owanalytics:
|
||||
readiness:
|
||||
exec:
|
||||
command: ["true"]
|
||||
|
||||
resources:
|
||||
requests:
|
||||
cpu: 10m
|
||||
memory: 100Mi
|
||||
limits:
|
||||
cpu: 100m
|
||||
memory: 500Mi
|
||||
|
||||
podAnnotations:
|
||||
cluster-autoscaler.kubernetes.io/safe-to-evict: "false"
|
||||
|
||||
certs:
|
||||
restapi-ca.pem: |
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIIDojCCAoqgAwIBAgIUPVYBpqNbcLYygF6Mx+qxSWwQyFowDQYJKoZIhvcNAQEL
|
||||
BQAwaTELMAkGA1UEBhMCVVMxJDAiBgNVBAoTG1RlbGVjb20gSW5mcmEgUHJvamVj
|
||||
dCwgSW5jLjEMMAoGA1UECxMDVElQMSYwJAYDVQQDEx1UZWxlY29tIEluZnJhIFBy
|
||||
b2plY3QgUm9vdCBDQTAeFw0yMTA0MTMyMjQyNDRaFw0zMTA0MTMyMjM4NDZaMGkx
|
||||
CzAJBgNVBAYTAlVTMSQwIgYDVQQKExtUZWxlY29tIEluZnJhIFByb2plY3QsIElu
|
||||
Yy4xDDAKBgNVBAsTA1RJUDEmMCQGA1UEAxMdVGVsZWNvbSBJbmZyYSBQcm9qZWN0
|
||||
IFJvb3QgQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDIGCibwf5u
|
||||
AAwZ+1H8U0e3u2V+0d2gSctucoK86XwUmfe1V2a/qlCYZd29r80IuN1IIeB0naIm
|
||||
KnK/MzXW87clF6tFd1+HzEvmlY/W4KyIXalVCTEzirFSvBEG2oZpM0yC3AefytAO
|
||||
aOpA00LaM3xTfTqMKIRhJBuLy0I4ANUVG6ixVebbGuc78IodleqiLoWy2Q9QHyEO
|
||||
t/7hZndJhiVogh0PveRhho45EbsACu7ymDY+JhlIleevqwlE3iQoq0YcmYADHno6
|
||||
Eq8vcwLpZFxihupUafkd1T3WJYQAJf9coCjBu2qIhNgrcrGD8R9fGswwNRzMRMpX
|
||||
720+GjcDW3bJAgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFAJG
|
||||
lmB5sVP2qfL3xZ8hQOTpkQH6MA4GA1UdDwEB/wQEAwIBhjANBgkqhkiG9w0BAQsF
|
||||
AAOCAQEAVjl9dm4epG9NUYnagT9sg7scVQEPfz3Lt6w1NXJXgD8mAUlK0jXmEyvM
|
||||
dCPD4514n+8+lM7US8fh+nxc7jO//LwK17Wm9FblgjNFR7+anv0Q99T9fP19DLlF
|
||||
PSNHL2emogy1bl1lLTAoj8nxg2wVKPDSHBGviQ5LR9fsWUIJDv9Bs5k0qWugWYSj
|
||||
19S6qnHeskRDB8MqRLhKMG82oDVLerSnhD0P6HjySBHgTTU7/tYS/OZr1jI6MPbG
|
||||
L+/DtiR5fDVMNdBSGU89UNTi0wHY9+RFuNlIuvZC+x/swF0V9R5mN+ywquTPtDLA
|
||||
5IOM7ItsRmen6u3qu+JXros54e4juQ==
|
||||
-----END CERTIFICATE-----
|
||||
|
||||
public_env_variables:
|
||||
SELFSIGNED_CERTS: "true"
|
||||
|
||||
configProperties:
|
||||
openwifi.internal.restapi.host.0.rootca: $OWANALYTICS_ROOT/certs/restapi-certs/ca.crt
|
||||
openwifi.internal.restapi.host.0.cert: $OWANALYTICS_ROOT/certs/restapi-certs/tls.crt
|
||||
openwifi.internal.restapi.host.0.key: $OWANALYTICS_ROOT/certs/restapi-certs/tls.key
|
||||
openwifi.restapi.host.0.rootca: $OWANALYTICS_ROOT/certs/restapi-certs/ca.crt
|
||||
openwifi.restapi.host.0.cert: $OWANALYTICS_ROOT/certs/restapi-certs/tls.crt
|
||||
openwifi.restapi.host.0.key: $OWANALYTICS_ROOT/certs/restapi-certs/tls.key
|
||||
|
||||
volumes:
|
||||
owanalytics:
|
||||
- name: config
|
||||
mountPath: /owanalytics-data/owanalytics.properties
|
||||
subPath: owanalytics.properties
|
||||
# Template below will be rendered in template
|
||||
volumeDefinition: |
|
||||
secret:
|
||||
secretName: {{ include "owanalytics.fullname" . }}-config
|
||||
- name: certs
|
||||
mountPath: /owanalytics-data/certs
|
||||
volumeDefinition: |
|
||||
secret:
|
||||
secretName: {{ include "owanalytics.fullname" . }}-certs
|
||||
- name: persist
|
||||
mountPath: /owanalytics-data/persist
|
||||
volumeDefinition: |
|
||||
persistentVolumeClaim:
|
||||
claimName: {{ template "owanalytics.fullname" . }}-pvc
|
||||
|
||||
- name: restapi-certs
|
||||
mountPath: /owanalytics-data/certs/restapi-certs
|
||||
volumeDefinition: |
|
||||
secret:
|
||||
secretName: {{ include "owanalytics.fullname" . }}-owanalytics-restapi-tls
|
||||
- name: restapi-ca
|
||||
mountPath: /usr/local/share/ca-certificates/restapi-ca-selfsigned.pem
|
||||
subPath: ca.crt
|
||||
volumeDefinition: |
|
||||
secret:
|
||||
secretName: {{ include "owanalytics.fullname" . }}-owanalytics-restapi-tls
|
||||
|
||||
owsub:
|
||||
resources:
|
||||
requests:
|
||||
cpu: 10m
|
||||
memory: 100Mi
|
||||
limits:
|
||||
cpu: 100m
|
||||
memory: 500Mi
|
||||
|
||||
podAnnotations:
|
||||
cluster-autoscaler.kubernetes.io/safe-to-evict: "false"
|
||||
|
||||
certs:
|
||||
restapi-ca.pem: |
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIIDojCCAoqgAwIBAgIUPVYBpqNbcLYygF6Mx+qxSWwQyFowDQYJKoZIhvcNAQEL
|
||||
BQAwaTELMAkGA1UEBhMCVVMxJDAiBgNVBAoTG1RlbGVjb20gSW5mcmEgUHJvamVj
|
||||
dCwgSW5jLjEMMAoGA1UECxMDVElQMSYwJAYDVQQDEx1UZWxlY29tIEluZnJhIFBy
|
||||
b2plY3QgUm9vdCBDQTAeFw0yMTA0MTMyMjQyNDRaFw0zMTA0MTMyMjM4NDZaMGkx
|
||||
CzAJBgNVBAYTAlVTMSQwIgYDVQQKExtUZWxlY29tIEluZnJhIFByb2plY3QsIElu
|
||||
Yy4xDDAKBgNVBAsTA1RJUDEmMCQGA1UEAxMdVGVsZWNvbSBJbmZyYSBQcm9qZWN0
|
||||
IFJvb3QgQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDIGCibwf5u
|
||||
AAwZ+1H8U0e3u2V+0d2gSctucoK86XwUmfe1V2a/qlCYZd29r80IuN1IIeB0naIm
|
||||
KnK/MzXW87clF6tFd1+HzEvmlY/W4KyIXalVCTEzirFSvBEG2oZpM0yC3AefytAO
|
||||
aOpA00LaM3xTfTqMKIRhJBuLy0I4ANUVG6ixVebbGuc78IodleqiLoWy2Q9QHyEO
|
||||
t/7hZndJhiVogh0PveRhho45EbsACu7ymDY+JhlIleevqwlE3iQoq0YcmYADHno6
|
||||
Eq8vcwLpZFxihupUafkd1T3WJYQAJf9coCjBu2qIhNgrcrGD8R9fGswwNRzMRMpX
|
||||
720+GjcDW3bJAgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFAJG
|
||||
lmB5sVP2qfL3xZ8hQOTpkQH6MA4GA1UdDwEB/wQEAwIBhjANBgkqhkiG9w0BAQsF
|
||||
AAOCAQEAVjl9dm4epG9NUYnagT9sg7scVQEPfz3Lt6w1NXJXgD8mAUlK0jXmEyvM
|
||||
dCPD4514n+8+lM7US8fh+nxc7jO//LwK17Wm9FblgjNFR7+anv0Q99T9fP19DLlF
|
||||
PSNHL2emogy1bl1lLTAoj8nxg2wVKPDSHBGviQ5LR9fsWUIJDv9Bs5k0qWugWYSj
|
||||
19S6qnHeskRDB8MqRLhKMG82oDVLerSnhD0P6HjySBHgTTU7/tYS/OZr1jI6MPbG
|
||||
L+/DtiR5fDVMNdBSGU89UNTi0wHY9+RFuNlIuvZC+x/swF0V9R5mN+ywquTPtDLA
|
||||
5IOM7ItsRmen6u3qu+JXros54e4juQ==
|
||||
-----END CERTIFICATE-----
|
||||
|
||||
public_env_variables:
|
||||
SELFSIGNED_CERTS: "true"
|
||||
|
||||
configProperties:
|
||||
openwifi.internal.restapi.host.0.rootca: $OWSUB_ROOT/certs/restapi-certs/ca.crt
|
||||
openwifi.internal.restapi.host.0.cert: $OWSUB_ROOT/certs/restapi-certs/tls.crt
|
||||
openwifi.internal.restapi.host.0.key: $OWSUB_ROOT/certs/restapi-certs/tls.key
|
||||
openwifi.restapi.host.0.rootca: $OWSUB_ROOT/certs/restapi-certs/ca.crt
|
||||
openwifi.restapi.host.0.cert: $OWSUB_ROOT/certs/restapi-certs/tls.crt
|
||||
openwifi.restapi.host.0.key: $OWSUB_ROOT/certs/restapi-certs/tls.key
|
||||
|
||||
volumes:
|
||||
owsub:
|
||||
- name: config
|
||||
mountPath: /owsub-data/owsub.properties
|
||||
subPath: owsub.properties
|
||||
# Template below will be rendered in template
|
||||
volumeDefinition: |
|
||||
secret:
|
||||
secretName: {{ include "owsub.fullname" . }}-config
|
||||
- name: certs
|
||||
mountPath: /owsub-data/certs
|
||||
volumeDefinition: |
|
||||
secret:
|
||||
secretName: {{ include "owsub.fullname" . }}-certs
|
||||
- name: persist
|
||||
mountPath: /owsub-data/persist
|
||||
volumeDefinition: |
|
||||
persistentVolumeClaim:
|
||||
claimName: {{ template "owsub.fullname" . }}-pvc
|
||||
|
||||
- name: restapi-certs
|
||||
mountPath: /owsub-data/certs/restapi-certs
|
||||
volumeDefinition: |
|
||||
secret:
|
||||
secretName: {{ include "owsub.fullname" . }}-owsub-restapi-tls
|
||||
- name: restapi-ca
|
||||
mountPath: /usr/local/share/ca-certificates/restapi-ca-selfsigned.pem
|
||||
subPath: ca.crt
|
||||
volumeDefinition: |
|
||||
secret:
|
||||
secretName: {{ include "owsub.fullname" . }}-owsub-restapi-tls
|
||||
|
||||
|
||||
kafka:
|
||||
commonAnnotations:
|
||||
cluster-autoscaler.kubernetes.io/safe-to-evict: "false"
|
||||
heapOpts: -Xmx512m -Xms512m
|
||||
resources:
|
||||
requests:
|
||||
cpu: 100m
|
||||
memory: 512Mi
|
||||
limits:
|
||||
cpu: 500m
|
||||
memory: 1Gi
|
||||
readinessProbe:
|
||||
initialDelaySeconds: 45
|
||||
livenessProbe:
|
||||
initialDelaySeconds: 60
|
||||
zookeeper:
|
||||
commonAnnotations:
|
||||
cluster-autoscaler.kubernetes.io/safe-to-evict: "false"
|
||||
heapSize: 256
|
||||
resources:
|
||||
requests:
|
||||
cpu: 100m
|
||||
memory: 256Mi
|
||||
limits:
|
||||
cpu: 200m
|
||||
memory: 384Mi
|
||||
|
||||
clustersysteminfo:
|
||||
enabled: true
|
||||
delay: 60 # delaying to wait for AWS Route53 DNS propagation
|
||||
|
||||
haproxy:
|
||||
service:
|
||||
annotations:
|
||||
service.beta.kubernetes.io/aws-load-balancer-backend-protocol: ssl
|
||||
service.beta.kubernetes.io/aws-load-balancer-healthcheck-port: "8080"
|
||||
service.beta.kubernetes.io/aws-load-balancer-scheme: internet-facing
|
||||
service.beta.kubernetes.io/aws-load-balancer-ssl-cert: arn:aws:acm:us-east-2:289708231103:certificate/bfa89c7a-5b64-4a8a-bcfe-ffec655b5285
|
||||
service.beta.kubernetes.io/aws-load-balancer-ssl-ports: "16004,17004,16002,16003,17002,16005,17005,16001,17001,5912,5913,16009,16007"
|
||||
service.beta.kubernetes.io/aws-load-balancer-type: nlb-ip
|
||||
|
||||
restapiCerts:
|
||||
enabled: true
|
||||
27
chart/feature-values/values.disable-haproxy.yaml
Normal file
27
chart/feature-values/values.disable-haproxy.yaml
Normal file
@@ -0,0 +1,27 @@
|
||||
owgw:
|
||||
services:
|
||||
owgw:
|
||||
type: LoadBalancer
|
||||
|
||||
owsec:
|
||||
services:
|
||||
owsec:
|
||||
type: LoadBalancer
|
||||
|
||||
rttys:
|
||||
services:
|
||||
rttys:
|
||||
type: LoadBalancer
|
||||
|
||||
owfms:
|
||||
services:
|
||||
owfms:
|
||||
type: LoadBalancer
|
||||
|
||||
owprov:
|
||||
services:
|
||||
owprov:
|
||||
type: LoadBalancer
|
||||
|
||||
haproxy:
|
||||
enabled: false
|
||||
15
chart/feature-values/values.enable-clustersysteminfo.yaml
Normal file
15
chart/feature-values/values.enable-clustersysteminfo.yaml
Normal file
@@ -0,0 +1,15 @@
|
||||
clustersysteminfo:
|
||||
enabled: true
|
||||
delay: 0 # you may change this if you need to wait for DNS propogation or other things
|
||||
|
||||
public_env_variables:
|
||||
OWSEC: owsec-owsec:16001
|
||||
# Uncomment these options if you want to run systeminfo checks inside of cluster
|
||||
#OWGW_OVERRIDE: owgw-owgw:16002
|
||||
#OWFMS_OVERRIDE: owfms-owfms:16004
|
||||
#OWPROV_OVERRIDE: owprov-owprov:16005
|
||||
|
||||
secret_env_variables:
|
||||
OWSEC_DEFAULT_USERNAME: tip@ucentral.com
|
||||
OWSEC_DEFAULT_PASSWORD: openwifi
|
||||
OWSEC_NEW_PASSWORD: TOFILL # TODO adapt password to your new password with password policy in mind
|
||||
9
chart/feature-values/values.enable-owls.yaml
Normal file
9
chart/feature-values/values.enable-owls.yaml
Normal file
@@ -0,0 +1,9 @@
|
||||
owgw:
|
||||
configProperties:
|
||||
simulatorid: 53494D020202 # This value should be set to serial number of certificate that was provided to OWLS
|
||||
|
||||
owls:
|
||||
enabled: true
|
||||
|
||||
owlsui:
|
||||
enabled: true
|
||||
12
chart/feature-values/values.owgw-unsafe-sysctl.yaml
Normal file
12
chart/feature-values/values.owgw-unsafe-sysctl.yaml
Normal file
@@ -0,0 +1,12 @@
|
||||
owgw:
|
||||
securityContext:
|
||||
sysctls:
|
||||
- name: net.ipv4.tcp_keepalive_intvl
|
||||
value: "5"
|
||||
- name: net.ipv4.tcp_keepalive_probes
|
||||
value: "2"
|
||||
- name: net.ipv4.tcp_keepalive_time
|
||||
value: "45"
|
||||
|
||||
podSecurityPolicy:
|
||||
enabled: true
|
||||
271
chart/feature-values/values.restapi-certmanager-certs.yaml
Normal file
271
chart/feature-values/values.restapi-certmanager-certs.yaml
Normal file
@@ -0,0 +1,271 @@
|
||||
owgw:
|
||||
public_env_variables:
|
||||
SELFSIGNED_CERTS: "true"
|
||||
|
||||
configProperties:
|
||||
openwifi.internal.restapi.host.0.rootca: $OWGW_ROOT/certs/restapi-certs/ca.crt
|
||||
openwifi.internal.restapi.host.0.cert: $OWGW_ROOT/certs/restapi-certs/tls.crt
|
||||
openwifi.internal.restapi.host.0.key: $OWGW_ROOT/certs/restapi-certs/tls.key
|
||||
openwifi.restapi.host.0.rootca: $OWGW_ROOT/certs/restapi-certs/ca.crt
|
||||
openwifi.restapi.host.0.cert: $OWGW_ROOT/certs/restapi-certs/tls.crt
|
||||
openwifi.restapi.host.0.key: $OWGW_ROOT/certs/restapi-certs/tls.key
|
||||
|
||||
volumes:
|
||||
owgw:
|
||||
- name: config
|
||||
mountPath: /owgw-data/owgw.properties
|
||||
subPath: owgw.properties
|
||||
# Template below will be rendered in template
|
||||
volumeDefinition: |
|
||||
secret:
|
||||
secretName: {{ include "owgw.fullname" . }}-config
|
||||
- name: certs
|
||||
mountPath: /owgw-data/certs
|
||||
volumeDefinition: |
|
||||
secret:
|
||||
secretName: {{ include "owgw.fullname" . }}-certs
|
||||
- name: certs-cas
|
||||
mountPath: /owgw-data/certs/cas
|
||||
volumeDefinition: |
|
||||
secret:
|
||||
secretName: {{ include "owgw.fullname" . }}-certs-cas
|
||||
- name: persist
|
||||
mountPath: /owgw-data/persist
|
||||
volumeDefinition: |
|
||||
persistentVolumeClaim:
|
||||
claimName: {{ template "owgw.fullname" . }}-pvc
|
||||
|
||||
- name: restapi-certs
|
||||
mountPath: /owgw-data/certs/restapi-certs
|
||||
volumeDefinition: |
|
||||
secret:
|
||||
secretName: {{ include "owgw.fullname" . }}-owgw-restapi-tls
|
||||
- name: restapi-ca
|
||||
mountPath: /usr/local/share/ca-certificates/restapi-ca-selfsigned.pem
|
||||
subPath: ca.crt
|
||||
volumeDefinition: |
|
||||
secret:
|
||||
secretName: {{ include "owgw.fullname" . }}-owgw-restapi-tls
|
||||
|
||||
owsec:
|
||||
public_env_variables:
|
||||
SELFSIGNED_CERTS: "true"
|
||||
|
||||
configProperties:
|
||||
openwifi.internal.restapi.host.0.rootca: $OWSEC_ROOT/certs/restapi-certs/ca.crt
|
||||
openwifi.internal.restapi.host.0.cert: $OWSEC_ROOT/certs/restapi-certs/tls.crt
|
||||
openwifi.internal.restapi.host.0.key: $OWSEC_ROOT/certs/restapi-certs/tls.key
|
||||
openwifi.restapi.host.0.rootca: $OWSEC_ROOT/certs/restapi-certs/ca.crt
|
||||
openwifi.restapi.host.0.cert: $OWSEC_ROOT/certs/restapi-certs/tls.crt
|
||||
openwifi.restapi.host.0.key: $OWSEC_ROOT/certs/restapi-certs/tls.key
|
||||
|
||||
volumes:
|
||||
owsec:
|
||||
- name: config
|
||||
mountPath: /owsec-data/owsec.properties
|
||||
subPath: owsec.properties
|
||||
# Template below will be rendered in template
|
||||
volumeDefinition: |
|
||||
secret:
|
||||
secretName: {{ include "owsec.fullname" . }}-config
|
||||
- name: certs
|
||||
mountPath: /owsec-data/certs
|
||||
volumeDefinition: |
|
||||
secret:
|
||||
secretName: {{ include "owsec.fullname" . }}-certs
|
||||
- name: persist
|
||||
mountPath: /owsec-data/persist
|
||||
volumeDefinition: |
|
||||
persistentVolumeClaim:
|
||||
claimName: {{ template "owsec.fullname" . }}-pvc
|
||||
|
||||
- name: restapi-certs
|
||||
mountPath: /owsec-data/certs/restapi-certs
|
||||
volumeDefinition: |
|
||||
secret:
|
||||
secretName: {{ include "owsec.fullname" . }}-owsec-restapi-tls
|
||||
- name: restapi-ca
|
||||
mountPath: /usr/local/share/ca-certificates/restapi-ca-selfsigned.pem
|
||||
subPath: ca.crt
|
||||
volumeDefinition: |
|
||||
secret:
|
||||
secretName: {{ include "owsec.fullname" . }}-owsec-restapi-tls
|
||||
|
||||
owfms:
|
||||
public_env_variables:
|
||||
SELFSIGNED_CERTS: "true"
|
||||
|
||||
configProperties:
|
||||
openwifi.internal.restapi.host.0.rootca: $OWFMS_ROOT/certs/restapi-certs/ca.crt
|
||||
openwifi.internal.restapi.host.0.cert: $OWFMS_ROOT/certs/restapi-certs/tls.crt
|
||||
openwifi.internal.restapi.host.0.key: $OWFMS_ROOT/certs/restapi-certs/tls.key
|
||||
openwifi.restapi.host.0.rootca: $OWFMS_ROOT/certs/restapi-certs/ca.crt
|
||||
openwifi.restapi.host.0.cert: $OWFMS_ROOT/certs/restapi-certs/tls.crt
|
||||
openwifi.restapi.host.0.key: $OWFMS_ROOT/certs/restapi-certs/tls.key
|
||||
|
||||
volumes:
|
||||
owfms:
|
||||
- name: config
|
||||
mountPath: /owfms-data/owfms.properties
|
||||
subPath: owfms.properties
|
||||
# Template below will be rendered in template
|
||||
volumeDefinition: |
|
||||
secret:
|
||||
secretName: {{ include "owfms.fullname" . }}-config
|
||||
- name: certs
|
||||
mountPath: /owfms-data/certs
|
||||
volumeDefinition: |
|
||||
secret:
|
||||
secretName: {{ include "owfms.fullname" . }}-certs
|
||||
- name: persist
|
||||
mountPath: /owfms-data/persist
|
||||
volumeDefinition: |
|
||||
persistentVolumeClaim:
|
||||
claimName: {{ template "owfms.fullname" . }}-pvc
|
||||
|
||||
- name: restapi-certs
|
||||
mountPath: /owfms-data/certs/restapi-certs
|
||||
volumeDefinition: |
|
||||
secret:
|
||||
secretName: {{ include "owfms.fullname" . }}-owfms-restapi-tls
|
||||
- name: restapi-ca
|
||||
mountPath: /usr/local/share/ca-certificates/restapi-ca-selfsigned.pem
|
||||
subPath: ca.crt
|
||||
volumeDefinition: |
|
||||
secret:
|
||||
secretName: {{ include "owfms.fullname" . }}-owfms-restapi-tls
|
||||
|
||||
owprov:
|
||||
public_env_variables:
|
||||
SELFSIGNED_CERTS: "true"
|
||||
|
||||
configProperties:
|
||||
openwifi.internal.restapi.host.0.rootca: $OWPROV_ROOT/certs/restapi-certs/ca.crt
|
||||
openwifi.internal.restapi.host.0.cert: $OWPROV_ROOT/certs/restapi-certs/tls.crt
|
||||
openwifi.internal.restapi.host.0.key: $OWPROV_ROOT/certs/restapi-certs/tls.key
|
||||
openwifi.restapi.host.0.rootca: $OWPROV_ROOT/certs/restapi-certs/ca.crt
|
||||
openwifi.restapi.host.0.cert: $OWPROV_ROOT/certs/restapi-certs/tls.crt
|
||||
openwifi.restapi.host.0.key: $OWPROV_ROOT/certs/restapi-certs/tls.key
|
||||
|
||||
volumes:
|
||||
owprov:
|
||||
- name: config
|
||||
mountPath: /owprov-data/owprov.properties
|
||||
subPath: owprov.properties
|
||||
# Template below will be rendered in template
|
||||
volumeDefinition: |
|
||||
secret:
|
||||
secretName: {{ include "owprov.fullname" . }}-config
|
||||
- name: certs
|
||||
mountPath: /owprov-data/certs
|
||||
volumeDefinition: |
|
||||
secret:
|
||||
secretName: {{ include "owprov.fullname" . }}-certs
|
||||
- name: persist
|
||||
mountPath: /owprov-data/persist
|
||||
volumeDefinition: |
|
||||
persistentVolumeClaim:
|
||||
claimName: {{ template "owprov.fullname" . }}-pvc
|
||||
|
||||
- name: restapi-certs
|
||||
mountPath: /owprov-data/certs/restapi-certs
|
||||
volumeDefinition: |
|
||||
secret:
|
||||
secretName: {{ include "owprov.fullname" . }}-owprov-restapi-tls
|
||||
- name: restapi-ca
|
||||
mountPath: /usr/local/share/ca-certificates/restapi-ca-selfsigned.pem
|
||||
subPath: ca.crt
|
||||
volumeDefinition: |
|
||||
secret:
|
||||
secretName: {{ include "owprov.fullname" . }}-owprov-restapi-tls
|
||||
|
||||
owanalytics:
|
||||
public_env_variables:
|
||||
SELFSIGNED_CERTS: "true"
|
||||
|
||||
configProperties:
|
||||
openwifi.internal.restapi.host.0.rootca: $OWANALYTICS_ROOT/certs/restapi-certs/ca.crt
|
||||
openwifi.internal.restapi.host.0.cert: $OWANALYTICS_ROOT/certs/restapi-certs/tls.crt
|
||||
openwifi.internal.restapi.host.0.key: $OWANALYTICS_ROOT/certs/restapi-certs/tls.key
|
||||
openwifi.restapi.host.0.rootca: $OWANALYTICS_ROOT/certs/restapi-certs/ca.crt
|
||||
openwifi.restapi.host.0.cert: $OWANALYTICS_ROOT/certs/restapi-certs/tls.crt
|
||||
openwifi.restapi.host.0.key: $OWANALYTICS_ROOT/certs/restapi-certs/tls.key
|
||||
|
||||
volumes:
|
||||
owanalytics:
|
||||
- name: config
|
||||
mountPath: /owanalytics-data/owanalytics.properties
|
||||
subPath: owanalytics.properties
|
||||
# Template below will be rendered in template
|
||||
volumeDefinition: |
|
||||
secret:
|
||||
secretName: {{ include "owanalytics.fullname" . }}-config
|
||||
- name: certs
|
||||
mountPath: /owanalytics-data/certs
|
||||
volumeDefinition: |
|
||||
secret:
|
||||
secretName: {{ include "owanalytics.fullname" . }}-certs
|
||||
- name: persist
|
||||
mountPath: /owanalytics-data/persist
|
||||
volumeDefinition: |
|
||||
persistentVolumeClaim:
|
||||
claimName: {{ template "owanalytics.fullname" . }}-pvc
|
||||
|
||||
- name: restapi-certs
|
||||
mountPath: /owanalytics-data/certs/restapi-certs
|
||||
volumeDefinition: |
|
||||
secret:
|
||||
secretName: {{ include "owanalytics.fullname" . }}-owanalytics-restapi-tls
|
||||
- name: restapi-ca
|
||||
mountPath: /usr/local/share/ca-certificates/restapi-ca-selfsigned.pem
|
||||
subPath: ca.crt
|
||||
volumeDefinition: |
|
||||
secret:
|
||||
secretName: {{ include "owanalytics.fullname" . }}-owanalytics-restapi-tls
|
||||
|
||||
owsub:
|
||||
public_env_variables:
|
||||
SELFSIGNED_CERTS: "true"
|
||||
|
||||
configProperties:
|
||||
openwifi.internal.restapi.host.0.rootca: $OWSUB_ROOT/certs/restapi-certs/ca.crt
|
||||
openwifi.internal.restapi.host.0.cert: $OWSUB_ROOT/certs/restapi-certs/tls.crt
|
||||
openwifi.internal.restapi.host.0.key: $OWSUB_ROOT/certs/restapi-certs/tls.key
|
||||
openwifi.restapi.host.0.rootca: $OWSUB_ROOT/certs/restapi-certs/ca.crt
|
||||
openwifi.restapi.host.0.cert: $OWSUB_ROOT/certs/restapi-certs/tls.crt
|
||||
openwifi.restapi.host.0.key: $OWSUB_ROOT/certs/restapi-certs/tls.key
|
||||
|
||||
volumes:
|
||||
owsub:
|
||||
- name: config
|
||||
mountPath: /owsub-data/owsub.properties
|
||||
subPath: owsub.properties
|
||||
# Template below will be rendered in template
|
||||
volumeDefinition: |
|
||||
secret:
|
||||
secretName: {{ include "owsub.fullname" . }}-config
|
||||
- name: certs
|
||||
mountPath: /owsub-data/certs
|
||||
volumeDefinition: |
|
||||
secret:
|
||||
secretName: {{ include "owsub.fullname" . }}-certs
|
||||
- name: persist
|
||||
mountPath: /owsub-data/persist
|
||||
volumeDefinition: |
|
||||
persistentVolumeClaim:
|
||||
claimName: {{ template "owsub.fullname" . }}-pvc
|
||||
|
||||
- name: restapi-certs
|
||||
mountPath: /owsub-data/certs/restapi-certs
|
||||
volumeDefinition: |
|
||||
secret:
|
||||
secretName: {{ include "owsub.fullname" . }}-owsub-restapi-tls
|
||||
- name: restapi-ca
|
||||
mountPath: /usr/local/share/ca-certificates/restapi-ca-selfsigned.pem
|
||||
subPath: ca.crt
|
||||
volumeDefinition: |
|
||||
secret:
|
||||
secretName: {{ include "owsub.fullname" . }}-owsub-restapi-tls
|
||||
|
||||
restapiCerts:
|
||||
enabled: true
|
||||
30
chart/feature-values/values.restapi-disable-tls.yaml
Normal file
30
chart/feature-values/values.restapi-disable-tls.yaml
Normal file
@@ -0,0 +1,30 @@
|
||||
# NOTE: using of this values files will require you to use http schema in 'openwifi.system.uri.public' configuration properties (i.e. "openwifi.system.uri.public=http://owgw.openwifi.local:16002")
|
||||
owgw:
|
||||
configProperties:
|
||||
openwifi.security.restapi.disable: "true"
|
||||
openwifi.system.uri.private: http://owsec-owsec:17002
|
||||
|
||||
owsec:
|
||||
configProperties:
|
||||
openwifi.security.restapi.disable: "true"
|
||||
openwifi.system.uri.private: http://owsec-owsec:17001
|
||||
|
||||
owfms:
|
||||
configProperties:
|
||||
openwifi.security.restapi.disable: "true"
|
||||
openwifi.system.uri.private: http://owsec-owsec:17004
|
||||
|
||||
owprov:
|
||||
configProperties:
|
||||
openwifi.security.restapi.disable: "true"
|
||||
openwifi.system.uri.private: http://owsec-owsec:17005
|
||||
|
||||
owanalytics:
|
||||
configProperties:
|
||||
openwifi.security.restapi.disable: "true"
|
||||
openwifi.system.uri.private: http://owsec-owsec:17009
|
||||
|
||||
owsub:
|
||||
configProperties:
|
||||
openwifi.security.restapi.disable: "true"
|
||||
openwifi.system.uri.private: http://owsec-owsec:17006
|
||||
52
chart/templates/certificate-restapi.yaml
Normal file
52
chart/templates/certificate-restapi.yaml
Normal file
@@ -0,0 +1,52 @@
|
||||
{{- $root := . -}}
|
||||
{{- if .Values.restapiCerts.enabled }}
|
||||
---
|
||||
apiVersion: cert-manager.io/v1
|
||||
kind: Issuer
|
||||
metadata:
|
||||
name: selfsigned-issuer
|
||||
spec:
|
||||
selfSigned: {}
|
||||
---
|
||||
apiVersion: cert-manager.io/v1
|
||||
kind: Certificate
|
||||
metadata:
|
||||
name: ow-wildcard
|
||||
spec:
|
||||
secretName: ow-wildcard-tls
|
||||
commonName: {{ .Release.Namespace }}.svc.{{ .Values.restapiCerts.clusterDomain }}
|
||||
isCA: true
|
||||
duration: 87600h
|
||||
usages:
|
||||
- server auth
|
||||
- client auth
|
||||
issuerRef:
|
||||
name: selfsigned-issuer
|
||||
---
|
||||
apiVersion: cert-manager.io/v1
|
||||
kind: Issuer
|
||||
metadata:
|
||||
name: ow-ca-issuer
|
||||
spec:
|
||||
ca:
|
||||
secretName: ow-wildcard-tls
|
||||
{{ range .Values.restapiCerts.services }}
|
||||
---
|
||||
apiVersion: cert-manager.io/v1
|
||||
kind: Certificate
|
||||
metadata:
|
||||
name: {{ . }}-restapi
|
||||
spec:
|
||||
secretName: {{ . }}-restapi-tls
|
||||
isCA: false
|
||||
usages:
|
||||
- server auth
|
||||
- client auth
|
||||
dnsNames:
|
||||
- "{{ . }}"
|
||||
- "{{ . }}.{{ $root.Release.Namespace }}.svc"
|
||||
- "{{ . }}.{{ $root.Release.Namespace }}.svc.{{ $root.Values.restapiCerts.clusterDomain }}"
|
||||
issuerRef:
|
||||
name: ow-ca-issuer
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
@@ -33,7 +33,7 @@ spec:
|
||||
initContainers:
|
||||
- name: delay
|
||||
image: "alpine:latest"
|
||||
command: ["/bin/sleep","{{ default 60 .Values.clustersysteminfo.delay }}"]
|
||||
command: ["/bin/sleep","{{ default 0 .Values.clustersysteminfo.delay }}"]
|
||||
containers:
|
||||
- name: clustersysteminfo-check
|
||||
image: "{{ .Values.clustersysteminfo.images.clustersysteminfo.repository }}:{{ .Values.clustersysteminfo.images.clustersysteminfo.tag }}"
|
||||
|
||||
@@ -26,6 +26,14 @@ owfms:
|
||||
owprov:
|
||||
fullnameOverride: owprov
|
||||
|
||||
configProperties:
|
||||
openwifi.kafka.enable: "true"
|
||||
openwifi.kafka.brokerlist: kafka:9092
|
||||
#
|
||||
# OpenWIFI Analytics (https://github.com/Telecominfraproject/wlan-cloud-analytics)
|
||||
owanalytics:
|
||||
fullnameOverride: owanalytics
|
||||
|
||||
configProperties:
|
||||
openwifi.kafka.enable: "true"
|
||||
openwifi.kafka.brokerlist: kafka:9092
|
||||
@@ -38,14 +46,13 @@ owgwui:
|
||||
owprovui:
|
||||
fullnameOverride: owprovui
|
||||
|
||||
# rttys (https://github.com/Telecominfraproject/wlan-cloud-ucentralgw-rtty)
|
||||
rttys:
|
||||
enabled: true
|
||||
# OpenWIFI Subscription (https://github.com/Telecominfraproject/wlan-cloud-userportal/)
|
||||
owsub:
|
||||
fullnameOverride: owsub
|
||||
|
||||
fullnameOverride: rttys
|
||||
|
||||
config:
|
||||
token: 96181c567b4d0d98c50f127230068fa8
|
||||
configProperties:
|
||||
openwifi.kafka.enable: "true"
|
||||
openwifi.kafka.brokerlist: kafka:9092
|
||||
|
||||
# kafka (https://github.com/bitnami/charts/blob/master/bitnami/kafka/)
|
||||
kafka:
|
||||
@@ -66,9 +73,7 @@ kafka:
|
||||
# clustersysteminfo check
|
||||
clustersysteminfo:
|
||||
enabled: false
|
||||
#delay: 60 # number of seconds to delay clustersysteminfo execution
|
||||
|
||||
fullnameOverride: clustersysteminfo
|
||||
delay: 0 # number of seconds to delay clustersysteminfo execution
|
||||
|
||||
images:
|
||||
clustersysteminfo:
|
||||
@@ -100,7 +105,7 @@ clustersysteminfo:
|
||||
|
||||
public_env_variables:
|
||||
FLAGS: "-s --connect-timeout 3"
|
||||
OWSEC: sec:16001
|
||||
OWSEC: owsec-owsec:16001
|
||||
CHECK_RETRIES: 30
|
||||
|
||||
secret_env_variables:
|
||||
@@ -127,3 +132,303 @@ owlsui:
|
||||
enabled: false
|
||||
|
||||
fullnameOverride: owlsui
|
||||
|
||||
# HAproxy (https://github.com/bitnami/charts/tree/master/bitnami/haproxy)
|
||||
haproxy:
|
||||
enabled: true
|
||||
|
||||
fullnameOverride: proxy
|
||||
|
||||
replicaCount: 3
|
||||
|
||||
service:
|
||||
type: LoadBalancer
|
||||
ports:
|
||||
# healthcheck
|
||||
- name: health
|
||||
protocol: TCP
|
||||
port: 8080
|
||||
targetPort: health
|
||||
# owfms
|
||||
- name: owfmsrest
|
||||
protocol: TCP
|
||||
port: 16004
|
||||
targetPort: owfmsrest
|
||||
- name: owfmsrestint
|
||||
protocol: TCP
|
||||
port: 17004
|
||||
targetPort: owfmsrestint
|
||||
# owgw
|
||||
- name: owgwws
|
||||
protocol: TCP
|
||||
port: 15002
|
||||
targetPort: owgwws
|
||||
- name: owgwrest
|
||||
protocol: TCP
|
||||
port: 16002
|
||||
targetPort: owgwrest
|
||||
- name: owgwfileup
|
||||
protocol: TCP
|
||||
port: 16003
|
||||
targetPort: owgwfileup
|
||||
- name: owgwrestint
|
||||
protocol: TCP
|
||||
port: 17002
|
||||
targetPort: owgwrestint
|
||||
- name: owgwrttys
|
||||
protocol: TCP
|
||||
port: 5912
|
||||
targetPort: owgwrttys
|
||||
- name: owgwrttysview
|
||||
protocol: TCP
|
||||
port: 5913
|
||||
targetPort: owgwrttysview
|
||||
# owprov
|
||||
- name: owprovrest
|
||||
protocol: TCP
|
||||
port: 16005
|
||||
targetPort: owprovrest
|
||||
- name: owprovrestint
|
||||
protocol: TCP
|
||||
port: 17005
|
||||
targetPort: owprovrestint
|
||||
# owsec
|
||||
- name: owsecrest
|
||||
protocol: TCP
|
||||
port: 16001
|
||||
targetPort: owsecrest
|
||||
- name: owsecrestint
|
||||
protocol: TCP
|
||||
port: 17001
|
||||
targetPort: owsecrestint
|
||||
# owanalytics
|
||||
- name: owanalyticsrest
|
||||
protocol: TCP
|
||||
port: 16009
|
||||
targetPort: owanalyticsrest
|
||||
- name: owanalyticsrint
|
||||
protocol: TCP
|
||||
port: 17009
|
||||
targetPort: owanalyticsrint
|
||||
# owsub
|
||||
- name: owsubrest
|
||||
protocol: TCP
|
||||
port: 16006
|
||||
targetPort: owsubrest
|
||||
- name: owsubrint
|
||||
protocol: TCP
|
||||
port: 17006
|
||||
targetPort: owsubrint
|
||||
|
||||
containerPorts:
|
||||
# healthcheck
|
||||
- name: health
|
||||
containerPort: 8080
|
||||
# owfms
|
||||
- name: owfmsrest
|
||||
containerPort: 16004
|
||||
- name: owfmsrestint
|
||||
containerPort: 17004
|
||||
# owgw
|
||||
- name: owgwws
|
||||
containerPort: 15002
|
||||
- name: owgwrest
|
||||
containerPort: 16002
|
||||
- name: owgwfileup
|
||||
containerPort: 16003
|
||||
- name: owgwrestint
|
||||
containerPort: 17002
|
||||
- name: owgwrttys
|
||||
containerPort: 5912
|
||||
- name: owgwrttysview
|
||||
containerPort: 5913
|
||||
# owprov
|
||||
- name: owprovrest
|
||||
containerPort: 16005
|
||||
- name: owprovrestint
|
||||
containerPort: 17005
|
||||
# owsec
|
||||
- name: owsecrest
|
||||
containerPort: 16001
|
||||
- name: owsecrestint
|
||||
containerPort: 17001
|
||||
# owanalytics
|
||||
- name: owanalyticsrest
|
||||
containerPort: 16009
|
||||
- name: owanalyticsrint
|
||||
containerPort: 17009
|
||||
# owsub
|
||||
- name: owsubrest
|
||||
containerPort: 16006
|
||||
- name: owsubrint
|
||||
containerPort: 17006
|
||||
|
||||
configuration: |
|
||||
global
|
||||
log stdout format raw local0
|
||||
maxconn 1024
|
||||
defaults
|
||||
log global
|
||||
timeout client 360s
|
||||
timeout connect 60s
|
||||
timeout server 360s
|
||||
|
||||
# healthcheck
|
||||
frontend front_healthcheck
|
||||
bind :8080
|
||||
mode http
|
||||
default_backend back_healthcheck
|
||||
backend back_healthcheck
|
||||
mode http
|
||||
http-after-response set-header Access-Control-Allow-Origin "*"
|
||||
http-after-response set-header Access-Control-Max-Age "31536000"
|
||||
http-request return status 200 content-type "text/plain" string "Pong"
|
||||
|
||||
# owfms
|
||||
frontend front_owfms_rest
|
||||
bind :16004
|
||||
mode tcp
|
||||
default_backend back_owfms_rest
|
||||
backend back_owfms_rest
|
||||
mode tcp
|
||||
server svc_owfms_rest owfms-owfms:16004
|
||||
|
||||
frontend front_owfms_rest_internal
|
||||
bind :17004
|
||||
mode tcp
|
||||
default_backend back_owfms_rest_internal
|
||||
backend back_owfms_rest_internal
|
||||
mode tcp
|
||||
server svc_owfms_rest_internal owfms-owfms:17004
|
||||
|
||||
# owgw
|
||||
frontend front_owgw_websocket
|
||||
bind :15002
|
||||
mode tcp
|
||||
default_backend back_owgw_websocket
|
||||
backend back_owgw_websocket
|
||||
mode tcp
|
||||
server svc_owgw_websocket owgw-owgw:15002
|
||||
|
||||
frontend front_owgw_rest
|
||||
bind :16002
|
||||
mode tcp
|
||||
default_backend back_owgw_rest
|
||||
backend back_owgw_rest
|
||||
mode tcp
|
||||
server svc_owgw_rest owgw-owgw:16002
|
||||
|
||||
frontend front_owgw_fileuploader
|
||||
bind :16003
|
||||
mode tcp
|
||||
default_backend back_owgw_fileuploader
|
||||
backend back_owgw_fileuploader
|
||||
mode tcp
|
||||
server svc_owgw_fileuploader owgw-owgw:16003
|
||||
|
||||
frontend front_owgw_rest_internal
|
||||
bind :17002
|
||||
mode tcp
|
||||
default_backend back_owgw_rest_internal
|
||||
backend back_owgw_rest_internal
|
||||
mode tcp
|
||||
server svc_owgw_rest_internal owgw-owgw:17002
|
||||
|
||||
frontend front_owgw_rttys
|
||||
bind :5912
|
||||
mode tcp
|
||||
default_backend back_owgw_rttys
|
||||
backend back_owgw_rttys
|
||||
mode tcp
|
||||
server svc_owgw_rttys owgw-owgw:5912
|
||||
|
||||
frontend front_owgw_rttys_view
|
||||
bind :5913
|
||||
mode tcp
|
||||
default_backend back_owgw_rttys_view
|
||||
backend back_owgw_rttys_view
|
||||
mode tcp
|
||||
server svc_owgw_rttys_view owgw-owgw:5913
|
||||
|
||||
# owprov
|
||||
frontend front_owprov_rest
|
||||
bind :16005
|
||||
mode tcp
|
||||
default_backend back_owprov_rest
|
||||
backend back_owprov_rest
|
||||
mode tcp
|
||||
server svc_owprov_rest owprov-owprov:16005
|
||||
|
||||
frontend front_owprov_rest_internal
|
||||
bind :17005
|
||||
mode tcp
|
||||
default_backend back_owprov_rest_internal
|
||||
backend back_owprov_rest_internal
|
||||
mode tcp
|
||||
server svc_owprov_rest_internal owprov-owprov:17005
|
||||
|
||||
# owsec
|
||||
frontend front_owsec_rest
|
||||
bind :16001
|
||||
mode tcp
|
||||
default_backend back_owsec_rest
|
||||
backend back_owsec_rest
|
||||
mode tcp
|
||||
server svc_owsec_rest owsec-owsec:16001
|
||||
|
||||
frontend front_owsec_rest_internal
|
||||
bind :17001
|
||||
mode tcp
|
||||
default_backend back_owsec_rest_internal
|
||||
backend back_owsec_rest_internal
|
||||
mode tcp
|
||||
server svc_owsec_rest_internal owsec-owsec:17001
|
||||
|
||||
# owanalytics
|
||||
frontend front_owanalytics_rest
|
||||
bind :16009
|
||||
mode tcp
|
||||
default_backend back_owanalytics_rest
|
||||
backend back_owanalytics_rest
|
||||
mode tcp
|
||||
server svc_owanalytics_rest owanalytics-owanalytics:16009
|
||||
|
||||
frontend front_owanalytics_rest_internal
|
||||
bind :17009
|
||||
mode tcp
|
||||
default_backend back_owanalytics_rest_internal
|
||||
backend back_owanalytics_rest_internal
|
||||
mode tcp
|
||||
server svc_owanalytics_rest_internal owanalytics-owanalytics:17009
|
||||
|
||||
# owsub
|
||||
frontend front_owsub_rest
|
||||
bind :16009
|
||||
mode tcp
|
||||
default_backend back_owsub_rest
|
||||
backend back_owsub_rest
|
||||
mode tcp
|
||||
server svc_owsub_rest owsub-owsub:16006
|
||||
|
||||
frontend front_owsub_rest_internal
|
||||
bind :17006
|
||||
mode tcp
|
||||
default_backend back_owsub_rest_internal
|
||||
backend back_owsub_rest_internal
|
||||
mode tcp
|
||||
server svc_owsub_rest_internal owsub-owsub:17006
|
||||
|
||||
# Cert-manager RESTAPI certs
|
||||
restapiCerts:
|
||||
enabled: false
|
||||
|
||||
services:
|
||||
- owgw-owgw
|
||||
- owsec-owsec
|
||||
- owfms-owfms
|
||||
- owprov-owprov
|
||||
- owls-owls
|
||||
- owanalytics-owanalytics
|
||||
- owsub-owsub
|
||||
|
||||
clusterDomain: cluster.local
|
||||
|
||||
@@ -1,12 +1,13 @@
|
||||
# Image tags
|
||||
COMPOSE_PROJECT_NAME=openwifi
|
||||
OWGW_TAG=master
|
||||
OWGWUI_TAG=main
|
||||
OWSEC_TAG=main
|
||||
OWFMS_TAG=main
|
||||
OWPROV_TAG=main
|
||||
OWPROVUI_TAG=main
|
||||
RTTYS_TAG=3.5.0
|
||||
OWGW_TAG=v2.6.0-RC2
|
||||
OWGWUI_TAG=v2.6.0-RC2
|
||||
OWSEC_TAG=v2.6.0-RC2
|
||||
OWFMS_TAG=v2.6.0-RC1
|
||||
OWPROV_TAG=v2.6.0-RC2
|
||||
OWPROVUI_TAG=v2.6.0-RC3
|
||||
OWANALYTICS_TAG=v2.6.0-RC2
|
||||
OWSUB_TAG=v2.6.0-RC1
|
||||
KAFKA_TAG=latest
|
||||
ZOOKEEPER_TAG=latest
|
||||
POSTGRESQL_TAG=latest
|
||||
@@ -20,9 +21,15 @@ OWFMS_ROOT=/owfms-data
|
||||
OWFMS_CONFIG=/owfms-data
|
||||
OWPROV_ROOT=/owprov-data
|
||||
OWPROV_CONFIG=/owprov-data
|
||||
OWANALYTICS_ROOT=/owanalytics-data
|
||||
OWANALYTICS_CONFIG=/owanalytics-data
|
||||
OWSUB_ROOT=/owsub-data
|
||||
OWSUB_CONFIG=/owsub-data
|
||||
|
||||
# Microservice hostnames
|
||||
INTERNAL_OWGW_HOSTNAME=owgw.wlan.local
|
||||
INTERNAL_OWSEC_HOSTNAME=owsec.wlan.local
|
||||
INTERNAL_OWFMS_HOSTNAME=owfms.wlan.local
|
||||
INTERNAL_OWPROV_HOSTNAME=owprov.wlan.local
|
||||
INTERNAL_OWANALYTICS_HOSTNAME=owanalytics.wlan.local
|
||||
INTERNAL_OWSUB_HOSTNAME=owsub.wlan.local
|
||||
|
||||
@@ -1,12 +1,13 @@
|
||||
# Image tags
|
||||
COMPOSE_PROJECT_NAME=openwifi
|
||||
OWGW_TAG=master
|
||||
OWGWUI_TAG=main
|
||||
OWSEC_TAG=main
|
||||
OWFMS_TAG=main
|
||||
OWPROV_TAG=main
|
||||
OWPROVUI_TAG=main
|
||||
RTTYS_TAG=3.5.0
|
||||
OWGW_TAG=v2.6.0-RC2
|
||||
OWGWUI_TAG=v2.6.0-RC2
|
||||
OWSEC_TAG=v2.6.0-RC2
|
||||
OWFMS_TAG=v2.6.0-RC1
|
||||
OWPROV_TAG=v2.6.0-RC2
|
||||
OWPROVUI_TAG=v2.6.0-RC3
|
||||
OWANALYTICS_TAG=v2.6.0-RC2
|
||||
OWSUB_TAG=v2.6.0-RC1
|
||||
KAFKA_TAG=latest
|
||||
ZOOKEEPER_TAG=latest
|
||||
ACMESH_TAG=latest
|
||||
@@ -21,6 +22,10 @@ OWFMS_ROOT=/owfms-data
|
||||
OWFMS_CONFIG=/owfms-data
|
||||
OWPROV_ROOT=/owprov-data
|
||||
OWPROV_CONFIG=/owprov-data
|
||||
OWANALYTICS_ROOT=/owanalytics-data
|
||||
OWANALYTICS_CONFIG=/owanalytics-data
|
||||
OWSUB_ROOT=/owsub-data
|
||||
OWSUB_CONFIG=/owsub-data
|
||||
|
||||
# Microservice hostnames
|
||||
INTERNAL_OWGW_HOSTNAME=owgw.wlan.local
|
||||
@@ -29,12 +34,7 @@ INTERNAL_OWSEC_HOSTNAME=owsec.wlan.local
|
||||
INTERNAL_OWFMS_HOSTNAME=owfms.wlan.local
|
||||
INTERNAL_OWPROV_HOSTNAME=owprov.wlan.local
|
||||
INTERNAL_OWPROVUI_HOSTNAME=owprov-ui.wlan.local
|
||||
INTERNAL_OWANALYTICS_HOSTNAME=owanalytics.wlan.local
|
||||
INTERNAL_RTTYS_HOSTNAME=rttys.wlan.local
|
||||
OWGW_HOSTNAME=
|
||||
OWGWUI_HOSTNAME=
|
||||
OWGWFILEUPLOAD_HOSTNAME=
|
||||
OWSEC_HOSTNAME=
|
||||
OWFMS_HOSTNAME=
|
||||
OWPROV_HOSTNAME=
|
||||
OWPROVUI_HOSTNAME=
|
||||
RTTYS_HOSTNAME=
|
||||
INTERNAL_OWSUB_HOSTNAME=owsub.wlan.local
|
||||
SDKHOSTNAME=
|
||||
|
||||
@@ -1,12 +1,13 @@
|
||||
# Image tags
|
||||
COMPOSE_PROJECT_NAME=openwifi
|
||||
OWGW_TAG=master
|
||||
OWGWUI_TAG=main
|
||||
OWSEC_TAG=main
|
||||
OWFMS_TAG=main
|
||||
OWPROV_TAG=main
|
||||
OWPROVUI_TAG=main
|
||||
RTTYS_TAG=3.5.0
|
||||
OWGW_TAG=v2.6.0-RC2
|
||||
OWGWUI_TAG=v2.6.0-RC2
|
||||
OWSEC_TAG=v2.6.0-RC2
|
||||
OWFMS_TAG=v2.6.0-RC1
|
||||
OWPROV_TAG=v2.6.0-RC2
|
||||
OWPROVUI_TAG=v2.6.0-RC3
|
||||
OWANALYTICS_TAG=v2.6.0-RC2
|
||||
OWSUB_TAG=v2.6.0-RC1
|
||||
KAFKA_TAG=latest
|
||||
ZOOKEEPER_TAG=latest
|
||||
ACMESH_TAG=latest
|
||||
@@ -21,6 +22,10 @@ OWFMS_ROOT=/owfms-data
|
||||
OWFMS_CONFIG=/owfms-data
|
||||
OWPROV_ROOT=/owprov-data
|
||||
OWPROV_CONFIG=/owprov-data
|
||||
OWANALYTICS_ROOT=/owanalytics-data
|
||||
OWANALYTICS_CONFIG=/owanalytics-data
|
||||
OWSUB_ROOT=/owsub-data
|
||||
OWSUB_CONFIG=/owsub-data
|
||||
|
||||
# Microservice hostnames
|
||||
INTERNAL_OWGW_HOSTNAME=owgw.wlan.local
|
||||
@@ -29,4 +34,5 @@ INTERNAL_OWSEC_HOSTNAME=owsec.wlan.local
|
||||
INTERNAL_OWFMS_HOSTNAME=owfms.wlan.local
|
||||
INTERNAL_OWPROV_HOSTNAME=owprov.wlan.local
|
||||
INTERNAL_OWPROVUI_HOSTNAME=owprov-ui.wlan.local
|
||||
INTERNAL_RTTYS_HOSTNAME=rttys.wlan.local
|
||||
INTERNAL_OWANALYTICS_HOSTNAME=owanalytics.wlan.local
|
||||
INTERNAL_OWSUB_HOSTNAME=owsub.wlan.local
|
||||
|
||||
@@ -1,21 +1,21 @@
|
||||
# Docker Compose
|
||||
# OpenWifi SDK Docker Compose
|
||||
### Overview
|
||||
With the provided Docker Compose files you can instantiate a deployment of the OpenWifi microservices and related components. The repository contains a self-signed certificate and a TIP-signed gateway certificate which are valid for the `*.wlan.local` domain. You also have the possibility to either generate and use Letsencrypt certs or provide your own certificates. Furthermore the deployments are split by whether Traefik is used as a reverse proxy/load balancer in front of the microservices or if they are exposed directly on the host. The advantage of using the deployments with Traefik is that you can use Letsencrypt certs (automatic certificate generation and renewal) and you have the ability to scale specific containers to multiple replicas.
|
||||
With the provided Docker Compose files you can instantiate a deployment of the OpenWifi microservices and related components. The repository contains a self-signed certificate and a TIP-signed gateway certificate which are valid for the `*.wlan.local` domain. You also have the possibility to either generate and use Letsencrypt certs or provide your own certificates. Furthermore the deployments are split by whether Traefik is used as a reverse proxy/load balancer in front of the microservices or if they are exposed directly on the host. The advantage of using the deployments with Traefik is that you can use Letsencrypt certs (automatic certificate generation and renewal) and you have the ability to scale specific containers to multiple replicas.
|
||||
The repository also contains a separate Docker Compose deployment to set up the [OWLS microservice](https://github.com/Telecominfraproject/wlan-cloud-owls) and related components for running a load simulation test against an existing controller.
|
||||
- [Non-LB deployment with self-signed certificates](#non-lb-deployment-with-self-signed-certificates)
|
||||
- [Non-LB deployment with own certificates](#non-lb-deployment-with-own-certificates)
|
||||
- [Non-LB deployment with PostgreSQL](#non-lb-deployment-with-postgresql)
|
||||
- [LB deployment with self-signed certificates](#lb-deployment-with-self-signed-certificates)
|
||||
- [LB deployment with Letsencrypt certificates](#lb-deployment-with-letsencrypt-certificates)
|
||||
- [OWLS deployment with self-signed certificates](#owls-deployment-with-self-signed-certificates)
|
||||
- [OWLS deployment with self-signed certificates](owls/README.md)
|
||||
### Configuration
|
||||
If you don't bind mount your own config files they are generated on every startup based on the environment variables in the microservice specific env files. For an overview of the supported configuration properties have a look into the microservice specific env files. For an explanation of the configuration properties please see the README in the respective microservice repository.
|
||||
If you don't bind mount your own config files they are generated on every startup based on the environment variables in the microservice specific env files. For an overview of the supported configuration properties have a look into the microservice specific env files. For an explanation of the configuration properties please see the README in the respective microservice repository.
|
||||
Be aware that the non-LB deployment exposes the generated config files on the host. So if you want to make configuration changes afterwards, please do them directly in the config files located in the microservice data directories.
|
||||
#### Required password changing on the first startup
|
||||
One important action that must be done before using the deployment is changing password for the default user in owsec as described in [owsec docs](https://github.com/Telecominfraproject/wlan-cloud-ucentralsec/tree/main#changing-default-password). Please use these docs to find the actions that must be done **after** the deployment in order to start using your deployment.
|
||||
### Ports
|
||||
Every OpenWifi service is exposed via a separate port either directly on the host or through Traefik. For an overview of the exposed ports have a look into the deployment specific Docker Compose file. If you use your own certificates or make use of the [Letsencrypt LB deployment](#lb-deployment-with-letsencrypt-certificates), you can also configure different hostnames for the microservices.
|
||||
Please note that the OWProv-UI is exposed on port `8080(HTTP)/8443(HTTPS)` by default except for the Letsencrypt LB deployment, where the service listens on the default `80/443` HTTP(S) ports.
|
||||
Every OpenWifi service is exposed via a separate port either directly on the host or through Traefik. For an overview of the exposed ports have a look into the deployment specific Docker Compose file. If you use your own certificates, you can also configure different hostnames for the microservices.
|
||||
Please note that the OWProv-UI is exposed on port `8080(HTTP)/8443(HTTPS)` by default.
|
||||
### owsec templates and wwwassets
|
||||
On the startup of owsec directories for wwwassets and mailer templates are created from the base files included in Docker image. After the initial startup you may edit those files as you wish in the [owsec-data/persist](./owsec-data/persist) directory.
|
||||
## Non-LB deployment with self-signed certificates
|
||||
@@ -23,7 +23,7 @@ On the startup of owsec directories for wwwassets and mailer templates are creat
|
||||
2. Add an entry for `openwifi.wlan.local` in your hosts file which points to `127.0.0.1` or whatever the IP of the host running the deployment is.
|
||||
3. Spin up the deployment with `docker-compose up -d`.
|
||||
4. Check if the containers are up and running with `docker-compose ps`.
|
||||
5. Add SSL certificate exceptions in your browser by visiting https://openwifi.wlan.local:16001, https://openwifi.wlan.local:16002, https://openwifi.wlan.local:16004 and https://openwifi.wlan.local:16005.
|
||||
5. Add SSL certificate exceptions in your browser by visiting https://openwifi.wlan.local:16001, https://openwifi.wlan.local:16002, https://openwifi.wlan.local:16004, https://openwifi.wlan.local:16005, https://openwifi.wlan.local:16006 and https://openwifi.wlan.local:16009.
|
||||
6. Connect to your AP via SSH and add a static hosts entry in `/etc/hosts` for `openwifi.wlan.local`. This should point to the address of the host the Compose deployment runs on.
|
||||
7. Login to the UI `https://openwifi.wlan.local` and follow the instructions to change your default password.
|
||||
8. To use the curl test scripts included in the microservice repositories set the following environment variables:
|
||||
@@ -31,7 +31,7 @@ On the startup of owsec directories for wwwassets and mailer templates are creat
|
||||
export OWSEC="openwifi.wlan.local:16001"
|
||||
export FLAGS="-s --cacert <your-wlan-cloud-ucentral-deploy-location>/docker-compose/certs/restapi-ca.pem"
|
||||
```
|
||||
⚠️**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 OWGW. Please use the Letsencrypt deployment or provide your own valid certificates if you want to use this function.
|
||||
⚠️**Note**: When deploying with self-signed certificates you can not use the 'Trace' and 'Connect' features in the UI since the AP will throw a TLS error. Please use the Letsencrypt deployment or provide your own valid certificates if you want to use these features.
|
||||
## Non-LB deployment with own certificates
|
||||
1. Switch into the project directory with `cd docker-compose/`. Copy your websocket and REST API certificates into the `certs/` directory. Make sure to reference the certificates accordingly in the service config if you use different file names or if you want to use different certificates for the respective microservices.
|
||||
2. Adapt the following hostname and URI variables according to your environment:
|
||||
@@ -42,13 +42,15 @@ export FLAGS="-s --cacert <your-wlan-cloud-ucentral-deploy-location>/docker-comp
|
||||
| `INTERNAL_OWSEC_HOSTNAME` | Set this to your OWSec hostname, for example `owsec.example.com`. |
|
||||
| `INTERNAL_OWFMS_HOSTNAME` | Set this to your OWFms hostname, for example `owfms.example.com`. |
|
||||
| `INTERNAL_OWPROV_HOSTNAME` | Set this to your OWProv hostname, for example `owprov.example.com`. |
|
||||
| `INTERNAL_OWANALYTICS_HOSTNAME` | Set this to your OWAnalytics hostname, for example `owanalytics.example.com`. |
|
||||
| `INTERNAL_OWSUB_HOSTNAME` | Set this to your OWSub hostname, for example `owsub.example.com`. |
|
||||
### owgw.env
|
||||
| Variable | Description |
|
||||
| ---------------------------------------- | ----------------------------------------------------------------------------------- |
|
||||
| `FILEUPLOADER_HOST_NAME` | Set this to your OWGW fileupload hostname, for example `owgw.example.com`. |
|
||||
| `FILEUPLOADER_URI` | Set this to your OWGW fileupload URL, for example `https://owgw.example.com:16003`. |
|
||||
| `SYSTEM_URI_PRIVATE`,`SYSTEM_URI_PUBLIC` | Set this to your OWGW REST API URL, for example `https://owgw.example.com:16002`. |
|
||||
| `RTTY_SERVER` | Set this to your RTTY server hostname, for example `rttys.example.com`. |
|
||||
| `RTTY_SERVER` | Set this to your OWGW RTTYS hostname, for example `owgw.example.com`. |
|
||||
| `SYSTEM_URI_UI` | Set this to your OWGW-UI URL, for example `https://owgw-ui.example.com`. |
|
||||
### owgw-ui.env
|
||||
| Variable | Description |
|
||||
@@ -57,22 +59,27 @@ export FLAGS="-s --cacert <your-wlan-cloud-ucentral-deploy-location>/docker-comp
|
||||
### owsec.env
|
||||
| Variable | Description |
|
||||
| ---------------------------------------- | ----------------------------------------------------------------------------------- |
|
||||
| `SYSTEM_URI_PRIVATE`,`SYSTEM_URI_PUBLIC` | Set this to your OWSec REST API URL, for example `https://owsec.example.com:16001`. |
|
||||
| `SYSTEM_URI_PRIVATE`,`SYSTEM_URI_PUBLIC` | Set this to your OWSec URL, for example `https://owsec.example.com:16001`. |
|
||||
| `SYSTEM_URI_UI` | Set this to your OWGW-UI URL, for example `https://owgw-ui.example.com`. |
|
||||
### owfms.env
|
||||
| Variable | Description |
|
||||
| ---------------------------------------- | ----------------------------------------------------------------------------------- |
|
||||
| `SYSTEM_URI_PRIVATE`,`SYSTEM_URI_PUBLIC` | Set this to your OWFms REST API URL, for example `https://owfms.example.com:16004`. |
|
||||
| `SYSTEM_URI_PRIVATE`,`SYSTEM_URI_PUBLIC` | Set this to your OWFms URL, for example `https://owfms.example.com:16004`. |
|
||||
| `SYSTEM_URI_UI` | Set this to your OWGW-UI URL, for example `https://owgw-ui.example.com`. |
|
||||
### owprov.env
|
||||
| Variable | Description |
|
||||
| ---------------------------------------- | ------------------------------------------------------------------------------------- |
|
||||
| `SYSTEM_URI_PRIVATE`,`SYSTEM_URI_PUBLIC` | Set this to your OWProv REST API URL, for example `https://owprov.example.com:16005`. |
|
||||
| `SYSTEM_URI_PRIVATE`,`SYSTEM_URI_PUBLIC` | Set this to your OWProv URL, for example `https://owprov.example.com:16005`. |
|
||||
| `SYSTEM_URI_UI` | Set this to your OWGW-UI URL, for example `https://owgw-ui.example.com`. |
|
||||
### owprov-ui.env
|
||||
| Variable | Description |
|
||||
| ------------------------- | -------------------------------------------------------------------------- |
|
||||
| `DEFAULT_UCENTRALSEC_URL` | Set this to your OWSec URL, for example `https://owsec.example.com:16001`. |
|
||||
| Variable | Description |
|
||||
| --------------------------- | -------------------------------------------------------------------------- |
|
||||
| `REACT_APP_UCENTRALSEC_URL` | Set this to your OWSec URL, for example `https://owsec.example.com:16001`. |
|
||||
### owanalytics.env
|
||||
| Variable | Description |
|
||||
| ---------------------------------------- | -------------------------------------------------------------------------------------- |
|
||||
| `SYSTEM_URI_PRIVATE`,`SYSTEM_URI_PUBLIC` | Set this to your OWAnalytics URL, for example `https://owanalytics.example.com:16009`. |
|
||||
| `SYSTEM_URI_UI` | Set this to your OWProv-UI URL, for example `https://owprov-ui.example.com`. |
|
||||
3. Spin up the deployment with `docker-compose up -d`.
|
||||
4. Check if the containers are up and running with `docker-compose ps`.
|
||||
5. Login to the UI and and follow the instructions to change your default password.
|
||||
@@ -111,76 +118,93 @@ export FLAGS="-s --cacert <your-wlan-cloud-ucentral-deploy-location>/docker-comp
|
||||
| `STORAGE_TYPE_POSTGRESQL_USERNAME` | `owprov` |
|
||||
| `STORAGE_TYPE_POSTGRESQL_PASSWORD` | `owprov` |
|
||||
| `STORAGE_TYPE_POSTGRESQL_DATABASE` | `owprov` |
|
||||
### owanalytics.env
|
||||
| Variable | Value/Description |
|
||||
| ---------------------------------- | ----------------- |
|
||||
| `STORAGE_TYPE` | `postgresql` |
|
||||
| `STORAGE_TYPE_POSTGRESQL_HOST` | `postgresql` |
|
||||
| `STORAGE_TYPE_POSTGRESQL_USERNAME` | `owanalytics` |
|
||||
| `STORAGE_TYPE_POSTGRESQL_PASSWORD` | `owanalytics` |
|
||||
| `STORAGE_TYPE_POSTGRESQL_DATABASE` | `owanalytics` |
|
||||
### postgresql.env
|
||||
| Variable | Value |
|
||||
| -------------------- | ---------- |
|
||||
| `POSTGRES_PASSWORD` | `postgres` |
|
||||
| `POSTGRES_USER` | `postgres` |
|
||||
| `OWGW_DB` | `owgw` |
|
||||
| `OWGW_DB_USER` | `owgw` |
|
||||
| `OWGW_DB_PASSWORD` | `owgw` |
|
||||
| `OWSEC_DB` | `owsec` |
|
||||
| `OWSEC_DB_USER` | `owsec` |
|
||||
| `OWSEC_DB_PASSWORD` | `owsec` |
|
||||
| `OWFMS_DB` | `owfms` |
|
||||
| `OWFMS_DB_USER` | `owfms` |
|
||||
| `OWFMS_DB_PASSWORD` | `owfms` |
|
||||
| `OWPROV_DB` | `owprov` |
|
||||
| `OWPROV_DB_USER` | `owprov` |
|
||||
| `OWPROV_DB_PASSWORD` | `owprov` |
|
||||
| Variable | Value |
|
||||
| --------------------------| ------------- |
|
||||
| `POSTGRES_PASSWORD` | `postgres` |
|
||||
| `POSTGRES_USER` | `postgres` |
|
||||
| `OWGW_DB` | `owgw` |
|
||||
| `OWGW_DB_USER` | `owgw` |
|
||||
| `OWGW_DB_PASSWORD` | `owgw` |
|
||||
| `OWSEC_DB` | `owsec` |
|
||||
| `OWSEC_DB_USER` | `owsec` |
|
||||
| `OWSEC_DB_PASSWORD` | `owsec` |
|
||||
| `OWFMS_DB` | `owfms` |
|
||||
| `OWFMS_DB_USER` | `owfms` |
|
||||
| `OWFMS_DB_PASSWORD` | `owfms` |
|
||||
| `OWPROV_DB` | `owprov` |
|
||||
| `OWPROV_DB_USER` | `owprov` |
|
||||
| `OWPROV_DB_PASSWORD` | `owprov` |
|
||||
| `OWANALYTICS_DB` | `owanalytics` |
|
||||
| `OWANALYTICS_DB_USER` | `owanalytics` |
|
||||
| `OWANALYTICS_DB_PASSWORD` | `owanalytics` |
|
||||
| `OWSUB_DB` | `owsub` |
|
||||
| `OWSUB_DB_USER` | `owsub` |
|
||||
| `OWSUB_DB_PASSWORD` | `owsub` |
|
||||
3. Depending on whether you want to use [self-signed certificates](#non-lb-deployment-with-self-signed-certificates) or [provide your own](#non-lb-deployment-with-own-certificates), follow the instructions of the according deployment model. Spin up the deployment with `docker-compose -f docker-compose.yml -f docker-compose.postgresql.yml up -d`. It is recommended to create an alias for this deployment model with `alias docker-compose-postgresql="docker-compose -f docker-compose.yml -f docker-compose.postgresql.yml"`.
|
||||
## LB deployment with self-signed certificates
|
||||
Follow the same instructions as for the self-signed deployment without Traefik. The only difference is that you have to spin up the deployment with `docker-compose -f docker-compose.lb.selfsigned.yml --env-file .env.selfsigned up -d`. Make sure to specify the Compose and the according .env file every time you're working with the deployment or create an alias, for example `alias docker-compose-lb-selfsigned="docker-compose -f docker-compose.lb.selfsigned.yml --env-file .env.selfsigned"`. You also have the possibility to scale specific services to a specified number of instances with `docker-compose-lb-selfsigned up -d --scale SERVICE=NUM`, where `SERVICE` is the service name as defined in the Compose file.
|
||||
## LB deployment with Letsencrypt certificates
|
||||
For the Letsencrypt challenge to work you need a public IP address. The hostnames which you set for the microservices have to resolve to this IP address to pass the HTTP-01 challenge (https://letsencrypt.org/docs/challenge-types/#http-01-challenge).
|
||||
For the Letsencrypt challenge to work you need a public IP address. The hostname which you set in the `$SDKHOSTNAME` env variable has to resolve to this IP address to pass the HTTP-01 challenge (https://letsencrypt.org/docs/challenge-types/#http-01-challenge).
|
||||
1. Switch into the project directory with `cd docker-compose/`.
|
||||
2. Adapt the following hostname and URI variables according to your environment.
|
||||
### .env.letsencrypt
|
||||
| Variable | Description |
|
||||
| ------------------------- | -------------------------------------------------------------------------- |
|
||||
| `OWGW_HOSTNAME` | Set this to your OWGW hostname, for example `owgw.example.com`. |
|
||||
| `OWGWUI_HOSTNAME` | Set this to your OWGW-UI hostname, for example `owgw-ui.example.com`. |
|
||||
| `OWGWFILEUPLOAD_HOSTNAME` | Set this to your OWGW fileupload hostname, for example `owgw.example.com`. |
|
||||
| `OWSEC_HOSTNAME` | Set this to your OWSec hostname, for example `owsec.example.com`. |
|
||||
| `OWFMS_HOSTNAME` | Set this to your OWFms hostname, for example `owfms.example.com`. |
|
||||
| `OWPROV_HOSTNAME` | Set this to your OWProv hostname, for example `owprov.example.com`. |
|
||||
| `OWPROVUI_HOSTNAME` | Set this to your OWProv-UI hostname, for example `owprov-ui.example.com`. |
|
||||
| `RTTYS_HOSTNAME` | Set this to your RTTYS hostname, for example `rttys.example.com`. |
|
||||
| Variable | Description |
|
||||
| ------------- | ---------------------------------------------------------------------------------------------------------- |
|
||||
| `SDKHOSTNAME` | Set this to the public hostname you want to use for all microservices, for example `openwifi.example.com`. |
|
||||
|
||||
### owgw.env
|
||||
| Variable | Description |
|
||||
| ----------------------- | ----------------------------------------------------------------------------------- |
|
||||
| `FILEUPLOADER_HOST_NAME` | Set this to your OWGW fileupload hostname, for example `owgw.example.com`. |
|
||||
| `FILEUPLOADER_URI` | Set this to your OWGW fileupload URL, for example `https://owgw.example.com:16003`. |
|
||||
| `SYSTEM_URI_PUBLIC` | Set this to your OWGW REST API URL, for example `https://owgw.example.com:16002`. |
|
||||
| `RTTY_SERVER` | Set this to your public RTTY server hostname, for example `rttys.example.com`. |
|
||||
| `SYSTEM_URI_UI` | Set this to your OWGW-UI URL, for example `https://owgw-ui.example.com`. |
|
||||
| Variable | Description |
|
||||
| ----------------------- | --------------------------------------------------------------------------------------- |
|
||||
| `FILEUPLOADER_HOST_NAME` | Set this to your OWGW fileupload hostname, for example `openwifi.example.com`. |
|
||||
| `FILEUPLOADER_URI` | Set this to your OWGW fileupload URL, for example `https://openwifi.example.com:16003`. |
|
||||
| `SYSTEM_URI_PUBLIC` | Set this to your OWGW REST API URL, for example `https://openwifi.example.com:16002`. |
|
||||
| `RTTY_SERVER` | Set this to your OWGW RTTYS hostname, for example `openwifi.example.com`. |
|
||||
| `SYSTEM_URI_UI` | Set this to your OWGW-UI URL, for example `https://openwifi.example.com`. |
|
||||
|
||||
### owgw-ui.env
|
||||
| Variable | Description |
|
||||
| ------------------- | -------------------------------------------------------------------------- |
|
||||
| `DEFAULT_OWSEC_URL` | Set this to your OWSec URL, for example `https://owsec.example.com:16001`. |
|
||||
| Variable | Description |
|
||||
| ------------------- | ----------------------------------------------------------------------------- |
|
||||
| `DEFAULT_OWSEC_URL` | Set this to your OWSec URL, for example `https://openwifi.example.com:16001`. |
|
||||
|
||||
### owsec.env
|
||||
| Variable | Description |
|
||||
| ------------------- | -------------------------------------------------------------------------- |
|
||||
| `SYSTEM_URI_PUBLIC` | Set this to your OWSec URL, for example `https://owsec.example.com:16001`. |
|
||||
| `SYSTEM_URI_UI` | Set this to your OWGW-UI URL, for example `https://owgw-ui.example.com`. |
|
||||
| Variable | Description |
|
||||
| ------------------- | ----------------------------------------------------------------------------- |
|
||||
| `SYSTEM_URI_PUBLIC` | Set this to your OWSec URL, for example `https://openwifi.example.com:16001`. |
|
||||
| `SYSTEM_URI_UI` | Set this to your OWGW-UI URL, for example `https://openwifi.example.com`. |
|
||||
|
||||
### owfms.env
|
||||
| Variable | Description |
|
||||
| ------------------- | -------------------------------------------------------------------------- |
|
||||
| `SYSTEM_URI_PUBLIC` | Set this to your OWFms URL, for example `https://owfms.example.com:16004`. |
|
||||
| `SYSTEM_URI_UI` | Set this to your OWGW-UI URL, for example `https://owgw-ui.example.com`. |
|
||||
| Variable | Description |
|
||||
| ------------------- | ----------------------------------------------------------------------------- |
|
||||
| `SYSTEM_URI_PUBLIC` | Set this to your OWFms URL, for example `https://openwifi.example.com:16004`. |
|
||||
| `SYSTEM_URI_UI` | Set this to your OWGW-UI URL, for example `https://openwifi.example.com`. |
|
||||
### owprov.env
|
||||
| Variable | Description |
|
||||
| -------------------- | ---------------------------------------------------------------------------- |
|
||||
| `SYSTEM_URI_PUBLIC` | Set this to your OWProv URL, for example `https://owprov.example.com:16005`. |
|
||||
| `SYSTEM_URI_UI` | Set this to your OWGW-UI URL, for example `https://owgw-ui.example.com`. |
|
||||
| Variable | Description |
|
||||
| -------------------- | ------------------------------------------------------------------------------ |
|
||||
| `SYSTEM_URI_PUBLIC` | Set this to your OWProv URL, for example `https://openwifi.example.com:16005`. |
|
||||
| `SYSTEM_URI_UI` | Set this to your OWGW-UI URL, for example `https://openwifi.example.com`. |
|
||||
### owprov-ui.env
|
||||
| Variable | Description |
|
||||
| ------------------------- | -------------------------------------------------------------------------- |
|
||||
| `DEFAULT_UCENTRALSEC_URL` | Set this to your OWSec URL, for example `https://owsec.example.com:16001`. |
|
||||
| Variable | Description |
|
||||
| --------------------------- | ----------------------------------------------------------------------------- |
|
||||
| `REACT_APP_UCENTRALSEC_URL` | Set this to your OWSec URL, for example `https://openwifi.example.com:16001`. |
|
||||
### owanalytics.env
|
||||
| Variable | Description |
|
||||
| -------------------- | ----------------------------------------------------------------------------------- |
|
||||
| `SYSTEM_URI_PUBLIC` | Set this to your OWAnalytics URL, for example `https://openwifi.example.com:16009`. |
|
||||
| `SYSTEM_URI_UI` | Set this to your OWProv-UI URL, for example `https://openwifi.example.com`. |
|
||||
### owsub.env
|
||||
| Variable | Description |
|
||||
| -------------------- | ----------------------------------------------------------------------------- |
|
||||
| `SYSTEM_URI_PUBLIC` | Set this to your OWSub URL, for example `https://openwifi.example.com:16006`. |
|
||||
| `SYSTEM_URI_UI` | Set this to your OWGW-UI URL, for example `https://openwifi.example.com`. |
|
||||
### traefik.env
|
||||
| Variable | Description |
|
||||
| --------------------------------------------------- | ----------------------------------------- |
|
||||
@@ -188,19 +212,5 @@ For the Letsencrypt challenge to work you need a public IP address. The hostname
|
||||
3. Spin up the deployment with `docker-compose -f docker-compose.lb.letsencrypt.yml --env-file .env.letsencrypt up -d`. Make sure to specify the Compose and the according .env file every time you're working with the deployment or create an alias, for example `alias docker-compose-lb-letsencrypt="docker-compose -f docker-compose.lb.letsencrypt.yml --env-file .env.letsencrypt"`. You also have the possibility to scale specific services to a specified number of instances with `docker-compose-lb-letsencrypt up -d --scale SERVICE=NUM`, where `SERVICE` is the service name as defined in the Compose file.
|
||||
4. Check if the containers are up and running with `docker-compose-lb-letsencrypt ps`.
|
||||
5. Login to the UI and follow the instructions to change your default password.
|
||||
## OWLS deployment with self-signed certificates
|
||||
To run a load simulation you need to obtain a TIP signed client certificate which will be used to connect to the gateway. The certificate CN has to start with the characters `53494d` like it is described [here](https://github.com/Telecominfraproject/wlan-cloud-owls#get-a-simulator-key). Be aware that since the OWLS deployment partly exposes the same ports on the host as the OpenWifi deployment, it is not intended that both run on the same host.
|
||||
1. Copy or move your TIP signed load simulation client certificate into the `docker-compose/certs` directory. Don't forget to name the files `device-cert.pem` and `device-key.pem` or adapt the path names in the OWLS configuration if you're using different file names.
|
||||
2. To be able to run load simulation tests against your OpenWifi deployment, you'll have to [configure the OWGW microservice](https://github.com/Telecominfraproject/wlan-cloud-owls#prepare-your-openwifi-gateway) to allow load simulation tests. You can do that by either editing the OWGW env file or doing the changes directly in the OWGW configuration file if it is exposed on the host.
|
||||
3. Switch into the project directory with `cd docker-compose/owls`.
|
||||
4. Add an entry for `openwifi-owls.wlan.local` in your hosts file which points to `127.0.0.1` or whatever the IP of the host running the OWLS deployment is.
|
||||
5. Spin up the deployment with `docker-compose up -d`.
|
||||
6. Check if the containers are up and running with `docker-compose ps`.
|
||||
7. Add SSL certificate exceptions in your browser by visiting https://openwifi-owls.wlan.local:16001 and https://openwifi-owls.wlan.local:16007.
|
||||
8. If you're using an OpenWifi deployment with self-signed certificates, you'll have to add a custom hosts entry for `openwifi.wlan.local` on the machine running the OWLS deployment pointing to the remote IP of your OpenWifi host.
|
||||
9. Login to the UI by visiting https://openwifi-owls.wlan.local and follow the instructions to change your default password.
|
||||
10. In the Simulation tab, click on the + sign on the right side to add a load simulation.
|
||||
11. Fill out the required fields. MAC prefix is used for the MAC addresses of the simulated devices, so you can use any six-digit hexadecimal number. Specify the remote address of your OpenWifi gateway in the Gateway field, for example `https://openwifi.wlan.local:15002`. Adapt the rest of the settings according to your needs.
|
||||
12. Click on the floppy disk icon to save your load simulation. You can run it by clicking the play symbol in the table view.
|
||||
|
||||
**Note**: All deployments create local volumes to persist mostly application, database and certificate data. In addition to that the `certs/` directory is bind mounted into the microservice 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.
|
||||
|
||||
184
docker-compose/deploy.sh
Executable file
184
docker-compose/deploy.sh
Executable file
@@ -0,0 +1,184 @@
|
||||
#!/bin/bash
|
||||
set -e
|
||||
|
||||
# Usage function
|
||||
usage () {
|
||||
echo;
|
||||
echo "This script is intended for OpenWiFi cloud SDK deployment using Docker Compose (https://github.com/Telecominfraproject/wlan-cloud-ucentral-deploy/tree/main/docker-compose). Configuration is done based on shell environment variables.";
|
||||
echo;
|
||||
echo "Required environment variables:"
|
||||
echo;
|
||||
echo "- DEFAULT_UCENTRALSEC_URL - public URL of the OWSec service"
|
||||
echo "- SYSTEM_URI_UI - public URL of the OWGW-UI service"
|
||||
echo;
|
||||
# echo "- INTERNAL_OWGW_HOSTNAME - OWGW microservice hostname for Docker internal communication"
|
||||
# echo "- INTERNAL_OWSEC_HOSTNAME - OWSec microservice hostname for Docker internal communication"
|
||||
# echo "- INTERNAL_OWFMS_HOSTNAME - OWFms microservice hostname for Docker internal communication"
|
||||
# echo "- INTERNAL_OWPROV_HOSTNAME - OWProv microservice hostname for Docker internal communication"
|
||||
# echo "- INTERNAL_OWANALYTICS_HOSTNAME - OWAnalytics microservice hostname for Docker internal communication"
|
||||
# echo "- INTERNAL_OWSUB_HOSTNAME - OWSub microservice hostname for Docker internal communication"
|
||||
# echo;
|
||||
echo "- OWGW_FILEUPLOADER_HOST_NAME - hostname to be used for OWGW fileupload";
|
||||
echo "- OWGW_FILEUPLOADER_URI - URL to be used for OWGW fileupload";
|
||||
# echo "- OWGW_SYSTEM_URI_PRIVATE - private URL to be used for OWGW";
|
||||
echo "- OWGW_SYSTEM_URI_PUBLIC - public URL to be used for OWGW";
|
||||
echo "- OWGW_RTTY_SERVER - public hostname of the RTTY server";
|
||||
echo;
|
||||
# echo "- OWSEC_SYSTEM_URI_PRIVATE - private URL to be used for OWSec";
|
||||
echo "- OWSEC_SYSTEM_URI_PUBLIC - public URL to be used for OWSec";
|
||||
echo;
|
||||
# echo "- OWFMS_SYSTEM_URI_PRIVATE - private URL to be used for OWFms";
|
||||
echo "- OWFMS_SYSTEM_URI_PUBLIC - public URL to be used for OWFms";
|
||||
echo;
|
||||
# echo "- OWPROV_SYSTEM_URI_PRIVATE - private URL to be used for OWProv";
|
||||
echo "- OWPROV_SYSTEM_URI_PUBLIC - public URL to be used for OWProv";
|
||||
echo;
|
||||
# echo "- OWANALYTICS_SYSTEM_URI_PRIVATE - private URL to be used for OWAnalytics";
|
||||
echo "- OWANALYTICS_SYSTEM_URI_PUBLIC - public URL to be used for OWAnalytics";
|
||||
echo;
|
||||
# echo "- OWSUB_SYSTEM_URI_PRIVATE - private URL to be used for OWSub";
|
||||
echo "- OWSUB_SYSTEM_URI_PUBLIC - public URL to be used for OWSub";
|
||||
echo;
|
||||
echo "Optional environment variables:"
|
||||
echo "- WEBSOCKET_CERT - Your Digicert-signed websocket certificate"
|
||||
echo "- WEBSOCKET_KEY - The key to your Digicert-signed websocket certificate"
|
||||
echo;
|
||||
echo "- OWSEC_AUTHENTICATION_DEFAULT_USERNAME - username to be used for requests to OWSec";
|
||||
echo "- OWSEC_AUTHENTICATION_DEFAULT_PASSWORD - hashed password for OWSec (details on this may be found in https://github.com/Telecominfraproject/wlan-cloud-ucentralsec/#authenticationdefaultpassword)";
|
||||
echo;
|
||||
echo "- OWFMS_S3_SECRET - secret key that is used for OWFms access to firmwares S3 bucket";
|
||||
echo "- OWFMS_S3_KEY - access key that is used for OWFms access to firmwares S3 bucket";
|
||||
echo;
|
||||
echo "- SDKHOSTNAME - Public hostname which is used for cert generation when using the Letsencrypt deployment method"
|
||||
echo "- TRAEFIK_ACME_EMAIL - Email address used for ACME registration"
|
||||
}
|
||||
|
||||
# Check if required environment variables were passed
|
||||
## Configuration variables applying to multiple microservices
|
||||
[ -z ${DEFAULT_UCENTRALSEC_URL+x} ] && echo "DEFAULT_UCENTRALSEC_URL is unset" && usage && exit 1
|
||||
[ -z ${SYSTEM_URI_UI+x} ] && echo "SYSTEM_URI_UI is unset" && usage && exit 1
|
||||
## Internal microservice hostnames
|
||||
#[ -z ${INTERNAL_OWGW_HOSTNAME+x} ] && echo "INTERNAL_OWGW_HOSTNAME is unset" && usage && exit 1
|
||||
#[ -z ${INTERNAL_OWSEC_HOSTNAME+x} ] && echo "INTERNAL_OWSEC_HOSTNAME is unset" && usage && exit 1
|
||||
#[ -z ${INTERNAL_OWFMS_HOSTNAME+x} ] && echo "INTERNAL_OWFMS_HOSTNAME is unset" && usage && exit 1
|
||||
#[ -z ${INTERNAL_OWPROV_HOSTNAME+x} ] && echo "INTERNAL_OWPROV_HOSTNAME is unset" && usage && exit 1
|
||||
#[ -z ${INTERNAL_OWANALYTICS_HOSTNAME+x} ] && echo "INTERNAL_OWANALYTICS_HOSTNAME is unset" && usage && exit 1
|
||||
#[ -z ${INTERNAL_OWSUB_HOSTNAME+x} ] && echo "INTERNAL_OWSUB_HOSTNAME is unset" && usage && exit 1
|
||||
## OWGW configuration variables
|
||||
[ -z ${OWGW_FILEUPLOADER_HOST_NAME+x} ] && echo "OWGW_FILEUPLOADER_HOST_NAME is unset" && usage && exit 1
|
||||
[ -z ${OWGW_FILEUPLOADER_URI+x} ] && echo "OWGW_FILEUPLOADER_URI is unset" && usage && exit 1
|
||||
#[ -z ${OWGW_SYSTEM_URI_PRIVATE+x} ] && echo "OWGW_SYSTEM_URI_PRIVATE is unset" && usage && exit 1
|
||||
[ -z ${OWGW_SYSTEM_URI_PUBLIC+x} ] && echo "OWGW_SYSTEM_URI_PUBLIC is unset" && usage && exit 1
|
||||
[ -z ${OWGW_RTTY_SERVER+x} ] && echo "OWGW_RTTY_SERVER is unset" && usage && exit 1
|
||||
## OWSec configuration variables
|
||||
#[ -z ${OWSEC_SYSTEM_URI_PRIVATE+x} ] && echo "OWSEC_SYSTEM_URI_PRIVATE is unset" && usage && exit 1
|
||||
[ -z ${OWSEC_SYSTEM_URI_PUBLIC+x} ] && echo "OWSEC_SYSTEM_URI_PUBLIC is unset" && usage && exit 1
|
||||
## OWFms configuration variables
|
||||
#[ -z ${OWFMS_SYSTEM_URI_PRIVATE+x} ] && echo "OWFMS_SYSTEM_URI_PRIVATE is unset" && usage && exit 1
|
||||
[ -z ${OWFMS_SYSTEM_URI_PUBLIC+x} ] && echo "OWFMS_SYSTEM_URI_PUBLIC is unset" && usage && exit 1
|
||||
## OWProv configuration variables
|
||||
#[ -z ${OWPROV_SYSTEM_URI_PRIVATE+x} ] && echo "OWPROV_SYSTEM_URI_PRIVATE is unset" && usage && exit 1
|
||||
[ -z ${OWPROV_SYSTEM_URI_PUBLIC+x} ] && echo "OWPROV_SYSTEM_URI_PUBLIC is unset" && usage && exit 1
|
||||
## OWAnalytics configuration variables
|
||||
#[ -z ${OWANALYTICS_SYSTEM_URI_PRIVATE+x} ] && echo "OWANALYTICS_SYSTEM_URI_PRIVATE is unset" && usage && exit 1
|
||||
[ -z ${OWANALYTICS_SYSTEM_URI_PUBLIC+x} ] && echo "OWANALYTICS_SYSTEM_URI_PUBLIC is unset" && usage && exit 1
|
||||
## OWSub configuration variables
|
||||
#[ -z ${OWSUB_SYSTEM_URI_PRIVATE+x} ] && echo "OWSUB_SYSTEM_URI_PRIVATE is unset" && usage && exit 1
|
||||
[ -z ${OWSUB_SYSTEM_URI_PUBLIC+x} ] && echo "OWSUB_SYSTEM_URI_PUBLIC is unset" && usage && exit 1
|
||||
|
||||
# Search and replace image version tags if set
|
||||
if [[ ! -z "$OWGW_VERSION" ]]; then
|
||||
sed -i "s~.*OWGW_TAG=.*~OWGW_TAG=$OWGW_VERSION~" .env
|
||||
fi
|
||||
if [[ ! -z "$OWSEC_VERSION" ]]; then
|
||||
sed -i "s~.*OWSEC_TAG=.*~OWSEC_TAG=$OWSEC_VERSION~" .env
|
||||
fi
|
||||
if [[ ! -z "$OWFMS_VERSION" ]]; then
|
||||
sed -i "s~.*OWFMS_TAG=.*~OWFMS_TAG=$OWFMS_VERSION~" .env
|
||||
fi
|
||||
if [[ ! -z "$OWPROV_VERSION" ]]; then
|
||||
sed -i "s~.*OWPROV_TAG=.*~OWPROV_TAG=$OWPROV_VERSION~" .env
|
||||
fi
|
||||
if [[ ! -z "$OWANALYTICS_VERSION" ]]; then
|
||||
sed -i "s~.*OWANALYTICS_TAG=.*~OWANALYTICS_TAG=$OWANALYTICS_VERSION~" .env
|
||||
fi
|
||||
if [[ ! -z "$OWSUB_VERSION" ]]; then
|
||||
sed -i "s~.*OWSUB_TAG=.*~OWSUB_TAG=$OWSUB_VERSION~" .env
|
||||
fi
|
||||
|
||||
# Search and replace variable values in env files
|
||||
#sed -i "s~\(^INTERNAL_OWGW_HOSTNAME=\).*~\1$INTERNAL_OWGW_HOSTNAME~" .env
|
||||
#sed -i "s~\(^INTERNAL_OWSEC_HOSTNAME=\).*~\1$INTERNAL_OWSEC_HOSTNAME~" .env
|
||||
#sed -i "s~\(^INTERNAL_OWFMS_HOSTNAME=\).*~\1$INTERNAL_OWFMS_HOSTNAME~" .env
|
||||
#sed -i "s~\(^INTERNAL_OWPROV_HOSTNAME=\).*~\1$INTERNAL_OWPROV_HOSTNAME~" .env
|
||||
#sed -i "s~\(^INTERNAL_OWANALYTICS_HOSTNAME=\).*~\1$INTERNAL_OWANALYTICS_HOSTNAME~" .env
|
||||
#sed -i "s~\(^INTERNAL_OWSUB_HOSTNAME=\).*~\1$INTERNAL_OWSUB_HOSTNAME~" .env
|
||||
|
||||
if [[ ! -z "$SDKHOSTNAME" ]]; then
|
||||
sed -i "s~.*SDKHOSTNAME=.*~SDKHOSTNAME=$SDKHOSTNAME~" .env.letsencrypt
|
||||
fi
|
||||
|
||||
if [[ ! -z "$WEBSOCKET_CERT" ]]; then
|
||||
echo "$WEBSOCKET_CERT" > certs/websocket-cert.pem
|
||||
fi
|
||||
if [[ ! -z "$WEBSOCKET_KEY" ]]; then
|
||||
echo "$WEBSOCKET_KEY" > certs/websocket-key.pem && chmod 600 websocket-key.pem
|
||||
fi
|
||||
|
||||
sed -i "s~.*FILEUPLOADER_HOST_NAME=.*~FILEUPLOADER_HOST_NAME=$OWGW_FILEUPLOADER_HOST_NAME~" owgw.env
|
||||
sed -i "s~.*FILEUPLOADER_URI=.*~FILEUPLOADER_URI=$OWGW_FILEUPLOADER_URI~" owgw.env
|
||||
sed -i "s~.*SYSTEM_URI_PUBLIC=.*~SYSTEM_URI_PUBLIC=$OWGW_SYSTEM_URI_PUBLIC~" owgw.env
|
||||
#sed -i "s~.*SYSTEM_URI_PRIVATE=.*~SYSTEM_URI_PRIVATE=$OWGW_SYSTEM_URI_PRIVATE~" owgw.env
|
||||
sed -i "s~.*SYSTEM_URI_UI=.*~SYSTEM_URI_UI=$SYSTEM_URI_UI~" owgw.env
|
||||
sed -i "s~.*RTTY_SERVER=.*~RTTY_SERVER=$OWGW_RTTY_SERVER~" owgw.env
|
||||
|
||||
if [[ ! -z "$SIMULATORID" ]]; then
|
||||
sed -i "s~.*SIMULATORID=.*~SIMULATORID=$SIMULATORID~" owgw.env
|
||||
fi
|
||||
|
||||
sed -i "s~.*DEFAULT_UCENTRALSEC_URL=.*~DEFAULT_UCENTRALSEC_URL=$DEFAULT_UCENTRALSEC_URL~" owgw-ui.env
|
||||
|
||||
if [[ ! -z "$OWSEC_AUTHENTICATION_DEFAULT_USERNAME" ]]; then
|
||||
sed -i "s~.*AUTHENTICATION_DEFAULT_USERNAME=.*~AUTHENTICATION_DEFAULT_USERNAME=$OWSEC_AUTHENTICATION_DEFAULT_USERNAME~" owsec.env
|
||||
fi
|
||||
if [[ ! -z "$OWSEC_AUTHENTICATION_DEFAULT_PASSWORD" ]]; then
|
||||
sed -i "s~.*AUTHENTICATION_DEFAULT_PASSWORD=.*~AUTHENTICATION_DEFAULT_PASSWORD=$OWSEC_AUTHENTICATION_DEFAULT_PASSWORD~" owsec.env
|
||||
fi
|
||||
#sed -i "s~.*SYSTEM_URI_PRIVATE=.*~SYSTEM_URI_PRIVATE=$OWSEC_SYSTEM_URI_PRIVATE~" owsec.env
|
||||
sed -i "s~.*SYSTEM_URI_PUBLIC=.*~SYSTEM_URI_PUBLIC=$OWSEC_SYSTEM_URI_PUBLIC~" owsec.env
|
||||
sed -i "s~.*SYSTEM_URI_UI=.*~SYSTEM_URI_UI=$SYSTEM_URI_UI~" owsec.env
|
||||
|
||||
#sed -i "s~.*SYSTEM_URI_PRIVATE=.*~SYSTEM_URI_PRIVATE=$OWFMS_SYSTEM_URI_PRIVATE~" owfms.env
|
||||
sed -i "s~.*SYSTEM_URI_PUBLIC=.*~SYSTEM_URI_PUBLIC=$OWFMS_SYSTEM_URI_PUBLIC~" owfms.env
|
||||
sed -i "s~.*SYSTEM_URI_UI=.*~SYSTEM_URI_UI=$SYSTEM_URI_UI~" owfms.env
|
||||
if [[ ! -z "$OWFMS_S3_SECRET" ]]; then
|
||||
sed -i "s~.*S3_SECRET=.*~S3_SECRET=$OWFMS_S3_SECRET~" owfms.env
|
||||
fi
|
||||
if [[ ! -z "$OWFMS_S3_KEY" ]]; then
|
||||
sed -i "s~.*S3_KEY=.*~S3_KEY=$OWFMS_S3_KEY~" owfms.env
|
||||
fi
|
||||
|
||||
#sed -i "s~.*SYSTEM_URI_PRIVATE=.*~SYSTEM_URI_PRIVATE=$OWPROV_SYSTEM_URI_PRIVATE~" owprov.env
|
||||
sed -i "s~.*SYSTEM_URI_PUBLIC=.*~SYSTEM_URI_PUBLIC=$OWPROV_SYSTEM_URI_PUBLIC~" owprov.env
|
||||
sed -i "s~.*SYSTEM_URI_UI=.*~SYSTEM_URI_UI=$SYSTEM_URI_UI~" owprov.env
|
||||
|
||||
sed -i "s~.*REACT_APP_UCENTRALSEC_URL=.*~REACT_APP_UCENTRALSEC_URL=$DEFAULT_UCENTRALSEC_URL~" owprov-ui.env
|
||||
|
||||
#sed -i "s~.*SYSTEM_URI_PRIVATE=.*~SYSTEM_URI_PRIVATE=$OWANALYTICS_SYSTEM_URI_PRIVATE~" owanalytics.env
|
||||
sed -i "s~.*SYSTEM_URI_PUBLIC=.*~SYSTEM_URI_PUBLIC=$OWANALYTICS_SYSTEM_URI_PUBLIC~" owanalytics.env
|
||||
sed -i "s~.*SYSTEM_URI_UI=.*~SYSTEM_URI_UI=$SYSTEM_URI_UI~" owanalytics.env
|
||||
|
||||
#sed -i "s~.*SYSTEM_URI_PRIVATE=.*~SYSTEM_URI_PRIVATE=$OWSUB_SYSTEM_URI_PRIVATE~" owsub.env
|
||||
sed -i "s~.*SYSTEM_URI_PUBLIC=.*~SYSTEM_URI_PUBLIC=$OWSUB_SYSTEM_URI_PUBLIC~" owsub.env
|
||||
sed -i "s~.*SYSTEM_URI_UI=.*~SYSTEM_URI_UI=$SYSTEM_URI_UI~" owsub.env
|
||||
|
||||
if [[ ! -z "$TRAEFIK_ACME_EMAIL" ]]; then
|
||||
sed -i "s~.*TRAEFIK_CERTIFICATESRESOLVERS_OPENWIFI_ACME_EMAIL=.*~TRAEFIK_CERTIFICATESRESOLVERS_OPENWIFI_ACME_EMAIL=$TRAEFIK_ACME_EMAIL~" traefik.env
|
||||
fi
|
||||
|
||||
# Run the deployment
|
||||
if [[ ! -z "$SDKHOSTNAME" ]]; then
|
||||
docker-compose -f docker-compose.lb.letsencrypt.yml --env-file .env.letsencrypt up -d
|
||||
else
|
||||
docker-compose up -d
|
||||
fi
|
||||
@@ -9,6 +9,10 @@ volumes:
|
||||
driver: local
|
||||
owprov_data:
|
||||
driver: local
|
||||
owanalytics_data:
|
||||
driver: local
|
||||
owsub_data:
|
||||
driver: local
|
||||
zookeeper_data:
|
||||
driver: local
|
||||
zookeeper_datalog:
|
||||
@@ -33,7 +37,6 @@ services:
|
||||
- owgw.env
|
||||
depends_on:
|
||||
- kafka
|
||||
- rttys
|
||||
restart: unless-stopped
|
||||
volumes:
|
||||
- owgw_data:${OWGW_ROOT}/persist
|
||||
@@ -121,17 +124,37 @@ services:
|
||||
- owprov
|
||||
restart: unless-stopped
|
||||
|
||||
rttys:
|
||||
image: "tip-tip-wlan-cloud-ucentral.jfrog.io/rttys:${RTTYS_TAG}"
|
||||
owanalytics:
|
||||
image: "tip-tip-wlan-cloud-ucentral.jfrog.io/owanalytics:${OWANALYTICS_TAG}"
|
||||
networks:
|
||||
openwifi:
|
||||
aliases:
|
||||
- ${INTERNAL_RTTYS_HOSTNAME}
|
||||
- ${INTERNAL_OWANALYTICS_HOSTNAME}
|
||||
env_file:
|
||||
- .env.letsencrypt
|
||||
- owanalytics.env
|
||||
depends_on:
|
||||
- kafka
|
||||
restart: unless-stopped
|
||||
volumes:
|
||||
- "./certs/restapi-cert.pem:/etc/rttys/restapi-cert.pem"
|
||||
- "./certs/restapi-key.pem:/etc/rttys/restapi-key.pem"
|
||||
- "./rttys/rttys_letsencrypt.conf:/rttys/rttys.conf"
|
||||
- owanalytics_data:${OWANALYTICS_ROOT}
|
||||
- ./certs:/${OWANALYTICS_ROOT}/certs
|
||||
|
||||
owsub:
|
||||
image: "tip-tip-wlan-cloud-ucentral.jfrog.io/owsub:${OWSUB_TAG}"
|
||||
networks:
|
||||
openwifi:
|
||||
aliases:
|
||||
- ${INTERNAL_OWSUB_HOSTNAME}
|
||||
env_file:
|
||||
- .env.letsencrypt
|
||||
- owsub.env
|
||||
depends_on:
|
||||
- kafka
|
||||
restart: unless-stopped
|
||||
volumes:
|
||||
- owsub_data:${OWSUB_ROOT}
|
||||
- ./certs:/${OWSUB_ROOT}/certs
|
||||
|
||||
zookeeper:
|
||||
image: "zookeeper:${ZOOKEEPER_TAG}"
|
||||
@@ -168,20 +191,29 @@ services:
|
||||
- owfms
|
||||
- owprov
|
||||
- owprov-ui
|
||||
- rttys
|
||||
restart: unless-stopped
|
||||
volumes:
|
||||
- "./traefik/openwifi_letsencrypt.yaml:/etc/traefik/openwifi.yaml"
|
||||
- "./certs/restapi-ca.pem:/certs/restapi-ca.pem"
|
||||
- "letsencrypt_certs:/letsencrypt"
|
||||
entrypoint:
|
||||
- /bin/sh
|
||||
- -c
|
||||
- |
|
||||
timeout 10m sh -c 'until [[ "$$(getent hosts $SDKHOSTNAME)" ]]; do echo "Waiting until DNS record for $SDKHOSTNAME is resolvable"; sleep 5; done' \
|
||||
&& ./entrypoint.sh traefik
|
||||
ports:
|
||||
- "15002:15002"
|
||||
- "16002:16002"
|
||||
- "16003:16003"
|
||||
- "80:80"
|
||||
- "8080:8080"
|
||||
- "443:443"
|
||||
- "8443:8443"
|
||||
- "16001:16001"
|
||||
- "16004:16004"
|
||||
- "16005:16005"
|
||||
- "16009:16009"
|
||||
- "16006:16006"
|
||||
- "5912:5912"
|
||||
- "5913:5913"
|
||||
|
||||
@@ -9,6 +9,10 @@ volumes:
|
||||
driver: local
|
||||
owprov_data:
|
||||
driver: local
|
||||
owanalytics_data:
|
||||
driver: local
|
||||
owsub_data:
|
||||
driver: local
|
||||
zookeeper_data:
|
||||
driver: local
|
||||
zookeeper_datalog:
|
||||
@@ -31,7 +35,6 @@ services:
|
||||
- owgw.env
|
||||
depends_on:
|
||||
- kafka
|
||||
- rttys
|
||||
restart: unless-stopped
|
||||
volumes:
|
||||
- owgw_data:${OWGW_ROOT}/persist
|
||||
@@ -121,17 +124,37 @@ services:
|
||||
- owprov
|
||||
restart: unless-stopped
|
||||
|
||||
rttys:
|
||||
image: "tip-tip-wlan-cloud-ucentral.jfrog.io/rttys:${RTTYS_TAG}"
|
||||
owanalytics:
|
||||
image: "tip-tip-wlan-cloud-ucentral.jfrog.io/owanalytics:${OWANALYTICS_TAG}"
|
||||
networks:
|
||||
openwifi:
|
||||
aliases:
|
||||
- ${INTERNAL_RTTYS_HOSTNAME}
|
||||
- ${INTERNAL_OWANALYTICS_HOSTNAME}
|
||||
env_file:
|
||||
- .env.selfsigned
|
||||
- owanalytics.env
|
||||
depends_on:
|
||||
- kafka
|
||||
restart: unless-stopped
|
||||
volumes:
|
||||
- "./certs/restapi-cert.pem:/etc/rttys/restapi-cert.pem"
|
||||
- "./certs/restapi-key.pem:/etc/rttys/restapi-key.pem"
|
||||
- "./rttys/rttys.conf:/rttys/rttys.conf"
|
||||
- owanalytics_data:${OWANALYTICS_ROOT}
|
||||
- ./certs:/${OWANALYTICS_ROOT}/certs
|
||||
|
||||
owsub:
|
||||
image: "tip-tip-wlan-cloud-ucentral.jfrog.io/owsub:${OWSUB_TAG}"
|
||||
networks:
|
||||
openwifi:
|
||||
aliases:
|
||||
- ${INTERNAL_OWSUB_HOSTNAME}
|
||||
env_file:
|
||||
- .env.selfsigned
|
||||
- owsub.env
|
||||
depends_on:
|
||||
- kafka
|
||||
restart: unless-stopped
|
||||
volumes:
|
||||
- owsub_data:${OWSUB_ROOT}
|
||||
- ./certs:/${OWSUB_ROOT}/certs
|
||||
|
||||
zookeeper:
|
||||
image: "zookeeper:${ZOOKEEPER_TAG}"
|
||||
@@ -167,7 +190,6 @@ services:
|
||||
- owfms
|
||||
- owprov
|
||||
- owprov-ui
|
||||
- rttys
|
||||
restart: unless-stopped
|
||||
volumes:
|
||||
- "./traefik/openwifi_selfsigned.yaml:/etc/traefik/openwifi.yaml"
|
||||
@@ -185,5 +207,6 @@ services:
|
||||
- "16001:16001"
|
||||
- "16004:16004"
|
||||
- "16005:16005"
|
||||
- "16009:16009"
|
||||
- "5912:5912"
|
||||
- "5913:5913"
|
||||
|
||||
@@ -25,6 +25,16 @@ services:
|
||||
- postgresql
|
||||
command: ["./wait-for-postgres.sh", "postgresql", "/openwifi/owprov"]
|
||||
|
||||
owanalytics:
|
||||
depends_on:
|
||||
- postgresql
|
||||
command: ["./wait-for-postgres.sh", "postgresql", "/openwifi/owanalytics"]
|
||||
|
||||
owsub:
|
||||
depends_on:
|
||||
- postgresql
|
||||
command: ["./wait-for-postgres.sh", "postgresql", "/openwifi/owsub"]
|
||||
|
||||
postgresql:
|
||||
image: "postgres:${POSTGRESQL_TAG}"
|
||||
networks:
|
||||
|
||||
@@ -22,7 +22,6 @@ services:
|
||||
- owgw.env
|
||||
depends_on:
|
||||
- kafka
|
||||
- rttys
|
||||
restart: unless-stopped
|
||||
volumes:
|
||||
- "./owgw_data:${OWGW_ROOT}"
|
||||
@@ -32,6 +31,8 @@ services:
|
||||
- "16002:16002"
|
||||
- "16102:16102"
|
||||
- "16003:16003"
|
||||
- "5912:5912"
|
||||
- "5913:5913"
|
||||
sysctls:
|
||||
- net.ipv4.tcp_keepalive_intvl=5
|
||||
- net.ipv4.tcp_keepalive_probes=2
|
||||
@@ -131,18 +132,41 @@ services:
|
||||
- "8080:8080"
|
||||
- "8443:8443"
|
||||
|
||||
rttys:
|
||||
image: "tip-tip-wlan-cloud-ucentral.jfrog.io/rttys:${RTTYS_TAG}"
|
||||
restart: unless-stopped
|
||||
owanalytics:
|
||||
image: "tip-tip-wlan-cloud-ucentral.jfrog.io/owanalytics:${OWANALYTICS_TAG}"
|
||||
networks:
|
||||
openwifi:
|
||||
aliases:
|
||||
- ${INTERNAL_OWANALYTICS_HOSTNAME}
|
||||
env_file:
|
||||
- owanalytics.env
|
||||
depends_on:
|
||||
- kafka
|
||||
restart: unless-stopped
|
||||
volumes:
|
||||
- "./certs/restapi-cert.pem:/etc/rttys/restapi-cert.pem"
|
||||
- "./certs/restapi-key.pem:/etc/rttys/restapi-key.pem"
|
||||
- "./rttys/rttys.conf:/rttys/rttys.conf"
|
||||
- "./owanalytics_data:${OWANALYTICS_ROOT}"
|
||||
- "./certs:/${OWANALYTICS_ROOT}/certs"
|
||||
ports:
|
||||
- "5912:5912"
|
||||
- "5913:5913"
|
||||
- "16009:16009"
|
||||
- "16109:16109"
|
||||
|
||||
owsub:
|
||||
image: "tip-tip-wlan-cloud-ucentral.jfrog.io/owsub:${OWSUB_TAG}"
|
||||
networks:
|
||||
openwifi:
|
||||
aliases:
|
||||
- ${INTERNAL_OWSUB_HOSTNAME}
|
||||
env_file:
|
||||
- owsub.env
|
||||
depends_on:
|
||||
- kafka
|
||||
restart: unless-stopped
|
||||
volumes:
|
||||
- "./owsub_data:${OWSUB_ROOT}"
|
||||
- "./certs:/${OWSUB_ROOT}/certs"
|
||||
ports:
|
||||
- "16006:16006"
|
||||
- "16106:16106"
|
||||
|
||||
zookeeper:
|
||||
image: "zookeeper:${ZOOKEEPER_TAG}"
|
||||
|
||||
38
docker-compose/owanalytics.env
Normal file
38
docker-compose/owanalytics.env
Normal file
@@ -0,0 +1,38 @@
|
||||
RUN_CHOWN=true
|
||||
TEMPLATE_CONFIG=true
|
||||
SELFSIGNED_CERTS=true
|
||||
|
||||
OWANALYTICS_ROOT=/owanalytics-data
|
||||
OWANALYTICS_CONFIG=/owanalytics-data
|
||||
|
||||
#RESTAPI_HOST_ROOTCA=$OWANALYTICS_ROOT/certs/restapi-ca.pem
|
||||
#RESTAPI_HOST_PORT=16009
|
||||
#RESTAPI_HOST_CERT=$OWANALYTICS_ROOT/certs/restapi-cert.pem
|
||||
#RESTAPI_HOST_KEY=$OWANALYTICS_ROOT/certs/restapi-key.pem
|
||||
#RESTAPI_HOST_KEY_PASSWORD=mypassword
|
||||
#INTERNAL_RESTAPI_HOST_ROOTCA=$OWANALYTICS_ROOT/certs/restapi-ca.pem
|
||||
#INTERNAL_RESTAPI_HOST_PORT=17009
|
||||
#INTERNAL_RESTAPI_HOST_CERT=$OWANALYTICS_ROOT/certs/restapi-cert.pem
|
||||
#INTERNAL_RESTAPI_HOST_KEY=$OWANALYTICS_ROOT/certs/restapi-key.pem
|
||||
#INTERNAL_RESTAPI_HOST_KEY_PASSWORD=mypassword
|
||||
#FIRMWARE_UPDATER_UPGRADE=yes
|
||||
#FIRMWARE_UPDATER_RCONLY=no
|
||||
#SERVICE_KEY=$OWANALYTICS_ROOT/certs/restapi-key.pem
|
||||
#SERVICE_KEY_PASSWORD=mypassword
|
||||
SYSTEM_DATA=$OWANALYTICS_ROOT/persist
|
||||
SYSTEM_URI_PRIVATE=https://owanalytics.wlan.local:17009
|
||||
SYSTEM_URI_PUBLIC=https://openwifi.wlan.local:16009
|
||||
SYSTEM_URI_UI=https://openwifi.wlan.local
|
||||
#KAFKA_ENABLE=true
|
||||
KAFKA_BROKERLIST=kafka:9092
|
||||
#STORAGE_TYPE=sqlite
|
||||
#STORAGE_TYPE_POSTGRESQL_HOST=localhost
|
||||
#STORAGE_TYPE_POSTGRESQL_USERNAME=owanalytics
|
||||
#STORAGE_TYPE_POSTGRESQL_PASSWORD=owanalytics
|
||||
#STORAGE_TYPE_POSTGRESQL_DATABASE=owanalytics
|
||||
#STORAGE_TYPE_POSTGRESQL_PORT=5432
|
||||
#STORAGE_TYPE_MYSQL_HOST=localhost
|
||||
#STORAGE_TYPE_MYSQL_USERNAME=owanalytics
|
||||
#STORAGE_TYPE_MYSQL_PASSWORD=owanalytics
|
||||
#STORAGE_TYPE_MYSQL_DATABASE=owanalytics
|
||||
#STORAGE_TYPE_MYSQL_PORT=3306
|
||||
@@ -38,12 +38,14 @@ SYSTEM_URI_PRIVATE=https://owgw.wlan.local:17002
|
||||
SYSTEM_URI_PUBLIC=https://openwifi.wlan.local:16002
|
||||
SYSTEM_URI_UI=https://openwifi.wlan.local
|
||||
#SIMULATORID=
|
||||
RTTY_ENABLED=true
|
||||
#RTTY_INTERNAL=true
|
||||
#RTTY_ENABLED=true
|
||||
RTTY_SERVER=openwifi.wlan.local
|
||||
#RTTY_PORT=5912
|
||||
#RTTY_TOKEN=96181c567b4d0d98c50f127230068fa8
|
||||
#RTTY_TOKEN=
|
||||
#RTTY_TIMEOUT=60
|
||||
#RTTY_VIEWPORT=5913
|
||||
#RTTY_ASSETS=$OWGW_ROOT/rtty_ui
|
||||
#KAFKA_ENABLE=true
|
||||
KAFKA_BROKERLIST=kafka:9092
|
||||
#STORAGE_TYPE=sqlite
|
||||
|
||||
16
docker-compose/owls/README.md
Normal file
16
docker-compose/owls/README.md
Normal file
@@ -0,0 +1,16 @@
|
||||
# OpenWifi OWLS Docker Compose
|
||||
## Deployment with self-signed certificates
|
||||
To run a load simulation you need to generate a specific Digicert-signed AP certificate which will be used to connect to the gateway. The certificate serial number has to start with the digits `53494d` since otherwise the gateway won't allow a load simulation. The rest of the serial number and the specified redirector URL can be chosen randomly. You only need to generate one AP certificate for your simulations.
|
||||
Be aware that since the OWLS deployment partly exposes the same ports on the host as the OpenWifi deployment, it is not intended that both run on the same host.
|
||||
1. Copy or move your AP load simulation certificate into the `docker-compose/certs` directory. Don't forget to name the files `device-cert.pem` and `device-key.pem` or adapt the path names in the OWLS configuration if you're using different file names.
|
||||
2. To be able to run load simulation tests against your OpenWifi SDK deployment, you'll have to [add the serial number of your generated AP certificate to the gateway configuration](https://github.com/Telecominfraproject/wlan-cloud-owls#prepare-your-openwifi-gateway). You can do that by either editing [owgw.env](../owgw.env) or doing the changes directly in your OWGW configuration file if it is exposed on your Docker host.
|
||||
3. Switch into the project directory with `cd docker-compose/owls`.
|
||||
4. Add an entry for `openwifi-owls.wlan.local` in your hosts file which points to `127.0.0.1` or whatever the IP of the host running the OWLS deployment is.
|
||||
5. Spin up the deployment with `docker-compose up -d`.
|
||||
6. Check if the containers are up and running with `docker-compose ps`.
|
||||
7. Add SSL certificate exceptions in your browser by visiting https://openwifi-owls.wlan.local:16001 and https://openwifi-owls.wlan.local:16007.
|
||||
8. If you're using an OpenWifi deployment with self-signed certificates, you'll have to add a custom hosts entry for `openwifi.wlan.local` on the machine running the OWLS deployment pointing to the remote IP of your OpenWifi host.
|
||||
9. Login to the UI by visiting https://openwifi-owls.wlan.local and follow the instructions to change your default password.
|
||||
10. In the Simulation tab, click on the + sign on the right side to add a load simulation.
|
||||
11. Fill out the required fields. MAC prefix is used for the MAC addresses of the simulated devices, so you can use any six-digit hexadecimal number. Specify the remote address of your OpenWifi gateway in the Gateway field, for example `https://openwifi.wlan.local:15002`. Adapt the rest of the settings according to your needs.
|
||||
12. Click on the floppy disk icon to save your load simulation. You can run it by clicking the play symbol in the table view.
|
||||
74
docker-compose/owls/deploy_owls.sh
Executable file
74
docker-compose/owls/deploy_owls.sh
Executable file
@@ -0,0 +1,74 @@
|
||||
#!/bin/bash
|
||||
set -e
|
||||
|
||||
# Usage function
|
||||
usage () {
|
||||
echo;
|
||||
echo "This script is intended for OpenWifi OWLS deployment using Docker Compose (https://github.com/Telecominfraproject/wlan-cloud-ucentral-deploy/tree/main/docker-compose) in a Kubernetes pod";
|
||||
echo;
|
||||
echo "Required environment variables:"
|
||||
echo;
|
||||
echo "- DEPLOY_VERSION - version of the wlan-cloud-ucentral-deploy repo to be used";
|
||||
echo;
|
||||
echo "- DEFAULT_UCENTRALSEC_URL - public URL of the OWSec service"
|
||||
echo "- SYSTEM_URI_UI - public URL of the OWGW-UI service"
|
||||
echo;
|
||||
echo "- INTERNAL_OWSEC_HOSTNAME - OWSec microservice hostname for Docker internal communication"
|
||||
echo;
|
||||
echo "- OWSEC_SYSTEM_URI_PRIVATE - private URL to be used for OWSec";
|
||||
echo "- OWSEC_SYSTEM_URI_PUBLIC - public URL to be used for OWSec";
|
||||
echo "- OWSEC_AUTHENTICATION_DEFAULT_USERNAME - username to be used for requests to OWSec";
|
||||
echo "- OWSEC_AUTHENTICATION_DEFAULT_PASSWORD - hashed password for OWSec (details on this may be found in https://github.com/Telecominfraproject/wlan-cloud-ucentralsec/#authenticationdefaultpassword)";
|
||||
echo;
|
||||
echo "- OWLS_SYSTEM_URI_PRIVATE - private URL to be used for OWLS";
|
||||
echo "- OWLS_SYSTEM_URI_PUBLIC - public URL to be used for OWLS";
|
||||
echo;
|
||||
echo "- DEVICE_CERT - path to the device certificate";
|
||||
echo "- DEVICE_KEY - path to the device key";
|
||||
}
|
||||
|
||||
# Check if required environment variables were passed
|
||||
## Deployment specifics
|
||||
[ -z ${DEPLOY_VERSION+x} ] && echo "DEPLOY_VERSION is unset" && usage && exit 1
|
||||
## Configuration variables applying to multiple microservices
|
||||
[ -z ${DEFAULT_UCENTRALSEC_URL+x} ] && echo "DEFAULT_UCENTRALSEC_URL is unset" && usage && exit 1
|
||||
[ -z ${SYSTEM_URI_UI+x} ] && echo "SYSTEM_URI_UI is unset" && usage && exit 1
|
||||
## Internal microservice hostnames
|
||||
[ -z ${INTERNAL_OWSEC_HOSTNAME+x} ] && echo "INTERNAL_OWSEC_HOSTNAME is unset" && usage && exit 1
|
||||
## OWSec configuration variables
|
||||
[ -z ${OWSEC_AUTHENTICATION_DEFAULT_USERNAME+x} ] && echo "OWSEC_AUTHENTICATION_DEFAULT_USERNAME is unset" && usage && exit 1
|
||||
[ -z ${OWSEC_AUTHENTICATION_DEFAULT_PASSWORD+x} ] && echo "OWSEC_AUTHENTICATION_DEFAULT_PASSWORD is unset" && usage && exit 1
|
||||
[ -z ${OWSEC_SYSTEM_URI_PRIVATE+x} ] && echo "OWSEC_SYSTEM_URI_PRIVATE is unset" && usage && exit 1
|
||||
[ -z ${OWSEC_SYSTEM_URI_PUBLIC+x} ] && echo "OWSEC_SYSTEM_URI_PUBLIC is unset" && usage && exit 1
|
||||
# OWLS configuration variables
|
||||
[ -z ${OWLS_SYSTEM_URI_PRIVATE+x} ] && echo "OWLS_SYSTEM_URI_PRIVATE is unset" && usage && exit 1
|
||||
[ -z ${OWLS_SYSTEM_URI_PUBLIC+x} ] && echo "OWLS_SYSTEM_URI_PUBLIC is unset" && usage && exit 1
|
||||
## cert related variables
|
||||
[ -z ${DEVICE_CERT+x} ] && echo "DEVICE_CERT is unset" && usage && exit 1
|
||||
[ -z ${DEVICE_KEY+x} ] && echo "DEVICE_KEY is unset" && usage && exit 1
|
||||
|
||||
# Clone repo and copy certificates
|
||||
mkdir wlan-cloud-ucentral-deploy-tmp
|
||||
git clone --branch $DEPLOY_VERSION https://github.com/Telecominfraproject/wlan-cloud-ucentral-deploy.git /wlan-cloud-ucentral-deploy-tmp
|
||||
mv -f /wlan-cloud-ucentral-deploy-tmp/* /wlan-cloud-ucentral-deploy/ && rm -r wlan-cloud-ucentral-deploy-tmp
|
||||
cd wlan-cloud-ucentral-deploy/docker-compose/owls
|
||||
|
||||
# Search and replace variable values in env files
|
||||
sed -i "s~\(^INTERNAL_OWSEC_HOSTNAME=\).*~\1$INTERNAL_OWSEC_HOSTNAME~" .env
|
||||
sed -i "s~\(^INTERNAL_OWLS_HOSTNAME=\).*~\1$INTERNAL_OWLS_HOSTNAME~" .env
|
||||
|
||||
sed -i "s~\(^DEFAULT_UCENTRALSEC_URL=\).*~\1$DEFAULT_UCENTRALSEC_URL~" owls-ui.env
|
||||
|
||||
sed -i "s~.*AUTHENTICATION_DEFAULT_USERNAME=.*~AUTHENTICATION_DEFAULT_USERNAME=$OWSEC_AUTHENTICATION_DEFAULT_USERNAME~" owsec.env
|
||||
sed -i "s~.*AUTHENTICATION_DEFAULT_PASSWORD=.*~AUTHENTICATION_DEFAULT_PASSWORD=$OWSEC_AUTHENTICATION_DEFAULT_PASSWORD~" owsec.env
|
||||
sed -i "s~\(^SYSTEM_URI_PRIVATE=\).*~\1$OWSEC_SYSTEM_URI_PRIVATE~" owsec.env
|
||||
sed -i "s~\(^SYSTEM_URI_PUBLIC=\).*~\1$OWSEC_SYSTEM_URI_PUBLIC~" owsec.env
|
||||
sed -i "s~\(^SYSTEM_URI_UI=\).*~\1$SYSTEM_URI_UI~" owsec.env
|
||||
|
||||
sed -i "s~\(^SYSTEM_URI_PRIVATE=\).*~\1$OWLS_SYSTEM_URI_PRIVATE~" owls.env
|
||||
sed -i "s~\(^SYSTEM_URI_PUBLIC=\).*~\1$OWLS_SYSTEM_URI_PUBLIC~" owls.env
|
||||
|
||||
# Run the deployment and attach to logs
|
||||
cat $DEVICE_CERT > ../certs/device-cert.pem
|
||||
cat $DEVICE_KEY > ../certs/device-key.pem
|
||||
exec docker-compose up --attach-dependencies
|
||||
@@ -1,2 +1,2 @@
|
||||
DEFAULT_UCENTRALSEC_URL=https://openwifi.wlan.local:16001
|
||||
ALLOW_UCENTRALSEC_CHANGE=false
|
||||
REACT_APP_UCENTRALSEC_URL=https://openwifi.wlan.local:16001
|
||||
|
||||
38
docker-compose/owsub.env
Normal file
38
docker-compose/owsub.env
Normal file
@@ -0,0 +1,38 @@
|
||||
RUN_CHOWN=true
|
||||
TEMPLATE_CONFIG=true
|
||||
SELFSIGNED_CERTS=true
|
||||
|
||||
OWSUB_ROOT=/owsub-data
|
||||
OWSUB_CONFIG=/owsub-data
|
||||
|
||||
#RESTAPI_HOST_ROOTCA=$OWSUB_ROOT/certs/restapi-ca.pem
|
||||
#RESTAPI_HOST_PORT=16006
|
||||
#RESTAPI_HOST_CERT=$OWSUB_ROOT/certs/restapi-cert.pem
|
||||
#RESTAPI_HOST_KEY=$OWSUB_ROOT/certs/restapi-key.pem
|
||||
#RESTAPI_HOST_KEY_PASSWORD=mypassword
|
||||
#INTERNAL_RESTAPI_HOST_ROOTCA=$OWSUB_ROOT/certs/restapi-ca.pem
|
||||
#INTERNAL_RESTAPI_HOST_PORT=17006
|
||||
#INTERNAL_RESTAPI_HOST_CERT=$OWSUB_ROOT/certs/restapi-cert.pem
|
||||
#INTERNAL_RESTAPI_HOST_KEY=$OWSUB_ROOT/certs/restapi-key.pem
|
||||
#INTERNAL_RESTAPI_HOST_KEY_PASSWORD=mypassword
|
||||
#FIRMWARE_UPDATER_UPGRADE=yes
|
||||
#FIRMWARE_UPDATER_RCONLY=no
|
||||
#SERVICE_KEY=$OWSUB_ROOT/certs/restapi-key.pem
|
||||
#SERVICE_KEY_PASSWORD=mypassword
|
||||
SYSTEM_DATA=$OWSUB_ROOT/persist
|
||||
SYSTEM_URI_PRIVATE=https://owsub.wlan.local:17006
|
||||
SYSTEM_URI_PUBLIC=https://openwifi.wlan.local:16006
|
||||
SYSTEM_URI_UI=https://openwifi.wlan.local
|
||||
#KAFKA_ENABLE=true
|
||||
KAFKA_BROKERLIST=kafka:9092
|
||||
#STORAGE_TYPE=sqlite
|
||||
#STORAGE_TYPE_POSTGRESQL_HOST=localhost
|
||||
#STORAGE_TYPE_POSTGRESQL_USERNAME=owsub
|
||||
#STORAGE_TYPE_POSTGRESQL_PASSWORD=owsub
|
||||
#STORAGE_TYPE_POSTGRESQL_DATABASE=owsub
|
||||
#STORAGE_TYPE_POSTGRESQL_PORT=5432
|
||||
#STORAGE_TYPE_MYSQL_HOST=localhost
|
||||
#STORAGE_TYPE_MYSQL_USERNAME=owsub
|
||||
#STORAGE_TYPE_MYSQL_PASSWORD=owsub
|
||||
#STORAGE_TYPE_MYSQL_DATABASE=owsub
|
||||
#STORAGE_TYPE_MYSQL_PORT=3306
|
||||
@@ -12,3 +12,9 @@ OWFMS_DB_PASSWORD=owfms
|
||||
OWPROV_DB=owprov
|
||||
OWPROV_DB_USER=owprov
|
||||
OWPROV_DB_PASSWORD=owprov
|
||||
OWANALYTICS_DB=owanalytics
|
||||
OWANALYTICS_DB_USER=owanalytics
|
||||
OWANALYTICS_DB_PASSWORD=owanalytics
|
||||
OWUSB_DB=owsub
|
||||
OWUSB_DB_USER=owsub
|
||||
OWUSB_DB_PASSWORD=owsub
|
||||
|
||||
@@ -14,4 +14,10 @@ psql -v ON_ERROR_STOP=1 --username "$POSTGRES_USER" <<-EOSQL
|
||||
CREATE USER $OWPROV_DB_USER WITH ENCRYPTED PASSWORD '$OWPROV_DB_PASSWORD';
|
||||
CREATE DATABASE $OWPROV_DB;
|
||||
GRANT ALL PRIVILEGES ON DATABASE $OWPROV_DB TO $OWPROV_DB_USER;
|
||||
CREATE USER $OWANALYTICS_DB_USER WITH ENCRYPTED PASSWORD '$OWANALYTICS_DB_PASSWORD';
|
||||
CREATE DATABASE $OWANALYTICS_DB;
|
||||
GRANT ALL PRIVILEGES ON DATABASE $OWANALYTICS_DB TO $OWANALYTICS_DB_USER;
|
||||
CREATE USER $OWSUB_DB_USER WITH ENCRYPTED PASSWORD '$OWSUB_DB_PASSWORD';
|
||||
CREATE DATABASE $OWSUB_DB;
|
||||
GRANT ALL PRIVILEGES ON DATABASE $OWSUB_DB TO $OWSUB_DB_USER;
|
||||
EOSQL
|
||||
|
||||
@@ -1,16 +0,0 @@
|
||||
addr-dev: :5912
|
||||
addr-user: :5913
|
||||
#addr-web: :5914
|
||||
#web-redir-url:# Auth for http
|
||||
http-username: rttys
|
||||
http-password: rttys
|
||||
ssl-cert: /etc/rttys/restapi-cert.pem
|
||||
ssl-key: /etc/rttys/restapi-key.pem
|
||||
token: 96181c567b4d0d98c50f127230068fa8
|
||||
# font-size: 16
|
||||
# No login required to connect device.
|
||||
# Values can be device IDs separated by spaces,
|
||||
# or a "*" indicates that all devices do not require login
|
||||
# http://localhost:5913/connect/rtty1
|
||||
white-list: "*"
|
||||
#white-list: rtty1 rtty2
|
||||
@@ -1,16 +0,0 @@
|
||||
addr-dev: :5912
|
||||
addr-user: :5913
|
||||
#addr-web: :5914
|
||||
#web-redir-url:# Auth for http
|
||||
http-username: rttys
|
||||
http-password: rttys
|
||||
#ssl-cert: /etc/rttys/restapi-cert.pem
|
||||
#ssl-key: /etc/rttys/restapi-key.pem
|
||||
token: 96181c567b4d0d98c50f127230068fa8
|
||||
# font-size: 16
|
||||
# No login required to connect device.
|
||||
# Values can be device IDs separated by spaces,
|
||||
# or a "*" indicates that all devices do not require login
|
||||
# http://localhost:5913/connect/rtty1
|
||||
white-list: "*"
|
||||
#white-list: rtty1 rtty2
|
||||
@@ -1,6 +1,8 @@
|
||||
TRAEFIK_ENTRYPOINTS_OWGWWEBSOCKET_ADDRESS=:15002
|
||||
TRAEFIK_ENTRYPOINTS_OWGWRESTAPI_ADDRESS=:16002
|
||||
TRAEFIK_ENTRYPOINTS_OWGWFILEUPLOAD_ADDRESS=:16003
|
||||
TRAEFIK_ENTRYPOINTS_OWGWRTTYS_ADDRESS=:5912
|
||||
TRAEFIK_ENTRYPOINTS_OWGWRTTYSVIEW_ADDRESS=:5913
|
||||
TRAEFIK_ENTRYPOINTS_OWGWUIHTTP_ADDRESS=:80
|
||||
TRAEFIK_ENTRYPOINTS_OWGWUIHTTP_HTTP_REDIRECTIONS_ENTRYPOINT_TO=owgwuihttps
|
||||
TRAEFIK_ENTRYPOINTS_OWPROVUIHTTP_ADDRESS=:8080
|
||||
@@ -10,8 +12,8 @@ TRAEFIK_ENTRYPOINTS_OWPROVUIHTTPS_ADDRESS=:8443
|
||||
TRAEFIK_ENTRYPOINTS_OWSECRESTAPI_ADDRESS=:16001
|
||||
TRAEFIK_ENTRYPOINTS_OWFMSRESTAPI_ADDRESS=:16004
|
||||
TRAEFIK_ENTRYPOINTS_OWPROVRESTAPI_ADDRESS=:16005
|
||||
TRAEFIK_ENTRYPOINTS_RTTYSDEV_ADDRESS=:5912
|
||||
TRAEFIK_ENTRYPOINTS_RTTYSUSER_ADDRESS=:5913
|
||||
TRAEFIK_ENTRYPOINTS_OWANALYTICSRESTAPI_ADDRESS=:16009
|
||||
TRAEFIK_ENTRYPOINTS_OWSUBRESTAPI_ADDRESS=:16006
|
||||
TRAEFIK_PROVIDERS_FILE_FILENAME=/etc/traefik/openwifi.yaml
|
||||
TRAEFIK_CERTIFICATESRESOLVERS_OPENWIFI_ACME_EMAIL=
|
||||
TRAEFIK_CERTIFICATESRESOLVERS_OPENWIFI_ACME_HTTPCHALLENGE=true
|
||||
|
||||
@@ -28,66 +28,86 @@ http:
|
||||
loadBalancer:
|
||||
servers:
|
||||
- url: "http://owprov-ui.wlan.local:80/"
|
||||
rttys-user:
|
||||
owanalytics-restapi:
|
||||
loadBalancer:
|
||||
servers:
|
||||
- url: "http://rttys.wlan.local:5913/"
|
||||
- url: "https://owanalytics.wlan.local:16009/"
|
||||
owsub-restapi:
|
||||
loadBalancer:
|
||||
servers:
|
||||
- url: "https://owsub.wlan.local:16006/"
|
||||
owgw-rttys-view:
|
||||
loadBalancer:
|
||||
servers:
|
||||
- url: "http://owgw.wlan.local:5913/"
|
||||
|
||||
routers:
|
||||
owgw-ui-http:
|
||||
entryPoints: "owgwuihttp"
|
||||
service: "owgw-ui"
|
||||
rule: "Host(`{{ env "OWGWUI_HOSTNAME" }}`)"
|
||||
rule: "Host(`{{ env "SDKHOSTNAME" }}`)"
|
||||
owgw-ui-https:
|
||||
entryPoints: "owgwuihttps"
|
||||
service: "owgw-ui"
|
||||
rule: "Host(`{{ env "OWGWUI_HOSTNAME" }}`)"
|
||||
rule: "Host(`{{ env "SDKHOSTNAME" }}`)"
|
||||
tls:
|
||||
certResolver: "openwifi"
|
||||
owgw-fileupload:
|
||||
entryPoints: "owgwfileupload"
|
||||
service: "owgw-fileupload"
|
||||
rule: "Host(`{{ env "OWGWFILEUPLOAD_HOSTNAME" }}`)"
|
||||
rule: "Host(`{{ env "SDKHOSTNAME" }}`)"
|
||||
tls:
|
||||
certResolver: "openwifi"
|
||||
owgw-restapi:
|
||||
entryPoints: "owgwrestapi"
|
||||
service: "owgw-restapi"
|
||||
rule: "Host(`{{ env "OWGW_HOSTNAME" }}`)"
|
||||
rule: "Host(`{{ env "SDKHOSTNAME" }}`)"
|
||||
tls:
|
||||
certResolver: "openwifi"
|
||||
owgw-rttys-view:
|
||||
entryPoints: "owgwrttysview"
|
||||
service: "owgw-rttys-view"
|
||||
rule: "Host(`{{ env "SDKHOSTNAME" }}`)"
|
||||
tls:
|
||||
certResolver: "openwifi"
|
||||
owsec-restapi:
|
||||
entryPoints: "owsecrestapi"
|
||||
service: "owsec-restapi"
|
||||
rule: "Host(`{{ env "OWSEC_HOSTNAME" }}`)"
|
||||
rule: "Host(`{{ env "SDKHOSTNAME" }}`)"
|
||||
tls:
|
||||
certResolver: "openwifi"
|
||||
owfms-restapi:
|
||||
entryPoints: "owfmsrestapi"
|
||||
service: "owfms-restapi"
|
||||
rule: "Host(`{{env "OWFMS_HOSTNAME"}}`)"
|
||||
rule: "Host(`{{env "SDKHOSTNAME"}}`)"
|
||||
tls:
|
||||
certResolver: "openwifi"
|
||||
owprov-restapi:
|
||||
entryPoints: "owprovrestapi"
|
||||
service: "owprov-restapi"
|
||||
rule: "Host(`{{env "OWPROV_HOSTNAME"}}`)"
|
||||
rule: "Host(`{{env "SDKHOSTNAME"}}`)"
|
||||
tls:
|
||||
certResolver: "openwifi"
|
||||
owprov-ui-http:
|
||||
entryPoints: "owgwuihttp"
|
||||
entryPoints: "owprovuihttp"
|
||||
service: "owprov-ui"
|
||||
rule: "Host(`{{ env "OWPROVUI_HOSTNAME" }}`)"
|
||||
rule: "Host(`{{ env "SDKHOSTNAME" }}`)"
|
||||
owprov-ui-https:
|
||||
entryPoints: "owgwuihttps"
|
||||
entryPoints: "owprovuihttps"
|
||||
service: "owprov-ui"
|
||||
rule: "Host(`{{ env "OWPROVUI_HOSTNAME" }}`)"
|
||||
rule: "Host(`{{ env "SDKHOSTNAME" }}`)"
|
||||
tls:
|
||||
certResolver: "openwifi"
|
||||
rttys-user:
|
||||
entryPoints: "rttysuser"
|
||||
service: "rttys-user"
|
||||
rule: "Host(`{{ env "RTTYS_HOSTNAME" }}`)"
|
||||
owanalytics-restapi:
|
||||
entryPoints: "owanalyticsrestapi"
|
||||
service: "owanalytics-restapi"
|
||||
rule: "Host(`{{env "SDKHOSTNAME"}}`)"
|
||||
tls:
|
||||
certResolver: "openwifi"
|
||||
owsub-restapi:
|
||||
entryPoints: "owsubrestapi"
|
||||
service: "owsub-restapi"
|
||||
rule: "Host(`{{env "SDKHOSTNAME"}}`)"
|
||||
tls:
|
||||
certResolver: "openwifi"
|
||||
|
||||
@@ -98,10 +118,10 @@ tcp:
|
||||
servers:
|
||||
- address: "owgw.wlan.local:15002"
|
||||
|
||||
rttys-dev:
|
||||
owgw-rttys:
|
||||
loadBalancer:
|
||||
servers:
|
||||
- address: "rttys.wlan.local:5912"
|
||||
- address: "owgw.wlan.local:5912"
|
||||
|
||||
routers:
|
||||
owgw-websocket:
|
||||
@@ -111,9 +131,9 @@ tcp:
|
||||
tls:
|
||||
passthrough: true
|
||||
|
||||
rttys-dev:
|
||||
entryPoints: "rttysdev"
|
||||
service: "rttys-dev"
|
||||
rule: "HostSNI(`{{ env "RTTYS_HOSTNAME" }}`)"
|
||||
owgw-rttys:
|
||||
entryPoints: "owgwrttys"
|
||||
service: "owgw-rttys"
|
||||
rule: "HostSNI(`{{ env "SDKHOSTNAME" }}`)"
|
||||
tls:
|
||||
certResolver: openwifi
|
||||
|
||||
@@ -52,6 +52,14 @@ tcp:
|
||||
loadBalancer:
|
||||
servers:
|
||||
- address: "owgw.wlan.local:16003"
|
||||
owgw-rttys:
|
||||
loadBalancer:
|
||||
servers:
|
||||
- address: "owgw.wlan.local:5912"
|
||||
owgw-rttys-view:
|
||||
loadBalancer:
|
||||
servers:
|
||||
- address: "owgw.wlan.local:5913"
|
||||
owsec-restapi:
|
||||
loadBalancer:
|
||||
servers:
|
||||
@@ -64,14 +72,14 @@ tcp:
|
||||
loadBalancer:
|
||||
servers:
|
||||
- address: "owprov.wlan.local:16005"
|
||||
rttys-dev:
|
||||
owanalytics-restapi:
|
||||
loadBalancer:
|
||||
servers:
|
||||
- address: "rttys.wlan.local:5912"
|
||||
rttys-user:
|
||||
- address: "owanalytics.wlan.local:16009"
|
||||
owsub-restapi:
|
||||
loadBalancer:
|
||||
servers:
|
||||
- address: "rttys.wlan.local:5913"
|
||||
- address: "owsub.wlan.local:16006"
|
||||
|
||||
routers:
|
||||
owgw-websocket:
|
||||
@@ -92,6 +100,18 @@ tcp:
|
||||
rule: "HostSNI(`*`)"
|
||||
tls:
|
||||
passthrough: true
|
||||
owgw-rttys:
|
||||
entryPoints: "owgwrttys"
|
||||
service: "owgw-rttys"
|
||||
rule: "HostSNI(`*`)"
|
||||
tls:
|
||||
passthrough: true
|
||||
owgw-rttys-view:
|
||||
entryPoints: "owgwrttysview"
|
||||
service: "owgw-rttys-view"
|
||||
rule: "HostSNI(`*`)"
|
||||
tls:
|
||||
passthrough: true
|
||||
owsec-restapi:
|
||||
entryPoints: "owsecrestapi"
|
||||
service: "owsec-restapi"
|
||||
@@ -110,15 +130,15 @@ tcp:
|
||||
rule: "HostSNI(`*`)"
|
||||
tls:
|
||||
passthrough: true
|
||||
rttys-dev:
|
||||
entryPoints: "rttysdev"
|
||||
service: "rttys-dev"
|
||||
owanalytics-restapi:
|
||||
entryPoints: "owanalyticsrestapi"
|
||||
service: "owanalytics-restapi"
|
||||
rule: "HostSNI(`*`)"
|
||||
tls:
|
||||
passthrough: true
|
||||
rttys-user:
|
||||
entryPoints: "rttysuser"
|
||||
service: "rttys-user"
|
||||
owsub-restapi:
|
||||
entryPoints: "owsubrestapi"
|
||||
service: "owsub-restapi"
|
||||
rule: "HostSNI(`*`)"
|
||||
tls:
|
||||
passthrough: true
|
||||
|
||||
Reference in New Issue
Block a user