go-selfupdate alternatives and similar packages
Based on the "DevOps Tools" category.
Alternatively, view go-selfupdate alternatives based on common mentions on social networks and blogs.
-
Packer
Packer is a tool for creating identical machine images for multiple platforms from a single source configuration. -
webhook
Tool which allows user to create HTTP endpoints (hooks) that execute commands on the server. -
StatusOK
Monitor your Website and REST APIs.Get Notified through Slack, E-mail when your server is down or response time is more than expected. -
s3gof3r
A small utility/library optimized for high speed transfer of large objects into and out of Amazon S3. -
skm
SKM is a simple and powerful SSH Keys Manager, it helps you to manage your multiple SSH keys easily! -
gonative
Tool which creates a build of Go that can cross compile to all platforms while still using the Cgo-enabled versions of the stdlib packages. -
metric
Minimal metrics for Go (counter/gauge/histogram). No dependencies. Compatible with expvar. Web UI included. -
easyssh-proxy
Golang package for easy remote execution through SSH and SCP downloading via ProxyCommand. -
terraform-provider-openapi
Terraform provider plugin that dynamically configures itself at runtime based on an OpenAPI document (formerly known as swagger file) containing the definitions of the APIs exposed.
Get performance insights in less than 4 minutes
* Code Quality Rankings and insights are calculated and provided by Lumnify.
They vary from L1 to L5 with "L5" being the highest. Visit our partner's website for more details.
Do you think we are missing an alternative of go-selfupdate or a related project?
README
go-selfupdate
Enable your Golang applications to self update. Inspired by Chrome based on Heroku's hk.
Features
- Tested on Mac, Linux, Arm, and Windows
- Creates binary diffs with bsdiff allowing small incremental updates
- Falls back to full binary update if diff fails to match SHA
QuickStart
Install library and update/patch creation utility
go get -u github.com/sanbornm/go-selfupdate/...
Enable your App to Self Update
var updater = &selfupdate.Updater{
CurrentVersion: version,
ApiURL: "http://updates.yourdomain.com/",
BinURL: "http://updates.yourdomain.com/",
DiffURL: "http://updates.yourdomain.com/",
Dir: "update/",
CmdName: "myapp", // app name
}
if updater != nil {
go updater.BackgroundRun()
}
Push Out and Update
go-selfupdate myapp 1.2
This will create a folder in your project called, public you can then rsync or transfer this to your webserver or S3.
If you are cross compiling you can specify a directory:
go-selfupdate /tmp/mybinares/ 1.2
The directory should contain files with the name, $GOOS-$ARCH. Example:
windows-386
darwin-amd64
linux-arm
If you are using goxc you can output the files with this naming format by specifying this config:
"OutPath": "{{.Dest}}{{.PS}}{{.Version}}{{.PS}}{{.Os}}-{{.Arch}}",