fix mq, remove shared data on mq deployment,fix templates

This commit is contained in:
Abhishek Kondur
2023-08-07 18:58:49 +05:30
parent 1798b3a64f
commit 800ae55692
20 changed files with 169 additions and 242 deletions

View File

@@ -1,6 +1,6 @@
dependencies:
- name: postgresql-ha
repository: https://charts.bitnami.com/bitnami
version: 7.11.0
digest: sha256:849759b9fd9d89bf0d47a271334889601010d1d11dd5c00562c18feafd93356d
generated: "2021-10-13T14:02:45.428151972-04:00"
repository: oci://registry-1.docker.io/bitnamicharts
version: 11.8.1
digest: sha256:ddaff61bb9babeb74c60564e70ae02e2da3d6396e0324bba991f5ff7cb67c33c
generated: "2023-08-06T13:20:05.136382+05:30"

View File

@@ -15,7 +15,7 @@ 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.
# Versions are expected to follow Semantic Versioning (https://semver.org/)
version: 0.3.4
version: 0.3.5
# This is the version number of the application being deployed. This version number should be
# incremented each time you make changes to the application. Versions are not expected to
@@ -25,6 +25,6 @@ appVersion: "0.20.5"
dependencies:
- name: "postgresql-ha"
version: "7.11.0"
repository: https://charts.bitnami.com/bitnami
version: "11.8.1"
repository: oci://registry-1.docker.io/bitnamicharts
condition: postgresql-ha.enabled

Binary file not shown.

Binary file not shown.

View File

