Commit Graph

1027 Commits (ea2b624cf567b9154cc04d6d6a2883c64f9d5a5d)

Author SHA1 Message Date
小染 e762cc6d90
fix: resolve UTF-8 character encoding issues in log search and highlighting (#3557)
* fix: find all match str index

* fix: resolve UTF-8 character encoding issue in log search highlighting

* feat: optimize  search logic

* feat: add test

* fix: filter code logic clean

* remove: garbge test code

* golangci: remove unused colorizeByte func

* feat: add test

* fix: golangci

---------

Co-authored-by: tianbaosha <tianbaosha@tencent.com>
2025-10-09 09:09:10 -06:00
derailed b53f3091ca [hot-fix] revert enter cmd 2025-10-07 07:17:22 -06:00
Fernand Galiana 73fa008736
Rel v0.50.14 (#3609)
* fix #3591 #3608 suggestions enter accept

* fix#3606-xray busted

* fix#3594-yaml busted

* rel notes
2025-10-06 17:57:12 -06:00
jfremy-openai 41acad343b
fix: consider readinessGates + ready condition in diagnose (#3556)
* Consider readinessGates + ready condition in diagnose

Now that readiness gates are supported, those should be considered when displaying a pod healthiness

Additionally consider the pod ready condition status. It should match the && of the containers' ready condition and readiness gates but I've actually observed that in some cases, it can be false with the containers reporting ready true.

* Update pod.go

* Update pod.go

fix lint

* Update pod.go

lint

* add tests for diagnose and readinessGateStats

* lint error
2025-10-05 08:38:03 -06:00
henry 2daec83d60
fix: do not error out of shellIn if OS detection fails, and default platform on linux (#3600) 2025-10-05 08:09:25 -06:00
Maico Timmerman c07aa2a5f4
browser: do not prevent redraw when connection unavailable (#3605)
Co-authored-by: maico <maico.timmerman@adyen.com>
2025-10-05 07:54:13 -06:00
Fernand Galiana 1d8cb6ced0
Rel v0.50.13 (#3592)
* fix #3587 - dp restart

* fix #3585 - sec abreviation

* fix #3583 - exec without node read

* fix #3574 - label filter path

* fix #3584 - managed fields

* fix #3577 - pod logs

* rel notes
2025-09-27 09:16:36 -06:00
Ümüt Özalp 2ed7206896
fix: improve log retry logic (#3580)
* fix: improve log retry logic

* fix: streamline log retry logic and improve error handling
2025-09-27 08:51:43 -06:00
Fernand Galiana 09c1c07950
Rel v0.50.12 (#3572)
* fix #3570 - broken display when no resources

* fix #3547 - surface error

* fix #3562 - rbac del ns

* rel notes
2025-09-19 08:36:53 -06:00
Fernand Galiana 5c5fcba6d8
Rel v0.50.11 (#3569)
* fix #3567 #3566

* release notes
2025-09-18 09:33:35 -06:00
Fernand Galiana 4f5c1a1105
Rel v0.50.10 (#3564)
* fix #3455

* Clean up and refactor

* fix #3495 #3470 #3455 - fix cmd alias and filters

* fix #3535 - revert

* fix #3478 - make vulscan a bit less cpu extensive (init stab...)

* fix issue with plugin foreground exit

* fix#3466-add shared gpu on nodes

* fix #3541 - use default namespace when not specified

* update deps + release notes
2025-09-17 16:49:58 -06:00
Ümüt Özalp c1d07ea699
fix(logs): enhance log streaming with retry mechanism and error handling (#3503)
* fix(logs): enhance log streaming with retry mechanism and error handling

* fix(logs): improve log tailing with enhanced retry logic and error handling

* renamed function

* Enhance log streaming with retry logic based on pod status

* Refactor Pod struct definition by moving it above the shouldStopRetrying method

* Implement exponential backoff for log streaming retries

* fix: reduce log channel buffer size to prevent drops
2025-09-16 19:31:59 -06:00
Alex Cantu 40cf6a151f
feat: Add context deletion functionality (#3489)
* Add delete functionality for Kubernetes contexts

This adds the ability to delete Kubernetes contexts using the 'd' key in the context view. The implementation includes:
- New delete command bound to 'd' key
- Confirmation dialog before deletion
- Error handling and UI refresh after deletion

* Refactor context delete dialog to use standard dialog component

- Replace custom delete confirmation with dialog.ShowConfirm
- Add read-only mode checks for rename and delete commands
- Change delete keybinding from 'd' to 'Ctrl+d'
- Remove unused deletePage constant and related functions
- Simplify delete callback logic

* Refactor context view key bindings to separate dangerous operations

* Fix linting error
2025-09-01 16:38:26 -06:00
Ümüt Özalp e99c735430
Feature/refresh rate (#3517)
* refactor: change refreshRate type to float64 for improved precision

* test: update assertions for refreshRate to use assert.InDelta for precision

* refactor: enforce minimum refresh rate and update related tests

* refactor: change refresh rate type to float32 and update related logic

* refactor: update refresh rate validation and logging in GetRefreshRate method

* refactor: update logging keys for refresh rate validation in GetRefreshRate method
2025-08-25 12:01:03 -06:00
YE Feng 4686c1deec
fix: Color PV row according to its STATUS column (#3513) 2025-08-20 09:06:05 -06:00
Ümüt Özalp 41eeb5cc24
fix: reset first view counter on browser start and skip warning during initialization (#3515) 2025-08-20 08:51:04 -06:00
Ümüt Özalp 67a637f7be
fix: update SuggestSubCommand to pass command context for suggestions (#3516) 2025-08-20 08:46:50 -06:00
derailed ffdc7b70f0 [hot-fix] fix tests 2025-07-19 09:27:46 -06:00
derailed e80153c9d4 fix #3463 - broke aliases 2025-07-19 08:39:18 -06:00
yingshanghuangqiao 6d756d593d
chore: make function comment match function name (#3408)
Signed-off-by: yingshanghuangqiao <yingshanghuangqiao@foxmail.com>
2025-07-16 08:17:10 -06:00
Fernand Galiana c2f1316680
Rel v0.50.9 (#3461)
* fix #3458

* cleanup

* rel notes
2025-07-15 23:02:41 -06:00
Brandt Keller 88b5994057
fix(table): update to tablewriter v1 apis (#3460)
* fix(table): update to tablewriter v1 apis

Signed-off-by: Brandt Keller <brandt.keller@defenseunicorns.com>

* fix(lint): return errors for tablewriter

Signed-off-by: Brandt Keller <brandt.keller@defenseunicorns.com>

---------

Signed-off-by: Brandt Keller <brandt.keller@defenseunicorns.com>
2025-07-15 22:46:17 -06:00
Fernand Galiana 855e995b3a
Rel v0.50.8 (#3457)
* revert ns cmd

* fix#3421-helm-view-ns

* fix#3439-add-vendor-config

* fix#3453-add-gpu-cols

* rel notes
2025-07-15 08:38:28 -06:00
Alex Trinker 711a8b8fdf
allow skin to be selected via K9S_SKIN env var (#3356)
* allow skin to be set via env var K9S_SKIN

* use `return` after skin selection

* add K9S_SKIN to README
2025-07-14 22:57:12 -06:00
Maurizio Pasquinelli 11d40cab57
Fix #3421 - can't switch namespaces in helm view (#3438) 2025-07-13 09:52:48 -06:00
derailed 457e4b86db [hot-fix] update pulses 2025-07-05 10:54:34 -06:00
Fernand Galiana 00b28ceeee
Rel v0.50.7 (#3436)
* fix #3406 - update and clean history navigation

* fix #3383 - cronjob auth fix

* clean up and updates

* update prompt indicator to diff cmd vs filter

* fix #3398 - dialog focus update

* update deps

* fix #3435 - noexit on ctrl-c

* fix #3412 - toggle decode

* fix #3424 - add gpu on node

* fix #3422 - resource switch ns

* update rel notes
2025-07-05 10:36:36 -06:00
jfremy-openai f957fd6739
fetchContainers(allContainers=false) returns sidecars and ephemeral (#3415)
Issue: when calling exec / attach on a pod with sidecar containers or ephemeral containers, those are not presented as potential targets to exec / attach / transfer.

Proposed solution: the method fetchContainers is only called with allContainers=false to find containers we can exec / attach / transfer.
Both ephemeral containers and sidecar init containers could be used in this case however with the current behavior they're not shown.

I'm proposing to change the behavior of the method to return any sidecar container and ephemeral container when called with allContainers=false since there is no other caller using that parameter set to false, so we won't break other call sites
2025-06-28 08:54:26 -06:00
Ümüt Özalp 8fc243dc1f
revert: #3322 (#3346) 2025-05-17 08:28:01 -06:00
Fernand Galiana 13cb55bb66
Rel v0.50.6 (#3338)
* update deps

* add epslice support

* update pulses

* fix #3334

* rel notes
2025-05-11 23:16:37 -06:00
Youssef Rabie b68b68e23f
fix: pre-check for get permissions only on port-forward (#3322) 2025-05-08 06:51:22 -06:00
Fernand Galiana ccebaa604e
Rel v0.50.5 (#3332)
* update pulse view

* fix #3301 - pf delete msg

* clean

* short header styles

* fix #3294 event time cols sorting

* fix #3309 label selector fault

* multi arch build

* fix #3328 init co count

* rel notes
2025-05-07 23:22:01 -06:00
Rudrakh Panigrahi 577a2fb7cc
show replicasets from deployment view (#3308)
Signed-off-by: Rudrakh Panigrahi <rudrakh97@gmail.com>
2025-05-01 05:28:13 -06:00
Vageesha B R 8e3f453006
Fix concurrent read writes (#3311) 2025-04-28 09:18:34 -06:00
Ümüt Özalp d3f646aafb
fix: truncate label selector input to max length (#3300) 2025-04-25 00:01:04 -06:00
Fernand Galiana e4e3816185
Rel v0.50.4 (#3293)
* fix#3278 honor ns ovewride

* refactor column exclude

* [feat] add configurable api server timeout

* clean

* fix#3285 - add restart option for flux support

* fix#3283 fix dp ready state

* update vulscan deps

* fix#3288 fix cust view filter

* fix#3286 match-exp

* rel notes
2025-04-19 12:07:10 -06:00
Ümüt Özalp c2694ee3e5
Feature/default_view (#2866)
* initialView

* Removed log msg

* fix: tests

* fix: rename to defaultView

* docs: add defaultView setting to README
2025-04-19 11:58:51 -06:00
Max Xu fbd2a0250a
fix: set default request timeout to 120 seconds (#3253)
Signed-off-by: Max Xu <xuhuan@live.cn>
Co-authored-by: Fernand Galiana <fernand.galiana@gmail.com>
2025-04-19 10:16:06 -06:00
tscuite 445230640a
feat: add hostPathVolume (docker) (#3277) 2025-04-19 09:27:05 -06:00
Arriv9l 5fe09d4f92
fix: respect insecure flag when switch context (#3292) 2025-04-19 09:10:52 -06:00
Fernand Galiana 594c2c6e4c
Rel v0.50.3 (#3276)
* update linter

* spring cleaning

- m'o code cleanup
- small bugs fixin

* fix cust col jq parser support

* add context,token to shell args

* rel notes
2025-04-13 18:25:04 -06:00
Sunggun Yu 630f82cacd
fix: include APIResource name in the aliases (#3274)
- fix: https://github.com/derailed/k9s/issues/3273
2025-04-13 09:08:10 -06:00
Fernand Galiana bc22b87053
Rel v0.50.2 (#3269)
* fix#3266 dp alias fails

* fix#3267 add no data flash

* fix#3264 storage-class broke describe/yaml

* fix#3260 po yaml crash

* rel notes
2025-04-10 09:29:21 -06:00
Fernand Galiana 142282b584
Rel v0.50.1 - HotFix ;( (#3263)
* v0.50.0 hotfix

* rel notes
2025-04-09 23:58:37 -06:00
Fernand Galiana e55083ba27
Rel v0.50.0 (#3254)
* update deps + add stale issues

* springclean client and dao

* gvr clean up
* perf updates

* springclean render

* update gvr
* perf
* add jq like cust views support

* springclean config and models

* gvr update
* perf

* springclean perf

* springclean ui bits

* update ro icon
* updage gvr
* perf

* springclean watch

* update linter to v2

* update gha workflows

* small clean up

* spring clean
* move pool to internal

* rel notes
2025-04-08 23:40:34 -06:00
Fernand Galiana 3a03b67af0
Rel v0.40.11 (#3239)
* Fix #3222 - add gvr title config option

* Fix #3224 - pod shell use default co annotation

* Fix #3226 - yaml search busted

* Fix #3210 - description line is buggy -> update ro icons

* deps-update

* spring cleaning

* update deps + add stale issues
* cleanup secrets
2025-03-30 11:42:45 -06:00
Jason Tackaberry 88e04217a2
feat: add splashless option to suppress splash screen on start (#3110)
* Add splashless option to suppress splash screen

Fixes #1911

* Add tests for splashless option

* Update docs for splashless option
2025-03-30 09:37:57 -06:00
D54 6908d62094
fix: List CRDs which has k8s.io in their names (#3237)
When a CRD's GV contained k8s.io (e.g.
infrastructure.cluster.x-k8s.io/v1beta1), it was considered as standard
resource, therefore no alias was generated in the form of
"<name>.<group>", therefore the CRD list view could not open the listing
of that specific CRD.
2025-03-30 08:48:42 -06:00
Fernand Galiana 35361bb238
Rel v0.40.10 (#3206)
* [HOTFIX] Broke plugins ;(

* add support for cust cols on alias+ns

* rel notes
2025-03-16 10:01:13 -06:00
Fernand Galiana fc5f1907c4
Rel v0.40.9 (#3205)
* update write icon

* fix#3202

* rel docs

* update linter

* lint

* test

* lint
2025-03-15 16:41:39 -06:00