New Feature Proposals

Here are some suggested features that could enhance the functionality of VitoDeploy when added: Data Sorting and Real-Time Data: Adding a dropdown for sorting data in index page tables by specific column values. Real-time monitoring and reporting of critical data such as visitor traffic, file access, and server response times. Services and Management: FTP Service: Integration of FTP for easier file management and access. Mail Service: Adding mail services for email sending and management. Drag-and-Drop File Management: Adding a drag-and-drop feature for file uploading and editing for a more user-friendly experience. Security and Monitoring: Security Scanning: Integrating a security system that performs regular scans, reports vulnerabilities, and provides solutions. Real-Time Monitoring: Developing features for real-time monitoring of performance indicators, traffic statistics, and other critical data. CDN and Performance: CDN Management: Integration of a Content Delivery Network (CDN) for accelerating and globally distributing static files. Scaling and Clustering: Adding support for automatic scaling and clustering to optimize performance under high traffic demands. User and Log Management: General Settings: Creating a central "General Settings" area for managing various configurations. Log Management: Adding advanced log management for viewing and analyzing application and system logs in a central panel. Notifications and API Support: Event Notifications: Real-time notifications for critical events such as server errors, high CPU usage, and low disk space. API Support: Adding REST or GraphQL API support to allow for expansion and integration with other applications. Additional Features: Multi-Language Support: Adding multi-language support for international users. Detailed Statistics Panels: Providing detailed reports on visitors, traffic sources, and user behavior through comprehensive statistics panels. Advanced File Compression: Using advanced file compression methods like Gzip or Brotli for faster loading of static files. These features could expand the capabilities of VitoDeploy and make it a more efficient solution. I will try to take care of some of these as I find time and I will send them as PRs...

Erhan ÜRGÜN almost 2 years ago

4

Make Vite exec-less on a local machine

Right now, vite uses exec to perform some things. By grepping around a little bit i found that it's mostly $this->server->ssh()->exec( on a remote machine where vite has root priviledges and can do anything, which is fine. However, there are two unfortunate cases (besides install script, which is not really necessary, since vite can be installed manually like a normal laravel app) where it uses execon a remote host in two important spots, and that's in helpers.php: 1) one, where it's creating a new server in: function generate_key_pair($path): void { exec("ssh-keygen -t ed25519 -m PEM -N '' -f {$path}"); chmod($path, 0400); } 2) and second one when it's doing a version check during health check and displays info in a navigation: function vito_version(): string { $version = exec('git describe --tags'); if (str($version)->contains('-')) { return str($version)->before('-').' (dev)'; } return $version; } Now, with some clients, it's impossible to use exec inside php on some servers, either because of company infrastructure or buisness and security practices regarding vps they operate. But these cases seem really unnecessary and can be fully avoided; for a) by using phpseclib3\Crypt\ED25519::createKey() and for b) simply keeping version in a config/db/anywhere, or if you really must use git use cpliakas/git-wrapper (very simply, like new Repository(base_path())->getTags()->last()). That would make Vito be available to be installed on a much wider range of machines and cases.

verybigelephants almost 2 years ago