| giolekva | 8aa73e8 | 2022-07-09 11:34:39 +0400 | [diff] [blame] | 1 | package main |
| 2 | |
| 3 | import ( |
| 4 | "fmt" |
| 5 | "log" |
| 6 | "os" |
| 7 | |
| 8 | "github.com/giolekva/pcloud/core/installer/soft" |
| 9 | "github.com/spf13/cobra" |
| 10 | ) |
| 11 | |
| 12 | var createEnvFlags struct { |
| 13 | name string |
| 14 | adminPrivKey string |
| 15 | } |
| 16 | |
| 17 | func createEnvCmd() *cobra.Command { |
| 18 | cmd := &cobra.Command{ |
| 19 | Use: "create-env", |
| 20 | RunE: createEnvCmdRun, |
| 21 | } |
| 22 | cmd.Flags().StringVar( |
| 23 | &createEnvFlags.name, |
| 24 | "name", |
| 25 | "", |
| 26 | "", |
| 27 | ) |
| 28 | cmd.Flags().StringVar( |
| 29 | &createEnvFlags.adminPrivKey, |
| 30 | "admin-priv-key", |
| 31 | "", |
| 32 | "", |
| 33 | ) |
| 34 | return cmd |
| 35 | } |
| 36 | |
| 37 | func createEnvCmdRun(cmd *cobra.Command, args []string) error { |
| 38 | adminPrivKey, err := os.ReadFile(createEnvFlags.adminPrivKey) |
| 39 | if err != nil { |
| 40 | return err |
| 41 | } |
| 42 | ss, err := soft.NewClient("192.168.0.208", 22, adminPrivKey, log.Default()) |
| 43 | if err != nil { |
| 44 | return err |
| 45 | } |
| 46 | readme := fmt.Sprintf("# %s PCloud environment", createEnvFlags.name) |
| 47 | if err := ss.AddRepository(createEnvFlags.name, readme); err != nil { |
| 48 | return err |
| 49 | } |
| 50 | return nil |
| 51 | } |