func NewProvider( platform boshplatform.Platform, client boshmonit.Client, logger boshlog.Logger, dirProvider boshdir.Provider, handler boshhandler.Handler, ) (p Provider) { monitJobSupervisor := NewMonitJobSupervisor( platform.GetFs(), platform.GetRunner(), client, logger, dirProvider, 2825, MonitReloadOptions{ MaxTries: 3, MaxCheckTries: 6, DelayBetweenCheckTries: 5 * time.Second, }, ) p.supervisors = map[string]JobSupervisor{ "monit": monitJobSupervisor, "dummy": NewDummyJobSupervisor(), "dummy-nats": NewDummyNatsJobSupervisor(handler), } return }
func NewProvider( platform boshplatform.Platform, client boshmonit.Client, logger boshlog.Logger, dirProvider boshdir.Provider, handler boshhandler.Handler, ) (p Provider) { fs := platform.GetFs() runner := platform.GetRunner() timeService := clock.NewClock() monitJobSupervisor := NewMonitJobSupervisor( fs, runner, client, logger, dirProvider, jobSupervisorListenPort, MonitReloadOptions{ MaxTries: 3, MaxCheckTries: 6, DelayBetweenCheckTries: 5 * time.Second, }, timeService, ) p.supervisors = map[string]JobSupervisor{ "monit": monitJobSupervisor, "dummy": NewDummyJobSupervisor(), "dummy-nats": NewDummyNatsJobSupervisor(handler), "windows": NewWindowsJobSupervisor(runner, dirProvider, fs, logger, jobSupervisorListenPort, make(chan bool)), } return }
func NewFactory( settingsService boshsettings.Service, platform boshplatform.Platform, blobstore boshblob.Blobstore, taskService boshtask.Service, notifier boshnotif.Notifier, applier boshappl.Applier, compiler boshcomp.Compiler, jobSupervisor boshjobsuper.JobSupervisor, specService boshas.V1Service, jobScriptProvider boshscript.JobScriptProvider, logger boshlog.Logger, ) (factory Factory) { compressor := platform.GetCompressor() copier := platform.GetCopier() dirProvider := platform.GetDirProvider() vitalsService := platform.GetVitalsService() certManager := platform.GetCertManager() ntpService := boshntp.NewConcreteService(platform.GetFs(), dirProvider) factory = concreteFactory{ availableActions: map[string]Action{ // Task management "ping": NewPing(), "get_task": NewGetTask(taskService), "cancel_task": NewCancelTask(taskService), // VM admin "ssh": NewSSH(settingsService, platform, dirProvider, logger), "fetch_logs": NewFetchLogs(compressor, copier, blobstore, dirProvider), "update_settings": NewUpdateSettings(certManager, logger), // Job management "prepare": NewPrepare(applier), "apply": NewApply(applier, specService, settingsService), "start": NewStart(jobSupervisor, applier, specService), "stop": NewStop(jobSupervisor), "drain": NewDrain(notifier, specService, jobScriptProvider, jobSupervisor, logger), "get_state": NewGetState(settingsService, specService, jobSupervisor, vitalsService, ntpService), "run_errand": NewRunErrand(specService, dirProvider.JobsDir(), platform.GetRunner(), logger), "run_script": NewRunScript(jobScriptProvider, specService, logger), // Compilation "compile_package": NewCompilePackage(compiler), "release_apply_spec": NewReleaseApplySpec(platform), // Disk management "list_disk": NewListDisk(settingsService, platform, logger), "migrate_disk": NewMigrateDisk(platform, dirProvider), "mount_disk": NewMountDisk(settingsService, platform, platform.GetDevicePathResolver(), dirProvider, logger), "unmount_disk": NewUnmountDisk(settingsService, platform), // Networkingconcrete_factory_test.go "prepare_network_change": NewPrepareNetworkChange(platform.GetFs(), settingsService, NewAgentKiller()), "prepare_configure_networks": NewPrepareConfigureNetworks(platform, settingsService), "configure_networks": NewConfigureNetworks(NewAgentKiller()), }, } return }
func NewProvider( platform boshplatform.Platform, client boshmonit.Client, logger boshlog.Logger, dirProvider boshdir.Provider, handler boshhandler.Handler, ) (p Provider) { fs := platform.GetFs() runner := platform.GetRunner() timeService := clock.NewClock() monitJobSupervisor := NewMonitJobSupervisor( fs, runner, client, logger, dirProvider, jobSupervisorListenPort, MonitReloadOptions{ MaxTries: 3, MaxCheckTries: 6, DelayBetweenCheckTries: 5 * time.Second, }, timeService, ) network, err := platform.GetDefaultNetwork() var machineIP string if err != nil { machineIP, _ = os.Hostname() logger.Debug("providerWindows", "Initializing jobsupervisor.provider_windows: %s, using hostname \"%s\"instead of IP", err, machineIP) } else { machineIP = network.IP } p.supervisors = map[string]JobSupervisor{ "monit": monitJobSupervisor, "dummy": NewDummyJobSupervisor(), "dummy-nats": NewDummyNatsJobSupervisor(handler), "windows": NewWindowsJobSupervisor(runner, dirProvider, fs, logger, jobSupervisorListenPort, make(chan bool), machineIP), } return }