ntfy-alertmanager.yaml 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165
  1. ---
  2. apiVersion: apps/v1
  3. kind: Deployment
  4. metadata:
  5. name: ntfy-alertmanager
  6. namespace: monitoring
  7. spec:
  8. selector:
  9. matchLabels:
  10. app: ntfy-alertmanager
  11. replicas: 1
  12. template:
  13. metadata:
  14. labels:
  15. app: ntfy-alertmanager
  16. spec:
  17. containers:
  18. - name: ntfy-alertmanager
  19. image: xenrox/ntfy-alertmanager:latest
  20. args: ["--config", "/config/config.yaml"]
  21. ports:
  22. - containerPort: 8080
  23. name: http-web-svc
  24. volumeMounts:
  25. - mountPath: "/config"
  26. name: "config"
  27. volumes:
  28. - name: config
  29. secret:
  30. secretName: ntfy-alertmanager-config
  31. ---
  32. apiVersion: v1
  33. kind: Service
  34. metadata:
  35. name: ntfy-alertmanager
  36. namespace: monitoring
  37. spec:
  38. selector:
  39. app: ntfy-alertmanager
  40. type: ClusterIP
  41. ports:
  42. - name: ntfy-alertmanager-port
  43. protocol: TCP
  44. port: 80
  45. targetPort: http-web-svc
  46. ---
  47. apiVersion: networking.k8s.io/v1
  48. kind: Ingress
  49. metadata:
  50. name: ntfy-alertmanager
  51. namespace: monitoring
  52. annotations:
  53. traefik.ingress.kubernetes.io/router.entrypoints: websecure
  54. spec:
  55. rules:
  56. - host: ntfy-alertmanager.jibby.org
  57. http:
  58. paths:
  59. - path: /
  60. pathType: Prefix
  61. backend:
  62. service:
  63. name: ntfy-alertmanager
  64. port:
  65. number: 80
  66. ---
  67. apiVersion: external-secrets.io/v1
  68. kind: ExternalSecret
  69. metadata:
  70. name: ntfy-alertmanager-config
  71. namespace: monitoring
  72. spec:
  73. target:
  74. name: ntfy-alertmanager-config
  75. deletionPolicy: Delete
  76. template:
  77. type: Opaque
  78. data:
  79. config.yaml: |-
  80. # Ref: https://git.xenrox.net/~xenrox/ntfy-alertmanager/tree/master/item/config.scfg
  81. # Public facing base URL. Required for the "Silence" feature.
  82. base-url https://ntfy-alertmanager.jibby.org
  83. # http listen address
  84. http-address :8080
  85. # Log level (either debug, info, warning, error)
  86. log-level info
  87. # Log format (either text or json)
  88. log-format text
  89. # When multiple alerts are grouped together by Alertmanager, they can either be sent
  90. # each on their own (single mode) or be kept together (multi mode) (either single or multi; default is multi)
  91. alert-mode single
  92. # Optionally protect with HTTP basic authentication
  93. user {{ .ntfyamuser }}
  94. password {{ .ntfyampass }}
  95. labels {
  96. order "severity,instance"
  97. severity "critical" {
  98. priority 5
  99. tags "rotating_light"
  100. }
  101. severity "info" {
  102. priority 1
  103. }
  104. instance "example.com" {
  105. tags "computer,example"
  106. }
  107. }
  108. # Settings for resolved alerts
  109. resolved {
  110. tags "resolved,partying_face"
  111. priority 1
  112. }
  113. ntfy {
  114. # URL of the ntfy topic - required
  115. topic https://ntfy.jibby.org/alertmanager-alerts
  116. # ntfy authentication via Basic Auth (https://docs.ntfy.sh/publish/#username-password)
  117. user {{ .ntfyuser }}
  118. password {{ .ntfypass }}
  119. }
  120. alertmanager {
  121. silence-duration 24h
  122. url http://alertmanager-operated.monitoring.svc.cluster.local:9093
  123. }
  124. data:
  125. - secretKey: ntfyamuser
  126. sourceRef:
  127. storeRef:
  128. name: bitwarden-login
  129. kind: ClusterSecretStore
  130. remoteRef:
  131. key: af0ecb7c-25e5-4907-82be-b3f80121ceae
  132. property: username
  133. - secretKey: ntfyampass
  134. sourceRef:
  135. storeRef:
  136. name: bitwarden-login
  137. kind: ClusterSecretStore
  138. remoteRef:
  139. key: ae12b5aa-193f-4881-8976-b3f70137de15
  140. property: password
  141. - secretKey: ntfyuser
  142. sourceRef:
  143. storeRef:
  144. name: bitwarden-login
  145. kind: ClusterSecretStore
  146. remoteRef:
  147. key: 674fbf3d-531a-4ca6-afec-b1d7012d1a8a
  148. property: username
  149. - secretKey: ntfypass
  150. sourceRef:
  151. storeRef:
  152. name: bitwarden-login
  153. kind: ClusterSecretStore
  154. remoteRef:
  155. key: 674fbf3d-531a-4ca6-afec-b1d7012d1a8a
  156. property: password