1
0
Fork 0
mirror of https://github.com/retspen/webvirtcloud synced 2026-11-08 11:16:47 +00:00
Commit graph

96 commits

Author SHA1 Message Date
catborise
8e23138ef7 test: the suite runs with manage.py test --parallel
Django clones a SQLite test database by copying its main file, while
migrate's writes were still in the WAL file, so every clone had no
tables. The project test runner writes the WAL back before cloning.
Its pool workers are no longer daemonic, so the operations process
tests can start their own workers. tblib carries the traceback of a
failure out of a worker instead of ending the run.

The suite takes 35 s on 8 CPUs instead of 133 s.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-10-21 09:01:40 +03:00
catborise
5c68050ce0 build: LDAP login's packages are optional
django-auth-ldap, python-ldap and pyasn1 move to
conf/requirements-ldap.txt. Installs without LDAP no longer need the
openldap and sasl headers that pip builds python-ldap with; the
installer and the README's system packages drop them, and the README's
LDAP section installs them with that file. The settings already work
without the module.

The Docker image and dev/requirements.txt keep LDAP, so CI still builds
and audits python-ldap.
2026-10-18 22:50:11 +03:00
catborise
41468c700d build: the themes ship compiled, libsass is no longer installed
A theme change compiled Bootswatch with libsass (34 MB, upstream
deprecated) into two tracked files, which updates, rollbacks and new
Docker containers then reset. The 27 themes now ship as
static/css/themes/<theme>.min.css, built by "manage.py build_themes";
the Settings page only saves the theme name and every page links that
file (zephyr when no settings are in context, as on the 500 page).

libsass moves to dev/requirements.txt; a test checks that each shipped
file is its theme compiled from dev/scss. The "Theme SASS Path" setting
is removed, and the theme default "flaty", a typo that never applied,
becomes zephyr, the theme those installs showed. The update and
rollback steps restore an older version's rewritten theme files only
where they are modified.
2026-10-18 22:36:29 +03:00
catborise
38ff195a27 fix(bootstrap): computes accept TCP logins and run every libvirt driver
Found by provisioning disposable computes with the bootstrap:
- Ubuntu and Debian: a socket-activated libvirtd ignores libvirtd_opts
  "-l", so TCP needs libvirtd-tcp.socket; Ubuntu also kept SASL on
  gssapi instead of digest-md5.
- EL10: only virtqemud and virtproxyd were enabled, so storage, network,
  interface and other drivers did not answer; and the SELinux policy lets
  virtproxyd read but not map the SASL database, so TCP logins failed
  (a one-rule module allows it).
- Run from a clone, the bootstrap installs that clone's gstfsd and unit
  instead of downloading them.
2026-10-18 11:53:06 +03:00
catborise
99570669c5 fix(install): RHEL steps enable CRB, openSUSE steps warn about nginx's default server, the compute bootstrap detects openSUSE Leap
The RHEL manual install failed at libvirt-devel, which is in CRB; the
installer already enables it. openSUSE's nginx.conf has its own port-80
server for localhost, which the RHEL steps already warn about. The
bootstrap skipped /etc/os-release as a symlink, which on openSUSE Leap
is the only release file, so it found no distribution.
2026-10-18 00:05:42 +03:00
catborise
42359ca2e2 build: computes run gstfsd as a systemd unit instead of under supervisor
The compute bootstrap installs gstfsd and webvirt-gstfsd.service in one
helper and no longer installs or restarts supervisor; the README's
compute step does the same, a remote panel's bind goes into a drop-in,
and a compute moving from supervisor removes its gstfsd program.
2026-10-17 23:42:41 +03:00
catborise
27dfc1407f feat(appsettings): Bootswatch Brite theme
Brite ships with Bootswatch 5.3.8 but was left out when the other themes
were updated. Its sources are copied unchanged from the package, and its
wrapper sets the same breadcrumb, link and navbar spacing as the other
themes. The wrapper also makes the navbar text black: navbar.html uses
navbar-dark on bg-primary, and white on Brite's lime is unreadable.

