996 Commits

Author SHA1 Message Date
Jean-Francois Roy
fd54dc191d
feat(talosctl): append microsoft secure boot certs
This patch adds a flag to `secureboot.database.Generate` to append the
Microsoft UEFI secure boot DB and KEK certificates to the appropriate
ESLs, in addition to complimentary command line flags.

This patch also includes a copy of said Microsoft certificates. The
certificates are downloaded from an official Microsoft repo.

Signed-off-by: Jean-Francois Roy <jf@devklog.net>
Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2024-07-22 14:15:42 +04:00
Andrey Smirnov
407347a7a0
feat: update Kubernetes to 1.31.0-beta.0
See https://github.com/kubernetes/kubernetes/releases/tag/v1.31.0-beta.0

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2024-07-17 14:41:14 +04:00
Tim Jones
d52b89cb91
chore: ensure tls required on s3 buckets
Ensure that non-TLS connections are denied to S3 buckets via policy.
Required for compliance.

Signed-off-by: Tim Jones <tim.jones@siderolabs.com>
2024-07-17 10:27:29 +02:00
Andrey Smirnov
ea626a9631
feat: add label 'exclude-from-external-load-balancers' for cp nodes
Fixes #8749

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2024-07-16 12:24:00 +04:00
Andrey Smirnov
b07338f547
feat: provide machine config document to update trusted CA roots
Fixes #8867

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2024-07-12 19:28:31 +04:00
Andrey Smirnov
3bab15214d
feat: update Kubernetes to 1.31.0-alpha.3
Fixes #8911

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2024-07-09 17:49:06 +04:00
Dmitriy Matrenichev
dad9c40c73
chore: simplify code
- replace `interface{}` with `any` using `gofmt -r 'interface{} -> any -w'`
- replace `a = []T{}` with `var a []T` where possible.
- replace `a = []T{}` with `a = make([]T, 0, len(b))` where possible.

Signed-off-by: Dmitriy Matrenichev <dmitry.matrenichev@siderolabs.com>
2024-07-08 18:14:00 +03:00
Dmitriy Matrenichev
076f3c4f20
chore: improve link spec controller code
`SortBonds` function bothered me since the last time I refactored this part.

We always know that it only accepts `network.LinkSpec`s, but we accepted the slice of untyped Resources because
this is what `List` method returns. Now we can do better, since `safe.List` now supports `Swap` method.

We can utilize `sort.Interface` and pass `safe.List` directly to `SortBonds`.

Signed-off-by: Dmitriy Matrenichev <dmitry.matrenichev@siderolabs.com>
2024-07-05 16:39:27 +03:00
Noel Georgi
9a56b8527b
chore(ci): fix parallel runs of tf pipelines
Previously it was generating same name for the state file causing
parallel runs to delete resources created by another running test.

Fix names to be unique by reading `cluster_name`.

Signed-off-by: Noel Georgi <git@frezbo.dev>
2024-07-03 23:08:37 +05:30
Andrey Smirnov
be35f380cc
chore: update pkgs/tools/extras
This brings in Go 1.22.5 and new Flannel CNI plugin.

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2024-07-03 20:38:55 +04:00
Andrey Smirnov
d9d62d4da6
feat: update Linux to 6.6.36
Also update containerd to 2.0.0-rc.3, runc to 1.2.0-rc.2.

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2024-07-02 19:55:50 +04:00
Andrey Smirnov
52611a90d8
feat: update Kubernetes to v1.30.2
See https://github.com/kubernetes/kubernetes/releases/tag/v1.30.2

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2024-07-02 15:54:34 +04:00
Andrey Smirnov
b4c871e4b7
chore: bump dependencies
Update Go modules and other dependencies.

Fix linting of the Dockerfile.

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2024-07-02 14:46:51 +04:00
Andrey Smirnov
cc345c8c94
feat: add support for configuring vlan filtering on the bridge
Fixes #8941

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2024-07-01 20:20:28 +04:00
Konrad Eriksson
bd34f71f3e
feat: add apparmor pkg
Bring in AppArmor pkg from `pkgs` which would add
`/sbin/apparmor_parser` which would get picked by containerd.

