315 Commits

Author SHA1 Message Date
Andrey Smirnov
1cf6b98fb8 test: bump Talos release version for upgrade test to 0.7.1
We should always use latest releases.

Signed-off-by: Andrey Smirnov <smirnov.andrey@gmail.com>
2020-12-08 18:41:28 +03: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
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
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
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
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
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
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
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
Andrey Smirnov
9ccb5f34fc chore: use IMAGE_TAG instead of TAG for :latest pushes
The variable $(TAG) was used both during linking phase to set the
version of Talos built into binaries and as an image reference for
pushing. This leads to to `:latest` image being built with version
`latest`.

Separate image push reference and Talos version by introducing
`$(IMAGE_TAG)` which defaults to `$(TAG)`, but can be overridden.

Signed-off-by: Andrey Smirnov <smirnov.andrey@gmail.com>
2020-11-26 11:52:22 -08:00
Andrew Rynhard
8a8c93fac8 feat: update Containerd and Linux
This brings in Containerd v1.4.2 and Linux v5.9.11

Signed-off-by: Andrew Rynhard <andrew@rynhard.io>
2020-11-26 07:44:36 -08:00
Andrey Smirnov
1eac88e470 feat: add support for installing to SBCs
This introduces the notion of a "board" in Talos. A board is an interface that is capable
of modifying the installation in specific ways for a given SBC. This also adds support for the
libretech_all_h3_cc_h5.

Signed-off-by: Andrew Rynhard <andrew@rynhard.io>
2020-11-26 07:18:25 -08:00
Spencer Smith
79057f93c5 feat: support openstack platform
This PR adds the ability for us to deploy Talos in openstack. Tested in
local devstack with a supplied userdata file. It also adds support to
the Makefile for building the openstack image so it'll be published with
next release.

Signed-off-by: Spencer Smith <robertspencersmith@gmail.com>
2020-11-25 07:12:57 -08:00
Andrey Smirnov
28ba6e416e feat: update Kubernetes to v1.20.0-beta.2
Talos 0.8 is going to ship with K8s 1.20.x.

Changes to support new `control-plane` label,
upgrade-k8s supports automated fixups for 1.20.

See also: https://github.com/talos-systems/bootkube-plugin/pull/22

Signed-off-by: Andrey Smirnov <smirnov.andrey@gmail.com>
2020-11-25 06:39:14 -08:00
Andrey Smirnov
07cbf4be3f test: update integration test versions, clean up names
Bump to 0.7.0 as we have a new release.

Clean up the tests we do: 0.6.3 is a previous release, 0.7.0 is a stable
release, current version (0.8.x) is the "next" release.

We test the following:

* 0.6.3 -> 0.7.0
* 0.7.0 -> 0.8-current
* 0.7.0 -> 0.8-current (single node)

This tests upgrades always between two releases.

Signed-off-by: Andrey Smirnov <smirnov.andrey@gmail.com>
2020-11-18 16:39:40 +03:00
Andrey Smirnov
61facf700a chore: build arm64 images in CI
This changes installer image/iso output to be tar via stdout
(optionally), so that we can copy back artifacts back from remote docker
daemon.

Fixes #2776

Signed-off-by: Andrey Smirnov <smirnov.andrey@gmail.com>
2020-11-13 12:34:48 -08:00
Andrey Smirnov
32d231debd feat: update Go to 1.15.5
Release contains important security fixes:

https://groups.google.com/g/golang-announce/c/NpBGTTmKzpM/m/fLguyiM2CAAJ

Fixes #2775

Signed-off-by: Andrey Smirnov <smirnov.andrey@gmail.com>
2020-11-13 09:20:56 -08:00
Andrey Smirnov
df6ad3fa80 feat: upgrade Kubernetes default version to 1.19.4
k8s.io modules don't have 1.19.4 tag yet :(

Signed-off-by: Andrey Smirnov <smirnov.andrey@gmail.com>
2020-11-12 08:51:04 -08:00
Andrey Smirnov
5fca20e137 chore: bump Go to 1.15.4
See:

* https://github.com/talos-systems/pkgs/pull/185
* https://github.com/talos-systems/tools/pull/111
* https://github.com/talos-systems/extras/pull/3

Signed-off-by: Andrey Smirnov <smirnov.andrey@gmail.com>
2020-11-09 08:49:37 -08:00
Andrew Rynhard
4d9555a3ac fix: update packages
Brings in the R8169 driver.

Signed-off-by: Andrew Rynhard <andrew@rynhard.io>
2020-11-07 15:22:53 -08:00
Spencer Smith
5fee81bb11 feat: upgrade kernel to v5.9.3
This PR brings in an upgraded pkgs version that contains fe414af3b4

Signed-off-by: Spencer Smith <robertspencersmith@gmail.com>
2020-11-03 08:52:22 -08:00
Andrew Rynhard
06227639f8 feat: upgrade packages
Brings in latest stable packages.

