Add a generate-config command
This commit is contained in:
25
config/cmd.go
Normal file
25
config/cmd.go
Normal file
@@ -0,0 +1,25 @@
|
|||||||
|
package config
|
||||||
|
|
||||||
|
import (
|
||||||
|
"gitlab.com/beeper/discord/globals"
|
||||||
|
)
|
||||||
|
|
||||||
|
type Cmd struct {
|
||||||
|
HomeserverAddress string `kong:"arg,help='The url to for the homeserver',required='1'"`
|
||||||
|
Domain string `kong:"arg,help='The domain for the homeserver',required='1'"`
|
||||||
|
}
|
||||||
|
|
||||||
|
func (c *Cmd) Run(g *globals.Globals) error {
|
||||||
|
cfg := &Config{
|
||||||
|
Homeserver: homeserver{
|
||||||
|
Address: c.HomeserverAddress,
|
||||||
|
Domain: c.Domain,
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
if err := cfg.validate(); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
return cfg.Save(g.Config)
|
||||||
|
}
|
||||||
6
main.go
6
main.go
@@ -6,6 +6,7 @@ import (
|
|||||||
|
|
||||||
"github.com/alecthomas/kong"
|
"github.com/alecthomas/kong"
|
||||||
|
|
||||||
|
"gitlab.com/beeper/discord/config"
|
||||||
"gitlab.com/beeper/discord/consts"
|
"gitlab.com/beeper/discord/consts"
|
||||||
"gitlab.com/beeper/discord/globals"
|
"gitlab.com/beeper/discord/globals"
|
||||||
"gitlab.com/beeper/discord/registration"
|
"gitlab.com/beeper/discord/registration"
|
||||||
@@ -15,8 +16,9 @@ import (
|
|||||||
var cli struct {
|
var cli struct {
|
||||||
globals.Globals
|
globals.Globals
|
||||||
|
|
||||||
GenerateRegistration registration.Cmd `kong:"cmd,help='Generate the registration file for synapse and exit'"`
|
GenerateConfig config.Cmd `kong:"cmd,help='Generate the default configuration and exit.'"`
|
||||||
Version version.Cmd `kong:"cmd,help='Display the version and exit'"`
|
GenerateRegistration registration.Cmd `kong:"cmd,help='Generate the registration file for synapse and exit.'"`
|
||||||
|
Version version.Cmd `kong:"cmd,help='Display the version and exit.'"`
|
||||||
}
|
}
|
||||||
|
|
||||||
func main() {
|
func main() {
|
||||||
|
|||||||
Reference in New Issue
Block a user