Compare commits

..

46 Commits

Author SHA1 Message Date
Max Brenner
ef1d54cbea fix Ingress capabilities check
Signed-off-by: Max Brenner <xamrennerb@gmail.com>
2021-06-14 11:29:48 +02:00
AkshayJagadish-ne
d8544d52f0 Merge pull request #78 from Telecominfraproject/WIFI-2434
WIFI 2434: Update SDK master to use image tag 1.2.0-SNAPSHOT
2021-05-28 11:52:22 -04:00
Akshay Jagadish
8d750222fa Merge branch 'WIFI-2434' of https://github.com/Telecominfraproject/wlan-cloud-helm into WIFI-2434 2021-05-28 11:21:38 -04:00
Akshay Jagadish
402abf4876 Update SDK master to use image tag 1.2.0-SNAPSHOT 2021-05-28 11:07:21 -04:00
Akshay Jagadish
0f9d28113a Update SDK master to use image tag 1.2.0-SNAPSHOT 2021-05-28 11:07:21 -04:00
Max
02c8dbc94c make all container images configurable (#67)
* make all container images configurable and default to tip-docker-cache-repo.jfrog.io registry
2021-05-27 13:39:24 +02:00
Akshay Jagadish
a13323f4ca Update SDK master to use image tag 1.2.0-SNAPSHOT 2021-05-26 18:54:29 -04:00
Akshay Jagadish
e492e51ae8 Update SDK master to use image tag 1.2.0-SNAPSHOT 2021-05-26 18:51:08 -04:00
Dmitry Dunaev
a4659451c1 Merge pull request #77 from Telecominfraproject/feature/aws-internal-example
Add: values for AWS internal setup [TOOLS-136]
2021-05-12 14:16:33 +03:00
Dmitry Dunaev
884d9411da Add: values for AWS internal setup [TOOLS-136] 2021-05-12 12:16:14 +02:00
Max
deb12d9d24 add AWS EKS values file (#76) 2021-04-26 16:06:09 +02:00
Max
7f0da5969d WIFI-1998 support newer api versions (#74)
* migrate to newer Ingress API versions
* add changelog entry
2021-04-26 16:05:58 +02:00
norm-traxler
c73350c535 Merge pull request #75 from Telecominfraproject/WIFI-2026
WIFI-2026 Change docker tags from 0.0.1-SNAPSHOT to 1.1.0-SNAPSHOT
2021-04-16 17:09:28 -04:00
Akshay Jagadish
f253034335 WIFI-2026 Change docker tags from 0.0.1-SNAPSHOT to 1.1.0-SNAPSHOT 2021-04-16 16:12:00 -04:00
Max
f85004ffc4 add post deployment notes (#73) 2021-04-13 12:06:10 +02:00
Max Brenner
d5af204c09 rebase v1.0.1 changelog entries 2021-04-13 10:52:58 +02:00
Max Brenner
ca70570de7 rebase v1.0.0 changelog 2021-04-01 13:52:16 +02:00
Max
d0a504a7c2 automate Helm chart release process (#69)
* automate Helm chart release process
2021-03-24 14:37:08 +01:00
norm-traxler
0d9e6e0afc Merge pull request #70 from Telecominfraproject/WIFI-1724-cassandra-reconnect
[WIFI-1724] SSC reconnect to cassandra after cassandra pod restart
2021-03-23 12:14:55 -04:00
Norm Traxler
af22e767b5 [WIFI-1724] SSC reconnect to cassandra after cassandra pod restart 2021-03-22 15:57:33 -04:00
Dmitry Toptygin
63e784482f WIFI-1877 - add topics in kafka where messages are partitioned by locationId - location_metrics and location_events 2021-03-22 12:34:36 -04:00
AkshayJagadish-ne
9a532cf290 Merge pull request #68 from Telecominfraproject/WIFI-1812-Revert
Changed FE image tag back to 0.0.1-SNAPSHOT
2021-03-19 10:41:40 -04:00
Akshay Jagadish
7c1dd0f5b8 Changed FE image tag back to 0.0.1-SNAPSHOT 2021-03-19 09:51:13 -04:00
AkshayJagadish-ne
724ab141dc Merge pull request #66 from Telecominfraproject/WIFI-1812
WIFI-1812: Change the front-end image tags
2021-03-15 19:06:36 -04:00
Akshay Jagadish
0fb7b37c2c WIFI-1812: Change the front-end image tags 2021-03-15 18:45:54 -04:00
Max
5e68d20255 add exporting of servo beans (#65)
* add exporting of servo beans
* add changelog entry
2021-03-08 13:59:23 +01:00
Gleb Boushev
fa533dde56 Update statefulset.yaml (#64)
work around the imagepullbackoff issue on updates
2021-03-03 14:07:42 +03:00
yongchen-cu
0060ce09ac Merge pull request #61 from Telecominfraproject/WIFI-1319-SslIssue
Wifi 1319 ssl issue
2021-02-22 14:32:54 -05:00
yongchen-cu
8670131e21 Merge pull request #62 from Telecominfraproject/WIFI-1610
WIFI-1610: Changed tag of FE components from latest to 0.0.1-SNAPSHOT
2021-02-22 14:24:33 -05:00
Akshay Jagadish
a15f091632 WIFI-1610: Changed tag of FE components from latest to 0.0.1-SNAPSHOT 2021-02-20 17:57:55 -05:00
Rahul Sharma
b833901b14 WIFI-1319: Renaming tlsv1.3 flag 2021-02-19 22:22:26 -05:00
Rahul Sharma
f8161542cf Moving Ssl.properties out of Secret and reading it instead as a file 2021-02-19 18:36:12 -05:00
Rahul Sharma
98e29d4f21 WIFI-1319: Adding ssl.properties directly 2021-02-19 18:24:38 -05:00
Rahul Sharma
be0f3512ae WIFI-1319: Updating charts to add TLS related properties in ssl.properties.
Since these are only relevant to microK8s environment, we only enable them in it.
2021-02-19 18:04:53 -05:00
Max
de8e8897f1 WIFI-1172 add JMX to Prometheus PoC (#51)
* add JMX to Prometheus PoC

* add JMX prometheus exporter to all Java services
2021-02-19 12:12:43 -05:00
Max
43233798b2 add debug output on failure (#60) 2021-02-17 18:32:05 +01:00
Max
73eec7509a WIFI-1524 add nightly microk8s scenario test (#57)
* add nightly microk8s scenario test
* add README for microk8s setup
2021-02-16 12:47:55 +01:00
Max
f824125224 WIFI-1028 remove vendor specific default values (#40)
* remove vendor specific default values
2021-02-15 12:15:52 +01:00
Max
6b4934c451 adjust resource request/limit values (#59)
* adjust resource request/limit values
* adjust cassandra values
* adjust postgres values
2021-02-11 13:02:24 +01:00
Gleb Boushev
d4a45ad10a found an error (#58)
* found an error
2021-02-11 12:49:33 +03:00
4c74356b41
915eb1d625 WIFI-1478 - all credentials moved to globals (#54)
* all credentials moved to globals

* cassandra fix

* centralized certificates, removed unneded entities

* minor fixes, local-multi-namespace example fixes

* removing unneeded sections in the yaml files

* updates to changelog and multiple namespaces examples

* fixing last couple of services, removed not needed secrets, centralized httpclientconfig.json and ssl.properties

* minor improvements

* changelog reformatted

* fixing startupprobe and changelog

Co-authored-by: Gleb Boushev <4c74356b41@outlook.com>
2021-02-04 13:03:51 +03:00
Max
cfda82150b Create enforce-jira-issue-key.yml (#55) 2021-02-03 11:33:41 +01:00
4c74356b41
fc783ea948 Merge pull request #53 from Telecominfraproject/feature/thirdparties-fixes
fixing docker secret and fixing kafka topics
2021-01-29 16:29:22 +01:00
4c74356b41
86c29ae62c Update README.md 2021-01-29 13:13:41 +03:00
Gleb Boushev
8484fc3f87 fixing docker secret and fixing kafka topics 2021-01-29 10:52:53 +03:00
4c74356b41
a3e523f922 Feature/thirdparties (#49)
* thirdparties replaced with latest bitnami charts

* migration values example for persistence, dev-local example for thirdparties

* removing hardcoded passwords

* changing storage classes to mimic what minikube has

* fixing missing folder

* fixing PR comments, fixing testing build

* forgot to fix the namespace in the testing build

* fixing path issues

* fixing another path issue

* fixing build issues

* improving namespace support

* fixing cleanup task

* fixing yaml files

* further yaml formatting

* Update README.md

* Update testing.yml

Co-authored-by: Gleb Boushev <4c74356b41@outlook.com>
Co-authored-by: Leonid Mirsky <leonid@opsfleet.com>
2021-01-28 16:51:39 +02:00
133 changed files with 1647 additions and 2397 deletions

View File

@@ -0,0 +1,37 @@
name: Ensure Jira issue is linked
on:
pull_request:
types: [opened, edited, reopened, synchronize]
jobs:
check_for_issue_key:
runs-on: ubuntu-latest
steps:
- name: Log into Jira
uses: atlassian/gajira-login@v2.0.0
env:
JIRA_BASE_URL: ${{ secrets.TIP_JIRA_URL }}
JIRA_USER_EMAIL: ${{ secrets.TIP_JIRA_USER_EMAIL }}
JIRA_API_TOKEN: ${{ secrets.TIP_JIRA_API_TOKEN }}
- name: Find issue key in PR title
id: issue_key_pr_title
continue-on-error: true
uses: atlassian/gajira-find-issue-key@v2.0.2
with:
string: ${{ github.event.pull_request.title }}
from: "" # required workaround for bug https://github.com/atlassian/gajira-find-issue-key/issues/24
- name: Find issue key in branch name
continue-on-error: true
id: issue_key_branch_name
uses: atlassian/gajira-find-issue-key@v2.0.2
with:
string: ${{ github.event.pull_request.head.ref }}
from: "" # required workaround for bug https://github.com/atlassian/gajira-find-issue-key/issues/24
- name: Check if issue key was found
run: |
if [[ -z "${{ steps.issue_key_pr_title.outputs.issue }}" && -z "${{ steps.issue_key_branch_name.outputs.issue }}" ]]; then
echo "Jira issue key could not be found!"
exit 1
fi

View File

@@ -3,28 +3,60 @@ name: Helm CI - TIP WLAN Cloud Master
on:
push:
branches: [ master ]
tags: [ "v*" ]
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
with:
ssh-key: ${{ secrets.GH_AUTOMATION_KEY }}
submodules: true
- name: Login to TIP Docker registry
uses: azure/docker-login@v1
with:
login-server: tip-tip-wlan-cloud-docker-repo.jfrog.io
username: build-pipeline
password: ${{ secrets.DOCKER_REPO_PASSWORD }}
- name: Login to TIP Helm chart registry
run: helm repo add tip-wlan-cloud-helm-virtual-repo https://tip.jfrog.io/artifactory/tip-wlan-cloud-helm-virtual-repo --username build-pipeline --password ${{ secrets.HELM_REPO_PASSWORD }}
- name: Build tip-wlan chart file
run: tar -czf tip-wlan.tgz tip-wlan
- name: Upload tip-wlan chart to the TIP helm registry
run: curl -ubuild-pipeline:${{ secrets.HELM_REPO_PASSWORD }} -T tip-wlan.tgz "https://tip.jfrog.io/artifactory/tip-wlan-cloud-helm-repo/tip-wlan.tgz"
- name: Verify that chart was uploaded successfully
run: |
helm repo update
helm search repo tip
if [[ "${{ github.ref }}" == "refs/tags/"* ]]; then
PACKAGE_OPTS="--version ${GITHUB_REF#refs/tags/v}"
else
PACKAGE_OPTS=""
fi
helm package $PACKAGE_OPTS -u tip-wlan
- name: Store chart as artifact
uses: actions/upload-artifact@v2
with:
name: helm-chart
path: tip-wlan-*.tgz
- name: Upload tip-wlan chart to the TIP helm registry
run: |
if [[ "${{ github.ref }}" == "refs/tags/"* ]]; then
curl -ubuild-pipeline:${{ secrets.HELM_REPO_PASSWORD }} -T tip-wlan-${GITHUB_REF#refs/tags/v}.tgz "https://tip.jfrog.io/artifactory/tip-wlan-cloud-helm-repo/tip-wlan-${GITHUB_REF#refs/tags/v}.tgz"
else
curl -ubuild-pipeline:${{ secrets.HELM_REPO_PASSWORD }} -T tip-wlan-*.tgz "https://tip.jfrog.io/artifactory/tip-wlan-cloud-helm-repo/tip-wlan-master.tgz"
fi
release:
runs-on: ubuntu-latest
needs: [ build ]
if: startsWith(github.ref, 'refs/tags/')
steps:
- uses: actions/checkout@v2
- name: setup Python
uses: actions/setup-python@v2
with:
python-version: "3.8"
- name: install keepachangelog
run: pip install keepachangelog
- name: create release description
continue-on-error: true
run: python .github/workflows/prepare-release-description.py ${GITHUB_REF#refs/tags/v} > RELEASE.md
- name: download Helm chart artifact
uses: actions/download-artifact@v2
with:
name: helm-chart
- name: create release
uses: softprops/action-gh-release@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
files: tip-wlan-*.tgz
body_path: RELEASE.md
prerelease: ${{ contains(github.ref, 'rc') }}

View File

@@ -0,0 +1,98 @@
name: Nightly testing of all supported deployment scenarios
on:
workflow_dispatch:
schedule:
- cron: '15 0 * * *'
defaults:
run:
shell: bash
jobs:
microk8s:
runs-on: ubuntu-latest
steps:
- name: Checkout PKI scripts repo
uses: actions/checkout@v2
with:
path: wlan-pki-cert-scripts
repository: Telecominfraproject/wlan-pki-cert-scripts
- name: Checkout Cloud SDK repo
uses: actions/checkout@v2
with:
path: wlan-cloud-helm
repository: Telecominfraproject/wlan-cloud-helm
- name: Generate and copy certs
working-directory: wlan-pki-cert-scripts
run: |
./generate_all.sh
./copy-certs-to-helm.sh ../wlan-cloud-helm
- name: Determine public IP address
id: ip
uses: haythem/public-ip@v1.2
- uses: balchua/microk8s-actions@v0.2.1
with:
channel: 'latest/stable'
addons: '["dns", "helm3", "storage", "metallb:${{ steps.ip.outputs.ipv4 }}-${{ steps.ip.outputs.ipv4 }}"]'
- name: Deploy Cloud SDK
working-directory: wlan-cloud-helm
run: |
helm dependency update tip-wlan
# Github runners only have 2 CPU cores and 7GB of RAM. Thus we need to disable some of our resource requests
helm upgrade --install tip-wlan tip-wlan -f tip-wlan/example-values/microk8s-basic/values.yaml --create-namespace --namespace tip --set cassandra.resources=null --wait --timeout 10m
- name: Show pod state on deployment failure
if: failure()
run: |
kubectl get pods -n tip
kubectl describe pods -n tip
- name: Set custom DNS entries
run: |
sudo sh -c "echo -n \"\n${{ steps.ip.outputs.ipv4 }} wlan-ui.wlan.local wlan-ui-graphql.wlan.local\" >> /etc/hosts"
- name: Test HTTP endpoints
run: |
# this is needed to make until work
set +e
urls="https://wlan-ui.wlan.local https://wlan-ui-graphql.wlan.local/graphql"
for url in $urls; do
max_retry=300
counter=0
until curl --silent --insecure $url > /dev/null
do
sleep 1
[[ counter -eq $max_retry ]] && echo "$url not reachable after $counter tries...giving up" && exit 1
echo "#$counter: $url not reachable. trying again..."
((counter++))
done
echo Successfully reached URL $url
done
- name: Test MQTT and OpenSync endpoints
working-directory: wlan-cloud-helm/tip-wlan/resources/certs
run: |
# this is needed to make until work
set +e
endpoints="${{ steps.ip.outputs.ipv4 }}:1883 ${{ steps.ip.outputs.ipv4 }}:6640 ${{ steps.ip.outputs.ipv4 }}:6643"
for endpoint in $endpoints; do
max_retry=300
counter=0
until echo Q | openssl s_client -connect $endpoint -CAfile cacert.pem -cert clientcert.pem -key clientkey.pem > /dev/null
do
sleep 1
[[ counter -eq $max_retry ]] && echo "$endpoint not reachable after $counter tries...giving up" && exit 1
echo "#$counter: $endpoint not reachable. trying again..."
((counter++))
done
echo Successfully reached endpoint $endpoint
done

View File

@@ -0,0 +1,24 @@
import sys
import keepachangelog
CATEGORIES = ['added', 'changed', 'deprecated', 'removed', 'fixed', 'security']
version = sys.argv[1]
try:
changes = keepachangelog.to_dict("CHANGELOG.md")[version]
except KeyError:
print(f'No changelog entry for version {version}', file=sys.stderr)
exit(1)
print('## Changelog')
for category in CATEGORIES:
entries = changes.get(category, [])
if entries:
print(f'### {category.capitalize()}')
for entry in entries:
print(f'- {entry}')

View File

@@ -5,13 +5,59 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
## [Unreleased]
## [0.4.0](https://github.com/Telecominfraproject/wlan-cloud-helm/compare/f7c67645736e3dac498e2caec8c267f04d08b7bc...v0.4) - 2021-01-28
## [Unreleased] - YYYY-MM-DD
### Added
- Initial changelog entry. This is the first versioned release. Next releases will include a detailed overview of all the major changes introduced since the last version.
- export servo MBeans with JMX Prometheus exporter [#65](https://github.com/Telecominfraproject/wlan-cloud-helm/pull/65)
- render post-deployment message [#73](https://github.com/Telecominfraproject/wlan-cloud-helm/pull/73)
### Changed
- migrate to networking.k8s.io/v1 API version for Ingress resources [#74](https://github.com/Telecominfraproject/wlan-cloud-helm/pull/74)
## [1.0.1] - 2021-04-12
### Changed
- bump cloud controller version to 1.0.1
### Fixed
- correct SQL and CQL schema URLs
### Changed
- make images for all init containers configurable [#67](https://github.com/Telecominfraproject/wlan-cloud-helm/pull/67)
## [1.0.0] - 2021-04-01
### Added
- replaced cassandra, postgres and kafka with upstream charts [#49](https://github.com/Telecominfraproject/wlan-cloud-helm/pull/49)
- centralized secrets to the parent chart [#54](https://github.com/Telecominfraproject/wlan-cloud-helm/pull/54)
### Changed
- improved kafka setup templating [#53](https://github.com/Telecominfraproject/wlan-cloud-helm/pull/53)
- improved values.yaml [#53](https://github.com/Telecominfraproject/wlan-cloud-helm/pull/53)
- improved default values and added yaml anchors [#54](https://github.com/Telecominfraproject/wlan-cloud-helm/pull/54)
- make SSC service able to reconnect to Cassandra [#70](https://github.com/Telecominfraproject/wlan-cloud-helm/pull/70)
### Removed
- removed hardcoded docker secret in favor of variables [#53](https://github.com/Telecominfraproject/wlan-cloud-helm/pull/53)
- various outdated sections in values.yaml and environment files
- various secrets in subcharts as they are now part of the parent chart
- references to vendor specific values [#40](https://github.com/Telecominfraproject/wlan-cloud-helm/pull/40)
### Fixed
- make SSC service able to reconnect to Cassandra [#70](https://github.com/Telecominfraproject/wlan-cloud-helm/pull/70)
## [0.4.0] - 2021-01-28
### Added
- initial changelog entry. This is the first versioned release. Next releases will include a detailed overview of all the major changes introduced since the last version.
- [changes since first commit](https://github.com/Telecominfraproject/wlan-cloud-helm/compare/f7c67645736e3dac498e2caec8c267f04d08b7bc...v0.4)

View File

@@ -1,11 +1,11 @@
# wlan-cloud-helm
This repository contains helm charts for various deployment types of the tip wlan cloud services.
# IMPORTANT - CloudSDK Helm charts v0.4 to v1.x migration procedure
# IMPORTANT - Cloud Controller Helm charts v0.4 to v1.x migration procedure
We've introduced breaking changes to how CloudSDK database charts are managed.
If you want to preserve your data when moving from v0.4 to v1.x of the CloudSDK Helm charts, follow the steps outlined below.
If you can re-install your CloudSDK and don't care to loose your data, you can skip the steps and just install the upstream charts version with no changes to the default installation procedure.
We've introduced breaking changes to how Cloud Controller database charts are managed.
If you want to preserve your data when moving from v0.4 to v1.x of the Cloud Controller Helm charts, follow the steps outlined below.
If you can re-install your Cloud Controller and don't care to loose your data, you can skip the steps and just install the upstream charts version with no changes to the default installation procedure.
## Prerequisites
@@ -61,7 +61,7 @@ More details can be found here: https://telecominfraproject.atlassian.net/wiki/s
# Deleting the wlan-cloud deployment:
Run the following command:
```
helm del tip-wlan -n default
helm del tip-wlan -n tip (replace the namespace with your namespace)
```
(Note: this would not delete the tip namespace and any PVC/PV/Endpoints under this namespace. These are needed so we can reuse the same PVC mount when the pods are restarted.)
@@ -98,7 +98,6 @@ helm del tip-wlan -n default
- helm test <RELEASE_NAME> -n default
(For more details add --debug flag to the above command)
# Local environment
In `wlan-pki-cert-scripts` repository edit the following files and add/replace strings as specified below:
@@ -109,7 +108,6 @@ mqtt-server.cnf:
-commonName_default = opensync-mqtt-broker.zone1.lab.wlan.tip.build
+commonName_default = opensync-mqtt-broker.wlan.local
openssl-server.cnf:
-DNS.1 = opensync-redirector.zone1.lab.wlan.tip.build
-DNS.2 = opensync-controller.zone1.lab.wlan.tip.build
@@ -150,7 +148,7 @@ minikube start --memory=10g --cpus=4 --driver=virtualbox --extra-config=kubelet.
Please note that you may choose another driver (parallels, vmwarefusion, hyperkit, vmware, docker, podman) which might be more suitable for your setup. Omitting this option enables auto discovery of available drivers.
Deploy CloudSDK chart:
Deploy Cloud Controller chart:
```
helm upgrade --install tip-wlan tip-wlan -f tip-wlan/resources/environments/dev-local.yaml -n default
@@ -189,7 +187,6 @@ Firefox:
2. Click on `Add Exception...`, enter `https://wlan-ui.wlan.local` into Location field, click on `Get certificate`, check `Permanently store this exception` and click on `Confirm Security Exception`.
Repeat the step for `https://wlan-ui-graphql.wlan.local`
Chrome and other browsers using system certificate store:
1. Save certificate below into the file `wlan-ui-graphql.wlan.local.crt` (it is the one defined at tip-wlan/resources/environments/dev-local.yaml:143):

View File

@@ -28,7 +28,6 @@ For other issues faced during deployment, see here:
- If namespace is passed, we will create (if it does not exist) and use that namespace for glusterFS resources.
- If namespace is NOT passed, we will create (if it does not exist) namespace='gluster-ns' and use it for glusterFS resources.
- Deletion:
./gk-deploy --admin-key <ADMIN_KEY> --user-key <USER_KEY> --abort -v -n <GLUSTER_NAMESPACE>
- Note:

View File

@@ -990,7 +990,6 @@ parameters:
output ""
fi
if [[ ${DEPLOY_OBJECT} -eq 1 ]] && [[ "${OBJ_ACCOUNT}" != "" ]] && [[ "${OBJ_USER}" != "" ]] && [[ "${OBJ_PASSWORD}" != "" ]] && [[ ${EXISTS_OBJECT} -eq 0 ]]; then
if [[ "${OBJ_STORAGE_CLASS}" == "glusterfs-for-s3" ]]; then
eval_output "${CLI} create secret generic heketi-${NAMESPACE}-admin-secret --from-literal=key=${ADMIN_KEY} --type=kubernetes.io/glusterfs"

View File

@@ -14,11 +14,11 @@ type: application
# This is the chart version. This version number should be incremented each time you make changes
# to the chart and its templates, including the app version.
version: 0.4.0
version: 1.0.0
# This is the version number of the application being deployed. This version number should be
# incremented each time you make changes to the application.
appVersion: 1.16.0
appVersion: 1.0.0
home: https://telecominfraproject.com/wifi/
sources:

View File

@@ -7,7 +7,7 @@ metadata:
{{- include "common.labels" . | nindent 4 }}
spec:
replicas: {{ .Values.provisioner.replicaCount }}
strategy:
strategy:
type: {{ .Values.provisioner.strategyType }}
selector:
matchLabels:

View File

@@ -10,7 +10,6 @@
{{- printf "%d%d" $portPrefix $start -}}
{{- end -}}
{{- define "apDebugPortsEnd" -}}
{{- $portPrefix := $.Values.global.nodePortPrefixExt | default $.Values.nodePortPrefixExt | int -}}
{{- $start := $.Values.accessPointDebugPortRange.start | int -}}
@@ -19,7 +18,6 @@
{{- end -}}
{{- define "container.dev.apDebugPorts" -}}
{{- $accessPointDebugPorts := untilStep (include "apDebugPortsStart" . | atoi) (include "apDebugPortsEnd" . | atoi) 1 -}}
{{- range $index, $port := $accessPointDebugPorts }}
@@ -38,6 +36,6 @@
name: apdebugport-{{ $index }}
{{- if eq $.Values.service.type "NodePort" }}
nodePort: {{ $port }}
{{- end }}
{{- end }}
{{- end }}
{{- end -}}

View File

@@ -1,5 +1,5 @@
{{/*
Resolve the Postgres service-name to apply to a chart.
Resolve the Postgres service-name to apply to a chart.
*/}}
{{- define "postgresql.service" -}}
{{- printf "%s-%s" .Release.Name .Values.postgresql.url | trunc 63 -}}
@@ -19,63 +19,63 @@ else use user-provided URL
{{- end -}}
{{/*
Resolve the Kafka service-name to apply to a chart.
Resolve the Kafka service-name to apply to a chart.
*/}}
{{- define "kafka.service" -}}
{{- printf "%s-%s" .Release.Name .Values.kafka.url | trunc 63 -}}
{{- end -}}
{{/*
Resolve the Cassandra service-name to apply to a chart.
Resolve the Cassandra service-name to apply to a chart.
*/}}
{{- define "cassandra.service" -}}
{{- printf "%s-%s" .Release.Name .Values.cassandra.url | trunc 63 -}}
{{- end -}}
{{/*
Resolve the MQTT service-name to apply to a chart.
Resolve the MQTT service-name to apply to a chart.
*/}}
{{- define "mqtt.service" -}}
{{- printf "%s-%s" .Release.Name .Values.mqtt.url | trunc 63 -}}
{{- end -}}
{{/*
Resolve the integratedcloudcomponent service-name to apply to a chart.
Resolve the integratedcloudcomponent service-name to apply to a chart.
*/}}
{{- define "integratedcloudcomponent.service" -}}
{{- printf "%s-%s:%.f" .Release.Name .Values.integratedcloudcomponent.url .Values.integratedcloudcomponent.port | trunc 63 -}}
{{- end -}}
{{/*
Resolve the provisioning service-name to apply to a chart.
Resolve the provisioning service-name to apply to a chart.
*/}}
{{- define "prov.service" -}}
{{- printf "%s-%s:%.f" .Release.Name .Values.prov.url .Values.prov.port | trunc 63 -}}
{{- end -}}
{{/*
Resolve the ssc service-name to apply to a chart.
Resolve the ssc service-name to apply to a chart.
*/}}
{{- define "ssc.service" -}}
{{- printf "%s-%s:%.f" .Release.Name .Values.ssc.url .Values.ssc.port | trunc 63 -}}
{{- end -}}
{{/*
Resolve the Opensync-gw service-name to apply to a chart.
Resolve the Opensync-gw service-name to apply to a chart.
*/}}
{{- define "opensyncgw.service" -}}
{{- printf "%s-%s:%.f" .Release.Name .Values.opensyncgw.url .Values.opensyncgw.port | trunc 63 -}}
{{- end -}}
{{/*
Resolve the pvc name that's would mounted to 2 charts - Portal and Opensync-gw
Resolve the pvc name that's would mounted to 2 charts - Portal and Opensync-gw
*/}}
{{- define "portal.sharedPvc.name" -}}
{{- printf "%s-%s-%s-%.f" .Values.portal.sharedPvc.name .Release.Name .Values.portal.url .Values.portal.sharedPvc.ordinal | trunc 63 -}}
{{- end -}}
{{/*
Resolve the filestore-directory name that's would mounted to 2 charts - Portal and Opensync-gw
Resolve the filestore-directory name that's would mounted to 2 charts - Portal and Opensync-gw
*/}}
{{- define "filestore.dir.name" -}}
{{- printf "%s" .Values.filestore.internal | trunc 63 -}}

View File

@@ -4,7 +4,8 @@ metadata:
name: {{ include "nginx-ingress.configName" . }}
namespace: {{ include "common.namespace" . }}
labels:
{{- include "common.labels" . | nindent 4 }}
{{- include "common.labels" . | nindent 4 }}
data:
external-status-address: {{ .Values.controller.config.externalStatusAddress }}
client-max-body-size: {{ .Values.controller.config.clientMaxBodySize }}
client-max-body-size: {{ .Values.controller.config.clientMaxBodySize }}
error-log-level: {{ .Values.controller.config.errorLogLevel }}

View File

@@ -1,6 +1,6 @@
{{- if not .Values.byPassNginxForTcpConnections.enabled -}}
apiVersion: k8s.nginx.org/v1alpha1
kind: GlobalConfiguration
kind: GlobalConfiguration
metadata:
name: {{ include "common.name" . }}-global-configuration
namespace: {{ include "common.namespace" . }}

View File

@@ -56,6 +56,8 @@ controller:
## Max message size coming from the Client
clientMaxBodySize: "20m"
## Error
errorLogLevel: "error"
## It is recommended to use your own TLS certificates and keys
defaultTLS:
## The base64-encoded TLS certificate for the default HTTPS server. If not specified, a pre-generated self-signed certificate is used.
@@ -137,7 +139,7 @@ controller:
## Enable the custom resources.
enableTLSPassthrough: true
## Add a location based on the value of health-status-uri to the default server. The location responds with the 200 status code for any request.
## Useful for external health-checking of the Ingress controller.
healthStatus: false
@@ -274,7 +276,7 @@ rbac:
## This property will prevent exposing TCP ports for passthrough connections
## Instead we are opening up these services as NodePorts
## We were seeing issues with AP <-- --> MQTT connecitivity when using NGINX
## We were seeing issues with AP <-- --> MQTT connecitivity when using NGINX
## as passthrough for TCP Connections
byPassNginxForTcpConnections:
enabled: true

View File

@@ -1,21 +0,0 @@
{
"maxConnectionsTotal": 100,
"maxConnectionsPerRoute": 10,
"truststoreType": "JKS",
"truststoreProvider": "SUN",
"truststoreFile": "file:/opt/tip-wlan/certs/truststore.jks",
"truststorePass": "mypassword",
"keystoreType": "JKS",
"keystoreProvider": "SUN",
"keystoreFile": "file:/opt/tip-wlan/certs/client_keystore.jks",
"keystorePass": "mypassword",
"keyAlias": "clientkeyalias",
"credentialsList": [
{
"host": "localhost",
"port": -1,
"user": "user",
"password": "password"
}
]
}

View File

@@ -29,7 +29,7 @@
<maxFileSize>20MB</maxFileSize>
</triggeringPolicy>
</appender>
<appender name="logfile" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>/app/logs/opensyncgw.log</file>
<append>true</append>
@@ -45,23 +45,23 @@
<maxFileSize>20MB</maxFileSize>
</triggeringPolicy>
</appender>
<!--
details: http://logback.qos.ch/manual/configuration.html#auto_configuration
runtime configuration, if need to override the defaults:
runtime configuration, if need to override the defaults:
-Dlogback.configurationFile=/path/to/logback.xml
for log configuration debugging - use
for log configuration debugging - use
-Dlogback.statusListenerClass=ch.qos.logback.core.status.OnConsoleStatusListener
log levels:
OFF ERROR WARN INFO DEBUG TRACE
OFF ERROR WARN INFO DEBUG TRACE
-->
<logger name="org.apache.catalina.startup.DigesterFactory" level="ERROR"/>
<logger name="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping" level="INFO"/>
<logger name="org.springframework.boot.context.embedded.tomcat.TomcatEmbeddedServletContainer" level="INFO"/>
<logger name="com.telecominfraproject.wlan" level="DEBUG"/>
<logger name="com.netflix.servo.tag.aws.AwsInjectableTag" level="OFF"/>
<logger name="com.vmware.ovsdb.service.OvsdbConnectionInfo" level="OFF"/>

View File

@@ -4,4 +4,4 @@ metadata:
name: {{ include "common.fullname" . }}-log-config
namespace: {{ include "common.namespace" . }}
data:
{{ tpl (.Files.Glob "resources/config/logback.xml").AsConfig . | indent 2 }}
{{ (.Files.Glob "resources/config/logback.xml").AsConfig | indent 2 }}

View File

@@ -27,8 +27,9 @@ spec:
securityContext:
{{- toYaml .Values.podSecurityContext | nindent 8 }}
initContainers:
{{- include "jmxPrometheus.initContainer" . | nindent 8 }}
- name: wait-for-services
image: opsfleet/depends-on:latest
image: {{ .Values.waitForServicesImage.registry }}/{{ .Values.waitForServicesImage.repository }}:{{ .Values.waitForServicesImage.tag }}
args:
- "-service={{ .Release.Name }}-opensync-mqtt-broker"
- "-service={{ .Release.Name }}-wlan-prov-service"
@@ -36,8 +37,8 @@ spec:
- -check_interval=5
{{- if .Values.global.integratedDeployment }}
- name: {{ include "common.name" . }}-readiness-int-cloud
image: alpine
imagePullPolicy: {{ .Values.pullPolicy | default .Values.global.pullPolicy }}
image: {{ .Values.intCloudReadiness.registry }}/{{ .Values.intCloudReadiness.repository }}:{{ .Values.intCloudReadiness.tag }}
imagePullPolicy: {{ .Values.pullPolicy | default .Values.global.pullPolicy }}
command:
- sh
- -c
@@ -67,11 +68,11 @@ spec:
securityContext:
{{- toYaml .Values.securityContext | nindent 12 }}
{{- if .Values.global.testingEnabled }}
image: {{ .Values.global.repository }}/{{ .Values.image.name }}:{{ .Values.image.tag }}-{{.Values.global.testingTimestamp}}
image: {{ .Values.global.repository.registry }}/{{ .Values.image.name }}:{{ .Values.image.tag }}-{{.Values.global.testingTimestamp}}
{{- else }}
image: {{ .Values.global.repository }}/{{ .Values.image.name }}:{{ .Values.image.tag }}
image: {{ .Values.global.repository.registry }}/{{ .Values.image.name }}:{{ .Values.image.tag }}
{{- end }}
imagePullPolicy: {{ .Values.pullPolicy | default .Values.global.pullPolicy }}
imagePullPolicy: {{ .Values.pullPolicy | default .Values.global.pullPolicy }}
{{- if .Values.probes.enabled }}
livenessProbe:
tcpSocket:
@@ -89,6 +90,11 @@ spec:
failureThreshold: {{ .Values.probes.readinessProbe.failureThreshold }}
periodSeconds: {{ .Values.probes.readinessProbe.periodSeconds }}
successThreshold: {{ .Values.probes.readinessProbe.successThreshold }}
startupProbe:
tcpSocket:
port: {{ .Values.service.port1 }}
failureThreshold: {{ .Values.probes.startupProbe.failureThreshold }}
periodSeconds: {{ .Values.probes.startupProbe.periodSeconds}}
{{- end }}
env:
{{- include "common.env" . | nindent 12 }}
@@ -142,7 +148,7 @@ spec:
- name: tip_wlan_maxHttpThreads
value: "{{ .Values.scalability.tip_wlan_maxHttpThreads }}"
- name: JVM_MEM_OPTIONS
value: "{{ .Values.scalability.JVM_MEM_OPTIONS }}"
value: "{{ .Values.scalability.JVM_MEM_OPTIONS }} {{ include "jmxPrometheus.jvmOpts" . }}"
volumeMounts:
- mountPath: /opt/tip-wlan/certs/client_keystore.jks
name: certificates
@@ -164,6 +170,8 @@ spec:
subPath: logback.xml
- mountPath: {{ $file_store_path }}
name: file-store-data
{{- include "jmxPrometheus.configVolumeMount" . | nindent 10 }}
{{- include "jmxPrometheus.tmpVolumeMount" . | nindent 10 }}
ports:
- name: {{ .Values.service.name1 }}
containerPort: {{ .Values.service.port1 }}
@@ -182,6 +190,7 @@ spec:
containerPort: {{ .Values.service.port5 }}
protocol: TCP
{{- end }}
{{- include "jmxPrometheus.port" . | nindent 12 }}
resources:
{{- toYaml .Values.resources | nindent 12 }}
{{- with .Values.nodeSelector }}
@@ -200,7 +209,7 @@ spec:
volumes:
- name: certificates
secret:
secretName: {{ include "common.fullname" . }}-certs
secretName: tip-common-opensync-gw-certs
- name: logback-config
configMap:
name: {{ include "common.fullname" . }}-log-config
@@ -211,3 +220,5 @@ spec:
{{- else }}
emptyDir: {}
{{- end }}
{{- include "jmxPrometheus.configVolume" . | nindent 6 }}
{{- include "jmxPrometheus.tmpVolume" . | nindent 6 }}

View File

@@ -0,0 +1 @@
{{ include "jmxPrometheus.podMonitor" . }}

View File

@@ -1,8 +0,0 @@
apiVersion: v1
kind: Secret
metadata:
name: {{ include "common.fullname" . }}-certs
namespace: {{ include "common.namespace" . }}
type: Opaque
data:
{{ tpl (.Files.Glob "resources/config/certs/*").AsSecrets . | indent 2 }}

View File

@@ -11,7 +11,7 @@ metadata:
spec:
containers:
- name: wget
image: busybox
image: {{ .Values.testConnectionImage.registry }}/{{ .Values.testConnectionImage.repository }}:{{ .Values.testConnectionImage.tag }}
command: ['wget']
args: ['{{ include "common.fullname" . }}:{{ .Values.service.port1 }}']
restartPolicy: Never

View File

@@ -11,7 +11,22 @@ replicaCount: 1
image:
name: opensync-gateway-cloud
tag: 0.0.1-SNAPSHOT
tag: 1.2.0-SNAPSHOT
waitForServicesImage:
registry: tip-docker-cache-repo.jfrog.io
repository: opsfleet/depends-on
tag: v1.0.0
intCloudReadinessImage:
registry: tip-docker-cache-repo.jfrog.io
repository: library/alpine
tag: 3.13
testConnectionImage:
registry: tip-docker-cache-repo.jfrog.io
repository: library/alpine
tag: 3.13
nameOverride: ""
fullnameOverride: ""
@@ -52,6 +67,9 @@ probes:
timeoutSeconds: 5
successThreshold: 1
failureThreshold: 3
startupProbe:
periodSeconds: 30
failureThreshold: 500
# Enable/Disable Helm tests
testsEnabled: false
@@ -115,7 +133,6 @@ portal:
name: file-store-data
ordinal: 0
# These are the address and ports for the externalhost
# This is important for ovsdb and mqtt since
# that's what AP sees. Please make sure to override
@@ -129,8 +146,6 @@ externalhost:
ovsdb: 6640
mqtt: 1883
ethernetType:
lanName: "lan"
lanType: "bridge"
@@ -171,7 +186,7 @@ resources:
cpu: 500m
memory: 750Mi
requests:
cpu: 50m
cpu: 10m
memory: 500Mi
nodeSelector: {}

View File

@@ -1,2 +0,0 @@
Contains certs needed for this service to start.
Please refer to page: https://telecominfraproject.atlassian.net/wiki/spaces/WIFI/pages/262176803/Pre-requisites+before+deploying+Tip-Wlan+solution

View File

@@ -1,13 +0,0 @@
truststorePass=mypassword
truststoreFile=file:///opt/tip-wlan/certs/truststore.jks
truststoreType=JKS
truststoreProvider=SUN
keyAlias=1
keystorePass=mypassword
keystoreFile=file:///opt/tip-wlan/certs/server.pkcs12
keystoreType=pkcs12
keystoreProvider=SunJSSE
sslProtocol=TLS

View File

@@ -13,8 +13,8 @@
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
</encoder>
</appender>
<!--
<!--
<appender name="FILE" class="ch.qos.logback.core.FileAppender">
<file>myApp.log</file>
@@ -23,7 +23,7 @@
</encoder>
</appender>
-->
<appender name="logfile" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>/app/logs/opensyncgw.log</file>
<append>true</append>
@@ -39,37 +39,37 @@
<maxFileSize>20MB</maxFileSize>
</triggeringPolicy>
</appender>
<!--
details: http://logback.qos.ch/manual/configuration.html#auto_configuration
runtime configuration, if need to override the defaults:
runtime configuration, if need to override the defaults:
-Dlogback.configurationFile=/path/to/logback.xml
for log configuration debugging - use
for log configuration debugging - use
-Dlogback.statusListenerClass=ch.qos.logback.core.status.OnConsoleStatusListener
log levels:
OFF ERROR WARN INFO DEBUG TRACE
OFF ERROR WARN INFO DEBUG TRACE
-->
<logger name="org.apache.catalina.startup.DigesterFactory" level="ERROR"/>
<logger name="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping" level="INFO"/>
<logger name="org.springframework.boot.context.embedded.tomcat.TomcatEmbeddedServletContainer" level="INFO"/>
<logger name="com.telecominfraproject.wlan" level="DEBUG"/>
<logger name="com.netflix.servo.tag.aws.AwsInjectableTag" level="OFF"/>
<logger name="com.vmware.ovsdb.service.OvsdbConnectionInfo" level="OFF"/>
<logger name="com.vmware.ovsdb.netty.OvsdbConnectionHandler" level="ERROR"/>
<logger name="MQTT_DATA" level="DEBUG"/>
<!--
<!--
<logger name="org.springframework.security.web.authentication.preauth" level="DEBUG"/>
-->
<root level="WARN">
<appender-ref ref="stdout"/>
<appender-ref ref="logfile"/>
</root>
</configuration>

View File

@@ -4,4 +4,4 @@ metadata:
name: {{ include "common.fullname" . }}-log-config
namespace: {{ include "common.namespace" . }}
data:
{{ tpl (.Files.Glob "resources/config/logback.xml").AsConfig . | indent 2 }}
{{ (.Files.Glob "resources/config/logback.xml").AsConfig | indent 2 }}

View File

@@ -25,16 +25,16 @@ spec:
securityContext:
{{- toYaml .Values.securityContext | nindent 12 }}
{{- if .Values.global.testingEnabled }}
image: {{ .Values.global.repository }}/{{ .Values.image.name }}:{{ .Values.image.tag }}-{{.Values.global.testingTimestamp}}
image: {{ .Values.global.repository.registry }}/{{ .Values.image.name }}:{{ .Values.image.tag }}-{{.Values.global.testingTimestamp}}
{{- else }}
image: {{ .Values.global.repository }}/{{ .Values.image.name }}:{{ .Values.image.tag }}
image: {{ .Values.global.repository.registry }}/{{ .Values.image.name }}:{{ .Values.image.tag }}
{{- end }}
imagePullPolicy: {{ .Values.pullPolicy | default .Values.global.pullPolicy }}
imagePullPolicy: {{ .Values.pullPolicy | default .Values.global.pullPolicy }}
{{- if .Values.probes.enabled }}
livenessProbe:
tcpSocket:
port: {{ .Values.service.port2 }}
initialDelaySeconds: {{ .Values.probes.livenessProbe.initialDelaySeconds }}
initialDelaySeconds: {{ .Values.probes.livenessProbe.initialDelaySeconds }}
timeoutSeconds: {{ .Values.probes.livenessProbe.timeoutSeconds }}
failureThreshold: {{ .Values.probes.livenessProbe.failureThreshold }}
periodSeconds: {{ .Values.probes.livenessProbe.periodSeconds }}
@@ -47,7 +47,12 @@ spec:
failureThreshold: {{ .Values.probes.readinessProbe.failureThreshold }}
periodSeconds: {{ .Values.probes.readinessProbe.periodSeconds }}
successThreshold: {{ .Values.probes.readinessProbe.successThreshold }}
{{- end }}
startupProbe:
tcpSocket:
port: {{ .Values.service.port2 }}
failureThreshold: {{ .Values.probes.startupProbe.failureThreshold }}
periodSeconds: {{ .Values.probes.startupProbe.periodSeconds}}
{{- end }}
volumeMounts:
- mountPath: /opt/tip-wlan/certs/client_keystore.jks
name: certificates
@@ -92,7 +97,7 @@ spec:
volumes:
- name: certificates
secret:
secretName: {{ include "common.fullname" . }}-certs
secretName: tip-common-opensync-gw-certs
- name: logback-config
configMap:
name: {{ include "common.fullname" . }}-log-config

View File

@@ -1,8 +0,0 @@
apiVersion: v1
kind: Secret
metadata:
name: {{ include "common.fullname" . }}-certs
namespace: {{ include "common.namespace" . }}
type: Opaque
data:
{{ tpl (.Files.Glob "resources/config/certs/*").AsSecrets . | indent 2 }}

View File

@@ -11,7 +11,7 @@ metadata:
spec:
containers:
- name: wget
image: busybox
image: {{ .Values.testConnectionImage.registry }}/{{ .Values.testConnectionImage.repository }}:{{ .Values.testConnectionImage.tag }}
command: ['wget']
args: ['{{ include "common.fullname" . }}:{{ .Values.service.port1 }}']
restartPolicy: Never

View File

@@ -11,7 +11,12 @@ replicaCount: 1
image:
name: opensync-gateway-static
tag: 0.0.1-SNAPSHOT
tag: 1.2.0-SNAPSHOT
testConnectionImage:
registry: tip-docker-cache-repo.jfrog.io
repository: library/alpine
tag: 3.13
nameOverride: ""
fullnameOverride: ""
@@ -52,6 +57,9 @@ probes:
timeoutSeconds: 5
successThreshold: 1
failureThreshold: 3
startupProbe:
periodSeconds: 30
failureThreshold: 500
# Enable/Disable Helm tests
testsEnabled: false

View File

@@ -1,2 +0,0 @@
Contains certs needed for this service to start.
Please refer to page: https://telecominfraproject.atlassian.net/wiki/spaces/WIFI/pages/262176803/Pre-requisites+before+deploying+Tip-Wlan+solution

View File

@@ -4,4 +4,4 @@ metadata:
name: mosquitto-config
namespace: {{ include "common.namespace" . }}
data:
{{ tpl (.Files.Glob "resources/config/mosquitto.conf").AsConfig . | indent 2 }}
{{ (.Files.Glob "resources/config/mosquitto.conf").AsConfig | indent 2 }}

View File

@@ -1,8 +0,0 @@
apiVersion: v1
kind: Secret
metadata:
name: opensync-mqtt-broker-certs
namespace: {{ include "common.namespace" . }}
type: Opaque
data:
{{ tpl (.Files.Glob "resources/config/certs/*").AsSecrets . | indent 2 }}

View File

@@ -45,8 +45,8 @@ spec:
{{- toYaml .Values.podSecurityContext | nindent 8 }}
initContainers:
- name: {{ include "common.name" . }}-init-dir-ownership-change
image: {{ .Values.alpine.image }}
imagePullPolicy: {{ .Values.pullPolicy | default .Values.global.pullPolicy }}
image: {{ .Values.alpine.registry }}/{{ .Values.alpine.repository }}:{{ .Values.alpine.tag }}
imagePullPolicy: {{ .Values.pullPolicy | default .Values.global.pullPolicy }}
# Change ownership to `mosquitto` user for a mounted volume
command:
- sh
@@ -63,13 +63,13 @@ spec:
- name: {{ .Chart.Name }}
securityContext:
{{- toYaml .Values.securityContext | nindent 12 }}
image: {{ .Values.image.name }}:{{ .Values.image.tag }}
imagePullPolicy: {{ .Values.pullPolicy | default .Values.global.pullPolicy }}
image: {{ .Values.image.registry }}/{{ .Values.image.repository }}:{{ .Values.image.tag }}
imagePullPolicy: {{ .Values.pullPolicy | default .Values.global.pullPolicy }}
{{- if .Values.probes.enabled }}
livenessProbe:
tcpSocket:
port: {{ .Values.service.port1 }}
initialDelaySeconds: {{ .Values.probes.livenessProbe.initialDelaySeconds }}
initialDelaySeconds: {{ .Values.probes.livenessProbe.initialDelaySeconds }}
timeoutSeconds: {{ .Values.probes.livenessProbe.timeoutSeconds }}
failureThreshold: {{ .Values.probes.livenessProbe.failureThreshold }}
periodSeconds: {{ .Values.probes.livenessProbe.periodSeconds }}
@@ -82,6 +82,11 @@ spec:
failureThreshold: {{ .Values.probes.readinessProbe.failureThreshold }}
periodSeconds: {{ .Values.probes.readinessProbe.periodSeconds }}
successThreshold: {{ .Values.probes.readinessProbe.successThreshold }}
startupProbe:
tcpSocket:
port: {{ .Values.service.port1 }}
failureThreshold: {{ .Values.probes.startupProbe.failureThreshold }}
periodSeconds: {{ .Values.probes.startupProbe.periodSeconds}}
{{- end }}
volumeMounts:
- mountPath: /certs/cacert.pem
@@ -124,7 +129,7 @@ spec:
volumes:
- name: opensync-mqtt-broker-truststore
secret:
secretName: opensync-mqtt-broker-certs
secretName: tip-common-opensync-mqtt-broker-certs
- name: opensync-mqtt-broker-conf
configMap:
name: mosquitto-config

View File

@@ -11,7 +11,7 @@ metadata:
spec:
containers:
- name: wget
image: busybox
image: {{ .Values.testConnectionImage.registry }}/{{ .Values.testConnectionImage.repository }}:{{ .Values.testConnectionImage.tag }}
command: ['wget']
args: ['{{ include "common.fullname" . }}:{{ .Values.service.port1 }}']
restartPolicy: Never

View File

@@ -5,11 +5,19 @@
replicaCount: 1
image:
name: eclipse-mosquitto
registry: tip-docker-cache-repo.jfrog.io
repository: library/eclipse-mosquitto
tag: 2.0.3
alpine:
image: alpine:3.6
registry: tip-docker-cache-repo.jfrog.io
repository: library/alpine
tag: 3.6
testConnectionImage:
registry: tip-docker-cache-repo.jfrog.io
repository: library/alpine
tag: 3.13
nameOverride: ""
fullnameOverride: ""
@@ -52,6 +60,9 @@ probes:
timeoutSeconds: 5
successThreshold: 1
failureThreshold: 3
startupProbe:
periodSeconds: 30
failureThreshold: 500
# Enable/Disable Helm tests
testsEnabled: false
@@ -85,8 +96,8 @@ resources:
cpu: 500m
memory: 128Mi
requests:
cpu: 50m
memory: 128Mi
cpu: 10m
memory: 5Mi
priorityClassName: ""
@@ -105,7 +116,7 @@ persistence:
## existingClaimData: opensync-wifi-controller-opensync-mqtt-broker-data
## existingClaimDb: opensync-wifi-controller-opensync-mqtt-broker-db
## volumeReclaimPolicy: Retain
## If you want to bind to an existing PV, uncomment below with the pv name
## If you want to bind to an existing PV, uncomment below with the pv name
## and comment storageClass and belowannotation
## volumeNameDb: pvc-dc52b290-ae86-4cb3-aad0-f2c806a23114
## volumeNameData: pvc-735baedf-323b-47bc-9383-952e6bc5ce3e

View File

@@ -25,9 +25,9 @@ spec:
securityContext:
{{- toYaml .Values.securityContext | nindent 12 }}
{{- if .Values.global.testingEnabled }}
image: {{ .Values.global.repository }}/{{ .Values.image.name }}:{{ .Values.image.tag }}-{{.Values.global.testingTimestamp}}
image: {{ .Values.global.repository.registry }}/{{ .Values.image.name }}:{{ .Values.image.tag }}-{{.Values.global.testingTimestamp}}
{{- else }}
image: {{ .Values.global.repository }}/{{ .Values.image.name }}:{{ .Values.image.tag }}
image: {{ .Values.global.repository.registry }}/{{ .Values.image.name }}:{{ .Values.image.tag }}
{{- end }}
imagePullPolicy: {{ .Values.global.pullPolicy }}
env:

View File

@@ -1,7 +1,9 @@
{{- if .Values.ingress.enabled -}}
{{- $fullName := include "common.fullname" . -}}
{{- $svcPort := .Values.service.port -}}
{{- if semverCompare ">=1.14-0" .Capabilities.KubeVersion.GitVersion -}}
{{- if .Capabilities.APIVersions.Has "networking.k8s.io/v1/Ingress" }}
apiVersion: networking.k8s.io/v1
{{- else if .Capabilities.APIVersions.Has "networking.k8s.io/v1beta1/Ingress" }}
apiVersion: networking.k8s.io/v1beta1
{{- else -}}
apiVersion: extensions/v1beta1
@@ -36,15 +38,35 @@ spec:
paths:
{{- if $.Values.ingress.lb_https_redirect }}
- path: /*
{{- if $.Capabilities.APIVersions.Has "networking.k8s.io/v1/Ingress" }}
pathType: ImplementationSpecific
{{- end }}
backend:
{{- if $.Capabilities.APIVersions.Has "networking.k8s.io/v1/Ingress" }}
service:
name: ssl-redirect
port:
name: use-annotation
{{- else -}}
serviceName: ssl-redirect
servicePort: use-annotation
{{- end }}
{{- end }}
{{- range .paths }}
- path: {{ . }}
{{- if $.Capabilities.APIVersions.Has "networking.k8s.io/v1/Ingress" }}
pathType: ImplementationSpecific
{{- end }}
backend:
{{- if $.Capabilities.APIVersions.Has "networking.k8s.io/v1/Ingress" }}
service:
name: {{ $fullName }}
port:
number: {{ $svcPort }}
{{- else -}}
serviceName: {{ $fullName }}
servicePort: {{ $svcPort }}
{{- end }}
{{- end }}
{{- end }}
{{- end }}

View File

@@ -11,7 +11,7 @@ metadata:
spec:
containers:
- name: wget
image: busybox
image: {{ .Values.testConnectionImage.registry }}/{{ .Values.testConnectionImage.repository }}:{{ .Values.testConnectionImage.tag }}
command: ['wget']
args: ['{{ include "common.fullname" . }}:{{ .Values.service.port }}']
restartPolicy: Never

View File

@@ -9,11 +9,16 @@
replicaCount: 1
image:
image:
name: wlan-cloud-graphql-gw
tag: latest
tag: 1.2.0-SNAPSHOT
pullPolicy: IfNotPresent
testConnectionImage:
registry: tip-docker-cache-repo.jfrog.io
repository: library/alpine
tag: 3.13
nameOverride: ""
fullnameOverride: ""
@@ -59,22 +64,22 @@ ingress:
annotations: {}
# kubernetes.io/ingress.class: nginx
# kubernetes.io/tls-acme: "true"
hosts:
- host: wlan-ui-graphql.zone3.lab.connectus.ai
paths: [
/
]
hosts: []
# - host: wlan-ui-graphql.local
# paths: [
# /
# ]
tls: []
# - secretName: chart-example-tls
# hosts:
# - chart-example.local
# - wlan-ui-graphql.local
resources:
limits:
cpu: 500m
memory: 128Mi
requests:
cpu: 50m
cpu: 10m
memory: 128Mi
nodeSelector: {}

View File

@@ -25,9 +25,9 @@ spec:
securityContext:
{{- toYaml .Values.securityContext | nindent 12 }}
{{- if .Values.global.testingEnabled }}
image: {{ .Values.global.repository }}/{{ .Values.image.name }}:{{ .Values.image.tag }}-{{.Values.global.testingTimestamp}}
image: {{ .Values.global.repository.registry }}/{{ .Values.image.name }}:{{ .Values.image.tag }}-{{.Values.global.testingTimestamp}}
{{- else }}
image: {{ .Values.global.repository }}/{{ .Values.image.name }}:{{ .Values.image.tag }}
image: {{ .Values.global.repository.registry }}/{{ .Values.image.name }}:{{ .Values.image.tag }}
{{- end }}
imagePullPolicy: {{ .Values.pullPolicy | default .Values.global.pullPolicy }}
env:

View File

@@ -1,7 +1,9 @@
{{- if .Values.ingress.enabled -}}
{{- $fullName := include "common.fullname" . -}}
{{- $svcPort := .Values.service.port -}}
{{- if semverCompare ">=1.14-0" .Capabilities.KubeVersion.GitVersion -}}
{{- if .Capabilities.APIVersions.Has "networking.k8s.io/v1/Ingress" }}
apiVersion: networking.k8s.io/v1
{{- else if .Capabilities.APIVersions.Has "networking.k8s.io/v1beta1/Ingress" }}
apiVersion: networking.k8s.io/v1beta1
{{- else -}}
apiVersion: extensions/v1beta1
@@ -36,15 +38,35 @@ spec:
paths:
{{- if $.Values.ingress.lb_https_redirect }}
- path: /*
{{- if $.Capabilities.APIVersions.Has "networking.k8s.io/v1/Ingress" }}
pathType: ImplementationSpecific
{{- end }}
backend:
{{- if $.Capabilities.APIVersions.Has "networking.k8s.io/v1/Ingress" }}
service:
name: ssl-redirect
port:
name: use-annotation
{{- else -}}
serviceName: ssl-redirect
servicePort: use-annotation
{{- end }}
{{- end }}
{{- range .paths }}
- path: {{ . }}
{{- if $.Capabilities.APIVersions.Has "networking.k8s.io/v1/Ingress" }}
pathType: ImplementationSpecific
{{- end }}
backend:
{{- if $.Capabilities.APIVersions.Has "networking.k8s.io/v1/Ingress" }}
service:
name: {{ $fullName }}
port:
number: {{ $svcPort }}
{{- else -}}
serviceName: {{ $fullName }}
servicePort: {{ $svcPort }}
{{- end }}
{{- end }}
{{- end }}
{{- end }}

View File

@@ -11,7 +11,7 @@ metadata:
spec:
containers:
- name: wget
image: busybox
image: {{ .Values.testConnectionImage.registry }}/{{ .Values.testConnectionImage.repository }}:{{ .Values.testConnectionImage.tag }}
command: ['wget']
args: ['{{ include "common.fullname" . }}:{{ .Values.service.port }}']
restartPolicy: Never

View File

@@ -9,11 +9,16 @@
replicaCount: 1
image:
image:
name: wlan-cloud-ui
tag: latest
tag: 1.2.0-SNAPSHOT
pullPolicy: IfNotPresent
testConnectionImage:
registry: tip-docker-cache-repo.jfrog.io
repository: library/alpine
tag: 3.13
nameOverride: ""
fullnameOverride: ""
@@ -54,23 +59,23 @@ ingress:
annotations: {}
# kubernetes.io/ingress.class: nginx
# kubernetes.io/tls-acme: "true"
hosts:
- host: wlan-ui.zone3.lab.connectus.ai
paths: [
/
]
hosts: []
# - host: wlan-ui.local
# paths: [
# /
# ]
tls: []
# - secretName: chart-example-tls
# hosts:
# - chart-example.local
# - wlan-ui.local
resources:
limits:
cpu: 500m
memory: 128Mi
requests:
cpu: 50m
memory: 128Mi
cpu: 10m
memory: 5Mi
nodeSelector: {}

View File

@@ -1,2 +0,0 @@
Contains certs needed for this service to start.
Please refer to page: https://telecominfraproject.atlassian.net/wiki/spaces/WIFI/pages/262176803/Pre-requisites+before+deploying+Tip-Wlan+solution

View File

@@ -46,7 +46,6 @@
</triggeringPolicy>
</appender>
<!--
details: http://logback.qos.ch/manual/configuration.html#auto_configuration
@@ -71,5 +70,5 @@
<appender-ref ref="stdout"/>
<appender-ref ref="logfile"/>
</root>
</configuration>

View File

@@ -4,4 +4,4 @@ metadata:
name: {{ include "common.fullname" . }}-log-config
namespace: {{ include "common.namespace" . }}
data:
{{ tpl (.Files.Glob "resources/config/logback.xml").AsConfig . | indent 2 }}
{{ (.Files.Glob "resources/config/logback.xml").AsConfig | indent 2 }}

View File

@@ -19,121 +19,126 @@ spec:
{{- include "common.selectorLabels" . | nindent 8 }}
spec:
imagePullSecrets:
- name: "{{ include "common.namespace" . }}-docker-registry-key"
- name: "{{ include "common.namespace" . }}-docker-registry-key"
serviceAccountName: {{ include "common.serviceAccountName" . }}
securityContext:
{{- toYaml .Values.podSecurityContext | nindent 8 }}
{{- if .Values.integratedWithPersistence.enabled }}
initContainers:
- name: {{ include "common.name" . }}-readiness
image: busybox:1.28
imagePullPolicy: {{ .Values.pullPolicy | default .Values.global.pullPolicy }}
command: ['sh', '-c', "until nslookup {{ $pg }}.{{ $ns }}.svc.cluster.local; do echo waiting for POSTGRES; sleep 2; done"]
- name: {{ include "common.name" . }}-create-db-schema
env:
- name: POSTGRESQL_PORT_NUMBER
value: "5432"
- name: POSTGRES_PASSWORD
valueFrom:
secretKeyRef:
name: {{ include "common.fullname" . }}-creds
key: postgresql-password
- name: SCHEMA_REPO_USER
valueFrom:
secretKeyRef:
name: {{ include "common.fullname" . }}-creds
key: schema-repo-user
- name: SCHEMA_REPO_PASSWORD
valueFrom:
secretKeyRef:
name: {{ include "common.fullname" . }}-creds
key: schema-repo-password
image: postgres:latest
imagePullPolicy: {{ .Values.pullPolicy | default .Values.global.pullPolicy }}
command:
- sh
- -c
- |
apt update
apt -y install curl
echo "***** Fetching cloud-sdk-schema-postgresql.sql from JFrog *****"
curl -u$SCHEMA_REPO_USER:$SCHEMA_REPO_PASSWORD -O "https://tip-tip-wlan-cloud-docker-repo.jfrog.io/artifactory/tip-wlan-cloud-schemas/0.0.1-SNAPSHOT/sql/cloud-sdk-schema-postgresql.sql"
echo "***** Now executing cloud-sdk-schema-postgresql.sql and creating/updating schema on Postgres instance *****"
PGPASSWORD=$POSTGRES_PASSWORD psql -h {{- include "postgresql.service" . -}} -U postgres -f cloud-sdk-schema-postgresql.sql
exit
ports:
- containerPort: 5432
name: tcp-postgresql
protocol: TCP
resources:
requests:
cpu: 50m
memory: 256Mi
terminationMessagePath: /dev/termination-log
terminationMessagePolicy: File
volumeMounts:
- mountPath: /dev/shm
name: dshm
- mountPath: /bitnami/postgresql
name: data
- name: wait-for-services
image: {{ .Values.waitForServicesImage.registry }}/{{ .Values.waitForServicesImage.repository }}:{{ .Values.waitForServicesImage.tag }}
args:
- "-service={{ .Release.Name }}-postgresql"
- -check_interval=5
- name: {{ include "common.name" . }}-create-db-schema
env:
- name: POSTGRESQL_PORT_NUMBER
value: "5432"
- name: POSTGRES_PASSWORD
valueFrom:
secretKeyRef:
name: {{ include "common.fullname" . }}-creds
key: postgresql-password
- name: SCHEMA_REPO_USER
valueFrom:
secretKeyRef:
name: {{ include "common.fullname" . }}-creds
key: schema-repo-user
- name: SCHEMA_REPO_PASSWORD
valueFrom:
secretKeyRef:
name: {{ include "common.fullname" . }}-creds
key: schema-repo-password
image: {{ .Values.createDbSchemaImage.registry }}/{{ .Values.createDbSchemaImage.repository }}:{{ .Values.createDbSchemaImage.tag }}
args:
imagePullPolicy: {{ .Values.pullPolicy | default .Values.global.pullPolicy }}
command:
- sh
- -c
- |
apt update
apt -y install curl
echo "***** Fetching cloud-sdk-schema-postgresql.sql from JFrog *****"
curl -u$SCHEMA_REPO_USER:$SCHEMA_REPO_PASSWORD -O "https://tip-tip-wlan-cloud-docker-repo.jfrog.io/artifactory/tip-wlan-cloud-schemas/0.0.1-SNAPSHOT/sql/cloud-sdk-schema-postgresql.sql"
echo "***** Now executing cloud-sdk-schema-postgresql.sql and creating/updating schema on Postgres instance *****"
PGPASSWORD=$POSTGRES_PASSWORD psql -h {{- include "postgresql.service" . -}} -U postgres -f cloud-sdk-schema-postgresql.sql
exit
resources:
requests:
cpu: 50m
memory: 256Mi
terminationMessagePath: /dev/termination-log
terminationMessagePolicy: File
volumeMounts:
- mountPath: /dev/shm
name: dshm
- mountPath: /bitnami/postgresql
name: data
{{- end }}
containers:
- name: {{ .Chart.Name }}
securityContext:
{{- toYaml .Values.securityContext | nindent 12 }}
{{- if .Values.global.testingEnabled }}
image: {{ .Values.global.repository }}/{{ .Values.image.name }}:{{ .Values.image.tag }}-{{.Values.global.testingTimestamp}}
{{- else }}
image: {{ .Values.global.repository }}/{{ .Values.image.name }}:{{ .Values.image.tag }}
{{- end }}
imagePullPolicy: {{ .Values.pullPolicy | default .Values.global.pullPolicy }}
env:
- name: BACKEND_SERVER
value: {{ .Release.Name }}-{{ .Chart.Name }}
{{- if .Values.probes.enabled }}
livenessProbe:
httpGet:
path: /ping
port: {{ .Values.service.port1 }}
scheme: {{ .Values.probes.livenessProbe.scheme }}
initialDelaySeconds: {{ .Values.probes.livenessProbe.initialDelaySeconds }}
timeoutSeconds: {{ .Values.probes.livenessProbe.timeoutSeconds }}
failureThreshold: {{ .Values.probes.livenessProbe.failureThreshold }}
periodSeconds: {{ .Values.probes.livenessProbe.periodSeconds }}
successThreshold: {{ .Values.probes.livenessProbe.successThreshold }}
readinessProbe:
httpGet:
path: /ping
port: {{ .Values.service.port1 }}
scheme: {{ .Values.probes.readinessProbe.scheme }}
initialDelaySeconds: {{ .Values.probes.readinessProbe.initialDelaySeconds }}
timeoutSeconds: {{ .Values.probes.readinessProbe.timeoutSeconds }}
failureThreshold: {{ .Values.probes.readinessProbe.failureThreshold }}
periodSeconds: {{ .Values.probes.readinessProbe.periodSeconds }}
successThreshold: {{ .Values.probes.readinessProbe.successThreshold }}
{{- end }}
volumeMounts:
- mountPath: /opt/tip-wlan/certs/client_keystore.jks
name: certificates
subPath: client_keystore.jks
- mountPath: /opt/tip-wlan/certs/truststore.jks
name: certificates
subPath: truststore.jks
- mountPath: /opt/tip-wlan/certs/server.pkcs12
name: certificates
subPath: server.pkcs12
- mountPath: /app/intcloudcomp/logback.xml
name: logback-config
subPath: logback.xml
ports:
- name: {{ .Values.service.name1 }}
containerPort: {{ .Values.service.port1 }}
protocol: TCP
- name: {{ .Values.service.name2 }}
containerPort: {{ .Values.service.port2 }}
protocol: TCP
resources:
{{- toYaml .Values.resources | nindent 12 }}
- name: {{ .Chart.Name }}
securityContext:
{{- toYaml .Values.securityContext | nindent 12 }}
{{- if .Values.global.testingEnabled }}
image: {{ .Values.global.repository.registry }}/{{ .Values.image.name }}:{{ .Values.image.tag }}-{{.Values.global.testingTimestamp}}
{{- else }}
image: {{ .Values.global.repository.registry }}/{{ .Values.image.name }}:{{ .Values.image.tag }}
{{- end }}
imagePullPolicy: {{ .Values.pullPolicy | default .Values.global.pullPolicy }}
env:
- name: BACKEND_SERVER
value: {{ .Release.Name }}-{{ .Chart.Name }}
{{- if .Values.probes.enabled }}
livenessProbe:
httpGet:
path: /ping
port: {{ .Values.service.port1 }}
scheme: {{ .Values.probes.livenessProbe.scheme }}
initialDelaySeconds: {{ .Values.probes.livenessProbe.initialDelaySeconds }}
timeoutSeconds: {{ .Values.probes.livenessProbe.timeoutSeconds }}
failureThreshold: {{ .Values.probes.livenessProbe.failureThreshold }}
periodSeconds: {{ .Values.probes.livenessProbe.periodSeconds }}
successThreshold: {{ .Values.probes.livenessProbe.successThreshold }}
readinessProbe:
httpGet:
path: /ping
port: {{ .Values.service.port1 }}
scheme: {{ .Values.probes.readinessProbe.scheme }}
initialDelaySeconds: {{ .Values.probes.readinessProbe.initialDelaySeconds }}
timeoutSeconds: {{ .Values.probes.readinessProbe.timeoutSeconds }}
failureThreshold: {{ .Values.probes.readinessProbe.failureThreshold }}
periodSeconds: {{ .Values.probes.readinessProbe.periodSeconds }}
successThreshold: {{ .Values.probes.readinessProbe.successThreshold }}
startupProbe:
httpGet:
path: /ping
port: {{ .Values.service.port1 }}
scheme: {{ .Values.probes.readinessProbe.scheme }}
failureThreshold: {{ .Values.probes.startupProbe.failureThreshold }}
periodSeconds: {{ .Values.probes.startupProbe.periodSeconds}}
{{- end }}
volumeMounts:
- mountPath: /opt/tip-wlan/certs/client_keystore.jks
name: certificates
subPath: client_keystore.jks
- mountPath: /opt/tip-wlan/certs/truststore.jks
name: certificates
subPath: truststore.jks
- mountPath: /opt/tip-wlan/certs/server.pkcs12
name: certificates
subPath: server.pkcs12
- mountPath: /app/intcloudcomp/logback.xml
name: logback-config
subPath: logback.xml
ports:
- name: {{ .Values.service.name1 }}
containerPort: {{ .Values.service.port1 }}
protocol: TCP
- name: {{ .Values.service.name2 }}
containerPort: {{ .Values.service.port2 }}
protocol: TCP
resources:
{{- toYaml .Values.resources | nindent 12 }}
{{- with .Values.nodeSelector }}
nodeSelector:
{{- toYaml . | nindent 8 }}
@@ -150,7 +155,7 @@ spec:
volumes:
- name: certificates
secret:
secretName: {{ include "common.fullname" . }}-certs
secretName: tip-common-postgres-client-certs
- name: logback-config
configMap:
name: {{ include "common.fullname" . }}-log-config

View File

@@ -1,4 +1,5 @@
{{- if .Values.global.integratedDeployment }}
---
apiVersion: v1
kind: Secret
metadata:
@@ -7,9 +8,8 @@ metadata:
type: Opaque
data:
{{ tpl (.Files.Glob "resources/config/certs/*").AsSecrets . | indent 2 }}
{{- end}}
---
{{- if .Values.global.integratedDeployment }}
apiVersion: v1
kind: Secret
metadata:
@@ -22,9 +22,7 @@ metadata:
heritage: {{ .Release.Service | quote }}
type: Opaque
data:
{{- if .Values.creds.enabled }}
postgresql-password: {{ .Values.creds.postgres.password | b64enc | quote }}
schema-repo-user: {{ .Values.creds.schema_repo.username | b64enc | quote }}
schema-repo-password: {{ .Values.creds.schema_repo.password | b64enc | quote }}
{{- end }}
postgresql-password: {{ .Values.global.postgres.password | b64enc | quote }}
schema-repo-user: {{ .Values.global.schema.username | b64enc | quote }}
schema-repo-password: {{ .Values.global.schema.password | b64enc | quote }}
{{- end}}

View File

@@ -11,7 +11,7 @@ metadata:
spec:
containers:
- name: wget
image: busybox
image: {{ .Values.testConnectionImage.registry }}/{{ .Values.testConnectionImage.repository }}:{{ .Values.testConnectionImage.tag }}
command: ['wget']
args: ['{{ include "common.fullname" . }}:{{ .Values.service.port1 }}']
restartPolicy: Never

View File

@@ -11,7 +11,22 @@ replicaCount: 1
image:
name: wlan-integrated-cloud-component-service
tag: 0.0.1-SNAPSHOT
tag: 1.2.0-SNAPSHOT
waitForServicesImage:
registry: tip-docker-cache-repo.jfrog.io
repository: opsfleet/depends-on
tag: v1.0.0
testConnectionImage:
registry: tip-docker-cache-repo.jfrog.io
repository: library/alpine
tag: 3.13
createDbSchemaImage:
registry: tip-docker-cache-repo.jfrog.io
repository: library/postgres
tag: 13.2-alpine
nameOverride: ""
fullnameOverride: ""
@@ -46,6 +61,9 @@ probes:
successThreshold: 1
failureThreshold: 3
scheme: HTTPS
startupProbe:
periodSeconds: 30
failureThreshold: 500
securityContext: {}
# capabilities:
@@ -58,14 +76,6 @@ securityContext: {}
# Enable/Disable Helm tests
testsEnabled: false
creds:
enabled: true
postgres:
password: DUMMY_POSTGRES_PASSWORD
schema_repo:
username: DUMMY_SCHEMA_REPO_USERNAME
password: DUMMY_SCHEMA_REPO_PASSWORD
service:
type: NodePort
port1: 9091
@@ -75,7 +85,7 @@ service:
name2: secondary-port
nodePort2: 52
postgresql:
postgresql:
url: postgresql-headless
integratedWithPersistence:
@@ -86,19 +96,19 @@ ingress:
annotations: {}
# kubernetes.io/ingress.class: nginx
# kubernetes.io/tls-acme: "true"
hosts:
- host: example.com
paths: [
/portal
]
tls:
- secretName: portal-secret
hosts:
- example.com
hosts: []
# - host: wlan-integrated-cloud-component-service.local
# paths: [
# /portal
# ]
tls: []
# - secretName: portal-secret
# hosts:
# - wlan-integrated-cloud-component-service.local
# Transport-Server-passthrough properties
tsp:
host: wlan-portal-service.zone3.lab.connectus.ai
host: wlan-portal-service.local
resources: {}
# We usually recommend not to specify default resources and to leave this as a conscious

View File

@@ -1,2 +0,0 @@
Contains certs needed for this service to start.
Please refer to page: https://telecominfraproject.atlassian.net/wiki/spaces/WIFI/pages/262176803/Pre-requisites+before+deploying+Tip-Wlan+solution

View File

@@ -46,7 +46,6 @@
</triggeringPolicy>
</appender>
<!--
details: http://logback.qos.ch/manual/configuration.html#auto_configuration
@@ -71,5 +70,5 @@
<appender-ref ref="stdout"/>
<appender-ref ref="logfile"/>
</root>
</configuration>

View File

@@ -4,4 +4,5 @@ metadata:
name: {{ include "common.fullname" . }}-config
namespace: {{ include "common.namespace" . }}
data:
{{ tpl (.Files.Glob "resources/config/*").AsConfig . | indent 2 }}
{{ (.Files.Glob "resources/config/logback.xml").AsConfig | indent 2 }}

View File

@@ -22,9 +22,10 @@ spec:
securityContext:
{{- toYaml .Values.podSecurityContext | nindent 8 }}
initContainers:
{{- include "jmxPrometheus.initContainer" . | nindent 8 }}
- name: {{ include "common.name" . }}-readiness-opensync-gw
image: alpine
imagePullPolicy: {{ .Values.pullPolicy | default .Values.global.pullPolicy }}
image: {{ .Values.opensyncGwReadinessImage.registry }}/{{ .Values.opensyncGwReadinessImage.repository }}:{{ .Values.opensyncGwReadinessImage.tag }}
imagePullPolicy: {{ .Values.pullPolicy | default .Values.global.pullPolicy }}
command:
- sh
- -c
@@ -47,17 +48,17 @@ spec:
else
echo ${url} service failed to respond after 50 secs
exit 1
fi
fi
containers:
- name: {{ .Chart.Name }}
securityContext:
{{- toYaml .Values.securityContext | nindent 12 }}
{{- if .Values.global.testingEnabled }}
image: {{ .Values.global.repository }}/{{ .Values.image.name }}:{{ .Values.image.tag }}-{{.Values.global.testingTimestamp}}
image: {{ .Values.global.repository.registry }}/{{ .Values.image.name }}:{{ .Values.image.tag }}-{{.Values.global.testingTimestamp}}
{{- else }}
image: {{ .Values.global.repository }}/{{ .Values.image.name }}:{{ .Values.image.tag }}
image: {{ .Values.global.repository.registry }}/{{ .Values.image.name }}:{{ .Values.image.tag }}
{{- end }}
imagePullPolicy: {{ .Values.pullPolicy | default .Values.global.pullPolicy }}
imagePullPolicy: {{ .Values.pullPolicy | default .Values.global.pullPolicy }}
env:
{{- include "common.env" . | nindent 12 }}
- name: PF_GATEWAY_RELEASE_URL
@@ -75,13 +76,15 @@ spec:
value: "{{ include "apDebugPortsStart" . }}"
- name: EXT_PORT_RANGE_END
value: "{{ sub (include "apDebugPortsEnd" . | atoi) 1 }}"
- name: JVM_MEM_OPTIONS
value: "{{ include "jmxPrometheus.jvmOpts" . }}"
{{- if .Values.probes.enabled }}
livenessProbe:
httpGet:
path: /ping
port: {{ .Values.service.port2 }}
scheme: {{ .Values.probes.livenessProbe.scheme }}
initialDelaySeconds: {{ .Values.probes.livenessProbe.initialDelaySeconds }}
initialDelaySeconds: {{ .Values.probes.livenessProbe.initialDelaySeconds }}
timeoutSeconds: {{ .Values.probes.livenessProbe.timeoutSeconds }}
failureThreshold: {{ .Values.probes.livenessProbe.failureThreshold }}
periodSeconds: {{ .Values.probes.livenessProbe.periodSeconds }}
@@ -96,6 +99,13 @@ spec:
failureThreshold: {{ .Values.probes.readinessProbe.failureThreshold }}
periodSeconds: {{ .Values.probes.readinessProbe.periodSeconds }}
successThreshold: {{ .Values.probes.readinessProbe.successThreshold }}
startupProbe:
httpGet:
path: /ping
port: {{ .Values.service.port2 }}
scheme: {{ .Values.probes.readinessProbe.scheme }}
failureThreshold: {{ .Values.probes.startupProbe.failureThreshold }}
periodSeconds: {{ .Values.probes.startupProbe.periodSeconds}}
{{- end }}
volumeMounts:
- mountPath: /opt/tip-wlan/certs/client_keystore.jks
@@ -110,6 +120,8 @@ spec:
- mountPath: /app/port-forwarding-gateway/logback.xml
name: configuration
subPath: logback.xml
{{- include "jmxPrometheus.configVolumeMount" . | nindent 10 }}
{{- include "jmxPrometheus.tmpVolumeMount" . | nindent 10 }}
ports:
- name: {{ .Values.service.name1 }}
@@ -124,6 +136,7 @@ spec:
protocol: TCP
{{- end }}
{{- include "container.dev.apDebugPorts" . | nindent 10 }}
{{- include "jmxPrometheus.port" . | nindent 12 }}
resources:
{{- toYaml .Values.resources | nindent 12 }}
{{- with .Values.nodeSelector }}
@@ -141,9 +154,11 @@ spec:
volumes:
- name: certificates
secret:
secretName: {{ include "common.fullname" . }}-certs
secretName: tip-common-kafka-client-certs
defaultMode: 0400
- name: configuration
configMap:
name: {{ include "common.fullname" . }}-config
defaultMode: 0755
defaultMode: 0755
{{- include "jmxPrometheus.configVolume" . | nindent 6 }}
{{- include "jmxPrometheus.tmpVolume" . | nindent 6 }}

View File

@@ -0,0 +1 @@
{{ include "jmxPrometheus.podMonitor" . }}

View File

@@ -1,14 +1,5 @@
apiVersion: v1
kind: Secret
metadata:
name: {{ include "common.fullname" . }}-certs
namespace: {{ include "common.namespace" . }}
type: Opaque
data:
{{ tpl (.Files.Glob "resources/config/certs/*").AsSecrets . | indent 2 }}
---
apiVersion: v1
kind: Secret
metadata:
name: {{ include "common.fullname" . }}-creds
namespace: {{ include "common.namespace" . }}
@@ -19,6 +10,4 @@ metadata:
heritage: {{ .Release.Service | quote }}
type: Opaque
data:
{{- if .Values.creds.enabled }}
websocketSessionTokenEncKey: {{ .Values.creds.websocketSessionTokenEncKey | b64enc | quote }}
{{- end }}
websocketSessionTokenEncKey: {{ .Values.creds.websocketSessionTokenEncKey | b64enc | quote }}

View File

@@ -30,7 +30,7 @@ spec:
{{- if and .Values.service.nodePortStatic (eq .Values.service.type "NodePort") }}
nodePort: {{ .Values.global.nodePortPrefixExt | default .Values.nodePortPrefixExt }}{{ .Values.service.nodePort3 }}
{{- end }}
{{- end }}
{{- end }}
{{- include "service.dev.apDebugPorts" . | nindent 2 }}
selector:
{{- include "common.selectorLabels" . | nindent 4 }}

View File

@@ -11,7 +11,7 @@ metadata:
spec:
containers:
- name: wget
image: busybox
image: {{ .Values.testConnectionImage.registry }}/{{ .Values.testConnectionImage.repository }}:{{ .Values.testConnectionImage.tag }}
command: ['wget']
args: ['{{ include "common.fullname" . }}:{{ .Values.service.port1 }}']
restartPolicy: Never

View File

@@ -11,7 +11,17 @@ replicaCount: 1
image:
name: wlan-port-forwarding-gateway-service
tag: 0.0.1-SNAPSHOT
tag: 1.2.0-SNAPSHOT
opensyncGwReadinessImage:
registry: tip-docker-cache-repo.jfrog.io
repository: library/alpine
tag: 3.13
testConnectionImage:
registry: tip-docker-cache-repo.jfrog.io
repository: library/alpine
tag: 3.13
nameOverride: ""
fullnameOverride: ""
@@ -50,6 +60,9 @@ probes:
successThreshold: 1
failureThreshold: 3
scheme: HTTPS
startupProbe:
periodSeconds: 30
failureThreshold: 500
securityContext:
privileged: true
@@ -64,7 +77,7 @@ securityContext:
testsEnabled: false
# Enable/Disable Remote debugging
debug:
debug:
enabled: false
service:
@@ -84,11 +97,11 @@ service:
# e.g. nodePortPrefixExt = 304, accessPointDebugPortRange.start = 10, accessPointDebugPortRange.length = 2, resulting ports = 30410, 30411
# These ports are the ports that Java would choose as Local ports whenever it opens up
# a developer session for debug.
# These ports are therefore assigned as container ports (in the deployment.yaml), so we
# These ports are therefore assigned as container ports (in the deployment.yaml), so we
# can reach them from inside the cluster.
# Also, we open equivalent NodePorts on the Kubernetes cluster (see service.yaml), so a developer
# can connect to it to debug an AP.
# NOTE: Another way to reach these container ports without opening NodePorts was to use
# NOTE: Another way to reach these container ports without opening NodePorts was to use
# kubectl port forwarding. However, we dont want the developer to install kubectl.
accessPointDebugPortRange:
@@ -96,7 +109,6 @@ accessPointDebugPortRange:
length: 26
creds:
enabled: true
websocketSessionTokenEncKey: DUMMY_ENC_KEY
opensyncgw:
@@ -111,9 +123,9 @@ ingress:
hosts:
- host: example.com
paths: [
/portal
/portal
]
tls:
tls:
- secretName: portal-secret
hosts:
- example.com
@@ -123,7 +135,7 @@ resources:
cpu: 500m
memory: 350Mi
requests:
cpu: 50m
cpu: 10m
memory: 280Mi
nodeSelector: {}
@@ -150,4 +162,3 @@ env:
service: wlan-port-forwarding-gateway-service
port: 7070

View File

@@ -1,2 +0,0 @@
Contains certs needed for this service to start.
Please refer to page: https://telecominfraproject.atlassian.net/wiki/spaces/WIFI/pages/262176803/Pre-requisites+before+deploying+Tip-Wlan+solution

View File

@@ -7,7 +7,7 @@
<!-- For professional support please see -->
<!-- http://www.qos.ch/shop/products/professionalSupport -->
<!-- -->
<configuration>
<configuration scan="true" scanPeriod="30 seconds">
<conversionRule conversionWord="filteredStack"
converterClass="com.telecominfraproject.wlan.server.exceptions.logback.ExceptionCompressingConverter" />
@@ -46,7 +46,6 @@
</triggeringPolicy>
</appender>
<!--
details: http://logback.qos.ch/manual/configuration.html#auto_configuration
@@ -71,5 +70,5 @@
<appender-ref ref="stdout"/>
<appender-ref ref="logfile"/>
</root>
</configuration>

View File

@@ -0,0 +1,14 @@
truststorePass={{ .Values.global.certificatePasswords.sslTruststore }}
truststoreFile=file:///opt/tip-wlan/certs/truststore.jks
truststoreType=JKS
truststoreProvider=SUN
keyAlias=1
keystorePass={{ .Values.global.certificatePasswords.sslKeystore }}
keystoreFile=file:///opt/tip-wlan/certs/server.pkcs12
keystoreType=pkcs12
keystoreProvider=SunJSSE
sslProtocol=TLS
sslEnabledProtocols=TLSv1.2,TLSv1.1,TLSv1
sslCiphers=TLS_RSA_WITH_AES_128_CBC_SHA256,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA,TLS_DHE_RSA_WITH_AES_128_GCM_SHA256,TLS_DHE_RSA_WITH_AES_128_CBC_SHA256,TLS_DHE_RSA_WITH_AES_128_CBC_SHA

View File

@@ -4,4 +4,4 @@ metadata:
name: {{ include "common.fullname" . }}-log-config
namespace: {{ include "common.namespace" . }}
data:
{{ tpl (.Files.Glob "resources/config/logback.xml").AsConfig . | indent 2 }}
{{ (.Files.Glob "resources/config/logback.xml").AsConfig | indent 2 }}

View File

@@ -1,7 +1,9 @@
{{- if .Values.ingress.enabled -}}
{{- $fullName := include "common.fullname" . -}}
{{- $svcPort := .Values.service.port1 -}}
{{- if semverCompare ">=1.14-0" .Capabilities.KubeVersion.GitVersion -}}
{{- if .Capabilities.APIVersions.Has "networking.k8s.io/v1/Ingress" }}
apiVersion: networking.k8s.io/v1
{{- else if .Capabilities.APIVersions.Has "networking.k8s.io/v1beta1/Ingress" }}
apiVersion: networking.k8s.io/v1beta1
{{- else -}}
apiVersion: extensions/v1beta1
@@ -34,15 +36,35 @@ spec:
paths:
{{- if $.Values.ingress.lb_https_redirect }}
- path: /*
{{- if $.Capabilities.APIVersions.Has "networking.k8s.io/v1/Ingress" }}
pathType: ImplementationSpecific
{{- end }}
backend:
{{- if $.Capabilities.APIVersions.Has "networking.k8s.io/v1/Ingress" }}
service:
name: ssl-redirect
port:
name: use-annotation
{{- else -}}
serviceName: ssl-redirect
servicePort: use-annotation
{{- end }}
{{- end }}
{{- range .paths }}
- path: {{ . }}
{{- if $.Capabilities.APIVersions.Has "networking.k8s.io/v1/Ingress" }}
pathType: ImplementationSpecific
{{- end }}
backend:
{{- if $.Capabilities.APIVersions.Has "networking.k8s.io/v1/Ingress" }}
service:
name: {{ $fullName }}
port:
number: {{ $svcPort }}
{{- else -}}
serviceName: {{ $fullName }}
servicePort: {{ $svcPort }}
{{- end -}}
{{- end }}
{{- end }}
{{- end }}

View File

@@ -0,0 +1 @@
{{ include "jmxPrometheus.podMonitor" . }}

View File

@@ -1,8 +1,10 @@
{{- if not .Values.tlsv13.enabled }}
apiVersion: v1
kind: Secret
metadata:
name: {{ include "common.fullname" . }}-certs
name: {{ include "common.fullname" . }}-ssl-config
namespace: {{ include "common.namespace" . }}
type: Opaque
data:
{{ tpl (.Files.Glob "resources/config/certs/*").AsSecrets . | indent 2 }}
ssl.properties: {{ tpl ( .Files.Get "resources/config/ssl.properties" ) . | b64enc }}
{{- end }}

View File

@@ -7,6 +7,7 @@ metadata:
labels:
{{- include "common.labels" . | nindent 4 }}
spec:
podManagementPolicy: Parallel
serviceName: {{ include "common.fullname" . }}
replicas: {{ .Values.replicaCount }}
selector:
@@ -44,16 +45,18 @@ spec:
serviceAccountName: {{ include "common.serviceAccountName" . }}
securityContext:
{{- toYaml .Values.podSecurityContext | nindent 8 }}
initContainers:
{{- include "jmxPrometheus.initContainer" . | nindent 6 }}
containers:
- name: {{ .Chart.Name }}
securityContext:
{{- toYaml .Values.securityContext | nindent 12 }}
{{- if .Values.global.testingEnabled }}
image: {{ .Values.global.repository }}/{{ .Values.image.name }}:{{ .Values.image.tag }}-{{.Values.global.testingTimestamp}}
image: {{ .Values.global.repository.registry }}/{{ .Values.image.name }}:{{ .Values.image.tag }}-{{.Values.global.testingTimestamp}}
{{- else }}
image: {{ .Values.global.repository }}/{{ .Values.image.name }}:{{ .Values.image.tag }}
image: {{ .Values.global.repository.registry }}/{{ .Values.image.name }}:{{ .Values.image.tag }}
{{- end }}
imagePullPolicy: {{ .Values.pullPolicy | default .Values.global.pullPolicy }}
imagePullPolicy: {{ .Values.pullPolicy | default .Values.global.pullPolicy }}
env:
{{- include "common.env" . | nindent 12 }}
- name: FILE_STORE_DIRECTORY_INTERNAL
@@ -71,7 +74,7 @@ spec:
- name: tip_wlan_maxHttpThreads
value: "{{ .Values.scalability.tip_wlan_maxHttpThreads }}"
- name: JVM_MEM_OPTIONS
value: "{{ .Values.scalability.JVM_MEM_OPTIONS }}"
value: "{{ .Values.scalability.JVM_MEM_OPTIONS }} {{ include "jmxPrometheus.jvmOpts" . }}"
{{- if .Values.probes.enabled }}
livenessProbe:
httpGet:
@@ -93,6 +96,13 @@ spec:
failureThreshold: {{ .Values.probes.readinessProbe.failureThreshold }}
periodSeconds: {{ .Values.probes.readinessProbe.periodSeconds }}
successThreshold: {{ .Values.probes.readinessProbe.successThreshold }}
startupProbe:
httpGet:
path: /ping
port: {{ .Values.service.port1 }}
scheme: {{ .Values.probes.readinessProbe.scheme }}
failureThreshold: {{ .Values.probes.startupProbe.failureThreshold }}
periodSeconds: {{ .Values.probes.startupProbe.periodSeconds}}
{{- end }}
volumeMounts:
- mountPath: /opt/tip-wlan/certs/client_keystore.jks
@@ -104,11 +114,16 @@ spec:
- mountPath: /opt/tip-wlan/certs/server.pkcs12
name: certificates
subPath: server.pkcs12
- mountPath: /app/portal/logback.xml
- mountPath: /app/portal/log
name: logback-config
subPath: logback.xml
{{- if not .Values.tlsv13.enabled }}
- mountPath: /app/portal/certs
name: ssl-config
{{- end }}
- mountPath: {{ $file_store_path }}
name: file-store-data
{{- include "jmxPrometheus.configVolumeMount" . | nindent 10 }}
{{- include "jmxPrometheus.tmpVolumeMount" . | nindent 10 }}
ports:
- name: {{ .Values.service.name1 }}
containerPort: {{ .Values.service.port1 }}
@@ -121,6 +136,7 @@ spec:
containerPort: {{ .Values.service.port3 }}
protocol: TCP
{{- end }}
{{- include "jmxPrometheus.port" . | nindent 12 }}
resources:
{{- toYaml .Values.resources | nindent 12 }}
{{- with .Values.nodeSelector }}
@@ -139,14 +155,21 @@ spec:
volumes:
- name: certificates
secret:
secretName: {{ include "common.fullname" . }}-certs
secretName: tip-common-postgres-client-certs
- name: logback-config
configMap:
name: {{ include "common.fullname" . }}-log-config
{{- if not .Values.tlsv13.enabled }}
- name: ssl-config
secret:
secretName: {{ include "common.fullname" . }}-ssl-config
{{- end }}
{{- if not .Values.persistence.enabled }}
- name: file-store-data
emptyDir: {}
{{- end }}
{{- include "jmxPrometheus.configVolume" . | nindent 6 }}
{{- include "jmxPrometheus.tmpVolume" . | nindent 6 }}
{{- if .Values.persistence.enabled }}
volumeClaimTemplates:
- metadata:

View File

@@ -11,8 +11,7 @@ metadata:
spec:
containers:
- name: wget
image: busybox
command: ['wget']
image: {{ .Values.testConnectionImage.registry }}/{{ .Values.testConnectionImage.repository }}:{{ .Values.testConnectionImage.tag }}
args: ['{{ include "common.fullname" . }}:{{ .Values.service.port1 }}']
restartPolicy: Never
{{- end }}

View File

@@ -9,11 +9,14 @@
replicaCount: 1
image:
name: wlan-portal-service
tag: 0.0.1-SNAPSHOT
tag: 1.2.0-SNAPSHOT
testConnectionImage:
registry: tip-docker-cache-repo.jfrog.io
repository: library/alpine
tag: 3.13
nameOverride: ""
fullnameOverride: ""
@@ -48,6 +51,9 @@ probes:
successThreshold: 1
failureThreshold: 3
scheme: HTTPS
startupProbe:
periodSeconds: 30
failureThreshold: 500
securityContext: {}
# capabilities:
@@ -97,15 +103,15 @@ ingress:
annotations: {}
# kubernetes.io/ingress.class: nginx
# kubernetes.io/tls-acme: "true"
hosts:
- host: wlan-portal-service.zone3.lab.connectus.ai
paths: [
/portal
]
tls:
- secretName: portal-secret
hosts:
- wlan-portal-service.zone3.lab.connectus.ai
hosts: []
# - host: wlan-portal-service.local
# paths: [
# /portal
# ]
tls: []
# - secretName: portal-secret
# hosts:
# - wlan-portal-service.local
resources:
limits:
@@ -135,7 +141,7 @@ affinity: {}
# Transport-Server-passthrough properties
tsp:
host: wlan-portal-service.zone3.lab.connectus.ai
host: wlan-portal-service.local
env:
protocol: https
@@ -152,3 +158,6 @@ env:
# on the PV
filestore:
internal: "/tmp/filestore"
tlsv13:
enabled: true

View File

@@ -1,2 +0,0 @@
Contains certs needed for this service to start.
Please refer to page: https://telecominfraproject.atlassian.net/wiki/spaces/WIFI/pages/262176803/Pre-requisites+before+deploying+Tip-Wlan+solution

View File

@@ -46,7 +46,6 @@
</triggeringPolicy>
</appender>
<!--
details: http://logback.qos.ch/manual/configuration.html#auto_configuration
@@ -71,5 +70,5 @@
<appender-ref ref="stdout"/>
<appender-ref ref="logfile"/>
</root>
</configuration>

View File

@@ -4,11 +4,11 @@ metadata:
name: {{ include "common.fullname" . }}-log-config
namespace: {{ include "common.namespace" . }}
data:
{{ tpl (.Files.Glob "resources/config/*").AsConfig . | indent 2 }}
{{ (.Files.Glob "resources/config/logback.xml").AsConfig | indent 2 }}
datasource.properties: |-
singleDataSource.url=jdbc:postgresql://{{- include "postgresql.service" . -}}:5432/prov_db
singleDataSource.username={{ .Values.creds.postgres.singleDataSourceUsername }}
singleDataSource.password={{ .Values.creds.postgres.singleDataSourcePassword }}
singleDataSource.username={{ .Values.global.postgres.singleDataSource.username }}
singleDataSource.password={{ .Values.global.postgres.singleDataSource.password }}
singleDataSource.driverClass=org.postgresql.Driver
singleDataSource.ssl=true
singleDataSource.sslmode=verify-ca
@@ -16,4 +16,4 @@ data:
singleDataSource.sslfactory=org.postgresql.ssl.LibPQFactory
singleDataSource.sslkey=/opt/tip-wlan/certs/postgresclient.p12
singleDataSource.sslrootcert=/opt/tip-wlan/certs/cacert.pem
singleDataSource.sslkeypassword={{ .Values.creds.postgres.singleDataSourceSslKeyPassword }}
singleDataSource.sslkeypassword={{ .Values.global.certificatePasswords.sslKey }}

View File

@@ -23,8 +23,9 @@ spec:
securityContext:
{{- toYaml .Values.podSecurityContext | nindent 8 }}
initContainers:
{{- include "jmxPrometheus.initContainer" . | nindent 8 }}
- name: wait-for-services
image: opsfleet/depends-on:latest
image: {{ .Values.waitForServicesImage.registry }}/{{ .Values.waitForServicesImage.repository }}:{{ .Values.waitForServicesImage.tag }}
args:
- "-service={{ .Release.Name }}-postgresql"
- -check_interval=5
@@ -52,8 +53,8 @@ spec:
secretKeyRef:
name: {{ include "common.fullname" . }}-creds
key: schema-repo-password
image: {{ .Values.postgresql.image }}
imagePullPolicy: {{ .Values.pullPolicy | default .Values.global.pullPolicy }}
image: {{ .Values.postgresql.registry }}/{{ .Values.postgresql.repository }}:{{ .Values.postgresql.tag }}
imagePullPolicy: {{ .Values.pullPolicy | default .Values.global.pullPolicy }}
command:
- sh
- -c
@@ -61,8 +62,8 @@ spec:
apt update
apt -y install curl
echo "***** Fetching latest cloud-sdk-schema-postgresql for DB and Tables sql from JFrog *****"
curl --insecure -u$SCHEMA_REPO_USER:$SCHEMA_REPO_PASSWORD -O "https://tip-tip-wlan-cloud-docker-repo.jfrog.io/artifactory/tip-wlan-cloud-schemas/0.0.1-SNAPSHOT/sql/cloud-sdk-schema-postgresql-db-user.sql"
curl --insecure -u$SCHEMA_REPO_USER:$SCHEMA_REPO_PASSWORD -O "https://tip-tip-wlan-cloud-docker-repo.jfrog.io/artifactory/tip-wlan-cloud-schemas/0.0.1-SNAPSHOT/sql/cloud-sdk-schema-postgresql-tables.sql"
curl --insecure -u$SCHEMA_REPO_USER:$SCHEMA_REPO_PASSWORD -O "https://tip-tip-wlan-cloud-docker-repo.jfrog.io/artifactory/tip-wlan-cloud-schemas/1.2.0-SNAPSHOT/sql/cloud-sdk-schema-postgresql-db-user.sql"
curl --insecure -u$SCHEMA_REPO_USER:$SCHEMA_REPO_PASSWORD -O "https://tip-tip-wlan-cloud-docker-repo.jfrog.io/artifactory/tip-wlan-cloud-schemas/1.2.0-SNAPSHOT/sql/cloud-sdk-schema-postgresql-tables.sql"
echo "***** Now executing cloud-sdk-schema-postgresql-db-user.sql on host {{ $pg }} and creating db prov_db and user tip_user using User Postgres. This uses full client-cert authentication *****"
### Observed that PSQL was unable to resolve the Postgres-service host because the postgres service wasnt
### really ready when running Postgres in Master-Slave config... hence the below retry-logic
@@ -119,11 +120,11 @@ spec:
securityContext:
{{- toYaml .Values.securityContext | nindent 12 }}
{{- if .Values.global.testingEnabled }}
image: {{ .Values.global.repository }}/{{ .Values.image.name }}:{{ .Values.image.tag }}-{{.Values.global.testingTimestamp}}
image: {{ .Values.global.repository.registry }}/{{ .Values.image.name }}:{{ .Values.image.tag }}-{{.Values.global.testingTimestamp}}
{{- else }}
image: {{ .Values.global.repository }}/{{ .Values.image.name }}:{{ .Values.image.tag }}
image: {{ .Values.global.repository.registry }}/{{ .Values.image.name }}:{{ .Values.image.tag }}
{{- end }}
imagePullPolicy: {{ .Values.pullPolicy | default .Values.global.pullPolicy }}
imagePullPolicy: {{ .Values.pullPolicy | default .Values.global.pullPolicy }}
env:
{{- include "common.env" . | nindent 12 }}
- name: tip_wlan_AsyncExecutor_CorePoolSize
@@ -139,7 +140,7 @@ spec:
- name: tip_wlan_maxHttpThreads
value: "{{ .Values.scalability.tip_wlan_maxHttpThreads }}"
- name: JVM_MEM_OPTIONS
value: "{{ .Values.scalability.JVM_MEM_OPTIONS }}"
value: "{{ .Values.scalability.JVM_MEM_OPTIONS }} {{ include "jmxPrometheus.jvmOpts" . }}"
- name: singleDataSource_maxTotalConnections
value: "{{ .Values.scalability.singleDataSource_maxTotalConnections }}"
- name: singleDataSource_maxIdleConnections
@@ -169,6 +170,13 @@ spec:
failureThreshold: {{ .Values.probes.readinessProbe.failureThreshold }}
periodSeconds: {{ .Values.probes.readinessProbe.periodSeconds }}
successThreshold: {{ .Values.probes.readinessProbe.successThreshold }}
startupProbe:
httpGet:
path: /ping
port: {{ .Values.service.port2 }}
scheme: {{ .Values.probes.readinessProbe.scheme }}
failureThreshold: {{ .Values.probes.startupProbe.failureThreshold }}
periodSeconds: {{ .Values.probes.startupProbe.periodSeconds}}
{{- end }}
volumeMounts:
- mountPath: /opt/tip-wlan/certs/client_keystore.jks
@@ -195,6 +203,8 @@ spec:
- mountPath: /app/prov/datasource.properties
name: logback-config
subPath: datasource.properties
{{- include "jmxPrometheus.configVolumeMount" . | nindent 10 }}
{{- include "jmxPrometheus.tmpVolumeMount" . | nindent 10 }}
ports:
- name: {{ .Values.service.name1 }}
containerPort: {{ .Values.service.port1 }}
@@ -207,6 +217,7 @@ spec:
containerPort: {{ .Values.service.port3 }}
protocol: TCP
{{- end }}
{{- include "jmxPrometheus.port" . | nindent 12 }}
resources:
{{- toYaml .Values.resources | nindent 12 }}
{{- with .Values.nodeSelector }}
@@ -224,7 +235,7 @@ spec:
volumes:
- name: certificates
secret:
secretName: {{ include "common.fullname" . }}-certs
secretName: tip-common-postgres-client-certs
defaultMode: 0400
- name: logback-config
configMap:
@@ -233,3 +244,5 @@ spec:
emptyDir: {}
- name: dshm
emptyDir: {}
{{- include "jmxPrometheus.configVolume" . | nindent 6 }}
{{- include "jmxPrometheus.tmpVolume" . | nindent 6 }}

View File

@@ -0,0 +1 @@
{{ include "jmxPrometheus.podMonitor" . }}

View File

@@ -1,14 +1,5 @@
apiVersion: v1
kind: Secret
metadata:
name: {{ include "common.fullname" . }}-certs
namespace: {{ include "common.namespace" . }}
type: Opaque
data:
{{ tpl (.Files.Glob "resources/config/certs/*").AsSecrets . | indent 2 }}
---
apiVersion: v1
kind: Secret
metadata:
name: {{ include "common.fullname" . }}-creds
namespace: {{ include "common.namespace" . }}
@@ -19,9 +10,7 @@ metadata:
heritage: {{ .Release.Service | quote }}
type: Opaque
data:
{{- if .Values.creds.enabled }}
postgresql-password: {{ .Values.creds.db.postgresUser.password | b64enc | quote }}
tipuser-password: {{ .Values.creds.db.tipUser.password | b64enc | quote }}
schema-repo-user: {{ .Values.creds.schema_repo.username | b64enc | quote }}
schema-repo-password: {{ .Values.creds.schema_repo.password | b64enc | quote }}
{{- end }}
postgresql-password: {{ .Values.global.postgres.password | b64enc | quote }}
tipuser-password: {{ .Values.global.tip.password | b64enc | quote }}
schema-repo-user: {{ .Values.global.schema.username | b64enc | quote }}
schema-repo-password: {{ .Values.global.schema.password | b64enc | quote }}

View File

@@ -30,6 +30,6 @@ spec:
{{- if and .Values.service.nodePortStatic (eq .Values.service.type "NodePort") }}
nodePort: {{ .Values.global.nodePortPrefix }}{{ .Values.service.nodePort3 }}
{{- end }}
{{- end }}
{{- end }}
selector:
{{- include "common.selectorLabels" . | nindent 4 }}

View File

@@ -11,7 +11,7 @@ metadata:
spec:
containers:
- name: wget
image: busybox
image: {{ .Values.testConnectionImage.registry }}/{{ .Values.testConnectionImage.repository }}:{{ .Values.testConnectionImage.tag }}
command: ['wget']
args: ['{{ include "common.fullname" . }}:{{ .Values.service.port1 }}']
restartPolicy: Never

View File

@@ -11,7 +11,17 @@ replicaCount: 1
image:
name: wlan-prov-service
tag: 0.0.1-SNAPSHOT
tag: 1.2.0-SNAPSHOT
waitForServicesImage:
registry: tip-docker-cache-repo.jfrog.io
repository: opsfleet/depends-on
tag: v1.0.0
testConnectionImage:
registry: tip-docker-cache-repo.jfrog.io
repository: library/alpine
tag: 3.13
nameOverride: ""
fullnameOverride: ""
@@ -46,6 +56,9 @@ probes:
successThreshold: 1
failureThreshold: 3
scheme: HTTPS
startupProbe:
periodSeconds: 30
failureThreshold: 500
securityContext: {}
# capabilities:
@@ -58,22 +71,6 @@ securityContext: {}
# Enable/Disable Helm tests
testsEnabled: false
creds:
enabled: true
db:
postgresUser:
password: DUMMY_POSTGRES_PASSWORD
tipUser:
password: DUMMY_TIPUSER_PASSWORD
schema_repo:
username: DUMMY_SCHEMA_REPO_USERNAME
password: DUMMY_SCHEMA_REPO_PASSWORD
postgres:
singleDataSourceUsername: DUMMY_POSTGRES_USER
singleDataSourcePassword: DUMMY_POSTGRES_PASSWORD
singleDataSourceSslKeyPassword: DUMMY_SSL_PASSWORD
# Enable/Disable Remote debugging
debug:
enabled: false
@@ -130,7 +127,7 @@ resources:
cpu: 500m
memory: 320Mi
requests:
cpu: 50m
cpu: 10m
memory: 300Mi
nodeSelector: {}
@@ -141,7 +138,9 @@ affinity: {}
postgresql:
url: postgresql
image: postgres:latest
registry: tip-docker-cache-repo.jfrog.io
repository: library/postgres
tag: 11
env:
protocol: https

View File

@@ -1,2 +0,0 @@
Contains certs needed for this service to start.
Please refer to page: https://telecominfraproject.atlassian.net/wiki/spaces/WIFI/pages/262176803/Pre-requisites+before+deploying+Tip-Wlan+solution

View File

@@ -46,7 +46,6 @@
</triggeringPolicy>
</appender>
<!--
details: http://logback.qos.ch/manual/configuration.html#auto_configuration
@@ -67,7 +66,6 @@
<logger name="com.telecominfraproject.wlan" level="DEBUG"/>
<logger name="com.telecominfraproject.wlan.core.server.webconfig.WebGenericConverter" level="OFF"/>
<logger name="com.telecominfraproject.wlan.streams.provisioning.EquipmentConfigPushTrigger" level="TRACE"/>
<logger name="com.telecominfraproject.wlan.streams.kafka.KafkaStreamsConfig" level="TRACE"/>
<logger name="com.telecominfraproject.wlan.stream.StreamMessageDispatcher" level="TRACE"/>
@@ -76,5 +74,5 @@
<appender-ref ref="logfile"/>
<appender-ref ref="stdout"/>
</root>
</configuration>

View File

@@ -4,4 +4,4 @@ metadata:
name: {{ include "common.fullname" . }}-log-config
namespace: {{ include "common.namespace" . }}
data:
{{ tpl (.Files.Glob "resources/config/logback.xml").AsConfig . | indent 2 }}
{{ (.Files.Glob "resources/config/logback.xml").AsConfig | indent 2 }}

View File

@@ -23,8 +23,9 @@ spec:
securityContext:
{{- toYaml .Values.podSecurityContext | nindent 8 }}
initContainers:
{{- include "jmxPrometheus.initContainer" . | nindent 8 }}
- name: wait-for-services
image: opsfleet/depends-on:latest
image: {{ .Values.waitForServicesImage.registry }}/{{ .Values.waitForServicesImage.repository }}:{{ .Values.waitForServicesImage.tag }}
args:
- "-service={{ .Release.Name }}-kafka-headless"
- -check_interval=5
@@ -33,11 +34,11 @@ spec:
securityContext:
{{- toYaml .Values.securityContext | nindent 12 }}
{{- if .Values.global.testingEnabled }}
image: {{ .Values.global.repository }}/{{ .Values.image.name }}:{{ .Values.image.tag }}-{{.Values.global.testingTimestamp}}
image: {{ .Values.global.repository.registry }}/{{ .Values.image.name }}:{{ .Values.image.tag }}-{{.Values.global.testingTimestamp}}
{{- else }}
image: {{ .Values.global.repository }}/{{ .Values.image.name }}:{{ .Values.image.tag }}
image: {{ .Values.global.repository.registry }}/{{ .Values.image.name }}:{{ .Values.image.tag }}
{{- end }}
imagePullPolicy: {{ .Values.pullPolicy | default .Values.global.pullPolicy }}
imagePullPolicy: {{ .Values.pullPolicy | default .Values.global.pullPolicy }}
env:
{{- include "common.env" . | nindent 12 }}
- name: tip.wlan.kafka.bootstrapServers
@@ -82,7 +83,7 @@ spec:
- name: tip_wlan_maxHttpThreads
value: "{{ .Values.scalability.tip_wlan_maxHttpThreads }}"
- name: JVM_MEM_OPTIONS
value: "{{ .Values.scalability.JVM_MEM_OPTIONS }}"
value: "{{ .Values.scalability.JVM_MEM_OPTIONS }} {{ include "jmxPrometheus.jvmOpts" . }}"
{{- if .Values.probes.enabled }}
livenessProbe:
@@ -105,6 +106,13 @@ spec:
failureThreshold: {{ .Values.probes.readinessProbe.failureThreshold }}
periodSeconds: {{ .Values.probes.readinessProbe.periodSeconds }}
successThreshold: {{ .Values.probes.readinessProbe.successThreshold }}
startupProbe:
httpGet:
path: /ping
port: {{ .Values.service.port2 }}
scheme: {{ .Values.probes.readinessProbe.scheme }}
failureThreshold: {{ .Values.probes.startupProbe.failureThreshold }}
periodSeconds: {{ .Values.probes.startupProbe.periodSeconds}}
{{- end }}
volumeMounts:
- mountPath: /opt/tip-wlan/certs/client_keystore.jks
@@ -122,6 +130,8 @@ spec:
- mountPath: /app/spc/logback.xml
name: logback-config
subPath: logback.xml
{{- include "jmxPrometheus.configVolumeMount" . | nindent 10 }}
{{- include "jmxPrometheus.tmpVolumeMount" . | nindent 10 }}
ports:
- name: {{ .Values.service.name1 }}
containerPort: {{ .Values.service.port1 }}
@@ -134,6 +144,7 @@ spec:
containerPort: {{ .Values.service.port3 }}
protocol: TCP
{{- end }}
{{- include "jmxPrometheus.port" . | nindent 12 }}
resources:
{{- toYaml .Values.resources | nindent 12 }}
{{- with .Values.nodeSelector }}
@@ -152,7 +163,9 @@ spec:
volumes:
- name: certificates
secret:
secretName: {{ include "common.fullname" . }}-certs
secretName: tip-common-kafka-client-certs
- name: logback-config
configMap:
name: {{ include "common.fullname" . }}-log-config
{{- include "jmxPrometheus.configVolume" . | nindent 6 }}
{{- include "jmxPrometheus.tmpVolume" . | nindent 6 }}

View File

@@ -0,0 +1 @@
{{ include "jmxPrometheus.podMonitor" . }}

View File

@@ -1,14 +1,5 @@
apiVersion: v1
kind: Secret
metadata:
name: {{ include "common.fullname" . }}-certs
namespace: {{ include "common.namespace" . }}
type: Opaque
data:
{{ tpl (.Files.Glob "resources/config/certs/*").AsSecrets . | indent 2 }}
---
apiVersion: v1
kind: Secret
metadata:
name: {{ include "common.fullname" . }}-creds
namespace: {{ include "common.namespace" . }}
@@ -19,8 +10,6 @@ metadata:
heritage: {{ .Release.Service | quote }}
type: Opaque
data:
{{- if .Values.creds.enabled }}
sslKeyPassword: {{ .Values.creds.sslKeyPassword | b64enc | quote }}
sslKeystorePassword: {{ .Values.creds.sslKeystorePassword | b64enc | quote }}
sslTruststorePassword: {{ .Values.creds.sslTruststorePassword | b64enc | quote }}
{{- end }}
sslKeyPassword: {{ .Values.global.certificatePasswords.sslKey | b64enc | quote }}
sslKeystorePassword: {{ .Values.global.certificatePasswords.sslKeystore | b64enc | quote }}
sslTruststorePassword: {{ .Values.global.certificatePasswords.sslTruststore | b64enc | quote }}

View File

@@ -30,6 +30,6 @@ spec:
{{- if and .Values.service.nodePortStatic (eq .Values.service.type "NodePort") }}
nodePort: {{ .Values.global.nodePortPrefix }}{{ .Values.service.nodePort3 }}
{{- end }}
{{- end }}
{{- end }}
selector:
{{- include "common.selectorLabels" . | nindent 4 }}

View File

@@ -11,7 +11,7 @@ metadata:
spec:
containers:
- name: wget
image: busybox
image: {{ .Values.testConnectionImage.registry }}/{{ .Values.testConnectionImage.repository }}:{{ .Values.testConnectionImage.tag }}
command: ['wget']
args: ['{{ include "common.fullname" . }}:{{ .Values.service.port1 }}']
restartPolicy: Never

View File

@@ -11,7 +11,17 @@ replicaCount: 1
image:
name: wlan-spc-service
tag: 0.0.1-SNAPSHOT
tag: 1.2.0-SNAPSHOT
waitForServicesImage:
registry: tip-docker-cache-repo.jfrog.io
repository: opsfleet/depends-on
tag: v1.0.0
testConnectionImage:
registry: tip-docker-cache-repo.jfrog.io
repository: library/alpine
tag: 3.13
nameOverride: ""
fullnameOverride: ""
@@ -46,6 +56,9 @@ probes:
successThreshold: 1
failureThreshold: 3
scheme: HTTPS
startupProbe:
periodSeconds: 30
failureThreshold: 500
securityContext: {}
# capabilities:
@@ -106,7 +119,7 @@ resources:
cpu: 500m
memory: 370Mi
requests:
cpu: 50m
cpu: 10m
memory: 350Mi
nodeSelector: {}
@@ -115,12 +128,6 @@ tolerations: []
affinity: {}
creds:
enabled: true
sslKeyPassword: DUMMY_PASSWORD
sslKeystorePassword: DUMMY_PASSWORD
sslTruststorePassword: DUMMY_PASSWORD
kafka:
url: kafka-headless

View File

@@ -19,12 +19,11 @@
[authentication]
;; If Cassandra has auth enabled, fill out these options
username = cassandra
username = cassandra
password = cassandra
; keyspace = ks1
[ui]
;; Whether or not to display query results with colors
color = on
@@ -85,19 +84,16 @@ ssl = true
; request_timeout = 10
[csv]
;; The size limit for parsed fields
; field_size_limit = 131072
[tracing]
;; The max number of seconds to wait for a trace to complete
; max_trace_wait = 10.0
[ssl]
certfile = /opt/tip-wlan/certs/cacert.pem
@@ -111,14 +107,12 @@ userkey = /opt/tip-wlan/certs/cassandraserverkey_dec.pem
usercert = /opt/tip-wlan/certs/cassandraservercert.pem
;; Optional section, overrides default certfile in [ssl] section, if present
; [certfiles]
; 192.168.1.3 = ~/keys/cassandra01.cert
; 192.168.1.4 = ~/keys/cassandra02.cert
;; Options that are common to both COPY TO and COPY FROM
; [copy]
@@ -157,7 +151,6 @@ usercert = /opt/tip-wlan/certs/cassandraservercert.pem
; ratefile =
;; Options specific to COPY TO
; [copy-to]
@@ -184,7 +177,6 @@ usercert = /opt/tip-wlan/certs/cassandraservercert.pem
; encoding = utf8
;; Options specific to COPY FROM
; [copy-from]
@@ -219,7 +211,6 @@ usercert = /opt/tip-wlan/certs/cassandraservercert.pem
; chunksize = 1000
;; The options for COPY can also be specified per-table. The following
;; three sections demonstrate this.

View File

@@ -1,2 +0,0 @@
Contains certs needed for this service to start.
Please refer to page: https://telecominfraproject.atlassian.net/wiki/spaces/WIFI/pages/262176803/Pre-requisites+before+deploying+Tip-Wlan+solution

View File

@@ -46,7 +46,6 @@
</triggeringPolicy>
</appender>
<!--
details: http://logback.qos.ch/manual/configuration.html#auto_configuration
@@ -71,5 +70,5 @@
<appender-ref ref="stdout"/>
<appender-ref ref="logfile"/>
</root>
</configuration>

View File

@@ -4,28 +4,30 @@ metadata:
name: {{ include "common.fullname" . }}-ssc-config
namespace: {{ include "common.namespace" . }}
data:
{{ tpl (.Files.Glob "resources/config/*").AsConfig . | indent 2 }}
{{ (.Files.Glob "resources/config/logback.xml").AsConfig | indent 2 }}
cassandra-application.conf: >-
datastax-java-driver {
basic {
contact-points = [ "{{ include "cassandra.service" . }}:9042" ]
load-balancing-policy.local-datacenter = datacenter1
session-keyspace = tip_wlan_keyspace
request.consistency = LOCAL_QUORUM
}
advanced.resolve-contact-points = false
advanced.ssl-engine-factory {
class = DefaultSslEngineFactory
hostname-validation = false
truststore-path = /opt/tip-wlan/certs/truststore.jks
truststore-password = {{ .Values.creds.sslTruststorePassword }}
truststore-password = {{ .Values.global.certificatePasswords.sslTruststore }}
keystore-path = /opt/tip-wlan/certs/cassandra_server_keystore.jks
keystore-password = {{ .Values.creds.sslKeystorePassword }}
keystore-password = {{ .Values.global.certificatePasswords.sslKeystore }}
}
advanced.auth-provider {
class = PlainTextAuthProvider
username = {{ .Values.creds.cassandra.tip_user }}
password = {{ .Values.creds.cassandra.tip_password }}
username = {{ .Values.global.cassandra.username }}
password = {{ .Values.global.cassandra.password }}
}
}

View File

@@ -24,8 +24,9 @@ spec:
securityContext:
{{- toYaml .Values.podSecurityContext | nindent 8 }}
initContainers:
{{- include "jmxPrometheus.initContainer" . | nindent 8 }}
- name: wait-for-services
image: opsfleet/depends-on:latest
image: {{ .Values.waitForServicesImage.registry }}/{{ .Values.waitForServicesImage.repository }}:{{ .Values.waitForServicesImage.tag }}
args:
- "-service={{ .Release.Name }}-kafka-headless"
- "-service={{ .Release.Name }}-cassandra"
@@ -44,8 +45,8 @@ spec:
secretKeyRef:
name: {{ include "common.fullname" . }}-creds
key: schema-repo-password
image: {{ .Values.cassandra.image }}
imagePullPolicy: {{ .Values.pullPolicy | default .Values.global.pullPolicy }}
image: {{ .Values.cassandra.registry }}/{{ .Values.cassandra.repository }}:{{ .Values.cassandra.tag }}
imagePullPolicy: {{ .Values.pullPolicy | default .Values.global.pullPolicy }}
command:
- sh
- -c
@@ -53,7 +54,7 @@ spec:
apt update
apt -y install curl
echo "***** Fetching cloud-sdk-schema-cassandra.cql from JFrog *****"
curl --insecure -u$SCHEMA_REPO_USER:$SCHEMA_REPO_PASSWORD -O "https://tip-tip-wlan-cloud-docker-repo.jfrog.io/artifactory/tip-wlan-cloud-schemas/0.0.1-SNAPSHOT/cql/cloud-sdk-schema-cassandra.cql"
curl --insecure -u$SCHEMA_REPO_USER:$SCHEMA_REPO_PASSWORD -O "https://tip-tip-wlan-cloud-docker-repo.jfrog.io/artifactory/tip-wlan-cloud-schemas/1.2.0-SNAPSHOT/cql/cloud-sdk-schema-cassandra.cql"
echo "***** Now executing cloud-sdk-schema-cassandra.cql and creating/updating schema on Cassandra instance *****"
counter=0
status=1
@@ -113,11 +114,11 @@ spec:
securityContext:
{{- toYaml .Values.securityContext | nindent 12 }}
{{- if .Values.global.testingEnabled }}
image: {{ .Values.global.repository }}/{{ .Values.image.name }}:{{ .Values.image.tag }}-{{.Values.global.testingTimestamp}}
image: {{ .Values.global.repository.registry }}/{{ .Values.image.name }}:{{ .Values.image.tag }}-{{.Values.global.testingTimestamp}}
{{- else }}
image: {{ .Values.global.repository }}/{{ .Values.image.name }}:{{ .Values.image.tag }}
image: {{ .Values.global.repository.registry }}/{{ .Values.image.name }}:{{ .Values.image.tag }}
{{- end }}
imagePullPolicy: {{ .Values.pullPolicy | default .Values.global.pullPolicy }}
imagePullPolicy: {{ .Values.pullPolicy | default .Values.global.pullPolicy }}
env:
{{- include "common.env" . | nindent 12 }}
- name: tip.wlan.kafka.bootstrapServers
@@ -174,7 +175,7 @@ spec:
- name: tip_wlan_maxHttpThreads
value: "{{ .Values.scalability.tip_wlan_maxHttpThreads }}"
- name: JVM_MEM_OPTIONS
value: "{{ .Values.scalability.JVM_MEM_OPTIONS }}"
value: "{{ .Values.scalability.JVM_MEM_OPTIONS }} {{ include "jmxPrometheus.jvmOpts" . }}"
{{- if .Values.probes.enabled }}
livenessProbe:
@@ -197,6 +198,13 @@ spec:
failureThreshold: {{ .Values.probes.readinessProbe.failureThreshold }}
periodSeconds: {{ .Values.probes.readinessProbe.periodSeconds }}
successThreshold: {{ .Values.probes.readinessProbe.successThreshold }}
startupProbe:
httpGet:
path: /ping
port: {{ .Values.service.port2 }}
scheme: {{ .Values.probes.readinessProbe.scheme }}
failureThreshold: {{ .Values.probes.startupProbe.failureThreshold }}
periodSeconds: {{ .Values.probes.startupProbe.periodSeconds}}
{{- end }}
volumeMounts:
- mountPath: /opt/tip-wlan/certs/client_keystore.jks
@@ -220,6 +228,8 @@ spec:
- mountPath: /app/ssc/cassandra-application.conf
name: ssc-configurations
subPath: cassandra-application.conf
{{- include "jmxPrometheus.configVolumeMount" . | nindent 10 }}
{{- include "jmxPrometheus.tmpVolumeMount" . | nindent 10 }}
ports:
- name: {{ .Values.service.name1 }}
containerPort: {{ .Values.service.port1 }}
@@ -232,6 +242,7 @@ spec:
containerPort: {{ .Values.service.port3 }}
protocol: TCP
{{- end }}
{{- include "jmxPrometheus.port" . | nindent 12 }}
resources:
{{- toYaml .Values.resources | nindent 12 }}
{{- with .Values.nodeSelector }}
@@ -250,7 +261,9 @@ spec:
volumes:
- name: certificates
secret:
secretName: {{ include "common.fullname" . }}-certs
secretName: tip-common-cassandra-client-certs
- name: ssc-configurations
configMap:
name: {{ include "common.fullname" . }}-ssc-config
{{- include "jmxPrometheus.configVolume" . | nindent 6 }}
{{- include "jmxPrometheus.tmpVolume" . | nindent 6 }}

View File

@@ -0,0 +1 @@
{{ include "jmxPrometheus.podMonitor" . }}

View File

@@ -1,14 +1,5 @@
apiVersion: v1
kind: Secret
metadata:
name: {{ include "common.fullname" . }}-certs
namespace: {{ include "common.namespace" . }}
type: Opaque
data:
{{ tpl (.Files.Glob "resources/config/certs/*").AsSecrets . | indent 2 }}
---
apiVersion: v1
kind: Secret
metadata:
name: {{ include "common.fullname" . }}-creds
namespace: {{ include "common.namespace" . }}
@@ -19,12 +10,10 @@ metadata:
heritage: {{ .Release.Service | quote }}
type: Opaque
data:
{{- if .Values.creds.enabled }}
sslKeyPassword: {{ .Values.creds.sslKeyPassword | b64enc | quote }}
sslKeystorePassword: {{ .Values.creds.sslKeystorePassword | b64enc | quote }}
sslTruststorePassword: {{ .Values.creds.sslTruststorePassword | b64enc | quote }}
cassandra_tip_password: {{ .Values.creds.cassandra.tip_password | b64enc | quote }}
cassandra_tip_user: {{ .Values.creds.cassandra.tip_user | b64enc | quote }}
schema-repo-user: {{ .Values.creds.schema_repo.username | b64enc | quote }}
schema-repo-password: {{ .Values.creds.schema_repo.password | b64enc | quote }}
{{- end }}
sslKeyPassword: {{ .Values.global.certificatePasswords.sslKey | b64enc | quote }}
sslKeystorePassword: {{ .Values.global.certificatePasswords.sslKeystore | b64enc | quote }}
sslTruststorePassword: {{ .Values.global.certificatePasswords.sslTruststore | b64enc | quote }}
cassandra_tip_user: {{ .Values.global.cassandra.username | b64enc | quote }}
cassandra_tip_password: {{ .Values.global.cassandra.password | b64enc | quote }}
schema-repo-user: {{ .Values.global.schema.username | b64enc | quote }}
schema-repo-password: {{ .Values.global.schema.password | b64enc | quote }}

View File

@@ -30,6 +30,6 @@ spec:
{{- if and .Values.service.nodePortStatic (eq .Values.service.type "NodePort") }}
nodePort: {{ .Values.global.nodePortPrefix }}{{ .Values.service.nodePort3 }}
{{- end }}
{{- end }}
{{- end }}
selector:
{{- include "common.selectorLabels" . | nindent 4 }}

View File

@@ -11,7 +11,7 @@ metadata:
spec:
containers:
- name: wget
image: busybox
image: {{ .Values.testConnectionImage.registry }}/{{ .Values.testConnectionImage.repository }}:{{ .Values.testConnectionImage.tag }}
command: ['wget']
args: ['{{ include "common.fullname" . }}:{{ .Values.service.port1 }}']
restartPolicy: Never

View File

@@ -11,7 +11,17 @@ replicaCount: 1
image:
name: wlan-ssc-service
tag: 0.0.1-SNAPSHOT
tag: 1.2.0-SNAPSHOT
waitForServicesImage:
registry: tip-docker-cache-repo.jfrog.io
repository: opsfleet/depends-on
tag: v1.0.0
testConnectionImage:
registry: tip-docker-cache-repo.jfrog.io
repository: library/alpine
tag: 3.13
nameOverride: ""
fullnameOverride: ""
@@ -46,6 +56,9 @@ probes:
successThreshold: 1
failureThreshold: 3
scheme: HTTPS
startupProbe:
periodSeconds: 30
failureThreshold: 500
securityContext: {}
# capabilities:
@@ -106,7 +119,7 @@ resources:
cpu: 500m
memory: 420Mi
requests:
cpu: 50m
cpu: 10m
memory: 400Mi
nodeSelector: {}
@@ -115,25 +128,15 @@ tolerations: []
affinity: {}
creds:
enabled: true
sslKeyPassword: DUMMY_PASSWORD
sslKeystorePassword: DUMMY_PASSWORD
sslTruststorePassword: DUMMY_PASSWORD
cassandra:
tip_user: DUMMY_TIP_USERNAME
tip_password: DUMMY_TIP_USERS_PASSWORD
schema_repo:
username: DUMMY_SCHEMA_REPO_USERNAME
password: DUMMY_SCHEMA_REPO_PASSWORD
kafka:
url: kafka-headless
cassandra:
url: cassandra-headless
port: 9042
image: cassandra:3.11.6
registry: tip-docker-cache-repo.jfrog.io
repository: library/cassandra
tag: 3.11.6
env:
protocol: https

View File

@@ -0,0 +1,5 @@
# Helm values for deploying a cloud controller onto an AWS EKS cluster
[Detailed instructions](https://openwifi.tip.build/getting-started/controller-installation/aws-install)
[This Terraform module](https://github.com/Telecominfraproject/wlan-cloud-terraform/tree/master/aws-cloudsdk) can be used to set up the required EKS cluster including all necessary addons.

Some files were not shown because too many files have changed in this diff Show More