Java Spring-Boot & Core-Java senior 4 ssh based command execution

Job ID: 37064886

Budget: $10 – $50 USD

We look for Java Spring-Boog and Core-Java senior expert developer

Your job will be to implement requirements which are mutually agreed on executing ssh commands on remote machines.
You will require to suggest a pattern to implement ssh with java libraries and with different ssh providers. e.g. jsch or MINA ssh. Plz suggest the corresponding pattern, which allows to extend more implementations

Mandatory!!!!
You have to have a installed znuny on your local environment to be able to use it properly and to test it properly!
you can run locally via docker
https://hub.docker.com/r/juanluisbaptiste/znuny

suggesting you to stay on latest 6.x znuny version!

Milestones
MS1:
Implement a pattern + implementation for running remote ssh commands with jsch and MINA sshd
- methods required
List<CommandDTO> execSshCommands(List<CommandDTO> pCommands, SshHostModel pHostdetails)
CommandDTO contains
- the command to execute
- the errorlevel from command received
- the output of the command on remote system
ssh-auth with user/password and private/public key

MS2
- run ssh command agains znuny to provide CRUD to users
- List<UserDTO> createUsers(List<UserDTO> pUsersToCreate)
- List<UserDTO> deleteUsers(...)
- List<UserDTO> findUsers(List<UserDTO> pUsersByExample)
- List<UserDTO> updateUsers(...)
- List<UserDTO> invalidateUsers(...) // a temporary disable flag on znuny for user accounts

Implementations:
- a Interface representing the above methods
- the impl of the interface
- the DTOs are hardcoded examples in multiple JUnit tests, so that the JUnit tests is basically your "main" method replacement with multiple entry points

NO UI for now required!
NO database required!
No REST endpoint exposing for the above named methods required! (only consuming the apis in the given links)

Your background is:
- multiple years of experience with Java
- multiple years of experience with REST APIs

If you are a good fit, you are open to get more tasks about implementing solutions fully on your own (e.g. with your team)

Budget?
will not be disclosed, place your best bid to get considered

What is next?
We will share you a NDA and afterwards a paid test task.

Payment?
- you estimate in a WBS (optimistic, expected, pessimistic, where optimistic < expected < pessimistic) after getting the task
- we discuss about clearances and effort
- we mutually agree to effort
- we assign you the task after mutually agreed
- you implement & delivery
- we pay
(basically the rules of freelancer)

Closed book vs open book?
We work only on open book.
Closed book means you are unwilling to define a WBS for the work and you add only a price tag to the task.
We are sorry we will not hire you in such a case!

Deliveries?
- in our on premise git (access will be granted to you)
- full sources
- maven
- libs, need prior confirm and we prefer to use mostly latest stable versions
- spring-boot latest stable
- JDK 17 (mostly LTS)