gosky is a skynet installer and updater, which is supposed to run via
cron daemon every several minutes.

It's main job is:

1) ask genisys which version of skynet should be on host machine
2) download skynet.bin with that version
3) try install skynet.bin several times, starting with least destructive
   method and finishing with killing every skynet process, if installation
   still fails.


=== Building new version 

1. Don't forget to add changelog record with `dch -i`
2. Create a new branch with release in CI: https://a.yandex-team.ru/projects/skynet/ci/releases/timeline?dir=infra%2Fgosky&id=gosky-release
3. Release, if needed, OSX artifacts (ya make ones).
4. Download Linux packages you want to put to repository (ya package ones).
5. Sign them with your GPG key:

    debsign -m 'Vsevolod Velichko <torkve@yandex-team.ru>' yandex-gosky_3.7_amd64.changes

6. Check if you have dupload config:

    package config;

    $default_host = "common";

    $cfg{'common'} = {
        fqdn => "common.dupload.dist.yandex.ru",
        method => "scpb",
        incoming => "/repo/common/mini-dinstall/incoming/",
        dinstall_runs => 0,
    };

7. Upload to common.dist:

    dupload -t common --nomail yandex-gosky_3.7_amd64.changes


For more details about deb packages read:

    https://docs.yandex-team.ru/ya-make/usage/ya_package/deb#sandbox
    https://doc.yandex-team.ru/Debian/deb-pckg-guide/tasks/AllInOne.html

=== Building locally

1. To build just binary, use `ya make` in this folder.
   You can also compile in exact version name with `-DCFLAGS=-DPACKAGE_VERSION=2.2.1` option.

2. To build a debian package with cron and all stuff, use:

    ya package --debian -Z gzip --custom-version 2.2.1 build.json
