// Main registers subcommands for the jujud executable, and hands over control // to the cmd package. func jujuDMain(args []string, ctx *cmd.Context) (code int, err error) { // Assuming an average of 200 bytes per log message, use up to // 200MB for the log buffer. defer logger.Debugf("jujud complete, code %d, err %v", code, err) logCh, err := logsender.InstallBufferedLogWriter(1048576) if err != nil { return 1, errors.Trace(err) } jujud := jujucmd.NewSuperCommand(cmd.SuperCommandParams{ Name: "jujud", Doc: jujudDoc, }) jujud.Log.NewWriter = func(target io.Writer) loggo.Writer { return &jujudWriter{target: target} } jujud.Register(NewBootstrapCommand()) // TODO(katco-): AgentConf type is doing too much. The // MachineAgent type has called out the separate concerns; the // AgentConf should be split up to follow suit. agentConf := agentcmd.NewAgentConf("") machineAgentFactory := agentcmd.MachineAgentFactoryFn(agentConf, logCh, "") jujud.Register(agentcmd.NewMachineAgentCmd(ctx, machineAgentFactory, agentConf, agentConf)) jujud.Register(agentcmd.NewUnitAgent(ctx, logCh)) jujud.Register(NewUpgradeMongoCommand()) code = cmd.Main(jujud, ctx, args[1:]) return code, nil }
// Main registers subcommands for the jujud executable, and hands over control // to the cmd package. func jujuDMain(args []string, ctx *cmd.Context) (code int, err error) { // Assuming an average of 200 bytes per log message, use up to // 200MB for the log buffer. logCh, err := logsender.InstallBufferedLogWriter(1048576) if err != nil { return 1, errors.Trace(err) } jujud := jujucmd.NewSuperCommand(cmd.SuperCommandParams{ Name: "jujud", Doc: jujudDoc, }) jujud.Log.Factory = &writerFactory{} jujud.Register(NewBootstrapCommand()) // TODO(katco-): AgentConf type is doing too much. The // MachineAgent type has called out the separate concerns; the // AgentConf should be split up to follow suit. agentConf := agentcmd.NewAgentConf("") machineAgentFactory := agentcmd.MachineAgentFactoryFn( agentConf, logCh, looputil.NewLoopDeviceManager(), ) jujud.Register(agentcmd.NewMachineAgentCmd(ctx, machineAgentFactory, agentConf, agentConf)) jujud.Register(agentcmd.NewUnitAgent(ctx, logCh)) code = cmd.Main(jujud, ctx, args[1:]) return code, nil }
// Main registers subcommands for the jujud executable, and hands over control // to the cmd package. func jujuDMain(args []string, ctx *cmd.Context) (code int, err error) { jujud := jujucmd.NewSuperCommand(cmd.SuperCommandParams{ Name: "jujud", Doc: jujudDoc, }) jujud.Log.Factory = &writerFactory{} jujud.Register(NewBootstrapCommand()) // TODO(katco-): AgentConf type is doing too much. The // MachineAgent type has called out the seperate concerns; the // AgentConf should be split up to follow suite. agentConf := agentcmd.NewAgentConf("") machineAgentFactory := agentcmd.MachineAgentFactoryFn(agentConf, agentConf) jujud.Register(agentcmd.NewMachineAgentCmd(ctx, machineAgentFactory, agentConf, agentConf)) jujud.Register(agentcmd.NewUnitAgent(ctx)) code = cmd.Main(jujud, ctx, args[1:]) return code, nil }