Skip to content

Commit d0eb013

Browse files
Linuxkit integration (#221)
* linuxkit integration Signed-off-by: Petr Fedchenkov <[email protected]> * gcp cmd Signed-off-by: Petr Fedchenkov <[email protected]> * Adding License and mentions of Linuxkit. Moving README back Signed-off-by: fleandr <[email protected]> fix Co-authored-by: fleandr <[email protected]>
1 parent ffa8dfb commit d0eb013

File tree

13 files changed

+1160
-6
lines changed

13 files changed

+1160
-6
lines changed

LICENSE

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -199,3 +199,6 @@
199199
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
200200
See the License for the specific language governing permissions and
201201
limitations under the License.
202+
203+
This product bundles portions of the github.com/linuxkit/linuxkit, which is
204+
available under the Apache License 2.0. For details, see the pkg/linuxkit

NOTICE.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
Eden
2+
Copyright 2017-2019 Zededa Inc.
3+
4+
Linuxkit
5+
Copyright 2015-2017 Docker, Inc.

README.md

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -266,12 +266,14 @@ The current sub-commands are:
266266

267267
## Eden EVE commands
268268

269-
`eden eve onboard` - onboard EVE that is the current config
270-
`eden eve reset` - put EVE to the initial state (reset to config) removing all changes made by commands or tests
269+
`eden eve onboard` - onboard EVE that is the current config
270+
`eden eve reset` - put EVE to the initial state (reset to config) removing all changes made by commands or tests
271271

272272
## Eden utils commands
273273

274-
`eden utils certs` - generate certificates for Adam and EVE
275-
`eden utils download eve` - download EVE live image from docker hub
276-
`eden utils download eve-rootfs` - download EVE rootfs image from docker hub
277-
`eden utils sd` - get information about EVE from provided SD card
274+
`eden utils certs` - generate certificates for Adam and EVE
275+
`eden utils download eve` - download EVE live image from docker hub
276+
`eden utils download eve-rootfs` - download EVE rootfs image from docker hub
277+
`eden utils sd` - get information about EVE from provided SD card
278+
`eden utils gcp` - sub-commands to work with Google Cloud Platform
279+

cmd/edenGcp.go

Lines changed: 209 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,209 @@
1+
package cmd
2+
3+
import (
4+
"fmt"
5+
"github.com/lf-edge/eden/pkg/defaults"
6+
"github.com/lf-edge/eden/pkg/linuxkit"
7+
"github.com/lf-edge/eden/pkg/utils"
8+
log "github.com/sirupsen/logrus"
9+
"github.com/spf13/cobra"
10+
"github.com/spf13/viper"
11+
)
12+
13+
var (
14+
gcpVMName string
15+
gcpImageName string
16+
gcpProjectName string
17+
gcpKey string
18+
gcpBucketName string
19+
gcpZone string
20+
gcpMachineType string
21+
)
22+
23+
var gcpCmd = &cobra.Command{
24+
Use: "gcp",
25+
Short: `Manage images and VMs in Google Cloud Platform`,
26+
Long: `Manage images and VMs in Google Cloud Platform (you need to provide a key, set it in config in gcp.key or use a gcloud login)`,
27+
PersistentPreRunE: func(cmd *cobra.Command, args []string) error {
28+
assignCobraToViper(cmd)
29+
30+
viperLoaded, err := utils.LoadConfigFile(configFile)
31+
32+
if viperLoaded && err == nil {
33+
gcpKey = viper.GetString("gcp.key") //use variable from config
34+
}
35+
36+
if gcpKey == "" {
37+
context, err := utils.ContextLoad()
38+
if err != nil { //we have no current context
39+
log.Warn(`You didn't specify the '--key' argument. Something might break`)
40+
} else {
41+
log.Warnf(`You didn't specify the '--key' argument, or set it wia 'eden config set %s --key gcp.key --value YOUR_PATH_TO_KEY'. Something might break`, context.Current)
42+
}
43+
}
44+
45+
return nil
46+
},
47+
}
48+
49+
var gcpImageCmd = &cobra.Command{
50+
Use: "image",
51+
Short: `Manage images in gcp`,
52+
}
53+
54+
var gcpVMCmd = &cobra.Command{
55+
Use: "vm",
56+
Short: `Manage VMs in gcp`,
57+
}
58+
59+
var gcpImageList = &cobra.Command{
60+
Use: "list",
61+
Short: "list images uploaded to gcp",
62+
Long: `Show list of images from gcp project.`,
63+
Run: func(cmd *cobra.Command, args []string) {
64+
gcpClient, err := linuxkit.NewGCPClient(gcpKey, gcpProjectName)
65+
if err != nil {
66+
log.Fatalf("Unable to connect to GCP: %v", err)
67+
}
68+
imageList, err := gcpClient.ListImages()
69+
if err != nil {
70+
log.Fatal(err)
71+
}
72+
for _, el := range imageList {
73+
fmt.Println(el)
74+
}
75+
},
76+
}
77+
78+
var gcpImageUpload = &cobra.Command{
79+
Use: "upload",
80+
Short: "upload image to gcp",
81+
PreRunE: func(cmd *cobra.Command, args []string) error {
82+
assignCobraToViper(cmd)
83+
viperLoaded, err := utils.LoadConfigFile(configFile)
84+
if err != nil {
85+
return fmt.Errorf("error reading config: %s", err.Error())
86+
}
87+
88+
if viperLoaded {
89+
eveImageFile = utils.ResolveAbsPath(viper.GetString("eve.image-file"))
90+
}
91+
92+
return nil
93+
},
94+
Run: func(cmd *cobra.Command, args []string) {
95+
gcpClient, err := linuxkit.NewGCPClient(gcpKey, gcpProjectName)
96+
if err != nil {
97+
log.Fatalf("Unable to connect to GCP: %v", err)
98+
}
99+
fileName := fmt.Sprintf("%s.img.tar.gz", gcpImageName)
100+
if err := gcpClient.UploadFile(eveImageFile, fileName, gcpBucketName, false); err != nil {
101+
log.Fatalf("Error copying to Google Storage: %v", err)
102+
}
103+
err = gcpClient.CreateImage(gcpImageName, "https://storage.googleapis.com/"+gcpBucketName+"/"+fileName, "", true, true)
104+
if err != nil {
105+
log.Fatalf("Error creating Google Compute Image: %v", err)
106+
}
107+
},
108+
}
109+
110+
var gcpImageDelete = &cobra.Command{
111+
Use: "delete",
112+
Short: "delete image from gcp",
113+
PreRunE: func(cmd *cobra.Command, args []string) error {
114+
assignCobraToViper(cmd)
115+
116+
viperLoaded, err := utils.LoadConfigFile(configFile)
117+
if err != nil {
118+
return fmt.Errorf("error reading config: %s", err.Error())
119+
}
120+
121+
if viperLoaded {
122+
eveImageFile = utils.ResolveAbsPath(viper.GetString("eve.image-file"))
123+
}
124+
125+
return nil
126+
},
127+
Run: func(cmd *cobra.Command, args []string) {
128+
gcpClient, err := linuxkit.NewGCPClient(gcpKey, gcpProjectName)
129+
if err != nil {
130+
log.Fatalf("Unable to connect to GCP: %v", err)
131+
}
132+
fileName := fmt.Sprintf("%s.img.tar.gz", gcpImageName)
133+
err = gcpClient.DeleteImage(gcpImageName)
134+
if err != nil {
135+
log.Fatalf("Error in delete of Google Compute Image: %v", err)
136+
}
137+
if err := gcpClient.RemoveFile(fileName, gcpBucketName); err != nil {
138+
log.Fatalf("Error id delete from Google Storage: %v", err)
139+
}
140+
},
141+
}
142+
143+
var gcpRun = &cobra.Command{
144+
Use: "run",
145+
Short: "run vm in gcp",
146+
Run: func(cmd *cobra.Command, args []string) {
147+
gcpClient, err := linuxkit.NewGCPClient(gcpKey, gcpProjectName)
148+
if err != nil {
149+
log.Fatalf("Unable to connect to GCP: %v", err)
150+
}
151+
if err := gcpClient.CreateInstance(gcpVMName, gcpImageName, gcpZone, gcpMachineType, nil, nil, true, true); err != nil {
152+
log.Fatalf("")
153+
}
154+
},
155+
}
156+
157+
var gcpDelete = &cobra.Command{
158+
Use: "delete",
159+
Short: "delete vm from gcp",
160+
Run: func(cmd *cobra.Command, args []string) {
161+
gcpClient, err := linuxkit.NewGCPClient(gcpKey, gcpProjectName)
162+
if err != nil {
163+
log.Fatalf("Unable to connect to GCP: %v", err)
164+
}
165+
if err := gcpClient.DeleteInstance(gcpVMName, gcpZone, true); err != nil {
166+
log.Fatalf("")
167+
}
168+
},
169+
}
170+
171+
var gcpConsole = &cobra.Command{
172+
Use: "console",
173+
Short: "connect to vm console gcp",
174+
Run: func(cmd *cobra.Command, args []string) {
175+
gcpClient, err := linuxkit.NewGCPClient(gcpKey, gcpProjectName)
176+
if err != nil {
177+
log.Fatalf("Unable to connect to GCP: %v", err)
178+
}
179+
if err := gcpClient.ConnectToInstanceSerialPort(gcpVMName, gcpZone); err != nil {
180+
log.Fatalf("")
181+
}
182+
},
183+
}
184+
185+
func gcpInit() {
186+
gcpCmd.AddCommand(gcpImageCmd)
187+
gcpCmd.AddCommand(gcpVMCmd)
188+
gcpCmd.PersistentFlags().StringVarP(&gcpProjectName, "project", "p", defaults.DefaultGcpProjectName, "project name on gcp")
189+
gcpCmd.PersistentFlags().StringVarP(&gcpKey, "key", "k", "", "gcp key file")
190+
gcpImageCmd.AddCommand(gcpImageList)
191+
gcpImageCmd.AddCommand(gcpImageUpload)
192+
gcpImageUpload.Flags().StringVar(&gcpImageName, "image-name", defaults.DefaultGcpImageName, "image name")
193+
gcpImageUpload.Flags().StringVar(&eveImageFile, "image-file", "", "image file to upload")
194+
gcpImageUpload.Flags().StringVar(&gcpBucketName, "bucket-name", defaults.DefaultGcpBucketName, "bucket name to upload into")
195+
gcpImageCmd.AddCommand(gcpImageDelete)
196+
gcpImageDelete.Flags().StringVar(&gcpImageName, "image-name", defaults.DefaultGcpImageName, "image name")
197+
gcpImageDelete.Flags().StringVar(&gcpBucketName, "bucket-name", defaults.DefaultGcpBucketName, "bucket name to upload into")
198+
gcpVMCmd.AddCommand(gcpRun)
199+
gcpRun.Flags().StringVar(&gcpImageName, "image-name", defaults.DefaultGcpImageName, "image name")
200+
gcpRun.Flags().StringVar(&gcpVMName, "vm-name", defaults.DefaultGcpImageName, "vm name")
201+
gcpRun.Flags().StringVar(&gcpZone, "zone", defaults.DefaultGcpZone, "gcp zone")
202+
gcpRun.Flags().StringVar(&gcpMachineType, "machine-type", defaults.DefaultGcpMachineType, "gcp machine type")
203+
gcpVMCmd.AddCommand(gcpDelete)
204+
gcpDelete.Flags().StringVar(&gcpVMName, "vm-name", defaults.DefaultGcpImageName, "vm name")
205+
gcpDelete.Flags().StringVar(&gcpZone, "zone", defaults.DefaultGcpZone, "gcp zone")
206+
gcpVMCmd.AddCommand(gcpConsole)
207+
gcpConsole.Flags().StringVar(&gcpVMName, "vm-name", defaults.DefaultGcpImageName, "vm name")
208+
gcpConsole.Flags().StringVar(&gcpZone, "zone", defaults.DefaultGcpZone, "gcp zone")
209+
}

cmd/edenUtils.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,8 @@ func utilsInit() {
6363
ociImageInit()
6464
utilsCmd.AddCommand(certsCmd)
6565
certsInit()
66+
utilsCmd.AddCommand(gcpCmd)
67+
gcpInit()
6668
utilsCmd.AddCommand(sdInfoEveCmd)
6769
sdInfoEveCmd.Flags().StringVar(&syslogOutput, "syslog-out", filepath.Join(currentPath, "syslog.txt"), "File to save syslog.txt")
6870
sdInfoEveCmd.Flags().StringVar(&eveReleaseOutput, "everelease-out", filepath.Join(currentPath, "eve-release"), "File to save eve-release")

go.mod

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,12 +18,16 @@ require (
1818
github.com/lunixbochs/struc v0.0.0-20200707160740-784aaebc1d40 // indirect
1919
github.com/mcuadros/go-lookup v0.0.0-20200513230334-5988786b5617
2020
github.com/nerd2/gexto v0.0.0-20190529073929-39468ec063f6
21+
github.com/rn/iso9660wrap v0.0.0-20180101235755-3a04f8ca150a
2122
github.com/rogpeppe/go-internal v1.6.0
2223
github.com/satori/go.uuid v1.2.1-0.20181028125025-b2ce2384e17b
2324
github.com/sirupsen/logrus v1.4.2
2425
github.com/spf13/cobra v1.0.0
2526
github.com/spf13/viper v1.7.1
2627
golang.org/x/crypto v0.0.0-20200220183623-bac4c82f6975
28+
golang.org/x/net v0.0.0-20191004110552-13f9640d40b9
29+
golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45
30+
google.golang.org/api v0.13.0
2731
gopkg.in/errgo.v2 v2.1.0
2832
gopkg.in/yaml.v2 v2.2.8
2933
gotest.tools v2.2.0+incompatible

go.sum

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ cloud.google.com/go v0.38.0/go.mod h1:990N+gfupTy94rShfmMCWGDn0LpTmnzTp2qbd1dvSR
55
cloud.google.com/go v0.44.1/go.mod h1:iSa0KzasP4Uvy3f1mN/7PiObzGgflwredwwASm/v6AU=
66
cloud.google.com/go v0.44.2/go.mod h1:60680Gw3Yr4ikxnPRS/oxxkBccT6SA1yMk63TGekxKY=
77
cloud.google.com/go v0.45.1/go.mod h1:RpBamKRgapWJb87xiFSdk4g1CME7QZg3uwTez+TSTjc=
8+
cloud.google.com/go v0.46.3 h1:AVXDdKsrtX33oR9fbCMu/+c1o8Ofjq6Ku/MInaLVg5Y=
89
cloud.google.com/go v0.46.3/go.mod h1:a6bKKbmY7er1mI7TEI4lsAkts/mkhTSZK8w33B4RAg0=
910
cloud.google.com/go/bigquery v1.0.1/go.mod h1:i/xbL2UlR5RvWAURpBYZTtm/cXjCha9lbfbpx4poX+o=
1011
cloud.google.com/go/datastore v1.0.0/go.mod h1:LXYbyblFSglQ5pkeyhO+Qmw7ukd3C+pD7TKLgZqpHYE=
@@ -186,6 +187,7 @@ github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm4
186187
github.com/google/uuid v1.0.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
187188
github.com/google/uuid v1.1.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
188189
github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+vpHVxEJEs9eg=
190+
github.com/googleapis/gax-go/v2 v2.0.5 h1:sjZBwGj9Jlw33ImPtvFviGYvseOtDM7hkSKB7+Tv3SM=
189191
github.com/googleapis/gax-go/v2 v2.0.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5mhpdKc/us6bOk=
190192
github.com/googleapis/gnostic v0.0.0-20170729233727-0c5108395e2d/go.mod h1:sJBsCZ4ayReDTBIg8b9dl28c5xFWyhBTVRp3pOg5EKY=
191193
github.com/googleapis/gnostic v0.2.2/go.mod h1:sJBsCZ4ayReDTBIg8b9dl28c5xFWyhBTVRp3pOg5EKY=
@@ -222,6 +224,7 @@ github.com/hashicorp/go-uuid v1.0.1/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/b
222224
github.com/hashicorp/go.net v0.0.1/go.mod h1:hjKkEWcCURg++eb33jQU7oqQcI9XDCnUzHA0oac0k90=
223225
github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8=
224226
github.com/hashicorp/golang-lru v0.5.1/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8=
227+
github.com/hashicorp/golang-lru v0.5.3 h1:YPkqC67at8FYaadspW/6uE0COsBxS2656RLEr8Bppgk=
225228
github.com/hashicorp/golang-lru v0.5.3/go.mod h1:iADmTwqILo4mZ8BN3D2Q6+9jd8WM5uGBxy+E8yxSoD4=
226229
github.com/hashicorp/hcl v1.0.0 h1:0Anlzjpi4vEasTeNFn2mLJgTSwt0+6sfsiTG8qcWGx4=
227230
github.com/hashicorp/hcl v1.0.0/go.mod h1:E5yfLk+7swimpb2L/Alb/PJmXilQ/rhwaUYs4T20WEQ=
@@ -355,6 +358,8 @@ github.com/prometheus/procfs v0.0.2/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsT
355358
github.com/prometheus/procfs v0.0.5/go.mod h1:4A/X28fw3Fc593LaREMrKMqOKvUAntwMDaekg4FpcdQ=
356359
github.com/prometheus/tsdb v0.7.1/go.mod h1:qhTCs0VvXwvX/y3TZrWD7rabWM+ijKTux40TwIPHuXU=
357360
github.com/remyoudompheng/bigfft v0.0.0-20170806203942-52369c62f446/go.mod h1:uYEyJGbgTkfkS4+E/PavXkNJcbFIpEtjt2B0KDQ5+9M=
361+
github.com/rn/iso9660wrap v0.0.0-20180101235755-3a04f8ca150a h1:3mgGS/ClPlDE5KBsBW1Cd0uKCtzc2q2NW3PwD0XFCoI=
362+
github.com/rn/iso9660wrap v0.0.0-20180101235755-3a04f8ca150a/go.mod h1:qrZfINtl+sTGgS3elQWqWsD2Ke4Il5jDzBr2Q+lzuuE=
358363
github.com/rogpeppe/fastuuid v0.0.0-20150106093220-6724a57986af/go.mod h1:XWv6SoW27p1b0cqNHllgS5HIMJraePCO15w5zCzIWYg=
359364
github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4=
360365
github.com/rogpeppe/go-internal v1.6.0 h1:IZRgg4sfrDH7nsAD1Y/Nwj+GzIfEwpJSLjCaNC3SbsI=
@@ -431,6 +436,7 @@ go.etcd.io/bbolt v1.3.2/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU=
431436
go.etcd.io/bbolt v1.3.3/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU=
432437
go.etcd.io/etcd v0.0.0-20191023171146-3cf2f69b5738/go.mod h1:dnLIgRNXwCJa5e+c6mIZCrds/GIG4ncV9HhK5PX7jPg=
433438
go.opencensus.io v0.21.0/go.mod h1:mSImk1erAIZhrmZN+AvHh14ztQfjbGwt4TtuofqLduU=
439+
go.opencensus.io v0.22.0 h1:C9hSCOW830chIVkdja34wa6Ky+IzWllkUinR+BtRZd4=
434440
go.opencensus.io v0.22.0/go.mod h1:+kGneAE2xo2IficOXnaByMWTGM9T73dGwxeWcUqIpI8=
435441
go.uber.org/atomic v1.3.2/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE=
436442
go.uber.org/atomic v1.4.0/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE=
@@ -497,6 +503,7 @@ golang.org/x/net v0.0.0-20191004110552-13f9640d40b9 h1:rjwSpXsdiK0dV8/Naq3kAw9ym
497503
golang.org/x/net v0.0.0-20191004110552-13f9640d40b9/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
498504
golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
499505
golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
506+
golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45 h1:SVwTIAaPC2U/AvvLNZ2a7OVsmBpC8L5BlwK1whH3hm0=
500507
golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
501508
golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
502509
golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
@@ -578,10 +585,12 @@ google.golang.org/api v0.6.1-0.20190607001116-5213b8090861/go.mod h1:btoxGiFvQNV
578585
google.golang.org/api v0.7.0/go.mod h1:WtwebWUNSVBH/HAw79HIFXZNqEvBhG+Ra+ax0hx3E3M=
579586
google.golang.org/api v0.8.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg=
580587
google.golang.org/api v0.9.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg=
588+
google.golang.org/api v0.13.0 h1:Q3Ui3V3/CVinFWFiW39Iw0kMuVrRzYX0wN6OPFp0lTA=
581589
google.golang.org/api v0.13.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI=
582590
google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM=
583591
google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4=
584592
google.golang.org/appengine v1.5.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4=
593+
google.golang.org/appengine v1.6.1 h1:QzqyMA1tlu6CgqCDUtU9V+ZKhLFT2dkJuANu5QaxI3I=
585594
google.golang.org/appengine v1.6.1/go.mod h1:i06prIuMbXzDqacNJfV5OdTW448YApPu5ww/cMBSeb0=
586595
google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc=
587596
google.golang.org/genproto v0.0.0-20190307195333-5fe7a883aa19/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE=

pkg/defaults/defaults.go

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -108,6 +108,14 @@ const (
108108

109109
DefaultEmptyVolumeLinkDocker = "docker://hello-world"
110110
DefaultEmptyVolumeLinkQcow2 = "empty.qcow2"
111+
112+
//defaults for gcp
113+
114+
DefaultGcpImageName = "eden-gcp-test"
115+
DefaultGcpBucketName = "eve-live"
116+
DefaultGcpProjectName = "lf-edge-eve"
117+
DefaultGcpZone = "us-west1-a"
118+
DefaultGcpMachineType = "n1-standard-1"
111119
)
112120

113121
var (
@@ -164,5 +172,7 @@ var (
164172
"eden.ssh-key": "ssh-key",
165173
"eden.test-bin": "prog",
166174
"eden.test-scenario": "scenario",
175+
176+
"gcp.key": "key",
167177
}
168178
)

0 commit comments

Comments
 (0)