@@ -2,105 +2,43 @@ apiVersion: v1
entries:
netmaker:
- apiVersion: v2
appVersion: 0.17.1
created: "2023-01-11T08:38:32.395514648-05:00"
appVersion: 0.20.5
created: "2023-08-06T12:25:50.354275+05:30"
dependencies:
- condition: postgresql-ha.enabled
name: postgresql-ha
repository: https://charts.bitnami.com/bitnami
version: 7.11.0
description: A Helm chart to run HA Netmaker on Kubernetes
digest: e898320041c31bce3ca662e234717adeeb00000025f405831ae32c249712ea06
digest: fa372483cde87f3cb5790906ee792348f4ea4f59d76974d4d7c3e3572927aa61
icon: https://raw.githubusercontent.com/gravitl/netmaker/master/netclient/windowsdata/resource/netclient.ico
name: netmaker
type: application
urls:
- netmaker-0.3.5.tgz
version: 0.3.5
- apiVersion: v2
appVersion: 0.20.5
created: "2023-08-06T12:25:50.350849+05:30"
dependencies:
- condition: postgresql-ha.enabled
name: postgresql-ha
repository: https://charts.bitnami.com/bitnami
version: 7.11.0
description: A Helm chart to run HA Netmaker on Kubernetes
digest: 6fae372a020f576342bbbaad8160f6ac2b4f2734b182c530f39408559334b866
icon: https://raw.githubusercontent.com/gravitl/netmaker/master/netclient/windowsdata/resource/netclient.ico
name: netmaker
type: application
urls:
- netmaker-0.3.4.tgz
version: 0.3.4
- apiVersion: v2
appVersion: 0.14.5
created: "2023-01-02T16:51:45.284401-03:00"
dependencies:
- condition: postgresql-ha.enabled
name: postgresql-ha
repository: https://charts.bitnami.com/bitnami
version: 7.11.0
description: A Helm chart to run HA Netmaker on Kubernetes
digest: a2f868a25114afd29468e5b2c4b1084af354f7f066bc45003600d9097bc5aa74
icon: https://raw.githubusercontent.com/gravitl/netmaker/master/netclient/windowsdata/resource/netclient.ico
name: netmaker
type: application
urls:
- netmaker-0.3.3.tgz
version: 0.3.3
- apiVersion: v2
appVersion: 0.14.5
created: "2023-01-02T16:51:45.266299-03:00"
dependencies:
- condition: postgresql-ha.enabled
name: postgresql-ha
repository: https://charts.bitnami.com/bitnami
version: 7.11.0
description: A Helm chart to run HA Netmaker on Kubernetes
digest: 5a8e7af27b72bf14df443d784d878f8b1eaf8877ff5484ff6c20a473fba5ee70
icon: https://raw.githubusercontent.com/gravitl/netmaker/master/netclient/windowsdata/resource/netclient.ico
name: netmaker
type: application
urls:
- netmaker-0.3.2.tgz
version: 0.3.2
- apiVersion: v2
appVersion: 0.14.5
created: "2023-01-02T16:51:45.255457-03:00"
dependencies:
- condition: postgresql-ha.enabled
name: postgresql-ha
repository: https://charts.bitnami.com/bitnami
version: 7.11.0
description: A Helm chart to run HA Netmaker on Kubernetes
digest: a88228db4eb82e88bfb08f4ec3e96e471cd78a954664678e49471ac1f1ac9f17
icon: https://raw.githubusercontent.com/gravitl/netmaker/master/netclient/windowsdata/resource/netclient.ico
name: netmaker
type: application
urls:
- netmaker-0.3.1.tgz
version: 0.3.1
- apiVersion: v2
appVersion: 0.14.5
created: "2023-01-02T16:51:45.245184-03:00"
dependencies:
- name: postgresql-ha
repository: https://charts.bitnami.com/bitnami
version: 7.11.0
description: A Helm chart to run HA Netmaker on Kubernetes
digest: a56143c1b6d497503d5de01b5604fb07598a3c1a86818ffca943d5fb4f47f57d
icon: https://raw.githubusercontent.com/gravitl/netmaker/master/netclient/windowsdata/resource/netclient.ico
name: netmaker
type: application
urls:
- netmaker-0.3.0.tgz
version: 0.3.0
- apiVersion: v2
appVersion: 0.14.5
created: "2023-01-02T16:51:45.233764-03:00"
dependencies:
- name: postgresql-ha
repository: https://charts.bitnami.com/bitnami
version: 7.11.0
description: A Helm chart to run HA Netmaker on Kubernetes
digest: e08729b90f03cb851b3f6cae76ae259d16f56d9fb582504a1a4164b61e3beffd
icon: https://raw.githubusercontent.com/gravitl/netmaker/master/netclient/windowsdata/resource/netclient.ico
name: netmaker
type: application
urls:
- netmaker-0.2.0.tgz
version: 0.2.0
postgresql-ha:
- annotations:
category: Database
apiVersion: v2
appVersion: 11.13.0
created: "2023-01-11T08:38:32.398681657-05:00"
created: "2023-08-06T12:25:50.358027+05:30"
dependencies:
- name: common
repository: https://charts.bitnami.com/bitnami
@@ -130,4 +68,4 @@ entries:
urls:
- charts/postgresql-ha-7.11.0.tgz
version: 7.11.0
generated: "2023-01-11T08:38:32.391453902-05:00"
generated: "2023-08-06T12:25:50.342954+05:30"

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
netmaker-0.3.5.tgz Normal file

Binary file not shown.

View File

