# SPDX-FileCopyrightText: 2020 The Magma Authors.
# SPDX-FileCopyrightText: 2022 Open Networking Foundation <support@opennetworking.org>
#
# SPDX-License-Identifier: BSD-3-Clause


# log_level is set in mconfig. it can be overridden here

print_grpc_payload: False

# List of services for magmad to control
magma_services:
  - enodebd

# list of services that are required to have meta before checking in
# (meta = data gathered via MagmaService.register_get_status_callback())
# skip limit specified by config 'max_skipped_checkins'
skip_checkin_if_missing_meta_services: []

# default = 3, use 0 for "infinity"
# max_skipped_checkins: 3

# Init system to use to control services
# Supported systems include: [systemd, runit, docker]
init_system: systemd

# bootstrap_manager config
bootstrap_config:
  # location of the challenge key
  challenge_key: /var/opt/magma/certs/gw_challenge.key

# Flags indicating the magmad features to be enabled
enable_config_streamer: True
enable_upgrade_manager: True
enable_network_monitor: True
enable_sync_rpc: True
enable_kernel_version_checking: True

network_monitor_config:
  # How long to sleep between statistic collections
  sampling_period: 60

  # ping stats config
  ping_config:
    hosts:
      - 8.8.8.8
    num_packets: 1
    timeout_secs: 20

upgrader_factory:
  # Module where the UpgraderFactory implementation is located
  module: magma.magmad.upgrade.magma_upgrader
  # Name of the UpgraderFactory implementation
  class: MagmaUpgraderFactory
mconfig_modules:
  - orc8r.protos.mconfig.mconfigs_pb2
  - lte.protos.mconfig.mconfigs_pb2
  # - feg.protos.mconfig.mconfigs_pb2

metricsd:
  log_level: INFO
  collect_interval: 60 # How frequently to collect metrics samples in seconds
  sync_interval: 60 # How frequently to sync to cloud in seconds
  grpc_timeout: 30 # Timeout in seconds
  max_grpc_msg_size_mb: 4 # Max message size for gRPC channel in MBs

  # An optional function  to mutate metrics before they are sent to the cloud
  # A string in the form path.to.module.fn_name
  # @see magma.magmad.metrics_collector.example_metrics_postprocessor
  post_processing_fn: magma.magmad.metrics_collector.do_nothing_metrics_postprocessor
  # List of services for metricsd to poll
  services:
    - subscriberdb
    - mobilityd
    - mme
    - magmad
    - enodebd
    - pipelined
    - state
    - sessiond

generic_command_config:
  module: magma.magmad.generic_command.shell_command_executor
  class: ShellCommandExecutor
  shell_commands:
    - name: bash
      command: "bash {}"
      allow_params: True
    - name: fab
      command: "fab {}"
      allow_params: True
    - name: echo
      command: "echo {}"
      allow_params: True
    - name: reboot_enodeb
      command: "enodebd_cli.py reboot_enodeb {}"
      allow_params: True
    - name: reboot_all_enodeb
      command: "enodebd_cli.py reboot_all_enodeb"
      allow_params: False
    - name: health
      command: "health_cli.py {}"
      allow_params: True
    - name: agw_health
      command: "agw_health_cli.py {}"
      allow_params: True
    - name: get_flows
      command: "sudo pipelined_cli.py debug display_flows"
      allow_params: False
    - name: get_subscriber_table
      command: "mobility_cli.py get_subscriber_table"
      allow_params: False
    - name: check_stateless
      command: "magmad_cli.py check_stateless"
      allow_params: False
    - name: configure_stateless
      command: "magmad_cli.py config_stateless {}"
      allow_params: True

# Services for which magmad grpc status check restart recovery is enabled
services_to_restart:
  - pipelined

# How many times can grpc status check fail before restarting the services above
restart_timeout_threshold: 15