(ctx context.Context, defaultCfg config.Config)
| 1648 | } |
| 1649 | |
| 1650 | func (c *CmdConfigurator) CreateConfigFile(ctx context.Context, defaultCfg config.Config) error { |
| 1651 | defaultCfg = c.UpdateConfigData(defaultCfg) |
| 1652 | toolSvc := tools.NewTools(c.logger, nil, nil, nil, nil, nil) |
| 1653 | configData := defaultCfg |
| 1654 | configDataBytes, err := yaml.Marshal(configData) |
| 1655 | if err != nil { |
| 1656 | utils.LogError(c.logger, err, "failed to marshal config data") |
| 1657 | return errors.New("failed to marshal config data") |
| 1658 | } |
| 1659 | |
| 1660 | // Ensure the config directory exists before creating the file |
| 1661 | if err := os.MkdirAll(c.cfg.ConfigPath, os.ModePerm); err != nil { |
| 1662 | errMsg := fmt.Sprintf("failed to create config directory: %v", err) |
| 1663 | utils.LogError(c.logger, err, errMsg) |
| 1664 | return errors.New(errMsg) |
| 1665 | } |
| 1666 | |
| 1667 | configFilePath := filepath.Join(c.cfg.ConfigPath, "keploy.yml") |
| 1668 | err = toolSvc.CreateConfig(ctx, configFilePath, string(configDataBytes)) |
| 1669 | if err != nil { |
| 1670 | utils.LogError(c.logger, err, "failed to create config file") |
| 1671 | return errors.New("failed to create config file") |
| 1672 | } |
| 1673 | c.logger.Info("Generated config file based on the flags that are used") |
| 1674 | return nil |
| 1675 | } |
| 1676 | |
| 1677 | func (c *CmdConfigurator) UpdateConfigData(defaultCfg config.Config) config.Config { |
| 1678 | defaultCfg.Command = c.cfg.Command |
no test coverage detected