questions.yml 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335
  1. ctrueategorie:
  2. - Monitoring
  3. labels:
  4. io.cattle.role: cluster # options are cluster/project
  5. questions:
  6. # Docker image configurations
  7. - variable: "k8s_imagePullSecrets"
  8. description: ""
  9. label: "k8s_imagePullSecrets"
  10. required: true
  11. default: "registrykey-docker-finogeeks-club"
  12. type: "string"
  13. group: "Common Settings"
  14. - variable: "prometheus_hostPath"
  15. description: ""
  16. label: "hostPath"
  17. required: true
  18. default: "/mnt/data/dendrite/prometheus"
  19. type: "string"
  20. group: "prometheus Settings"
  21. # Third-party SMS server option
  22. - variable: sms.alert.host
  23. default: ""
  24. description: "Define SMS server API, eg http://111.222.333.444:5555"
  25. type: string
  26. required: true
  27. group: "sms"
  28. label: sms alert host
  29. - variable: sms.alert.requesturl
  30. default: ""
  31. description: "Define SMS server API request path, eg /webhook/sms"
  32. type: string
  33. required: true
  34. group: "sms"
  35. label: sms alert request path
  36. - variable: sms.alert.appid
  37. default: ""
  38. description: "Define SMS server API APPID, eg template1"
  39. type: string
  40. required: true
  41. group: "sms"
  42. label: sms alert appid
  43. - variable: sms.alert.phone
  44. default: ""
  45. description: "Define phone No. to receive the SMS, use ',' to split multi phone No., eg 13200000000,13300000000"
  46. type: hostname
  47. required: true
  48. group: "sms"
  49. label: sms alert phone
  50. - variable: sms.alert.evnstr
  51. default: ""
  52. description: "Define SMS title, eg Finogeeks PROD ENV"
  53. type: string
  54. required: true
  55. group: "sms"
  56. label: sms alert evnstr
  57. - variable: sms.alert.providertype
  58. default: ""
  59. description: "Define SMS server proovidertype, eg finogeeks"
  60. type: string
  61. required: true
  62. group: "sms"
  63. label: sms alert providertype
  64. # server configurations
  65. - variable: server.ingress.enabled
  66. default: false
  67. description: "Expose prometheus using Layer 7 Load Balancer - ingress"
  68. type: boolean
  69. group: "Prometheus Server"
  70. label: Expose Prometheus using Layer 7 Load Balancer
  71. show_subquestion_if: true
  72. required: true
  73. subquestions:
  74. - variable: server.ingress.hosts[0]
  75. default: "xip.io"
  76. description: "Prometheus server ingress hostname"
  77. type: hostname
  78. required: true
  79. label: Hostname
  80. - variable: server.service.type
  81. default: "NodePort"
  82. description: "Server service type"
  83. group: "Prometheus Server"
  84. type: enum
  85. options:
  86. - "ClusterIP"
  87. - "NodePort"
  88. required: true
  89. label: Prometheus Service Type
  90. show_subquestion_if: "NodePort"
  91. subquestions:
  92. - variable: server.service.nodePort
  93. default: ""
  94. description: "NodePort http port(to set explicitly, choose port between 30000-32767)"
  95. type: int
  96. min: 30000
  97. max: 32767
  98. label: Prometheus NodePort Http Port
  99. show_if: "server.ingress.enabled=false&&server.service.type=NodePort"
  100. - variable: server.persistentVolume.enabled
  101. default: false
  102. description: "If true, prometheus will create a persistent volume claim"
  103. type: boolean
  104. group: "Prometheus Server"
  105. required: true
  106. label: Create Persistent Volume for Prometheus
  107. show_subquestion_if: true
  108. subquestions:
  109. - variable: server.persistentVolume.size
  110. default: "8Gi"
  111. description: "Prometheus data persistent volume size"
  112. type: string
  113. label: Prometheus Persistent Volume Size
  114. - variable: server.persistentVolume.storageClass
  115. default: ""
  116. description: "Prometheus data persistent volume storageClass, if not set use default StorageClass"
  117. type: storageclass
  118. label: Prometheus Persistent Volume StorageClass
  119. - variable: server.persistentVolume.existingClaim
  120. default: ""
  121. description: "If not empty, uses the specified existing PVC instead of creating new one"
  122. type: pvc
  123. label: Existing Persistent Volume Claim for Prometheus
  124. # alertmanager configurations
  125. - variable: alertmanager.enabled
  126. default: true
  127. description: "Select to create alertmanager"
  128. type: boolean
  129. group: "Alertmanager"
  130. label: Enable Alertmanager
  131. - variable: alertmanager.ingress.enabled
  132. default: false
  133. description: "Expose alertmanager using Layer 7 Load Balancer - ingress"
  134. type: boolean
  135. group: "Alertmanager"
  136. label: Expose Alertmanager using Layer 7 Load Balancer
  137. show_if: "alertmanager.enabled=true"
  138. show_subquestion_if: true
  139. required: true
  140. subquestions:
  141. - variable: alertmanager.ingress.hosts[0]
  142. default: "xip.io"
  143. description: "Hostname to your alertmanager installation"
  144. type: hostname
  145. required: true
  146. label: Hostname
  147. show_if: "alertmanager.enabled=true"
  148. - variable: alertmanager.service.type
  149. default: "NodePort"
  150. description: "Alertmanager service type"
  151. type: enum
  152. show_if: "alertmanager.ingress.enabled=false&&alertmanager.enabled=true"
  153. group: "Alertmanager"
  154. options:
  155. - "ClusterIP"
  156. - "NodePort"
  157. required: true
  158. label: Alertmanager Service Type
  159. show_subquestion_if: "NodePort"
  160. subquestions:
  161. - variable: alertmanager.service.nodePort
  162. default: ""
  163. description: "NodePort http port(to set explicitly, choose port between 30000-32767)"
  164. type: int
  165. min: 30000
  166. max: 32767
  167. label: Alertmanager NodePort Http Port
  168. show_if: "alertmanager.enabled=true&&alertmanager.ingress.enabled=false"
  169. - variable: alertmanager.persistentVolume.enabled
  170. default: false
  171. description: "If true, alertmanager will create a persistent volume claim"
  172. type: boolean
  173. required: true
  174. group: "Alertmanager"
  175. label: Create Persistent Volume for Alertmanager
  176. show_if: "alertmanager.enabled=true"
  177. show_subquestion_if: true
  178. subquestions:
  179. - variable: alertmanager.persistentVolume.size
  180. default: "2Gi"
  181. description: "Alertmanager data persistent volume size"
  182. type: string
  183. label: Alertmanager Persistent Volume Size
  184. show_if: "alertmanager.enabled=true"
  185. - variable: alertmanager.persistentVolume.storageClass
  186. default: ""
  187. description: "Alertmanager data persistent volume storageClass, if not set use default StorageClass"
  188. type: storageclass
  189. label: Alertmanager Persistent Volume StorageClass
  190. show_if: "alertmanager.enabled=true"
  191. - variable: alertmanager.persistentVolume.existingClaim
  192. default: ""
  193. description: "If not empty, uses the specified existing PVC instead of creating new one"
  194. type: pvc
  195. label: Existing Persistent Volume Claim for AlertManager
  196. # Grafana configurations
  197. - variable: grafana.enabled
  198. default: true
  199. description: "Create Grafana Dashboard"
  200. type: boolean
  201. group: "Grafana Settings"
  202. label: Enable Grafana Dashboard
  203. show_subquestion_if: "true"
  204. subquestions:
  205. - variable: grafana.admin.existingSecret
  206. default: ""
  207. description: "The name of an existing secret containing the admin credentials."
  208. type: secret
  209. group: "Grafana Settings"
  210. label: Select Existing Admin Secret
  211. - variable: grafana.adminUser
  212. default: "admin"
  213. description: "Grafana admin username"
  214. type: string
  215. group: "Grafana Settings"
  216. label: Grafana Admin Username
  217. required: true
  218. show_if: "grafana.admin.existingSecret="
  219. - variable: grafana.adminPassword
  220. default: "thisisabook"
  221. description: "Grafana admin password"
  222. type: password
  223. group: "Grafana Settings"
  224. label: Grafana Admin Password
  225. show_if: "grafana.admin.existingSecret="
  226. - variable: rbac.namespaced
  227. default: true
  228. description: "Creates Role and Rolebinding instead of the default ClusterRole and ClusteRoleBindings for the grafana instance."
  229. type: boolean
  230. group: "Grafana Settings"
  231. label: Set Grafana RBAC to Namespaced
  232. show_if: "grafana.admin.existingSecret="
  233. - variable: grafana.persistence.enabled
  234. default: false
  235. description: "Enable persistent volume for Grafana"
  236. type: boolean
  237. required: true
  238. label: Grafana Persistent Volume Enabled
  239. show_if: "grafana.enabled=true"
  240. show_subquestion_if: true
  241. group: "Grafana Settings"
  242. subquestions:
  243. - variable: grafana.persistence.size
  244. default: "8Gi"
  245. description: "Grafana Persistent Volume Size"
  246. type: string
  247. label: Grafana Volume Size
  248. required: true
  249. - variable: grafana.persistence.storageClass
  250. default: ""
  251. description: "If undefined or set to null, using the default storageClass. Defaults to null."
  252. type: storageclass
  253. label: Storage Class for Grafana
  254. - variable: grafana.persistence.existingClaim
  255. default: ""
  256. description: "If not empty, uses the specified existing PVC instead of creating new one"
  257. type: pvc
  258. label: Existing Persistent Volume Claim for Grafana
  259. - variable: grafana.ingress.enabled
  260. default: false
  261. description: "Expose grafana using Layer 7 Load Balancer - ingress"
  262. type: boolean
  263. label: Expose Grafana using Layer 7 Load Balancer
  264. show_if: "grafana.enabled=true"
  265. show_subquestion_if: true
  266. group: "Grafana Settings"
  267. required: true
  268. subquestions:
  269. - variable: grafana.ingress.hosts[0]
  270. default: "xip.io"
  271. description: "Hostname to your grafana installation"
  272. type: hostname
  273. required: true
  274. label: Hostname
  275. - variable: grafana.service.type
  276. default: "NodePort"
  277. description: "Grafana service type"
  278. type: enum
  279. show_if: "grafana.enabled=true"
  280. group: "Grafana Settings"
  281. options:
  282. - "ClusterIP"
  283. - "NodePort"
  284. required: true
  285. label: Grafana Service Type
  286. show_subquestion_if: "NodePort"
  287. subquestions:
  288. - variable: grafana.service.nodePort
  289. default: ""
  290. description: "NodePort http port(to set explicitly, choose port between 30000-32767)"
  291. type: int
  292. min: 30000
  293. max: 32767
  294. show_if: "grafana.ingress.enabled=false&&grafana.enabled=true"
  295. label: Grafana NodePort Number
  296. # push-gateway configs
  297. - variable: pushgateway.enabled
  298. default: true
  299. description: "Select whether to create pushgateway"
  300. type: boolean
  301. group: "Pushgateway"
  302. label: Enable Pushgateway
  303. - variable: pushgateway.persistentVolume.enabled
  304. default: false
  305. description: "If true, pushgateway will create a persistent volume claim"
  306. type: boolean
  307. required: true
  308. group: "Pushgateway"
  309. label: Create Persistent Volume for Pushgateway
  310. show_if: "pushgateway.enabled=true"
  311. show_subquestion_if: true
  312. subquestions:
  313. - variable: pushgateway.persistentVolume.size
  314. default: "2Gi"
  315. description: "Pushgateway data persistent volume size"
  316. type: string
  317. label: Pushgateway Persistent Volume Size
  318. show_if: "pushgateway.enabled=true"
  319. - variable: pushgateway.persistentVolume.storageClass
  320. default: ""
  321. description: "Pushgateway data persistent volume storageClass, if not set use default StorageClass"
  322. type: storageclass
  323. label: Pushgateway Persistent Volume StorageClass
  324. show_if: "pushgateway.enabled=true"
  325. - variable: pushgateway.persistentVolume.existingClaim
  326. default: ""
  327. description: "If not empty, uses the specified existing PVC instead of creating new one"
  328. type: pvc
  329. label: Existing Persistent Volume Claim for AlertManager