Signed-off-by: Andrew Rynhard <andrew@rynhard.io>
2020-11-02 12:08:54 -08:00
Andrew Rynhard
1ca61ddce7 feat: add ISO support
This reverts commit 3515f4e0f8c11352539ed0d430e1f44f73c8229f.

Signed-off-by: Andrew Rynhard <andrew@rynhard.io>
2020-11-02 10:21:40 -08:00
Andrey Smirnov
350d75eb46 feat: build talosctl-cni-bundle, use it in talosctl for QEMU
This builds a bundle with CNI plugins for talosctl which is
automatically downloaded by `talosctl` if CNI plugins are missing.

CNI directories are moved by default to the `~/.talos/cni` path.

Also add a bunch of pre-flight checks to the QEMU provisioner to make it
easier to bootstrap the Talos QEMU cluster.

Signed-off-by: Andrey Smirnov <smirnov.andrey@gmail.com>
2020-10-30 16:30:37 -07:00
Andrey Smirnov
66829b14d5 test: bump Talos version for upgrade tests, bump Cilium version
Use 0.6.3 as upgrade source version, use latest Cilium release.

Signed-off-by: Andrey Smirnov <smirnov.andrey@gmail.com>
2020-10-29 22:22:21 +03:00
Andrey Smirnov
f5cef16bc5 feat: bump Linux to 5.8.16, enable mpt3sas driver
See https://github.com/talos-systems/pkgs/pull/181

Signed-off-by: Andrey Smirnov <smirnov.andrey@gmail.com>
2020-10-28 08:47:16 -07:00
Andrey Smirnov
bc9e0c0dba fix: re-implement upgrade (install) with preserve
For 0.6 -> 0.7 upgrade, in any case config.yaml is preserved and moved
from `/boot` to `/system/state`.

For single node upgrade, `EPHEMERAL` partition is not touched and other
partitions are re-created as needed.

Bump provision tests to 0.6/0.7 upgrades as we get closer to the new
release.

Signed-off-by: Andrey Smirnov <smirnov.andrey@gmail.com>
2020-10-28 07:25:26 -07:00
Artem Chernyshev
d0ed6d7cc6 feat: encode comments as part of talosctl generated configs
Comments encoding works, defaults encoding works.
Docgen was revamped: now it generates go files.
While markdown files are all handled by
`pkg/machinery/config/encoder/markdown.go`.

Changed scheme for docs. Now it no longer relies on a single `doc.go` in
the root of a package. Instead it can generate separate `*_doc.go` files
for each file in the package. `docgen` now expects to get 3 params
instead of 2. 3rd parameter is used to define a unique method name for
getting the list of structs in the file.

Backward compatibility is supported if we define package name as the 3rd
parameter.

1st parameter no longer scans whole current directory, instead it points
to the particular file that should be processed by docgen.

`talosctl docs` command now supports two flags: `--config` and `--cli`.
They allow generating only docs for v1alpha1 configs or for talosctl. If
no flags are defined, all docs are generated.

Additionally made field types clickable in the output markdown file.

Signed-off-by: Artem Chernyshev <artem.0xD2@gmail.com>
2020-10-26 13:05:23 -07:00
Andrey Smirnov
aef7933a6a chore: fix the check-dirty command to abort on untracked files
`git describe` ignores untracked files in `-dirty`

Signed-off-by: Andrey Smirnov <smirnov.andrey@gmail.com>
2020-10-20 14:33:48 -07:00
Andrey Smirnov
56f1ee37fd feat: upgrade Kubernetes to 1.19.3
Just minor release bump.

Signed-off-by: Andrey Smirnov <smirnov.andrey@gmail.com>
2020-10-20 05:12:32 -07:00
Andrey Smirnov
af6388c755 feat: bump packages for Linux 5.8.15 and containerd 1.4.1
See:

* https://github.com/talos-systems/pkgs/pull/179
* https://github.com/talos-systems/pkgs/pull/178

Signed-off-by: Andrey Smirnov <smirnov.andrey@gmail.com>
2020-10-16 14:39:17 -07:00
Andrey Smirnov
4701a5d40f chore: bump Go to 1.15.3
See https://github.com/talos-systems/tools/pull/110

Signed-off-by: Andrey Smirnov <smirnov.andrey@gmail.com>
2020-10-15 09:23:28 -07:00
Andrey Smirnov
8cf1b4089b feat: bump packages version for the kernel with BBR TCP congestion algo
Fixes #2638

Signed-off-by: Andrey Smirnov <smirnov.andrey@gmail.com>
2020-10-14 15:25:05 -07:00
Andrey Smirnov
1572966686 feat: bring in install-cni & pod-checkpointer from extras packages
This introduces newly built multi-arch images from
`talos-systems/extras`.

Also fixed default installer image if config is missing.

