| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361 | ---apiVersion: v1kind: PersistentVolumeClaimmetadata:  name: rqlite-pvcspec:  accessModes:    - ReadWriteOnce  resources:    requests:      storage: 1Gi---apiVersion: apps/v1kind: Deploymentmetadata:  name: netmaker-backend  labels:    app: netmaker-backendspec:  nodeSelector:    netmaker-server: true  selector:    matchLabels:      app: netmaker-backend  replicas: 1  strategy:    type: Recreate  template:    metadata:      labels:        app: netmaker-backend    spec:      containers:      - name: netmaker-backend        image: gravitl/netmaker:0.7.2        imagePullPolicy: Always        ports:        - containerPort: 8081        volumeMounts:        - name: nm-pvc          mountPath: /root/config/dnsconfig        - mountPath: /etc/netclient          name: etc-netclient        - mountPath: /usr/bin/wg          name: wg        - mountPath: /var/run/dbus/system_bus_socket          name: systemd-bus-socket        - mountPath: /sys/fs/cgroup          name: cgroup        - mountPath: /run/systemd/system          name: run-systemd        - mountPath: /etc/systemd/system          name: etc-systemd        securityContext:          privileged: true        env:        - name: SERVER_API_CONN_STRING          value: "api.NETMAKER_BASE_DOMAIN:443"        - name: SERVER_GRPC_CONN_STRING          value: "grpc.NETMAKER_BASE_DOMAIN:443"        - name: COREDNS_ADDR          value: "10.152.183.53"        - name: POD_IP          valueFrom:            fieldRef:              fieldPath: status.podIP        - name: GRPC_SSL          value: "on"        - name: SERVER_HTTP_HOST          value: "api.NETMAKER_BASE_DOMAIN:443"        - name: SERVER_GRPC_HOST          value: "grpc.NETMAKER_BASE_DOMAIN:443"        - name: API_PORT          value: "8081"        - name: GRPC_PORT          value: "443"        - name: CLIENT_MODE          value: "off"        - name: MASTER_KEY          value: "Unkn0wn!"        - name: PLATFORM          value: "Kubernetes"        - name: CORS_ALLOWED_ORIGIN          value: "*"      - name: rqlite        image: rqlite/rqlite        ports:        - containerPort: 4001        - containerPort: 4002        volumeMounts:        - name: rqlitevol          mountPath: /rqlite/file/data      volumes:      - name: rqlitevol        persistentVolumeClaim:          claimName: rqlite-pvc      - name: nm-pvc        persistentVolumeClaim:          claimName: nm-pvc      - hostPath:          path: /etc/netclient          type: DirectoryOrCreate        name: etc-netclient      - hostPath:          path: /usr/bin/wg          type: File        name: wg      - hostPath:          path: /usr/bin/resolvectl          type: File        name: resolvectl      - hostPath:          path: /var/run/dbus/system_bus_socket          type: ""        name: systemd-bus-socket      - hostPath:          path: /etc/systemd/system          type: ""        name: etc-systemd      - hostPath:          path: /run/systemd/system          type: ""        name: run-systemd      - hostPath:          path: /sys/fs/cgroup          type: ""        name: cgroup---apiVersion: v1kind: PersistentVolumeClaimmetadata:  name: nm-pvcspec:  accessModes:    - ReadWriteMany  resources:    requests:      storage: 128Mi---apiVersion: v1kind: Servicemetadata:  labels:    app: netmaker-backend  name: netmaker-apispec:  ports:  - port: 8081    protocol: TCP    targetPort: 8081  selector:    app: netmaker-backend  sessionAffinity: None  type: ClusterIP---apiVersion: v1kind: Servicemetadata:  labels:    app: netmaker-backend  name: netmaker-grpcspec:  ports:  - port: 443    protocol: TCP    targetPort: 443  selector:    app: netmaker-backend  sessionAffinity: None  type: ClusterIP---apiVersion: apps/v1kind: Deploymentmetadata:  name: netmaker-dns  labels:    app: netmaker-dnsspec:  selector:    matchLabels:      app: netmaker-dns  replicas: 1  template:    metadata:      labels:        app: netmaker-dns    spec:      containers:      - args:        - -conf        - /root/dnsconfig/Corefile        image: coredns/coredns        imagePullPolicy: Always        name: netmaker-dns        ports:        - containerPort: 53          name: dns          protocol: UDP        - containerPort: 53          name: dns-tcp          protocol: TCP        volumeMounts:        - mountPath: /root/dnsconfig          name: nm-pvc          readOnly: true        securityContext:          allowPrivilegeEscalation: false          capabilities:            add:            - NET_BIND_SERVICE            drop:            - all      dnsPolicy: "None"      dnsConfig:        nameservers:          - 127.0.0.1      volumes:      - name: nm-pvc        persistentVolumeClaim:          claimName: nm-pvc---apiVersion: v1kind: Servicemetadata:  labels:    app: netmaker-dns  name: netmaker-dnsspec:  ports:  - port: 53    protocol: UDP    targetPort: 53    name: udp  - port: 53    protocol: TCP    targetPort: 53    name: tcp  selector:    app: netmaker-dns  sessionAffinity: None  type: ClusterIP  clusterIP: 10.152.183.53---apiVersion: apps/v1kind: Deploymentmetadata:  name: netmaker-ui  labels:    app: netmaker-uispec:  selector:    matchLabels:      app: netmaker-ui  replicas: 1  template:    metadata:      labels:        app: netmaker-ui    spec:      containers:      - name: netmaker-ui        image: gravitl/netmaker-ui:v0.7        ports:        - containerPort: 80        env:        - name: BACKEND_URL          value: "https://api.NETMAKER_BASE_DOMAIN"---apiVersion: v1kind: Servicemetadata:  labels:    app: netmaker-ui  name: netmaker-uispec:  ports:  - port: 80    protocol: TCP    targetPort: 80  selector:    app: netmaker-ui  sessionAffinity: None  type: ClusterIP---apiVersion: networking.k8s.io/v1kind: Ingressmetadata:  name: nm-api-ingress-nginx  annotations:    nginx.ingress.kubernetes.io/rewrite-target: /    cert-manager.io/cluster-issuer: "letsencrypt-prod"    nginx.ingress.kubernetes.io/ssl-redirect: 'true'spec:  ingressClassName: nginx  tls:  - hosts:    - api.NETMAKER_BASE_DOMAIN    secretName: nm-api-tls  rules:  - host: api.NETMAKER_BASE_DOMAIN    http:      paths:      - path: /        pathType: Prefix        backend:          service:            name: netmaker-api            port:              number: 8081---apiVersion: networking.k8s.io/v1kind: Ingressmetadata:  name: nm-grpc-ingress-nginx  annotations:    cert-manager.io/cluster-issuer: "letsencrypt-prod"    nginx.ingress.kubernetes.io/ssl-redirect: 'true'    nginx.ingress.kubernetes.io/backend-protocol: "GRPC"spec:  ingressClassName: nginx  tls:  - hosts:    - grpc.NETMAKER_BASE_DOMAIN    secretName: nm-grpc-tls  rules:  - host: grpc.NETMAKER_BASE_DOMAIN    http:      paths:      - path: /        pathType: Prefix        backend:          service:            name: netmaker-grpc            port:              number: 443---apiVersion: networking.k8s.io/v1kind: Ingressmetadata:  name: nm-ui-ingress-nginx  annotations:    nginx.ingress.kubernetes.io/rewrite-target: /    cert-manager.io/cluster-issuer: "letsencrypt-prod"    nginx.ingress.kubernetes.io/ssl-redirect: 'true'spec:  ingressClassName: nginx  tls:  - hosts:    - dashboard.NETMAKER_BASE_DOMAIN    secretName: nm-ui-tls  rules:  - host: dashboard.NETMAKER_BASE_DOMAIN    http:      paths:      - path: /        pathType: Prefix        backend:          service:            name: netmaker-ui            port:              number: 80
 |