Install

Prerequisites

The following must be installed before installing the Notifications App:

Install

To install the Notifications app, you must first create a Helm values file with the appropriate configuration parameters for your environment.

Create a file, such as notifications.yaml with content similar to the following:

externalHostname: www.obcerv.local
ingress:
  annotations:
    kubernetes.io/ingress.class: "nginx"
    nginx.org/mergeable-ingress-type: "minion"

For advanced configuration options, see Advanced configuration.

Install using Helm:

helm install -f notifications.yaml obcerv-app-notifications \
itrs/obcerv-app-notifications \
--version 2.1.0 -n <namespace> --wait

Uninstall

helm uninstall obcerv-app-notifications -n <namespace>

Upgrade

To upgrade the app, first uninstall and then install it again using the new version.

Self-monitoring

You can import this pre-configured dashboard to your Obcerv instance to monitor the health and general state of the app.

Advanced Configuration

All the following installation parameters are optional. In most instances the defaults are sufficient, so you should not need to change anything.

notifier:
  # Sets the maximum inbound gRPC message size in Mebibytes.
  maxInboundGrpcMessageSizeMiB: 15

  # Sets the housekeeping interval of the internal notification cache
  # minimum: PT1S
  # default: PT1H
  entityHousekeepingInterval: PT1H

  # Sets the housekeeping interval of the internal notification cache
  # minimum: PT1S
  # default: PT1H
  notificationHousekeepingInterval: "PT1H"

  # Sets the maximum amount of time to wait for Notification cache entries to be
  # deleted from the Obcerv Platform.
  # minimum: PT30S
  # default: PT30S
  notificationPruningTimeout: "PT30S"

  # How long to wait for the Notifier daemon to shut down
  #
  # minimum: PT5S
  # default: PT30S
  shutdownTimeout: PT30S

  # How long to wait for the Notifier to start up
  #
  # minimum: PT5S
  # default: PT30S
  readinessTimeout: PT30S

  # How often to evaluate notifications. Should be short enough such that notifications are 
  # sent out as soon as their trigger conditions are met. Should be long enough to allow for
  # evaluation to run in a timely manner.
  #
  # minimum: PT10S
  # default: PT10S
  pollInterval: PT10S

  # Notifications are stored in chunks to optimise performance and reduce the number of
  # round trips to the platform. This setting controls the maximum size of each chunk
  # expressed in Kibibytes.
  #
  # minimum: 128
  # maximum: 1024
  # default: 1024
  notificationCacheBufferSizeKiB: 1024

  # Notification queue settings.
  queue:
    # Queue settings for Slack notifications
    # The following queue settings are available for all
    # notification integrations but their defaults may differ.
    slack:
      # Sets the maximum number of notifications that can be held in the queue.
      # Any new notifications generated whilst the queue is full will be thrown away.
      #
      # minimum: 100
      # default: 1000
      capacity: 1000

      # The number of queue consumer threads. Due to Slack's rate limting
      # policies, having more than 1 thread is likely to be problematic, so
      # it is recommended to keep this setting as is.
      #
      # minimum: 1
      # default: 1
      numThreads: 1

      # Defines how long to wait for an acknowledgement that a notification has been
      # sent.
      #
      # minimum: PT5S
      # default: PT10S
      consumerTimeout: PT10S

      # How long to wait for the queue to gracefully shut down.
      #
      # minimum: PT5S
      # default: PT30S
      shutdownTimeout: PT30S
["Obcerv"] ["User Guide"]

Was this topic helpful?