Commit Graph
405 Commits
Author SHA1 Message Date
Juan Denis fffe0f5937 Merge pull request #18 from jhd3197/dev
Fix remaining vulnerable dependencies flagged by Safety CI
2026-02-11 23:14:23 -05:00
github-actions[bot] 5f0b70b06c chore: bump version to 1.2.86 [skip ci] 2026-02-12 04:13:43 +00:00
Juan Denis e5498af764 Fix remaining vulnerable dependencies flagged by Safety CI
- Werkzeug 3.0.1 → 3.1.5 (5 vulnerabilities)
- Flask-Cors 5.0.1 → 6.0.2 (3 vulnerabilities)
- gunicorn 22.0.0 → 23.0.0 (TolerateDangerousFraming header issue)
- cryptography 44.0.3 → 46.0.5 (CVE-2026-26007 improper input validation)
2026-02-11 23:13:28 -05:00
Juan Denis 033e36a50f Merge pull request #17 from jhd3197/dev
Add Bandit + Safety security scanning to CI and fix vulnerable deps
2026-02-11 23:06:43 -05:00
github-actions[bot] d9e12d1eb1 chore: bump version to 1.2.85 [skip ci] 2026-02-12 04:06:21 +00:00
Juan Denis 9604e1ea66 Add Bandit + Safety security scanning to CI and fix vulnerable deps
- Add .github/workflows/security-scan.yml with Bandit SAST and Safety
  dependency scanning (requires SAFETY_API_KEY secret)
- Add backend/.bandit config to skip expected noise (B404, B603, B607)
- Update vulnerable dependencies:
  gunicorn 21.2.0 → 22.0.0 (CVE-2024-1135 HTTP smuggling)
  gevent 23.9.1 → 25.4.2 (HTTP smuggling + race condition)
  python-socketio 5.10.0 → 5.14.0 (CVE-2025-61765 deserialization)
  cryptography 42.0.0 → 44.0.3 (multiple CVEs)
  requests 2.31.0 → 2.32.5 (vulnerability fixes)
  Flask-Cors 4.0.0 → 5.0.1, Flask-SocketIO 5.3.6 → 5.4.1
  python-engineio 4.8.1 → 4.11.2
