blob: df3da3d86e391b4c3968b3f264fefecfc26742b8 [file] [log] [blame]
# Master UI account setup
accounts:
driver: sqlite
path: accounts.db
layout:
userid: text primary key # user ID
password: text # password digest
superuser: boolean # admin or not?
# UI sessions
sessions:
driver: sqlite
path: sessions.db
layout:
cookie: text # HTTP cookie
userid: text # corresponding user account
timestamp: integer # cookie use timestamp (for timing out sessions)
# Node registry database setup
registry:
driver: sqlite
path: nodes.db
layout:
id: integer primary key # ID of node
hostname: text # hostname of node
apikey: text # API key for requests
pubkey: text # public key for encryption/certification
verified: boolean # Whether we have verified (accepted) this node via UI
enabled: boolean # enabled/disabled
description: text # Optional description of node
location: text # Physical location of node (addr or DC)
ip: text # Known public IP of node
lastping: integer # Last time node was alive
version: text # Node client software version
# Task registry for nodes
nodetasks:
driver: sqlite
path: nodetasks.db
layout:
id: integer primary key # ID of task
type: text # Task type (test class, so nodes know whether they support it or not)
enabled: boolean # Whether task is currently enabled or not
muted: boolean # Whether task alerting is currently muted or not (does not impact testing, only alerting)
category: integer # Category ID for task (0 means no category/group)
name: text # Name (short description) of task
payload: text # Task payload (JSON blob to allow custom content)
# Task groups for nodes
nodecats:
driver: sqlite
path: nodecats.db
layout:
id: integer primary key # ID of category
name: text # Name of category
description: text # Short description of category
settings: text # Notification settings (JSON blob to allow for customizations)
# User -> Task category mappings
nodeacl:
driver: sqlite
path: nodeacl.db
layout:
userid: text # username
catid: integer # task category id
access: integer # category access level (0 = none, 1 = read, 2 = read/write, 3 = admin)