mirror of
https://github.com/Telecominfraproject/wlan-cloud-ucentral-deploy.git
synced 2026-03-20 03:40:49 +00:00
Compare commits
22 Commits
WIFI-13246
...
WIFI-13871
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
a3d8615d79 | ||
|
|
e49bd3a6c9 | ||
|
|
5b2ff48836 | ||
|
|
d9bb26ec4c | ||
|
|
065f719d1f | ||
|
|
3cb9debe91 | ||
|
|
f02dd63750 | ||
|
|
8d673a8e90 | ||
|
|
f4720fcb33 | ||
|
|
7b93a3a6cc | ||
|
|
d8674a82b2 | ||
|
|
f4a8649bad | ||
|
|
bc00e6244e | ||
|
|
123c341f9b | ||
|
|
a377966ac9 | ||
|
|
9093a85ccf | ||
|
|
3133f07edb | ||
|
|
c7692c9107 | ||
|
|
536e84ce50 | ||
|
|
70c8886d24 | ||
|
|
0ee5ea9648 | ||
|
|
6f2c8d9b02 |
6
.github/workflows/ci.yml
vendored
6
.github/workflows/ci.yml
vendored
@@ -49,7 +49,7 @@ jobs:
|
||||
needs: envs
|
||||
steps:
|
||||
- name: Checkout actions repo
|
||||
uses: actions/checkout@v3
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
repository: Telecominfraproject/.github
|
||||
path: github
|
||||
@@ -72,7 +72,7 @@ jobs:
|
||||
needs: envs
|
||||
steps:
|
||||
- name: Checkout actions repo
|
||||
uses: actions/checkout@v3
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
repository: Telecominfraproject/.github
|
||||
path: github
|
||||
@@ -95,7 +95,7 @@ jobs:
|
||||
needs: envs
|
||||
steps:
|
||||
- name: Checkout actions repo
|
||||
uses: actions/checkout@v3
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
repository: Telecominfraproject/.github
|
||||
path: github
|
||||
|
||||
@@ -22,7 +22,7 @@ jobs:
|
||||
DOCKER_REGISTRY_URL: tip-tip-wlan-cloud-ucentral.jfrog.io
|
||||
DOCKER_REGISTRY_USERNAME: ucentral
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- uses: actions/checkout@v4
|
||||
|
||||
- name: Build Docker image
|
||||
working-directory: chart/docker
|
||||
|
||||
2
.github/workflows/enforce-jira-issue-key.yml
vendored
2
.github/workflows/enforce-jira-issue-key.yml
vendored
@@ -9,7 +9,7 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout actions repo
|
||||
uses: actions/checkout@v3
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
repository: Telecominfraproject/.github
|
||||
path: github
|
||||
|
||||
8
.github/workflows/git-release.yml
vendored
8
.github/workflows/git-release.yml
vendored
@@ -28,7 +28,7 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout repo
|
||||
uses: actions/checkout@v3
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
path: wlan-cloud-ucentral-deploy
|
||||
|
||||
@@ -36,7 +36,7 @@ jobs:
|
||||
run: |
|
||||
pip3 install yq
|
||||
helm plugin install https://github.com/databus23/helm-diff
|
||||
helm plugin install https://github.com/aslafy-z/helm-git
|
||||
helm plugin install https://github.com/aslafy-z/helm-git --version 0.16.0
|
||||
ls ~/.local/share/helm/plugins/helm-git/helm-git-plugin.sh || true
|
||||
sed 's/--skip-refresh //' -i ~/.local/share/helm/plugins/helm-git/helm-git-plugin.sh
|
||||
|
||||
@@ -54,6 +54,6 @@ jobs:
|
||||
git config --global credential.helper store
|
||||
git config --global user.email "tip-automation@telecominfraproject.com"
|
||||
git config --global user.name "TIP Automation User"
|
||||
helm repo add bitnami https://charts.bitnami.com/bitnami
|
||||
helm repo update
|
||||
#helm repo add bitnami https://charts.bitnami.com/bitnami
|
||||
#helm repo update
|
||||
./git-release-tool.sh
|
||||
|
||||
12
.github/workflows/release.yml
vendored
12
.github/workflows/release.yml
vendored
@@ -11,13 +11,13 @@ defaults:
|
||||
|
||||
jobs:
|
||||
helm-package:
|
||||
runs-on: ubuntu-20.04
|
||||
runs-on: ubuntu-latest
|
||||
env:
|
||||
HELM_REPO_URL: https://tip.jfrog.io/artifactory/tip-wlan-cloud-ucentral-helm/
|
||||
HELM_REPO_USERNAME: ucentral
|
||||
steps:
|
||||
- name: Checkout uCentral assembly chart repo
|
||||
uses: actions/checkout@v3
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
path: wlan-cloud-ucentral-deploy
|
||||
repository: Telecominfraproject/wlan-cloud-ucentral-deploy
|
||||
@@ -42,9 +42,7 @@ jobs:
|
||||
- name: Build package
|
||||
working-directory: wlan-cloud-ucentral-deploy/chart
|
||||
run: |
|
||||
helm plugin install https://github.com/aslafy-z/helm-git --version 0.10.0
|
||||
helm repo add bitnami https://charts.bitnami.com/bitnami
|
||||
helm repo update
|
||||
helm plugin install https://github.com/aslafy-z/helm-git --version 0.16.0
|
||||
helm dependency update
|
||||
mkdir dist
|
||||
helm package . -d dist
|
||||
@@ -70,7 +68,7 @@ jobs:
|
||||
cat Chart.yaml | yq -r '.dependencies[] | "\(.name) - \(.repository) v\(.version)"' >> release.txt
|
||||
|
||||
- name: Create GitHub release
|
||||
uses: softprops/action-gh-release@v1
|
||||
uses: softprops/action-gh-release@v2
|
||||
with:
|
||||
body_path: wlan-cloud-ucentral-deploy/chart/release.txt
|
||||
files: wlan-cloud-ucentral-deploy/chart/dist/*
|
||||
@@ -80,7 +78,7 @@ jobs:
|
||||
needs: helm-package
|
||||
steps:
|
||||
- name: Trigger testing of release
|
||||
uses: peter-evans/repository-dispatch@v1
|
||||
uses: peter-evans/repository-dispatch@v3
|
||||
with:
|
||||
token: ${{ secrets.WLAN_TESTING_PAT }}
|
||||
repository: Telecominfraproject/wlan-testing
|
||||
|
||||
2
cgw/.sops.yaml
Normal file
2
cgw/.sops.yaml
Normal file
@@ -0,0 +1,2 @@
|
||||
creation_rules:
|
||||
- kms: 'arn:aws:kms:us-east-2:289708231103:alias/helm-secrets'
|
||||
35
cgw/README.md
Normal file
35
cgw/README.md
Normal file
@@ -0,0 +1,35 @@
|
||||
# CGW Charts
|
||||
|
||||
## Pre-requisites
|
||||
|
||||
The following binaries are needed:
|
||||
- [helmfile](https://github.com/helmfile/helmfile/releases/download/v0.165.0/helmfile_0.165.0_linux_amd64.tar.gz)
|
||||
- helm
|
||||
- kubectl
|
||||
|
||||
The following helm plugins are needed:
|
||||
```bash
|
||||
helm plugin install https://github.com/aslafy-z/helm-git --version 0.16.0
|
||||
helm plugin install https://github.com/databus23/helm-diff
|
||||
helm plugin install https://github.com/jkroepke/helm-secrets
|
||||
```
|
||||
|
||||
## Configuration
|
||||
|
||||
_helmfile.yaml_ contains the configuration for all the environments. External values files are used for secrets or where appropriate. Each environment needs to be created in this file before it can be deployed. The files in ./secrets/ are encrypted with SOPS. Use `helm secrets edit secrets/FILE` to edit.
|
||||
|
||||
## Installation
|
||||
|
||||
To install the entire stack: `helm --environment ENVNAME apply`.
|
||||
To install just cgw: `helm --environment ENVNAME -l app=cgw apply`.
|
||||
To install just cgw with a specific image tag: `helm --environment ENVNAME -l app=cgw apply --state-values-set "cgw.tag=latest"`.
|
||||
|
||||
## Removal
|
||||
|
||||
To remove the entire stack: `helm --environment ENVNAME delete`.
|
||||
To remove just cgw: `helm --environment ENVNAME -l app=cgw delete`.
|
||||
Delete the namespace manually if it is no longer required.
|
||||
|
||||
# Re-installation
|
||||
|
||||
Note that the kafka, postgres and redis charts do not want to be reinstalled so will have to be removed and installed. If you wish to upgrade these then you must follow the respective Bitnami instructions on how to upgrade these charts.
|
||||
211
cgw/helmfile.yaml
Normal file
211
cgw/helmfile.yaml
Normal file
@@ -0,0 +1,211 @@
|
||||
environments:
|
||||
default:
|
||||
secrets:
|
||||
- secrets/values.postgres.yaml
|
||||
- secrets/certs.tip.yaml
|
||||
values:
|
||||
- global:
|
||||
name: devcgw
|
||||
namespace: openwifi-devcgw
|
||||
domain: cicd.lab.wlan.tip.build
|
||||
certificateARN: arn:aws:acm:us-east-2:289708231103:certificate/299d7444-acc4-46c2-ae83-40d2cd5f49be
|
||||
- kafka:
|
||||
enabled: true
|
||||
- redis:
|
||||
enabled: true
|
||||
- postgres:
|
||||
enabled: true
|
||||
- cgw:
|
||||
enabled: true
|
||||
tag: next
|
||||
cgw01:
|
||||
secrets:
|
||||
- secrets/values.postgres.yaml
|
||||
- secrets/certs.tip.yaml
|
||||
values:
|
||||
- global:
|
||||
name: cgw01
|
||||
namespace: openlan-cgw01
|
||||
domain: cicd.lab.wlan.tip.build
|
||||
certificateARN: arn:aws:acm:ap-south-1:289708231103:certificate/2cc8c764-11fd-411d-bf7d-a93f488f3f6c
|
||||
- kafka:
|
||||
enabled: true
|
||||
- redis:
|
||||
enabled: true
|
||||
- postgres:
|
||||
enabled: true
|
||||
- cgw:
|
||||
enabled: true
|
||||
tag: next
|
||||
|
||||
---
|
||||
|
||||
helmDefaults:
|
||||
force: false
|
||||
timeout: 300
|
||||
createNamespace: true
|
||||
|
||||
releases:
|
||||
- name: kafka
|
||||
version: 28.3.0
|
||||
namespace: {{ .Environment.Values.global.namespace }}
|
||||
condition: kafka.enabled
|
||||
chart: oci://registry-1.docker.io/bitnamicharts/kafka
|
||||
labels:
|
||||
group: base
|
||||
app: kafka
|
||||
values:
|
||||
- fullnameOverride: kafka
|
||||
- volumePermissions:
|
||||
enabled: true
|
||||
- commonAnnotations:
|
||||
cluster-autoscaler.kubernetes.io/safe-to-evict: "false"
|
||||
- readinessProbe:
|
||||
initialDelaySeconds: 45
|
||||
- livenessProbe:
|
||||
initialDelaySeconds: 60
|
||||
- heapOpts: -Xmx1024m -Xms1024m
|
||||
- kraft:
|
||||
enabled: true
|
||||
- zookeeper:
|
||||
enabled: false
|
||||
- provisioning:
|
||||
enabled: true
|
||||
topics:
|
||||
- name: CnC
|
||||
partitions: 1
|
||||
replicationFactor: 1
|
||||
- name: CnC_Res
|
||||
partitions: 1
|
||||
replicationFactor: 1
|
||||
- controller:
|
||||
replicaCount: 1
|
||||
extraConfig: |-
|
||||
maxMessageBytes = 1048588
|
||||
extraEnvVars:
|
||||
- name: ALLOW_PLAINTEXT_LISTENER
|
||||
value: "yes"
|
||||
resources:
|
||||
requests:
|
||||
cpu: 500m
|
||||
memory: 512Mi
|
||||
limits:
|
||||
cpu: 750m
|
||||
memory: 2Gi
|
||||
- listeners:
|
||||
client:
|
||||
protocol: PLAINTEXT
|
||||
containerPort: 9092
|
||||
controller:
|
||||
protocol: "PLAINTEXT"
|
||||
- broker:
|
||||
replicaCount: 2
|
||||
persistence:
|
||||
size: 20Gi
|
||||
resources:
|
||||
requests:
|
||||
cpu: 500m
|
||||
memory: 512Mi
|
||||
limits:
|
||||
cpu: 750m
|
||||
memory: 2Gi
|
||||
|
||||
- name: postgres
|
||||
namespace: {{ .Environment.Values.global.namespace }}
|
||||
chart: oci://registry-1.docker.io/bitnamicharts/postgresql
|
||||
version: 13.4.3
|
||||
condition: postgres.enabled
|
||||
labels:
|
||||
group: base
|
||||
app: postgres
|
||||
values:
|
||||
- fullnameOverride: pgsql
|
||||
# workaround for: postgresql.conf file not detected. Generating it...
|
||||
# cp: cannot create regular file '/bitnami/postgresql/conf/postgresql.conf': Permission denied
|
||||
- volumePermissions:
|
||||
enabled: true
|
||||
- global:
|
||||
postgresql:
|
||||
auth:
|
||||
postgresPassword: {{ .Environment.Values.postgres.pgUser.password }}
|
||||
- auth:
|
||||
postgresPassword: {{ .Environment.Values.postgres.pgUser.password }}
|
||||
- primary:
|
||||
extendedConfiguration: |-
|
||||
max_connections = 550
|
||||
shared_buffers = 128MB
|
||||
log_error_verbosity = verbose
|
||||
tcp_keepalives_idle = 300
|
||||
tcp_keepalives_interval = 30
|
||||
tcp_user_timeout = 300
|
||||
initdb:
|
||||
scripts:
|
||||
initusers.sql: |-
|
||||
CREATE USER {{ .Environment.Values.postgres.cgwUser.name }};
|
||||
ALTER USER cgw WITH ENCRYPTED PASSWORD '{{ .Environment.Values.postgres.cgwUser.password }}';
|
||||
CREATE DATABASE cgw OWNER {{ .Environment.Values.postgres.cgwUser.name }};
|
||||
\c cgw
|
||||
CREATE TABLE infrastructure_groups (id INT PRIMARY KEY, reserved_size INT, actual_size INT);
|
||||
CREATE TABLE infras (mac MACADDR PRIMARY KEY, infra_group_id INT, FOREIGN KEY(infra_group_id) REFERENCES infrastructure_groups(id) ON DELETE CASCADE);
|
||||
|
||||
- name: redis
|
||||
namespace: {{ .Environment.Values.global.namespace }}
|
||||
chart: oci://registry-1.docker.io/bitnamicharts/redis
|
||||
version: 19.5.2
|
||||
condition: redis.enabled
|
||||
labels:
|
||||
group: base
|
||||
app: redis
|
||||
values:
|
||||
- architecture: standalone
|
||||
- auth:
|
||||
enabled: false
|
||||
- master:
|
||||
extraEnvVars:
|
||||
- name: ALLOW_EMPTY_PASSWORD
|
||||
value: "yes"
|
||||
|
||||
- name: cgw
|
||||
namespace: {{ .Environment.Values.global.namespace }}
|
||||
#chart: ../../openlan-cgw/helm
|
||||
chart: "git+https://github.com/Telecominfraproject/openlan-cgw@helm?ref=next"
|
||||
version: 0.1.0
|
||||
condition: cgw.enabled
|
||||
labels:
|
||||
group: apps
|
||||
app: cgw
|
||||
secrets:
|
||||
- secrets/certs.tip.yaml
|
||||
values:
|
||||
- images:
|
||||
cgw:
|
||||
tag: {{ .Environment.Values.cgw.tag }}
|
||||
- public_env_variables:
|
||||
CGW_DB_HOST: pgsql
|
||||
CGW_DB_PORT: "5432"
|
||||
CGW_DB_USERNAME: "{{ .Environment.Values.postgres.cgwUser.name }}"
|
||||
CGW_KAFKA_HOST: kafka
|
||||
CGW_KAFKA_PORT: "9092"
|
||||
CGW_REDIS_HOST: redis-master
|
||||
CGW_REDIS_PORT: "6379"
|
||||
CGW_ALLOW_CERT_MISMATCH: "yes"
|
||||
# use (#cpus * 2) - 2
|
||||
DEFAULT_WSS_THREAD_NUM: "4"
|
||||
# Useful for debugging:
|
||||
#CGW_LOG_LEVEL: "debug"
|
||||
#RUST_BACKTRACE: "full"
|
||||
- secret_env_variables:
|
||||
CGW_DB_PASSWORD: "{{ .Environment.Values.postgres.cgwUser.password }}"
|
||||
- services:
|
||||
cgw:
|
||||
type: LoadBalancer
|
||||
annotations:
|
||||
external-dns.alpha.kubernetes.io/hostname: cgw-{{ .Environment.Values.global.name }}.{{ .Environment.Values.global.domain }}
|
||||
#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-backend-protocol: ssl
|
||||
service.beta.kubernetes.io/aws-load-balancer-ssl-cert: {{ .Environment.Values.global.certificateARN }}
|
||||
service.beta.kubernetes.io/aws-load-balancer-healthcheck-port: "15003"
|
||||
service.beta.kubernetes.io/aws-load-balancer-target-group-attributes: preserve_client_ip.enabled=true
|
||||
service.beta.kubernetes.io/aws-load-balancer-ssl-ports: "16002"
|
||||
alb.ingress.kubernetes.io/healthcheck-path: /health
|
||||
20
cgw/secrets/certs.tip.yaml
Normal file
20
cgw/secrets/certs.tip.yaml
Normal file
File diff suppressed because one or more lines are too long
21
cgw/secrets/values.postgres.yaml
Normal file
21
cgw/secrets/values.postgres.yaml
Normal file
@@ -0,0 +1,21 @@
|
||||
postgres:
|
||||
pgUser:
|
||||
password: ENC[AES256_GCM,data:QHV7Y5Jfes4=,iv:QTs0fu7behn1g2CLheoJROFHNYvN6OpS/vcQQC0NrMs=,tag:PeaRcoDsOrEjDN9KgHUEPA==,type:str]
|
||||
cgwUser:
|
||||
name: ENC[AES256_GCM,data:g6J6,iv:H4HxE5orLFXZFDDVD2tAS0PkOqNJ9j6SNu1ief7Snk0=,tag:Tuj9yjBcJzZBBZRtwAY33w==,type:str]
|
||||
password: ENC[AES256_GCM,data:5K0f,iv:+g61dhYOOTbr8TwnwwLHgW17R+6zXpQT2PfgjvofvlI=,tag:1nSVXgkTC41d1AnDDE19Hg==,type:int]
|
||||
sops:
|
||||
kms:
|
||||
- arn: arn:aws:kms:us-east-2:289708231103:alias/helm-secrets
|
||||
created_at: "2024-06-12T13:45:13Z"
|
||||
enc: AQICAHiG/4CitJjM31GdYxTw9OLz/Zs5oK+DCq0cU2fAjtAA3AEPrxIAaT+xE4C1IFYmWvmkAAAAfjB8BgkqhkiG9w0BBwagbzBtAgEAMGgGCSqGSIb3DQEHATAeBglghkgBZQMEAS4wEQQMrFaPNxf0atKVKnFsAgEQgDu8uqj035qrcelG0Dq4/Ond4H5bmpUHNRVEj0C8BFxg+a4R3loIk4NBeyuA0yqC0cQeWnA5e+/SjVtGAA==
|
||||
aws_profile: ""
|
||||
gcp_kms: []
|
||||
azure_kv: []
|
||||
hc_vault: []
|
||||
age: []
|
||||
lastmodified: "2024-06-25T17:29:15Z"
|
||||
mac: ENC[AES256_GCM,data:gbXt2MRhlx9zGcm9ZvXjWuwSPh/QHkNngGx0j0UQ61jZTINRh4ZgERuUj7Vpo1tg/blIFWbl768wB89RAGq3n1C4AcQpX3xvC33QyCT0i4pitQmnec9RnJL0L197mioOikPxl8z56WE1014EV+Vvbk7rf1CQkqrrEIJINoqSdfE=,iv:ThbvKhY0fsaXJz9rORnvxY64vMWyM/IOgSI+kuFFbAQ=,tag:fSF4tdyf3wc5+uIfoYLc5g==,type:str]
|
||||
pgp: []
|
||||
unencrypted_suffix: _unencrypted
|
||||
version: 3.8.1
|
||||
@@ -31,10 +31,6 @@ dependencies:
|
||||
- name: owrrm
|
||||
repository: "git+https://github.com/Telecominfraproject/wlan-cloud-rrm@helm?ref=main"
|
||||
version: 0.1.0
|
||||
- name: kafka
|
||||
repository: https://tip.jfrog.io/artifactory/tip-wlan-cloud-ucentral-helm/
|
||||
version: 13.0.2
|
||||
condition: kafka.enabled
|
||||
- name: owls
|
||||
repository: "git+https://github.com/Telecominfraproject/wlan-cloud-owls@helm?ref=main"
|
||||
version: 0.1.0
|
||||
@@ -43,14 +39,14 @@ dependencies:
|
||||
repository: "git+https://github.com/Telecominfraproject/wlan-cloud-owls-ui@helm?ref=master"
|
||||
version: 0.1.0
|
||||
condition: owlsui.enabled
|
||||
- name: kafka
|
||||
repository: oci://registry-1.docker.io/bitnamicharts
|
||||
version: 28.2.3
|
||||
condition: kafka.enabled
|
||||
- name: haproxy
|
||||
repository: oci://registry-1.docker.io/bitnamicharts
|
||||
version: 0.13.3
|
||||
condition: haproxy.enabled
|
||||
#- name: postgresql-ha
|
||||
# repository: https://tip.jfrog.io/artifactory/tip-wlan-cloud-ucentral-helm/
|
||||
# version: 8.6.13
|
||||
# condition: postgresql-ha.enabled
|
||||
- name: postgresql
|
||||
repository: oci://registry-1.docker.io/bitnamicharts
|
||||
version: 13.4.3
|
||||
|
||||
3
chart/environment-values/.gitignore
vendored
Normal file
3
chart/environment-values/.gitignore
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
_values.custom-*.yaml
|
||||
certs/
|
||||
env_*
|
||||
@@ -1,6 +1,15 @@
|
||||
#!/bin/bash
|
||||
[ -z "$NAMESPACE" ] && echo "No NAMESPACE set" && exit 1
|
||||
helm -n openwifi-"$NAMESPACE" delete tip-openwifi
|
||||
sleep 30
|
||||
kubectl delete ns openwifi-"$NAMESPACE"
|
||||
exit 0
|
||||
ns="openwifi-$NAMESPACE"
|
||||
echo "Cleaning up namespace $ns in 10 seconds..."
|
||||
sleep 10
|
||||
echo "- delete tip-openwifi helm release in $ns"
|
||||
helm -n "$ns" delete tip-openwifi
|
||||
if [[ "$1" == "full" ]] ; then
|
||||
echo "- delete $ns namespace in 30 seconds..."
|
||||
sleep 30
|
||||
echo "- delete $ns namespace"
|
||||
kubectl delete ns "$ns"
|
||||
fi
|
||||
echo "- cleaned up $ns namespace"
|
||||
exit 0
|
||||
|
||||
@@ -108,7 +108,7 @@ export OWRRM_VERSION_TAG=$(echo ${OWRRM_VERSION} | tr '/' '-')
|
||||
# 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
|
||||
helm plugin list | grep "^helm-git" || helm plugin install https://github.com/aslafy-z/helm-git || true
|
||||
rm -rf wlan-cloud-ucentral-deploy || true
|
||||
git clone https://github.com/Telecominfraproject/wlan-cloud-ucentral-deploy.git
|
||||
cd wlan-cloud-ucentral-deploy
|
||||
@@ -125,8 +125,7 @@ if [[ "$DEPLOY_METHOD" == "git" ]] ; then
|
||||
sed -i '/wlan-cloud-userportal@/s/ref=.*/ref='${OWSUB_VERSION}'\"/g' Chart.yaml
|
||||
sed -i '/wlan-cloud-rrm@/s/ref=.*/ref='${OWRRM_VERSION}'\"/g' Chart.yaml
|
||||
fi
|
||||
helm repo add bitnami https://charts.bitnami.com/bitnami
|
||||
helm repo update
|
||||
#helm repo add bitnami https://charts.bitnami.com/bitnami && helm repo update
|
||||
[ -z "$SKIP_DEPS" ] && helm dependency update
|
||||
cd ../..
|
||||
export DEPLOY_SOURCE="wlan-cloud-ucentral-deploy/chart"
|
||||
@@ -162,14 +161,13 @@ else
|
||||
export OWGW_SERVICE_DNS_RECORDS=""
|
||||
fi
|
||||
|
||||
envsubst < values.custom.tpl.yaml > values.custom-${NAMESPACE}.yaml
|
||||
envsubst < values.custom.tpl.yaml > _values.custom-${NAMESPACE}.yaml
|
||||
|
||||
set -x
|
||||
helm upgrade --install --create-namespace --wait --timeout 60m \
|
||||
--namespace openwifi-${NAMESPACE} \
|
||||
${VALUES_FILES_FLAGS[*]} \
|
||||
${EXTRA_VALUES_FLAGS[*]} \
|
||||
-f values.custom-${NAMESPACE}.yaml \
|
||||
-f _values.custom-${NAMESPACE}.yaml \
|
||||
--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 \
|
||||
|
||||
@@ -77,10 +77,33 @@ owprovui:
|
||||
REACT_APP_UCENTRALSEC_URL: http://localhost:16001
|
||||
|
||||
kafka:
|
||||
heapOpts: -Xmx512m -Xms512m
|
||||
volumePermissions:
|
||||
enabled: true
|
||||
commonAnnotations:
|
||||
cluster-autoscaler.kubernetes.io/safe-to-evict: "false"
|
||||
readinessProbe:
|
||||
initialDelaySeconds: 45
|
||||
livenessProbe:
|
||||
initialDelaySeconds: 60
|
||||
kraft:
|
||||
enabled: true
|
||||
heapOpts: -Xmx1024m -Xms1024m
|
||||
zookeeper:
|
||||
heapSize: 256
|
||||
enabled: false
|
||||
controller:
|
||||
replicaCount: 1
|
||||
extraConfig: |-
|
||||
maxMessageBytes = 1048588
|
||||
extraEnvVars:
|
||||
- name: ALLOW_PLAINTEXT_LISTENER
|
||||
value: "yes"
|
||||
listeners:
|
||||
client:
|
||||
protocol: PLAINTEXT
|
||||
containerPort: 9092
|
||||
controller:
|
||||
protocol: "PLAINTEXT"
|
||||
broker:
|
||||
persistence:
|
||||
size: 20Gi
|
||||
replicaCount: 2
|
||||
|
||||
@@ -323,13 +323,43 @@ owprovui:
|
||||
REACT_APP_UCENTRALSEC_URL: https://localhost:16001
|
||||
|
||||
kafka:
|
||||
heapOpts: -Xmx512m -Xms512m
|
||||
volumePermissions:
|
||||
enabled: true
|
||||
commonAnnotations:
|
||||
cluster-autoscaler.kubernetes.io/safe-to-evict: "false"
|
||||
#resources:
|
||||
# requests:
|
||||
# cpu: 100m
|
||||
# memory: 512Mi
|
||||
# limits:
|
||||
# cpu: 500m
|
||||
# memory: 1Gi
|
||||
readinessProbe:
|
||||
initialDelaySeconds: 45
|
||||
livenessProbe:
|
||||
initialDelaySeconds: 60
|
||||
kraft:
|
||||
enabled: true
|
||||
heapOpts: -Xmx1024m -Xms1024m
|
||||
zookeeper:
|
||||
heapSize: 256
|
||||
enabled: false
|
||||
controller:
|
||||
replicaCount: 1
|
||||
extraConfig: |-
|
||||
maxMessageBytes = 1048588
|
||||
extraEnvVars:
|
||||
- name: ALLOW_PLAINTEXT_LISTENER
|
||||
value: "yes"
|
||||
listeners:
|
||||
client:
|
||||
protocol: PLAINTEXT
|
||||
containerPort: 9092
|
||||
controller:
|
||||
protocol: "PLAINTEXT"
|
||||
broker:
|
||||
persistence:
|
||||
size: 20Gi
|
||||
replicaCount: 2
|
||||
|
||||
restapiCerts:
|
||||
enabled: true
|
||||
|
||||
22
chart/environment-values/values.openwifi-dev03.yaml
Normal file
22
chart/environment-values/values.openwifi-dev03.yaml
Normal file
@@ -0,0 +1,22 @@
|
||||
owgwui:
|
||||
ingresses:
|
||||
default:
|
||||
annotations:
|
||||
alb.ingress.kubernetes.io/certificate-arn: arn:aws:acm:us-east-2:289708231103:certificate/299d7444-acc4-46c2-ae83-40d2cd5f49be
|
||||
|
||||
owprovui:
|
||||
ingresses:
|
||||
default:
|
||||
annotations:
|
||||
alb.ingress.kubernetes.io/certificate-arn: arn:aws:acm:us-east-2:289708231103:certificate/299d7444-acc4-46c2-ae83-40d2cd5f49be
|
||||
|
||||
owrrm:
|
||||
services:
|
||||
owrrm:
|
||||
annotations:
|
||||
service.beta.kubernetes.io/aws-load-balancer-ssl-cert: arn:aws:acm:us-east-2:289708231103:certificate/299d7444-acc4-46c2-ae83-40d2cd5f49be
|
||||
|
||||
haproxy:
|
||||
service:
|
||||
annotations:
|
||||
service.beta.kubernetes.io/aws-load-balancer-ssl-cert: arn:aws:acm:us-east-2:289708231103:certificate/299d7444-acc4-46c2-ae83-40d2cd5f49be
|
||||
@@ -0,0 +1,7 @@
|
||||
owgw:
|
||||
configProperties:
|
||||
radius.proxy.enable: "false"
|
||||
radius.proxy.accounting.port: 1813
|
||||
radius.proxy.authentication.port: 1812
|
||||
radius.proxy.coa.port: 3799
|
||||
radsec.keepalive: 120
|
||||
@@ -12,25 +12,43 @@ owgw:
|
||||
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
|
||||
openwifi.certificates.allowmismatch: "true"
|
||||
# done by default for owgw now:
|
||||
#simulatorid: 53494D020202
|
||||
# on a host with more CPUs you may need to bump this up from default of 64
|
||||
storage.type.postgresql.maxsessions: 120
|
||||
# this actually disables websocket logging:
|
||||
logging.websocket: true
|
||||
# consider lowering the # of days to keep archives in the database
|
||||
#archiver.db.0.name = healthchecks
|
||||
#archiver.db.0.keep = 1
|
||||
#archiver.db.1.name = statistics
|
||||
#archiver.db.1.keep = 1
|
||||
#archiver.db.2.name = devicelogs
|
||||
#archiver.db.2.keep = 1
|
||||
#archiver.db.3.name = commandlist
|
||||
#archiver.db.3.keep = 1
|
||||
|
||||
resources:
|
||||
requests:
|
||||
cpu: 2000m
|
||||
memory: 3000Mi
|
||||
memory: 3Gi
|
||||
limits:
|
||||
cpu: 2000m
|
||||
memory: 3000Mi
|
||||
memory: 5Gi
|
||||
|
||||
postgresql:
|
||||
enabled: true
|
||||
fullnameOverride: owgw-pgsql
|
||||
postgresqlDatabase: owgw
|
||||
postgresqlUsername: owgw
|
||||
postgresqlPassword: owgw
|
||||
# Postgres tuning for larger # of APs
|
||||
#postgresql:
|
||||
# primary:
|
||||
# resourcesPreset: large
|
||||
# persistence:
|
||||
# size: 120Gi
|
||||
|
||||
owprov:
|
||||
# consider providing more memory to owprov
|
||||
resources:
|
||||
requests:
|
||||
cpu: 10m
|
||||
memory: 20Mi
|
||||
limits:
|
||||
cpu: 100m
|
||||
memory: 4Gi
|
||||
|
||||
@@ -61,12 +61,16 @@ postgresql:
|
||||
auth:
|
||||
postgresPassword: postgres
|
||||
primary:
|
||||
# Consider using this resource model for small installations
|
||||
#resourcesPreset: medium
|
||||
extendedConfiguration: |-
|
||||
max_connections = 550
|
||||
shared_buffers = 128MB
|
||||
# log_error_verbosity = verbose
|
||||
initdb:
|
||||
scriptsSecret: tip-openwifi-initdb-scripts
|
||||
# Consider using this disk size for small installations
|
||||
#persistence:
|
||||
# size: 30Gi
|
||||
|
||||
postgresql-ha:
|
||||
enabled: false
|
||||
|
||||
@@ -357,7 +357,6 @@ owgwui:
|
||||
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:ap-south-1:289708231103:certificate/2cc8c764-11fd-411d-bf7d-a93f488f3f6c
|
||||
@@ -565,7 +564,6 @@ owprovui:
|
||||
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:ap-south-1:289708231103:certificate/2cc8c764-11fd-411d-bf7d-a93f488f3f6c
|
||||
@@ -813,31 +811,50 @@ owrrm:
|
||||
memory: 512Mi
|
||||
|
||||
kafka:
|
||||
volumePermissions:
|
||||
enabled: true
|
||||
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
|
||||
heapOpts: -Xmx1024m -Xms1024m
|
||||
kraft:
|
||||
enabled: true
|
||||
zookeeper:
|
||||
commonAnnotations:
|
||||
cluster-autoscaler.kubernetes.io/safe-to-evict: "false"
|
||||
heapSize: 256
|
||||
enabled: false
|
||||
controller:
|
||||
replicaCount: 1
|
||||
extraConfig: |-
|
||||
maxMessageBytes = 1048588
|
||||
extraEnvVars:
|
||||
- name: ALLOW_PLAINTEXT_LISTENER
|
||||
value: "yes"
|
||||
resources:
|
||||
requests:
|
||||
cpu: 100m
|
||||
memory: 256Mi
|
||||
cpu: 500m
|
||||
memory: 512Mi
|
||||
limits:
|
||||
cpu: 200m
|
||||
memory: 384Mi
|
||||
cpu: 750m
|
||||
memory: 2Gi
|
||||
listeners:
|
||||
client:
|
||||
protocol: PLAINTEXT
|
||||
containerPort: 9092
|
||||
controller:
|
||||
protocol: "PLAINTEXT"
|
||||
broker:
|
||||
persistence:
|
||||
size: 20Gi
|
||||
replicaCount: 2
|
||||
resources:
|
||||
requests:
|
||||
cpu: 500m
|
||||
memory: 512Mi
|
||||
limits:
|
||||
cpu: 750m
|
||||
memory: 2Gi
|
||||
|
||||
clustersysteminfo:
|
||||
enabled: true
|
||||
@@ -846,11 +863,11 @@ clustersysteminfo:
|
||||
haproxy:
|
||||
resources:
|
||||
requests:
|
||||
cpu: 10m
|
||||
memory: 20Mi
|
||||
cpu: 50m
|
||||
memory: 50Mi
|
||||
limits:
|
||||
cpu: 10m
|
||||
memory: 20Mi
|
||||
cpu: 50m
|
||||
memory: 50Mi
|
||||
service:
|
||||
annotations:
|
||||
service.beta.kubernetes.io/aws-load-balancer-backend-protocol: ssl
|
||||
|
||||
29
chart/environment-values/values.openwifi-qa03.yaml
Normal file
29
chart/environment-values/values.openwifi-qa03.yaml
Normal file
@@ -0,0 +1,29 @@
|
||||
|
||||
owgw:
|
||||
services:
|
||||
owgw:
|
||||
annotations:
|
||||
service.beta.kubernetes.io/aws-load-balancer-ssl-cert: arn:aws:acm:us-east-2:289708231103:certificate/299d7444-acc4-46c2-ae83-40d2cd5f49be
|
||||
|
||||
owgwui:
|
||||
ingresses:
|
||||
default:
|
||||
annotations:
|
||||
alb.ingress.kubernetes.io/certificate-arn: arn:aws:acm:us-east-2:289708231103:certificate/299d7444-acc4-46c2-ae83-40d2cd5f49be
|
||||
|
||||
owprovui:
|
||||
ingresses:
|
||||
default:
|
||||
annotations:
|
||||
alb.ingress.kubernetes.io/certificate-arn: arn:aws:acm:us-east-2:289708231103:certificate/299d7444-acc4-46c2-ae83-40d2cd5f49be
|
||||
|
||||
owrrm:
|
||||
services:
|
||||
owrrm:
|
||||
annotations:
|
||||
service.beta.kubernetes.io/aws-load-balancer-ssl-cert: arn:aws:acm:us-east-2:289708231103:certificate/299d7444-acc4-46c2-ae83-40d2cd5f49be
|
||||
|
||||
haproxy:
|
||||
service:
|
||||
annotations:
|
||||
service.beta.kubernetes.io/aws-load-balancer-ssl-cert: arn:aws:acm:us-east-2:289708231103:certificate/299d7444-acc4-46c2-ae83-40d2cd5f49be
|
||||
@@ -58,13 +58,6 @@ owrrm:
|
||||
kafka:
|
||||
enabled: true
|
||||
fullnameOverride: kafka
|
||||
image:
|
||||
registry: docker.io
|
||||
repository: bitnami/kafka
|
||||
tag: 2.8.0-debian-10-r43
|
||||
minBrokerId: 100
|
||||
zookeeper:
|
||||
fullnameOverride: zookeeper
|
||||
|
||||
# clustersysteminfo check
|
||||
clustersysteminfo:
|
||||
|
||||
Reference in New Issue
Block a user