- Pin previously unpinned deps: schedule, passlib, bcrypt
2026-02-11 23:06:14 -05:00
Juan Denis dee03553d9 Merge pull request #16 from jhd3197/dev
Add system utils CI workflow and integration tests
2026-02-10 16:37:59 -05:00
github-actions[bot] 34ca8dee8f chore: bump version to 1.2.84 [skip ci] 2026-02-10 21:36:42 +00:00
Juan Denis e1f732c7e9 Update CI images and package install steps
Bump distro images (ubuntu:22.04 -> ubuntu:24.04, fedora:40 -> fedora:41) in the system utils test workflow. Make package installation commands less quiet and more robust: clear /var/lib/apt/lists/* before apt-get update and remove -q flags from apt-get/dnf/yum installs so logs are more informative and apt updates won't fail on stale lists.
2026-02-10 16:36:11 -05:00
github-actions[bot] deb29d3678 chore: bump version to 1.2.83 [skip ci] 2026-02-10 21:33:19 +00:00
Juan Denis 926c2f3afd CI: set noninteractive env and harden install step
Set DEBIAN_FRONTEND=noninteractive to prevent interactive prompts during image package installs, add shell: bash for the Install step, and normalize command -v checks/redirection so package manager detection and installs behave more reliably. Also remove excessive suppression of apt-get update/install output to surface failures; the pip3 pytest install fallback remains unchanged.
2026-02-10 16:33:10 -05:00
Juan Denis d5f6e13d04 Move EXPECTED_MANAGER check into pytest test
Remove the inline "Verify expected package manager" step from the GitHub Actions workflow and add a pytest in backend/tests/test_utils_system_integration.py. The new test (test_matches_expected_manager_from_ci) reads EXPECTED_MANAGER from the environment, skips when not set, and asserts PackageManager.detect() matches the expected value. This consolidates the CI verification into the test suite and simplifies the workflow.
2026-02-10 16:03:19 -05:00
github-actions[bot] 7f80932c87 chore: bump version to 1.2.82 [skip ci] 2026-02-10 13:26:04 +00:00
Juan Denis 02797c891f Add system utils CI workflow and integration tests
Introduce a new GitHub Actions workflow (.github/workflows/test-system-utils.yml) that runs unit tests, distro-based integration tests in container images (ubuntu, debian, fedora, rocky) to validate package manager and systemctl detection, and an audit job that greps migrated service files for raw subprocess patterns. Add backend/tests/test_utils_system_integration.py: Linux-only integration smoke tests that directly import backend/app/utils/system.py (avoiding Flask deps) to verify PackageManager detection, command availability, and basic ServiceControl behavior. Designed for CI verification of system utilities across real distros.
2026-02-10 08:25:54 -05:00
Juan Denis d70831fd4a Merge pull request #15 from jhd3197/dev
Use system utils for commands and services
2026-02-10 08:10:05 -05:00
github-actions[bot] 401fd71402 chore: bump version to 1.2.81 [skip ci] 2026-02-10 13:09:51 +00:00
Juan Denis 06de896175 Use system utils for commands and services
Refactor services to use centralized system helpers (ServiceControl, PackageManager, run_privileged, is_command_available) instead of ad-hoc subprocess/os calls. Updated deployment, firewall, ftp, nginx, php, python, security, and ssl services to call the new utilities and added error/timeout handling improvements and package manager abstraction. Added backend/app/utils/system.py implementing the helpers and backend/tests/test_utils_system.py with unit tests. This centralizes privileged command execution and service/package management, simplifying tests and platform differences.
2026-02-10 08:09:38 -05:00
Juan Denis 254930849a Merge pull request #14 from jhd3197/dev
Relocate language links in README files
2026-02-10 02:27:55 -05:00
github-actions[bot] befcdb9e9e chore: bump version to 1.2.80 [skip ci] 2026-02-10 07:27:40 +00:00
Juan Denis e9277bb3fa Relocate language links in README files
Move the language selection links from the top center of the README and localized docs into the area below the project description to improve header spacing and layout. Updated README.md and docs/README.es.md, docs/README.pt.md, docs/README.zh-CN.md accordingly.
2026-02-10 02:27:30 -05:00
Juan Denis a9622fdf0f Merge pull request #13 from jhd3197/dev
Replace jwt_required with RBAC, use socket auth
2026-02-10 02:24:54 -05:00
github-actions[bot] e1fe2a290e chore: bump version to 1.2.79 [skip ci] 2026-02-10 07:24:31 +00:00
Juan Denis d2b9877d74 Revamp README and add translations
Major overhaul of README.md: reorganized layout and sections (features, screenshots, quick start, architecture, roadmap, tech stack, docs, contributing, community), updated badges and visuals, simplified install instructions, and added architecture diagram and roadmap. Added translated documentation files: docs/README.es.md, docs/README.pt.md, and docs/README.zh-CN.md.
2026-02-10 02:24:21 -05:00
github-actions[bot] 79c397fa69 chore: bump version to 1.2.78 [skip ci] 2026-02-09 04:14:22 +00:00
Juan Denis caa799ba1b Replace jwt_required with RBAC, use socket auth
Replace generic @jwt_required() usage with role-based decorators and switch Socket.IO token handling to the auth payload.

- Replace jwt_required with viewer_required/admin_required across API modules (backend/app/api/cron.py, firewall.py, ftp.py, git.py, metrics.py) and update imports accordingly.
- Require JWT for previously public system/private endpoints (backend/app/api/system.py, private_urls.py).
- Change Socket.IO server connection handler to accept auth payload and read token from auth (backend/app/sockets.py) to avoid token leakage in query strings.
- Update frontend clients to send token via socket auth instead of query (frontend/src/pages/WordPressProject.jsx, frontend/src/services/socket.js).

These changes add finer-grained RBAC control for endpoints and improve socket auth security by removing tokens from URLs/logs.
2026-02-08 23:14:13 -05:00
Juan Denis d523c84dc6 Merge pull request #11 from jhd3197/dev
Add tracking for install, update, and uninstall events
2026-01-28 22:35:00 -05:00
github-actions[bot] 62fda16976 chore: bump version to 1.2.77 [skip ci] 2026-01-29 03:31:56 +00:00
Juan Denis fc02f40636 Add tracking for install, update, and uninstall events
Added calls to serverkit.ai to track successful installation, update, and uninstall events with the current version. This helps monitor usage and improve support.
2026-01-28 22:31:46 -05:00
Juan Denis af5627f740 Merge pull request #10 from jhd3197/dev
Add multi-site WordPress hub with environments and dev path management
2026-01-28 22:18:47 -05:00
github-actions[bot] 1e8afb7a43 chore: bump version to 1.2.76 [skip ci] 2026-01-29 03:16:15 +00:00
Juan Denis e36c3247b3 Add multi-site WordPress management and UI overhaul
Introduces backend endpoints and service logic for managing multiple WordPress sites and their environments (production, staging, development). Updates frontend to display a grid of WordPress sites, enable site creation via modal, and refactors the WordPress page UI for multi-site support. Adds environment creation controls, improves environment modal logic, and enhances styles for the new layout. Also adds wp-cli.phar to backend for WordPress management.
2026-01-28 22:15:57 -05:00
Juan Denis 5113c85e99 Add configurable dev paths and centralize path management
Introduces backend/app/paths.py to centralize all key directory paths, allowing overrides via environment variables for local development. Updates all backend services and APIs to use these centralized paths instead of hardcoded values. Adds dev path override examples to backend/.env.example and updates .gitignore to exclude dev-data. Also changes frontend dev server port to 5274 and updates related scripts and CORS settings for consistency.
2026-01-28 21:12:55 -05:00
Juan Denis a76356f8c8 Merge pull request #9 from jhd3197/dev
Add lightweight auto-migration for missing DB columns
2026-01-27 22:10:17 -05:00
github-actions[bot] 205a241983 chore: bump version to 1.2.75 [skip ci] 2026-01-28 03:08:09 +00:00
Juan Denis f0ccfea160 Add lightweight auto-migration for missing DB columns
Introduces an _auto_migrate_columns function in app initialization to automatically add missing columns to existing tables. Refactors the CLI migrate_db command to use a unified expected columns list and checks both 'applications' and 'wordpress_sites' tables for missing columns, improving consistency and reducing manual migration steps.
2026-01-27 22:07:59 -05:00
Juan Denis ca9e37efe7 Merge pull request #8 from jhd3197/dev
Enhance uninstall script with detailed cleanup steps
2026-01-27 21:57:44 -05:00
github-actions[bot] 27350d2195 chore: bump version to 1.2.74 [skip ci] 2026-01-28 02:54:19 +00:00
Juan Denis df1cc3b117 Enhance uninstall script with detailed cleanup steps
Expanded the uninstall process to explicitly list all components and directories that will be removed, including nginx configs and ServerKit-specific data. Added informational messages and ensured nginx is reloaded if necessary. Clarified that system packages are not removed automatically.
2026-01-27 21:54:14 -05:00
Juan Denis c64e7afa1d Merge pull request #7 from jhd3197/dev
Add WordPress environment pipeline, template icons, onboarding wizard & developer mode
2026-01-27 21:33:11 -05:00
github-actions[bot] 10e9d97e8f chore: bump version to 1.2.73 [skip ci] 2026-01-28 02:28:19 +00:00
Juan Denis a706829a50 Add onboarding wizard and developer mode features
Introduces a multi-step onboarding wizard for initial server setup, including admin account creation, use case selection, resource tier display, and summary. Adds backend support for onboarding completion and use case storage. Implements developer mode toggle in settings, exposing an icon reference panel. Updates styles and refactors related frontend logic for setup and settings pages.
2026-01-27 21:25:15 -05:00
Juan Denis 3ca6bd23a9 Update template icons and enhance sidebar user menu
Switched all template icon URLs to use local /serverkit.ai/imgs/template-icons/ assets for consistency and reliability. Improved the Sidebar component with a new user context menu featuring theme switching, settings navigation, and logout, along with conditional display of the WordPress pipeline link. Added and updated related styles for the sidebar, user menu, and page headers, and introduced new theme variables for code/terminal backgrounds.
2026-01-27 20:53:57 -05:00
Juan Denis cf7ccf8af3 Add WordPress environment pipeline API and models
Introduces a comprehensive REST API for WordPress multi-environment management, including endpoints for project listing, environment CRUD, promotion, sync, comparison, locking, activity logs, container logs, resource limits, basic auth, WP-CLI, health checks, disk usage, bulk operations, and auto-sync scheduling. Adds new models for environment activity, promotion jobs, and sanitization profiles, and integrates auto-sync scheduling into the app startup. Updates model imports and registration to include the new models.
2026-01-27 19:35:21 -05:00
Juan Denis e0f4a4ac30 Merge pull request #6 from jhd3197/dev
Add WordPress site management with environments, database sync, and    Git integration
2026-01-25 23:33:35 -05:00
github-actions[bot] 352d182a4f chore: bump version to 1.2.72 [skip ci] 2026-01-26 04:29:28 +00:00
Juan Denis 1fa188b221 Update .dockerignore to exclude more frontend files
Added src, public, package*.json, vite.config.js, eslint.config.js, and index.html to .dockerignore to prevent these files from being included in Docker builds. This helps reduce image size and ensures only necessary files are copied.
2026-01-25 23:29:18 -05:00
github-actions[bot] 3f5895a559 chore: bump version to 1.2.71 [skip ci] 2026-01-26 04:27:45 +00:00
Juan Denis 0b7dcf69cf Build frontend on host to avoid Docker memory issues
Updates the Dockerfile to expect pre-built assets and modifies install.sh to install Node.js, ensure swap space, and build the frontend on the host before packaging it into the nginx container. This approach addresses memory limitations on low-RAM VPS servers during the Vite build process.
2026-01-25 23:27:31 -05:00
github-actions[bot] 7d4886412d chore: bump version to 1.2.70 [skip ci] 2026-01-26 04:16:04 +00:00
Juan Denis 93eccda09c Optimize frontend Docker build and Vite config
Added .dockerignore to reduce build context size. Increased Node.js memory limit during frontend build in Dockerfile. Updated Vite config to split vendor chunks for better caching and performance. Modified install.sh to use 'docker container prune' and removed '--no-cache' from compose build for efficiency.
2026-01-25 23:15:50 -05:00