MCPcopy Index your code
hub / github.com/devspace-sh/devspace / Start

Method Start

pkg/devspace/devpod/manager.go:159–192  ·  view source on GitHub ↗
(originalContext devspacecontext.Context, devPodConfig *latest.DevPod, options Options)

Source from the content-addressed store, hash-verified

157}
158
159func (d *devPodManager) Start(originalContext devspacecontext.Context, devPodConfig *latest.DevPod, options Options) (*devPod, error) {
160 lock := d.lockFactory.GetLock(devPodConfig.Name)
161 lock.Lock()
162 defer lock.Unlock()
163
164 var dp *devPod
165 d.m.Lock()
166 dp = d.devPods[devPodConfig.Name]
167 if dp != nil {
168 select {
169 case <-dp.Done():
170 default:
171 d.m.Unlock()
172 return nil, DevPodAlreadyExists{}
173 }
174 }
175
176 // create a new dev pod
177 dp = newDevPod()
178 d.devPods[devPodConfig.Name] = dp
179 d.m.Unlock()
180
181 // create a DevPod logger
182 prefix := "dev:" + devPodConfig.Name + " "
183 unionLogger := originalContext.Log().WithPrefix(prefix).WithSink(logpkg.GetDevPodFileLogger(prefix))
184
185 // start the dev pod
186 err := dp.Start(originalContext.WithLogger(unionLogger), devPodConfig, options)
187 if err != nil {
188 return nil, err
189 }
190
191 return dp, nil
192}
193
194func (d *devPodManager) Reset(ctx devspacecontext.Context, name string, options *deploy.PurgeOptions) error {
195 lock := d.lockFactory.GetLock(name)

Callers 1

StartMultipleMethod · 0.95

Calls 10

DoneMethod · 0.95
StartMethod · 0.95
newDevPodFunction · 0.85
LockMethod · 0.80
UnlockMethod · 0.80
GetLockMethod · 0.65
WithSinkMethod · 0.65
WithPrefixMethod · 0.65
LogMethod · 0.65
WithLoggerMethod · 0.65

Tested by

no test coverage detected