pi/netsender: refactor upgrade code and resolve issues

Issue #54 resolved
Saxon Milton created an issue

The upgrade code is no longer working. It is no longer compatible with the code base due to it not being updated with changes, including the introduction of go modules and our new systemd service methodology for starting clients. Besides these issue, the current method could probably be improved. Instead of using an external shell script, we could instead use pure go and adopt the exec.Command functionality to perform the necessary commands for pulling the new tag and building. This would make it much easier to identify and handle problems at each stage of the upgrade process, and should make it more reusable and powerful. We would introduce a field to the Sender type called “upgrader”; a function signature type field whose value can be set using a function option at netsender initialisation. The specific upgrade steps can then be provided by the client reliant on the netsender package.

Comments (1)

  1. Saxon Milton reporter

    Merged in upgrader (pull request #96)

    pi/netsender: refactor how upgrading is performed. There is no longer dependence on an external shell script, but now rather the client using the netsender package must provide a go based function to do the upgrading

    REsolves issue #54

    Approved-by: Trek Hopton Approved-by: Russell Stanley

    → <<cset fcdba2b70482>>

  2. Log in to comment