# Print out and compare logged config set via env variables
env AUTHENTICATION_HEADER_NAME=X-Auth
env AUTHENTICATION_HEADER_VALUE_RE='^(.+)$'

env ALERTMANAGER_INTERVAL=10s
env ALERTMANAGER_NAME=ro
env ALERTMANAGER_URI=http://127.0.0.1:9093
env ALERTMANAGER_EXTERNAL_URI=http://127.0.0.1:9093
env ALERTMANAGER_READONLY=true
env ALERTMANAGER_TIMEOUT=10s

env ALERTACKNOWLEDGEMENT_ENABLED=true
env ALERTACKNOWLEDGEMENT_DURATION=5m
env ALERTACKNOWLEDGEMENT_AUTHOR=karma
env ALERTACKNOWLEDGEMENT_COMMENT="ACK! This alert was acknowledged via unit tests"

env ANNOTATIONS_DEFAULT_HIDDEN=true
env ANNOTATIONS_HIDDEN='help summary'
env ANNOTATIONS_VISIBLE='visible'
env ANNOTATIONS_KEEP='keep'
env ANNOTATIONS_STRIP='strip1 strip2 strip3'
env ANNOTATIONS_ORDER='summary help'
env ANNOTATIONS_ENABLEINSECUREHTML=true

env CUSTOM_CSS='/custom.css'
env CUSTOM_JS='/custom.js'

env DEBUG=false

env FILTERS_DEFAULT='@receiver=by-cluster-service @state=active'

env GRID_SORTING_ORDER=label
env GRID_SORTING_REVERSE=false
env GRID_SORTING_LABEL=severity
env GRID_AUTO_IGNORE="region instance"
env GRID_AUTO_ORDER="severity cluster"
env GRID_GROUPLIMIT=1

env KARMA_NAME=karma-demo

env LABELS_ORDER='job instance'
env LABELS_COLOR_STATIC=job
env LABELS_COLOR_UNIQUE='@receiver instance cluster'
env LABELS_KEEP='keep1 keep2'
env LABELS_KEEP_RE='keep_re1 keep_re2'
env LABELS_STRIP='strip1 strip2'
env LABELS_STRIP_RE='strip_re1 strip_re2'
env LABELS_VALUEONLY='value1 value2'
env LABELS_VALUEONLY_RE='foo.+'

env LISTEN_ADDRESS=127.0.0.1
env LISTEN_PORT=1234
env LISTEN_PREFIX='/prefix/'

env LOG_CONFIG=true
env LOG_LEVEL=info
env LOG_FORMAT=text
env LOG_TIMESTAMP=false

env RECEIVERS_KEEP='keep1 keep2'
env RECEIVERS_STRIP='strip1 strip2'

env SILENCES_EXPIRED=1s

env SILENCEFORM_STRIP_LABELS='job severity region'

env UI_REFRESH=10s
env UI_HIDEFILTERSWHENIDLE=false
env UI_COLORTITLEBAR=true
env UI_THEME=dark
env UI_ANIMATIONS=false
env UI_MINIMALGROUPWIDTH=300
env UI_ALERTSPERGROUP=2
env UI_COLLAPSEGROUPS=expanded
env UI_MULTIGRIDLABEL=cluster
env UI_MULTIGRIDSORTREVERSE=true

karma.bin-should-work --check-config
! stdout .
cmp stderr stderr.txt

-- stderr.txt --
level=info msg="Version: dev"
level=info msg="Parsed configuration:"
level=info msg="authentication:"
level=info msg="  header:"
level=info msg="    name: X-Auth"
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: 10s"
level=info msg="  servers:"
level=info msg="    - cluster: \"\""
level=info msg="      name: ro"
level=info msg="      uri: http://127.0.0.1:9093"
level=info msg="      external_uri: http://127.0.0.1:9093"
level=info msg="      proxy_url: \"\""
level=info msg="      timeout: 10s"
level=info msg="      proxy: false"
level=info msg="      readonly: true"
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: true"
level=info msg="  duration: 5m0s"
level=info msg="  author: karma"
level=info msg="  comment: '\"ACK!'"
level=info msg="annotations:"
level=info msg="  default:"
level=info msg="    hidden: true"
level=info msg="  hidden:"
level=info msg="    - help"
level=info msg="    - summary"
level=info msg="  visible:"
level=info msg="    - visible"
level=info msg="  keep:"
level=info msg="    - keep"
level=info msg="  strip:"
level=info msg="    - strip1"
level=info msg="    - strip2"
level=info msg="    - strip3"
level=info msg="  order:"
level=info msg="    - summary"
level=info msg="    - help"
level=info msg="  actions: []"
level=info msg="  enableInsecureHTML: true"
level=info msg="custom:"
level=info msg="  css: /custom.css"
level=info msg="  js: /custom.js"
level=info msg="debug: false"
level=info msg="filters:"
level=info msg="  default:"
level=info msg="    - '@receiver=by-cluster-service'"
level=info msg="    - '@state=active'"
level=info msg="grid:"
level=info msg="  sorting:"
level=info msg="    order: label"
level=info msg="    reverse: false"
level=info msg="    label: severity"
level=info msg="    customValues:"
level=info msg="      labels: {}"
level=info msg="  auto:"
level=info msg="    ignore:"
level=info msg="      - '\"region'"
level=info msg="    order:"
level=info msg="      - '\"severity'"
level=info msg="  groupLimit: 1"
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-demo"
level=info msg="labels:"
level=info msg="  order:"
level=info msg="    - job"
level=info msg="    - instance"
level=info msg="  keep:"
level=info msg="    - keep1"
level=info msg="    - keep2"
level=info msg="  keep_re:"
level=info msg="    - keep_re1"
level=info msg="    - keep_re2"
level=info msg="  strip:"
level=info msg="    - strip1"
level=info msg="    - strip2"
level=info msg="  strip_re:"
level=info msg="    - strip_re1"
level=info msg="    - strip_re2"
level=info msg="  valueOnly:"
level=info msg="    - value1"
level=info msg="    - value2"
level=info msg="  valueOnly_re:"
level=info msg="    - foo.+"
level=info msg="  color:"
level=info msg="    custom: {}"
level=info msg="    static:"
level=info msg="      - job"
level=info msg="    unique:"
level=info msg="      - '@receiver'"
level=info msg="      - instance"
level=info msg="      - cluster"
level=info msg="listen:"
level=info msg="  address: 127.0.0.1"
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: 1234"
level=info msg="  prefix: /prefix/"
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="    - keep1"
level=info msg="    - keep2"
level=info msg="  strip:"
level=info msg="    - strip1"
level=info msg="    - strip2"
level=info msg="silences:"
level=info msg="  expired: 1s"
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="      - job"
level=info msg="      - severity"
level=info msg="      - region"
level=info msg="ui:"
level=info msg="  refresh: 10s"
level=info msg="  hideFiltersWhenIdle: false"
level=info msg="  colorTitlebar: true"
level=info msg="  theme: dark"
level=info msg="  animations: false"
level=info msg="  minimalGroupWidth: 300"
level=info msg="  alertsPerGroup: 2"
level=info msg="  collapseGroups: expanded"
level=info msg="  multiGridLabel: cluster"
level=info msg="  multiGridSortReverse: true"
level=info msg="Configured Alertmanager source" name=ro proxy=false readonly=true uri=http://127.0.0.1:9093
level=info msg="Configuration is valid"
