Skip to content

Commit 181acb9

Browse files
authored
Vulnerability fixes, SEMP parse bug fix, Readiness Liveness probes to work with DR and migration from assert-master to assert-leader for readiness config-sync (#125)
- Updates and upgrades of dependencies - Fix for SEMP parsing error bug - Liveness and Startup probes now work with DR if it is set up - Assert-master migration to assert-leader
1 parent 194ad0b commit 181acb9

File tree

7 files changed

+218
-40
lines changed

7 files changed

+218
-40
lines changed

.github/workflows/build-test.yml

+12-2
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,15 @@ jobs:
4646
yaml-lint -n pubsubplus/*.yaml
4747
helm lint pubsubplus
4848
49+
- name: Run Whitesource Action
50+
uses: SolaceDev/[email protected]
51+
with:
52+
wssURL: https://saas.whitesourcesoftware.com/agent
53+
apiKey: ${{ secrets.WSS_API_KEY }}
54+
productName: 'pubsubplus-kubernetes-helm'
55+
projectName: 'pubsubplus-kubernetes-helm'
56+
configFile: 'ci/whitesource/whitesource-agent.config'
57+
4958
- name: Setup K8s env in GKE
5059
run: |
5160
gcloud components install gke-gcloud-auth-plugin --quiet
@@ -79,7 +88,7 @@ jobs:
7988
helm install my-release pubsubplus --set solace.size=dev,solace.redundancy=true,solace.podDisruptionBudgetForHA=true,solace.podModifierEnabled=true,tls.enabled=true,tls.serverCertificatesSecret=test-tls,solace.usernameAdminPassword=admin,image.repository=$REPO,image.tag=$TAG
8089
kubectl get statefulset,svc,pods,pvc,pv --show-labels
8190
echo "Waiting for broker to become active"
82-
sleep 40; kubectl describe nodes
91+
sleep 60; kubectl describe nodes
8392
until kubectl get pods --show-labels | grep pubsubplus-0 | grep -m 1 -E '1/1'; do sleep 10; done
8493
until kubectl get pods --show-labels | grep pubsubplus-1 | grep -m 1 -E '1/1'; do sleep 10; done
8594
until kubectl get pods --show-labels | grep pubsubplus-2 | grep -m 1 -E '1/1'; do sleep 10; done
@@ -110,6 +119,7 @@ jobs:
110119
helm upgrade my-release pubsubplus --set solace.size=dev,solace.redundancy=true,solace.podDisruptionBudgetForHA=true,solace.podModifierEnabled=true,tls.enabled=true,tls.serverCertificatesSecret=test-tls,solace.usernameAdminPassword=admin,image.repository=$REPO,image.tag=$UPGRADETAG,storage.useStorageGroup=true
111120
kubectl get statefulset,svc,pods,pvc,pv --show-labels
112121
echo "Waiting for broker to become active after upgrade"
122+
sleep 20; kubectl describe nodes
113123
statefulset_name=$(kubectl get statefulset | grep pubsubplus | awk '{print $1}')
114124
until kubectl rollout status statefulset $statefulset_name -w | grep "rolling update complete"; do sleep 10; done
115125
until kubectl get pods --show-labels | grep pubsubplus-0 | grep -m 1 -E '1/1'; do sleep 10; done
@@ -169,7 +179,7 @@ jobs:
169179
git push --quiet --set-upstream origin-pages gh-pages
170180
popd
171181
echo "Updated and pushed GH pages!"
172-
elif [ ${{ github.ref }} != 'refs/heads/gh-pages' ] && [ ${{ github.repository_owner }} != 'SolaceProducts' ] ; then
182+
elif [ ${{ github.ref }} != 'refs/heads/gh-pages' ] && [ ${{ github.repository_owner }} != 'SolaceProducts' ] && [[ ${{ github.ref }} =~ .*"refs/heads/v".* ]] ; then
173183
echo "Using $TESTRUNBRANCH on ${{ github.repository_owner }}"
174184
git clone --quiet --branch=gh-pages https://${{ secrets.GH_TOKEN }}@github.com/${{ github.repository }} gh-pages > /dev/null 2>&1
175185
rm -rf gh-pages/helm-charts-openshift; mkdir -p gh-pages/helm-charts-openshift
+72
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,72 @@
1+
####################################################################
2+
# WhiteSource FS-Agent configuration file
3+
####################################################################
4+
##########################################
5+
# GENERAL SCAN MODE: Files and Package Managers
6+
##########################################
7+
checkPolicies=true
8+
updateInventory=true
9+
forceCheckAllDependencies=true
10+
forceUpdate=false
11+
forceUpdate.failBuildOnPolicyViolation=true
12+
offline=false
13+
forceCheckAllDependencies=true
14+
enableLicenseViolations=true
15+
#dependenciesOnly=true
16+
17+
wss.url=https://saas.whitesourcesoftware.com/agent
18+
19+
npm.resolveDependencies=false
20+
bower.resolveDependencies=false
21+
nuget.resolveDependencies=false
22+
python.resolveDependencies=false
23+
maven.resolveDependencies=false
24+
gradle.resolveDependencies = true
25+
paket.resolveDependencies=false
26+
ruby.resolveDependencies = false
27+
sbt.resolveDependencies=false
28+
html.resolveDependencies=false
29+
30+
31+
##GO Configuration
32+
go.resolveDependencies=false
33+
go.collectDependenciesAtRuntime=true
34+
go.modules.resolveDependencies=true
35+
go.modules.ignoreSourceFiles=true
36+
go.modules.removeDuplicateDependencies=true
37+
go.modules.includeTestDependencies=true
38+
go.modules.includeTestDependencies=true
39+
40+
#userKey is required if WhiteSource administrator has enabled "Enforce user level access" option
41+
#userKey=
42+
43+
projectName=pubsubplus-kubernetes-helm
44+
projectVersion=
45+
projectToken=
46+
47+
productName=pubsubplus-kubernetes-helm
48+
productVersion=v3.3.0
49+
productToken=
50+
updateType=OVERRIDE
51+
52+
53+
#########################################################################################
54+
# Includes/Excludes Glob patterns - PLEASE USE ONLY ONE EXCLUDE LINE AND ONE INCLUDE LINE
55+
#########################################################################################
56+
includes=**/*.go **/*.yaml
57+
58+
case.sensitive.glob=false
59+
followSymbolicLinks=true
60+
61+
62+
##############################################
63+
# SCAN MODE: Linux package manager settings
64+
##############################################
65+
scanPackageManager=false
66+
67+
##################################
68+
# SCAN MODE: Docker images
69+
##################################
70+
docker.includes=**/*
71+
#docker.excludes=.*.*
72+
#docker.scanImages=true

docs/PubSubPlusK8SDeployment.md

+8-1
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,7 @@ Contents:
7272
- [Modification example](#modification-example)
7373
* [**Re-installing a Deployment**](#re-installing-a-deployment)
7474
* [**Deleting a Deployment**](#deleting-a-deployment)
75+
* [**Backing Up and Restore**](#backing-up-and-restore)
7576

7677

7778

@@ -501,7 +502,8 @@ helm install my-release solacecharts/pubsubplus \
501502
--set tls.enabled=true,tls.serverCertificatesSecret=<my-tls-secret>
502503
```
503504
504-
Important: it is not possible to update an existing deployment to enable TLS that has been created without TLS enabled, by a simply using the [modify deployment](#modifying-or-upgrading-a-deployment) procedure. In this case, for the first time, certificates need to be [manually loaded and set up](//docs.solace.com/Configuring-and-Managing/Managing-Server-Certs.htm) on each broker node. After that it is possible to use `helm upgrade` with a secret specified.
505+
Important: it is not possible to update an existing deployment to enable TLS that has been created without TLS enabled, by simply using the [modify deployment](#modifying-or-upgrading-a-deployment) procedure. In this case, for the first time, certificates need to be [manually loaded and set up](//docs.solace.com/Configuring-and-Managing/Managing-Server-Certs.htm) on each broker node. After that it is possible to use `helm upgrade` with a secret specified.
506+
It is also important to note that because the TLS/SSL configuration are not included in the global [backup](https://docs.solace.com/Admin/Restoring-Config-Files.htm), this configuration can not be restored.
505507
506508
#### Rotating the server key
507509
@@ -1051,7 +1053,12 @@ kubectl get statefulsets,services,pods,pvc,pv
10511053

10521054
> Note: Helm will not clean up PVCs and related PVs. Use `kubectl delete` to delete PVCs is associated data is no longer required.
10531055
1056+
## Backing Up and Restore
10541057

1058+
The preferred way of backing up and restoring your deployment is by backing up and restoring the message vpns.
1059+
This is because of certain limitations of the system-wide backup and restore. For example TLS/SSL configuration are not included in system-wide backup hence configurations related to it will be lost.
1060+
1061+
A detailed guide to perform backing up and restore of message vpns can be found [here](https://docs.solace.com/Features/VPN/Backing-Up-and-Restoring-VPNs.htm).
10551062

10561063

10571064

pubsubplus/Chart.yaml

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
apiVersion: v2
22
description: Deploy Solace PubSub+ Event Broker Singleton or HA redundancy group onto a Kubernetes Cluster
33
name: pubsubplus
4-
version: 3.2.0
5-
icon: https://solaceproducts.github.io/pubsubplus-kubernetes-helm-quickstart/images/PubSubPlus.png
4+
version: 3.3.0
5+
icon: https://solaceproducts.github.io/pubsubplus-kubernetes-quickstart/images/PubSubPlus.png
66
kubeVersion: '>= 1.10.0-0'
77
maintainers:
88
- name: Solace Community Forum

0 commit comments

Comments
 (0)