mirror of
https://github.com/Telecominfraproject/wlan-cloud-helm.git
synced 2026-03-20 22:39:08 +00:00
Compare commits
46 Commits
feature/th
...
fix-capabi
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
ef1d54cbea | ||
|
|
d8544d52f0 | ||
|
|
8d750222fa | ||
|
|
402abf4876 | ||
|
|
0f9d28113a | ||
|
|
02c8dbc94c | ||
|
|
a13323f4ca | ||
|
|
e492e51ae8 | ||
|
|
a4659451c1 | ||
|
|
884d9411da | ||
|
|
deb12d9d24 | ||
|
|
7f0da5969d | ||
|
|
c73350c535 | ||
|
|
f253034335 | ||
|
|
f85004ffc4 | ||
|
|
d5af204c09 | ||
|
|
ca70570de7 | ||
|
|
d0a504a7c2 | ||
|
|
0d9e6e0afc | ||
|
|
af22e767b5 | ||
|
|
63e784482f | ||
|
|
9a532cf290 | ||
|
|
7c1dd0f5b8 | ||
|
|
724ab141dc | ||
|
|
0fb7b37c2c | ||
|
|
5e68d20255 | ||
|
|
fa533dde56 | ||
|
|
0060ce09ac | ||
|
|
8670131e21 | ||
|
|
a15f091632 | ||
|
|
b833901b14 | ||
|
|
f8161542cf | ||
|
|
98e29d4f21 | ||
|
|
be0f3512ae | ||
|
|
de8e8897f1 | ||
|
|
43233798b2 | ||
|
|
73eec7509a | ||
|
|
f824125224 | ||
|
|
6b4934c451 | ||
|
|
d4a45ad10a | ||
|
|
915eb1d625 | ||
|
|
cfda82150b | ||
|
|
fc783ea948 | ||
|
|
86c29ae62c | ||
|
|
8484fc3f87 | ||
|
|
a3e523f922 |
37
.github/workflows/enforce-jira-issue-key.yml
vendored
Normal file
37
.github/workflows/enforce-jira-issue-key.yml
vendored
Normal 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
|
||||
62
.github/workflows/helm-build.yml
vendored
62
.github/workflows/helm-build.yml
vendored
@@ -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') }}
|
||||
|
||||
98
.github/workflows/nightly-scenario-test.yml
vendored
Normal file
98
.github/workflows/nightly-scenario-test.yml
vendored
Normal 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
|
||||
|
||||
24
.github/workflows/prepare-release-description.py
vendored
Normal file
24
.github/workflows/prepare-release-description.py
vendored
Normal 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}')
|
||||
58
CHANGELOG.md
58
CHANGELOG.md
@@ -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)
|
||||
|
||||
15
README.md
15
README.md
@@ -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):
|
||||
|
||||
@@ -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:
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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:
|
||||
|
||||
@@ -7,7 +7,7 @@ metadata:
|
||||
{{- include "common.labels" . | nindent 4 }}
|
||||
spec:
|
||||
replicas: {{ .Values.provisioner.replicaCount }}
|
||||
strategy:
|
||||
strategy:
|
||||
type: {{ .Values.provisioner.strategyType }}
|
||||
selector:
|
||||
matchLabels:
|
||||
|
||||
@@ -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 -}}
|
||||
@@ -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 -}}
|
||||
|
||||
@@ -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 }}
|
||||
@@ -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" . }}
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -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"/>
|
||||
|
||||
@@ -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 }}
|
||||
|
||||
@@ -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 }}
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
{{ include "jmxPrometheus.podMonitor" . }}
|
||||
@@ -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 }}
|
||||
@@ -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
|
||||
|
||||
@@ -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: {}
|
||||
|
||||
@@ -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
|
||||
@@ -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
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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 }}
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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 }}
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
@@ -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 }}
|
||||
|
||||
@@ -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 }}
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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:
|
||||
|
||||
@@ -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 }}
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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: {}
|
||||
|
||||
@@ -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:
|
||||
|
||||
@@ -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 }}
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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: {}
|
||||
|
||||
|
||||
@@ -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
|
||||
@@ -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>
|
||||
|
||||
@@ -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 }}
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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}}
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
@@ -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>
|
||||
|
||||
@@ -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 }}
|
||||
|
||||
|
||||
@@ -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 }}
|
||||
@@ -0,0 +1 @@
|
||||
{{ include "jmxPrometheus.podMonitor" . }}
|
||||
@@ -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 }}
|
||||
@@ -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 }}
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
|
||||
@@ -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
|
||||
@@ -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>
|
||||
|
||||
@@ -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
|
||||
@@ -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 }}
|
||||
|
||||
@@ -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 }}
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
{{ include "jmxPrometheus.podMonitor" . }}
|
||||
@@ -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 }}
|
||||
@@ -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:
|
||||
|
||||
@@ -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 }}
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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>
|
||||
|
||||
@@ -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 }}
|
||||
|
||||
@@ -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 }}
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
{{ include "jmxPrometheus.podMonitor" . }}
|
||||
@@ -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 }}
|
||||
|
||||
@@ -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 }}
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
@@ -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>
|
||||
|
||||
@@ -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 }}
|
||||
|
||||
@@ -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 }}
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
{{ include "jmxPrometheus.podMonitor" . }}
|
||||
@@ -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 }}
|
||||
|
||||
@@ -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 }}
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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.
|
||||
|
||||
|
||||
@@ -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
|
||||
@@ -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>
|
||||
|
||||
@@ -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 }}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -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 }}
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
{{ include "jmxPrometheus.podMonitor" . }}
|
||||
@@ -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 }}
|
||||
|
||||
@@ -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 }}
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
5
tip-wlan/example-values/aws-basic/README.md
Normal file
5
tip-wlan/example-values/aws-basic/README.md
Normal 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
Reference in New Issue
Block a user