import"strings"// Schema#Port:int&>0&<65536#Link:string&strings.Contains(",")#Config:{"repo-dir":string"show-private":boolssh:{enable:bool"authorized-keys":string"clone-url":stringport:#Port"host-key":string}http:{enable:bool"clone-url":stringport:#Port}meta:{title:stringdescription:string}profile?:{username?:stringemail?:stringlinks?:[...#Link]}log:{json:boollevel:"debug"|"info"|"warn"|"warning"|"error"}// Constraintsifssh.port==http.port{error("ssh.port and http.port cannot be the same")}}// Defaults#Config:{"repo-dir":".ugit""show-private":falsessh:{enable:true"authorized-keys":".ssh/authorized_keys""clone-url":"ssh://localhost:8448"port:8448"host-key":".ssh/ugit_ed25519"}http:{enable:true"clone-url":"http://localhost:8449"port:8449}meta:{title:"uGit"description:"Minimal git server"}log:{json:falselevel:"info"}}// Apply schema#Config