let Schema = -- | define a configuration schema. { Type = { Host : Text , Port : Natural , AppName : Text , LiveMode : Bool , DevelMode : Bool , Session : { CookieName : Optional Text, CookieSecret : Text } , Logger : { Json : Bool, Fmt : Optional Text } , InitialAdminPassword : Text , Registration : { Allowed : Bool } } , default = -- | have sane defaults. { Host = "" , Port = 3000 , AppName = "pcmt" , LiveMode = False , DevelMode = False , Session = { CookieName = None Text, CookieSecret = "secretz" } , Logger = { Json = True, Fmt = None Text } , InitialAdminPassword = -- | used for the first admin, forced change on first login. "50ce50fd0e4f5894d74c4caecb450b00c594681d9397de98ffc0c76af5cff5953eb795f7" , Registration.Allowed = True } } in Schema