Commit Graph

2020 Commits

Author SHA1 Message Date
Andrew Rynhard
c73709c36a chore: update CONTRIBUTING.md
This document can be simplied as the `Makefile` and pull request status deliver a lot of the
supplied information. This removes a lot of redundant information and only touches on the more
important ideas.

Signed-off-by: Andrew Rynhard <andrew@rynhard.io>
2020-12-08 18:39:18 +03:00
Andrey Smirnov
79bed5e610 fix: remove kmsg ratelimiting on startup
If Talos node is booted without `devkmsg_printk` set to `on` (which
disables ratelimiting), logs are severely ratelimited and close to
impossible to read.

If all the regular kernel args are missing (including KSPP ones), Talos
reboots but actual error message is not printed.

This fixes to at least disable ratelimiting on kmsg writes to make all
the logs visible anyways.

Fixes #2908

Signed-off-by: Andrey Smirnov <smirnov.andrey@gmail.com>
2020-12-08 06:34:56 -08:00
Andrey Smirnov
29fb7ef07b fix: zero out partitions without filesystems on install
This makes sure Talos won't pick up any potential leftover data on fresh
install. On upgrade contents of META partitions are preserved anyways.

Fixes #2919

Signed-off-by: Andrey Smirnov <smirnov.andrey@gmail.com>
2020-12-08 04:41:06 -08:00
Andrey Smirnov
5d5697e398 chore: limit unit-test run concurrency
As we run unit-tests concurrently, it makes sense to limit each run
concurrency.

Signed-off-by: Andrey Smirnov <smirnov.andrey@gmail.com>
2020-12-07 10:46:02 -08:00
Andrey Smirnov
f948b0f1f8 chore: bump Go to 1.15.6
See: talos-systems/tools#115,
talos-systems/pkgs#213, talos-systems/extras#7.

Signed-off-by: Andrey Smirnov <smirnov.andrey@gmail.com>
2020-12-07 09:02:12 -08:00
Artem Chernyshev
5d48bd5f6a feat: allow disabling NoSchedule taint on masters using TUI installer
I think this should come handy for setting up single node SBC clusters.

Signed-off-by: Artem Chernyshev <artem.0xD2@gmail.com>
2020-12-07 07:31:54 -08:00
Andrey Smirnov
11c2b8f80c test: bump defaults for provision tests resources
Our defaults are too low now.

Signed-off-by: Andrey Smirnov <smirnov.andrey@gmail.com>
2020-12-07 07:01:41 -08:00
Andrey Smirnov
4a50007bdf chore: bump dockerfile frontend version
Hoping it might fix spurious buildkit failures.

Signed-off-by: Andrey Smirnov <smirnov.andrey@gmail.com>
2020-12-07 05:54:54 -08:00
Artem Chernyshev
784df2f40f fix: make interactive installer work without endpoints provided
Fixes: https://github.com/talos-systems/talos/issues/2910

Signed-off-by: Artem Chernyshev <artem.0xD2@gmail.com>
2020-12-07 04:47:57 -08:00
Eashwar Ranganathan
2bc7ed0ed9 docs: add docs for network connectivity
Adds documentation on the ports used by various components of Talos
Signed-off-by: Eashwar Ranganathan <eashwar@eashwar.com>
2020-12-05 10:25:21 -08:00
Andrew Rynhard
c1472e2b87 chore: fix conform for releases
Updates the allowed scope for releases.

Signed-off-by: Andrew Rynhard <andrew@rynhard.io>
2020-12-04 16:58:04 -08:00
Andrew Rynhard
019ab60038 docs: improve SBC documentation
Improves the SBC documentation.

Signed-off-by: Andrew Rynhard <andrew@rynhard.io>
2020-12-04 16:12:00 -08:00
Andrew Rynhard
6f845ae00e release(v0.8.0-alpha.2): prepare release
This is the official v0.8.0-alpha.2 release.

