Giter Club home page Giter Club logo

jumper's Introduction

Hi there ๐Ÿ‘‹



I'm Julian, a Network and Research Engineer based in Switzerland, diving deep into the intersection of networking and cloud-native technologies. My current focus is on leveraging eBPF and Go to revolutionize dataplane programming and network efficiency.

More about my journey!
  • ๐ŸŽ“ Proud holder of a Master's Degree in Computer Science from Eastern Switzerland University.

  • ๐Ÿ’ผ Engaged as a Network and Research Engineer at the Institute for Network and Security, pushing the boundaries of Segment Routing and network innovation.

  • ๐ŸŒ Focusing on eBPF and Go for cutting-edge network programming and application development.

  • ๐Ÿš€ Working on some cool new projects.


Keen on discussing eBPF, Go, Segment Routing, or any tech-related topic?

jumper's People

Contributors

dependabot[bot] avatar jklaiber avatar severindellsperger avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

jumper's Issues

Installation issue

I just wanted to install jumper but get the following error:
image

Is this a known fault?

SSH Connection Error

The code panics as soon as I want to connect to a host.

jumper connect -g test test-server
Connecting to 172.16.xx.xx with xxx

panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x20 pc=0x5d8e3c]

goroutine 10 [running]:
golang.org/x/crypto/ssh.(*connection).clientAuthenticate(0xc00020a800, 0xc000216340)
	/go/pkg/mod/golang.org/x/[email protected]/ssh/client_auth.go:65 +0x53c
golang.org/x/crypto/ssh.(*connection).clientHandshake(0xc00020a800, {0xc000016a60, 0xf}, 0xc000216340)
	/go/pkg/mod/golang.org/x/[email protected]/ssh/client.go:113 +0x285
golang.org/x/crypto/ssh.NewClientConn({0x8d6660, 0xc000010030}, {0xc000016a60, 0xf}, 0xc0000b2750)
	/go/pkg/mod/golang.org/x/[email protected]/ssh/client.go:83 +0x12e
golang.org/x/crypto/ssh.Dial({0x825af3?, 0xc000092cc0?}, {0xc000016a60, 0xf}, 0xc0000b2750)
	/go/pkg/mod/golang.org/x/[email protected]/ssh/client.go:177 +0x59
github.com/jklaiber/jumper/pkg/connection.runShell({0x8d5550?, 0xc0000762c0}, {0xc000092cc0?, 0xc000112200?}, 0x8d5550?)
	/github/workspace/pkg/connection/connection.go:87 +0x92
github.com/jklaiber/jumper/pkg/connection.NewConnection.func1()
	/github/workspace/pkg/connection/connection.go:71 +0x36
created by github.com/jklaiber/jumper/pkg/connection.NewConnection
	/github/workspace/pkg/connection/connection.go:70 +0x54d

There can be many reasons for this problem. I will dig into what causes it.

Validate inventory YAML

I've noticed that if the inventory contains a wrong-formatted YAML, the whole application is unusable.
I found out that it happens when a tab is used (which is not transformed into whitespace).
After saving the whole application seems broken e.g.

$ jumper edit inventory
2023/08/11 11:17:25 could not create inventory

$ jumper connect test
2023/08/11 11:18:56 could not create inventory

In this case, the inventory file has to be encrypted via ansible-vault, and the content formatted correctly.

To prevent this from happening, it would be wise to implement a validation process after the inventory has been edited. This will ensure that the inventory remains error-free and the application runs smoothly.

SSH Agent Forwarding

Hi there,

I suggest we add SSH Agent Forwarding, the same as ssh -A, to simplify management on remote servers.
We must consider whether we want to add the option to the inventory or depend on the SSH config.
Furthermore, it makes sense to have a prompt asking the user if the ssh-agent should be forwarded. If there is a prompt, it may be good if it can be turned off since there may be servers where the Agent should be forwarded without explicit confirmation.

Reference from the ssh man page:
image

Ansible Inventory Variables

The inventory should support the default Ansible inventory variables in order to have a seamless experience when using an Ansible inventory with jumper.

Internal Variable Jumper Inventory Variable Ansible Inventory Variable
Username username ansible_user
Password password ansible_ssh_pass
Address address ansible_host

Up / Download

There should be the possibility to up or download files to or from the remote host.

jumper upload -g testgroup testhost localfolder/test.yaml remotefolder/test.yaml
jumper download -g testgroup testhost remotefolder/test.yaml localfolder/test.yaml

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.