Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[pull] main from k0sproject:main #19

Merged
merged 2,352 commits into from
May 26, 2024
Merged

[pull] main from k0sproject:main #19

merged 2,352 commits into from
May 26, 2024

Conversation

pull[bot]
Copy link

@pull pull bot commented Nov 30, 2022

See Commits and Changes for more details.


Created by pull[bot]

Can you help keep this open source service alive? 💖 Please sponsor : )

@pull pull bot added the ⤵️ pull label Nov 30, 2022
twz123 and others added 29 commits April 12, 2024 08:55
Turn on detailed logging if k0s is started with --debug, too.

Signed-off-by: Tom Wieczorek <[email protected]>
The filepath.Abs(...) error was previously discarded. Although this
function only fails under pathological circumstances, it's better to
handle error conditions properly.

Signed-off-by: Tom Wieczorek <[email protected]>
Both "k0s controller" and "k0s worker" take either [TOKEN] as an
argument or a path to a file containing the join token via --token-file.

Before this PR, when --token-file was given, the file was read upon
spin-up, even when the node has joined already and won't utilize the
token. As the token is not needed after join, you would expect that you
can or even should remove the file, but that makes k0s refuse to start
unless the --token-file argument is removed from the systemd unit or
other startup scripts.

This PR makes the controller and worker read the contents of the file
only right before the value is getting used. This allows --token-file
argument to be ignored when it is not needed and the file not existing
will not generate an error.

Signed-off-by: Kimmo Lehto <[email protected]>
Ignore token-file argument when value not needed

Both "k0s controller" and "k0s worker" take either [TOKEN] as an argument or a path to a file containing the join token via --token-file.

Before this PR, when --token-file was given, the file was read upon spin-up, even when the node has joined already and won't utilize the token for anything. As the token is not needed after join, you would expect that you can or even should remove the file, but that makes k0s refuse to start unless the --token-file argument is also removed from the systemd unit or other startup scripts.

This PR makes the controller and worker read the contents of the file only right before the value is getting used. This allows --token-file argument to be ignored when it is not needed and the file not existing will not generate an error.
Enable console logging for keepalived
This allows for removing the component and makes it analogous to how
node-local load balancing is controlled.

Co-authored-by: Kimmo Lehto <[email protected]>
Signed-off-by: Tom Wieczorek <[email protected]>
helm charts reconciliation does not work for oci registry when running
k0s behind a proxy. the bug has been solved upstream and has now been
released

pr that addressed the bug:

helm/helm#12761

Signed-off-by: Ricardo Maraschini <[email protected]>
Replace the %v format specifier in calls to fmt.Errorf() with %w
whenever an error argument is used.

Signed-off-by: Tom Wieczorek <[email protected]>
This is best practice, unless equality is really required.

Signed-off-by: Tom Wieczorek <[email protected]>
This is best practice, unless the exact type is really required.

