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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>