Commit Graph

382 Commits

Author SHA1 Message Date
Andrey Smirnov
85b328e997
refactor: convert secrets resources to use typed.Resource
No functional changes.

Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2022-04-26 14:51:56 +03:00
Andrey Smirnov
45464412e0
chore: bump dependencies
dependabot + go-mod-outdated

Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2022-04-25 16:26:41 +03:00
Andrey Smirnov
0af6b35a66
feat: update etcd to 3.5.4
See https://github.com/etcd-io/etcd/releases/tag/v3.5.4

Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2022-04-25 15:49:02 +03:00
Andrey Smirnov
55ff876dc6
chore: bump K8s Go modules to 1.24.0-rc.0
This was skipped due to https://github.com/kubernetes/kubernetes/issues/109565

Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2022-04-22 20:32:42 +03: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
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
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
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
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
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
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
Andrey Smirnov
12931dcedd
fix: align partitions on 1M boundary
Potentially fixes: #4985

See siderolabs/go-blockdevice#58 for details.

Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2022-03-31 14:36:13 +03:00
Andrey Smirnov
ca8b9c0a3a
feat: update Kubernetes to 1.24.0-alpha.4
See https://github.com/kubernetes/kubernetes/releases/tag/v1.24.0-alpha.4

Fix some incompatibilities around dropped flags/API versions.

Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2022-03-30 22:59:07 +03:00
Andrey Smirnov
efa3f28985
fix: correctly find partitions with config data (metal-iso)
Update `go-blockdevice` library:

- https://github.com/siderolabs/go-blockdevice/pull/56

Also add a note on the org rename to the release notes.

Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2022-03-28 20:34:30 +03:00
Andrey Smirnov
957b2f233c
chore: bump dependencies
dependabot + go-mod-outdated

Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2022-03-28 15:02:50 +03:00
Andrey Smirnov
a254254835
feat: update containerd to 1.6.2, Linux to 5.15.31
See:

* https://github.com/siderolabs/pkgs/pull/426
* https://github.com/siderolabs/pkgs/pull/430

Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2022-03-24 17:36:19 +03:00
Andrey Smirnov
f477507262
fix: the etcd recovery client and tests
This is the follow-up fix to the PR #5129.

1. Correctly catch only expected errors in the tests.
2. Rewind the snapshot each time the upload is retried.
3. Correctly unwrap errors in the `EtcdRecovery` client.
4. Update the `grpc-proxy` library to pass through the EOF error.

Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2022-03-22 16:51:36 +03:00
Andrey Smirnov
b6691b3508
chore: bump dependencies
dependabot + go-mod-outdated

Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2022-03-21 18:24:00 +03:00
Andrey Smirnov
9d69fb6b40
feat: update Kubernetes to 1.23.5
Note: some Go modules are not tagged yet, see https://github.com/kubernetes/kubernetes/issues/108763

See https://github.com/kubernetes/kubernetes/releases/tag/v1.23.5

Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2022-03-17 14:45:46 +03:00
Andrey Smirnov
714e5eca63
chore: bump dependencies
dependabot + go-mod-outdated

Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2022-03-14 16:48:37 +03:00
Andrey Smirnov
6544720054
chore: update talos-systems modules to released version
No actual change to the dependencies, simply using released versions of
Go modules.

Also bump containerd to 1.6.1 (it should have went with containerd
1.6.1).

Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2022-03-03 18:18:30 +03:00
Serge Logvinov
61461de634
feat: define resource reservation
Set memory/cpu resource reservation for system processes.
It helps system processes to allocate memory on memory pressure
situation.

Signed-off-by: Serge Logvinov <serge.logvinov@sinextra.dev>
Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2022-03-02 17:18:03 +03:00
Andrey Smirnov
c5992c2bf8
chore: bump dependencies
dependabot + go-mod-outdated

Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2022-02-28 22:51:53 +03:00
Matt Layher
743a030025
chore: bump github.com/mdlayher/arp@latest
Newest version of github.com/mdlayher/arp backed by the improved
https://github.com/mdlayher/packet package. There's no stable release
of arp yet but I'd like to get back around to that now that I'm stabilizing underlying pieces.

Signed-off-by: Matt Layher <mdlayher@gmail.com>
Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2022-02-22 15:07:17 +03:00
Andrey Smirnov
8ef3d85bc4
chore: bump dependencies
Dependabot + go-mod-outdated.

Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2022-02-21 16:01:33 +03:00
Andrey Smirnov
0fe34b3581
feat: update Kubernetes to 1.23.4
See https://github.com/kubernetes/kubernetes/releases/tag/v1.23.4

Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2022-02-17 23:50:34 +03:00
Andrey Smirnov
bddd53fc4a
chore: bump dependencies
Some via dependabot, some via go-mod-outdated.

Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2022-02-15 21:22:53 +03:00
Noel Georgi
8899dd3494
chore: add json-tags for SecretsBundle
Add JSON tags so that the fields can be un-marshelled by tools like
Pulumi when creating a pulumi provider for Talos SecretsBundle,
ref: https://github.com/frezbo/pulumi-provider-talos/blob/main/provider/cmd/pulumi-resource-talos/schema.json

