[WIFI-4909] Add: support for owprovui in helm deployments

This commit is contained in:
Dmitry Dunaev
2021-10-13 10:28:29 +03:00
parent 80e5f1d95e
commit 9bcc301f36
7 changed files with 68 additions and 2 deletions

View File

@@ -47,6 +47,10 @@ on:
default: 'main'
description: 'OpenWIFI Provisioning version to be deployed (git tag or helm package version may be used, main is default)'
required: true
owprovui_version:
default: 'main'
description: 'OpenWIFI Provisioning Web UI version to be deployed (git tag or helm package version may be used, main is default)'
required: true
jobs:
deploy:
@@ -80,6 +84,7 @@ jobs:
export OWSEC_VERSION=${{ github.event.inputs.owsec_version }}
export OWFMS_VERSION=${{ github.event.inputs.owfms_version }}
export OWPROV_VERSION=${{ github.event.inputs.owprov_version }}
export OWPROVUI_VERSION=${{ github.event.inputs.owprovui_version }}
export VALUES_FILE_LOCATION=values.ucentral-qa.yaml
export RTTY_TOKEN=${{ secrets.RTTY_TOKEN }}
export OWGW_AUTH_USERNAME=${{ secrets.UCENTRALGW_AUTH_USERNAME }}

View File

@@ -113,6 +113,7 @@ jobs:
export OWSEC_VERSION=v2.2.0-RC1
export OWFMS_VERSION=v2.2.0-RC1
export OWPROV_VERSION=main
export OWPROVUI_VERSION=main
export VALUES_FILE_LOCATION=values.ucentral-qa.yaml
export RTTY_TOKEN=${{ secrets.RTTY_TOKEN }}
export OWGW_AUTH_USERNAME=${{ secrets.UCENTRALGW_AUTH_USERNAME }}

View File

@@ -26,6 +26,7 @@ env:
# - 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)
# - 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)
# - 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)
# - 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)
testbeds: '[
{
"namespace": "dev01",
@@ -35,7 +36,8 @@ env:
"owsec_version": "v2.2.0-RC1",
"owfms_version": "v2.2.0-RC1",
"owprov_version": "main",
"owgwui_version": "v2.2.0-RC1"
"owgwui_version": "v2.2.0-RC1",
"owprovui_version": "main"
}
]'
@@ -89,6 +91,7 @@ jobs:
export OWSEC_VERSION=${{ matrix.owsec_version }}
export OWFMS_VERSION=${{ matrix.owfms_version }}
export OWPROV_VERSION=${{ matrix.owprov_version }}
export OWPROVUI_VERSION=${{ matrix.owprovui_version }}
export VALUES_FILE_LOCATION=values.ucentral-qa.yaml
export RTTY_TOKEN=${{ secrets.RTTY_TOKEN }}
export OWGW_AUTH_USERNAME=${{ secrets.UCENTRALGW_AUTH_USERNAME }}

View File

@@ -26,6 +26,7 @@ env:
# - 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)
# - 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)
# - 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)
# - 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)
testbeds: '[
{
"namespace": "qa01",
@@ -35,7 +36,8 @@ env:
"owsec_version": "v2.2.0-RC1",
"owfms_version": "v2.2.0-RC1",
"owprov_version": "main",
"owgwui_version": "v2.2.0-RC1"
"owgwui_version": "v2.2.0-RC1",
"owprovui_version": "main"
}
]'
@@ -89,6 +91,7 @@ jobs:
export OWSEC_VERSION=${{ matrix.owsec_version }}
export OWFMS_VERSION=${{ matrix.owfms_version }}
export OWPROV_VERSION=${{ matrix.owprov_version }}
export OWPROVUI_VERSION=${{ matrix.owprovui_version }}
export VALUES_FILE_LOCATION=values.ucentral-qa.yaml
export RTTY_TOKEN=${{ secrets.RTTY_TOKEN }}
export OWGW_AUTH_USERNAME=${{ secrets.UCENTRALGW_AUTH_USERNAME }}

View File

@@ -14,6 +14,7 @@ usage () {
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)";
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)";
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)";
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)";
echo;
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";
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)";
@@ -36,6 +37,7 @@ usage () {
[ -z ${OWSEC_VERSION+x} ] && echo "OWSEC_VERSION is unset" && usage && exit 1
[ -z ${OWFMS_VERSION+x} ] && echo "OWFMS_VERSION is unset" && usage && exit 1
[ -z ${OWPROV_VERSION+x} ] && echo "OWPROV_VERSION is unset" && usage && exit 1
[ -z ${OWPROVUI_VERSION+x} ] && echo "OWPROVUI_VERSION is unset" && usage && exit 1
## Deployment specifics
[ -z ${DEPLOY_METHOD+x} ] && echo "DEPLOY_METHOD is unset" && usage && exit 1
[ -z ${CHART_VERSION+x} ] && echo "CHART_VERSION is unset" && usage && exit 1
@@ -55,6 +57,7 @@ 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 '/' '-')
# Check deployment method that's required for this environment
helm plugin install https://github.com/databus23/helm-diff || true
@@ -70,6 +73,7 @@ if [[ "$DEPLOY_METHOD" == "git" ]]; then
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
helm repo add bitnami https://charts.bitnami.com/bitnami
helm repo update
helm dependency update
@@ -117,6 +121,9 @@ helm upgrade --install --create-namespace --wait --timeout 20m \
--set owprov.configProperties."openwifi\.system\.uri\.public"=https://prov-${NAMESPACE}.cicd.lab.wlan.tip.build:16005 \
--set owprov.configProperties."openwifi\.system\.uri\.private"=https://prov-${NAMESPACE}.cicd.lab.wlan.tip.build:17005 \
--set owprov.configProperties."openwifi\.system\.uri\.ui"=https://webui-${NAMESPACE}.cicd.lab.wlan.tip.build \
--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-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 \
@@ -134,4 +141,5 @@ helm upgrade --install --create-namespace --wait --timeout 20m \
--set owsec.images.owsec.tag=$OWSEC_VERSION_TAG \
--set owfms.images.owfms.tag=$OWFMS_VERSION_TAG \
--set owprov.images.owprov.tag=$OWPROV_VERSION_TAG \
--set owprovui.images.owprov.tag=$OWPROVUI_VERSION_TAG \
tip-openwifi $DEPLOY_SOURCE

View File

@@ -202,6 +202,29 @@ owprov:
5IOM7ItsRmen6u3qu+JXros54e4juQ==
-----END CERTIFICATE-----
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
public_env_variables:
ALLOW_UCENTRALSEC_CHANGE: false
kafka:
heapOpts: -Xmx512m -Xms512m
resources:

View File

@@ -189,6 +189,29 @@ owprov:
5IOM7ItsRmen6u3qu+JXros54e4juQ==
-----END CERTIFICATE-----
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
public_env_variables:
ALLOW_UCENTRALSEC_CHANGE: false
kafka:
heapOpts: -Xmx512m -Xms512m
resources: