Skip to main content

Configuration

The STS config.yaml contains different sections displaying configuration information which can be modified accordingly by the users which are as follows:

config.yaml

# STS has different submodules which has different responsibility and behaviour.
# The order of the submodules to initiate is relevant for dependency injection.
module:
# broker - [REQUIRED] central websocket broker for handling portal connection.
broker:
hash: default
# auth - [REQUIRED] oauth service with client credentials.
# client domain is the portal redirection url.
auth:
host: localhost
port: 80
client:
- name: default
id: MeghSTSClientID
secret: MeghSTSClientSecret
redirecturis:
- "http://localhost:8000/oauth2/callback"
responsetypes:
- "id_token"
- "code"
- "token"
granttypes:
- "client_credentials"
scopes:
- "admin"
- "openid"
- "photos"
- "offline"
- name: Portal
id: MeghPortalClientID
secret: MeghPortalClientSecret
allowedaudiences:
- "https//localhost"
- "http://localhost:3000"
redirecturis:
- "http://localhost/callback"
- "http://localhost:3000/callback"
- "http://localhost:9094/oauth2"
responsetypes:
- "id_token"
- "code"
- "token"
- "id_token token"
granttypes:
- "implicit"
- "refresh_token"
- "authorization_code"
- "password"
- "client_credentials"
scopes:
- "admin"
- "openid"
- "photos"
- "offline"
# api - [REQUIRED] APIs for STS + Nimble
api:
doc: false
host: 0.0.0.0
port: 8000
web_assets: "web"
lang:
- en
- fr
# cache - [REQUIRED] redis cache for alert-notification feature.
cache:
mode: redis
# clip - [REQUIRED] email attachments as video clip if enabled.
clip:
video_clip_module: false
frame_limit: 300
frame_compression: 70
frame_width: 640
frame_height: 360
# health - [REQUIRED] health monitoring and heartbeat. Generic to multiple services.
# - monitor : checks a different service at a given frequency
# - heartbeat: updates the service status of the current service
health:
monitor:
status: true
frequency: 7200
notification:
- smtp
heartbeat:
status: true
frequency: 30
# heal - [REQUIRED] auto recovery.
heal:
device: true
# nimble - [REQUIRED] this section points to nimble hosts for upstream analytics.
# metadataconnection is connection type handler, ws - websocket / zmq - zmq tcp connection.
# hosts is the list of nimble instances to communicate with STS
nimble:
requesttimeout: 30
dialtimeout: 30
streamconntimeout: 30
metadataconnection: ws
hosts: [ ]
# proxy - [REQUIRED] nimble mp4 proxy pub/sub.
proxy:
video_proxy_module: false
# rbac - [REQUIRED] role base access control.
rbac:
conf: rbac.conf
api: rbacAPI.csv
ui: rbacUI.csv
# scheduler - [REQUIRED] scheduled events and alert conditions.
scheduler:
timezone: localize
# sms - [REQUIRED] sms notifications.
sms:
authkey: AC028f6e7004a7590b71ebf4e85a961b35
authtoken: 1d98364317a55b96698b3aa862929f88
provider: "twilio"
from: "+15036944694"
to: "+15036944694"
# smtp - [REQUIRED] mail notifications.
smtp:
auth: true
host: smtp
port: 2500
username: notification@megh.com
password: NimbleUser
from: notification@megh.com
to: test@megh.com
attachment: false
content: html
# storage - [REQUIRED] image/video storage module.
storage:
type: minio
purgethreshold: 80
purgefrequency: 300
notification:
- smtp
# super admin section is for initial on-boarding and setup,
# if this section is empty the data will be either reset or fresh start.
superadmin:
email: sts.admin@megh.com
firstname: Sts
lastname: Admin
password: MeghVAS-Suite00#
# usecasebundle - [REQUIRED] supported bundle and use-case list.
# usecase - [REQUIRED] supported use-case list.
usecasebundle:
- key: physical_security
name: Physical Security
usecases:
- intrdtec
- loiterdtec
- multizonetrk
- pplcnt
- pplocc
- ppltrk
- objmov
- key: worker_safety
name: Worker Safety
usecases:
- colavoid
- fcmsk
- frdtec
- keepout
- phydist
- ppedtec
- wrkrfallen
- key: inventory_management
name: Inventory Management
usecases:
- boxcnt
- merchandising
- palletcnt
- trackinv
- invmgmt
- key: operational_efficiency
name: Operational Efficiency
usecases:
- spaceutil
- attendtrk
- heatmaps
- objleftbehind
- workerprdc
- emptyframecheck
- key: traffic_management
name: Traffic Management
usecases:
- anpr
- coldtec
- prkspaceutil
- trfviol
- vehicleaccesscntrl
- vehiclecnt
- vehicleintrdtec
- vehicletrk
- key: smart_factory
name: Smart Factory
usecases:
- defectanalysis
# - key: miscellaneous
# name: Miscellaneous
# usecases:
# - fcrecog
# - pplcntavg
# webhook - [REQUIRED] web hooks integrations
webhook:
base64attachment: true
# websocket - [REQUIRED] websocket connection handlers for portal.
websocket:
host: 0.0.0.0
port: 5000

module

STS has different submodules which has different responsibility and behaviour. The order of the submodules to initiate is relevant for dependency injection.

auth

This section contains the oauth service with client credentials.This has the client domain which is the portal redirection url.

api

This section contains the info of the APIs for STS + Nimble and language support details.

brand

This section rebrands the Portal to desired name.

broker

This contains the central websocket broker for handling portal connection. This has hash set to default.

cache

This section contains info of redis cache for alert-notification feature.

clip

This section contains information for email attachments as video clip if enabled.

health

This provides details on STS health monitoring and heartbeat. Generic to multiple services. The monitor section checks a different service at a given frequency The heartbeat section updates the service status of the current service

heal

This section contains config information for device heal or recovery which is set to true.

nimble

This section points to nimble hosts for upstream analytics. It also provides information on metadata connection i.e. with the connection type handler, ws - websocket / zmq - zmq tcp connection.

proxy

This section contains information of nimble mp4 proxy pub/sub.

rbac

This section contains information of rbac i.e role based access for different roles. This section contains path to rbacAPI.csv, rbacUI.csv, traceCodes.csv files.

scheduler

This section contains information of timezone for scheduled events and alert conditions.

sms

This section contains information for configuring sms notifications.

smtp

This section contains information for configuring mail notifications.

storage

This section contains information of the image/video storage module. The type of storage server i.e minio.

superadmin

super admin section contains information like email, first name, last name, password.

super admin section is for initial on-boarding and setup, if this section is empty the data will be either reset or fresh start.

usecasebundle

All similar usecases are listed in an usecasebundle. This section contains information of usecasebundle which is specified in the key section and all usecases are listed below in the usecases section.

webhook

This section contains information for web hooks integrations.

websocket

This section contains information of websocket connection handlers for portal.