@leverege/build-tools 2.29.1 → 2.31.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/src/circleate +1 -1
- package/src/dockreate +9 -4
- package/src/helm-charts/cert-manager/helmup.plugin +6 -3
- package/src/helm-charts/traefik/traefik-local.yaml +11 -7
- package/src/helm-charts/vernemq/.nohelm +0 -0
- package/src/helm-charts/vernemq/TcpRoutes.yaml.ovh +37 -0
- package/src/helm-charts/vernemq/gitignore +1 -0
- package/src/helm-charts/vernemq/helmup.plugin +14 -0
- package/src/helm-charts/vernemq/vernemq-local.yaml +78 -0
- package/src/helmup +9 -4
package/package.json
CHANGED
package/src/circleate
CHANGED
package/src/dockreate
CHANGED
|
@@ -69,7 +69,7 @@ strip_undefined() {
|
|
|
69
69
|
# $3 = additional packages to install (htop redis-cli etc)
|
|
70
70
|
create_Dockerfile() {
|
|
71
71
|
local regvers="${1}"
|
|
72
|
-
local nodeimg="${2:-
|
|
72
|
+
local nodeimg="${2:-hydrogen-alpine}"
|
|
73
73
|
local apkadds="${3}"
|
|
74
74
|
|
|
75
75
|
echo "Creating the Dockerfile for node ${nodeimg}"
|
|
@@ -220,7 +220,7 @@ fi
|
|
|
220
220
|
|
|
221
221
|
# TODO: these should be combined into one require
|
|
222
222
|
nodeimg=$(packageJson '.leverege.nodeimg')
|
|
223
|
-
nodeimg="${nodeimg:-
|
|
223
|
+
nodeimg="${nodeimg:-hydrogen-alpine}"
|
|
224
224
|
nodeops=$(packageJson '.leverege.nodeops')
|
|
225
225
|
apkadds=$(packageJson '.leverege.apkadds')
|
|
226
226
|
runuser=$(packageJson '.leverege.runuser')
|
|
@@ -399,8 +399,13 @@ else
|
|
|
399
399
|
gcloud config unset builds/use_kaniko
|
|
400
400
|
fi
|
|
401
401
|
|
|
402
|
-
#
|
|
403
|
-
|
|
402
|
+
# need a logging area outside of the default cloud build bucket in order
|
|
403
|
+
# to enable 3rd party builders from outside of leverege.com user space
|
|
404
|
+
buildlogs="--gcs-log-dir gs://leverege-docker-images_cloudbuild/logs"
|
|
405
|
+
|
|
406
|
+
# submit the build request to gcloud with logs directed to the cloudbuild
|
|
407
|
+
# logging bucket from the docker directory
|
|
408
|
+
time gcloud builds submit $buildlogs --tag $gcimage:$version .
|
|
404
409
|
|
|
405
410
|
if [ $? -ne 0 ];
|
|
406
411
|
then
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
addHelmRepo jetstack https://charts.jetstack.io
|
|
4
4
|
[ -z "$CERT_MANAGER_CHART_VERSION" ] && CERT_MANAGER_CHART_VERSION="v1.10"
|
|
5
5
|
helm upgrade --install cert-manager jetstack/cert-manager \
|
|
6
|
-
--namespace
|
|
6
|
+
--namespace default --set installCRDs=true \
|
|
7
7
|
--version $CERT_MANAGER_CHART_VERSION $HELM_WHAT
|
|
8
8
|
|
|
9
9
|
[ ! -z "$HELM_WHAT" ] && exit 0
|
|
@@ -15,15 +15,18 @@ cat<<DELAY
|
|
|
15
15
|
DELAY
|
|
16
16
|
|
|
17
17
|
sleep 20
|
|
18
|
-
kubectl -n cert-manager apply -f cert-manager
|
|
18
|
+
#kubectl -n cert-manager apply -f cert-manager
|
|
19
|
+
kubectl apply -f cert-manager
|
|
19
20
|
|
|
20
21
|
if [[ $? -eq 1 ]];
|
|
21
22
|
then
|
|
23
|
+
cat<<APPLY_PROBLEM
|
|
22
24
|
|
|
23
|
-
`color y "***WARNING: cert-manager
|
|
25
|
+
`color y "***WARNING: the kubectl apply to cert-manager is struggling"`
|
|
24
26
|
|
|
25
27
|
Try rerunning this apply again in 30 seconds:
|
|
26
28
|
`color g "kubectl -n cert-manager apply -f cert-manager"`
|
|
29
|
+
APPLY_PROBLEM
|
|
27
30
|
fi
|
|
28
31
|
|
|
29
32
|
cat<<HINTS
|
|
@@ -1,14 +1,18 @@
|
|
|
1
|
+
#service:
|
|
2
|
+
# spec:
|
|
3
|
+
# loadBalancerIP: xx.xx.xx.xx
|
|
4
|
+
|
|
1
5
|
additionalArguments:
|
|
2
|
-
- "--accesslog=true"
|
|
3
|
-
- "--accesslog.format=json"
|
|
4
6
|
- "--api.debug=true"
|
|
5
|
-
- "--log.level=WARN"
|
|
6
|
-
- "--metrics.prometheus=true"
|
|
7
7
|
- "--api.dashboard=true"
|
|
8
8
|
|
|
9
9
|
deployment:
|
|
10
10
|
replicas: 3
|
|
11
11
|
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
12
|
+
logs:
|
|
13
|
+
general:
|
|
14
|
+
level: WARN # DEBUG
|
|
15
|
+
access:
|
|
16
|
+
enabled: true
|
|
17
|
+
format: json
|
|
18
|
+
bufferingSize: 10
|
|
File without changes
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
# This sets up a traefik TCP router for vernemq's mqtt port. The entry point
|
|
2
|
+
# of mqtt is a reference to the traefik entry point that is open externally
|
|
3
|
+
# to the outside world on port 1883.
|
|
4
|
+
#
|
|
5
|
+
# https://doc.traefik.io/traefik/routing/providers/kubernetes-crd/#kind-ingressroutetcp
|
|
6
|
+
#
|
|
7
|
+
kind: IngressRouteTCP
|
|
8
|
+
apiVersion: traefik.containo.us/v1alpha1
|
|
9
|
+
metadata:
|
|
10
|
+
name: vernemq
|
|
11
|
+
namespace: default
|
|
12
|
+
spec:
|
|
13
|
+
entryPoints:
|
|
14
|
+
- mqtt
|
|
15
|
+
routes:
|
|
16
|
+
# 192.168.0.0/20 and 10.48.0.0/16 seem like the correct choice, but nope!
|
|
17
|
+
- match: ClientIP(`10.32.0.0/16`)
|
|
18
|
+
services:
|
|
19
|
+
- name: vernemq
|
|
20
|
+
port: 1883 # mqtt port in values-local.yaml
|
|
21
|
+
---
|
|
22
|
+
kind: IngressRouteTCP
|
|
23
|
+
apiVersion: traefik.containo.us/v1alpha1
|
|
24
|
+
metadata:
|
|
25
|
+
name: vernemq-tls
|
|
26
|
+
namespace: default
|
|
27
|
+
spec:
|
|
28
|
+
entryPoints:
|
|
29
|
+
- mqtts
|
|
30
|
+
routes:
|
|
31
|
+
# 192.168.0.0/20 and 10.48.0.0/16 seem like the correct choice, but nope!
|
|
32
|
+
- match: ClientIP(`10.32.0.0/16`)
|
|
33
|
+
services:
|
|
34
|
+
- name: vernemq
|
|
35
|
+
port: 1883 # mqtt port in values-local.yaml
|
|
36
|
+
tls:
|
|
37
|
+
secretName: "OVH:<PROJECT_ID>-cert"
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
TcpRoutes.yaml
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
#!/bin/bash
|
|
2
|
+
#
|
|
3
|
+
showInstalling "VerneMQ"
|
|
4
|
+
|
|
5
|
+
addHelmRepo vernemq https://vernemq.github.io/docker-vernemq
|
|
6
|
+
|
|
7
|
+
[ -z "$VERNEMQ_CHART_VERSION" ] && VERNEMQ_CHART_VERSION="1"
|
|
8
|
+
helm upgrade --install vernemq vernemq/vernemq \
|
|
9
|
+
--values vernemq/vernemq-local.yaml \
|
|
10
|
+
--version $VERNEMQ_CHART_VERSION $HELM_WHAT
|
|
11
|
+
|
|
12
|
+
kubectl apply -f vernemq/TcpRoutes.yaml
|
|
13
|
+
|
|
14
|
+
removeHelmRepo vernemq
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
service:
|
|
2
|
+
type: ClusterIP # NodePort
|
|
3
|
+
annotations:
|
|
4
|
+
prometheus.io/port: "8888"
|
|
5
|
+
prometheus.io/scrape: "true"
|
|
6
|
+
mqtt:
|
|
7
|
+
enabled: true
|
|
8
|
+
mqtts:
|
|
9
|
+
enabled: false
|
|
10
|
+
|
|
11
|
+
envFrom: []
|
|
12
|
+
|
|
13
|
+
additionalEnv:
|
|
14
|
+
- name: DOCKER_VERNEMQ_ACCEPT_EULA
|
|
15
|
+
value: "yes"
|
|
16
|
+
- name: DOCKER_VERNEMQ_LISTENER__NR_OF_ACCEPTORS
|
|
17
|
+
value: "100"
|
|
18
|
+
- name: DOCKER_VERNEMQ_MAX_ONLINE_MESSAGES
|
|
19
|
+
value: "10000"
|
|
20
|
+
- name: DOCKER_VERNEMQ_COORDINATE_REGISTRATIONS
|
|
21
|
+
value: "off"
|
|
22
|
+
- name: DOCKER_VERNEMQ_LOG__CONSOLE__LEVEL
|
|
23
|
+
value: "info"
|
|
24
|
+
# - name: DOCKER_VERNEMQ_ALLOW_ANONYMOUS
|
|
25
|
+
# value: "on"
|
|
26
|
+
- name: DOCKER_VERNEMQ_PLUGINS__VMQ_WEBHOOKS
|
|
27
|
+
value: "on"
|
|
28
|
+
# - name: DOCKER_VERNEMQ_PLUGINS__VMQ_PASSWD
|
|
29
|
+
# value: "off"
|
|
30
|
+
- name: DOCKER_VERNEMQ_PLUGINS__VMQ_ACL
|
|
31
|
+
value: "off"
|
|
32
|
+
- name: DOCKER_VERNEMQ_VMQ_WEBHOOKS__LEVEREGE_REG__HOOK
|
|
33
|
+
value: "auth_on_register"
|
|
34
|
+
- name: DOCKER_VERNEMQ_VMQ_WEBHOOKS__LEVEREGE_REG__ENDPOINT
|
|
35
|
+
value: "http://relay-hub:8080/vernemq/auth/connect"
|
|
36
|
+
# value: "http://741c-142-93-193-48.ngrok.io/vernemq/auth/connect"
|
|
37
|
+
- name: DOCKER_VERNEMQ_VMQ_WEBHOOKS__LEVEREGE_SUB__HOOK
|
|
38
|
+
value: "auth_on_subscribe"
|
|
39
|
+
- name: DOCKER_VERNEMQ_VMQ_WEBHOOKS__LEVEREGE_SUB__ENDPOINT
|
|
40
|
+
value: "http://relay-hub:8080/vernemq/auth/subscribe"
|
|
41
|
+
# value: "http://741c-142-93-193-48.ngrok.io/vernemq/auth/subscribe"
|
|
42
|
+
- name: DOCKER_VERNEMQ_VMQ_WEBHOOKS__LEVEREGE_PUB__HOOK
|
|
43
|
+
value: "auth_on_publish"
|
|
44
|
+
- name: DOCKER_VERNEMQ_VMQ_WEBHOOKS__LEVEREGE_PUB__ENDPOINT
|
|
45
|
+
value: "http://relay-hub:8080/vernemq/auth/publish"
|
|
46
|
+
# value: "http://741c-142-93-193-48.ngrok.io/vernemq/auth/publish"
|
|
47
|
+
# - name: DOCKER_VERNEMQ_ALLOW_MULTIPLE_SESSIONS
|
|
48
|
+
# value: "on"
|
|
49
|
+
|
|
50
|
+
# MQTT version 5 support
|
|
51
|
+
# these use the same relay-hub endpoints, but the
|
|
52
|
+
# VerneMQ webhook names are different
|
|
53
|
+
- name: DOCKER_VERNEMQ_VMQ_WEBHOOKS__LEVEREGE_REG_M5__HOOK
|
|
54
|
+
value: "auth_on_register_m5"
|
|
55
|
+
- name: DOCKER_VERNEMQ_VMQ_WEBHOOKS__LEVEREGE_REG_M5__ENDPOINT
|
|
56
|
+
value: "http://relay-hub:8080/vernemq/auth/connect"
|
|
57
|
+
|
|
58
|
+
- name: DOCKER_VERNEMQ_VMQ_WEBHOOKS__LEVEREGE_SUB_M5__HOOK
|
|
59
|
+
value: "auth_on_subscribe_m5"
|
|
60
|
+
- name: DOCKER_VERNEMQ_VMQ_WEBHOOKS__LEVEREGE_SUB_M5__ENDPOINT
|
|
61
|
+
value: "http://relay-hub:8080/vernemq/auth/subscribe"
|
|
62
|
+
|
|
63
|
+
- name: DOCKER_VERNEMQ_VMQ_WEBHOOKS__LEVEREGE_PUB_M5__HOOK
|
|
64
|
+
value: "auth_on_publish_m5"
|
|
65
|
+
- name: DOCKER_VERNEMQ_VMQ_WEBHOOKS__LEVEREGE_PUB_M5__ENDPOINT
|
|
66
|
+
value: "http://relay-hub:8080/vernemq/auth/publish"
|
|
67
|
+
|
|
68
|
+
- name: DOCKER_VERNEMQ_QUEUE_DELIVER_MODE
|
|
69
|
+
value: "balance"
|
|
70
|
+
- name: DOCKER_VERNEMQ_LISTENER__TCP__DEFAULT__ALLOWED_PROTOCOL_VERSIONS
|
|
71
|
+
value: "3,4,5"
|
|
72
|
+
- name: DOCKER_VERNEMQ_LISTENER__TCP__LISTENER__PROXY_PROTOCOL
|
|
73
|
+
value: "on"
|
|
74
|
+
|
|
75
|
+
resources:
|
|
76
|
+
requests:
|
|
77
|
+
cpu: "7000m"
|
|
78
|
+
memory: "12Gi"
|
package/src/helmup
CHANGED
|
@@ -395,11 +395,12 @@ function installCertManagerSecret() {
|
|
|
395
395
|
showInstalling "Cert Managment"
|
|
396
396
|
createNamespaceIfNeeded cert-manager
|
|
397
397
|
|
|
398
|
-
|
|
398
|
+
local NSPACE="default"
|
|
399
|
+
kubectl get secret cloudflare --namespace $NSPACE &>/dev/null
|
|
399
400
|
if [[ $? -eq 1 ]];
|
|
400
401
|
then
|
|
401
402
|
cat<<NEED_MANAGED_SECRET
|
|
402
|
-
$RED_ERROR missing secret: `color y cloudflare` namespace: `color y
|
|
403
|
+
$RED_ERROR missing secret: `color y cloudflare` namespace: `color y $NSPACE`
|
|
403
404
|
|
|
404
405
|
This secret will be fetched from the leverege-docker-images cluster and
|
|
405
406
|
injected into this cluster.
|
|
@@ -413,7 +414,7 @@ NEED_MANAGED_SECRET
|
|
|
413
414
|
fi
|
|
414
415
|
printf "\nInjecting=[$TOKEN] into cloudflare secret\n"
|
|
415
416
|
kubectl create secret generic cloudflare \
|
|
416
|
-
--namespace
|
|
417
|
+
--namespace $NSPACE \
|
|
417
418
|
--from-literal=dns-token=$TOKEN
|
|
418
419
|
fi
|
|
419
420
|
}
|
|
@@ -715,7 +716,7 @@ function doInstall() {
|
|
|
715
716
|
;;
|
|
716
717
|
|
|
717
718
|
"traefik")
|
|
718
|
-
installTraefikEnvironment
|
|
719
|
+
# installTraefikEnvironment
|
|
719
720
|
bootstrapLocalSetup $SERVICE
|
|
720
721
|
;;
|
|
721
722
|
|
|
@@ -729,6 +730,10 @@ function doInstall() {
|
|
|
729
730
|
bootstrapLocalSetup $SERVICE
|
|
730
731
|
;;
|
|
731
732
|
|
|
733
|
+
"vernemq")
|
|
734
|
+
bootstrapLocalSetup $SERVICE
|
|
735
|
+
;;
|
|
736
|
+
|
|
732
737
|
*)
|
|
733
738
|
if [ ! -d $SERVICE ] || [ ! -f $SERVICE/values-local.yaml ];
|
|
734
739
|
then
|