Signed-off-by: Noel Georgi <git@frezbo.dev>
2024-06-27 20:52:08 +05:30
Noel Georgi
f75f16b0a8
chore(ci): fix cluster name generation
Append the target name to the cluster name so that parallel tests do not
create resources with same names.

Signed-off-by: Noel Georgi <git@frezbo.dev>
2024-06-26 15:17:18 +05:30
Noel Georgi
4701498a1b
chore(ci): run e2e-aws-nvidia with zfs extension enabled
Run e2e-aws-nvidia-oss with zfs extension enabled.

Also fix the iscsi tests to get transport info using the new disks api.

Signed-off-by: Noel Georgi <git@frezbo.dev>
2024-06-24 15:12:34 +05:30
Andrey Smirnov
1fb8453c2d
chore: update Go modules
Azure SDK has a CVE, bump other modules.

Update `hydrophone` with my fixes which got merged upstream.

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2024-06-12 15:56:58 +04:00
Noel Georgi
8e15621e83
chore(ci): add conformance pipelines
This was missed when moving to GHA.

Signed-off-by: Noel Georgi <git@frezbo.dev>
2024-06-12 10:47:43 +07:00
Noel Georgi
8ee0872683
chore(ci): drop crashdump, save logs as artifacts
Drop `--crashdump` and save talos cluster logs as artifacts.

Signed-off-by: Noel Georgi <git@frezbo.dev>
2024-06-07 10:52:05 +08:00
Andrey Smirnov
8dbe2128a9
feat: implement Talos diagnostics
Talos diagnostics analyzes current system state and comes up with detailed
warnings on the system misconfiguration which might be tricky to figure
out other way.

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2024-06-05 22:28:15 +04:00
Andrey Smirnov
41f92e0ba4
chore: update Go to 1.22.4, other updates
Bump go modules, adjust the code.

New linter warnings.

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2024-06-05 20:59:52 +04:00
Andrey Smirnov
9fcc9b8415
feat: update Flannel to v0.25.3
See https://github.com/flannel-io/flannel/releases/tag/v0.25.3

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2024-06-03 12:19:21 +04:00
Andrey Smirnov
4dd0aa7120
feat: implement PCI device bus enumeration
Fixes #8826

From the QEMU VM:

```shell
$ talosctl -n 172.20.0.5 get pcidevice
NODE         NAMESPACE   TYPE        ID             VERSION   CLASS                       SUBCLASS                    VENDOR              PRODUCT
172.20.0.5   hardware    PCIDevice   0000:00:00.0   1         Bridge                      Host bridge                 Intel Corporation   82G33/G31/P35/P31 Express DRAM Controller
172.20.0.5   hardware    PCIDevice   0000:00:01.0   1         Display controller          VGA compatible controller
172.20.0.5   hardware    PCIDevice   0000:00:02.0   1         Network controller          Ethernet controller         Red Hat, Inc.       Virtio network device
172.20.0.5   hardware    PCIDevice   0000:00:03.0   1         Unclassified device                                     Red Hat, Inc.       Virtio RNG
172.20.0.5   hardware    PCIDevice   0000:00:04.0   1         Unclassified device                                     Red Hat, Inc.       Virtio memory balloon
172.20.0.5   hardware    PCIDevice   0000:00:05.0   1         Communication controller    Communication controller    Red Hat, Inc.       Virtio console
172.20.0.5   hardware    PCIDevice   0000:00:06.0   1         Generic system peripheral   System peripheral           Intel Corporation   6300ESB Watchdog Timer
172.20.0.5   hardware    PCIDevice   0000:00:07.0   1         Mass storage controller     SCSI storage controller     Red Hat, Inc.       Virtio block device
172.20.0.5   hardware    PCIDevice   0000:00:1f.0   1         Bridge                      ISA bridge                  Intel Corporation   82801IB (ICH9) LPC Interface Controller
172.20.0.5   hardware    PCIDevice   0000:00:1f.2   1         Mass storage controller     SATA controller             Intel Corporation   82801IR/IO/IH (ICH9R/DO/DH) 6 port SATA Controller [AHCI mode]
172.20.0.5   hardware    PCIDevice   0000:00:1f.3   1         Serial bus controller       SMBus                       Intel Corporation   82801I (ICH9 Family) SMBus Controller
```

