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

26 commits

Author SHA1 Message Date
catborise
d37aa42392 feat(console): a working serial console
The xterm console never connected: socketiod expected a different token
format, its worker had no compute credentials, one global console was
shared by every client and its output broadcast to all of them, and the
Docker image did not run socketiod at all.

- console/tokens.py: one authorize() for noVNC and socketiod; the signed
  token is the only credential, checked at connect time.
- socketiod: one pty worker per client (consolecallback with the
  instance id), one session per VM, a session cap, input and resize
  checked; the parent never opens libvirt. The engine.io same-origin
  check is on.
- consolecallback: opens the console with the compute's credentials and
  exits with a message when it cannot.
- Docker runs socketiod as a runit service; nginx proxies /socket.io/
  with Host and the scheme for the origin check. Supervisor and systemd
  start it as well; WEBVIRTCLOUD_SERIAL_CONSOLE=1 enables it.
- Tests: token and session unit tests, socketiod as a process, and a
  live test that reads SeaBIOS from a wvc-test VM on the TCP and SSH
  hosts.
2026-10-17 19:43:09 +03:00
catborise
6e53b07475 build: Docker base image phusion/baseimage noble-1.0.3
A security rebuild of the same Ubuntu 24.04 image.
2026-10-16 17:14:56 +03:00
catborise
b59f30138a build: run the job worker in every install type 2026-10-14 23:27:57 +03:00
catborise
6031a7d3fb fix(docker): the console goes through nginx, and port 6080 is no longer published 2026-10-07 18:48:28 +03:00
catborise
0108866b32 build(docker): compilers stay in a build stage, no local secrets enter the image, and the container reports its health 2026-10-07 18:48:28 +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
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
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
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
6d9025ea20 update base image to jammy 1.0.1 2023-01-23 08:25:44 +03:00
catborise
6eb06280c5 add makemigrations command for missing model scripts 2022-08-29 14:55:00 +03:00
catborise
66a9edfae1 fix Docker installation bugs 2022-08-24 15:16:08 +03:00
catborise
46514d0897 add collect static command for rest/swagger ui 2022-08-24 10:29:29 +03:00
catborise
a4baeae934 update docker image 2022-06-27 11:17:21 +03:00
catborise
6c3d716b5a update docker ubuntu base image 2021-12-20 09:52:19 +03:00
catborise
f3ac40277a Update ubuntu image to 20.04 2021-06-15 14:00:42 +03:00
kendarorg
e9b57bfcf7
LDAP Integration ( https://github.com/retspen/webvirtcloud/issues/243 ) (#443)
* Added ldap support

* Update

* Added logging

* Update

* Working

* Working

* Working

* Working

* Check for ldap3 existence

* Check for ldap3 existence

* Check for ldap3 existence

* Check for ldap3 existence

* Check for ldap3 existence

* Check for ldap3 existence

* Check for ldap3 existence

* Check for ldap3 existence

* Check for ldap3 existence

* Check for ldap3 existence

* Add eol

Co-authored-by: Kendar <unknown@kendar.org>
2021-06-02 09:46:12 +03:00
catborise
7d22fec124 fix linter problems: dockerfile 2020-10-17 23:30:00 +03:00
catborise
c0f707854a wsproxy patch 2020-06-26 16:31:41 +03:00
catborise
d283e0e1b3 remove unused resize request from instance 2020-06-04 08:25:22 +03:00
catborise
4d40de1b55 Python3 & Django 2.2 Migration - Fix & Updates 2020-03-16 16:59:45 +03:00
catborise
0056541c07 Update base ubuntu image 0.9.17 -> 0.11 2019-06-20 16:36:31 +03:00
catborise
bdfdd9238f Correction of requirements 2018-07-18 11:41:34 +03:00
Jethro Yu
6f0c3dc5ac Dockerization 2015-10-15 20:47:10 +08:00