| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355 | apiVersion: v1kind: Servicemetadata:  name: mongo  labels:    name: mongospec:  ports:    - port: 27017      targetPort: 27017  clusterIP: None  selector:    role: mongo---apiVersion: apps/v1kind: StatefulSetmetadata:  name: mongospec:  serviceName: "mongo"  replicas: 1  selector:    matchLabels:      role: mongo  template:    metadata:      labels:        app: mongo        role: mongo    spec:      containers:      - name: mongo        image: mongo        env:          - name: MONGO_INITDB_ROOT_USERNAME            value: mongoadmin          - name: MONGO_INITDB_ROOT_PASSWORD            value: mongopass        securityContext:          privileged: true        volumeMounts:        - name: mongovol          mountPath: /data/db      volumes:      - name: mongovol        persistentVolumeClaim:          claimName: mongodb-pvc---apiVersion: v1kind: PersistentVolumeClaimmetadata:  name: mongodb-pvcspec:  accessModes:    - ReadWriteOnce  resources:    requests:      storage: 7Gi  storageClassName: microk8s-hostpathapiVersion: apps/v1kind: Deploymentmetadata:  name: netmaker-backend  labels:    app: netmaker-backendspec:  selector:    matchLabels:      app: netmaker-backend  replicas: 1  template:    metadata:      labels:        app: netmaker-backend    spec:      containers:      - name: netmaker-backend        image: gravitl/netmaker:v0.5.7        ports:        - containerPort: 8081        volumeMounts:        - name: nm-pvc          mountPath: /root/config/dnsconfig        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: GRPC_SSL          value: "on"        - name: SERVER_HTTP_HOST          value: "api.NETMAKER_BASE_DOMAIN"        - name: SERVER_GRPC_HOST          value: "grpc.NETMAKER_BASE_DOMAIN"        - name: API_PORT          value: "8081"        - name: GRPC_PORT          value: "443"        - name: CLIENT_MODE          value: "off"        - name: MASTER_KEY          value: "Unkn0wn!"        - name: SERVER_GRPC_WIREGUARD          value: "off"        - name: MASTER_KEY          value: "secretkey"        - name: CORS_ALLOWED_ORIGIN          value: "*"        - name: DISABLE_REMOTE_IP_CHECK          value: "on"        - name: MONGO_ADMIN          value: "mongoadmin"        - name: MONGO_PASS          value: "mongopass"        - name: MONGO_HOST          value: "mongo-0.mongo"        - name: MONGO_OPTS          value: "/?authSource=admin"      volumes:      - name: nm-pvc        persistentVolumeClaim:          claimName: nm-pvc---apiVersion: v1kind: PersistentVolumeClaimmetadata:  name: nm-pvcspec:  accessModes:    - ReadWriteMany  resources:    requests:      storage: 128Mi  storageClassName: microk8s-hostpath---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: ClusterIPapiVersion: 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.53apiVersion: 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.5        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: ClusterIPapiVersion: 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: public  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: 8081apiVersion: 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: public  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: 443apiVersion: 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: public  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
 |