@@ -1,4 +1,7 @@
apiVersion: v1
kind: ConfigMap
metadata:
name: {{ include "netmaker.fullname" . }}-env
data:
BROKER_ENDPOINT: "wss://{{ .Values.ingress.hostPrefix.broker }}.{{ required "A valid .Values.baseDomain entry required!" .Values.baseDomain}}"
SERVER_NAME: "{{ required "A valid .Values.baseDomain entry required!" .Values.baseDomain}}"
@@ -10,24 +13,27 @@ data:
SERVER_HTTP_HOST: "{{ .Values.ingress.hostPrefix.rest }}.{{ required "A valid .Values.baseDomain entry required!" .Values.baseDomain}}"
API_PORT: "8081"
MESSAGEQUEUE_BACKEND: "on"
MASTER_KEY: "REPLACE_MASTER_KEY"
MASTER_KEY: "{{ .Values.server.masterKey }}"
CORS_ALLOWED_ORIGIN: "*"
DISPLAY_KEYS: "on"
DATABASE: "postgres"
SERVER_BROKER_ENDPOINT: "ws://mq:1883"
DATABASE: {{ .Values.db.type }}
SERVER_BROKER_ENDPOINT: "ws://{{ .Release.Name }}-mqtt.{{ .Release.Namespace }}.svc.cluster.local:1883"
VERBOSITY: "1"
MQ_PASSWORD: "{{ .Values.mq.password }}"
MQ_USERNAME: "{{ .Values.mq.username }}"
LICENSE_KEY: "{{ .Values.ee.licensekey }}" # needed if EE
NETMAKER_TENANT_ID: "{{ .Values.ee.tenantId }}" # needed if EE
{{- if .Values.turn.enabled -}}
LICENSE_KEY: "{{ .Values.server.ee.licensekey }}" # needed if EE
NETMAKER_TENANT_ID: "{{ .Values.server.ee.tenantId }}" # needed if EE
SQL_HOST: "{{ .Release.Name }}-postgresql-ha-pgpool.{{ .Release.Namespace }}.svc.cluster.local"
SQL_PORT: "5432"
SQL_DB: {{ .Values.db.database }}
SQL_USER: {{ .Values.db.username }}
SQL_PASS: {{ .Values.db.password }}
{{- if .Values.server.turn.enabled -}}
TURN_SERVER_HOST: "REPLACE_TURN_HOST"
TURN_SERVER_API_HOST: "REPLACE_TURN_API_HOST"
TURN_PORT: "REPLACE_TURN_PORT"
TURN_USERNAME: "REPLACE_TURN_USER"
TURN_PASSWORD: "REPLACE_TURN_PASS"
USE_TURN: "false"
USE_TURN: "true"
{{- end -}}
kind: ConfigMap
metadata:
name: netmaker-env

View File

@@ -1,4 +1,4 @@
{{- if .Values.dns.enabled -}}
{{- if .Values.dns.enabled }}
apiVersion: apps/v1
kind: Deployment
metadata:
@@ -69,16 +69,16 @@ spec:
app: {{ include "netmaker.fullname" . }}-coredns
sessionAffinity: None
type: ClusterIP
clusterIP: {{ required "A valid .Values.dns.clusterIP entry required! Choose an IP from your k8s service IP CIDR" .Values.dns.clusterIP}}
clusterIP: {{ .Values.dns.clusterIP}}
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: {{ include "netmaker.fullname" . }}-dns-pvc
spec:
storageClassName: {{ required "A valid .Values.dns.RWX.storageClassName entry required! Specify an available RWX storage class." .Values.dns.RWX.storageClassName}}
storageClassName: {{ .Values.dns.RWX.storageClassName }}
accessModes:
- ReadWriteMany
- ReadWriteOnce
resources:
requests:
storage: {{ .Values.dns.storageSize }}

View File

