setup/dbs.yaml (55 lines of code) (raw):

# 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)