- Fix LDAP account verification failure - Fix #37. The LDAP account have not an associated freeze status, so the account verification was failing
- Handling of end cotisation - The frontend is now able to display to the user when its cotisation is expired and what to expect from it. It adapts according to the freeze status. The backend also handle this feature. Firstly to deal with this new user property and secondly to protect all endpoint. Fix #5. Fix #16.
- All types of ssh keys are now supported - The regex in charge of checking ssh keys was blacklisting valid keys. Fix #32
-
Possibility to update the cloud init creds - For now this feature is only available when restoring a VM after losing its data
-
Add a information, warning and call to actions after the data lost of VMs - For data lost from prod only
- Search bar for admin - Add a search field for admin in order to retrieve a vm from its name or owner. Fix #7
-
French translation - Add the whole french translation for the project.
-
Frontend possibility to destroy a ghost VM - The user can now open it and it doesn't load forever in the VM list page
-
Complete re-definition of the deletion backend method - The deletion func is now devided in two func : delete_from_db and delete_from_proxmox. They are just deleting the VM from the two instances and are called internally or by default_controller depending of the type of deletion. A common deletion func in called in thread an handle the errors and the update of the vm state.
-
Update the VM creation status to get vm state to be more clearer
-
Better handle of http errors message in the fronted - Better handle errors message which directly embedd the http code, http code description and error description in the page. Add a pop up to force user to write down the VM id to validate the deletion
-
Fix the issue causing the impossibility to delete an existing VM when an error occured - Fix issue #21. The VM deletion is 100% rewritten with a heavy and resilient process able to delete a VM when an error occured during its creation, delete a VM when the user wanted to do so (it was working before but without any feedback for the user)
-
A user can now open and display an 'ghost VM' - A ghost VM is a VM created in the db but not on proxmox. The was causing a infinite loading in the VM list page and an error while trying to display information about it.
-
User can no longer create any DNS entry - Issue #15. It must be a DNS entry with alphanumeric char. It is tested by both backend and frontend.
-
User can no longer create any DNS entry for an ip they don't own - Issue #19. It is tested by both backend and frontend.
-
Fix of ALL error message with a http error code clear and accurate and an error message explicit - Issue #18. All error messages have been rewritten and the error display pop up embed now new fields.
-
Fix an issue causing the stop of all the ip attribution if one of them fail - The job updating the ip is now error-resiliant and doesn't fail for all when fails for one.
-
Add a util method able to translate an http code to a http message
-
The api endpoint /ips to retrieve the list of ips of a user.
-
A json file to store the vm status - Indeed, a global variable cannot be used threw the different gunicorn instances
-
Force reinstall python packages - Some of the packages where deprecated and caused run time error
-
The job in charge of updating all the ips address is now executed each 2 min - Instead of each 10s before. It doesn't fix the slow ip attribution issue.
-
The vm creation processus is now more error-resiliant - When a vm is created, its state is saved in a json until an error or an success. When one of them happens, the backend waits for a call by the user, throw the final result and delete the json entry. This attributes is now displayed when /vm/vmid is called, instead of the frontend guess of the vm status (it also brings a very important feature : the display of very accurate error messages)
-
README to stick with the new backend URL automatic calculation
-
Fix the VM creation crash when the VM user name was 'root' The user named 'root' is now prohibited (frontend and backend).
-
Fix the VM init in the db but not created in proxmox if the user leaves hosting during the vm creation process - Issue #6. More info below.
-
Fix the VM creation which always crash and progress bar which starts over and stops sometimes - Issue #9. More info below.
-
While the backend is build, it checks if the env variables are well defined and exported - It fixes runtime errors (with no link to this issue) when the backend was not able to retrieve the wanted variables. It's now crash on build with debug info (improved by this commit).
-
Fix the favicon path which was dead - And a little fix of this commit
-
A password length checker - User passwords have now to respect the CNIL's recommandations : at least 1 uppercase, 1 special char, 1 number and contain 12 characters. It's a frontend checker which not allows you to submit the creation form if these conditions are not respected.
-
A patch for cloud init and sshd configurations - In order to upgrade the hosting's security policies, there are two patchs in shellbash that can be downloaded and executed on a VM. The cloud init patch change the sudoers configuration to force user using a password when entering in sudomod. The sshd patch force users to use a key for SSH connection.
-
Security for the sshd conf patch - The patch script checks if the .ssh contains keys before patching.
-
Force SSH key when create a VM and prohibit some VM user name - A VALID SSH key is now mandatory when creating a VM. The user named 'root' is also now prohibited.
-
Support of hosting-dev deployment - A new web app has been created : hosting-dev.minet.net, to test in production environnement the new versions of hosting. A special CI/CD is now dedicated to deploy hosting-dev when push are made on the development branch.
-
Backend checks for user input when create a VM - The Backend now does a double check with the front on user information when creating a VM. It checks as many things as the fronted and throw an explicit error if the rules are not respected.
-
User manual for SSH key creation - Add explanations in french and english for how to create a SSH key and how to use it.
-
New link on the VM creation form to the SSH key manual - Add a direct link to the manual page (about SSH key) in the VM creation form.
-
Backend checks the password strength, the ssh_key format, and the username - This is le last checks needed by the backend to fully test the user's info. Now frontend and backend are redundant and resilient
-
The new VM creation method (frontend) waits for multiple errors to throw them to the user - After some tests, it appears thats the front needs to wait for several request error to return the error to the user. With the new async method to create vm, a request lost cannot be reliable. Now, the front must have 5 consecutive backend errors to trust them
-
Different html 'title', according to the type of hosting running (prod, dev, local)
-
[Add https://gitlab.minet.net/zastava/hosting-proxmox/-/commit/a5c2dd1240d653f44dac966ab078d53d5a687495
-
Swagger code changed to get ride of 'is using a ssh key' field - When the rule to only use a SSH key, this field is deprecated. The code has been generated but not yet merge.
-
Better error handling when create a VM - In case of error (client or server side) the fronted now displays the new explicit error message to the user and enables him to edit the VM creation form, instead of displaying a generic error and only one possibility : refresh the page and restart all over.
-
Update of the package CommonJS - It envoles updates of code, especially when calling the dependency
-
Usage of yarn to build the project - Instead of a classic ng build.
-
Totally new design of the VM creation method (backend) - The VM creation is now devided in two separated parts. The first one creates the VM by cloning the template and return a success code to the front. The second one (executing async) waits for the vm to be created to set up the vm (with user info). The VM deletion (called if there is an error while creating the VM) is corrected.
-
Totally new design of the VM creation method (fronted) - In view of the VM new design of the VM creation method, the frontend now just inits the vm creation and then the frontend checks every 2s if the VM is created. If an error occured (backend), then the VM is deleted and the get request return 404. So the frontend knows it can display a VM error. Moreover, the VM creation isn't based anymore on a unique request which takes few minutes and timeout. + the frontend now handles very well all the errors + the vm page is show if the vm creation succeed + the progress bar is more smooth and realistic
-
The project is now able to use the right backend and API urls (depends on the usage (dev, prod, local)) - It is no more expected to change the allowed URL for OAuth path and source url in auth service (it caused CI/CD errors). It is now adapted on the use of hosting.minet.net --> backprox.minet.net, hosting-dev.minet.net --> backprox-dev.minet.net and hosting-local.minet.net --> localhost:8080 WARNING : a local DNS entry is now mandatory for hosting-local.minet.net or the prod backend will be used by default.