UK-based Golang Expert For Program Udpater - 10/05/2024 05:16 EDT

Job ID: 38092076

Budget: £750 – £1,500 GBP

I am seeking an UK based experienced Golang Developer to build a robust and secure Go program that manages updates for another Go executable. This project requires creating a system that monitors GitHub to automate the process of updating, running, and, if necessary, rolling back an executable in a restricted Linux environment.

Responsibilities:
Develop a program that checks for new versions of an executable stored on GitHub and updates the running executable accordingly.

Implement functionality to run the updated executable and perform startup tests to ensure its stability.

Design a rollback mechanism to revert to the previous stable version if the new version fails at startup.

Incorporate signature verification for each new executable to maintain security and authenticity.

Enable the ability for periodic automatic updates and the ability to turn automatic updates off.

Expose your program to a REST api so that it can be operated and monitored from a local HTML

Run the program as a SYSTEMD service on boot and monitor it's status

Preferably use pre-existing open-source Golang libraries to achieve these objectives, ensuring that the solution is both efficient and reliable. There are several that accomplish the above tasks e.g. https://github.com/rhysd/go-github-selfupdate

Requirements:
Proven experience in Golang programming and software development.
Familiarity with Linux environments and an understanding of their restrictions and capabilities.
Experience with GitHub and continuous integration tools.
Knowledge of cryptographic techniques for verifying signatures.
Ability to write clean, maintainable code, and to integrate existing libraries effectively.
Strong problem-solving skills and attention to detail.
Desirable:
Experience with sandboxing techniques within Linux environments.
Previous work on similar update mechanisms or version control systems.

Caveats:
Existing IoT solutions that run scripts which require specific kernel modules are known to NOT work in our Linux environment; eg. mender, amazon iot, snapd won't work; however golang programs are known to work. The program needs to be in Go

The size of the program needs to be within reasonable limits to be able to run within a raspberry pi environment.

= Must be based in the UK
= Must have identify verified
= Must communicate via freelance only
= No off-platform work or transactions

This project is ideal for a developer who is adept at navigating the constraints of secure, restricted environments and leveraging Golang's capabilities to build comprehensive, secure update mechanisms. If you are looking to contribute to a project that prioritizes security and efficiency, we would love to hear from you
Related categories: Linux Golang Local Job