# Validates that case sensitive keys are read correctly from config file
exec karma --log.config=true --config.file=karma.yaml --check-config
! stdout .
cmp stderr stderr.txt

-- stderr.txt --
level=INFO msg="Reading configuration file" path=karma.yaml
level=INFO msg="Version: dev"
level=INFO msg="Parsed configuration:"
level=INFO msg=authentication:
level=INFO msg="  header:"
level=INFO msg="    name: \"\""
level=INFO msg="    value_re: \"\""
level=INFO msg="    group_name: \"\""
level=INFO msg="    group_value_re: \"\""
level=INFO msg="    group_value_separator: ' '"
level=INFO msg="  basicAuth:"
level=INFO msg="    users: []"
level=INFO msg=authorization:
level=INFO msg="  groups: []"
level=INFO msg="  acl:"
level=INFO msg="    silences: \"\""
level=INFO msg=alertmanager:
level=INFO msg="  interval: 1m0s"
level=INFO msg="  servers:"
level=INFO msg="    - cluster: \"\""
level=INFO msg="      name: am"
level=INFO msg="      uri: https://127.0.0.1:9093"
level=INFO msg="      external_uri: \"\""
level=INFO msg="      proxy_url: \"\""
level=INFO msg="      timeout: 40s"
level=INFO msg="      proxy: false"
level=INFO msg="      readonly: false"
level=INFO msg="      tls:"
level=INFO msg="        ca: \"\""
level=INFO msg="        cert: \"\""
level=INFO msg="        key: \"\""
level=INFO msg="        insecureSkipVerify: false"
level=INFO msg="      headers: {}"
level=INFO msg="      cors:"
level=INFO msg="        credentials: include"
level=INFO msg="      healthcheck:"
level=INFO msg="        visible: false"
level=INFO msg="        filters: {}"
level=INFO msg=alertAcknowledgement:
level=INFO msg="  enabled: false"
level=INFO msg="  duration: 15m0s"
level=INFO msg="  author: karma"
level=INFO msg="  comment: ACK! This alert was acknowledged using karma on %NOW%"
level=INFO msg=annotations:
level=INFO msg="  default:"
level=INFO msg="    hidden: false"
level=INFO msg="  hidden: []"
level=INFO msg="  visible: []"
level=INFO msg="  keep: []"
level=INFO msg="  strip: []"
level=INFO msg="  order: []"
level=INFO msg="  actions: []"
level=INFO msg="  enableInsecureHTML: false"
level=INFO msg=custom:
level=INFO msg="  css: \"\""
level=INFO msg="  js: \"\""
level=INFO msg="debug: false"
level=INFO msg=filters:
level=INFO msg="  default: []"
level=INFO msg=grid:
level=INFO msg="  sorting:"
level=INFO msg="    order: startsAt"
level=INFO msg="    reverse: true"
level=INFO msg="    label: alertname"
level=INFO msg="    customValues:"
level=INFO msg="      labels: {}"
level=INFO msg="  auto:"
level=INFO msg="    ignore: []"
level=INFO msg="    order: []"
level=INFO msg="  groupLimit: 40"
level=INFO msg=history:
level=INFO msg="  enabled: true"
level=INFO msg="  workers: 30"
level=INFO msg="  timeout: 20s"
level=INFO msg="  rewrite: []"
level=INFO msg=karma:
level=INFO msg="  name: karma"
level=INFO msg=labels:
level=INFO msg="  order: []"
level=INFO msg="  keep: []"
level=INFO msg="  keep_re: []"
level=INFO msg="  strip: []"
level=INFO msg="  strip_re: []"
level=INFO msg="  valueOnly: []"
level=INFO msg="  valueOnly_re: []"
level=INFO msg="  color:"
level=INFO msg="    custom:"
level=INFO msg="      region:"
level=INFO msg="        - value_re: .*"
level=INFO msg="          color: '#736598'"
level=INFO msg="      severity:"
level=INFO msg="        - value: P3"
level=INFO msg="          color: '#87c4e0'"
level=INFO msg="        - value: P2"
level=INFO msg="          color: '#ffae42'"
level=INFO msg="        - value: P1"
level=INFO msg="          color: '#ff220c'"
level=INFO msg="    static: []"
level=INFO msg="    unique: []"
level=INFO msg=listen:
level=INFO msg="  address: \"\""
level=INFO msg="  timeout:"
level=INFO msg="    read: 10s"
level=INFO msg="    write: 20s"
level=INFO msg="  tls:"
level=INFO msg="    cert: \"\""
level=INFO msg="    key: \"\""
level=INFO msg="  port: 8080"
level=INFO msg="  prefix: /"
level=INFO msg="  cors:"
level=INFO msg="    allowedOrigins: []"
level=INFO msg=log:
level=INFO msg="  level: info"
level=INFO msg="  format: text"
level=INFO msg="  config: true"
level=INFO msg="  requests: false"
level=INFO msg="  timestamp: false"
level=INFO msg=receivers:
level=INFO msg="  keep: []"
level=INFO msg="  keep_re: []"
level=INFO msg="  strip: []"
level=INFO msg="  strip_re: []"
level=INFO msg=silences:
level=INFO msg="  expired: 10m0s"
level=INFO msg="  comments:"
level=INFO msg="    linkDetect:"
level=INFO msg="      rules: []"
level=INFO msg=silenceForm:
level=INFO msg="  strip:"
level=INFO msg="    labels: []"
level=INFO msg="  defaultAlertmanagers: []"
level=INFO msg=ui:
level=INFO msg="  refresh: 30s"
level=INFO msg="  hideFiltersWhenIdle: true"
level=INFO msg="  colorTitlebar: false"
level=INFO msg="  theme: auto"
level=INFO msg="  animations: true"
level=INFO msg="  minimalGroupWidth: 420"
level=INFO msg="  alertsPerGroup: 5"
level=INFO msg="  collapseGroups: collapsedOnMobile"
level=INFO msg="  multiGridLabel: \"\""
level=INFO msg="  multiGridSortReverse: false"
level=INFO msg="Configured Alertmanager source" name=am cluster=am uri=https://127.0.0.1:9093 proxy=false readonly=false
level=INFO msg="Configuration is valid"
-- karma.yaml --
alertmanager:
  servers:
    - name: am
      uri: https://127.0.0.1:9093
labels:
  color:
    custom:
      region:
        - value_re: ".*"
          color: "#736598"
      severity:
        - value: P3
          color: "#87c4e0"
        - value: P2
          color: "#ffae42"
        - value: P1
          color: "#ff220c"
