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

Function initialize

cmd/run_pipeline.go:257–339  ·  view source on GitHub ↗
(ctx context.Context, f factory.Factory, options *CommandOptions, logger log.Logger)

Source from the content-addressed store, hash-verified

255}
256
257func initialize(ctx context.Context, f factory.Factory, options *CommandOptions, logger log.Logger) (devspacecontext.Context, error) {
258 // start file logging
259 log.StartFileLogging()
260
261 // create a temporary folder for us to use
262 tempFolder, err := os.MkdirTemp("", "devspace-")
263 if err != nil {
264 return nil, errors.Wrap(err, "create temporary folder")
265 }
266
267 // add temp folder to context
268 ctx = values.WithTempFolder(ctx, tempFolder)
269
270 // set config root
271 configLoader, err := f.NewConfigLoader(options.ConfigPath)
272 if err != nil {
273 return nil, err
274 }
275 configExists, err := configLoader.SetDevSpaceRoot(logger)
276 if err != nil {
277 return nil, err
278 } else if !configExists {
279 return nil, errors.New(message.ConfigNotFound)
280 }
281
282 // create kubectl client
283 client, err := f.NewKubeClientFromContext(options.KubeContext, options.Namespace)
284 if err != nil {
285 logger.Warnf("Unable to create new kubectl client: %v", err)
286 logger.WriteString(logrus.WarnLevel, "\n")
287 client = nil
288 }
289
290 // load generated config
291 localCache, err := configLoader.LoadLocalCache()
292 if err != nil {
293 return nil, errors.Errorf("error loading local cache: %v", err)
294 }
295
296 if client != nil {
297 // If the current kube context or namespace is different than old,
298 // show warnings and reset kube client if necessary
299 client, err = kubectl.CheckKubeContext(client, localCache, options.NoWarn, options.SwitchContext, false, logger)
300 if err != nil {
301 return nil, err
302 }
303 }
304
305 // load config
306 configInterface, err := configLoader.LoadWithCache(ctx, localCache, client, options.ConfigOptions, logger)
307 if err != nil {
308 return nil, err
309 }
310
311 // add root name to context
312 ctx = values.WithRootName(ctx, configInterface.Config().Name)
313
314 // create devspace context

Callers 1

RunMethod · 0.85

Calls 15

SetDevSpaceRootMethod · 0.95
LoadLocalCacheMethod · 0.95
LoadWithCacheMethod · 0.95
StartFileLoggingFunction · 0.92
WithTempFolderFunction · 0.92
CheckKubeContextFunction · 0.92
WithRootNameFunction · 0.92
NewConfigLoaderMethod · 0.65
WriteStringMethod · 0.65
ConfigMethod · 0.65
WithKubeClientMethod · 0.65

Tested by

no test coverage detected