auto-updater

module
v0.0.0-...-040dba6 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 11, 2022 License: MIT

README

Disclaimer: This project is work-in-progress.

Auto-Updater

Keep your distributed on-premise software up-to-date

Overview

Distributing on-premise software is quite easy at-first - just put your executable on on your website and wait for users to come by. But once installed, keeping distributed software up-to-date is often cumbersome, as most users do not frequently check vendor websites or repositories for updates. Also, users are afraid of installing updates as they fear to lose data, tweaked configuration or functionality.

If your software is not distributed over any official channel like app stores or package repositories, chances are high your clients run a wide spread of outdated versions. These may use deprecated API calls, have functional bugs and - even worse - exploitable security flaws.

This project aims to ease software self-updating.

Installation

The updater consists of two parts: A catalog server containing all your available versions and a local updater client. The catalog server also includes CLI commands to manage the versions.

Running the catalog server

You can simply run the catalog server per-project, containing only the versions for that particular software product. That way, it does not create cross-team dependencies.

The server consists of only one executable, which can be build using the make command or even just go build.

$ make build-catalog

// Next we need to initialize the database
$ edit ".env" file to set "POSTGRES_DSN"
$ ./bin/catalog db init
$ ./bin/catalog db migrate

// then you can run the HTTP server
$ ./bin/catalog serve

Use the GOOS and GOARCH environment variables to cross-compile for a different architecture when needed.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL