mirror of
https://github.com/dragonheim/gagent.git
synced 2025-04-25 21:38:58 -07:00
Moved setup into a separate file.
This commit is contained in:
parent
8515707300
commit
7e51584832
2 changed files with 58 additions and 42 deletions
|
@ -13,18 +13,16 @@ import (
|
||||||
|
|
||||||
autorestart "github.com/slayer/autorestart"
|
autorestart "github.com/slayer/autorestart"
|
||||||
|
|
||||||
gs "git.dragonheim.net/dragonheim/gagent/internal/gstructs"
|
gstruct "git.dragonheim.net/dragonheim/gagent/internal/gstructs"
|
||||||
|
|
||||||
gc "git.dragonheim.net/dragonheim/gagent/internal/client"
|
gc "git.dragonheim.net/dragonheim/gagent/internal/client"
|
||||||
gr "git.dragonheim.net/dragonheim/gagent/internal/router"
|
gr "git.dragonheim.net/dragonheim/gagent/internal/router"
|
||||||
|
gs "git.dragonheim.net/dragonheim/gagent/internal/setup"
|
||||||
gw "git.dragonheim.net/dragonheim/gagent/internal/worker"
|
gw "git.dragonheim.net/dragonheim/gagent/internal/worker"
|
||||||
|
|
||||||
cty "github.com/zclconf/go-cty/cty"
|
|
||||||
|
|
||||||
docopt "github.com/aviddiviner/docopt-go"
|
docopt "github.com/aviddiviner/docopt-go"
|
||||||
|
|
||||||
hclsimple "github.com/hashicorp/hcl/v2/hclsimple"
|
hclsimple "github.com/hashicorp/hcl/v2/hclsimple"
|
||||||
hclwrite "github.com/hashicorp/hcl/v2/hclwrite"
|
|
||||||
|
|
||||||
logutils "github.com/hashicorp/logutils"
|
logutils "github.com/hashicorp/logutils"
|
||||||
|
|
||||||
|
@ -45,8 +43,8 @@ var exitCodes = struct {
|
||||||
m map[string]int
|
m map[string]int
|
||||||
}{m: map[string]int{}}
|
}{m: map[string]int{}}
|
||||||
|
|
||||||
var config gs.GagentConfig
|
var config gstruct.GagentConfig
|
||||||
var agent gs.AgentDetails
|
var agent gstruct.AgentDetails
|
||||||
|
|
||||||
func main() {
|
func main() {
|
||||||
filter := &logutils.LevelFilter{
|
filter := &logutils.LevelFilter{
|
||||||
|
@ -105,39 +103,8 @@ func main() {
|
||||||
go gw.Main(&wg, config)
|
go gw.Main(&wg, config)
|
||||||
|
|
||||||
case "setup":
|
case "setup":
|
||||||
log.Printf("[INFO] Running in setup mode\n")
|
wg.Add(1)
|
||||||
f := hclwrite.NewEmptyFile()
|
go gs.Main(&wg, config)
|
||||||
rootBody := f.Body()
|
|
||||||
rootBody.SetAttributeValue("name", cty.StringVal(config.Name))
|
|
||||||
rootBody.SetAttributeValue("mode", cty.StringVal(config.Mode))
|
|
||||||
rootBody.SetAttributeValue("uuid", cty.StringVal(config.UUID))
|
|
||||||
rootBody.SetAttributeValue("listenaddr", cty.StringVal("0.0.0.0"))
|
|
||||||
rootBody.SetAttributeValue("clientport", cty.NumberIntVal(config.ClientPort))
|
|
||||||
rootBody.SetAttributeValue("routerport", cty.NumberIntVal(config.RouterPort))
|
|
||||||
rootBody.SetAttributeValue("workerport", cty.NumberIntVal(config.WorkerPort))
|
|
||||||
rootBody.AppendNewline()
|
|
||||||
|
|
||||||
clientBlock1 := rootBody.AppendNewBlock("client", []string{config.Name})
|
|
||||||
clientBody1 := clientBlock1.Body()
|
|
||||||
clientBody1.SetAttributeValue("clientid", cty.StringVal(config.UUID))
|
|
||||||
rootBody.AppendNewline()
|
|
||||||
|
|
||||||
routerBlock1 := rootBody.AppendNewBlock("router", []string{config.Name})
|
|
||||||
routerBody1 := routerBlock1.Body()
|
|
||||||
routerBody1.SetAttributeValue("routerid", cty.StringVal(config.UUID))
|
|
||||||
routerBody1.SetAttributeValue("address", cty.StringVal("127.0.0.1"))
|
|
||||||
routerBody1.SetAttributeValue("clientport", cty.NumberIntVal(config.ClientPort))
|
|
||||||
routerBody1.SetAttributeValue("routerport", cty.NumberIntVal(config.RouterPort))
|
|
||||||
routerBody1.SetAttributeValue("workerport", cty.NumberIntVal(config.WorkerPort))
|
|
||||||
rootBody.AppendNewline()
|
|
||||||
|
|
||||||
workerBlock1 := rootBody.AppendNewBlock("worker", []string{config.Name})
|
|
||||||
workerBody1 := workerBlock1.Body()
|
|
||||||
workerBody1.SetAttributeValue("workerid", cty.StringVal(config.UUID))
|
|
||||||
rootBody.AppendNewline()
|
|
||||||
|
|
||||||
log.Printf("\n%s", f.Bytes())
|
|
||||||
os.Exit(exitCodes.m["SUCCESS"])
|
|
||||||
|
|
||||||
default:
|
default:
|
||||||
log.Printf("[ERROR] Unknown operating mode, exiting.\n")
|
log.Printf("[ERROR] Unknown operating mode, exiting.\n")
|
||||||
|
@ -218,9 +185,9 @@ func init() {
|
||||||
*/
|
*/
|
||||||
config.WorkerPort = 35572
|
config.WorkerPort = 35572
|
||||||
|
|
||||||
config.Clients = make([]*gs.ClientDetails, 0)
|
config.Clients = make([]*gstruct.ClientDetails, 0)
|
||||||
config.Routers = make([]*gs.RouterDetails, 0)
|
config.Routers = make([]*gstruct.RouterDetails, 0)
|
||||||
config.Workers = make([]*gs.WorkerDetails, 0)
|
config.Workers = make([]*gstruct.WorkerDetails, 0)
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Create a usage variable and then use that to declare the arguments and
|
* Create a usage variable and then use that to declare the arguments and
|
||||||
|
|
49
internal/setup/setup.go
Normal file
49
internal/setup/setup.go
Normal file
|
@ -0,0 +1,49 @@
|
||||||
|
package setup
|
||||||
|
|
||||||
|
import (
|
||||||
|
log "log"
|
||||||
|
sync "sync"
|
||||||
|
|
||||||
|
cty "github.com/zclconf/go-cty/cty"
|
||||||
|
|
||||||
|
gs "git.dragonheim.net/dragonheim/gagent/internal/gstructs"
|
||||||
|
|
||||||
|
hclwrite "github.com/hashicorp/hcl/v2/hclwrite"
|
||||||
|
)
|
||||||
|
|
||||||
|
func Main(wg *sync.WaitGroup, config gs.GagentConfig) {
|
||||||
|
log.Printf("[INFO] Running in setup mode\n")
|
||||||
|
defer wg.Done()
|
||||||
|
|
||||||
|
f := hclwrite.NewEmptyFile()
|
||||||
|
rootBody := f.Body()
|
||||||
|
rootBody.SetAttributeValue("name", cty.StringVal(config.Name))
|
||||||
|
rootBody.SetAttributeValue("mode", cty.StringVal(config.Mode))
|
||||||
|
rootBody.SetAttributeValue("uuid", cty.StringVal(config.UUID))
|
||||||
|
rootBody.SetAttributeValue("listenaddr", cty.StringVal("0.0.0.0"))
|
||||||
|
rootBody.SetAttributeValue("clientport", cty.NumberIntVal(config.ClientPort))
|
||||||
|
rootBody.SetAttributeValue("routerport", cty.NumberIntVal(config.RouterPort))
|
||||||
|
rootBody.SetAttributeValue("workerport", cty.NumberIntVal(config.WorkerPort))
|
||||||
|
rootBody.AppendNewline()
|
||||||
|
|
||||||
|
clientBlock1 := rootBody.AppendNewBlock("client", []string{config.Name})
|
||||||
|
clientBody1 := clientBlock1.Body()
|
||||||
|
clientBody1.SetAttributeValue("clientid", cty.StringVal(config.UUID))
|
||||||
|
rootBody.AppendNewline()
|
||||||
|
|
||||||
|
routerBlock1 := rootBody.AppendNewBlock("router", []string{config.Name})
|
||||||
|
routerBody1 := routerBlock1.Body()
|
||||||
|
routerBody1.SetAttributeValue("routerid", cty.StringVal(config.UUID))
|
||||||
|
routerBody1.SetAttributeValue("address", cty.StringVal("127.0.0.1"))
|
||||||
|
routerBody1.SetAttributeValue("clientport", cty.NumberIntVal(config.ClientPort))
|
||||||
|
routerBody1.SetAttributeValue("routerport", cty.NumberIntVal(config.RouterPort))
|
||||||
|
routerBody1.SetAttributeValue("workerport", cty.NumberIntVal(config.WorkerPort))
|
||||||
|
rootBody.AppendNewline()
|
||||||
|
|
||||||
|
workerBlock1 := rootBody.AppendNewBlock("worker", []string{config.Name})
|
||||||
|
workerBody1 := workerBlock1.Body()
|
||||||
|
workerBody1.SetAttributeValue("workerid", cty.StringVal(config.UUID))
|
||||||
|
rootBody.AppendNewline()
|
||||||
|
|
||||||
|
log.Printf("[DEBUG] Configuration file created;\n\n%s\n", f.Bytes())
|
||||||
|
}
|
Loading…
Add table
Add a link
Reference in a new issue