smokeping.yaml 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181
  1. apiVersion: v1
  2. kind: Service
  3. metadata:
  4. name: smokeping
  5. labels:
  6. run: smokeping
  7. spec:
  8. ports:
  9. - name: http
  10. port: 80
  11. targetPort: 80
  12. selector:
  13. run: smokeping
  14. # type: LoadBalancer
  15. #status:
  16. # loadBalancer: {}
  17. ---
  18. apiVersion: v1
  19. kind: PersistentVolume
  20. metadata:
  21. name: smokeping-data
  22. spec:
  23. capacity:
  24. storage: 10Ti
  25. volumeMode: Filesystem
  26. accessModes:
  27. - ReadWriteMany
  28. persistentVolumeReclaimPolicy: Retain # Keep 4eva
  29. storageClassName: default
  30. mountOptions:
  31. - hard
  32. - nfsvers=3
  33. nfs:
  34. path: /mnt/DroboFS/Shares/Kubernetes/volumes/static/smokeping-data
  35. server: 10.42.42.10
  36. claimRef:
  37. name: smokeping-data
  38. namespace: default
  39. ---
  40. apiVersion: v1
  41. kind: PersistentVolumeClaim
  42. metadata:
  43. name: smokeping-data
  44. spec:
  45. storaapiVersiongeClassName: standard
  46. accessModes:
  47. - ReadWriteMany
  48. resources:
  49. requests:
  50. storage: 10Ti
  51. status: {}
  52. ---
  53. apiVersion: v1
  54. kind: PersistentVolume
  55. metadata:
  56. name: smokeping-config
  57. spec:
  58. capacity:
  59. storage: 5Mi
  60. volumeMode: Filesystem
  61. accessModes:
  62. - ReadWriteMany
  63. persistentVolumeReclaimPolicy: Retain # Keep 4eva
  64. storageClassName: default
  65. mountOptions:
  66. - hard
  67. - nfsvers=3
  68. nfs:
  69. path: /mnt/DroboFS/Shares/Kubernetes/volumes/static/smokeping-config
  70. server: 10.42.42.10
  71. claimRef:
  72. name: smokeping-config
  73. namespace: default
  74. ---
  75. apiVersion: v1
  76. kind: PersistentVolumeClaim
  77. metadata:
  78. name: smokeping-config
  79. annotations:
  80. nfs.io/storage-path: "smokeping-config"
  81. spec:
  82. storageClassName: default
  83. accessModes:
  84. - ReadWriteMany
  85. resources:
  86. requests:
  87. storage: 5Mi
  88. status: {}
  89. ---
  90. apiVersion: apps/v1
  91. kind: Deployment
  92. metadata:
  93. name: smokeping
  94. spec:
  95. replicas: 1
  96. selector:
  97. matchLabels:
  98. run: smokeping
  99. strategy:
  100. type: Recreate
  101. template:
  102. metadata:
  103. labels:
  104. run: smokeping
  105. spec:
  106. terminationGracePeriodSeconds: 30
  107. containers:
  108. - image: lscr.io/linuxserver/smokeping:latest
  109. imagePullPolicy: "Always"
  110. name: smokeping
  111. env:
  112. - name: TZ
  113. value: US/Michigan
  114. ports:
  115. - containerPort: 80
  116. resources:
  117. limits:
  118. memory: "500Mi"
  119. cpu: "1000m"
  120. requests:
  121. memory: "200Mi"
  122. cpu: "500m"
  123. volumeMounts:
  124. - mountPath: /config
  125. name: smokeping-config
  126. - mountPath: /data
  127. name: smokeping-data
  128. restartPolicy: Always
  129. volumes:
  130. - name: smokeping-config
  131. persistentVolumeClaim:
  132. claimName: smokeping-config
  133. - name: smokeping-data
  134. persistentVolumeClaim:
  135. claimName: smokeping-data
  136. dnsPolicy: "None"
  137. dnsConfig:
  138. nameservers:
  139. - 10.42.42.239
  140. - 10.42.42.1
  141. searches:
  142. - default.svc.cluster.local
  143. - svc.cluster.local
  144. - cluster.local
  145. options:
  146. - name: ndots
  147. value: "2"
  148. - name: edns0
  149. - name: trust-ad
  150. status: {}
  151. ---
  152. # Hosting
  153. apiVersion: networking.k8s.io/v1
  154. kind: Ingress
  155. metadata:
  156. name: smokeping-ingress
  157. annotations:
  158. cert-manager.io/cluster-issuer: "letsencrypt-prod"
  159. ## No basic auth for smokeping
  160. ## type of authentication
  161. #nginx.ingress.kubernetes.io/auth-type: basic
  162. ## name of the secret that contains the user/password definitions
  163. #nginx.ingress.kubernetes.io/auth-secret: basic-auth
  164. ## message to display with an appropriate context why the authentication is required
  165. #nginx.ingress.kubernetes.io/auth-realm: 'Authentication Required - Octoprint'
  166. spec:
  167. tls:
  168. - hosts:
  169. - smokeping.monkeybox.org
  170. secretName: smokeping-tls
  171. rules:
  172. - host: smokeping.monkeybox.org
  173. http:
  174. paths:
  175. - path: /
  176. pathType: Prefix
  177. backend:
  178. service:
  179. name: smokeping
  180. port:
  181. number: 80