Skip to content

Commit 09f6d2a

Browse files
fj0ragent
andauthored
kubernetes: fix -n in completion context (nushell#523)
Co-authored-by: agent <agent@nuc>
1 parent 140f556 commit 09f6d2a

File tree

1 file changed

+59
-42
lines changed

1 file changed

+59
-42
lines changed

modules/kubernetes/kubernetes.nu

Lines changed: 59 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -501,37 +501,37 @@ export def kg [
501501
export def kd [
502502
r: string@"nu-complete kube kind"
503503
i: string@"nu-complete kube res"
504-
-n: string@"nu-complete kube ns"
504+
--namespace (-n): string@"nu-complete kube ns"
505505
] {
506-
kubectl describe (spr [-n $n]) $r $i
506+
kubectl describe (spr [-n $namespace]) $r $i
507507
}
508508

509509
# kubectl create
510510
export def kc [
511511
r: string@"nu-complete kube kind"
512-
-n: string@"nu-complete kube ns"
512+
--namespace (-n): string@"nu-complete kube ns"
513513
name:string
514514
] {
515-
kubectl create (spr [-n $n]) $r $name
515+
kubectl create (spr [-n $namespace]) $r $name
516516
}
517517

518518
# kubectl get -o yaml
519519
export def ky [
520520
r: string@"nu-complete kube kind"
521521
i: string@"nu-complete kube res"
522-
-n: string@"nu-complete kube ns"
522+
--namespace (-n): string@"nu-complete kube ns"
523523
] {
524-
kubectl get (spr [-n $n]) -o yaml $r $i
524+
kubectl get (spr [-n $namespace]) -o yaml $r $i
525525
}
526526

527527
# kubectl edit
528528
export def ke [
529529
k: string@"nu-complete kube kind"
530530
r?: string@"nu-complete kube res"
531-
-n: string@"nu-complete kube ns"
531+
--namespace (-n): string@"nu-complete kube ns"
532532
--selector(-l): string
533533
] {
534-
let n = (spr [-n $n])
534+
let n = (spr [-n $namespace])
535535
let r = if ($selector | is-empty) { $r } else {
536536
let res = (kubectl get $k $n -l $selector | from ssv -a | each {|x| $x.NAME})
537537
if ($res | length) == 1 {
@@ -549,10 +549,10 @@ export def ke [
549549
export def kdel [
550550
r: string@"nu-complete kube kind"
551551
i: string@"nu-complete kube res"
552-
-n: string@"nu-complete kube ns"
552+
--namespace (-n): string@"nu-complete kube ns"
553553
--force(-f): bool
554554
] {
555-
kubectl delete (spr [-n $n]) (sprb $force [--grace-period=0 --force]) $r $i
555+
kubectl delete (spr [-n $namespace]) (sprb $force [--grace-period=0 --force]) $r $i
556556
}
557557

558558

@@ -564,16 +564,16 @@ export def kgno [] {
564564

565565
def "nu-complete kube pods" [context: string, offset: int] {
566566
let ctx = ($context | parse cmd)
567-
let ns = (do -i { $ctx | get '-n' })
567+
let ns = (do -i { $ctx | get namespace })
568568
let ns = (spr [-n $ns])
569569
kubectl get $ns pods | from ssv -a | get NAME
570570
}
571571

572572
def "nu-complete kube ctns" [context: string, offset: int] {
573573
let ctx = ($context | parse cmd)
574-
let ns = (do -i { $ctx | get '-n' })
574+
let ns = (do -i { $ctx | get namespace })
575575
let ns = (spr [-n $ns])
576-
let ctn = (do -i { $ctx | get '-c' })
576+
let ctn = (do -i { $ctx | get container })
577577
let ctn = (spr [-c $ctn])
578578
let pod = ($ctx | get args.1)
579579
kubectl get $ns pod $pod -o jsonpath={.spec.containers[*].name} | split row ' '
@@ -605,27 +605,30 @@ export def kgpw [
605605

606606
# kubectl edit pod
607607
export def kep [
608-
-n: string@"nu-complete kube ns"
608+
--namespace (-n): string@"nu-complete kube ns"
609609
pod?: string@"nu-complete kube res via name"
610610
--selector (-l): string
611611
] {
612-
ke -n $n pod -l $selector $pod
612+
ke -n $namespace pod -l $selector $pod
613613
}
614614

615615
# kubectl describe pod
616-
export def kdp [-n: string@"nu-complete kube ns", pod: string@"nu-complete kube res via name"] {
617-
kd -n $n pod $pod
616+
export def kdp [
617+
--namespace (-n): string@"nu-complete kube ns"
618+
pod: string@"nu-complete kube res via name"
619+
] {
620+
kd -n $namespace pod $pod
618621
}
619622

620623
# kubectl attach (exec -it)
621624
export def ka [
622625
pod?: string@"nu-complete kube pods"
623-
-n: string@"nu-complete kube ns"
626+
--namespace (-n): string@"nu-complete kube ns"
624627
--container(-c): string@"nu-complete kube ctns"
625628
--selector(-l): string
626629
...args
627630
] {
628-
let n = (spr [-n $n])
631+
let n = (spr [-n $namespace])
629632
let pod = if ($selector | is-empty) { $pod } else {
630633
let pods = (
631634
kubectl get pods $n -o wide -l $selector
@@ -697,19 +700,19 @@ export def kpf [
697700
target: string@"nu-complete kube res"
698701
port: string@"nu-complete kube port"
699702
--local (-l): string
700-
-n: string@"nu-complete kube ns"
703+
--namespace (-n): string@"nu-complete kube ns"
701704
] {
702-
let n = (spr [-n $n])
705+
let n = (spr [-n $namespace])
703706
let port = if ($local | is-empty) { $port } else { $"($local):($port)" }
704707
kubectl port-forward $n $"($res)/($target)" $port
705708
}
706709

707710
def "nu-complete kube cp" [cmd: string, offset: int] {
708711
let ctx = ($cmd | str substring ..$offset | parse cmd)
709712
let p = ($ctx.args | get (($ctx.args | length) - 1))
710-
let ns = (do -i { $ctx | get '-n' })
713+
let ns = (do -i { $ctx | get namespace })
711714
let ns = (spr [-n $ns])
712-
let c = (do -i { $ctx | get '-c' })
715+
let c = (do -i { $ctx | get container })
713716
let c = (spr [-c $c])
714717
let ctn = (kubectl get pod $ns | from ssv -a | each {|x| {description: $x.READY value: $"($x.NAME):" }})
715718
let n = ($p | split row ':')
@@ -728,10 +731,10 @@ def "nu-complete kube cp" [cmd: string, offset: int] {
728731
export def kcp [
729732
lhs: string@"nu-complete kube cp"
730733
rhs: string@"nu-complete kube cp"
731-
-c: string@"nu-complete kube ctns"
732-
-n: string@"nu-complete kube ns"
734+
--container (-c): string@"nu-complete kube ctns"
735+
--namespace (-n): string@"nu-complete kube ns"
733736
] {
734-
kubectl cp (spr [-n $n]) $lhs (spr [-c $c]) $rhs
737+
kubectl cp (spr [-n $namespace]) $lhs (spr [-c $container]) $rhs
735738
}
736739

737740
# kubectl get services
@@ -747,15 +750,18 @@ export def kgs [
747750
# kubectl edit service
748751
export def kes [
749752
svc?: string@"nu-complete kube res via name"
750-
-n: string@"nu-complete kube ns"
753+
--namespace (-n): string@"nu-complete kube ns"
751754
--selector (-l): string
752755
] {
753-
ke -n $n service -l $selector $svc
756+
ke -n $namespace service -l $selector $svc
754757
}
755758

756759
# kubectl delete service
757-
export def kdels [svc: string@"nu-complete kube res via name", -n: string@"nu-complete kube ns"] {
758-
kdel -n $n service $svc
760+
export def kdels [
761+
svc: string@"nu-complete kube res via name"
762+
--namespace (-n): string@"nu-complete kube ns"
763+
] {
764+
kdel -n $namespace service $svc
759765
}
760766

761767
# kubectl get deployments
@@ -771,38 +777,38 @@ export def kgd [
771777
# kubectl edit deployment
772778
export def ked [
773779
d?: string@"nu-complete kube res via name"
774-
-n: string@"nu-complete kube ns"
780+
--namespace (-n): string@"nu-complete kube ns"
775781
--selector (-l): string
776782
] {
777-
ke -n $n deployments -l $selector $d
783+
ke -n $namespace deployments -l $selector $d
778784
}
779785

780786
def "nu-complete num9" [] { [0 1 2 3] }
781787
# kubectl scale deployment
782788
export def ksd [
783789
d: string@"nu-complete kube res via name"
784790
num: string@"nu-complete num9"
785-
-n: string@"nu-complete kube ns"
791+
--namespace (-n): string@"nu-complete kube ns"
786792
] {
787793
if ($num | into int) > 9 {
788794
"too large"
789795
} else {
790-
let n = (spr [-n $n])
796+
let n = (spr [-n $namespace])
791797
kubectl scale $n deployments $d --replicas $num
792798
}
793799
}
794800
# kubectl scale deployment with reset
795801
export def ksdr [
796802
d: string@"nu-complete kube res via name"
797803
num: int@"nu-complete num9"
798-
-n: string@"nu-complete kube ns"
804+
--namespace (-n): string@"nu-complete kube ns"
799805
] {
800806
if $num > 9 {
801807
"too large"
802808
} else if $num <= 0 {
803809
"too small"
804810
} else {
805-
let n = (spr [-n $n])
811+
let n = (spr [-n $namespace])
806812
kubectl scale $n deployments $d --replicas 0
807813
kubectl scale $n deployments $d --replicas $num
808814
}
@@ -814,23 +820,34 @@ export alias krsd = kubectl rollout status deployment
814820
export alias kgrs = kubectl get rs
815821

816822
# kubectl rollout history
817-
export def krhd [-n: string@"nu-complete kube ns", --revision (-v): int, dpl: string@"nu-complete kube res via name"] {
818-
let n = (spr [-n $n])
823+
export def krhd [
824+
--namespace (-n): string@"nu-complete kube ns"
825+
--revision (-v): int
826+
dpl: string@"nu-complete kube res via name"
827+
] {
828+
let n = (spr [-n $namespace])
819829
let v = if ($revision|is-empty) { [] } else { [ $"--revision=($revision)" ] }
820830
kubectl $n rollout history $"deployment/($dpl)" $v
821831
}
822832

823833
# kubectl rollout undo
824-
export def krud [-n: string@"nu-complete kube ns", --revision (-v): int, dpl: string@"nu-complete kube res via name"] {
825-
let n = (spr [-n $n])
834+
export def krud [
835+
--namespace (-n): string@"nu-complete kube ns"
836+
--revision (-v): int
837+
dpl: string@"nu-complete kube res via name"
838+
] {
839+
let n = (spr [-n $namespace])
826840
let v = if ($revision|is-empty) { [] } else { [ $"--to-revision=($revision)" ] }
827841
kubectl $n rollout undo $"deployment/($dpl)" $v
828842
}
829843
export alias ksss = kubectl scale statefulset
830844
export alias krsss = kubectl rollout status statefulset
831845

832846
# kubectl top pod
833-
export def ktp [-n: string@"nu-complete kube ns" --all(-a): bool] {
847+
export def ktp [
848+
--namespace (-n): string@"nu-complete kube ns"
849+
--all(-a): bool
850+
] {
834851
if $all {
835852
kubectl top pod -A | from ssv -a | rename namespace name cpu mem
836853
| each {|x|
@@ -842,7 +859,7 @@ export def ktp [-n: string@"nu-complete kube ns" --all(-a): bool] {
842859
}
843860
}
844861
} else {
845-
let n = (spr [-n $n])
862+
let n = (spr [-n $namespace])
846863
kubectl top pod $n | from ssv -a | rename name cpu mem
847864
| each {|x|
848865
{

0 commit comments

Comments
 (0)