Example OpenShift configuration

This page shows a complete example openshift-values.yaml configuration file.

# This section is for configuring agent to send data to Observe endpoints
observe:
  # If create = false it is assumed that a secret named agent-credentials with key: OBSERVE_TOKEN already exists
  token:
    create: false
    value: ""
  collectionEndpoint:
    # ex -  https://12345678.collect.observeinc.com
    value: "https://107665738415.collect.observeinc.com"

cluster:
  # name given to your cluster
  name: niq-poc
  # configure the collection of resources and events
  events:
    # how often to pull resources from cluster
    pullInterval: 20m
    enabled: true
  # cluster-level metrics and entity events (as metrics) from the Kubernetes API server. It uses the K8s API to listen for updates.
  metrics:
    enabled: true
    interval: 60s

node:
  # Enable the node-logs-metrics Daemonset. To scrape Container Logs and Node Metrics from the host
  enabled: true
  # Deploy the Forwarder Daemonset. To listen for OTEL logs, metrics, or traces.
  forwarder:
    enabled: true

application:
  # use this option to scrape prometheus metrics from pods
  # To enable/disable auto discovery of metrics - besides option below - you can annotate your pods
  # See helm-charts/examples/agent/pod_metrics for more information
  prometheusScrape:
    enabled: false

agent:
  selfMonitor:
    enabled: true
    metrics:
      scrapeInterval: 60s

################################################################################################
#  The following configuration is to adjust K8S deployment settings.  Depending on the size
#  of the K8S Cluster, you may need to increase the cpu and memory limits
################################################################################################
cluster-events:
  mode: deployment

  # OPENSHIFT: clusters may require more of a delay
  livenessProbe:
    initialDelaySeconds: 60
    periodSeconds: 5
  readinessProbe:
    initialDelaySeconds: 60
    periodSeconds: 5

  # Need to define whole block, including default deployment-config
  extraVolumes:
    - name: observe-agent-deployment-config
      configMap:
        name: observe-agent
        items:
          - key: relay
            path: observe-agent.yaml
        defaultMode: 420
    # OPENSHIFT: Needed to ensure permissions to for writing to persistent storage.
    - name: agent-etc
      emptyDir: {}

  # Need to define whole block, including default deployment-config
  extraVolumeMounts:
    - name: observe-agent-deployment-config
      mountPath: /observe-agent-conf
    # OPENSHIFT: Needed to ensure permissions to for writing to persistent storage.
    - name: agent-etc
      mountPath: /etc/observe-agent

  resources:
    requests:
      cpu: 150m
      memory: 256Mi
    limits:
      memory: 256Mi

################################################
cluster-metrics:
  mode: deployment

  # Need to define whole block, including default deployment-config
  extraVolumes:
    - name: observe-agent-deployment-config
      configMap:
        name: observe-agent
        items:
          - key: relay
            path: observe-agent.yaml
        defaultMode: 420
    # OPENSHIFT: Needed to ensure permissions to for writing to persistent storage.
    - name: agent-etc
      emptyDir: {}

  # Need to define whole block, including default deployment-config
  extraVolumeMounts:
    - name: observe-agent-deployment-config
      mountPath: /observe-agent-conf
    # OPENSHIFT: Needed to ensure permissions to for writing to persistent storage.
    - name: agent-etc
      mountPath: /etc/observe-agent

  resources:
    requests:
      cpu: 250m
      memory: 512Mi
    limits:
      memory: 512Mi

################################################
prometheus-scraper:
  mode: deployment

  resources:
    requests:
      cpu: 250m
      memory: 512Mi
    limits:
      memory: 512Mi

################################################
node-logs-metrics:
  # currently MUST run as a daemonset

  resources:
    requests:
      cpu: 250m
      memory: 512Mi
    limits:
      memory: 512Mi

  # extraEnvsFrom:
  #   - name: HOSTFS
  #     value: /
  #
  # OPENSHIFT: Necessary to access host as a privileged container
  # Ultimately for show, Openshift will override any way. If root user is allowed and needed then it is granted.
  securityContext:
    runAsUser: 0
    runAsGroup: 0
    seLinuxOptions:
      type: spc_t

################################################
monitor:
  mode: deployment

  # Need to define whole block, including default deployment-config
  extraVolumes:
    - name: observe-agent-deployment-config
      configMap:
        name: observe-agent
        items:
          - key: relay
            path: observe-agent.yaml
        defaultMode: 420
    # OPENSHIFT: Needed to ensure permissions to for writing to persistent storage.
    - name: agent-etc
      emptyDir: {}

  # Need to define whole block, including default deployment-config
  extraVolumeMounts:
    - name: observe-agent-deployment-config
      mountPath: /observe-agent-conf
    # OPENSHIFT: Needed to ensure permissions to for writing to persistent storage.
    - name: agent-etc
      mountPath: /etc/observe-agent

  resources:
    requests:
      cpu: 150m
      memory: 256Mi
    limits:
      memory: 256Mi

################################################
forwarder:
  mode: daemonset

  resources:
    requests:
      cpu: 300m
      memory: 512Mi
    limits:
      memory: 512Mi