netmaker-template.yaml.backup 7.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355
  1. apiVersion: v1
  2. kind: Service
  3. metadata:
  4. name: mongo
  5. labels:
  6. name: mongo
  7. spec:
  8. ports:
  9. - port: 27017
  10. targetPort: 27017
  11. clusterIP: None
  12. selector:
  13. role: mongo
  14. ---
  15. apiVersion: apps/v1
  16. kind: StatefulSet
  17. metadata:
  18. name: mongo
  19. spec:
  20. serviceName: "mongo"
  21. replicas: 1
  22. selector:
  23. matchLabels:
  24. role: mongo
  25. template:
  26. metadata:
  27. labels:
  28. app: mongo
  29. role: mongo
  30. spec:
  31. containers:
  32. - name: mongo
  33. image: mongo
  34. env:
  35. - name: MONGO_INITDB_ROOT_USERNAME
  36. value: mongoadmin
  37. - name: MONGO_INITDB_ROOT_PASSWORD
  38. value: mongopass
  39. securityContext:
  40. privileged: true
  41. volumeMounts:
  42. - name: mongovol
  43. mountPath: /data/db
  44. volumes:
  45. - name: mongovol
  46. persistentVolumeClaim:
  47. claimName: mongodb-pvc
  48. ---
  49. apiVersion: v1
  50. kind: PersistentVolumeClaim
  51. metadata:
  52. name: mongodb-pvc
  53. spec:
  54. accessModes:
  55. - ReadWriteOnce
  56. resources:
  57. requests:
  58. storage: 7Gi
  59. storageClassName: microk8s-hostpath
  60. apiVersion: apps/v1
  61. kind: Deployment
  62. metadata:
  63. name: netmaker-backend
  64. labels:
  65. app: netmaker-backend
  66. spec:
  67. selector:
  68. matchLabels:
  69. app: netmaker-backend
  70. replicas: 1
  71. template:
  72. metadata:
  73. labels:
  74. app: netmaker-backend
  75. spec:
  76. containers:
  77. - name: netmaker-backend
  78. image: gravitl/netmaker:v0.5.7
  79. ports:
  80. - containerPort: 8081
  81. volumeMounts:
  82. - name: nm-pvc
  83. mountPath: /root/config/dnsconfig
  84. env:
  85. - name: SERVER_API_CONN_STRING
  86. value: "api.NETMAKER_BASE_DOMAIN:443"
  87. - name: SERVER_GRPC_CONN_STRING
  88. value: "grpc.NETMAKER_BASE_DOMAIN:443"
  89. - name: COREDNS_ADDR
  90. value: "10.152.183.53"
  91. - name: GRPC_SSL
  92. value: "on"
  93. - name: SERVER_HTTP_HOST
  94. value: "api.NETMAKER_BASE_DOMAIN"
  95. - name: SERVER_GRPC_HOST
  96. value: "grpc.NETMAKER_BASE_DOMAIN"
  97. - name: API_PORT
  98. value: "8081"
  99. - name: GRPC_PORT
  100. value: "443"
  101. - name: CLIENT_MODE
  102. value: "off"
  103. - name: MASTER_KEY
  104. value: "Unkn0wn!"
  105. - name: SERVER_GRPC_WIREGUARD
  106. value: "off"
  107. - name: MASTER_KEY
  108. value: "secretkey"
  109. - name: CORS_ALLOWED_ORIGIN
  110. value: "*"
  111. - name: DISABLE_REMOTE_IP_CHECK
  112. value: "on"
  113. - name: MONGO_ADMIN
  114. value: "mongoadmin"
  115. - name: MONGO_PASS
  116. value: "mongopass"
  117. - name: MONGO_HOST
  118. value: "mongo-0.mongo"
  119. - name: MONGO_OPTS
  120. value: "/?authSource=admin"
  121. volumes:
  122. - name: nm-pvc
  123. persistentVolumeClaim:
  124. claimName: nm-pvc
  125. ---
  126. apiVersion: v1
  127. kind: PersistentVolumeClaim
  128. metadata:
  129. name: nm-pvc
  130. spec:
  131. accessModes:
  132. - ReadWriteMany
  133. resources:
  134. requests:
  135. storage: 128Mi
  136. storageClassName: microk8s-hostpath
  137. ---
  138. apiVersion: v1
  139. kind: Service
  140. metadata:
  141. labels:
  142. app: netmaker-backend
  143. name: netmaker-api
  144. spec:
  145. ports:
  146. - port: 8081
  147. protocol: TCP
  148. targetPort: 8081
  149. selector:
  150. app: netmaker-backend
  151. sessionAffinity: None
  152. type: ClusterIP
  153. ---
  154. apiVersion: v1
  155. kind: Service
  156. metadata:
  157. labels:
  158. app: netmaker-backend
  159. name: netmaker-grpc
  160. spec:
  161. ports:
  162. - port: 443
  163. protocol: TCP
  164. targetPort: 443
  165. selector:
  166. app: netmaker-backend
  167. sessionAffinity: None
  168. type: ClusterIP
  169. apiVersion: apps/v1
  170. kind: Deployment
  171. metadata:
  172. name: netmaker-dns
  173. labels:
  174. app: netmaker-dns
  175. spec:
  176. selector:
  177. matchLabels:
  178. app: netmaker-dns
  179. replicas: 1
  180. template:
  181. metadata:
  182. labels:
  183. app: netmaker-dns
  184. spec:
  185. containers:
  186. - args:
  187. - -conf
  188. - /root/dnsconfig/Corefile
  189. image: coredns/coredns
  190. imagePullPolicy: Always
  191. name: netmaker-dns
  192. ports:
  193. - containerPort: 53
  194. name: dns
  195. protocol: UDP
  196. - containerPort: 53
  197. name: dns-tcp
  198. protocol: TCP
  199. volumeMounts:
  200. - mountPath: /root/dnsconfig
  201. name: nm-pvc
  202. readOnly: true
  203. securityContext:
  204. allowPrivilegeEscalation: false
  205. capabilities:
  206. add:
  207. - NET_BIND_SERVICE
  208. drop:
  209. - all
  210. dnsPolicy: "None"
  211. dnsConfig:
  212. nameservers:
  213. - 127.0.0.1
  214. volumes:
  215. - name: nm-pvc
  216. persistentVolumeClaim:
  217. claimName: nm-pvc
  218. ---
  219. apiVersion: v1
  220. kind: Service
  221. metadata:
  222. labels:
  223. app: netmaker-dns
  224. name: netmaker-dns
  225. spec:
  226. ports:
  227. - port: 53
  228. protocol: UDP
  229. targetPort: 53
  230. name: udp
  231. - port: 53
  232. protocol: TCP
  233. targetPort: 53
  234. name: tcp
  235. selector:
  236. app: netmaker-dns
  237. sessionAffinity: None
  238. type: ClusterIP
  239. clusterIP: 10.152.183.53
  240. apiVersion: apps/v1
  241. kind: Deployment
  242. metadata:
  243. name: netmaker-ui
  244. labels:
  245. app: netmaker-ui
  246. spec:
  247. selector:
  248. matchLabels:
  249. app: netmaker-ui
  250. replicas: 1
  251. template:
  252. metadata:
  253. labels:
  254. app: netmaker-ui
  255. spec:
  256. containers:
  257. - name: netmaker-ui
  258. image: gravitl/netmaker-ui:v0.5
  259. ports:
  260. - containerPort: 80
  261. env:
  262. - name: BACKEND_URL
  263. value: "https://api.NETMAKER_BASE_DOMAIN"
  264. ---
  265. apiVersion: v1
  266. kind: Service
  267. metadata:
  268. labels:
  269. app: netmaker-ui
  270. name: netmaker-ui
  271. spec:
  272. ports:
  273. - port: 80
  274. protocol: TCP
  275. targetPort: 80
  276. selector:
  277. app: netmaker-ui
  278. sessionAffinity: None
  279. type: ClusterIP
  280. apiVersion: networking.k8s.io/v1
  281. kind: Ingress
  282. metadata:
  283. name: nm-api-ingress-nginx
  284. annotations:
  285. nginx.ingress.kubernetes.io/rewrite-target: /
  286. cert-manager.io/cluster-issuer: "letsencrypt-prod"
  287. nginx.ingress.kubernetes.io/ssl-redirect: 'true'
  288. spec:
  289. ingressClassName: public
  290. tls:
  291. - hosts:
  292. - api.NETMAKER_BASE_DOMAIN
  293. secretName: nm-api-tls
  294. rules:
  295. - host: api.NETMAKER_BASE_DOMAIN
  296. http:
  297. paths:
  298. - path: /
  299. pathType: Prefix
  300. backend:
  301. service:
  302. name: netmaker-api
  303. port:
  304. number: 8081
  305. apiVersion: networking.k8s.io/v1
  306. kind: Ingress
  307. metadata:
  308. name: nm-grpc-ingress-nginx
  309. annotations:
  310. cert-manager.io/cluster-issuer: "letsencrypt-prod"
  311. nginx.ingress.kubernetes.io/ssl-redirect: 'true'
  312. nginx.ingress.kubernetes.io/backend-protocol: "GRPC"
  313. spec:
  314. ingressClassName: public
  315. tls:
  316. - hosts:
  317. - grpc.NETMAKER_BASE_DOMAIN
  318. secretName: nm-grpc-tls
  319. rules:
  320. - host: grpc.NETMAKER_BASE_DOMAIN
  321. http:
  322. paths:
  323. - path: /
  324. pathType: Prefix
  325. backend:
  326. service:
  327. name: netmaker-grpc
  328. port:
  329. number: 443
  330. apiVersion: networking.k8s.io/v1
  331. kind: Ingress
  332. metadata:
  333. name: nm-ui-ingress-nginx
  334. annotations:
  335. nginx.ingress.kubernetes.io/rewrite-target: /
  336. cert-manager.io/cluster-issuer: "letsencrypt-prod"
  337. nginx.ingress.kubernetes.io/ssl-redirect: 'true'
  338. spec:
  339. ingressClassName: public
  340. tls:
  341. - hosts:
  342. - dashboard.NETMAKER_BASE_DOMAIN
  343. secretName: nm-ui-tls
  344. rules:
  345. - host: dashboard.NETMAKER_BASE_DOMAIN
  346. http:
  347. paths:
  348. - path: /
  349. pathType: Prefix
  350. backend:
  351. service:
  352. name: netmaker-ui
  353. port:
  354. number: 80