1 package constructors
2
3 import (
4 "fmt"
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/cli/rags"
11 "edge-infra.dev/pkg/lib/runtime/version"
12 )
13
14 func BuildRegistrar(rs *rags.RagSet) (*registrar.Registrar, error) {
15 endpoint := flagutil.GetStringFlag(rs, flagutil.Endpoint)
16 if endpoint == "" && flagutil.GetStringFlag(rs, "bff-endpoint") != "" {
17 fmt.Println("WARNING: bff-endpoint flag is being deprecated in Edge Version 0.22, please consider switching over to api-endpoint")
18 endpoint = flagutil.GetStringFlag(rs, "bff-endpoint")
19 }
20 opts := []edgeClient.Option{
21 edgeClient.WithBaseURL(endpoint),
22 }
23 token := flagutil.GetStringFlag(rs, flagutil.BearerTokenFlag)
24 if token != "" {
25 opts = append(opts, edgeClient.WithBearerToken(token))
26 } else {
27 opts = append(opts, edgeClient.WithCredentials(flagutil.GetStringFlag(rs, flagutil.UsernameFlag), flagutil.GetStringFlag(rs, flagutil.PasswordFlag), flagutil.GetStringFlag(rs, flagutil.OrganizationFlag)))
28 }
29 client, err := edgeClient.New(opts...)
30 if err != nil {
31 return nil, err
32 }
33 reg := ®istrar.Registrar{Client: client}
34 return reg, err
35 }
36
37 func BuildRegistration(rs *rags.RagSet) (*registration.Registration, error) {
38 endpoint := flagutil.GetStringFlag(rs, flagutil.Endpoint)
39 if endpoint == "" && flagutil.GetStringFlag(rs, "bff-endpoint") != "" {
40 fmt.Println("WARNING: bff-endpoint flag is being deprecated in Edge Version 0.22, please consider switching over to api-endpoint")
41 endpoint = flagutil.GetStringFlag(rs, "bff-endpoint")
42 }
43 b := registration.NewBuilder().
44
45 Banner(flagutil.GetStringFlag(rs, flagutil.BannerFlag)).
46 Store(flagutil.GetStringFlag(rs, flagutil.StoreFlag)).
47 ClusterType(flagutil.GetStringFlag(rs, flagutil.ClusterTypeFlag)).
48
49 BSLOrganization(flagutil.GetStringFlag(rs, flagutil.OrganizationFlag)).
50 APIEndpoint(endpoint).
51 BearerToken(flagutil.GetStringFlag(rs, flagutil.BearerTokenFlag)).
52 BSLUserPassword(flagutil.GetStringFlag(rs, flagutil.UsernameFlag), flagutil.GetStringFlag(rs, flagutil.PasswordFlag)).
53 CreateBSLSite(flagutil.GetBoolFlag(rs, flagutil.CreateBSLSite)).
54 BSLSiteEuid(flagutil.GetStringFlag(rs, flagutil.BslSiteEuid)).
55 BSLSiteLatitude(flagutil.GetFloat64Flag(rs, flagutil.BslSiteLatitude)).
56 BSLSiteLongitude(flagutil.GetFloat64Flag(rs, flagutil.BslSiteLongitude)).
57 BSLSiteReferenceID(flagutil.GetStringFlag(rs, flagutil.BslSiteRefernceID)).
58 Fleet(flagutil.GetStringFlag(rs, flagutil.FleetFlag)).
59 FleetVersion(flagutil.GetStringFlag(rs, flagutil.FleetVersion)).
60
61 EdgeVersion(version.New().SemVer)
62 return b.Build()
63 }
64
65 func BuildBootstrap(rs *rags.RagSet, clusterEdgeID, clusterCaHash string) (*registration.Registration, error) {
66 endpoint := flagutil.GetStringFlag(rs, flagutil.Endpoint)
67 if endpoint == "" && flagutil.GetStringFlag(rs, "bff-endpoint") != "" {
68 fmt.Println("WARNING: bff-endpoint flag is being deprecated in Edge Version 0.22, please consider switching over to api-endpoint")
69 endpoint = flagutil.GetStringFlag(rs, "bff-endpoint")
70 }
71 b := registration.NewBuilder().
72
73 ClusterEdgeID(clusterEdgeID).
74 ForceBootstrap(flagutil.GetBoolFlag(rs, flagutil.Force)).
75 ClusterCaHash(clusterCaHash).
76
77 APIEndpoint(endpoint).
78 BSLUserPassword(flagutil.GetStringFlag(rs, flagutil.UsernameFlag), flagutil.GetStringFlag(rs, flagutil.PasswordFlag)).
79 BSLOrganization(flagutil.GetStringFlag(rs, flagutil.OrganizationFlag)).
80 BearerToken(flagutil.GetStringFlag(rs, flagutil.BearerTokenFlag)).
81
82
83 EdgeVersion(version.New().SemVer)
84 return b.BootstrapBuild()
85 }
86
View as plain text