3932 Commits

Author SHA1 Message Date
Andrey Smirnov
23984efcdf
fix: detect lingering mounts in the installer correctly
Not sure how and when it got broken, but we're looking for mounts for
the blockdevice (like `/dev/vda`), while the actual mount info contains
the partition device (like `/dev/vda6`).

Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2022-04-19 21:18:40 +03:00
Dmitriy Matrenichev
54dba925f8
chore: refactor network resource to use typed resource
Refactor all types except LinkStatus and LinkRefresh to use typed.Resource.

Signed-off-by: Dmitriy Matrenichev <dmitry.matrenichev@siderolabs.com>
2022-04-19 18:10:40 +04:00
Andrey Smirnov
4eb9f45cc8
refactor: split polymorphic K8sControlPlane into typed resources
Having polymorphic (spec type depends on ID) resources is not a good
idea, and it's not compatible with protobuf encoding.

Introduce new resources for each polymorphic sub-spec using new Go 1.18
generic typed.Resource to reduce the boilerplate code.

(Still needs proper deepcopy-gen, but I'm skipping it for now, as
K8sControlPlane had also broken deep copy).

Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2022-04-19 16:53:09 +03:00
Andrey Smirnov
68dfdd3311
fix: provide logger to the etcd snapshot restore
With update of the client library to 3.5.3, etcd library started using
the logger, so using `nil` isn't fine anymore.

Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2022-04-19 15:16:33 +03:00
Tim Jones
f190403f01
docs: add how to get config after interactive setup
Add a note on how machine configuration can be retrieved
from the node, after e.g. interactive setup.

Signed-off-by: Tim Jones <tim.jones@siderolabs.com>
2022-04-19 10:53:53 +02:00
Tim Jones
fac7b94667
docs: improve vip caveats documentation
Many users have been using the VIP functionality to configure
endpoints in Talos config. Documentation to clarify the possible
issues with that option and that it should be avoided.

Signed-off-by: Tim Jones <tim.jones@siderolabs.com>
2022-04-19 10:37:29 +02:00
Tim Jones
250df9e670
docs: improve rook-ceph description
Improve the Rook Ceph documentation.

Signed-off-by: Tim Jones <tim.jones@siderolabs.com>
2022-04-18 22:50:52 +02:00
Tim Jones
b5c1d868de
docs: add talos/kubernetes config faq
Add an entry to our FAQs on why separate configurations
are needed for Talos and Kubernetes.

Signed-off-by: Tim Jones <tim.jones@siderolabs.com>
2022-04-18 21:39:47 +02:00
Andrey Smirnov
39721ee939
chore: bump dependencies
dependabot + go-mod-outdated

Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2022-04-18 21:20:14 +03:00
Noel Georgi
610945774a
chore: bump tools and pkgs
Bump tools and pkgs

Signed-off-by: Noel Georgi <git@frezbo.dev>
2022-04-18 20:51:21 +05:30
Andrey Smirnov
2b68c8b67b
fix: enable long timestamps for xfs
This "fixes" the message like:

```
xfs filesystem being mounted at /var supports timestamps until 2038 (0x7fffffff)
```

We should support Talos beyond 2038, even if we switch to a different
filesystem type by 2038 :)

Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2022-04-18 16:21:03 +03:00
Dmitriy Matrenichev
be00d77492
chore: implement cluster resources using cosi typed resource
Bump github.com/cosi-project/runtime and use typed.Resource

Signed-off-by: Dmitriy Matrenichev <dmitry.matrenichev@siderolabs.com>
2022-04-18 16:28:12 +04:00
Tim Jones
460d5ab13f
docs: fix extension services alias
Fixes a typo in the Extension Services document alias
which serves as the redirect from the old location.

Signed-off-by: Tim Jones <tim.jones@siderolabs.com>
Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2022-04-15 21:48:51 +03:00
Noel Georgi
bbdfda2dd2
chore: xfs quota support in kernel
XFS quota support in kernel

Ref: https://github.com/siderolabs/pkgs/pull/451