Brite loads no web font. The Settings page lists it because the theme
list is the wvc-themes directory, and the theme test compiles it with
the rest.
2026-10-16 13:58:20 +03:00
catborise
d4f04cbf1e build(deps): Bootstrap and Bootswatch 5.3.8
Bootstrap SCSS, the JS bundle and the Bootswatch themes go from 5.3.3 to
5.3.8 (bug fixes only), and wvc-main.min.css is recompiled from zephyr.
Bootswatch now gives table text the body color, and Lux drops card and
modal header borders.

Tests compile every theme with the pinned libsass and check that the
shipped CSS is zephyr from these sources. The update and rollback steps
put back the two files a theme change rewrites, or git refuses to pull
over them.
2026-10-12 08:44:31 +03:00
catborise
99b9f35826 build(deps): drop linters that nothing runs
pycodestyle, pyflakes, pylint, yapf and black were only installed: CI,
pyproject.toml and the docs use ruff, which covers the pyflakes and
pycodestyle checks.
2026-10-12 07:24:56 +03:00
catborise
d706d58de4 build(deps): dev tools
coverage 7.16.2, pyflakes 4.0.3, pylint 4.1.3, black 26.10.1, ruff 0.17.0
(no new findings) and django-debug-toolbar 8.0.0; the template profiler
panel is pinned at 2.1.0. Toolbar 8 renders in a shadow DOM: the
profiler panel still opens and shows its data (checked in a browser).
Its script is requested by a relative URL and gets 404 with 6.3.0 too.
2026-10-11 21:09:32 +03:00
catborise
71db69b294 fix(bootstrap): no "integer expression expected" on every step
echodebug compared _ECHO_DEBUG and BS_TRUE with -eq, but neither is set
anywhere, so each step printed "[: : integer expression expected". It
now prints debug lines only when _ECHO_DEBUG=1 is set.
2026-10-08 17:14:10 +03:00
catborise
3c0d5efb18 fix(bootstrap): Rocky Linux and AlmaLinux use the CentOS install path, with the modular daemons on 10 2026-10-07 19:34:04 +03:00
catborise
47c480f059 fix(bootstrap): the compute bootstrap script parses again
The quoting of the tr argument in the /etc/os-release parsing put the
closing parenthesis inside a single-quoted string, so sh and bash
stopped with "unexpected EOF while looking for matching )" before doing
anything: 'curl ... | sudo sh' failed on every distribution. It is now
tr -d "\"'"; bash -n and shellcheck -S error pass.

Also drops the spice_listen edits of qemu.conf; only VNC is used.
2026-10-04 01:08:11 +03:00
catborise
964b58778d ci: test Python 3.13, check migrations, schema, deploy and audit
- Matrix 3.10-3.13; pip cache keyed on the requirements.
- New steps: makemigrations --check, spectacular --validate
  --fail-on-warn, check --deploy --fail-level ERROR, pip-audit of the
  installed environment (the Django 4.2.30 advisories are ignored until
  the Django 5.2 upgrade), and a Docker image build.
- The separate vrtManager unittest run is dropped; manage.py test
  already runs those tests.
- CodeQL also runs on pull requests to master.
- Docker installs into a plain venv instead of using the distro's
  python3-lxml and python3-libvirt; lxml>=6.1, since the distro's
  lxml 5.2.1 has CVE-2026-41066.
- dev requirements add ruff and pip-audit.
2026-10-04 01:08:11 +03:00
catborise
33550e5e3a chore(deps): update production and development requirements for Django 4.2 LTS
- Upgraded Django to 4.2.30 (latest Django 4.x LTS release)
- Upgraded production dependencies in conf/requirements.txt:
  * django_bootstrap5 to 26.2 (latest supporting Django 4.2)
  * django-otp to 1.7.3
  * django-auth-ldap to 5.3.0
  * djangorestframework to 3.17.2 (latest supporting Django 4.2)
  * drf-nested-routers to 0.95.3
  * drf-spectacular[sidecar] to 0.30.0
  * eventlet to 0.41.2
  * gunicorn to 26.2.0
  * markdown to 3.10 (supporting Python 3.10+)
  * paramiko to 5.0.0
  * python-engineio to 4.14.0
  * python-socketio to 5.17.0
  * whitenoise to 6.12.0
  * zipp to 4.1.0
- Upgraded development dependencies in dev/requirements.txt:
  * coverage to 7.16.1
  * django-debug-toolbar to 6.3.0 (latest supporting Django 4.2)
  * pycodestyle to 2.15.0
  * pyflakes to 4.0.0
  * pylint to 4.0.9
  * black to 26.5.1