@@ -6,7 +6,6 @@
{{- $uiSvcPort := .Values.service.uiPort -}}
{{- $restSvcPort := .Values.service.restPort -}}
{{- $mqSvcPort := 8883 -}}
{{- $classname := required "A valid .Values.ingress.className entry required! Please set this to your ingress class (nginx, traefik)" .Values.ingress.className}}
{{- if and .Values.ingress.className (not (semverCompare ">=1.18-0" .Capabilities.KubeVersion.GitVersion)) }}
{{- if not (hasKey .Values.ingress.annotations "kubernetes.io/ingress.class") }}
{{- $_ := set .Values.ingress.annotations "kubernetes.io/ingress.class" .Values.ingress.className}}
@@ -35,15 +34,13 @@ spec:
{{- if .Values.ingress.tls }}
tls:
- hosts:
- {{ .Values.ingress.hostPrefix.broker }}{{ .Values.baseDomain }}
secretName: {{ $fullMQName }}-tls-secret
- {{ .Values.ingress.hostPrefix.rest }}{{ .Values.baseDomain }}
secretName: {{ $fullRESTName }}-tls-secret
- {{ .Values.ingress.hostPrefix.ui }}{{ .Values.baseDomain }}
secretName: {{ $fullUIName }}-tls-secret
- "{{ .Values.ingress.hostPrefix.broker }}.{{ .Values.baseDomain }}"
- "{{ .Values.ingress.hostPrefix.rest }}.{{ .Values.baseDomain }}"
- "{{ .Values.ingress.hostPrefix.ui }}.{{ .Values.baseDomain }}"
secretName: {{ $fullName }}-tls-secret
{{- end }}
rules:
- host: {{ .Values.ingress.hostPrefix.broker }}{{ .Values.baseDomain }}
- host: "{{ .Values.ingress.hostPrefix.broker }}.{{ .Values.baseDomain }}"
http:
paths:
- path: /
@@ -60,7 +57,7 @@ spec:
serviceName: {{ $fullMQName }}
servicePort: {{ $mqSvcPort }}
{{- end }}
- host: {{ .Values.ingress.hostPrefix.rest }}{{ .Values.baseDomain }}
- host: "{{ .Values.ingress.hostPrefix.rest }}.{{ .Values.baseDomain }}"
http:
paths:
- path: /
@@ -77,7 +74,7 @@ spec:
serviceName: {{ $fullRESTName }}
servicePort: {{ $restSvcPort }}
{{- end }}
- host: {{ .Values.ingress.hostPrefix.ui }}{{ .Values.baseDomain }}
- host: "{{ .Values.ingress.hostPrefix.ui }}.{{ .Values.baseDomain }}"
http:
paths:
- path: /

View File

@@ -1,9 +1,16 @@
{{- $fullName := include "netmaker.fullname" . -}}
{{- $claimName := printf "%s-%s" $fullName "shared-data-pvc" }}
{{- if .Values.mq.existingClaim }}
{{- $claimName = .Values.mq.existingClaimName -}}
{{- end }}
apiVersion: apps/v1
kind: Deployment
metadata:
name: {{ include "netmaker.fullname" . }}-mqtt
labels:
app: {{ include "netmaker.fullname" . }}-mqtt
app.kubernetes.io/instance: {{ include "netmaker.fullname" . }}-mqtt
app.kubernetes.io/name: {{ include "netmaker.fullname" . }}-mqtt
name: {{ include "netmaker.fullname" . }}-mqtt
spec:
selector:
matchLabels:
@@ -17,13 +24,13 @@ spec:
app: {{ include "netmaker.fullname" . }}-mqtt
spec:
containers:
- name: mosquitto
envFrom:
- configMapRef:
name: netmaker-env
name: {{ include "netmaker.fullname" . }}-env
image: eclipse-mosquitto:2.0.11-openssl
command: ["/mosquitto/config/wait.sh"]
imagePullPolicy: Always
name: mosquitto
livenessProbe:
failureThreshold: 3
periodSeconds: 10
@@ -62,8 +69,6 @@ spec:
- mountPath: /mosquitto/config/wait.sh
name: wait-script
subPath: wait.sh
- mountPath: /mosquitto/data
name: shared-data
volumes:
- configMap:
name: {{ include "netmaker.fullname" . }}-mqtt-config
@@ -72,13 +77,6 @@ spec:
name: {{ include "netmaker.fullname" . }}-mqtt-wait
defaultMode: 0744
name: wait-script
- name: shared-data
persistentVolumeClaim:
{{- if not .Values.mq.existingClaim }}
claimName: {{ .Values.mq.existingClaim }}
{{- else }}
claimName: {{ include "netmaker.fullname" . }}-shared-data-pvc
{{- end }}
---
apiVersion: v1
kind: Service
@@ -97,33 +95,19 @@ spec:
selector:
app: {{ include "netmaker.fullname" . }}-mqtt
sessionAffinity: None
---
{{- if not .Values.mq.existingClaim }}
kind: PersistentVolumeClaim
apiVersion: v1
metadata:
name: {{ include "netmaker.fullname" . }}-shared-data-pvc
spec:
storageClassName: {{ required "A valid .Values.mq.RWX.storageClassName entry required! Specify an available RWX storage class." .Values.mq.RWX.storageClassName}}
accessModes:
- ReadWriteMany
resources:
requests:
storage: {{ .Values.mq.storageSize }}
---
{{- end }}
apiVersion: v1
data:
mosquitto.conf: |
per_listener_settings false
listener 8883
protocol websockets
allow_anonymous false
listener 1883
protocol websockets
allow_anonymous false
password_file /mosquitto/password.txt
per_listener_settings false
listener 8883
protocol websockets
allow_anonymous false
listener 1883
protocol websockets
allow_anonymous false
password_file /mosquitto/password.txt
kind: ConfigMap
metadata:
labels:
@@ -134,24 +118,24 @@ metadata:
apiVersion: v1
data:
wait.sh: |
#!/bin/ash
#!/bin/ash
encrypt_password() {
echo "${MQ_USERNAME}:${MQ_PASSWORD}" > /mosquitto/password.txt
mosquitto_passwd -U /mosquitto/password.txt
}
encrypt_password() {
echo "${MQ_USERNAME}:${MQ_PASSWORD}" > /mosquitto/password.txt
mosquitto_passwd -U /mosquitto/password.txt
}
main(){
main(){
encrypt_password
echo "Starting MQ..."
# Run the main container command.
/docker-entrypoint.sh
/usr/sbin/mosquitto -c /mosquitto/config/mosquitto.conf
encrypt_password
echo "Starting MQ..."
# Run the main container command.
/docker-entrypoint.sh
/usr/sbin/mosquitto -c /mosquitto/config/mosquitto.conf
}
}
main "${@}"
main "${@}"
kind: ConfigMap
metadata:
labels:

