本文整理匯總了Golang中confab.Controller.WriteServiceDefinitions方法的典型用法代碼示例。如果您正苦於以下問題:Golang Controller.WriteServiceDefinitions方法的具體用法?Golang Controller.WriteServiceDefinitions怎麽用?Golang Controller.WriteServiceDefinitions使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類confab.Controller
的用法示例。
在下文中一共展示了Controller.WriteServiceDefinitions方法的3個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Golang代碼示例。
示例1: start
func start(flagSet *flag.FlagSet, path string, controller confab.Controller, agentClient *confab.AgentClient) {
timeout := confab.NewTimeout(time.After(time.Duration(controller.Config.Confab.TimeoutInSeconds) * time.Second))
_, err := os.Stat(controller.Config.Path.ConsulConfigDir)
if err != nil {
printUsageAndExit(fmt.Sprintf("\"consul_config_dir\" %q could not be found",
controller.Config.Path.ConsulConfigDir), flagSet)
}
if len(agentClient.ExpectedMembers) == 0 {
printUsageAndExit("at least one \"expected-member\" must be provided", flagSet)
}
err = controller.WriteServiceDefinitions()
if err != nil {
stderr.Printf("error writing service definitions: %s", err)
os.Exit(1)
}
err = controller.BootAgent(timeout)
if err != nil {
stderr.Printf("error booting consul agent: %s", err)
// DO NOT call StopAgent:
// - the agent may aleady be running
// - the pidfile may contain the PID of another running process
os.Exit(1)
}
if controller.Config.Consul.Agent.Server {
configureServer(controller, agentClient, timeout)
} else {
configureClient(controller)
}
}
示例2: start
func start(flagSet *flag.FlagSet, path string, controller confab.Controller, agentClient *agent.Client) {
timeout := confab.NewTimeout(time.After(time.Duration(controller.Config.Confab.TimeoutInSeconds) * time.Second))
_, err := os.Stat(controller.Config.Path.ConsulConfigDir)
if err != nil {
printUsageAndExit(fmt.Sprintf("\"consul_config_dir\" %q could not be found",
controller.Config.Path.ConsulConfigDir), flagSet)
}
if len(agentClient.ExpectedMembers) == 0 {
printUsageAndExit("at least one \"expected-member\" must be provided", flagSet)
}
err = controller.WriteConsulConfig()
if err != nil {
stderr.Printf("error writing consul config file: %s", err)
os.Exit(1)
}
err = controller.WriteServiceDefinitions()
if err != nil {
stderr.Printf("error writing service definitions: %s", err)
os.Exit(1)
}
err = controller.BootAgent(timeout)
if err != nil {
stderr.Printf("error booting consul agent: %s", err)
exit(controller, 1)
}
if controller.Config.Consul.Agent.Mode == "server" {
configureServer(controller, agentClient, timeout)
} else {
configureClient(controller)
}
}
示例3:
EncryptKeys: []string{"key 1", "key 2", "key 3"},
Logger: logger,
ConfigDir: "/tmp/config",
ServiceDefiner: serviceDefiner,
Config: confabConfig,
}
})
Describe("WriteServiceDefinitions", func() {
It("delegates to the service definer", func() {
definitions := []confab.ServiceDefinition{{
Name: "banana",
}}
serviceDefiner.GenerateDefinitionsCall.Returns.Definitions = definitions
Expect(controller.WriteServiceDefinitions()).To(Succeed())
Expect(serviceDefiner.GenerateDefinitionsCall.Receives.Config).To(Equal(controller.Config))
Expect(serviceDefiner.WriteDefinitionsCall.Receives.ConfigDir).To(Equal("/tmp/config"))
Expect(serviceDefiner.WriteDefinitionsCall.Receives.Definitions).To(Equal(definitions))
Expect(logger.Messages).To(ContainSequence([]fakes.LoggerMessage{
{
Action: "controller.write-service-definitions.generate-definitions",
},
{
Action: "controller.write-service-definitions.write",
},
{
Action: "controller.write-service-definitions.success",
},
}))