A cli that exposes your local resources to kubernetes

Ktunnel logo

ktunnel

Status GitHub Issues GitHub Pull Requests License


Expose your local resources to kubernetes

πŸ“ Table of Contents

🧐 About

Ktunnel is a CLI tool that establishes a reverse tunnel between a kubernetes cluster and your local machine. It lets you expose your machine as a service in the cluster or expose it to a specific deployment. You can also use the client and server without the orchestration part. Although ktunnel is identified with kubernetes, it can also be used as a reverse tunnel on any other remote system

Ktunnel was born out of the need to access my development host when running applications on kubernetes. The aim of this project is to be a holistic solution to this specific problem (accessing the local machine from a kubernetes pod). If you found this tool to be helpful on other scenarios, or have any suggesstions for new features - I would love to get in touch.

Ktunnel schema

Ktunnel schema

🏁 Getting Started

These instructions will get you a copy of the project up and running on your local machine for development and testing purposes. See deployment for notes on how to deploy the project on a live system.

Installation

Homebrew

brew tap omrikiei/ktunnel
brew install ktunnel

From the releases page

Download here and extract it to a local bin path

Building from source

Clone the project

git clone https://github.com/omrikiei/ktunnel; cd ktunnel

Build the binary

CGO_ENABLED=0 go build -ldflags="-s -w"

You can them move it to your bin path

sudo mv ./ktunnel /usr/local/bin/ktunnel

Test the commamd

ktunnel -h

🎈 Usage

Expose your local machine as a service in the cluster

This will allow pods in the cluster to access your local web app (listening on port 8000) via http (i.e kubernetes applications can send requests to myapp:8000)

ktunnel expose myapp 80:8000

Inject to an existing deployment

This will currently only work for deployments with 1 replica - it will expose a listening port on the pod through a tunnel to your local machine

ktunnel inject deployment mydeployment 3306

✍️ Authors

See also the list of contributors who participated in this project.