```yaml
node: 172.20.0.5
metadata:
    namespace: hardware
    type: PCIDevices.hardware.talos.dev
    id: 0000:00:1f.3
    version: 1
    owner: hardware.PCIDevicesController
    phase: running
    created: 2024-05-30T12:09:05Z
    updated: 2024-05-30T12:09:05Z
spec:
    class: Serial bus controller
    subclass: SMBus
    vendor: Intel Corporation
    product: 82801I (ICH9 Family) SMBus Controller
    class_id: "0x0c"
    subclass_id: "0x05"
    vendor_id: "0x8086"
    product_id: "0x2930"
```

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2024-05-31 20:56:16 +04:00
Andrey Smirnov
3967e07777
feat: update etcd to 3.5.14
See https://github.com/etcd-io/etcd/releases/tag/v3.5.14

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2024-05-30 16:40:54 +04:00
Dmitriy Matrenichev
fcd65ff65c
feat: enable forwardKubeDNSToHost by default
And ensure that it works.

Signed-off-by: Dmitriy Matrenichev <dmitry.matrenichev@siderolabs.com>
2024-05-23 20:31:36 +03:00
Andrey Smirnov
2d50392c5a
feat: update containerd to 2.0.0-rc.2, runc to 1.2.0-rc.1
This only updates the binaries, the API update will be handled via
PR #8766.

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2024-05-22 19:18:34 +04:00
Noel Georgi
9c3ebad9fd
chore(ci): kresify gh actions
Kresify, only handle gh workflows.

Signed-off-by: Noel Georgi <git@frezbo.dev>
2024-05-22 00:17:09 +05:30
Andrey Smirnov
78b48eb3ae
feat: include EDAC drivers
See https://github.com/siderolabs/pkgs/pull/957

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2024-05-15 23:05:36 +04:00
Andrey Smirnov
0bf2d69fbb
feat: update Kubernetes to 1.30.1
Latest v1.30.x version.

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2024-05-15 21:18:04 +04:00
Dmitriy Matrenichev
dedb6d360d
fix: update github.com/siderolabs/siderolink to v0.3.7
Version 0.3.6 contains incorrect server implementation which breaks our integration tests.

Signed-off-by: Dmitriy Matrenichev <dmitry.matrenichev@siderolabs.com>
2024-05-15 17:10:06 +03:00
Spencer Smith
6663068bbd
chore: update project in GCP testing
This PR moves the GCP tests to a new project there. I'm working on consolidating projects, names, and doing some reservations out there.

Signed-off-by: Spencer Smith <spencer.smith@talos-systems.com>
2024-05-14 14:00:45 -04:00
Andrey Smirnov
b7afe2669b
feat: update Linux 6.6.30
Update tools/pkgs to the latest version, brings in all updates.

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2024-05-13 17:14:03 +04:00
Andrey Smirnov
1d29111d43
chore: update Go to 1.22.3
Also bump dependencies.

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2024-05-08 14:59:41 +04:00
Andrey Smirnov
84cd7dbec4
feat: update Linux to 6.6.29
Pull in fixes for cloud-image-uploader from #8667.:w

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2024-05-01 15:59:04 +04:00
Andrey Smirnov
4c0c626b78
feat: use zstd compression in place of xz
Initramfs and kernel are compressed with zstd.

Extensions are compressed with zstd for Talos 1.8+.

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2024-04-29 18:09:12 +04:00
Dmitry Sharshakov
ef4394e586
chore: update kernel and other packages
Kernel updates enable SELinux, intel_idle and update kernel version

Signed-off-by: Dmitry Sharshakov <dmitry.sharshakov@siderolabs.com>
2024-04-24 10:03:46 +03:00
Dmitriy Matrenichev
ccdb4c8b10
chore: update google.golang.org/grpc to 1.63.2
Update other modules while we are at it.

Closes #8628

