777 Commits

Author SHA1 Message Date
Alexey Palazhchenko
72f62ac27b
chore: bump Go and Docker dependencies
`go mod tidy -compat=1.17`.

Closes #4426.
Closes #4427.
Closes #4428.
Closes #4429.
Closes #4430.
Closes #4431.

Signed-off-by: Alexey Palazhchenko <alexey.palazhchenko@talos-systems.com>
2021-10-25 08:55:57 +00:00
Andrey Smirnov
6c297268ce
test: fix e2e k8s version
Prefix `v` shouldn't be there.

Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2021-10-22 18:08:18 +03:00
Andrey Smirnov
ae5af9d3fa
feat: update Kubernetes to 1.23.0-alpha.3
See https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG/CHANGELOG-1.23.md#v1230-alpha3

Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2021-10-22 14:59:41 +03:00
Spencer Smith
2258bc4918
test: update GCP e2e script to work with new templates
This PR updates the e2e scripts to work properly by updating the var
names as needed.

Signed-off-by: Spencer Smith <spencer.smith@talos-systems.com>
2021-10-21 16:39:10 -04:00
Alexey Palazhchenko
d32814e302
feat: extract JSON fields from log lines
Confirmed to work with Elastic Filebeat.

Signed-off-by: Alexey Palazhchenko <alexey.palazhchenko@talos-systems.com>
2021-10-20 13:08:42 +00:00
Spencer Smith
c8e404e356
test: update vars for AWS cluster
This PR updates to use the newest var setup from our capi templates.

Signed-off-by: Spencer Smith <spencer.smith@talos-systems.com>
2021-10-19 16:33:52 -04:00
Alexey Palazhchenko
431e4fb4b6
chore: bump Go and Docker dependencies
Closes #4387.
Closes #4388.
Closes #4389.
Closes #4390.
Closes #4391.
Closes #4392.
Closes #4393.

Signed-off-by: Alexey Palazhchenko <alexey.palazhchenko@talos-systems.com>
2021-10-18 13:43:36 +00:00
Andrey Smirnov
68c420e3c9
feat: enable cluster discovery by default
This enables cluster discovery by default for Talos 0.14. KubeSpan is
not enabled by default.

Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2021-10-15 14:46:32 +03:00
Andrey Smirnov
9bd4838ac1
chore: stop using sonobuoy CLI
We already have (better) way to run short conformance tests via
`talosctl`.

Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2021-10-15 12:34:53 +03:00
Artem Chernyshev
e3e2113adc
feat: upgrade CoreDNS during upgrade-k8s call
Fixes: https://github.com/talos-systems/talos/issues/4065

Get all Talos generated manifests and apply them, wait for deployments to be
updated and to become ready.

Signed-off-by: Artem Chernyshev <artem.chernyshev@talos-systems.com>
2021-10-13 15:47:06 +03:00
Andrey Smirnov
e44b11c595
feat: update containerd to 1.5.7, bump Go dependencies
containerd: https://github.com/containerd/containerd/releases/tag/v1.5.7

Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2021-10-12 20:59:13 +03:00
Artem Chernyshev
877a2b6fc0
test: bump CAPI components to v1alpha4
Alpha versions of talos providers for now.

Signed-off-by: Artem Chernyshev <artem.chernyshev@talos-systems.com>
2021-10-12 12:48:15 +03:00
Alexey Palazhchenko
423861cf9f
feat: don't drop capabilities if kexec is disabled
It is needed for advanced use cases like Docker-in-Docker, our CI, etc.

Signed-off-by: Alexey Palazhchenko <alexey.palazhchenko@talos-systems.com>
2021-10-06 08:37:25 +00:00
Alexey Palazhchenko
facc8c38a0
docs: fix documentation for cluster discovery
Use the real value in an example.

Signed-off-by: Alexey Palazhchenko <alexey.palazhchenko@talos-systems.com>
2021-10-06 08:08:19 +00:00
Andrey Smirnov
5f277713f0
chore: prepare for 0.13-beta release
Update component versions, Go module versions.