Signed-off-by: Andrew Rynhard <andrew@rynhard.io>
2020-12-04 15:34:00 -08:00
Andrew Rynhard
c30374f129 chore: publish Rock64 image
This publishes the Pine64 Rock64 image.

Signed-off-by: Andrew Rynhard <andrew@rynhard.io>
2020-12-04 12:53:33 -08:00
Andrey Smirnov
9830554e6f fix: make default generate image arch dynamic based on arch
This should fix interactive installer on arm64.

Signed-off-by: Andrey Smirnov <smirnov.andrey@gmail.com>
2020-12-04 11:59:15 -08:00
Andrey Smirnov
2d5faf3b86 fix: stabilize serial console on RPi4, add video console
This adds `tty0` for all the boards in case HDMI output actually works.

For RPi4, disable BT to enable PL011 instead of mini-UART for serial
console, as PL011 is much more stable (fixes garbage on serial output).

Signed-off-by: Andrey Smirnov <smirnov.andrey@gmail.com>
2020-12-04 11:39:35 -08:00
Andrew Rynhard
0c254e79d6 feat: add support for the Pine64 Rock64
This adds support for the Rock64.

Signed-off-by: Andrew Rynhard <andrew@rynhard.io>
2020-12-04 09:44:20 -08:00
Spencer Smith
0cb7a6495d chore: enable thrice daily pipeline
This PR actually enables the integration pipeline for running thrice
daily.

Signed-off-by: Spencer Smith <robertspencersmith@gmail.com>
2020-12-04 11:27:58 -05:00
Andrey Smirnov
28d2270067 fix: make reset work again
This bumps go-blockdevice library for the fix
https://github.com/talos-systems/go-blockdevice/pull/22

Signed-off-by: Andrey Smirnov <smirnov.andrey@gmail.com>
2020-12-04 19:27:41 +03:00
Spencer Smith
799e0236dd chore: run integration test thrice daily
This PR makes sure that we run integration more often. I did this in
UTC, with Eastern time zones in mind. In Eastern, it'll do 6AM, noon,
and 6PM. That should give us pretty good coverage across all of our
timezones so we can all have a chance to tackle new issues.

Signed-off-by: Spencer Smith <robertspencersmith@gmail.com>
2020-12-04 07:40:43 -08:00
Seán C McCord
b8bb5e47c4 docs: fix typos
Fixed spelling errors.

Signed-off-by: Seán C McCord <ulexus@gmail.com>
2020-12-03 16:04:48 -08:00
Andrey Smirnov
92cde0c2ea fix: node taint doesn't contain value anymore
As code was looking for existing taint with `value == true`, it failed
to find existing taint and tried to add another one which never
succeeds.

Signed-off-by: Andrey Smirnov <smirnov.andrey@gmail.com>
2020-12-03 13:12:42 -08:00
Artem Chernyshev
63e0d02aa9 feat: add TUI for configuring network interfaces settings
Allows configuring:
- cidr.
- dhcp enable/disable.
- MTU.
- Ignore.
- Dhcp metric.

Signed-off-by: Artem Chernyshev <artem.0xD2@gmail.com>
2020-12-03 11:05:55 -08:00
Spencer Smith
7811589db8 docs: add openstack docs
This PR adds a guide on how to deploy on Openstack with our new image.
It also fixes a small typo I noticed in gcp docs.

Signed-off-by: Spencer Smith <robertspencersmith@gmail.com>
2020-12-03 10:48:45 -08:00
Artem Chernyshev
c7062e3f4d feat: make GenerateConfiguration accept current time as a parameter
If the node time is out of sync, it can generate incorrect
configuration. And maintenance mode does not allow us starting ntp,
because there is no containerd.

By providing current UTC time of the machine where talosctl client is
running, it is possible to force GenerateConfiguration use correct time.

Signed-off-by: Artem Chernyshev <artem.0xD2@gmail.com>
2020-12-03 08:28:11 -08:00
Andrey Smirnov
666e4feb73 fix: defer resolving config context in client code
Now config context is resolved only when it is about to be used, so that
client can operate in config-less mode if config is not required (e.g.
when doing `apply-config --insecure`).