Signed-off-by: Noel Georgi <git@frezbo.dev>
2022-04-15 17:02:04 +05:30
Noel Georgi
8ff8fc77f3
chore: enable rpi4 poe hat fan control
Enable the Rpi4 PoE hat fan control by pulling in the overlay
compatible with the upstream kernel driver.

Ref: https://github.com/siderolabs/pkgs/pull/450

Signed-off-by: Noel Georgi <git@frezbo.dev>
2022-04-15 00:17:40 +05:30
Artem Chernyshev
2b9722d1f5
feat: add dry-run flag in apply-config and edit commands
Dry run prints out config diff, selected application mode without
changing the configuration.

Signed-off-by: Artem Chernyshev <artem.chernyshev@talos-systems.com>
2022-04-14 19:12:57 +03:00
Andrey Smirnov
8af50fcd27
fix: correct cri package import path
Containerd CRI plugin was merged into the main repo, but we were using
old import path, so our constants coming from the module were outdated.

This fixes the image version for the pause container.

Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2022-04-14 16:27:45 +03:00
Andrey Smirnov
ce09ede839
feat: update etcd to 3.5.3
See https://github.com/etcd-io/etcd/releases/tag/v3.5.3

This release should contain a fix for data consistency issue when etcd
is killed under high load.

Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2022-04-14 13:56:03 +03:00
Noel Georgi
13f41baddf
chore: bump kernel to 5.15.34
Bump kernel to 5.15.34

Ref: https://github.com/siderolabs/pkgs/pull/448

Signed-off-by: Noel Georgi <git@frezbo.dev>
2022-04-14 12:19:05 +05:30
Tim Jones
fa57b5d922
docs: reorganize documentation
Make improvements to help documentation discoverability and categorization.
Ensure all content pages have a description.
Ensure all link are replaced with Hugo shortcode.
Ensure all moved pages have an alias so redirects work.

Signed-off-by: Tim Jones <tim.jones@siderolabs.com>
2022-04-13 23:49:32 +02:00
Noel Georgi
a91eb9358d
chore: bump deps
Ref:
- https://github.com/siderolabs/tools/pull/185
- https://github.com/siderolabs/pkgs/pull/447
- https://github.com/siderolabs/extras/pull/44

Signed-off-by: Noel Georgi <git@frezbo.dev>
2022-04-13 22:22:11 +05:30
Andrey Smirnov
0aad0df2eb
refactor: remove String() for resource implementation
See https://github.com/cosi-project/runtime/pull/69

Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2022-04-12 20:51:02 +03:00
Andrey Smirnov
a4060513c6
feat: build Talos with support for x86-64-v2 microarchitecture
See https://github.com/golang/go/wiki/MinimumRequirements#microarchitecture-support

This relies on new Go 1.18 feature to use more efficient x86-64
instructions.

Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2022-04-11 21:12:59 +03:00
Noel Georgi
8faebd410b
chore: bump tools and pkgs
Bump tools and pkgs to get kernel 5.15.33

5.15.33 has a bunch of fixes for some CVE's,
it was too hard to track those and reference

Signed-off-by: Noel Georgi <git@frezbo.dev>
2022-04-11 19:56:42 +05:30
Andrey Smirnov
8499b7e7dc
chore: bump dependencies
dependabot + go-mod-outdated

Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2022-04-11 16:53:39 +03:00
Dmitriy Matrenichev
a7ba7ea679
feat: migrate to go 1.18
Increase go.mod version from 1.17 to 1.18 in all projects. Update Makefile
to use latest tooling. Fix golangci by disable nolintlint for now.

Signed-off-by: Dmitriy Matrenichev <dmitry.matrenichev@siderolabs.com>
2022-04-11 17:17:54 +04:00
Andrey Smirnov
9dace93b59
feat: enable Pod Security Admission by default
As Talos 1.1 supports Kubernetes 1.22-1.24, we can finally enable Pod
Security Admission by default:

```yaml
apiVersion: apiserver.config.k8s.io/v1
kind: AdmissionConfiguration
plugins:
- configuration:
    apiVersion: pod-security.admission.config.k8s.io/v1alpha1
    defaults:
      audit: restricted
      audit-version: latest
      enforce: baseline
      enforce-version: latest
      warn: restricted
      warn-version: latest
    exemptions:
      namespaces:
      - kube-system
      runtimeClasses: []
      usernames: []
    kind: PodSecurityConfiguration
  name: PodSecurity
  path: ""
```

Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2022-04-11 15:36:04 +03:00
Noel Georgi
c382cb8cd2
docs: update vmware docs
Update VMWare docs to use `@` syntax to load files

Signed-off-by: Noel Georgi <git@frezbo.dev>
2022-04-11 16:22:21 +05:30
Tim Jones
da0e638f04
docs: stableize tools versioning
Ensure that the site generation tools are
up to date and match versions.

Signed-off-by: Tim Jones <tim.jones@siderolabs.com>
2022-04-08 15:25:29 +02:00
Tim Jones
f2d2267e74
docs: use template for netlify redirects
Use a template for Netlify redirects so we
dont have to maintinan a static file manually.

Signed-off-by: Tim Jones <tim.jones@siderolabs.com>
2022-04-08 14:41:35 +02:00
Tim Jones
88f1d8fcc0
docs: update sitemap to point to direct url
`talos.dev` redirects to `www.talos.dev` so this fix to
the sitemap removes the redirect when scraping.

Signed-off-by: Tim Jones <tim.jones@siderolabs.com>
2022-04-08 09:57:49 +02:00
Noel Georgi
a6eebee36f
chore: update eudev
Update eudev

Ref: https://github.com/siderolabs/pkgs/pull/443

Signed-off-by: Noel Georgi <git@frezbo.dev>
2022-04-08 00:05:48 +05:30
Andrey Smirnov
0cb84e8c1a
fix: correctly parse tags out of images
Use the last `:` in the image reference.

Handle the case when no version was discovered.

See https://github.com/siderolabs/theila/issues/138

Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2022-04-07 19:32:12 +03:00
Spencer Smith
17d09739f3
docs: enable nested arrow
This PR enables the little arrow that shows there's stuff underneath a
header on the sidebar.

Signed-off-by: Spencer Smith <spencer.smith@talos-systems.com>
2022-04-07 11:45:59 -04:00
Noel Georgi
1e4320b64e
chore: add support for rockpi 4A and 4B
Add support for RockPi 4A and 4B

Signed-off-by: Noel Georgi <git@frezbo.dev>
2022-04-06 23:35:16 +05:30
Steve Francis
d1869d948c
docs: update to Sidero Metal, mention clusterctl
People are searching talos docs for cluserctl, so mentioning in this page to point them towards Sidero Metal.

Signed-off-by: Steve Francis <steve.francis@talos-systems.com>
Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2022-04-06 16:45:57 +03:00
Andrey Smirnov
18d0038eca
fix: avoid panic in DHCPv6 operator on nil dereference
Log (lines for Talos v1):

```
[talos] operator panicked {"component": "controller-runtime", "controller": "network.OperatorSpecController", "stack": "github.com/talos-systems/talos/internal/app/machined/pkg/controllers/network.(*operatorRunState).runWithPanicHandler.func1\x5cn\x5ct/src/internal/app/machined/pkg/controllers/network/operator_spec.go:137\x5cnruntime.gopanic\x5cn\x5ct/toolchain/go/src/runtime/panic.go:1038\x5cnruntime.panicmem\x5cn\x5ct/toolchain/go/src/runtime/panic.go:221\x5cnruntime.sigpanic\x5cn\x5ct/toolchain/go/src/runtime/signal_unix.go:735\x5cngithub.com/talos-systems/talos/internal/app/machined/pkg/controllers/network/operator.(*DHCP6).parseReply\x5cn\x5ct/src/internal/app/machined/pkg/controllers/network/operator/dhcp6.go:145\x5cngithub.com/talos-systems/talos/internal/app/machined/pkg/controllers/network/operator.(*DHCP6).renew\x5cn\x5ct/src/internal/app/machined/pkg/controllers/network/operator/dhcp6.go:208\x5cngithub.com/talos-systems/talos/internal/app/machined/pkg/controllers/network/operator.(*DHCP6).Run\x5cn\x5ct/src
```

Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2022-04-05 22:39:51 +03:00
William Ashton
9e3d438db4
docs: fix code fence formatting
This change fixes an issue where a code fence unintentionally included
the entire rest of the page.