2026-09-27 00:22:38 +03:00
catborise
2ea6652a0e chore(frontend): upgrade Bootswatch and Bootstrap SCSS to v5.3.3
- Upgraded Bootswatch SCSS source files across all 25 themes (dev/scss/bootswatch/) to v5.3.3
- Upgraded Bootstrap SCSS source files (dev/scss/bootstrap/) to v5.3.3 to match static/js/bootstrap.bundle.min.js
- Updated dev/scss/bootstrap-overrides.scss to import bootstrap/variables-dark
- Verified error-free LibSass compilation for all 26 themes (25 Bootswatch + bootstrap-orj)
- Recompiled static/css/wvc-main.min.css
2026-09-26 23:57:02 +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
b909a81f51 update requirements 2025-07-01 15:06:29 +03:00
catborise
34f08fc555 update requirements 2025-05-02 10:06:09 +03:00
catborise
1a800b4535 update requirements 2025-03-11 10:38:38 +03:00
catborise
b55552f05a update requirements 2024-10-15 16:37:21 +03:00
catborise
24f751774b update requirements 2024-08-27 10:45:51 +03:00
catborise
cb7b690a10 update requirements 2024-07-23 14:53:41 +03:00
catborise
072a922c15 update requirements 2024-06-24 09:32:41 +03:00
catborise
fc60819ff1 update requirements 2024-04-29 12:13:04 +03:00
catborise
6144760456 update requirements 2024-02-13 14:28:13 +03:00
catborise
f0cd0bc04f update requirements 2024-01-17 09:28:01 +03:00
catborise
7171a70f75 update requirements 2023-10-30 15:56:54 +03:00
catborise
4a4a998d4c add auth_unix_rw settings for debian and ubuntu 2023-09-06 14:50:59 +03:00
catborise
cbd1f6f8b0 update requirement and fix install script 2023-09-06 09:41:08 +03:00
catborise
77c4f8981b fix debian qemu package renaming 2023-09-05 09:01:59 +03:00
catborise
fc2063eccb update requirements 2023-08-17 13:35:55 +03:00
catborise
7e88db9d2b add template profile for django toolbar 2023-08-11 09:40:02 +03:00
catborise
1e8d94731b override googleapis-font for zephyr template and make inter font local 2023-08-10 11:31:24 +03:00
catborise
07d7a6d752 update requirements 2023-07-11 11:14:56 +03:00
catborise
9671f7b3e0 update requirements 2023-05-12 10:30:50 +03:00
catborise
0754d07540 update requirements 2023-04-27 16:56:55 +03:00
catborise
9f8aaee15a update requirements 2023-02-16 09:11:49 +03:00
catborise
33002d5a49 update requirements 2023-02-06 09:03:29 +03:00
catborise
2fdcc86b4e update requirements 2023-01-24 15:10:33 +03:00
catborise
e3fb820b50 update bootstrap&bootswatch 5.0.2 -> 5.2.2. Seperate bootswatch overrides for future update easiness 2023-01-23 08:25:44 +03:00
catborise
217e106c8b format python code with black 2022-11-02 08:54:35 +03:00
catborise
773709ce57 update requirements 2022-10-06 11:45:52 +03:00
catborise
cfce71ec2b
Rest framework (#24)
* Add rest framework for API: First Commit

* modify some shell scripts to make variable references safer; modify some python scripts to reduce the code complexity and cyclomatic complexity of functions.

* Add REST API for some webvirtcloud functions. Instance list/delete/create, compute list/delete/create, storages-network list/retrieve. Add swagger and redoc for API interface

* update requirements

Co-authored-by: herengui <herengui@uniontech.com>
2022-08-22 15:12:33 +03:00
catborise
f3d1c17a23 update requirements 2022-06-27 11:17:58 +03:00
catborise
f60bb055a8 add almalinux support for installation 2022-06-27 10:49:42 +03:00
catborise
2877f7b120 update requirements 2022-04-25 08:08:55 +03:00
catborise
79aeb3e23f update requirements 2022-01-12 12:32:17 +03:00
catborise
a33283e172 update dev/conf requirements 2021-12-16 11:11:54 +03:00
catborise
61d822efaa update requirements at conf/dev 2021-11-22 11:37:04 +03:00