restart on secrets update

This commit is contained in:
2026-01-13 17:10:19 +00:00
parent 3ca3b853db
commit 1be31b7392

23
main.go
View File

@@ -1099,8 +1099,8 @@ func runDeploy() error {
return fmt.Errorf("failed to sync local directories: %w", err) return fmt.Errorf("failed to sync local directories: %w", err)
} }
if err := runSSHCommand(ctx.serverIP, systemdRestartScript(ctx.serviceName)); err != nil { if err := restartPocketBaseService(ctx); err != nil {
return fmt.Errorf("systemd restart failed: %w", err) return err
} }
fmt.Printf("\nDeployment complete; PocketBase should be reachable at https://%s\n", ctx.domain) fmt.Printf("\nDeployment complete; PocketBase should be reachable at https://%s\n", ctx.domain)
@@ -1240,7 +1240,11 @@ func runSecretsSet(ctx *deploymentContext, pairs []string) error {
return err return err
} }
fmt.Printf("updated %d secrets\n", len(assignments)) if err := restartPocketBaseService(ctx); err != nil {
return err
}
fmt.Printf("updated %d secrets and restarted PocketBase\n", len(assignments))
return nil return nil
} }
@@ -1267,7 +1271,11 @@ func runSecretsDelete(ctx *deploymentContext, keys []string) error {
return err return err
} }
fmt.Printf("removed %d secrets\n", len(normalized)) if err := restartPocketBaseService(ctx); err != nil {
return err
}
fmt.Printf("removed %d secrets and restarted PocketBase\n", len(normalized))
return nil return nil
} }
@@ -1589,6 +1597,13 @@ systemctl --no-block restart pb@%s
`, serviceName) `, serviceName)
} }
func restartPocketBaseService(ctx *deploymentContext) error {
if err := runSSHCommand(ctx.serverIP, systemdRestartScript(ctx.serviceName)); err != nil {
return fmt.Errorf("systemd restart failed: %w", err)
}
return nil
}
func runSSHCommand(server, script string) error { func runSSHCommand(server, script string) error {
remoteCmd := fmt.Sprintf("bash --noprofile --norc -c %s", shellQuote(script)) remoteCmd := fmt.Sprintf("bash --noprofile --norc -c %s", shellQuote(script))
cmd := exec.Command("ssh", append(sshArgs(server), remoteCmd)...) cmd := exec.Command("ssh", append(sshArgs(server), remoteCmd)...)