Signed-off-by: Andrey Smirnov <smirnov.andrey@gmail.com>
2020-12-03 07:16:22 -08:00
Spencer Smith
ed31056d91 feat: introduce configpatcher package in machinery
This PR moves the configpatcher as a package under machinery. It also
reworks the existing function to specify that it's explicitly for JSON
6902 patching so we can add more patch types if desired later on.

Signed-off-by: Spencer Smith <robertspencersmith@gmail.com>
2020-12-02 20:49:38 -05:00
Andrey Smirnov
e4ebc4ab95 feat: suggest fixed control plane endpoints in talosctl gen config
Ex.:

```
$ talosctl gen config foo 192.168.0.1
no scheme and port specified for the cluster endpoint URL
try: "https://192.168.0.1:6443"
```

Signed-off-by: Andrey Smirnov <smirnov.andrey@gmail.com>
2020-12-02 13:16:30 -08:00
Spencer Smith
bee365ed6f docs: ensure port for vbox and proxmox docs
This PR adds the default port to these docs so it's clear that port is
required.

Signed-off-by: Spencer Smith <robertspencersmith@gmail.com>
2020-12-02 14:30:51 -05:00
Andrey Smirnov
621968977e feat: update kubernetes to 1.20.0-rc.0
Talos 0.8 is going to ship with K8s 1.20.

Signed-off-by: Andrey Smirnov <smirnov.andrey@gmail.com>
2020-12-02 10:50:58 -08:00
Andrey Smirnov
a26acfef9c fix: remove value (change to empty) for NoSchedule taint
This seems to be more preferred way and fixes compatibility with
deployments which don't do `operator: Exists` in tolerations.

Signed-off-by: Andrey Smirnov <smirnov.andrey@gmail.com>
2020-12-02 07:05:49 -08:00
Andrew Rynhard
03094861c2 chore: output SBC images as compressed raw images
By publishing SBC images as compressed raw images, tools like etcher can flash SD cards
by using URLs to the release asset. It is also common in this community to publish compressed
images instead of tarballs.

Signed-off-by: Andrew Rynhard <andrew@rynhard.io>
2020-12-01 20:49:51 -08:00
Andrew Rynhard
db905c6f74 chore: build SBC images
This will build SBC images and output them to the artifacts directory. These images
will be published on releases.

Signed-off-by: Andrew Rynhard <andrew@rynhard.io>
2020-12-01 12:33:53 -08:00
Andrey Smirnov
3951898c76 chore: update module dependencies
Generic bump of dependencies.

Signed-off-by: Andrey Smirnov <smirnov.andrey@gmail.com>
2020-12-01 10:04:02 -08:00
Andrey Smirnov
360d887967 fix: prevent endless loop with DHCP requests in networkd
There were two problems:

* `configureInterfaces` was always failing if interface is already set
up, as the routes already exist

* `renew` was halving the renew interval each time `configureInterface`
fails, which starts at (LeaseTime/2) and goes effectively to zero

This was leading to high networkd CPU usage, storm of DHCP requests on
the network.

