Skip to content

Commit 4f761ea

Browse files
committed
fix(cmd): Persist WARP identity for generate and update commands
The `generate` command previously failed to save the newly created WARP identity to disk, leading to its loss. Additionally, the `update` command had an issue where license updates were not correctly persisted due to the returned identity not being assigned. This commit refactors `cloudflare.LoadIdentity` to consistently return `*model.Identity`, ensuring proper pointer handling across identity management functions and resolving these persistence issues.
1 parent d91af57 commit 4f761ea

File tree

3 files changed

+12
-12
lines changed

3 files changed

+12
-12
lines changed

cloudflare/identity.go

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ func CreateOrUpdateIdentity(license string) (*model.Identity, error) {
4141
identity.Account = iAcc
4242
}
4343

44-
return &identity, nil
44+
return identity, nil
4545
}
4646

4747
func LoadOrCreateIdentity() (*model.Identity, error) {
@@ -58,34 +58,34 @@ func LoadOrCreateIdentity() (*model.Identity, error) {
5858
return identity, nil
5959
}
6060

61-
func LoadIdentity() (model.Identity, error) {
61+
func LoadIdentity() (*model.Identity, error) {
6262
regPath := model.GetRegPath()
6363
confPath := model.GetConfPath()
6464

6565
if _, err := os.Stat(regPath); os.IsNotExist(err) {
66-
return model.Identity{}, err
66+
return nil, err
6767
}
6868
if _, err := os.Stat(confPath); os.IsNotExist(err) {
69-
return model.Identity{}, err
69+
return nil, err
7070
}
7171

7272
regBytes, err := os.ReadFile(regPath)
7373
if err != nil {
74-
return model.Identity{}, err
74+
return nil, err
7575
}
7676
confBytes, err := os.ReadFile(confPath)
7777
if err != nil {
78-
return model.Identity{}, err
78+
return nil, err
7979
}
8080

8181
var regFile model.RegFile
8282
if err := json.Unmarshal(regBytes, &regFile); err != nil {
83-
return model.Identity{}, err
83+
return nil, err
8484
}
8585

8686
var confFile model.ConfFile
8787
if err := json.Unmarshal(confBytes, &confFile); err != nil {
88-
return model.Identity{}, err
88+
return nil, err
8989
}
9090

9191
identity := model.Identity{
@@ -98,10 +98,10 @@ func LoadIdentity() (model.Identity, error) {
9898
}
9999

100100
if len(identity.Config.Peers) < 1 {
101-
return model.Identity{}, errors.New("identity contains 0 peers")
101+
return nil, errors.New("identity contains 0 peers")
102102
}
103103

104-
return identity, nil
104+
return &identity, nil
105105
}
106106

107107
func CreateIdentity(warpAPI *WarpAPI, license string) (model.Identity, error) {

cmd/generate.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ var GenerateCmd = &cobra.Command{
2121
func init() {}
2222

2323
func generate(cmd *cobra.Command, args []string) {
24-
ident, err := cloudflare.CreateOrUpdateIdentity("")
24+
ident, err := cloudflare.LoadOrCreateIdentity()
2525
if err != nil {
2626
log.Fatalw("Failed to generate primary identity", zap.Error(err))
2727
}

cmd/update.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ func runUpdate() error {
6060
// Update license if provided
6161
if license != "" {
6262
// Generate configs
63-
_, err = cloudflare.CreateOrUpdateIdentity(license)
63+
identity, err = cloudflare.CreateOrUpdateIdentity(license)
6464
if err != nil {
6565
log.Fatalw("Failed to generate primary identity", zap.Error(err))
6666
}

0 commit comments

Comments
 (0)