View File

@@ -5,39 +5,52 @@ metadata:
app: {{ include "netmaker.fullname" . }}
name: {{ include "netmaker.fullname" . }}
spec:
replicas: {{ .Values.replicas }}
serviceName: {{ include "netmaker.fullname" . }}-headless
selector:
matchLabels:
app: {{ include "netmaker.fullname" . }}
template:
metadata:
labels:
replicas: 3
selector:
matchLabels:
app: {{ include "netmaker.fullname" . }}
spec:
containers:
envFrom:
- configMapRef:
name: netmaker-env
image: {{ .Values.image.repository }}:{{ .Values.image.tag }}
imagePullPolicy: {{ .Values.image.pullPolicy }}
name: {{ include "netmaker.fullname" . }}
ports:
- containerPort: {{ .Values.service.restPort }}
protocol: TCP
volumeMounts:
- mountPath: /etc/netmaker/
name: shared-data
{{- if .Values.dns.enabled }}
- name: {{ include "netmaker.fullname" . }}-dns-pvc
mountPath: /root/config/dnsconfig
{{- end }}
volumes:
- name: shared-data
persistentVolumeClaim:
claimName: {{ include "netmaker.fullname" . }}-shared-data-pvc
{{- if .Values.dns.enabled }}
- name: {{ include "netmaker.fullname" . }}-dns-pvc
persistentVolumeClaim:
claimName: {{ include "netmaker.fullname" . }}-dns-pvc
{{- end }}
serviceName: {{ include "netmaker.fullname" . }}-headless
template:
metadata:
labels:
app: {{ include "netmaker.fullname" . }}
spec:
containers:
- name: {{ include "netmaker.fullname" . }}
envFrom:
- configMapRef:
name: {{ include "netmaker.fullname" . }}-env
image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}"
imagePullPolicy: {{ .Values.image.pullPolicy }}
ports:
- containerPort: {{ .Values.service.restPort }}
protocol: TCP
volumeMounts:
- mountPath: /etc/netmaker/
name: shared-data
{{- if .Values.dns.enabled }}
- mountPath: /root/config/dnsconfig
name: {{ include "netmaker.fullname" . }}-dns-pvc
{{- end }}
volumes:
- name: shared-data
persistentVolumeClaim:
claimName: {{ include "netmaker.fullname" . }}-shared-data-pvc
{{- if .Values.dns.enabled }}
- name: {{ include "netmaker.fullname" . }}-dns-pvc
persistentVolumeClaim:
claimName: {{ include "netmaker.fullname" . }}-dns-pvc
{{- end }}
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: {{ include "netmaker.fullname" . }}-shared-data-pvc
spec:
storageClassName: {{ .Values.server.RWX.storageClassName }}
accessModes:
- ReadWriteOnce
resources:
requests:
storage: {{ .Values.server.storageSize }}

