Java Spring-Boot senior 4 proxmox API swagger implem

Job ID: 37424123

Budget: $10 – $50 USD

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

Your job will be to implement this API (cora-api) as REST client
https://pve.proxmox.com/wiki/Proxmox_VE_API
and
https://pve.proxmox.com/pve-docs/api-viewer/index.html

You will get the swagger generated java client implementation to access the API. Your job is to provide the functions to be more from the UX perspective and to implement them as service methods and to call the service-class as junit tests.

Mandatory!!!!
You have to have a installed proxmox on your local environment to be able to use it properly and to test it properly!
you can run locally via:
https://pve.proxmox.com/wiki/Proxmox_VE_inside_VirtualBox

Milestones
MS1:
Delivery of readme.md to reproduce your steps of the proxmox installation on virtualBox
Implement a REST api call to CRUD users and groups
https://pve.proxmox.com/pve-docs/api-viewer/index.html#/access/users
https://pve.proxmox.com/pve-docs/api-viewer/index.html#/access/groups

- find all users and return the users as full DTO (use jsonschema2pojo to get all fields generated)
List<UserDTO> findAllUsers()
List<UserDTO> findUsers(List<UserDTO> pUsersByExampleToFind)
- add users
List<UserDTO> addUsers(List<UserDTO> pUsersToAdd)
- update update users
List<UserDTO> updateUsers(List<UserDTO> pUsersToUpdate)
- block/ban users
List<UserDTO> blockUsers(List<UserDTO> pUsersToDelete)
- delete users
List<UserDTO> deleteUsers(List<UserDTO> pUsersToDelete)
requiring methods to create groups similar to users
and requiring to add and remove users into/from groups

MS2:
- CRUDing LXC containers
- create new container from template
- update container configurations like cpus, disks, mem, swap
https://pve.proxmox.com/pve-docs/api-viewer/index.html#/nodes/{node}/lxc
suggest methods for it

MS3:
- CRUDing kvm/qemu containers
- create new container from template
- update container configurations like cpus, disks, mem, swap
https://pve.proxmox.com/pve-docs/api-viewer/index.html#/nodes/{node}/qemu
suggest methods for it

MS4:
we will assign you more tasks if the prior tasks worked well

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, test and deliver
- you provide also unit /integration tests to ensure code is always working
- you document each required step to make interaction of systems to work
- we test on our premise (you maybe help to fix issues)
- 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
- mutliple samples of body and responses of the api in test/resources which will be used as unit tests
- maven
- libs, need prior confirm and we prefer to use mostly latest stable versions
- JDK 17 (mostly LTS)
- your api access code working on our end
- used libs and apis are on latest stable version
- docker compose setup & readme to run locally on your machine and (we will use it on CI/CD, if you are able to handle we place you an addition milestone for it)