Add platform tiers to the support matrix.

Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2021-10-01 17:15:31 +03:00
Andrey Smirnov
9c67fde759
release(v0.13.0-alpha.2): prepare release
This is the official v0.13.0-alpha.2 release.

Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2021-09-28 22:36:17 +03:00
Andrey Smirnov
0e18e2800f
chore: bump dependencies
Some via dependabot, some via go-mod-outdated.

Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2021-09-27 16:35:50 +03:00
Andrey Smirnov
96bccdd3b6
test: update CABPT provider to 0.3 release
Testing with new CABPT release.

Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2021-09-22 18:21:56 +03:00
Andrey Smirnov
b27c75b30f
release(v0.13.0-alpha.1): prepare release
This is the official v0.13.0-alpha.1 release.

Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2021-09-20 19:51:07 +03:00
Andrey Smirnov
9d803d75bf
chore: bump dependencies and drop firecracker support
Note: Talos can be still run under `Firecracker`, support for
Firecracker was only removed for `talosctl cluster create`.

Reason:

* code is untested/unmaintained, and probably doesn't work correctly
* firecracker Go SDK pulls lots of dependencies and it blocks CNI Go
module update

Bonus: `talosctl-linux-amd64` shrinks by 2 MiB.

Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2021-09-20 17:13:34 +03:00
Andrey Smirnov
d943bb0e28
feat: update Kubernetes to 1.22.2
See https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG/CHANGELOG-1.22.md

Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2021-09-16 13:59:51 +03:00
Andrey Smirnov
d0585fb6b3
feat: reboot via kexec
This should save a lot of time on BIOS/POST time with bare metal
hardware.

Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2021-09-15 22:14:19 +03:00
Andrey Smirnov
7c5045bd92
release(v0.13.0-alpha.0): prepare release
This is the official v0.13.0-alpha.0 release.

Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2021-09-13 17:21:19 +03:00
Andrey Smirnov
ee2dce6c1a
chore: bump dependencies
PRs:

* #4215
* #4216
* #4217
* #4218
* #4219
* #4220
* #4221

+ go-mod-outdated

Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2021-09-13 16:39:17 +03:00
Artem Chernyshev
bd5b9c96e2
fix: correctly define example for extraMounts
The type was changed, but the example wasn't updated accordingly.

Signed-off-by: Artem Chernyshev <artem.chernyshev@talos-systems.com>
2021-09-01 19:30:55 +03:00
Andrey Smirnov
3c3c281bff
chore: bump dependencies via dependabot
PRs:

* #4170
* #4171
* #4172
* #4173

Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2021-08-30 21:41:46 +03:00
Alexey Palazhchenko
032e7c6b86
chore: import yaml.v3 consistently
Do not use yaml.v2.

Signed-off-by: Alexey Palazhchenko <alexey.palazhchenko@talos-systems.com>
2021-08-26 11:36:50 +00:00
Andrey Smirnov
57a77696ef
feat: update Kubernetes to 1.22.1
See https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG/CHANGELOG-1.22.md#changelog-since-v1220

Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
Signed-off-by: Alexey Palazhchenko <alexey.palazhchenko@talos-systems.com>
2021-08-23 09:58:02 +00:00
Alexey Palazhchenko
244b08cc19
chore: bump dependencies
Also downgrade some indirect dependencies that don't have a good reason to be updated.

Closes #4111.
Closes #4112.
Closes #4116.
Closes #4117.
Closes #4121.
Closes #4122.

Signed-off-by: Alexey Palazhchenko <alexey.palazhchenko@talos-systems.com>
2021-08-23 08:49:38 +00:00
Artem Chernyshev
2b614e430e
feat: check if cluster has deprecated resources versions
Fixes: https://github.com/talos-systems/talos/issues/4026

Signed-off-by: Artem Chernyshev <artem.chernyshev@talos-systems.com>
2021-08-18 23:26:36 +03:00
Andrey Smirnov
0ef8f83acf
chore: bump dependencies via dependabot
PRs #4079 #4080 #4081 #4082 #4083 #4084 #4085

Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2021-08-16 16:33:52 +03:00
Andrey Smirnov
228b376163
chore: run etcd as non-root user
etcd has two mounts from the host, both of them are chowned to be
accessible by the etcd user:

* data directory
* secrets directory

Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2021-08-13 18:17:02 +03:00
Andrey Smirnov
33d1c3e425
chore: run apid and trustd services as non-root user
For the `trustd`, this change is simple as it doesn't access any files
on the host filesystem.

For the `apid`, there are more things involved:

* `apid.sock` used for internal API calls should be createable by `apid`
* `runtime.sock` used for apid to COSI communication should be
accessible for `apid`
* `machined.sock` used for proxying calls to machined should be as well
made available to the `apid`.

Plus fixes default permissions for `tmpfs` mountpoints.

Signed-off-by: Andrey Smirnov <smirnov.andrey@gmail.com>
2021-08-13 16:50:44 +03:00
Andrey Smirnov
e6fa401b66
fix: enable seccomp default profile by default
This enable seccomp profile for all containers launched by Talos: apid,
trustd, etcd and kubelet.

Also by default disallow gaining more privileges in the container
(basically disables setuid). As containers are running as root this is
no-op, but soon we'll have running as non-root users and this becomes
important.

Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2021-08-12 21:26:58 +03:00
Artem Chernyshev
8ddbcc9643
feat: validate if extra fields present in the decoder
This should address issues when the config is a valid yaml but contains
extra fields which may appear there if the indents got messed up somehow
for example.

Signed-off-by: Artem Chernyshev <artem.chernyshev@talos-systems.com>
2021-08-12 20:32:59 +03:00
Andrey Smirnov
5b57a98008
chore: update Go to 1.16.7, Linux to 5.10.57
See:

* https://github.com/talos-systems/tools/pull/144
* https://github.com/talos-systems/pkgs/pull/319
* https://github.com/talos-systems/extras/pull/24

Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2021-08-12 18:31:03 +03:00
Andrey Smirnov
eefe1c21c3
feat: add new etcd members in learner mode
Fixes #3714

This provides more safe way to join new members to the etcd cluster.

See https://etcd.io/docs/v3.4/learning/design-learner/

With learner mode join there are few differences:

* new nodes are joined one by one, because etcd enforces a single
learner member in the cluster
* learner members are not counted in quorum calculations, so while
learner catches up with the master node, quorum is not affected and
cluster is still operational

Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2021-08-12 17:56:57 +03:00
Andrey Smirnov
b1c66fbad1
feat: implement Equinix Metal support for virtual (shared) IP
Talos supports automatic virtual IP for the control plane with pure
layer 2 connectivity. Equinix Metal API supports assigning shared IPs to
the nodes, this PR combines existing virtual IP functionality with calls
to EM API to move the IP address on EM side to the leader node.

The only thing which should be supplied in the machine configuration is
the Equinix Metal API token, every other setting is automatically
discovered automatically by Talos.

Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2021-08-12 17:26:59 +03:00
Andrey Smirnov
887c2326a4 release(v0.12.0-alpha.0): prepare release
This is the official v0.12.0-alpha.0 release.

Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2021-08-11 08:49:34 -07:00
Alexey Palazhchenko
e030b2e8bb chore: use k8s 1.21.3 in CAPI tests for now
Refs #4046.

Signed-off-by: Alexey Palazhchenko <alexey.palazhchenko@talos-systems.com>
2021-08-10 13:28:37 -07:00
Artem Chernyshev
e08b4f8f9e feat: implement sysctl controllers
Fixed: https://github.com/talos-systems/talos/issues/3686

Replaced sequencer tasks for KSPP and Kubernetes required sysctl props
by the ones set by controllers.

KernelParam flow includes of 3 controllers and 2 resources:
- `KernelParamConfigController` - handles user sysctls coming from v1alpha1
config.
- `KernelParamDefaultsController` - handles our built-in KSPP and K8s
required sysctls.
- `KernelParamSpecController` - consumes `KernelParamSpec`s created by the
previous two controllers, applies them and updates the corresponding
`KernelParamStatus`.

