apiVersion: v1
data:
  template: |
    {{ "{{ define \"nm.default.message\" }}{{ if ne (len .Status) 0 }}[{{ .Status | translate }}] {{ end }}{{ .Message }}{{ end }}" }}
    {{ "{{ define \"nm.default.message.cn\" }}{{ if ne (len .Status) 0 }}[{{ .Status | translate }}] {{ end }}{{ .MessageCN }}{{ end }}" }}

    {{ "{{ define \"nm.default.subject\" }}{{ if eq (len .Alerts) 1 }}{{ range .Alerts }}{{ template \"nm.default.message\" . }}{{ end }}{{ else }}{{ .Alerts | len }} {{ .Status }} alerts{{ if gt (len .GroupLabels.SortedPairs) 1 }} for {{ range .GroupLabels.SortedPairs }}{{ .Name | translate }}={{ .Value }} {{ end }}{{ end }}{{ end }}{{ end }}" }}

    {{ "{{ define \"nm.default.text\" }}{{ range .Alerts }}{{ template \"nm.default.message\" . }}" }}
    {{ "{{ range .Labels.SortedPairs }}  {{ .Name | translate }}: {{ .Value }}" }}
    {{ "{{ end }}" }}
    {{ "{{ end }}{{- end }}" }}

    {{ "{{ define \"nm.default.markdown\" }}{{ range .Alerts }}### {{ template \"nm.default.message\" . }}" }}
    {{ "{{ range .Labels.SortedPairs }}- {{ .Name | translate }}: {{ .Value }}" }}
    {{ "{{ end }}" }}
    {{ "{{ end }}{{- end }}" }}

    {{ "{{ define \"nm.feishu.post\" }}" }}
    {{ "en_us:" }}
    {{ "  content:" }}
    {{ "    {{ range .Alerts }}" }}
    {{ "    - - tag: text" }}
    {{ "        text: '{{ template \"nm.default.message\" . }}'{{ range .Labels.SortedPairs }}" }}
    {{ "    - - tag: text" }}
    {{ "        text: '  {{ .Name | translate }}: {{ .Value }}'" }}
    {{ "    {{- end }}" }}
    {{ "    - - tag: text" }}
    {{ "        text: ' '" }}
    {{ "    {{- end }}" }}
    {{ "{{- end }}" }}

    {{ "{{ define \"nm.feishu.text\" }}{{ range .Alerts }}{{ template \"nm.default.message\" . }}{{ \"\\n\" }}{{ range .Labels.SortedPairs }}  {{ .Name | translate }}: {{ .Value }}{{ \"\\n\" }}{{ end }}{{ \"\\n\" }}{{ end }}{{- end }}" }}

    {{ "{{ define \"nm.default.html\" }}" }}
    {{ "  <html xmlns=\"http://www.w3.org/1999/xhtml\" xmlns=\"http://www.w3.org/1999/xhtml\" style=\"font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; box-sizing: border-box; font-size: 14px; margin: 0;\">" }}
    {{ "  <body itemscope=\"\" itemtype=\"http://schema.org/EmailMessage\" style=\"font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; box-sizing: border-box; font-size: 14px; -webkit-font-smoothing: antialiased; -webkit-text-size-adjust: none; height: 100%; line-height: 1.6em; width: 100% !important; background-color: #f6f6f6; margin: 0; padding: 0;\" bgcolor=\"#f6f6f6\">" }}
    {{ "  <table style=\"font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; box-sizing: border-box; font-size: 14px; width: 100%; background-color: #f6f6f6; margin: 0;\" bgcolor=\"#f6f6f6\">" }}
    {{ "    <tr style=\"font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; box-sizing: border-box; font-size: 14px; margin: 0;\">" }}
    {{ "      <td style=\"font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; box-sizing: border-box; font-size: 14px; vertical-align: top; margin: 0;\" valign=\"top\"></td>" }}
    {{ "      <td width=\"600\" style=\"font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; box-sizing: border-box; font-size: 14px; vertical-align: top; display: block !important; max-width: 100% !important; clear: both !important; width: 100% !important; margin: 0 auto; padding: 0;\" valign=\"top\">" }}
    {{ "        <div style=\"font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; box-sizing: border-box; font-size: 14px; max-width: 100%; display: block; margin: 0 auto; padding: 0;\">" }}
    {{ "          <table width=\"100%\" cellpadding=\"0\" cellspacing=\"0\" style=\"font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; box-sizing: border-box; font-size: 14px; border-radius: 3px; background-color: #fff; margin: 0; border: 1px solid #e9e9e9;\" bgcolor=\"#fff\">" }}
    {{ "            <tr style=\"font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; box-sizing: border-box; font-size: 14px; margin: 0;\">" }}
    {{ "              <td style=\"font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; box-sizing: border-box; font-size: 14px; vertical-align: top; margin: 0; padding: 10px;\" valign=\"top\">" }}
    {{ "                <table width=\"100%\" cellpadding=\"0\" cellspacing=\"0\" style=\"font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; box-sizing: border-box; font-size: 14px; margin: 0;\">" }}
    {{ "                  {{ range .Alerts }}" }}
    {{ "                    <tr style=\"font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; box-sizing: border-box; font-size: 14px; margin: 0;\">" }}
    {{ "                      <td style=\"font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; box-sizing: border-box; font-size: 14px; vertical-align: top; margin: 0; padding: 0 0 20px;\" valign=\"top\">" }}
    {{ "                        <strong style=\"font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; box-sizing: border-box; font-size: 14px; margin: 0;\">{{ template \"nm.default.message\" . }}</strong><br style=\"font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; box-sizing: border-box; font-size: 14px; margin: 0;\" />" }}
    {{ "                        {{ range .Labels.SortedPairs }}&nbsp;&nbsp;{{ .Name | translate }}: {{ .Value }}<br style=\"font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; box-sizing: border-box; font-size: 14px; margin: 0;\" />{{ end }}" }}
    {{ "                      </td>" }}
    {{ "                    </tr>" }}
    {{ "                  {{ end }}" }}
    {{ "                </table>" }}
    {{ "              </td>" }}
    {{ "            </tr>" }}
    {{ "          </table>" }}
    {{ "        </div>" }}
    {{ "      </td>" }}
    {{ "      <td style=\"font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; box-sizing: border-box; font-size: 14px; vertical-align: top; margin: 0;\" valign=\"top\"></td>" }}
    {{ "    </tr>" }}
    {{ "  </table>" }}
    {{ "  </body>" }}
    {{ "  </html>" }}
    {{ "{{ end }}" }}
kind: ConfigMap
metadata:
  name: notification-manager-template
  namespace: kubesphere-monitoring-system
