The schema for the Kerbside MySQL database is as follows:

          erDiagram
          sources {
              string name PK
              string type
              datetime last_seen
              string seen_by
              boolean errored
              string url
              text ca_cert
              string username
              string password
              string project_name "OpenStack only"
              string user_domain_id "OpenStack only"
              string project_domain_id "OpenStack only"
              boolean deleted
          }

          sources ||--o{ consoles : "sources provide consoles"
          consoles {
              string uuid PK
              string source FK
              datetime discovered
              string hypervisor
              string hypervisor_ip
              integer insecure_port
              integer secure_port
              string name
              string host_subject
              string ticket
          }

          sources ||--o{ consoletokens: "sources enable consoletokens"
          consoles ||--o{ consoletokens: "consoles own consoletokens"
          consoletokens {
              string token PK
              string session_id
              string uuid FK
              string source FK
              integer created "epoch seconds"
              integer expires "epoch seconds"
          }

          consoletokens ||--o{ proxychannels: "consoletokens authenticate proxychannels"
          proxychannels {
              string node PK
              string pid PK
              datetime created
              string client_ip
              integer client_port
              integer connection_id
              string channel_type
              integer channel_id
              string session_id FK
          }

          consoles ||--o{ auditevents: "consoles create auditevents"
          auditevents {
              string source PK "No FK to avoid cascading delete"
              string uuid PK "No FK to avoid cascading delete"
              string session_id "No FK to avoid cascading delete"
              string channel
              datetime timestamp PK "microsecond precision"
              string node
              string pid
              text message
          }