K9s/release v0.31.5 (#2469)

* fix #2466

* fix #2465

* rel v0.31.5
mine
Fernand Galiana 2024-01-12 14:59:38 -07:00 committed by GitHub
parent 356c56138e
commit ff17fff286
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
9 changed files with 69 additions and 17 deletions

View File

@ -11,7 +11,7 @@ DATE ?= $(shell TZ=UTC date -j -f "%s" ${SOURCE_DATE_EPOCH} +"%Y-%m-%dT%H:
else
DATE ?= $(shell date -u -d @${SOURCE_DATE_EPOCH} +"%Y-%m-%dT%H:%M:%SZ")
endif
VERSION ?= v0.31.4
VERSION ?= v0.31.5
IMG_NAME := derailed/k9s
IMAGE := ${IMG_NAME}:${VERSION}

View File

@ -0,0 +1,51 @@
<img src="https://raw.githubusercontent.com/derailed/k9s/master/assets/k9s.png" align="center" width="800" height="auto"/>
# Release v0.31.5
## Notes
Thank you to all that contributed with flushing out issues and enhancements for K9s!
I'll try to mark some of these issues as fixed. But if you don't mind grab the latest rev
and see if we're happier with some of the fixes!
If you've filed an issue please help me verify and close.
Your support, kindness and awesome suggestions to make K9s better are, as ever, very much noted and appreciated!
Also big thanks to all that have allocated their own time to help others on both slack and on this repo!!
As you may know, K9s is not pimped out by corps with deep pockets, thus if you feel K9s is helping your Kubernetes journey,
please consider joining our [sponsorship program](https://github.com/sponsors/derailed) and/or make some noise on social! [@kitesurfer](https://twitter.com/kitesurfer)
On Slack? Please join us [K9slackers](https://join.slack.com/t/k9sers/shared_invite/enQtOTA5MDEyNzI5MTU0LWQ1ZGI3MzliYzZhZWEyNzYxYzA3NjE0YTk1YmFmNzViZjIyNzhkZGI0MmJjYzhlNjdlMGJhYzE2ZGU1NjkyNTM)
## Maintenance Release!
😱 More aftermath... 😱
Thank you all for pitching in and helping flesh out issues!!
Please make sure to add gory details to issues ie relevant configs, debug logs, etc...
Comments like: `same here!` or `me to!` doesn't really cut it for us to zero in ;(
Everyone has slightly different settings/platforms so every little bits of info helps with the resolves even if seemingly irrelevant.
Thank you!!
---
## Videos Are In The Can!
Please dial [K9s Channel](https://www.youtube.com/channel/UC897uwPygni4QIjkPCpgjmw) for up coming content...
* [K9s v0.31.0 Configs+Sneak peek](https://youtu.be/X3444KfjguE)
* [K9s v0.30.0 Sneak peek](https://youtu.be/mVBc1XneRJ4)
* [Vulnerability Scans](https://youtu.be/ULkl0MsaidU)
---
## Resolved Issues
* [#2466](https://github.com/derailed/k9s/issues/2466) Panic: index out of range [0] with length 0
* [#2465](https://github.com/derailed/k9s/issues/2465) v0.31.4 - panic; no client connection detected - with feelings!!
---
<img src="https://raw.githubusercontent.com/derailed/k9s/master/assets/imhotep_logo.png" width="32" height="auto"/> © 2024 Imhotep Software LLC. All materials licensed under [Apache v2.0](http://www.apache.org/licenses/LICENSE-2.0)

View File

@ -114,6 +114,12 @@ func loadConfiguration() (*config.Config, error) {
k8sCfg := client.NewConfig(k8sFlags)
k9sCfg := config.NewConfig(k8sCfg)
conn, err := client.InitConnection(k8sCfg)
k9sCfg.SetConnection(conn)
if err != nil {
return k9sCfg, err
}
if err := k9sCfg.Load(config.AppConfigFile); err != nil {
return k9sCfg, err
}
@ -122,11 +128,6 @@ func loadConfiguration() (*config.Config, error) {
log.Error().Err(err).Msgf("config refine failed")
return k9sCfg, err
}
conn, err := client.InitConnection(k8sCfg)
k9sCfg.SetConnection(conn)
if err != nil {
return k9sCfg, err
}
// Try to access server version if that fail. Connectivity issue?
if !conn.CheckConnectivity() {
return k9sCfg, fmt.Errorf("cannot connect to context: %s", k9sCfg.K9s.ActiveContextName())

2
go.mod
View File

@ -13,7 +13,7 @@ require (
github.com/cenkalti/backoff/v4 v4.2.1
github.com/derailed/popeye v0.11.2
github.com/derailed/tcell/v2 v2.3.1-rc.3
github.com/derailed/tview v0.8.2
github.com/derailed/tview v0.8.3
github.com/fatih/color v1.16.0
github.com/fsnotify/fsnotify v1.7.0
github.com/fvbommel/sortorder v1.1.0

4
go.sum
View File

@ -389,8 +389,8 @@ github.com/derailed/popeye v0.11.2 h1:8MKMjYBJdYNktTKeh98TeT127jZY6CFAsurrENoTZC
github.com/derailed/popeye v0.11.2/go.mod h1:HygqX7A8BwidorJjJUnWDZ5AvbxHIU7uRwXgOtn9GwY=
github.com/derailed/tcell/v2 v2.3.1-rc.3 h1:9s1fmyRcSPRlwr/C9tcpJKCujbrtmPpST6dcMUD2piY=
github.com/derailed/tcell/v2 v2.3.1-rc.3/go.mod h1:nf68BEL8fjmXQHJT3xZjoZFs2uXOzyJcNAQqGUEMrFY=
github.com/derailed/tview v0.8.2 h1:8b+QwVECV1lZ6VV7Vf1tergpJxJ+ReA/JhIBYyUVSFI=
github.com/derailed/tview v0.8.2/go.mod h1:q+odnnhO6QDPpBT+0dqaWj+X+uoJ6MJehXj9shgP+Cw=
github.com/derailed/tview v0.8.3 h1:jhN7LW7pfCWf7Z6VC5Dpi/1usavOBZxz2mY90//TMsU=
github.com/derailed/tview v0.8.3/go.mod h1:q+odnnhO6QDPpBT+0dqaWj+X+uoJ6MJehXj9shgP+Cw=
github.com/dgrijalva/jwt-go/v4 v4.0.0-preview1/go.mod h1:+hnT3ywWDTAFrW5aE+u2Sa/wT555ZqwoCS+pk3p6ry4=
github.com/distribution/distribution/v3 v3.0.0-20221208165359-362910506bc2 h1:aBfCb7iqHmDEIp6fBvC/hQUddQfg+3qdYjwzaiP9Hnc=
github.com/distribution/distribution/v3 v3.0.0-20221208165359-362910506bc2/go.mod h1:WHNsWjnIn2V1LYOrME7e8KxSeKunYHsxEm4am0BUtcI=

View File

@ -30,7 +30,7 @@ func NewConfig(ks data.KubeSettings) *Config {
}
}
// ContextHotKeysPath returns a context specific hotkeys file spec.
// ContextHotkeysPath returns a context specific hotkeys file spec.
func (c *Config) ContextHotkeysPath() string {
ct, err := c.K9s.ActiveContext()
if err != nil {

View File

@ -32,10 +32,10 @@ type KubeSettings interface {
// CurrentClusterName returns the name of the current cluster.
CurrentClusterName() (string, error)
// CurrentNamespace returns the name of the current namespace.
// CurrentNamespaceName returns the name of the current namespace.
CurrentNamespaceName() (string, error)
// ContextNames() returns all available context names.
// ContextNames returns all available context names.
ContextNames() (map[string]struct{}, error)
// CurrentContext returns the current context configuration.

View File

@ -47,7 +47,7 @@ type Factory interface {
// DeleteForwarder deletes a pod forwarder.
DeleteForwarder(path string)
// Forwards returns all portforwards.
// Forwarders returns all portforwards.
Forwarders() watch.Forwarders
}
@ -101,7 +101,7 @@ type NodeMaintainer interface {
// Loggable represents resources with logs.
type Loggable interface {
// TaiLogs streams resource logs.
// TailLogs streams resource logs.
TailLogs(ctx context.Context, opts *LogOptions) ([]LogChan, error)
}
@ -158,10 +158,10 @@ type Logger interface {
// ContainsPodSpec represents a resource with a pod template.
type ContainsPodSpec interface {
// Get PodSpec of a resource
// GetPodSpec returns a podspec for the resource.
GetPodSpec(path string) (*v1.PodSpec, error)
// Set Images for a resource
// SetImages sets container image.
SetImages(ctx context.Context, path string, imageSpecs ImageSpecs) error
}

View File

@ -1,6 +1,6 @@
name: k9s
base: core20
version: 'v0.31.4'
version: 'v0.31.5'
summary: K9s is a CLI to view and manage your Kubernetes clusters.
description: |
K9s is a CLI to view and manage your Kubernetes clusters. By leveraging a terminal UI, you can easily traverse Kubernetes resources and view the state of your clusters in a single powerful session.