WIP: fetch command
This commit is contained in:
parent
abaa4a11f9
commit
56b4d8ea84
21
cmd/root.go
21
cmd/root.go
@ -51,6 +51,10 @@ var (
|
|||||||
gMigrateDestDatastore string
|
gMigrateDestDatastore string
|
||||||
gYesToAll bool
|
gYesToAll bool
|
||||||
|
|
||||||
|
gFetchRelease string
|
||||||
|
gFetchIntoDS string
|
||||||
|
|
||||||
|
|
||||||
rootCmd = &cobra.Command{
|
rootCmd = &cobra.Command{
|
||||||
Use: "gocage",
|
Use: "gocage",
|
||||||
Short: "GoCage is a FreeBSD Jail management tool",
|
Short: "GoCage is a FreeBSD Jail management tool",
|
||||||
@ -285,6 +289,14 @@ You can specify multiple datastores.`,
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fetchCmd = &cobra.Command{
|
||||||
|
Use: "fetch",
|
||||||
|
Short: "Fetch FreeBSD release to local datastore",
|
||||||
|
Run: func(cmd *cobra.Command, args []string) {
|
||||||
|
fetchRelease(gFetchRelease, "http", gJailHost.arch, gFetchIntoDS)
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
testCmd = &cobra.Command{
|
testCmd = &cobra.Command{
|
||||||
Use: "test",
|
Use: "test",
|
||||||
Short: "temporary command to test some code snippet",
|
Short: "temporary command to test some code snippet",
|
||||||
@ -304,7 +316,7 @@ func init() {
|
|||||||
rootCmd.PersistentFlags().StringVarP(&gConfigFile, "config", "c", "/usr/local/etc/gocage.conf.yml", "GoCage configuration file")
|
rootCmd.PersistentFlags().StringVarP(&gConfigFile, "config", "c", "/usr/local/etc/gocage.conf.yml", "GoCage configuration file")
|
||||||
rootCmd.PersistentFlags().BoolVarP(&gUseSudo, "sudo", "u", false, "Use sudo to run commands")
|
rootCmd.PersistentFlags().BoolVarP(&gUseSudo, "sudo", "u", false, "Use sudo to run commands")
|
||||||
rootCmd.PersistentFlags().StringVarP(&gTimeZone, "timezone", "t", "", "Specify timezone. Will get from /var/db/zoneinfo if not set.")
|
rootCmd.PersistentFlags().StringVarP(&gTimeZone, "timezone", "t", "", "Specify timezone. Will get from /var/db/zoneinfo if not set.")
|
||||||
rootCmd.PersistentFlags().BoolVarP(&gDebug, "debug", "d", false, "Debug mode")
|
rootCmd.PersistentFlags().BoolVar(&gDebug, "debug", false, "Debug mode")
|
||||||
|
|
||||||
// Command dependant switches
|
// Command dependant switches
|
||||||
|
|
||||||
@ -337,6 +349,12 @@ func init() {
|
|||||||
migrateCmd.Flags().StringVarP(&gMigrateDestDatastore, "datastore", "d", "", "Path of destination datastore for jail (Ex: \"/iocage\")")
|
migrateCmd.Flags().StringVarP(&gMigrateDestDatastore, "datastore", "d", "", "Path of destination datastore for jail (Ex: \"/iocage\")")
|
||||||
migrateCmd.Flags().BoolVarP(&gYesToAll, "yes", "y", false, "Answer yes to all questions")
|
migrateCmd.Flags().BoolVarP(&gYesToAll, "yes", "y", false, "Answer yes to all questions")
|
||||||
migrateCmd.MarkFlagRequired("datastore")
|
migrateCmd.MarkFlagRequired("datastore")
|
||||||
|
|
||||||
|
fetchCmd.Flags().StringVarP(&gFetchRelease, "release", "r", "", "Release to fetch (e.g.: \"13.1\"")
|
||||||
|
fetchCmd.Flags().StringVarP(&gFetchIntoDS, "datastore", "o", "", "Datastore release will be saved to")
|
||||||
|
fetchCmd.MarkFlagRequired("release")
|
||||||
|
fetchCmd.MarkFlagRequired("datastore")
|
||||||
|
|
||||||
|
|
||||||
// Now declare commands
|
// Now declare commands
|
||||||
rootCmd.AddCommand(versionCmd)
|
rootCmd.AddCommand(versionCmd)
|
||||||
@ -352,6 +370,7 @@ func init() {
|
|||||||
rootCmd.AddCommand(snapshotCmd)
|
rootCmd.AddCommand(snapshotCmd)
|
||||||
rootCmd.AddCommand(migrateCmd)
|
rootCmd.AddCommand(migrateCmd)
|
||||||
rootCmd.AddCommand(datastoreCmd)
|
rootCmd.AddCommand(datastoreCmd)
|
||||||
|
rootCmd.AddCommand(fetchCmd)
|
||||||
|
|
||||||
rootCmd.AddCommand(testCmd)
|
rootCmd.AddCommand(testCmd)
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user