painless artifactory management for GO binary and is highly customizable. with this, you will make it even easier to implement binary self-update like using a normal API
repo
├── manifest.json
└── package
└── packagebin
push binary
gotifactory -version 1.0 -pathbin sample/gotifactory -channel latest -commit f2ca1bb6c7 -server http://localhost/scripts/it will be created in your ./repo directory that contains your binary and
manifest.json. So, you can synchronize into your web server directory or s3.
manifest used as metadata of binary, that contains version, git commit,
download URL, checksum, and also package name. Manifest represent as
JSON data, So you can consume them easily with just as regular API.
==manifest.json==
{
"gotifactory": [
{
"channel": "latest",
"commit": "f2ca1bb6c7",
"package": "gotifactory",
"sha256": "01efb3acc22b6e3f2dfee7719c822f69d178c605bc1d5d2208bfced9896ef04f",
"url": "http://localhost/repo/gotifactory/gotifactory",
"version": "2.3"
}
]
}if you want to add self update feature to you Go project, I highly recommend you to use update