Signed-off-by: Dmitriy Matrenichev <dmitry.matrenichev@siderolabs.com>
2024-04-23 16:39:28 +03:00
Utku Ozdemir
0821b9c50b
feat: add --non-masquerade-cidrs flag to talosctl cluster create
Allow skipping NAT for the given destinations from a cluster network. This option makes it possible to form an etcd cluster from clusters in different networks created by running `talosctl cluster create` command multiple times using different CIDRs: they simply should have the CIDR of the other clusters passed with `--non-masquerade-cidrs`.

Signed-off-by: Utku Ozdemir <utku.ozdemir@siderolabs.com>
2024-04-23 13:30:13 +02:00
Andrey Smirnov
d6c8067e15
docs: make 1.7 docs the default
Activate after 1.7.0 release.

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2024-04-19 16:04:32 +04:00
Dmitriy Matrenichev
908f67fa15
feat: add host dns support for resolving member addrs
Closes #8330

Signed-off-by: Dmitriy Matrenichev <dmitry.matrenichev@siderolabs.com>
2024-04-18 15:29:30 +03:00
Andrey Smirnov
0d20b637d6
feat: update Kubernetes to 1.30.0
See https://github.com/kubernetes/kubernetes/releases/tag/v1.30.0

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2024-04-18 14:54:42 +04:00
Andrey Smirnov
831f3d39e9
feat: update Flannel to v0.25.1
See https://github.com/flannel-io/flannel/releases/tag/v0.25.1

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2024-04-12 16:19:45 +04:00
Andrey Smirnov
ea5b3ff0c2
feat: update Kubernetes to v1.30.0-rc.2
See https://github.com/kubernetes/kubernetes/releases/tag/v1.30.0-rc.2

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2024-04-12 14:05:39 +04:00
Andrey Smirnov
54dac5ed40
feat: update Linux 6.6.24, containerd 1.7.15
Updates to match 1.7.0-beta.1 release.

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2024-04-11 16:23:42 +04:00
Andrey Smirnov
ff2c427b04
fix: pre-create nftables chain to make kubelet use nftables
In Talos, kubelet (and kube-proxy) images use `iptables-wrapper` script
to detect which version of `iptables` (legacy or NFT) to use.

The script assumes that `kubelet` runs on the host, and uses whatever
version of `iptables` which is being used by the host. In Talos,
`kubelet` runs in a container which has same `iptables-wrapper` script,
and it defaults to `legacy` mode in our case.

We can't check the `kubelet` image, as it would affect all Talos
version, so instead pre-create the chains/tables in `nftables` so that
kubelet will pick up `nft` version of `iptables`, and `kube-proxy` will
do the same.

Without this fix, the problem arises from the mix of `nft` used by Talos
for the firewall and Kubernetes world relying on `legacy` (`xtables`).

Fixes https://github.com/siderolabs/kubelet/issues/77

See e139a11535/iptables-wrapper-installer.sh (L102-L130)

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2024-04-08 16:24:42 +04:00
Dmitriy Matrenichev
5622f0e450
docs: change localDNS to hostDNS in release notes yaml section
Also add a note about how-to enable dns caching for k8s pods.

Signed-off-by: Dmitriy Matrenichev <dmitry.matrenichev@siderolabs.com>
2024-04-05 20:08:46 +03:00
Dmitry Sharshakov
653f838b09
feat: support multiple Docker cluster in talosctl cluster create
Dynamically map Kubernetes and Talos API ports to an available port on
the host, so every cluster gets its own unique set of parts.

As part of the changes, refactor the provision library and interfaces,
dropping old weird interfaces replacing with (hopefully) much more
descriprive names.

Signed-off-by: Dmitry Sharshakov <dmitry.sharshakov@siderolabs.com>
Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2024-04-04 21:21:39 +04:00
Andrey Smirnov
951904554e
chore: bump dependencies (go 1.22.2)
Update Go to 1.22.2, update Go modules to resolve
[HTTP/2 issue](https://www.kb.cert.org/vuls/id/421644).

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2024-04-04 14:59:24 +04:00
Evan Johnson
e8ae5ef63a
feat: add akamai platform support
Add support for the Akamai(Linode) platform

Signed-off-by: Evan Johnson <ejohnson@akamai.com>
Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2024-04-03 19:50:42 +04:00