...
1 package edgecliutils
2
3 import (
4 "github.com/urfave/cli/v2"
5
6 edgeClient "edge-infra.dev/pkg/edge/api/client"
7 "edge-infra.dev/pkg/edge/edgeadmin/registrar"
8 "edge-infra.dev/pkg/edge/edgecli/flagutil"
9 "edge-infra.dev/pkg/edge/registration"
10 "edge-infra.dev/pkg/lib/runtime/version"
11 )
12
13 func BuildRegistrar(c *cli.Context) (*registrar.Registrar, error) {
14 opts := []edgeClient.Option{
15 edgeClient.WithBaseURL(c.String(flagutil.Endpoint)),
16 }
17
18 if c.String(BearerTokenFlag) != "" {
19 opts = append(opts, edgeClient.WithBearerToken(c.String(BearerTokenFlag)))
20 } else {
21 opts = append(opts, edgeClient.WithCredentials(c.String(flagutil.UsernameFlag), c.String(flagutil.PasswordFlag), c.String(flagutil.OrganizationFlag)))
22 }
23
24 client, err := edgeClient.New(opts...)
25 if err != nil {
26 return nil, err
27 }
28
29 reg := ®istrar.Registrar{
30 Client: client,
31 }
32
33 return reg, err
34 }
35
36 func BuildRegistration(c *cli.Context) (*registration.Registration, error) {
37 b := registration.NewBuilder().
38
39 Banner(c.String(BannerFlag)).
40 Store(c.String(StoreFlag)).
41 ClusterType(c.String(ClusterTypeFlag)).
42
43 BSLOrganization(c.String(flagutil.OrganizationFlag)).
44 APIEndpoint(c.String(flagutil.Endpoint)).
45 BearerToken(c.String(BearerTokenFlag)).
46 BSLUserPassword(c.String(flagutil.UsernameFlag), c.String(flagutil.PasswordFlag)).
47 CreateBSLSite(c.Bool(CreateBSLSite)).
48 BSLSiteEuid(c.String(BslSiteEuid)).
49 BSLSiteLatitude(c.Float64(BslSiteLatitude)).
50 BSLSiteLongitude(c.Float64(BslSiteLongitude)).
51 BSLSiteReferenceID(c.String(BslSiteRefernceID)).
52 Fleet(c.String(FleetFlag)).
53
54 EdgeVersion(version.New().SemVer)
55 return b.Build()
56 }
57
View as plain text