Signed-off-by: William Ashton <William@AshtonFam.org>
Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2022-04-05 22:17:33 +03:00
Andrey Smirnov
b3f1bb2cff
fix: add support for FAT12/16 filesystems
This can be used when probing filesystems with config data in the
`metal-iso` case or in the `nocloud` platform.

Small disk images by default are created with small bits FAT
filesystems.

See https://github.com/siderolabs/go-blockdevice/pull/59

Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2022-04-05 18:14:04 +03:00
Andrey Smirnov
8619f95c5c
chore: bump dependencies
dependabot + go-mod-outdated

Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2022-04-04 17:29:49 +03:00
Spencer Smith
8c4f720048
docs: override sitemap.xml to only include latest results
This PR overrides the sitemap to only include, for example, v1.0 results
if that's our specified latest version. This should fix Google's
indexing of our docs to only include the latest results.

Signed-off-by: Spencer Smith <spencer.smith@talos-systems.com>
2022-04-04 09:44:45 -04:00
Andrei Dobre
5192ba4e23
docs: fix a typo in QEMU VM setup guide
Fix a typo in the QEMU VM docs.

Signed-off-by: Andrei Dobre <andreidobre.web@gmail.com>
Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2022-04-04 16:17:44 +03:00
Andrey Smirnov
663e3e8796
refactor: change the stages for embed files generation
The main goal to avoid cache invalidation on `tag` changes: by pushing
the tag down the build after the generate step, avoid invalidating build
cache on each tag change (`-dirty`, rebasing, etc.)

Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2022-04-04 16:02:19 +03:00
Andrey Smirnov
19bf12af07
fix: enable IPv6 in Docker-based Talos clusters
Docker by default disable IPv6 completely in the containers which breaks
SideroLink on Docker-based clusters, as SideroLink is using IPv6
addresses for the Wiregurard tunnel.

This change might break `talosctl cluster create` on host systems which
have IPv6 disabled completely, so provide a flag to revert this
behavior.

Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2022-04-01 20:28:12 +03:00
Spencer Smith
3889a58397
docs: update config.yaml, storage.md, digital-rebar.md
This PR is an omnibus edition of Steve's PRs. It includes three small
things to the docs:

- A change to config.toml to avoid redirects a bit better
- Updates to digital rebar doc that fixes a few links and typos.
- Updates for typos and wording of storage.md

Signed-off-by: Spencer Smith <spencer.smith@talos-systems.com>
2022-04-01 19:58:40 +03:00
Andrey Smirnov
25d19131d3
release(v1.1.0-alpha.0): prepare release
This is the official v1.1.0-alpha.0 release.

Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
pkg/machinery/v1.1.0-alpha.0 v1.1.0-alpha.0
2022-04-01 18:23:19 +03:00
Andrey Smirnov
2ca5279e56
fix: retry manifest updates in upgrade-k8s
This showed up recently frequently in integration-provision tests
(might be related to Kubernetes upgrade), but anyways errors should be
retried.

Refactored the function to extract the retryable part.

Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2022-04-01 16:20:25 +03:00
Tim Jones
eeb756168f
feat: use kexec when resetting a node
In the case of a node being reset, using kexec greatly
speeds up the process. However, in the event the boot
partition is wiped, a full reboot is required.
Closes #4670

Signed-off-by: Tim Jones <tim.jones@siderolabs.com>
2022-04-01 10:49:37 +02:00
Andrey Smirnov
1ed1f73e51
test: bump CAPI to 1.1.3
This probably fixes the incompatibility with 1.24.0-beta.0.

Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2022-03-31 22:50:16 +03:00
Andrey Smirnov
2ee1d2c720
feat: update Kuberentes to 1.24.0-beta.0
See https://github.com/kubernetes/kubernetes/releases/tag/v1.24.0-beta.0

Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2022-03-31 18:06:56 +03:00