Commit Graph

2626 Commits (580e1206853ec2644057d49285c003072b90001b)

Author SHA1 Message Date
Brad Davidson 580e120685 Bump containerd/runc to v1.7.1-k3s1/v1.1.7
Signed-off-by: Brad Davidson <brad.davidson@rancher.com>
2023-05-11 14:53:55 -07:00
Brad Davidson 8a2a111c86 Bump helm-controller version for repo auth/ca support
Signed-off-by: Brad Davidson <brad.davidson@rancher.com>
2023-05-10 15:02:29 -07:00
Brad Davidson 8311feb0b4 Consistently use constant-time comparison of password hashes
As per https://github.com/golang/go/issues/47001 even subtle.ConstantTimeCompare should never be used with variable-length inputs, as it will return 0 if the lengths do not match. Switch to consistently using constant-time comparisons of hashes for password checks to avoid any possible side-channel leaks that could be combined with other vectors to discover password lengths.

Signed-off-by: Brad Davidson <brad.davidson@rancher.com>
(cherry picked from commit 239021e759)
2023-05-10 15:02:29 -07:00
Brad Davidson 56987804c7 Bump kine to v0.10.1
Signed-off-by: Brad Davidson <brad.davidson@rancher.com>
(cherry picked from commit b32bf49541)
2023-05-10 15:02:29 -07:00
Brad Davidson 4634d157de Fix token startup test
Signed-off-by: Brad Davidson <brad.davidson@rancher.com>
(cherry picked from commit c98137ddca)
2023-05-10 15:02:29 -07:00
Brad Davidson d91e676072 Fail to validate server tokens that use bootstrap id/secret format
Signed-off-by: Brad Davidson <brad.davidson@rancher.com>
(cherry picked from commit cf9ebb3259)
2023-05-10 15:02:29 -07:00
Brad Davidson 391b08309c Bump cni plugins to v1.2.0-k3s1
Also add bandwidth and firewall plugins. The bandwidth plugin is
automatically registered with the appropriate capability, but the
firewall plugin must be configured by the user if they want to use it.

Ref: https://www.cni.dev/plugins/current/meta/firewall/

Signed-off-by: Brad Davidson <brad.davidson@rancher.com>
(cherry picked from commit cedefeff24)
2023-05-10 15:02:29 -07:00
Brad Davidson a1162668ab Fix MemberList error handling and incorrect etcd-arg passthrough
Signed-off-by: Brad Davidson <brad.davidson@rancher.com>
(cherry picked from commit e61fde93c1)
2023-05-10 15:02:29 -07:00
Brad Davidson 17727761ae Retry cluster join on "too many learners" error
Signed-off-by: Brad Davidson <brad.davidson@rancher.com>
(cherry picked from commit 91afb38799)
2023-05-10 15:02:29 -07:00
Brad Davidson a82dbacd4a Fix stack log on panic
Signed-off-by: Brad Davidson <brad.davidson@rancher.com>
(cherry picked from commit f1b6a3549c)
2023-05-10 15:02:29 -07:00
Brad Davidson 0218426cfd Fix race condition in tunnel server startup
Several places in the code used a 5-second retry loop to wait on
Runtime.Core to be set. This caused a race condition where OnChange
handlers could be added after the Wrangler shared informers were already
started. When this happened, the handlers were never called because the
shared informers they relied upon were not started.

Fix that by requiring anything that waits on Runtime.Core to run from a
cluster controller startup hook that is guaranteed to be called before
the shared informers are started, instead of just firing it off in a
goroutine that retries until it is set.

Signed-off-by: Brad Davidson <brad.davidson@rancher.com>
(cherry picked from commit c44d33d29b)
2023-05-10 15:02:29 -07:00
Brad Davidson c30137e88c Add e2e test for --disable-agent
Signed-off-by: Brad Davidson <brad.davidson@rancher.com>
(cherry picked from commit 1ca035accc)
2023-05-10 15:02:29 -07:00
Brad Davidson f705a8ff1c Improve egress selector handling on agentless servers
Don't set up the agent tunnel authorizer on agentless servers, and warn when agentless servers won't have a way to reach in-cluster endpoints.

