-
Notifications
You must be signed in to change notification settings - Fork 57
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge branch 'v3-integration' into 'main'
New api v3 with JWT authentication and Frontend with JWT See merge request isard/isardvdi!316
- Loading branch information
Showing
217 changed files
with
12,911 additions
and
4,526 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,29 +1,37 @@ | ||
# Contributing | ||
|
||
## New feature | ||
|
||
1. Fork the `isard-vdi/isard` repository | ||
2. Clone **your** Isard fork and move (if you already have your fork clonned, make sure you have the latest changes: `git fetch upstream`) | ||
3. Add the upstream remote: `git remote add upstream https://github.com/isard-vdi/isard` | ||
|
||
1. Initialize Git Flow: `git flow init` | ||
2. Create the feature: `git flow feature start <feature name>` | ||
3. Work and commit it | ||
4. Publish the feature branch: `git flow feature publish <feature name>` | ||
5. Create a pull request from `your username/isard` `feature/<feature name>` to `isard-vdi/isard` `develop` branch | ||
|
||
|
||
|
||
## New release | ||
|
||
1. Clone the `isard-vdi/isard` repository | ||
2. Create the release: `git flow release start X.X.X` | ||
3. Publish the release branch: `git flow publish release X.X.X` | ||
4. Create a pull request from the `isard-vdi/isard` `release/X.X.X` to `isard-vdi/isard` `master` | ||
5. Update the Changelog, the `docker-compose.yml` file... | ||
6. Merge the release to master | ||
7. Create a new release to GitHub using as description the Changelog for the version | ||
8. Pull the changes to the local `isard-vdi/isard` clone | ||
9. Change to the new version tag: `git checkout X.X.X` | ||
10. Build the Docker images and push them to Docker Hub | ||
|
||
This file is going to be used to document de development process of IsardVDI, both for newcomers and old contributors! | ||
|
||
## Development model | ||
|
||
- IsardVDI is developed in a *rolling release* model. This means that every change done, is going to be a new version | ||
- Uses [semver](https://semver.org/) | ||
+ If the changes are a bugfix, increase the PATCH (x.x.X) | ||
+ If the changes introduce a new feature, change the MINOR (x.X.x) | ||
+ If some changes break the upgrading process, change the MAJOR (X.x.x) | ||
- Does not provide support for old versions (e.g. if we have version 3.1.1 and 3.2.0 is out, there's never going to be version 3.1.2) | ||
|
||
## Example | ||
|
||
Let's say we have found a bug and have a solution: | ||
|
||
1. For the `isard/isardvdi` repository | ||
2. Clone **your** fork | ||
3. Add the upstream remote: `git remote add upstream https://gitlab.com/isard/isardvdi` | ||
4. If you already have the clone, make sure you have the latest changes: | ||
|
||
```sh | ||
git checkout main | ||
git pull upstream | ||
``` | ||
|
||
5. Create a branch from there: `git checkout -b <name>` (please, pick a descriptive name!) | ||
6. Work in this branch | ||
7. Update the `CHANGELOG.md` and *commit* the changes. Write a [good and descriptive commit message](https://www.freecodecamp.org/news/writing-good-commit-messages-a-practical-guide/). | ||
8. Make sure you're on the latest `upstream` commit: `git fetch upstream && git rebase upstream/main` | ||
8. Push the branch to your remote: `git push` | ||
9. Create a Merge Request to the `main` branch of the `isard/isardvdi` repository. Please be descriptive in both the title and the description! | ||
10. Review the changes and decide it's ready for a release | ||
11. Rebase again against the `upstream/main`. If there has been a release, use `git commit --amend` to edit the last commit and ensure the `CHANGELOG.md` is correct | ||
12. Push to your fork and wait for someone to review the changes and merge it to `main` | ||
13. Done! The GitLab CI will create the release, the tag and publish de Docker images! :) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,103 +1,104 @@ | ||
# Isard**VDI** | ||
|
||
<img align="right" src="webapp/webapp/webapp/static/img/isard.png" alt="IsardVDI Logo" width="150px;"> | ||
<img align="right" src="frontend/src/assets/logo.svg" alt="IsardVDI Logo" width="150px;"> | ||
|
||
[![](https://img.shields.io/github/release/isard-vdi/isard.svg)](https://github.com/isard-vdi/isard/releases) [![](https://img.shields.io/badge/docker--compose-ready-blue.svg)](https://github.com/isard-vdi/isard/blob/master/docker-compose.yml) [![](https://img.shields.io/badge/docs-latest-brightgreen.svg)](https://isardvdi.readthedocs.io/en/latest/) [![](https://img.shields.io/badge/license-AGPL%20v3.0-brightgreen.svg)](https://github.com/isard-vdi/isard/blob/master/LICENSE) | ||
[![release](https://img.shields.io/badge/dynamic/json.svg?label=release&url=https://gitlab.com/api/v4/projects/21522757/releases&query=0.name&color=blue)](https://gitlab.com/isard/isardvdi/-/releases) | ||
[![docker-compose](https://img.shields.io/badge/docker--compose-ready-blue.svg)](https://isard.gitlab.io/isardvdi-docs/install/install/#quickstart) | ||
[![docs](https://img.shields.io/badge/docs-latest-brightgreen.svg)](https://isard.gitlab.io/isardvdi-docs/) | ||
[![license](https://img.shields.io/badge/license-AGPL%20v3.0-brightgreen.svg)](LICENSE) | ||
|
||
Open Source KVM Virtual Desktops based on KVM Linux and dockers. | ||
IsardVDI is a Free Software desktop virtualization platform. Some of its features are: | ||
|
||
- Engine that monitors hypervisors and domains (desktops) | ||
- **GPU support**: it supports the NVIDIA Grid platform | ||
- **Easy to install**: using Docker and Docker Compose, you can deploy IsardVDI in minutes | ||
- **Scalable**: you can manage multiple hypervisors and add / remove them depending on your needs | ||
- **Fast**: start a desktop and connect to it in a matter of seconds | ||
- **Versatile**: you can run all the OS supported by QEMU/KVM, and there are multiple viewers supported: | ||
+ *SPICE* | ||
+ *noVNC* (web) | ||
+ *RDP* | ||
+ *Guacamole RDP* (web) | ||
|
||
- Websocket user interface with real time events. | ||
|
||
- HTML5 and native SPICE client viewers | ||
|
||
**IMPORTANT NOTE**: You cannot migrate from the version 1 to version 2, since there are many structural changes. You should backup your XML definition files and QCOW disks and import them in the new version. | ||
## Table of contents | ||
|
||
# Documentation | ||
- [Quick Start](#quick-start) | ||
- [Usage](#usage) | ||
- [Documentation](#documentation) | ||
- [Version upgrade notes](#version-upgrade-notes) | ||
- [Contributing](#contributing) | ||
- [Support and Contact](#support-and-contact) | ||
- [Other links](#other-links) | ||
- [License](#license) | ||
|
||
Follow the extensive documentation to get the most of your installation: | ||
|
||
- [https://isardvdi.readthedocs.io/en/develop/](https://isardvdi.readthedocs.io/en/develop/) | ||
|
||
## Quick Start with docker & docker-compose | ||
## Quick Start | ||
|
||
### 1) *INSTALL docker & docker-compose* | ||
- https://docs.docker.com/install/ | ||
- https://docs.docker.com/compose/install/ | ||
[https://isard.gitlab.io/isardvdi-docs/install/#quick-start](https://isard.gitlab.io/isardvdi-docs/install/#quick-start) | ||
|
||
### 2) **Pull images and bring it up**: | ||
|
||
``` | ||
wget https://isardvdi.com/docker-compose.yml | ||
docker-compose pull | ||
docker-compose up -d | ||
``` | ||
|
||
Connect to **https://<ip|domain>**/isard-admin with default user *admin* and password *IsardVDI* | ||
## Usage | ||
|
||
NOTE: | ||
### Desktops | ||
|
||
- All data will be created in your host /opt/isard folder | ||
- Logs will be at /opt/isard-local | ||
To download predefined and tested desktops, you can go to the `Downloads` section, in the `Administration` frontend. | ||
|
||
## Custom build | ||
If you want to create your own desktop: | ||
|
||
There is an **isardvdi.cfg.example** file that you can copy to **isardvdi.cfg** and edit to fit your requirements. After that you can create your own *docker-compose.yml* file from that config by issuing *build.sh* script. | ||
1. Go to `Media` section (in the `Administration` frontend), and download an ISO | ||
2. After the download is finished, it will show a desktop icon where you can create the desktop. | ||
|
||
Then bring it up with **docker-compose up -d** | ||
### Templates | ||
|
||
Please read the [documentation](https://isardvdi.readthedocs.io/en/develop/install/install/#main-parameters) to configure your IsardVDI installation | ||
Create a template from a desktop (in the `Administration` frontend): | ||
|
||
### Desktops | ||
1. Open desktop details and click the `Template it` button. | ||
2. Fill in the form and click on `create`. | ||
|
||
You can directly go to *Updates* menu and download and test precreated desktops. | ||
It will create a template from that desktop as it was now. You can create as many desktops identical to that template. | ||
|
||
If you want to create your own desktop: | ||
|
||
1. Go to Media menu and download an ISO | ||
2. After the download is finished it will show a desktop icon where you can create the desktop. | ||
![Main admin screen](https://isard.gitlab.io/isardvdi-docs/images/main.png) | ||
|
||
You will find the created desktop in Desktops menu. Implemented encrypted viewers: | ||
|
||
- HTML5 Viewer | ||
- Native virt-viewer SPICE protocol. | ||
|
||
### Templates | ||
## Documentation | ||
|
||
Create a template from a desktop: | ||
Follow the extensive documentation to get the most of your installation: | ||
|
||
1. Open desktop details and click on Template it button. | ||
2. Fill in the form and click on create. | ||
- [https://isard.gitlab.io/isardvdi-docs](https://isard.gitlab.io/isardvdi-docs) | ||
|
||
It will create a template from that desktop as it was now. You can create as many desktops identical to that template. | ||
|
||
### Updates | ||
|
||
In Updates menu you will have access to different resources you can download from our IsardVDI updates server. | ||
## Version upgrade notes: | ||
|
||
![Main admin screen](https://isardvdi.readthedocs.io/en/latest/images/main.png) | ||
- See [CHANGELOG.md](CHANGELOG.md) | ||
|
||
## Documentation | ||
|
||
- https://isardvdi.readthedocs.io/en/latest/ | ||
|
||
## More info: | ||
## Contributing | ||
|
||
The development is done at [GitLab](https://gitlab.com/isard/isardvdi). You can open an issue and create pull requests there. Also, there's the [CONTRIBUTING.md](CONTRIBUTING.md) file, that you should read too. Happy hacking! :D | ||
|
||
|
||
|
||
## Support and Contact | ||
|
||
If you have a question related with the software, open an issue! Otherwise, email us at `[email protected]`. We also offer professional paid support. If you are interested, email us! :) | ||
|
||
|
||
|
||
Go to [IsardVDI Project website](http://www.isardvdi.com/) | ||
## Other links | ||
|
||
### Authors | ||
+ Josep Maria Viñolas Auquer | ||
+ Alberto Larraz Dalmases | ||
+ Néfix Estrada | ||
- Website: [https://www.isardvdi.com](https://www.isardvdi.com) | ||
- Mastodon profile: [@isard@fosstodon.org](https://fosstodon.org/@isard) | ||
- Twitter profile: [@isard_vdi](https://twitter.com/isard_vdi) | ||
|
||
### Contributors | ||
+ Daniel Criado Casas | ||
|
||
### Support/Contact | ||
Please email us at [email protected] if you have any questions or fill in an issue. | ||
|
||
### Social Networks | ||
Mastodon: [@isard@fosstodon.org](https://fosstodon.org/@isard) | ||
Twitter: [@isard_vdi](https://twitter.com/isard_vdi) | ||
## License | ||
|
||
IsardVDI is licensed under the AGPL v3.0. You can read the full license [here](LICENSE) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,16 +1,11 @@ | ||
bcrypt==3.1.7 | ||
cffi==1.14.0 | ||
click==7.1.2 | ||
Flask==1.1.2 | ||
Flask==2.0.1 | ||
Flask-Login==0.5.0 | ||
gevent==20.6.0 | ||
greenlet==0.4.16 | ||
itsdangerous==1.1.0 | ||
Jinja2==2.11.2 | ||
MarkupSafe==1.1.1 | ||
pycparser==2.20 | ||
Flask-Cors==3.0.10 | ||
gevent==1.4.0 | ||
gevent-websocket==0.10.1 | ||
greenlet==0.4.15 | ||
Flask-SocketIO==5.1.0 | ||
python-jose==3.3.0 | ||
rethinkdb==2.4.7 | ||
six==1.15.0 | ||
Werkzeug==1.0.1 | ||
zope.event==4.4 | ||
zope.interface==5.1.0 | ||
bcrypt==3.2.0 | ||
responses==0.13.3 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,6 @@ | ||
#!/bin/sh | ||
export PYTHONWARNINGS="ignore:Unverified HTTPS request" | ||
cd /apiv2 | ||
python3 start.py & | ||
cd /api | ||
python3 startv3.py |
Oops, something went wrong.