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.
-
kubernetes
Production-Grade Container Scheduling and Management -
Moby
The Moby Project - a collaborative project for the container ecosystem to assemble container-based systems -
Gitea
Git with a cup of tea! Painless self-hosted all-in-one software development service, including Git hosting, code review, team collaboration, package registry and CI/CD -
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) -
Flannel
flannel is a network fabric for containers, designed for Kubernetes -
kubeshark
The API traffic analyzer for Kubernetes providing real-time K8s protocol-level visibility, capturing and monitoring all traffic and payloads going in, out and across containers, pods, nodes and clusters. Inspired by Wireshark, purposely built for Kubernetes -
webhook
webhook is a lightweight incoming webhook server to run shell commands -
Ddosify
"Canva" of Kubernetes Observability. Available on CLI, Self-Hosted, and Cloud - https://ddosify.com 🚀 -
Boom
HTTP(S) load generator, ApacheBench (ab) replacement, written in Go -
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 -
goxc
a build tool for Go, with a focus on cross-compiling, packaging and deployment -
Fleet device management
Open-source platform for IT, security, and infrastructure teams. (Linux, macOS, Windows, Chromebooks, AWS, Google Cloud, Azure, data center, containers, IoT) -
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. -
s3gof3r
Fast, concurrent, streaming access to Amazon S3, including gof3r, a CLI. http://godoc.org/github.com/rlmcpherson/s3gof3r -
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 -
cassowary
:rocket: Modern cross-platform HTTP load-testing tool written in Go -
kool
From local development to the cloud: development workflow made easy.
Learn any GitHub repo in 59 seconds
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}}",