Signed-off-by: Brad Davidson <brad.davidson@rancher.com>
(cherry picked from commit 31a6386994)
2023-05-10 15:02:29 -07:00
Brad Davidson 56982f379f Improve error message when CLI wrapper Exec fails
Signed-off-by: Brad Davidson <brad.davidson@rancher.com>
(cherry picked from commit 5348b5e696)
2023-05-10 15:02:29 -07:00
Brad Davidson 23fc1e421c go generate
Signed-off-by: Brad Davidson <brad.davidson@rancher.com>
(cherry picked from commit 0247794aa9)
2023-05-10 15:02:29 -07:00
Brad Davidson 1cfdb5a355 Bump traefik to v2.9.10
Signed-off-by: Brad Davidson <brad.davidson@rancher.com>
(cherry picked from commit 0bbc6ad3f0)
2023-05-10 15:02:29 -07:00
Brad Davidson fde755cc86 Bump k3s-root for aarch64 page size fix
Signed-off-by: Brad Davidson <brad.davidson@rancher.com>
(cherry picked from commit 9539147ee1)
2023-05-10 15:02:29 -07:00
Brad Davidson a4e6aa1f6d Create CRDs with schema
Fixes an issue where CRDs were being created without schema, allowing
resources with invalid content to be created, later stalling the
controller ListWatch event channel when the invalid resources could not
be deserialized.

This also requires moving Addon GVK tracking from a status field to
an annotation, as the GroupVersionKind type has special handling
internal to Kubernetes that prevents it from being serialized to the CRD
when schema validation is enabled.

