628 Commits

Author SHA1 Message Date
Brad Beam
b6a01d6e5b
fix: Address lint warning for unknown linter (#676)
Signed-off-by: Brad Beam <brad.beam@talos-systems.com>
2019-05-21 10:59:13 -05:00
Brad Beam
a64de7ed51
feat(init): Add initToken parameter to userdata (#664)
Signed-off-by: Brad Beam <brad.beam@talos-systems.com>
2019-05-20 14:23:38 -05:00
Andrew Rynhard
496bb83078
feat: add plural alias of service command (#670)
Signed-off-by: Andrew Rynhard <andrew@andrewrynhard.com>
2019-05-18 09:17:09 -07:00
Andrey Smirnov
75b2ce7fd2
feat(init): implement services list API and osctl service CLI (#662)
This returns list of all the services registered, with their current
status, past events, health state, etc.

New CLI is `osctl service [<id>]`: without `<id>` it prints list of all
the services, with specific `<id>` it provides details for a service.

I decided to create "parallel" data structures in protobuf as Go
structures don't map nicely onto what protoc generates: pointers vs.
values, additional fields like mutexes, etc. Probably there's a better
approach, I'm open for it.

For CLI, I tried to keep CLI stuff in `cmd/` package, and I also created
simple wrapper to remove duplicated code which sets up client for each
command.

Examples:

```
$ osctl service
SERVICE      STATE     HEALTH   LAST CHANGE   LAST EVENT
containerd   Running   OK       21s ago       Health check successful
kubeadm      Running   ?        2s ago        Started task kubeadm (PID 280) for container kubeadm
kubelet      Running   ?        0s ago        Started task kubelet (PID 383) for container kubelet
ntpd         Running   ?        14s ago       Started task ntpd (PID 129) for container ntpd
osd          Running   ?        14s ago       Started task osd (PID 126) for container osd
proxyd       Waiting   ?        14s ago       Waiting for conditions
trustd       Running   ?        14s ago       Started task trustd (PID 125) for container trustd
udevd        Running   ?        14s ago       Started task udevd (PID 130) for container udevd
```

```
$ osctl service proxyd
ID       proxyd
STATE    Running
HEALTH   ?
EVENTS   [Preparing]: Running pre state (22s ago)
         [Waiting]: Waiting for conditions (22s ago)
         [Preparing]: Creating service runner (6s ago)
         [Running]: Started task proxyd (PID 461) for container proxyd (6s ago)
```

Signed-off-by: Andrey Smirnov <smirnov.andrey@gmail.com>
2019-05-17 18:01:12 +03:00
Andrew Rynhard
18a1536b01
feat: use osctl in installer (#654)
Signed-off-by: Andrew Rynhard <andrew@andrewrynhard.com>
2019-05-15 16:14:30 -07:00
Brad Beam
0b33280915
feat(init): Add upgrade endpoint (#623)
Signed-off-by: Brad Beam <brad.beam@talos-systems.com>
2019-05-13 15:15:25 -05:00
Brad Beam
5485b9ecb4
fix(osctl): Fix panic on osctl df if error is returned (#646)
Signed-off-by: Brad Beam <brad.beam@talos-systems.com>
2019-05-11 21:52:10 -05:00
Brad Beam
3d5d419b93 fix(osctl): Fix formatting of command/args to be useful (#638)
Signed-off-by: Brad Beam <brad.beam@talos-systems.com>
2019-05-09 20:58:36 -07:00
Andrew Rynhard
f0e162a7f5
refactor: move osinstall into osctl (#629)
Signed-off-by: Andrew Rynhard <andrew@andrewrynhard.com>
2019-05-09 08:49:32 -07:00
Andrew Rynhard
9b5b2f0c7c
fix(osctl): output talosconfig on generate (#627)
Signed-off-by: Andrew Rynhard <andrew@andrewrynhard.com>
2019-05-08 20:27:50 -07:00
Andrew Rynhard
2ea7e055a2
feat(osctl): add flag for number of workers to create (#625)
Signed-off-by: Andrew Rynhard <andrew@andrewrynhard.com>
2019-05-08 07:29:22 -07:00
Andrew Rynhard
7676a31b20
chore: move osinstall to cmd (#620)
Signed-off-by: Andrew Rynhard <andrew@andrewrynhard.com>
2019-05-07 06:41:03 -07:00
Andrew Rynhard
e4ba1acca7
feat(osctl): add config generate command 2019-05-03 14:30:09 -07:00
Andrew Rynhard
13739b4f59
fix(osctl): ensure image is present (#599)
Signed-off-by: Andrew Rynhard <andrew@andrewrynhard.com>
2019-04-29 21:57:31 -07:00
Andrew Rynhard
0a4a48b43c
fix(osctl): fix issue with downloading image (#597)
Signed-off-by: Andrew Rynhard <andrew@andrewrynhard.com>
2019-04-29 17:23:05 -07:00
Andrew Rynhard
6e555c4559
feat(osctl): expose osd and api server ports on master-1 (#592)
Signed-off-by: Andrew Rynhard <andrew@andrewrynhard.com>
2019-04-29 11:51:39 -07:00
Andrew Rynhard
9b4fec0fa8
feat(osctl): add ability to create docker based clusters (#584)
Signed-off-by: Andrew Rynhard <andrew@andrewrynhard.com>
2019-04-28 12:06:03 -07:00
Andrey Smirnov
ab2917e833
feat(init): implement init gRPC API, forward reboot to init (#579)
This implements insecure over-file-socket gRPC API for init with two
first simplest APIs: reboot and shutdown (poweroff).

File socket is mounted only to `osd` service, so it is the only service
which can access init API. Osd forwards reboot/shutdown already
implemented APIs to init which actually executes these.

This enables graceful shutdown/reboot with service shutdown, sync, etc.

Signed-off-by: Andrey Smirnov <smirnov.andrey@gmail.com>
2019-04-26 23:04:24 +03:00
Andrew Rynhard
fc05224b4f
feat: add shutdown command (#577)
Signed-off-by: Andrew Rynhard <andrew@andrewrynhard.com>
2019-04-26 08:53:12 -07:00
Andrew Rynhard
a8fa1f5cd1
feat(osctl): add df command (#569)
Signed-off-by: Andrew Rynhard <andrew@andrewrynhard.com>
2019-04-26 08:24:31 -07:00
Brad Beam
1a5be8da47
osctl top enhancements (#568)
* feat(osctl): Automatic sizing of top window

Signed-off-by: Brad Beam <brad.beam@talos-systems.com>

* feat(osctl): Format top output in proper columns

Signed-off-by: Brad Beam <brad.beam@talos-systems.com>

* feat(osctl): Add sort by cpu/rss options

Signed-off-by: Brad Beam <brad.beam@talos-systems.com>

* feat(osctl): Add ability to run once (no gui)

Signed-off-by: Brad Beam <brad.beam@talos-systems.com>
2019-04-24 16:44:57 -05:00
Brad Beam
3f358b12ae
feat(osctl): Add osctl top (#560)
Also adds pkg/proc as the backing package for top data

Signed-off-by: Brad Beam <brad.beam@talos-systems.com>
2019-04-23 21:25:41 -05:00
Andrey Smirnov
7da7c8c2ff refactor: add stub unit-tests to non-trivial Go packages (#556)
Signed-off-by: Andrey Smirnov <smirnov.andrey@gmail.com>
2019-04-17 13:25:22 -07:00
Andrew Rynhard
7688de6a3a
chore: upgrade golangci-lint to v1.16.0 (#515)
Signed-off-by: Andrew Rynhard <andrew@andrewrynhard.com>
2019-04-09 21:53:35 -07:00
Spencer Smith
1b0b3ae59c chore: expose crypto package (#512)
Signed-off-by: Spencer Smith <robertspencersmith@gmail.com>
2019-04-09 17:47:47 -07:00
Andrew Rynhard
e18b5086a9
chore: update org to new name (#480)
Signed-off-by: Andrew Rynhard <andrew@andrewrynhard.com>
2019-04-03 18:29:21 -07:00
Andrew Rynhard
380ba21c45
fix(osctl): add missing flags (#479)
Signed-off-by: Andrew Rynhard <andrew@andrewrynhard.com>
2019-04-02 19:13:10 -07:00
Andrew Rynhard
455aeb742c
chore: expose userdata and osctl client packages (#471)
Signed-off-by: Andrew Rynhard <andrew@andrewrynhard.com>
2019-04-02 17:11:17 -07:00