Signed-off-by: Tom Wieczorek <[email protected]>
Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 9.5.17 to 9.5.18.
- [Release notes](https://github.com/squidfunk/mkdocs-material/releases)
- [Changelog](https://github.com/squidfunk/mkdocs-material/blob/master/CHANGELOG)
- [Commits](squidfunk/mkdocs-material@9.5.17...9.5.18)

---
updated-dependencies:
- dependency-name: mkdocs-material
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
Wrap errors correctly, part 3
…aterial-9.5.18

Bump mkdocs-material from 9.5.17 to 9.5.18 in /docs
The Go compiler doesn't touch the binary if it doesn't detect any code
changes. (Presumably by checking the BuildID of the old and the new
binary?) However, the Makefile relied on a regeneration of the binary
in any case, so that it can reappend the bindata file agan. Mitigate
this by deleting the binary before the build. That way, the Go compiler
doesn't have a choice.

Fixes: 08df7f5 ("Provide empty asset offsets without codegen")
Signed-off-by: Tom Wieczorek <[email protected]>
Bumps [regex](https://github.com/mrabarnett/mrab-regex) from 2023.12.25 to 2024.4.16.
- [Changelog](https://github.com/mrabarnett/mrab-regex/blob/hg/changelog.txt)
- [Commits](mrabarnett/mrab-regex@2023.12.25...2024.4.16)

---
updated-dependencies:
- dependency-name: regex
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <[email protected]>
…24.4.16

Bump regex from 2023.12.25 to 2024.4.16 in /docs
Bump Kubernetes to v1.29.4
Introduce controlPlaneLoadBalancing.enabled
jnummelin and others added 29 commits May 22, 2024 10:32
…orkerconfig

Use dedicated leasepool for worker config component
Drop multierr module and rely on the standard lib
Lease pool's leader status field was an atomic.Value that is always used
for booleans only. This requires pre-initializing it through
Store(false) and also typecasting when retrieving.

By using atomic.Bool, the zero value is false and the value type is
always bool.

Signed-off-by: Kimmo Lehto <[email protected]>
Use atomic.Bool instead of atomic.Value for leader status
Remove unused atomic.Value from CSRApprover constructor
They build a logical unit and separating those from the other file
functions makes that clear.

Signed-off-by: Tom Wieczorek <[email protected]>
The temporary file was properly closed on panic, but not removed from
disk. Add an additional boolean that indicates whether the write call
returned. Use this boolean as an additional criterion in the defer func
to find out if the file needs to be removed or not.

Signed-off-by: Tom Wieczorek <[email protected]>
Atomic file writes could get confused when used with non-absolute paths,
and the working directory would change while writing files. This can be
easily mitigated by using the absolute path internally.

Signed-off-by: Tom Wieczorek <[email protected]>
This allows the atomic write functions to be extended in the future
without breaking the existing API. Introduces the atomicOpener struct,
which implements the fluent interface and collects all the desired
information for an atomic file write. It provides some terminal methods
that do the actual writing.

The old workhorse function WriteAtomically has been splitted up
in AtomicOpener.Do, AtomicOpener.Open and its companion struct
Atomic, especially its Finish and Close methods. Atomic implements
io.WriteCloser and io.ReaderFrom and may be used more or less like a
usual write-only io.File. The magic happens when it's finished/closed.
The write callback of AtomicOpener.Do now accepts the purpose-built
interface file.AtomicWriter. This allows the interface to be extended
with new methods without having to change all call sites. Setting
permissions is now optional, i.e. callers have to opt in by calling
WithPermissions(...).

Signed-off-by: Tom Wieczorek <[email protected]>
Eventually, this might need to get some additional toggles if it's okay
to fail to set permissions because k0s doesn't have the appropriate
privileges (CAP_CHOWN). This is also the reason why there are no
unit tests for this: The test outcome depends on the test process's
permissions.

Signed-off-by: Tom Wieczorek <[email protected]>
Use file.AtomicOpener directly when writing the keepalived config file.
This was the only hack that relied on using *os.File directly.

Signed-off-by: Tom Wieczorek <[email protected]>
updated-dependencies:
- dependency-name: requests
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
Remove unused autopilot inttest toolsuite
…-2.32.2

Bump requests from 2.32.1 to 2.32.2 in /docs
updated-dependencies:
- dependency-name: github.com/go-logr/logr
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
Otherwise the defaulting could pick up `kube-bridge` address as api/etcd address when restarting k0s if it sees it before any "real" address.

This happens on e.g. bootloose containers where kube-bridge is at index 11 and eth0 on index 18.

Signed-off-by: Jussi Nummelin <[email protected]>
….com/go-logr/logr-1.4.2

Bump github.com/go-logr/logr from 1.4.1 to 1.4.2
Add readinessProbe/minReadySeconds to kube-router
…nfig-defaulting

Skip `kube-bridge` interface for api/etcd address
Fluent interface for atomic file writes
Bump Python verison for docs to v3.12.3
The extra find wrapper that confined the chmod only to non-writable
directories was significantly slower. The unfiltered recursive chmod
will make everything user-writable, which doesn't hurt when the next
step is a recursive removal anyways.

Signed-off-by: Tom Wieczorek <[email protected]>
Use chmod directly in make clean-gocache
Bumps [github.com/BurntSushi/toml](https://github.com/BurntSushi/toml) from 1.3.2 to 1.4.0.
- [Release notes](https://github.com/BurntSushi/toml/releases)
- [Commits](BurntSushi/toml@v1.3.2...v1.4.0)

---
updated-dependencies:
- dependency-name: github.com/BurntSushi/toml
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
….com/BurntSushi/toml-1.4.0

Bump github.com/BurntSushi/toml from 1.3.2 to 1.4.0
Bumps [watchdog](https://github.com/gorakhargosh/watchdog) from 4.0.0 to 4.0.1.
- [Release notes](https://github.com/gorakhargosh/watchdog/releases)
- [Changelog](https://github.com/gorakhargosh/watchdog/blob/master/changelog.rst)
- [Commits](gorakhargosh/watchdog@v4.0.0...v4.0.1)

---
updated-dependencies:
- dependency-name: watchdog
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
…-4.0.1

Bump watchdog from 4.0.0 to 4.0.1 in /docs
@pull pull bot merged commit c924c1f into CindyLizi:main May 26, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

8 participants