Signed-off-by: Brad Davidson <brad.davidson@rancher.com>
(cherry picked from commit ad41fb8c96)
2023-05-10 15:02:29 -07:00
Derek Nola a0c1226ecd
local-storage: Fix permission (#7472)
* local-storage: Fix permission

Signed-off-by: Boleyn Su <boleyn.su@gmail.com>
Signed-off-by: Derek Nola <derek.nola@suse.com>
Co-authored-by: Boleyn Su <boleyn.su@gmail.com>
Co-authored-by: Brad Davidson <brad@oatmail.org>
2023-05-10 08:37:34 -07:00
Ian Cardoso 2cb4eef4e3 add kube-* server flags integration tests (#7416)
This commit adds SearchK3sLog function to find specific strings in integration tests log file and also removes FindStringInCmdAsync function since it was not being used.

Signed-off-by: Ian Cardoso <osodracnai@gmail.com>
(cherry picked from commit 3982213f06)
Signed-off-by: Ian Cardoso <osodracnai@gmail.com>
2023-05-09 16:10:42 -03:00
Brooks Newberry 9b9fd04061 Add longhorn storage test (#6445)
Signed-off-by: Brooks Newberry <brooks@newberry.com>
(cherry picked from commit bbda54b332)
Signed-off-by: Ian Cardoso <osodracnai@gmail.com>
2023-05-09 16:10:42 -03:00
Roberto Bonafiglia 324ecfc30d Bump kube-router version to fix a bug when a port name is used
Signed-off-by: Roberto Bonafiglia <roberto.bonafiglia@suse.com>
2023-05-09 18:22:18 +02:00
Derek Nola 41bf3614a1
Bump runc, containerd, docker dependencies (#7453)
Signed-off-by: Derek Nola <derek.nola@suse.com>
2023-05-08 12:48:08 -07:00
Manuel Buil 878b1ce0a7
Merge pull request #7435 from manuelbuil/netutils1.24
[Release 1.24] Migrate netutil methods into /utils/net.go
2023-05-05 18:09:27 +02:00
Manuel Buil 280e058f91 Migrate netutil methods into /utils/net.go
Signed-off-by: Manuel Buil <mbuil@suse.com>
2023-05-05 09:08:45 +02:00
Derek Nola b865512ff2
[Release-1.24] CLI + Config Enhancement (#7407)
* Handle multiple arguments with StringSlice flags (#7380)

* Add helper function for multiple arguments in stringslice
* Cleanup server setup with util function

Signed-off-by: Derek Nola <derek.nola@suse.com>

* Enable FindString to search dotD config files (#7323)

* Enable FindString to search dotD config files
* Address multiple arg cases

Signed-off-by: Derek Nola <derek.nola@suse.com>
2023-05-02 15:09:08 -07:00
Ian Cardoso 957536bffa Add integration tests for etc-snapshot server flags and refactor /tests/integration/integration.go/K3sStartServer (#7300)
This adds integration tests for the following flags: "--etcd-snapshot-name","--etcd-snapshot-dir","--etcd-snapshot-retention","--etcd-snapshot-schedule-cron" and "--etcd-snapshot-compress". It also refactors K3sStartServer to stop applying strings.Fields() into inputArgs, so it can accept arguments that have space in their definition.

Signed-off-by: Ian Cardoso <osodracnai@gmail.com>
(cherry picked from commit 1ac03aad43)
2023-05-02 10:12:41 -03:00
Derek Nola 6866abb079 Containerd restart testlet (#6696)
* Add containerd testlet to startup integration
* Fix all log dumps
* Stop server gracefully

Signed-off-by: Derek Nola <derek.nola@suse.com>
2023-05-02 10:12:41 -03:00
Derek Nola 8f27774e8b
[Release-1.24] Add E2E testing in Drone (#7376)
* Initial drone vagrant pipeline

Signed-off-by: Derek Nola <derek.nola@suse.com>

* Build e2e test image
* Add ci flag to secretsencryption
* Fix vagrant log on secretsencryption
* Add cron conformance pipeline
* Add string output for nodes
* Switch snapshot restore for upgrade cluster

Signed-off-by: Derek Nola <derek.nola@suse.com>

* Added IPv6 check and agent restart on e2e test utils

Signed-off-by: Roberto Bonafiglia <roberto.bonafiglia@suse.com>

* Drone: Cleanup E2E VMs on test panic (#7104)

* Cleanup leftover VMs in E2E pipeline

* Clean E2E VMs before testing (#7109)

* Cleanup VMs proper

Signed-off-by: Derek Nola <derek.nola@suse.com>

* Dont run most pipelines on nightly cron
* Improve RunCmdOnNode error
* Pin upgradecluster to v1.24

Signed-off-by: Derek Nola <derek.nola@suse.com>

---------

Signed-off-by: Derek Nola <derek.nola@suse.com>
Signed-off-by: Roberto Bonafiglia <roberto.bonafiglia@suse.com>
Co-authored-by: Roberto Bonafiglia <roberto.bonafiglia@suse.com>
2023-05-01 14:14:28 -07:00
Brian Downs 3f79b28922
Update to v1.24.13-k3s1 (#7284) 2023-04-13 13:50:59 -07:00
Roberto Bonafiglia 61aef1cc48 Update install script to clean iptables rules before start
Signed-off-by: Roberto Bonafiglia <roberto.bonafiglia@suse.com>
2023-04-12 22:34:10 +02:00
Roberto Bonafiglia 99c61de027 Update kube-router to insert iptables rules right after kubernetes ones
Signed-off-by: Roberto Bonafiglia <roberto.bonafiglia@suse.com>
2023-04-12 22:34:10 +02:00
Hussein Galal a6bd15fb71
[release-1.24] Update klipper lb and helm-controller (#7241)
* Update klipper lb and helm-controller

Signed-off-by: galal-hussein <hussein.galal.ahmed.11@gmail.com>

* update klipper helm image

Signed-off-by: galal-hussein <hussein.galal.ahmed.11@gmail.com>

---------

Signed-off-by: galal-hussein <hussein.galal.ahmed.11@gmail.com>
2023-04-06 22:43:30 +02:00
Roberto Bonafiglia e8ec681cea Updated kube-route version to move the iptables ACCEPT default rule at the end of the chain
Signed-off-by: Roberto Bonafiglia <roberto.bonafiglia@suse.com>
2023-04-06 11:10:04 +02:00
Brad Davidson 09d13d2962 Lock bootstrap data with empty key to prevent conflicts
Signed-off-by: Brad Davidson <brad.davidson@rancher.com>
(cherry picked from commit d95980bba3)
Signed-off-by: Brad Davidson <brad.davidson@rancher.com>
2023-04-05 16:29:31 -07:00
Brad Davidson e8408f3af7 Debounce kubernetes service endpoint updates
Signed-off-by: Brad Davidson <brad.davidson@rancher.com>
(cherry picked from commit 2992477c4b)
Signed-off-by: Brad Davidson <brad.davidson@rancher.com>
2023-04-05 16:29:31 -07:00
Brad Davidson ab6c64342c Fix tests to not hide failure location in dummp assert functions
Signed-off-by: Brad Davidson <brad.davidson@rancher.com>
(cherry picked from commit ece4d8e45c)
Signed-off-by: Brad Davidson <brad.davidson@rancher.com>
2023-04-05 16:29:31 -07:00
Brad Davidson 01253a5b84 Fix issue with stale connections to removed LB server
Track LB connections through each server so that they can be closed when it is removed.

Signed-off-by: Brad Davidson <brad.davidson@rancher.com>
(cherry picked from commit e54ceaa497)
Signed-off-by: Brad Davidson <brad.davidson@rancher.com>
2023-04-05 16:29:31 -07:00
Brad Davidson 5f4ab136bf Update remotedialer to silence errors when disconnecting
Signed-off-by: Brad Davidson <brad.davidson@rancher.com>
(cherry picked from commit 5dece799df)
Signed-off-by: Brad Davidson <brad.davidson@rancher.com>
2023-04-05 16:29:31 -07:00
Brad Davidson 447c5aec76 go generate
Signed-off-by: Brad Davidson <brad.davidson@rancher.com>
(cherry picked from commit d388b82d25)
Signed-off-by: Brad Davidson <brad.davidson@rancher.com>
2023-04-05 16:29:31 -07:00
Brad Davidson b6a11bf2df Ensure that loopback is used for the advertised address when resetting
Signed-off-by: Brad Davidson <brad.davidson@rancher.com>
(cherry picked from commit de80c07053)
Signed-off-by: Brad Davidson <brad.davidson@rancher.com>
2023-04-05 16:29:31 -07:00
Brad Davidson 4864ecd4aa Ensure that loopback is used for the advertised address when resetting
Signed-off-by: Brad Davidson <brad.davidson@rancher.com>
(cherry picked from commit b010db0cff)
Signed-off-by: Brad Davidson <brad.davidson@rancher.com>
2023-04-05 16:29:31 -07:00
Brad Davidson 95ea7c74f7 Bump runc to v1.1.5
Addresses GHSA-m8cg-xc2p-r3fc GHSA-vpvm-3wq2-2wvm GHSA-g2j6-57v7-gm8c

Signed-off-by: Brad Davidson <brad.davidson@rancher.com>
(cherry picked from commit 877247a691)
Signed-off-by: Brad Davidson <brad.davidson@rancher.com>
2023-04-05 16:29:31 -07:00
Brad Davidson c313b5b70c Bump Local Path Provisioner version (#7167)
* chore: Bump Local Path Provisioner version
* go generate

Signed-off-by: Brad Davidson <brad.davidson@rancher.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
(cherry picked from commit cee3ddbc4a)
Signed-off-by: Brad Davidson <brad.davidson@rancher.com>
2023-04-05 16:29:31 -07:00
Hussein Galal 53e5d566b5
Remove deprecated nodeSelector label beta.kubernetes.io/os (#6970) (#7122)
* Remove deprecated nodeSelector label beta.kubernetes.io/os

Problem:
The nodeSelector label beta.kubernetes.io/os in the CoreDNS deployment was deprecated in 1.14 and will likely be removed soon

Solution:
Change the nodeSelector to remove the beta

Signed-off-by: Dan Mills <evilhamsterman@gmail.com>
Signed-off-by: galal-hussein <hussein.galal.ahmed.11@gmail.com>
Co-authored-by: Daniel Mills <evilhamsterman@users.noreply.github.com>
2023-04-04 21:04:08 +02:00
Derek Nola 8995df02b3
[Release-1.24] Enhance `check-config` (#7165)
* Add missing kernel config checks (#6946)

Add additional kernel config checks for NETFILTER_XT_MATCH_COMMENT and
NETFILTER_XT_MATCH_MULTIPORT as they are both required to run k3s.

Signed-off-by: Richard Steinmetz <richard@steinmetz.cloud>

* Enhance `k3s check-config` (#7091)

* Move  CONFIG_CGROUP_PIDS to Required

Signed-off-by: Derek Nola <derek.nola@suse.com>

---------

Signed-off-by: Richard Steinmetz <richard@steinmetz.cloud>
Signed-off-by: Derek Nola <derek.nola@suse.com>
Co-authored-by: Richard Steinmetz <richard@steinmetz.cloud>
2023-03-29 12:15:34 -07:00
Brooks Newberry 57e8adb524
Update to v1.24.12-k3s1 (#7105) 2023-03-17 14:21:56 -07:00
Derek Nola 7fee87d976
Adds a warning about editing to the containerd config.toml file (#7076)
* Add a warning to the config.toml file

Signed-off-by: Derek Nola <derek.nola@suse.com>
Co-authored-by: Brad Davidson <brad@oatmail.org>
2023-03-14 09:33:21 -07:00
Brad Davidson 41c24b6a88 Add support for cross-signing new certs during ca rotation
We need to send the full chain in order for cross-signing to work
properly during switchover to a new root.

Signed-off-by: Brad Davidson <brad.davidson@rancher.com>
2023-03-13 20:08:26 -07:00
Brad Davidson ca5746785c Update/rename certs.sh; add default cert rotation script
Signed-off-by: Brad Davidson <brad.davidson@rancher.com>
2023-03-13 20:08:26 -07:00