mirror of
				https://github.com/gravitl/netmaker.git
				synced 2025-10-31 20:22:44 +08:00 
			
		
		
		
	
		
			
				
	
	
		
			356 lines
		
	
	
		
			7.2 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			356 lines
		
	
	
		
			7.2 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| apiVersion: v1
 | |
| kind: Service
 | |
| metadata:
 | |
|   name: mongo
 | |
|   labels:
 | |
|     name: mongo
 | |
| spec:
 | |
|   ports:
 | |
|     - port: 27017
 | |
|       targetPort: 27017
 | |
|   clusterIP: None
 | |
|   selector:
 | |
|     role: mongo
 | |
| ---
 | |
| apiVersion: apps/v1
 | |
| kind: StatefulSet
 | |
| metadata:
 | |
|   name: mongo
 | |
| spec:
 | |
|   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: v1
 | |
| kind: PersistentVolumeClaim
 | |
| metadata:
 | |
|   name: mongodb-pvc
 | |
| spec:
 | |
|   accessModes:
 | |
|     - ReadWriteOnce
 | |
|   resources:
 | |
|     requests:
 | |
|       storage: 7Gi
 | |
|   storageClassName: microk8s-hostpath
 | |
| apiVersion: apps/v1
 | |
| kind: Deployment
 | |
| metadata:
 | |
|   name: netmaker-backend
 | |
|   labels:
 | |
|     app: netmaker-backend
 | |
| spec:
 | |
|   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: v1
 | |
| kind: PersistentVolumeClaim
 | |
| metadata:
 | |
|   name: nm-pvc
 | |
| spec:
 | |
|   accessModes:
 | |
|     - ReadWriteMany
 | |
|   resources:
 | |
|     requests:
 | |
|       storage: 128Mi
 | |
|   storageClassName: microk8s-hostpath
 | |
| ---
 | |
| apiVersion: v1
 | |
| kind: Service
 | |
| metadata:
 | |
|   labels:
 | |
|     app: netmaker-backend
 | |
|   name: netmaker-api
 | |
| spec:
 | |
|   ports:
 | |
|   - port: 8081
 | |
|     protocol: TCP
 | |
|     targetPort: 8081
 | |
|   selector:
 | |
|     app: netmaker-backend
 | |
|   sessionAffinity: None
 | |
|   type: ClusterIP
 | |
| ---
 | |
| apiVersion: v1
 | |
| kind: Service
 | |
| metadata:
 | |
|   labels:
 | |
|     app: netmaker-backend
 | |
|   name: netmaker-grpc
 | |
| spec:
 | |
|   ports:
 | |
|   - port: 443
 | |
|     protocol: TCP
 | |
|     targetPort: 443
 | |
|   selector:
 | |
|     app: netmaker-backend
 | |
|   sessionAffinity: None
 | |
|   type: ClusterIP
 | |
| apiVersion: apps/v1
 | |
| kind: Deployment
 | |
| metadata:
 | |
|   name: netmaker-dns
 | |
|   labels:
 | |
|     app: netmaker-dns
 | |
| spec:
 | |
|   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: v1
 | |
| kind: Service
 | |
| metadata:
 | |
|   labels:
 | |
|     app: netmaker-dns
 | |
|   name: netmaker-dns
 | |
| spec:
 | |
|   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/v1
 | |
| kind: Deployment
 | |
| metadata:
 | |
|   name: netmaker-ui
 | |
|   labels:
 | |
|     app: netmaker-ui
 | |
| spec:
 | |
|   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: v1
 | |
| kind: Service
 | |
| metadata:
 | |
|   labels:
 | |
|     app: netmaker-ui
 | |
|   name: netmaker-ui
 | |
| spec:
 | |
|   ports:
 | |
|   - port: 80
 | |
|     protocol: TCP
 | |
|     targetPort: 80
 | |
|   selector:
 | |
|     app: netmaker-ui
 | |
|   sessionAffinity: None
 | |
|   type: ClusterIP
 | |
| apiVersion: networking.k8s.io/v1
 | |
| kind: Ingress
 | |
| metadata:
 | |
|   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: 8081
 | |
| 
 | |
| apiVersion: networking.k8s.io/v1
 | |
| kind: Ingress
 | |
| metadata:
 | |
|   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: 443
 | |
| apiVersion: networking.k8s.io/v1
 | |
| kind: Ingress
 | |
| metadata:
 | |
|   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
 | 