Signed-off-by: Andrey Smirnov <smirnov.andrey@gmail.com>
2020-12-01 08:12:12 -08:00
Andrey Smirnov
71063c4a6e fix: skip board argument to the installer if it's not set
This allows to use older installer images with new Talos environment
(as older installers don't support `--board` argument).

Signed-off-by: Andrey Smirnov <smirnov.andrey@gmail.com>
2020-12-01 07:44:57 -08:00
Andrew Rynhard
5fe41ba32b feat: allow boards to set kernel args
This allows boards to provide kernel args at install time. We need this so that
we can set the console.

Signed-off-by: Andrew Rynhard <andrew@rynhard.io>
2020-12-01 07:08:20 -08:00
Andrew Rynhard
10db642b2f feat: add support for the Banana Pi M64
This adds the Banana Pi M64 to the list of supported boards.

Signed-off-by: Andrew Rynhard <andrew@rynhard.io>
2020-11-30 18:17:37 -08:00
Andrew Rynhard
94c7878e86 docs: add console kernel arg to rpi_4 image generation
This documents how to generate the rpi_4 board image with the correct console args.

Signed-off-by: Andrew Rynhard <andrew@rynhard.io>
2020-11-30 18:00:44 -08:00
Andrew Rynhard
6221cbcba0 docs: add console kernel arg to libretech_all_h3_cc_h5 image generation
This documents how to generate the libretech_all_h3_cc_h5 board image with the correct
console args.

Signed-off-by: Andrew Rynhard <andrew@rynhard.io>
2020-11-30 17:57:14 -08:00
Andrew Rynhard
88f15b1254 fix: use the dtb from kernel pkg for libretech_all_h3_cc_h5
This adds sun50i-h5-libretech-all-h3-cc.dtb to the EFI partition.

Signed-off-by: Andrew Rynhard <andrew@rynhard.io>
2020-11-30 17:54:07 -08:00
Andrew Rynhard
98976602f7 fix(security): update Containerd to v1.4.3
This brings in the the latest Containerd to address a CVE.

Signed-off-by: Andrew Rynhard <andrew@rynhard.io>
2020-11-30 17:40:01 -08:00
Andrey Smirnov
08c84fe678 feat: stop including K8s version by default in talosctl gen config
Default image versions are kept as commented out examples.

This allows better experience for generating config on amd64 for arm64
servers. (e.g. for RPi).

Without embedded values in the config, Talos is going to use the
defaults which work better.

Signed-off-by: Andrey Smirnov <smirnov.andrey@gmail.com>
2020-11-30 12:52:53 -08:00
Andrey Smirnov
e329b680ce fix: prevent crash in talosctl config commands
Validate that context exists before using it.

Fixes #2851

Signed-off-by: Andrey Smirnov <smirnov.andrey@gmail.com>
2020-11-30 10:56:54 -08:00
Andrew Rynhard
99aa3cdba5 feat: add support for the Raspberry Pi 4 Model B
This adds support for the Raspberry Pi 4 Model B.

Signed-off-by: Andrew Rynhard <andrew@rynhard.io>
2020-11-30 09:29:48 -08:00
Andrey Smirnov
f67795748b chore: drop support for docker load
This was preferred way to push images before multi-arch was introduced.
This way doesn't work with multi-platform images, so we had two paths.

Changes:

* `PUSH=true` works now always for `make installer`, `make talos`
* for `image-aws` and friends make sure to push the installer image
before doing that (either local registry or different username)
* `talosctl cluster create` for docker - make sure image is pushed and
`talosctl` knows about the image reference.

Signed-off-by: Andrey Smirnov <smirnov.andrey@gmail.com>
2020-11-30 08:19:40 -08:00
Andrew Rynhard
733f068be1 chore: fix metal image name
We shouldn't include "none" in the default metal image.

Signed-off-by: Andrew Rynhard <andrew@rynhard.io>
2020-11-30 06:38:28 -08:00
Artem Chernyshev
8aad711f18 feat: implement network interfaces list API
To be used in the interactive installer to configure networking.

Signed-off-by: Artem Chernyshev <artem.0xD2@gmail.com>
2020-11-27 10:48:45 -08:00
Andrey Smirnov
d51018a76a fix: update generated .ova manifest for raw disk size
Use constant instead of hardcoded value.

Fixes #2845

Signed-off-by: Andrey Smirnov <smirnov.andrey@gmail.com>
2020-11-27 06:19:32 -08:00
Andrey Smirnov
1c0114b21d feat: bump package for kernel with CIFS support
See https://github.com/talos-systems/pkgs/pull/199

Also serializes push/push-latest.

Signed-off-by: Andrey Smirnov <smirnov.andrey@gmail.com>
2020-11-26 13:30:32 -08:00