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.
-
Moby
Moby Project - a collaborative project for the container ecosystem to assemble container-based systems -
kubernetes
Production-Grade Container Scheduling and Management -
Packer
Packer is a tool for creating identical machine images for multiple platforms from a single source configuration. -
Flynn
[UNMAINTAINED] A next generation open source platform as a service (PaaS) -
webhook
webhook is a lightweight incoming webhook server to run shell commands -
Boom
HTTP(S) load generator, ApacheBench (ab) replacement, written in Go -
Ddosify
High-performance load testing tool, written in Golang. For distributed and Geo-targeted load testing: Ddosify Cloud - https://ddosify.com 🚀 -
Mizu
The API traffic viewer for Kubernetes providing deep visibility into all API traffic and payloads going in, out and across containers and pods inside a Kubernetes cluster. Think TCPDump and Wireshark re-invented for Kubernetes [Moved to: https://github.com/kubeshark/kubeshark] -
bombardier
Fast cross-platform HTTP benchmarking tool written in Go -
dasel
Select, put and delete data from JSON, TOML, YAML, XML and CSV files with a single tool. Supports conversion between formats and can be used as a Go package. -
rtop
rtop is an interactive, remote system monitoring tool based on SSH -
StatusOK
Monitor your Website and APIs from your Computer. Get Notified through Slack, E-mail when your server is down or response time is more than expected. -
goxc
a build tool for Go, with a focus on cross-compiling, packaging and deployment -
s3gof3r
Fast, concurrent, streaming access to Amazon S3, including gof3r, a CLI. http://godoc.org/github.com/rlmcpherson/s3gof3r -
Fleet device management
Fleet is the lightweight, programmable telemetry platform for servers and workstations. Get comprehensive, customizable data from all your devices and operating systems — without the downtime risk. -
uTask
µTask is an automation engine that models and executes business processes declared in yaml. ✏️📋 -
kwatch
:eyes: monitor & detect crashes in your Kubernetes(K8s) cluster instantly -
kool
From local development to the cloud: development workflow made easy. -
cassowary
:rocket: Modern cross-platform HTTP load-testing tool written in Go -
jcli
Jenkins CLI allows you to manage your Jenkins in an easy way. Jenkins 命令行客户端 -
Pewpew
Flexible HTTP command line stress tester for websites and web services -
metric
Minimal metrics for Go (counter/gauge/histogram). No dependencies. Compatible with expvar. Web UI included. -
easyssh-proxy
easyssh-proxy provides a simple implementation of some SSH protocol features in Go -
dogo
Monitoring changes in the source file and automatically compile and run (restart).
Build time-series-based applications quickly and at scale.
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}}",