Signed-off-by: Artem Chernyshev <artem.0xD2@gmail.com>
2021-08-10 13:21:49 -07:00
Artem Chernyshev
585f633710 fix: correctly handle nodoc for struct fields
Also fix the const for `docgen:nodoc` for skipped the whole struct.

Signed-off-by: Artem Chernyshev <artem.chernyshev@talos-systems.com>
2021-08-10 06:24:29 -07:00
Andrey Smirnov
7ca5749ad4 chore: bump dependencies via dependabot
PRs #4033 #4034 #4035 #4036 #4037 #4038 #4039 #4040

Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2021-08-09 08:32:02 -07:00
Andrey Smirnov
571f7db1bb chore: workaround GitHub new release notes limit
GitHub recently introduced limit of 25000 byte for the release notes,
which breaks our release process, as our notes are over the limit.

PR https://github.com/talos-systems/talos/pull/4021 introduced support
for GFM release notes, which are at least 50% smaller.

This PR enables GFM, adds a check for release notes size and pushes
release-notes step to every build so that we known in advance if release
notes are over the limit (vs. the moment we push the release).

Signed-off-by: Andrey Smirnov <smirnov.andrey@gmail.com>
2021-08-06 11:56:26 -07:00
Alexey Palazhchenko
09d70b7eaf feat: update Kubernetes to v1.22.0
Closes #3967.
Closes #3997.

Signed-off-by: Alexey Palazhchenko <alexey.palazhchenko@talos-systems.com>
2021-08-06 09:06:32 -07:00
Andrey Smirnov
539f42090e chore: bump dependencies via dependabot
Fixes #3993

Fixes #3994

Fixes #3995

Signed-off-by: Andrey Smirnov <smirnov.andrey@gmail.com>
2021-08-03 10:25:17 -07:00
Andrey Smirnov
0c7ce1cd81 feat: remove remnants of bootkube support
Fixes #3951

Bootkube support was removed in Talos 0.9. Talos versions 0.9-0.11
support conversion of self-hosted bootkube-based control plane to the
new style control plane running as static pods managed by Talos.

This commit removes all backwards compatibility and removes conversion
code.

For the k8s controllers, `BootstrapStatus` is removed and a dependency
on `etcd` service status is added (as it was implicitly there via
`BootstrapStatus`).

Remove control plane conversion code.

In k8s upgrade code, remove self-hosted part.

Signed-off-by: Andrey Smirnov <smirnov.andrey@gmail.com>
2021-08-03 07:55:42 -07:00
Alexey Palazhchenko
585152a0be chore: bump dependencies
Closes #3983.
Closes #3984.
Closes #3985.

Signed-off-by: Alexey Palazhchenko <alexey.palazhchenko@gmail.com>
2021-07-26 04:37:25 -07:00
Artem Chernyshev
55e17ccdd1 chore: bump dependencies
Fixes: https://github.com/talos-systems/talos/pull/3954 https://github.com/talos-systems/talos/pull/3955 https://github.com/talos-systems/talos/pull/3956 https://github.com/talos-systems/talos/pull/3957 https://github.com/talos-systems/talos/pull/3958 https://github.com/talos-systems/talos/pull/3959 https://github.com/talos-systems/talos/pull/3960 https://github.com/talos-systems/talos/pull/3961 https://github.com/talos-systems/talos/pull/3962 https://github.com/talos-systems/talos/pull/3963 https://github.com/talos-systems/talos/pull/3964

And update kubelet to 1.21.3.

Signed-off-by: Artem Chernyshev <artem.0xD2@gmail.com>
2021-07-19 06:06:01 -07:00
dependabot[bot]
33e9d6c984 chore: bump github.com/aws/aws-sdk-go in /hack/cloud-image-uploader
Bumps [github.com/aws/aws-sdk-go](https://github.com/aws/aws-sdk-go) from 1.39.0 to 1.39.4.
- [Release notes](https://github.com/aws/aws-sdk-go/releases)
- [Changelog](https://github.com/aws/aws-sdk-go/blob/main/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-go/compare/v1.39.0...v1.39.4)

---
updated-dependencies:
- dependency-name: github.com/aws/aws-sdk-go
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-07-12 05:06:06 -07:00