Owner
Omri Eival
Individual contributor and memory plumber @grubhub
Omri Eival
Comments
  • Sessions being left open with

    Sessions being left open with "closing session... err: EOF session not found in openRequests"

    We are using ktunnel to use xdebug against our remote php pods. It works great, but we noticed that all connections are left open indefinitely.

    The ktunnel logs show errors that seem to be related:

    INFO[2020-07-22 22:37:08 closing session 8b033568-e519-46ea-a42d-164b12a3c46d; err: EOF 
    ERRO[2020-07-22 22:37:14 8b033568-e519-46ea-a42d-164b12a3c46d; session not found in openRequests 
    ERRO[2020-07-22 22:37:15 8b033568-e519-46ea-a42d-164b12a3c46d; session not found in openRequests 
    INFO[2020-07-22 22:38:02 closing session 407cef1f-3cf7-4505-83b6-4f05f665388f; err: EOF 
    ERRO[2020-07-22 22:38:11 407cef1f-3cf7-4505-83b6-4f05f665388f; session not found in openRequests 
    ERRO[2020-07-22 22:38:12 407cef1f-3cf7-4505-83b6-4f05f665388f; session not found in openRequests 
    

    How do we resolve this?

  • Subsequent requests hang for exactly 1 minute

    Subsequent requests hang for exactly 1 minute

    Hey,

    I've got it set up and it works, but the request/response round-trip is intermittently very, very slow, or hangs and doesn't complete.

    I have no idea what kinds of logs/tests to try to give more meaningful information about this issue, if there are any suggestions I'd be happy to undertake them.

    Cheers!

  • URL Parse Error

    URL Parse Error

    Trying to use ktunnel with Rancher deployed pod (the example pod ffrom this repo). The following error is displayed: INFO[0001] Injecting tunnel sidecar to dparsons/pyremotedebug INFO[0002] Waiting for deployment to be ready INFO[0007] Waiting for port forward to finish ERRO[0007] error upgrading connection: error creating request: parse https://rancher.plaidcloud.io%2Fk8s%2Fclusters%2Fc-wfdqx/api/v1/namespaces/dparsons/pods/pyremotedebug-9ff9fc4c-trbcg/portforward: invalid URL escape "%2F"

  • Tunnel established but does not respond or shows high CPU usage

    Tunnel established but does not respond or shows high CPU usage

    Hi @omrikiei, it's me again πŸ™ˆ

    I am currently trying to forward a simple local HTTP server into the cluster. Service, deployment and kTunnel (28688 -> 28688) are always established correctly and do not show any errors. Nevertheless the ktunnel server very often does not forward any requests to the local ktunnel client. Requests end in a timeout, although no errors can be seen.

    Steps to reproduce

    1. download latest (brew) binary 1.1.10 for macos
    2. execute ktunnel -v expose myapp 8080:8080
    3. see:
    INFO[0000] Exposed service's cluster ip is: 10.99.192.110 
    INFO[0000] waiting for deployment to be ready           
    INFO[0003] Waiting for port forward to finish           
    INFO[0004] Forwarding from 127.0.0.1:28688 -> 28688
    Forwarding from [::1]:28688 -> 28688 
    INFO[0004] starting tcp tunnel from source 8080 to target 8080 
    
    1. Perform a http request to service inside kubernetes (other) pod via curl -v http://myapp.default.svc.cluster.local:8080/ (ip gets resolved to exposed service cluster ip) no response, no incoming request to local server, no session created)
    2. CTRL+C on client side
    INFO[0027] Got exit signal, closing client tunnels and removing k8s objects 
    INFO[0027] Deleting service travellerapp                
    WARN[0027] error reading from stream: %vrpc error: code = Canceled desc = grpc: the client connection is closing 
    INFO[0027] Deleting deployment myapp  
    

    kubectl version

    Client Version: version.Info{Major:"1", Minor:"15", GitVersion:"v1.15.1", GitCommit:"4485c6f18cee9a5d3c3b4e523bd27972b1b53892", GitTreeState:"clean", BuildDate:"2019-07-18T14:25:20Z", GoVersion:"go1.12.7", Compiler:"gc", Platform:"darwin/amd64"}
    Server Version: version.Info{Major:"1", Minor:"15", GitVersion:"v1.15.4", GitCommit:"67d2fcf276fcd9cf743ad4be9a9ef5828adc082f", GitTreeState:"clean", BuildDate:"2019-09-18T14:41:55Z", GoVersion:"go1.12.9", Compiler:"gc", Platform:"linux/amd64"}
    

    In a few cases the server forwards the request to the client and the HTTP request is successfully answered. After that the CPU load of the (local) ktunnel client increases to 500-600% (6 cores). The client still responds (but no further tunnel requests are forwarded), but the CPU usage does not decrease.

    The cpu usage increases after the client logs

    INFO[0005] b638fa36-d3ad-4cfd-8881-38b5cf9a8cca; new session; connecting to port 8080 
    

    Please let me know how I can help you to reproduce the bug. Thank you! Markus

  • ktunnel inject deployment not working

    ktunnel inject deployment not working

    i was trying ktunnel to inject deployment but not working

    command used:-ktunnel inject deployment flask-deployment 80

    Error

    "status": "Failure",
      "message": "pods \"flask-deployment-6c86b6f988-vkfh8\" is forbidden: User \"system:anonymous\" cannot get resource \"pods/portforward\" in API group \"\" in the namespace \"default\"",
      "reason": "Forbidden",
      "details": {
        "name": "flask-deployment-6c86b6f988-vkfh8",
        "kind": "pods"
      },
    
  • Expose doesn't work when source and target port are different

    Expose doesn't work when source and target port are different

    I tried to use the expose command to forward traffic from a kubernetes service to a local port:

    ktunnel expose myservice 80:8000
    

    Access from another pod in the same cluster using curl just says:

    Failed to connect to myservice port 80: Connection refused
    

    It looks like the service will be created with a source port of 80 and a target port of 8000, but the pod is listening on port 80. When I change the service manually and set source and target port to 80, it works.

  • Failed reading from socket, exiting

    Failed reading from socket, exiting

    When we try to use ktunnel to establish a connection for using xdebug in one of our containers, it works for about 15 seconds before failing with this error:

    INFO[2020-04-09 16:32:45] f73e9c2d-ffdb-48dd-aa74-a4f8be552086; new session; connecting to port 9000
    ERRO[2020-04-09 16:32:58] f73e9c2d-ffdb-48dd-aa74-a4f8be552086; failed reading from socket, exiting: read tcp 127.0.0.1:55793->127.0.0.1:9000: read: connection reset by peer
    

    The ktunnel command we were using was ktunnel inject -n poor-cannon deployment api 8999:8999

    ktunnel version: 1.2.2

  • ERRO[0007] Error sending init tunnel request: rpc error: code = Unavailable

    ERRO[0007] Error sending init tunnel request: rpc error: code = Unavailable

    Hi @omrikiei :)

    Its me again, this time with the following:

    2020-02-06 09:52:13 >| $ ktunnel expose myWebapp 8084:8084 -n myNamespace
    INFO[0000] Exposed service's cluster ip is: 10.31.10.100
    INFO[0000] waiting for deployment to be ready           
    INFO[0007] All pods located for port-forwarding         
    INFO[0007] Waiting for port forward to finish           
    INFO[0007] Forwarding from 127.0.0.1:28688 -> 28688
    Forwarding from [::1]:28688 -> 28688 
    INFO[0007] starting tcp tunnel from source 8084 to target 8084 
    E0206 09:52:21.785327   10875 portforward.go:400] an error occurred forwarding 28688 -> 28688: error forwarding port 28688 to pod 3ddcdef600c6c0d884e3d71f5600a350623786083794ac4ef3a330c5ddc2944b, uid : exit status 1: 2020/02/06 07:52:21 socat[165522] E connect(5, AF=2 127.0.0.1:28688, 16): Connection refused
    ERRO[0007] Error sending init tunnel request: rpc error: code = Unavailable desc = all SubConns are in TransientFailure, latest connection error: connection closed 
    INFO[0023] Got exit signal, closing client tunnels and removing k8s objects 
    INFO[0023] Deleting service myWebapp
    

    I'll appreciate :heart_eyes: any clues as always :)

    Kind regards, Boris

  • Hanging at INFO[0000] waiting for deployment to be ready

    Hanging at INFO[0000] waiting for deployment to be ready

    Image is v1.3.6

    Kubernetes side, deployment/pod seems to start up just fine:

    k get pods
    NAME                       READY   STATUS    RESTARTS   AGE
    ktunnel-77b65858f8-w9zg5   1/1     Running   0          35s
    
    k get deployments
    NAME      READY   UP-TO-DATE   AVAILABLE   AGE
    ktunnel   1/1     1            1           37s
    

    Edit: just tried with v1.3.3 also since I remember that working for sure last time I used this (It's me from #36 :D) issue persists just the same... I've checked I haven't got any lingering ktunnel resources server-side as well

    Edit: k logs on the server pod shows:

    INFO[2021-04-12 15:35:20.451] Starting to listen on port 28688          
    
  • Problems with large files

    Problems with large files

    I'm trying to proxy to a local web server, but it looks like ktunnel doesn't behave well with large files. Here's some output from curl:

    ❯ curl https://proxy.mbuffett.com/_next/static/chunks/main.js | wc -c
      % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                     Dload  Upload   Total   Spent    Left  Speed
      8 4295k    8  377k    0     0  73862      0  0:00:59  0:00:05  0:00:54 73862
    curl: (18) transfer closed with 4012193 bytes remaining to read
    386672
    
    ❯ curl localhost:8085/_next/static/chunks/main.js | wc -c            
      % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                     Dload  Upload   Total   Spent    Left  Speed
    100 4295k  100 4295k    0     0   209M      0 --:--:-- --:--:-- --:--:--  209M
    4398865
    

    Please, no judgement for the 4MB JS file :smile: I do see these logs from ktunnel about buffer sizes:

    INFO[2020-07-30 07:59:34] increasing buffer size to 65536              
    INFO[2020-07-30 07:59:34] increasing buffer size to 131072
    

    Wonder if there's anything I can do about this limitation? Thanks!

    And awesome program, exactly what I was looking for and easy to set up

  • failed connecting to localhost on port 9002 scheme tcp

    failed connecting to localhost on port 9002 scheme tcp

    failed connecting to localhost on port 9002 scheme tcp

    ktunnel version 1.2.4 (1.2.5 actually)

    my PHPStorm is listening port 9002.

    ➜  ~ lsof -i :9002
    COMMAND    PID USER   FD   TYPE             DEVICE SIZE/OFF NODE NAME
    phpstorm 50781 cyao  465u  IPv6 0x32e9aa96a4c0d673      0t0  TCP *:pichat (LISTEN)
    

    And I also tried to start a TCP server to respond to the connection.

    ➜  ~ nc -vl 9002
    

    same error.

    ➜  ~ ktunnel -v inject deployment my-php-app 9000:9002 -n playground
    INFO[2020-05-01 00:59:00] Injecting tunnel sidecar to playground/my-php-app
    INFO[2020-05-01 00:59:01] Waiting for deployment to be ready
    INFO[2020-05-01 00:59:23] All pods located for port-forwarding
    DEBU[2020-05-01 00:59:23] Injecting to this pods: [my-php-app-6995b778b-8fzm5]
    INFO[2020-05-01 00:59:23] Waiting for port forward to finish
    INFO[2020-05-01 00:59:24] Forwarding from 127.0.0.1:28688 -> 28688
    Forwarding from [::1]:28688 -> 28688
    INFO[2020-05-01 00:59:24] starting tcp tunnel from source 9000 to target 9002
    DEBU[2020-05-01 00:59:25] attempting to receive from stream
    DEBU[2020-05-01 00:59:33] 780fece3-8339-40f4-bcf4-2da5a60fd5de; got session from server: 499<?xml version="1.0" encoding="iso-8859-1"?>
    <init xmlns="urn:debugger_protocol_v1" xmlns:xdebug="https://xdebug.org/dbgp/xdebug" fileuri="file:///var/www/html/www/public/index.php" language="PHP" xdebug:language_version="7.3.17" protocol_version="1.0" appid="38" idekey="PHPSTORM"><engine version="2.7.2"><![CDATA[Xdebug]]></engine><author><![CDATA[Derick Rethans]]></author><url><![CDATA[https://xdebug.org]]></url><copyright><![CDATA[Copyright (c) 2002-2019 by Derick Rethans]]></copyright></init>
    INFO[2020-05-01 00:59:33] 780fece3-8339-40f4-bcf4-2da5a60fd5de; new session; connecting to port 9002
    ERRO[2020-05-01 00:59:33] failed connecting to localhost on port 9002 scheme tcp
    
  • Support injection for applications with statefulset but no deployment.

    Support injection for applications with statefulset but no deployment.

    I have a fairly simple use-case but struggling to work out the series of commands to make this happen. In a dev environment with several namespaces each serving a php web app declared using a statefulset configuration, I want to reverse forward port 9003 to my local xdebug client. I expect

    ktunnel inject deployment <name_of_statefulset> 9003 -v
    INFO[0000] Injecting tunnel sidecar to default/owl-app  
    FATA[0001] failed injecting sidecar: deployments.apps "owl-app" not found 
    

    to use the existing statefulset or for ktunnel to provide an ktunnel inject statefulset command.

    If there is a workaround or a supported way to accomplish this, help would be appreciated.

    Thanks.

  • ARM64 image for Krew plugin

    ARM64 image for Krew plugin

    Hello,

    I'm trying to use the tunnel krew plugin on Mac M1 to tunnel to a local Kube cluster (Docker for Mac)

    It seems that there is not a published version for arm64 on quay.io, and if I try to use the amd64 through rosetta, it segfaults and does not create the tunnel:

    Output from running the docker container directly:

    docker run --rm quay.io/omrikiei/ktunnel:v1.4.8
    WARNING: The requested image's platform (linux/amd64) does not match the detected host platform (linux/arm64/v8) and no specific platform was requested
    qemu: uncaught target signal 11 (Segmentation fault) - core dumped
    

    Output from running the Krew plugin:

    kubectl tunnel expose --namespace=default --tls xdebug-svc 9003
    INFO[0000] Exposed service's cluster ip is: 10.99.222.125
    .INFO[0000] waiting for deployment to be ready
    ......
    INFO[0002] port forwarding to https://kubernetes.docker.internal:6443/api/v1/namespaces/default/pods/xdebug-svc-678c857f7c-77n9n/portforward
    INFO[0002] Waiting for port forward to finish
    INFO[0002] Forwarding from 127.0.0.1:28688 -> 28688
    Forwarding from [::1]:28688 -> 28688
    INFO[2022-09-22 18:03:02.586] starting tcp tunnel from source 9003 to target 9003
    E0922 18:03:02.617812   79680 portforward.go:400] an error occurred forwarding 28688 -> 28688: error forwarding port 28688 to pod e187a3212e5042c7226cf8ed49fb5b2585673d4701e6847e22aa1d2ae63d6539, uid : exit status 1: 2022/09/22 16:03:02 socat[19739] E connect(16, AF=2 127.0.0.1:28688, 16): Connection refused
    ERRO[2022-09-22 18:03:02.617] Error sending init tunnel request: rpc error: code = Unavailable desc = connection closed
    E0922 18:03:03.630357   79680 portforward.go:400] an error occurred forwarding 28688 -> 28688: error forwarding port 28688 to pod e187a3212e5042c7226cf8ed49fb5b2585673d4701e6847e22aa1d2ae63d6539, uid : exit status 1: 2022/09/22 16:03:03 socat[19740] E connect(16, AF=2 127.0.0.1:28688, 16): Connection refused
    ^CINFO[0004] Got exit signal, closing client tunnels and removing k8s objects
    INFO[0004] Deleting service xdebug-svc
    INFO[0004] Deleting deployment xdebug-svc
    

    Logs from the pod:

    β”‚ qemu: uncaught target signal 11 (Segmentation fault) - core dumped                                                                                                     
    

    Would it be possible to publish the arm64 image?

    Thanks for the awesome work on this tool!

  • ktunnel expose throws exception: failed parsing session uuid from stream, skipping  error=

    ktunnel expose throws exception: failed parsing session uuid from stream, skipping error="invalid UUID length: 0" session=

    I'm trying to expose a local microservice on port 8080 in my cluster on port 80 via ktunnel:

    ktunnel expose app 80:8080 -v
    

    However, this throws the following exception:

    INFO[0000] Exposed service's cluster ip is: 10.0.244.123 .INFO[0000] waiting for deployment to be ready ...... INFO[0002] port forwarding to https://controlplane.io:443/api/v1/namespaces/default/pods/app-99b5c8479-f8c55/portforward INFO[0002] Waiting for port forward to finish INFO[0002] Forwarding from 127.0.0.1:28688 -> 28688 Forwarding from [::1]:28688 -> 28688 INFO[2022-09-01 14:44:09.131] starting tcp tunnel from source 80 to target 8080 DEBU[2022-09-01 14:44:09.156] attempting to receive from stream ERRO[2022-09-01 14:44:09.170] failed parsing session uuid from stream, skipping error="invalid UUID length: 0" session= INFO[2022-09-01 14:44:09.170] new connection port=8080 session= DEBU[2022-09-01 14:44:09.171] received 0 bytes from server session=00000000-0000-0000-0000-000000000000 DEBU[2022-09-01 14:44:09.171] attempting to receive from stream INFO[2022-09-01 14:44:09.171] closing listener on 8080 error="context canceled" DEBU[2022-09-01 14:44:09.171] started reading conn session=00000000-0000-0000-0000-000000000000

    ktunnel does work though when exposing on port 8080:

    ktunnel expose app 8080:8080 -v
    

    Output:

    INFO[0000] Exposed service's cluster ip is: 10.0.232.32 .INFO[0000] waiting for deployment to be ready .... INFO[0001] port forwarding to https://controlplane.io:443/api/v1/namespaces/default/pods/app-76f85f96f5-x5zf7/portforward INFO[0001] Waiting for port forward to finish INFO[0002] Forwarding from 127.0.0.1:28688 -> 28688 Forwarding from [::1]:28688 -> 28688 INFO[2022-09-01 14:46:42.504] starting tcp tunnel from source 8080 to target 8080 DEBU[2022-09-01 14:46:42.531] attempting to receive from stream

    My preliminary conclusion is that ktunnel doesn't work on low ports (80, 81, etc.), but does work on high ports (8080, 8081).

    I'm using ktunnel version 1.4.8 on WSL2 (Ubuntu 20.04).

  • OpenShift compatibility (RunAsUser)

    OpenShift compatibility (RunAsUser)

    When using ktunnel with OpenShift, for me ktunnel expose does not reliably work because the Deployment created has RunAsUser, which OCP does not allow unless you adjust it's security configuration.

    OpenShift runs containers with non-root user by default, and the Deployment works fine when I manually remove the RunAsUser.

    So far the bug, I am open to providing a PR, but maybe you already have a solution in mind?

  • Does it work with Gihub codespaces?

    Does it work with Gihub codespaces?

    It is mentioned in the README "Although ktunnel is identified with kubernetes, it can also be used as a reverse tunnel on any other remote system"

    Is there anyway I can use ktunnel to expose local resources(webserver) so that they can be accessed from within the GitHub codespaces container?

    Thanks

Related tags
A k8s vault webhook is a Kubernetes webhook that can inject secrets into Kubernetes resources by connecting to multiple secret managers
A k8s vault webhook is a Kubernetes webhook that can inject secrets into Kubernetes resources by connecting to multiple secret managers

k8s-vault-webhook is a Kubernetes admission webhook which listen for the events related to Kubernetes resources for injecting secret directly from sec

Oct 15, 2022
Kubernetes IN Docker - local clusters for testing Kubernetes
Kubernetes IN Docker - local clusters for testing Kubernetes

kind is a tool for running local Kubernetes clusters using Docker container "nodes".

Jan 5, 2023
Kubernetes IN Docker - local clusters for testing Kubernetes
Kubernetes IN Docker - local clusters for testing Kubernetes

Please see Our Documentation for more in-depth installation etc. kind is a tool for running local Kubernetes clusters using Docker container "nodes".

Feb 14, 2022
Kusk makes your OpenAPI definition the source of truth for API resources in your cluster
Kusk makes your OpenAPI definition the source of truth for API resources in your cluster

Kusk - use OpenAPI to configure Kubernetes What is Kusk? Developers deploying their REST APIs in Kubernetes shouldn't have to worry about managing res

Dec 16, 2022
Local Storage is one of HwameiStor components. It will provision the local LVM volume.
Local Storage is one of HwameiStor components. It will provision the local LVM volume.

Local Storage Module English | Simplified_Chinese Introduction Local Storage is one of modules of HwameiStor which is a cloud native local storage sys

Aug 6, 2022
kubetnl tunnels TCP connections from within a Kubernetes cluster to a cluster-external endpoint, e.g. to your local machine. (the perfect complement to kubectl port-forward)

kubetnl kubetnl (kube tunnel) is a command line utility to tunnel TCP connections from within a Kubernetes to a cluster-external endpoint, e.g. to you

Dec 16, 2022
kolm - Kubernetes on your local machine

kolm - Kubernetes on your local machine kolm is a tool for running a Kubernetes 'cluster' consisting of an etcd and a kube-apiserver on your local mac

May 19, 2022
A kubernetes plugin which enables dynamically add or remove GPU resources for a running Pod
A kubernetes plugin which enables dynamically add or remove GPU resources for a running Pod

GPU Mounter GPU Mounter is a kubernetes plugin which enables add or remove GPU resources for running Pods. This Introduction(In Chinese) is recommende

Jan 5, 2023
A curated list of awesome Kubernetes tools and resources.

Awesome Kubernetes Resources A curated list of awesome Kubernetes tools and resources. Inspired by awesome list and donnemartin/awesome-aws. The Fiery

Jan 2, 2023
Annotated and kubez-autoscaler-controller will maintain the HPA automatically for kubernetes resources.

Kubez-autoscaler Overview kubez-autoscaler ι€šθΏ‡δΈΊ deployment / statefulset 添加 annotations ηš„ζ–ΉεΌοΌŒθ‡ͺεŠ¨η»΄ζŠ€ε―ΉεΊ” HorizontalPodAutoscaler ηš„η”Ÿε‘½ε‘¨ζœŸ. Prerequisites 在 kuber

Jan 2, 2023
nano-gpu-agent is a Kubernetes device plugin for GPU resources allocation on node.
nano-gpu-agent is a Kubernetes device plugin for GPU resources allocation on node.

Nano GPU Agent About this Project Nano GPU Agent is a Kubernetes device plugin implement for gpu allocation and use in container. It runs as a Daemons

Dec 29, 2022
Set of Kubernetes solutions for reusing idle resources of nodes by running extra batch jobs

Caelus Caelus is a set of Kubernetes solutions for reusing idle resources of nodes by running extra batch jobs, these resources come from the underuti

Nov 22, 2022
Search Kubernetes Ingress resources.
Search Kubernetes Ingress resources.

kubectl-ingress-search Search Ingress resources. Installation Download from Releases page. cp kubectl-ingress-search /usr/local/bin/ use kubectl-ingre

Nov 7, 2021
immutable, fluent, builders for Kubernetes resources

Dies - immutable, fluent, builders for Kubernetes resources Using dies Common methods Creating dies diegen die markers +die This project contains dies

May 6, 2022
A query server on Kubernetes resources

kql A query server on Kubernetes resources. Example curl command: # for query si

Jan 13, 2022
Valse is an kubernetes exporter application that discovers resources such as version
Valse is an kubernetes exporter application that discovers resources such as version

What is the Valse? Valse is an kubernetes exporter application that discovers resources such as version, namespaces, node, pod, deployment, daemonset,

Jul 22, 2022
Lists some Kubernetes resources in cluster or at hosts.

k8s-native-app Containerized this: go build After building this we have binary files to dockerize. Create Dockerfile. docker build -t project-clientgo

Feb 12, 2022
Kubernetes OS Server - Kubernetes Extension API server exposing OS configuration like sysctl via Kubernetes API

KOSS is a Extension API Server which exposes OS properties and functionality using Kubernetes API, so it can be accessed using e.g. kubectl. At the moment this is highly experimental and only managing sysctl is supported. To make things actually usable, you must run KOSS binary as root on the machine you will be managing.

May 19, 2021
A Terraform module that creates AWS alerts billing for your resources.

terraform-aws-billing-alarms terraform-aws-billing-alarms for project Replace name project to New Project agr 'terraform-aws-billing-alarms' 'new-pr

Oct 20, 2021