Signed-off-by: Andrey Smirnov <smirnov.andrey@gmail.com>
2020-10-08 14:45:00 -07:00
Andrey Smirnov
8dfddd2ef9 chore: bump pkgs version
This brings in new kernel configs which includes the following PRs:

* https://github.com/talos-systems/pkgs/pull/174
* https://github.com/talos-systems/pkgs/pull/171

Signed-off-by: Andrey Smirnov <smirnov.andrey@gmail.com>
2020-10-07 13:50:44 -07:00
Andrey Smirnov
7474f96d2d chore: publish list of images to release notes
This uses `talosctl images`. This way it's easy to find installer image
or talos image for any release.

Signed-off-by: Andrey Smirnov <smirnov.andrey@gmail.com>
2020-10-07 09:59:35 -07:00
Andrey Smirnov
ff0d4b305a feat: build Talos images/artifacts for amd64/arm64
By default, build outside of Drone works the same and builds only amd64
version, loads images back into dockerd, etc.

If multiple platforms are used, multi-arch images are built which can't
be exported to docker or to `.tar` image, they're always pushed to the
registry (even for PR builds to our internal CI registry).

Artifacts as files (initramfs, kernel) now have `-arch` suffix:
`vmlinuz-amd64`, `initramfs-amd64.xz`. "Magic" script normalizes output
paths depending on whether single platform or multiple platforms were
given.

VM provisioners accept magic `${ARCH}` in initramfs/kernel paths which
gets replaced by cluster architecture.

Signed-off-by: Andrey Smirnov <smirnov.andrey@gmail.com>
2020-09-27 10:32:07 -07:00
Andrew Rynhard
d8c494e1a8 chore: fix docker login
Updates the drone config to setup the GHCR credentials.

Signed-off-by: Andrew Rynhard <andrew@rynhard.io>
2020-09-23 16:22:55 -07:00
Andrew Rynhard
d7dc60d1f9 chore: fix docker login
We need to specify the registry when running `docker login`.

Signed-off-by: Andrew Rynhard <andrew@rynhard.io>
2020-09-23 15:59:19 -07:00
Andrew Rynhard
7d2741fc4b chore: migrate to ghcr.io
Move to GHCR.

Signed-off-by: Andrew Rynhard <andrew@rynhard.io>
2020-09-23 15:06:30 -07:00
Andrey Smirnov
551ab70847 feat: ugrade Linux kernel to 5.8.10
This addresses CVE-2020-14386.

Signed-off-by: Andrey Smirnov <smirnov.andrey@gmail.com>
2020-09-17 14:35:40 -07:00
Andrey Smirnov
b4341d8780 feat: upgrade kubernetes to 1.19.1
Release notes: https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG/CHANGELOG-1.19.md#v1191

Signed-off-by: Andrey Smirnov <smirnov.andrey@gmail.com>
2020-09-11 06:58:12 -07:00
Andrey Smirnov
788cd15c29 test: add e2e test to the provision (upgrade) tests
Add sonobuoy runner code with log fetching on failure. Use hand-picked
set of e2e tests to run: verify basic pod functionality, verify service
connectivity.

Add option `--run-e2e` to the `talosctl health` to run quick e2e test to
verify cluster health.

Add option to run provision tests with custom CNI, run one track of
provision tests with Cilium.

Bump Cilium to 1.8.2.

Talos 0.6 won't uncordon node automatically after upgrade from 0.5, as
0.5 doesn't put annotation. Workaround that in upgrade tests.

Bump upgrade test version to 0.6.0 release.

Signed-off-by: Andrey Smirnov <smirnov.andrey@gmail.com>
2020-09-08 13:26:31 -07:00
Andrey Smirnov
6b98ab729e refactor: deduplicate packages version in Dockerfile
There's no way to use variable substitution in `COPY --from=`, but we
can use that in `FROM`.

Also bump TOOLS version to finish bump from #2497.

Signed-off-by: Andrey Smirnov <smirnov.andrey@gmail.com>
2020-09-07 07:42:06 -07:00
Andrew Rynhard
3515f4e0f8 feat: remove ISO support
This feature has long been broken. It is time to remove it.

Signed-off-by: Andrew Rynhard <andrew@rynhard.io>
2020-09-04 01:00:40 -07:00
Andrey Smirnov
8ad43d4b1f chore: upgrade Go to 1.15.1
See:

* https://github.com/talos-systems/pkgs/pull/161
* https://github.com/talos-systems/tools/pull/104

Signed-off-by: Andrey Smirnov <smirnov.andrey@gmail.com>
2020-09-03 15:36:53 -07:00
Andrey Smirnov
e7dc34e8b8 chore: upgrade Go to 1.14.8
See also:

* https://github.com/talos-systems/pkgs/pull/158
* https://github.com/talos-systems/tools/pull/102

Signed-off-by: Andrey Smirnov <smirnov.andrey@gmail.com>
2020-09-01 13:40:27 -07:00