Ref: https://github.com/talos-systems/crypto/pull/24

Signed-off-by: Noel Georgi <git@frezbo.dev>
2022-02-10 00:14:36 +05:30
Andrey Smirnov
1e3f2f9527
fix: validate kubelet node IP subnets correctly
Use same `talosnet` method as in the actual filtering code.

See also https://github.com/talos-systems/net/pull/9

Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2022-02-08 18:22:22 +03:00
Andrey Smirnov
c7186ed080
chore: bump dependencies
Dependabot + go-mod-outdated.

Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2022-02-07 16:26:15 +03:00
Artem Chernyshev
ebec5d4a0c
feat: support full disk path in the diskSelector
Fixes: https://github.com/talos-systems/talos/issues/4788

Signed-off-by: Artem Chernyshev <artem.chernyshev@talos-systems.com>
2022-01-27 15:23:00 +03:00
Andrey Smirnov
85782faa24
feat: update Kubernetes to 1.23.3
Also bumps some dependencies and updates Talos version we use in the
upgrade tests.

Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2022-01-26 17:59:21 +03:00
Andrey Smirnov
c5e5922e53
chore: bump dependencies
dependabot + go-mod-outdated

Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2022-01-26 17:07:11 +03:00
Andrey Smirnov
d4b8445935
feat: support CRI configuration merging and reimplement registry config
Containerd doesn't support merging plugin configuration from multiple
sources, and Talos has several pieces which configure CRI plugin:
(see https://github.com/containerd/containerd/issues/5837)

* base config
* registry mirror config
* system extensions
* ...

So we implement our own simple way of merging config parts (by simply
concatenating text files) to build a final `cri.toml`.

At the same time containerd migrated to a new format to specify registry
mirror configuration, while old way (via CRI config) is going to be
removed in 1.7.0. New way also allows to apply most of registry
configuration (except for auth) on the fly.

Also, containerd was updated to 1.6.0-rc.0 and runc to 1.1.0.

Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2022-01-20 23:05:20 +03:00
Andrey Smirnov
f94c8c6e1c
feat: update Kubernetes to 1.23.2
See https://github.com/kubernetes/kubernetes/releases/tag/v1.23.2

Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2022-01-20 22:12:03 +03:00
Andrey Smirnov
43b2d81371
chore: bump dependencies
Dependabot + go-mod-outdated.

Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2022-01-17 16:25:18 +03:00
Andrey Smirnov
3d30889412
chore: bump Go dependencies
dependabot + go-mod-outdated

Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2022-01-10 17:27:42 +03:00
Andrey Smirnov
f4516c7d84
chore: bump dependencies
Some via dependabot, some via go-mod-outdated.

Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2021-12-30 19:38:03 +03:00
Andrey Smirnov
c079eb32bd
refactor: use AWS SDK to access AWS metadata service
This provides a better way to access IMDS APIs (new IMDS API version,
etc.)

Using `aws-go-sdk` vs. new `aws-go-sdk-v2` as `go-getter` depends on
`v1` version.

Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2021-12-28 20:54:31 +03:00
Andrey Smirnov
f4219e530c
chore: remove unused methods in AWS platform
These are guess artifacts from the time Talos tried to auto-detect the
platform it is running on.

Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2021-12-28 00:47:13 +03:00
Andrey Smirnov
3623da136b
feat: provide a way to load Linux kernel modules
Fixes #4693

Machine configuration change plus very simple controllers which transform
config into the module spec and finally load modules.

There's no support for advanced features like module params and aliases,
but we can add it later.

Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2021-12-23 23:58:37 +03:00
Andrey Smirnov
dc9a0cfe94
chore: bump Go dependencies
Bump all dependencies, update `grpc.WithInsecure()` which is deprecated
now.

Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2021-12-20 23:05:32 +03:00
Andrey Smirnov
7734969356
fix: config apply immediate
Due to using same config value for comparison and rewriting patched
configs, immediate apply mode was always no-op.

Fix that by properly deep copying the config.

Bug was only introduced in `master` with refactoring.

Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2021-12-20 21:19:54 +03:00
Andrey Smirnov
acf1ac0f1a
feat: show human-readable aliases in talosctl get rd
Sample:

```
ID                                                ALIASES
addressspecs.net.talos.dev                        addressspec as
addressstatuses.net.talos.dev                     address addresses addressstatus as
affiliates.cluster.talos.dev                      affiliate
apicertificates.secrets.talos.dev                 apicertificate ac acs
certsans.secrets.talos.dev                        certsan csan csans
cpustats.perf.talos.dev                           cpustat cpus
discoveryconfigs.cluster.talos.dev                discoveryconfig dc dcs
endpoints.kubernetes.talos.dev                    endpoint
etcdrootsecrets.secrets.talos.dev                 etcdrootsecret ers
etcdsecrets.secrets.talos.dev                     etcdsecret es
etcfilespecs.files.talos.dev                      etcfilespec efs
etcfilestatuses.files.talos.dev                   etcfilestatus efs
hardwareaddresses.net.talos.dev                   hardwareaddress ha has
hostnamespecs.net.talos.dev                       hostnamespec hs
hostnamestatuses.net.talos.dev                    hostname hostnamestatus hs
identities.cluster.talos.dev                      identity
kernelparamdefaultspecs.runtime.talos.dev         kernelparamdefaultspec kpds
kernelparamspecs.runtime.talos.dev                kernelparamspec kps
kernelparamstatuses.runtime.talos.dev             sysctls kernelparameters kernelparams kernelparamstatus kps
kubeletconfigs.kubernetes.talos.dev               kubeletconfig kc kcs
kubeletsecrets.secrets.talos.dev                  kubeletsecret ks
kubeletspecs.kubernetes.talos.dev                 kubeletspec ks
kubernetescontrolplaneconfigs.config.talos.dev    kubernetescontrolplaneconfig kcpc kcpcs
kubernetesrootsecrets.secrets.talos.dev           kubernetesrootsecret krs
kubernetessecrets.secrets.talos.dev               kubernetessecret ks
kubespanconfigs.kubespan.talos.dev                kubespanconfig ksc kscs
kubespanendpoints.kubespan.talos.dev              kubespanendpoint kse kses
kubespanidentities.kubespan.talos.dev             kubespanidentity ksi ksis
kubespanpeerspecs.kubespan.talos.dev              kubespanpeerspec ksps
kubespanpeerstatuses.kubespan.talos.dev           kubespanpeerstatus ksps
linkrefreshes.net.talos.dev                       linkrefresh lr lrs
linkspecs.net.talos.dev                           linkspec ls
linkstatuses.net.talos.dev                        link links linkstatus ls
machineconfigs.config.talos.dev                   machineconfig mc mcs
machinetypes.config.talos.dev                     machinetype mt mts
manifests.kubernetes.talos.dev                    manifest
manifeststatuses.kubernetes.talos.dev             manifeststatus ms
members.cluster.talos.dev                         member
memorystats.perf.talos.dev                        memorystat ms
mountstatuses.runtime.talos.dev                   mounts mountstatus ms
namespaces.meta.cosi.dev                          ns namespace
networkstatuses.net.talos.dev                     netstatus netstatuses networkstatus ns
nodeaddresses.net.talos.dev                       nodeaddress na nas
nodeaddressfilters.net.talos.dev                  nodeaddressfilter naf nafs
nodeipconfigs.kubernetes.talos.dev                nodeipconfig nipc nipcs
nodeips.kubernetes.talos.dev                      nodeip nip nips
nodenames.kubernetes.talos.dev                    nodename
operatorspecs.net.talos.dev                       operatorspec os
osrootsecrets.secrets.talos.dev                   osrootsecret osrs
resolverspecs.net.talos.dev                       resolverspec rs
resolverstatuses.net.talos.dev                    resolvers resolverstatus rs
resourcedefinitions.meta.cosi.dev                 resourcedefinition rd rds
routespecs.net.talos.dev                          routespec rs
routestatuses.net.talos.dev                       route routes routestatus rs
secretstatuses.kubernetes.talos.dev               secretstatus ss
services.v1alpha1.talos.dev                       svc service
staticpods.kubernetes.talos.dev                   staticpod sp sps
staticpodstatuses.kubernetes.talos.dev            podstatus staticpodstatus sps
timeserverspecs.net.talos.dev                     timeserverspec tss
timeserverstatuses.net.talos.dev                  timeserver timeservers timeserverstatus tss
timestatuses.v1alpha1.talos.dev                   timestatus ts
```

Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2021-12-17 20:37:37 +03:00
Andrey Smirnov
80350861a2
feat: update Kubernetes to 1.23.1
See https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG/CHANGELOG-1.23.md#changelog-since-v1230

Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2021-12-16 22:13:24 +03:00
Andrey Smirnov
4175396a89
refactor: use update go-blockdevice library with allocation fixes
See

* https://github.com/talos-systems/go-blockdevice/pull/53
* https://github.com/talos-systems/go-blockdevice/pull/54
* https://github.com/talos-systems/talos/issues/4686

Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2021-12-15 18:38:10 +03:00
Andrey Smirnov
bb355c9ab3
chore: remove govalidator library
We used it only once, but the library compiles many regexps as global
variables which we don't need.

Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2021-12-15 17:18:20 +03:00
Andrey Smirnov
936b4c4cee
fix: update DHCP library with the panic fix
See

* https://github.com/insomniacslk/dhcp/pull/455
* https://github.com/insomniacslk/dhcp/issues/454
* https://github.com/talos-systems/talos/issues/4567

Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2021-12-14 14:58:05 +03:00