1
0
Fork 0
mirror of https://github.com/retspen/webvirtcloud synced 2026-10-18 00:50:07 +00:00
Commit graph

1376 commits

Author SHA1 Message Date
lando814
dfe12f0b4c
Merge 464f2b7192 into bb920b0a7f 2026-10-09 12:57:17 +08:00
catborise
bb920b0a7f
Merge pull request #688 from catborise/master
feat: Modernize WebVirtCloud, add Python 3.12+ & openSUSE/SLES 15 support, and enhance test coverage
2026-09-25 23:25:37 +03:00
catborise
a444a2ba40 fix(linter): format console/views.py and disable htmlhint/jscpd on django templates 2026-09-25 23:18:51 +03:00
catborise
d9112b797f fix(console): fix novncd startup in container and prevent double slashes in websocket url 2026-09-25 23:11:52 +03:00
catborise
f061189716 fix(docker): resolve hadolint warnings in Dockerfile and add hadolint config 2026-09-25 22:39:31 +03:00
catborise
7435d66492 fix(security): resolve reviewer findings on secret key baking, host symlinks, and injection safety
- Prevent baking SECRET_KEY into Docker image during collectstatic
- Persist runtime SECRET_KEY in data/secret_key volume or read from environment
- Remove sed-based injection of CSRF_TRUSTED_ORIGINS in favor of native os.getenv
- Avoid overwriting system python3 symlink on SUSE; auto-detect python 3.10+ binaries
- Make /etc/hosts entry in installer idempotent
- Add security notice regarding compute node VNC/SPICE port firewall isolation
2026-09-25 22:06:16 +03:00
catborise
b1a843e846 feat(docker): modernize Dockerfile, add runit init script, and provide docker-compose setup
- Add python3-libvirt to apt and configure --system-site-packages for zero-compilation build
- Introduce 10_webvirtcloud_init.sh to handle container startup, migrations, and SQLite persistence
- Exclude host settings.py in .dockerignore for clean builds from settings.py.template
- Add docker-compose.yml with persistent data and SSH volume mounts
- Document Docker Compose deployment in README.md
2026-09-25 21:58:19 +03:00
catborise
56fdd07802 ci: add GitHub Actions test suite workflow for Python 3.10, 3.11, and 3.12
- Configure matrix testing across Python 3.10, 3.11, and 3.12 on ubuntu-latest
- Install system libvirt, ldap, and C build dependencies with pip cache
- Run Django database migrations and test suite
- Run vrtManager unit test discovery with test_*.py pattern
- Fix vrtManager unittest discovery command in README.md
2026-09-25 21:48:38 +03:00
catborise
b9cec4a6d3 chore: purge obsolete .travis.yml and clean stale drf-yasg paths in staticfiles.json
- Remove legacy .travis.yml since continuous integration runs on GitHub Actions
- Remove 34 obsolete drf-yasg file mappings from static/staticfiles.json
- Recompute staticfiles manifest hash to match current static asset inventory
2026-09-25 21:45:13 +03:00
catborise
6d385ca5d2 docs(readme): overhaul documentation structure, security links, and multi-distro setup
- Replace shortened URL links (bit.ly, clck.ru) with direct upstream/repository paths
- Modernize and reorganize manual production installation guides for Ubuntu/Debian, RHEL/Rocky, and openSUSE/SLES
- Fix Nginx proxy header ($remote_addr -> $scheme) and streamline Supervisor configs
- Unify Compute Node (Hypervisor) setup into a dedicated section
- Update test running documentation reflecting isolated mocks and WEBVIRTCLOUD_TEST_LIBVIRT_URI
- Document drf-spectacular OpenAPI 3.0 schema endpoints and fix typos
- Convert screenshot gallery to clean Markdown table formatting
2026-09-25 21:37:50 +03:00
catborise
f5e5ff2759 fix(install): refine openSUSE Leap dependencies and streamline installer execution
- Add Python 3.11 package detection and alternatives configuration for openSUSE/SLES
- Relax libvirt-python and lxml minimum versions in requirements to match distro-provided packages
- Gracefully handle missing hostname command in minimal/containerized SUSE environments
- Prevent redundant git clone if workspace already exists in target path
2026-09-25 20:44:52 +03:00
catborise
88288f965d feat(install): add openSUSE and SLES 15 distribution support and compute bootstrap 2026-09-25 20:03:02 +03:00
catborise
feb71dcce6
Merge pull request #687 from catborise/master
feat: Python 3.12+ support, OpenAPI 3.0 migration, test suite expansion, and installer updates
2026-09-25 19:43:58 +03:00
catborise
75f73f1607 docs: move codebase overview to doc/architecture.md and untrack dependency upgrade plan 2026-09-25 19:32:50 +03:00
catborise
21873ffdc9 docs: translate dependency upgrade plan to English and update milestones 2026-09-25 16:33:48 +03:00
catborise
2b402992b4 docs: translate codebase overview documentation to English 2026-09-25 16:28:41 +03:00
catborise
b545c8b30b fix(ci): fix shellcheck SC2317 in install.sh, quote GITHUB_PATH, and upgrade codeql actions 2026-09-25 16:17:09 +03:00
catborise
8306f0d761 fix(ci): fix linter workflow dependencies, python version, and shellcheck issues 2026-09-25 16:09:01 +03:00
catborise
070e3baf75 refactor(install): harden bootstrap script and restore retspen upstream URLs 2026-09-25 15:53:32 +03:00
catborise
79c6bd4c62 fix(install): modernize Ubuntu and Debian installer script for 24.04 and Debian 12 compatibility 2026-09-25 13:49:27 +03:00
catborise
60565b05b3 fix(tests): decouple tests from local libvirt, support configurable test host, and fix URL/logging bugs 2026-09-25 11:51:45 +03:00
catborise
c31ed28042 test: expand unit test coverage across admin, accounts, vrtManager, logs, appsettings, and datasource 2026-09-25 11:26:53 +03:00
catborise
933e7b378a fix(security): resolve CSRF 403 on DEBUG=False and improve reverse proxy headers
- Add local ports and env var fallback for CSRF_TRUSTED_ORIGINS in settings.py.template
- Configure SECURE_PROXY_SSL_HEADER for reverse proxy / HTTPS environments
- Update Nginx proxy headers to use $http_host and $scheme to prevent port mismatch
2026-09-25 10:28:49 +03:00
catborise
7a9b3c9e13 feat(dev): improve Rocky Linux and RHEL compatibility for local development
- Relax libvirt-python and lxml version pins to allow precompiled distro packages
- Add PEP 508 environment marker to crypt-r (python_version >= 3.13) to avoid unnecessary C compilation on Python 3.12
- Add stdlib crypt fallback when crypt_r is not available in instances/views.py
- Make LDAP imports and configuration optional in settings.py.template
- Add --system-site-packages and missing packages in webvirtcloud.sh for RHEL/CentOS
- Update README with working Rocky Linux / RHEL / Fedora installation and local dev setup
2026-09-25 09:45:54 +03:00
catborise
67364e2a05 feat(api): migrate API documentation from drf-yasg to drf-spectacular
- Replace abandoned drf-yasg with drf-spectacular and drf-spectacular-sidecar
- Configure OpenAPI 3.0 schema generation and offline sidecar assets in settings
- Update schema, Swagger UI, and ReDoc routes in webvirtcloud/urls.py
- Add backwards-compatible AutoSchema fallback for existing settings installations
- Remove 130 obsolete legacy drf-yasg static assets
- Update upgrade instructions in README.md and project documentation
2026-09-25 08:08:36 +03:00
catborise
6d8a62a95e refactor(vrtManager): replace vendored IPy with stdlib ipaddress and add tests
- Migrate network_size and wvmNetwork IP methods to Python built-in ipaddress
- Remove obsolete vendored vrtManager/IPy.py (1650+ lines)
- Add comprehensive unit test suite in vrtManager/test_network_ip.py (15 tests)
- Clean up obsolete IPy exclusion in .travis.yml
2026-09-24 22:52:12 +03:00
catborise
ba9bc2c3b9 perf(docker): optimize dependency layer caching and update dockerignore
- Copy requirements.txt before application source to leverage Docker layer caching
- Expand .dockerignore to exclude local venv, cache files, logs, and .env files
2026-09-24 22:41:34 +03:00
catborise
58b07d9b2b fix(frontend): update Bootstrap bundle source map to 5.3.3 2026-09-24 22:12:34 +03:00
catborise
891fb726d3 chore(frontend): update jQuery to 3.7.1 and Bootstrap to 5.3.3 2026-09-24 22:08:12 +03:00
catborise
3633c0096e refactor(console): replace deprecated optparse with argparse and fix regex escape sequences 2026-09-24 22:08:08 +03:00
catborise
dc6327c554 fix(vrtManager): modernize rwlock for Python 3.12 compatibility and add tests 2026-09-24 21:49:52 +03:00
catborise
a26407176c docs: add codebase overview and dependency upgrade plan 2026-09-24 21:49:49 +03:00
catborise
7047130f3e
Merge pull request #680 from cpasqualini/fix-missing-pip3-in-debian
Fix WVC Install Script: missing pip3 on Debian
2026-09-24 19:17:27 +03:00
catborise
e8974248ee
Merge pull request #685 from resse/fix/ubuntu-ldap-dev-headers
Add missing libldap2-dev/libsasl2-dev to Ubuntu package list
2026-09-24 19:16:33 +03:00
catborise
e3f26c8690
Merge pull request #684 from resse/fix/ubuntu-24.04-installer-support
Add Ubuntu 24.04 support to installer version check
2026-09-24 19:15:30 +03:00
Mikhail Bobkov
b0f978e1db Add missing libldap2-dev/libsasl2-dev to Ubuntu package list
conf/requirements.txt requires django-auth-ldap/python-ldap (added in
#600), which needs libldap2-dev and libsasl2-dev headers to build its
C extension. The Debian branch's PACKAGES list already has both, but
the Ubuntu branch was never updated to match, so a fresh install on
Ubuntu fails to build python-ldap's wheel, which aborts the entire
`pip install -r requirements.txt` — Django itself never gets
installed, and the app fails to start. Verified fix on a real Ubuntu
24.04 host.
2026-09-24 18:27:53 +04:00
Mikhail Bobkov
1f62f150a0 Add Ubuntu 24.04 support to installer version check
webvirtcloud.sh's Ubuntu branch only matched 18.04/20.04/22.04, so
running it on 24.04 (Noble) silently no-ops the entire install block
instead of installing anything. Verified end-to-end on a real 24.04
host: with this check extended, the rest of the Ubuntu install path
(package list, venv setup, nginx/supervisor config) works unmodified.
2026-09-24 18:27:27 +04:00
Carlos Pasqualini
3b2585c1e0 Fix WVC Install Script: missing pip3 on Debian 2026-04-30 12:51:22 -03:00
catborise
1b2da68b28
Merge pull request #679 from honza801/fixes
fix template clone icon replaced with copy icon
2026-04-20 11:59:16 +03:00
Jan Krcmar
80541239ec fix template clone icon replaced with copy icon 2026-04-15 17:29:08 +02:00
catborise
af774ebcc8
Merge pull request #676 from hudeng-go/upstream/master
feat: Add ISO file upload progress support.
2025-07-22 12:15:32 +03:00
hudeng
326579a6ea feat: Add ISO file upload progress support. 2025-07-17 17:11:30 +08:00
catborise
c0f31909bd
Merge pull request #675 from catborise/master
update packages && installation script
2025-07-01 15:08:25 +03:00
catborise
9324b9c36d update installation scripts 2025-07-01 15:07:02 +03:00
catborise
b909a81f51 update requirements 2025-07-01 15:06:29 +03:00
catborise
79450eac6a
Merge pull request #671 from lando814/patch-1
ubdate base image
2025-05-20 16:51:35 +03:00
lando814
464f2b7192
Update settings.py.template
included new middleware to mitigate CSRF cookie error
2025-05-19 17:26:08 +02:00
lando814
a56ce2a58f
ubdate base image
updated base image from jammy to noble due to error message during docker build

ERROR: No matching distribution found for crypt-r==3.13.1
2025-05-19 17:21:29 +02:00
catborise
4646597b39
Merge pull request #668 from catborise/master
update minimum python3 requirements. python3 >= 3.11
2025-05-02 10:25:20 +03:00
catborise
659a6edb73 update minimum python3 requirements. python3 >= 3.11 2025-05-02 10:23:51 +03:00