mirror of
https://github.com/gitpod-io/gitpod.git
synced 2025-12-08 17:36:30 +00:00
52 lines
1.3 KiB
Go
52 lines
1.3 KiB
Go
// Copyright (c) 2022 Gitpod GmbH. All rights reserved.
|
|
/// Licensed under the GNU Affero General Public License (AGPL).
|
|
// See License.AGPL.txt in the project root for license information.
|
|
|
|
package cmd
|
|
|
|
import (
|
|
"fmt"
|
|
|
|
"github.com/gitpod-io/gitpod/installer/pkg/config"
|
|
"github.com/spf13/cobra"
|
|
)
|
|
|
|
var configInitOpts struct {
|
|
OverwriteConfig bool
|
|
}
|
|
|
|
// configInitCmd represents the validate command
|
|
var configInitCmd = &cobra.Command{
|
|
Use: "init",
|
|
Short: "Create a base config file",
|
|
Long: `Create a base config file
|
|
|
|
This file contains all the credentials to install a Gitpod instance and
|
|
be saved to a repository.`,
|
|
Example: ` # Save config to config.yaml.
|
|
gitpod-installer config init -c ./gitpod.config.yaml`,
|
|
RunE: func(cmd *cobra.Command, args []string) error {
|
|
// Check file isn't present
|
|
exists, err := configFileExists()
|
|
if err != nil {
|
|
return err
|
|
}
|
|
if *exists && !configInitOpts.OverwriteConfig {
|
|
return fmt.Errorf("file %s exists - to overwrite add --overwrite flag", configOpts.ConfigFile)
|
|
}
|
|
|
|
cfg, err := config.NewDefaultConfig()
|
|
if err != nil {
|
|
return err
|
|
}
|
|
|
|
return saveConfigFile(cfg)
|
|
},
|
|
}
|
|
|
|
func init() {
|
|
configCmd.AddCommand(configInitCmd)
|
|
|
|
configInitCmd.Flags().BoolVar(&configInitOpts.OverwriteConfig, "overwrite", false, "overwrite config file if it exists")
|
|
}
|