View File

@@ -21,5 +21,5 @@ spec:
- containerPort: {{ .Values.service.uiPort }}
env:
- name: BACKEND_URL
value: 'https://{{ .Values.ingress.hostPrefix.rest }}{{ required "A valid .Values.baseDomain entry required!" .Values.baseDomain}}'
value: "https://{{ .Values.ingress.hostPrefix.rest }}.{{ required "A valid .Values.baseDomain entry required!" .Values.baseDomain}}"
terminationGracePeriodSeconds: 15

View File

@@ -30,28 +30,4 @@ spec:
app: '{{ include "netmaker.fullname" . }}'
sessionAffinity: None
type: {{ .Values.service.type }}
---
apiVersion: v1
kind: Service
metadata:
labels:
{{- include "netmaker.labels" . | nindent 4 }}
name: '{{ include "netmaker.fullname" . }}-wireguard'
{{- with .Values.wireguard.service.annotations }}
annotations:
{{- toYaml . | nindent 4 }}
{{- end }}
spec:
externalTrafficPolicy: Local
type: {{ .Values.wireguard.service.serviceType }}
ports:
{{ $count := (add .Values.wireguard.networkLimit 1 | int) }}
{{- range untilStep 1 $count 1 }}
- port: {{ add 31820 . }}
nodePort: {{ add 31820 . }}
protocol: UDP
targetPort: {{ add 31820 . }}
name: wg-iface-{{ add 31820 . }}
{{- end }}
selector:
app: '{{ include "netmaker.fullname" . }}'

View File

@@ -4,7 +4,7 @@
# -- number of netmaker server replicas to create
replicas: 3
baseDomain: "mynmabcd.nip.io"
baseDomain: "146.190.9.68.nip.io"
image:
# -- The image repo to pull Netmaker image from
repository: gravitl/netmaker
@@ -42,21 +42,24 @@ mq:
# -- how many MQTT replicas to create
replicas: 2
singlenode: false
storageSize: 128Mi
existingClaim: false
existingClaimName: ""
username: netmaker
password: 3yyerWGdds43yegGR
server:
RWX:
storageClassName: ""
ee:
licensekey: ""
tenantId: ""
turn:
enabled: false
turnHost: ""
turnApiHost: ""
turnUsername: ""
turnPassword: ""
storageSize: 128Mi
masterKey: "netmaker"
ee:
licensekey: ""
tenantId: ""
turn:
enabled: false
turnHost: ""
turnApiHost: ""
turnUsername: ""
turnPassword: ""
dns:
# -- whether or not to deploy coredns
@@ -82,26 +85,36 @@ ingress:
# -- attempts to configure ingress if true
enabled: true
tls: true
className: ""
className: "nginx"
annotations:
kubernetes.io/ingress.class: nginx
cert-manager.io/cluster-issuer: letsencrypt-prod
hostPrefix:
ui: "dashboard."
broker: "broker."
rest: "api."
ui: "dashboard"
broker: "broker"
rest: "api"
db:
type: "postgres"
username: postgres
# -- postgres pass to generate
password: postgres
# -- postgress db to generate
database: netmaker
postgresql-ha:
enabled: true
postgresql:
# -- postgres user to generate
username: netmaker
username: postgres
# -- postgres pass to generate
password: netmaker
password: postgres
# -- postgress db to generate
database: netmaker
# -- postgress number of replicas to deploy
replicaCount: 2
repmgrUsername: postgres
repmgrPassword: postgres
repmgrDatabase: repmgr
persistence:
# -- size of postgres DB
size: 1Gi