Commit graph

97 commits

Author SHA1 Message Date
Andras Bacsai
2c64136503 feat(backup): enhance backup job with S3 upload handling and notifications
- Introduced a new notification class, BackupSuccessWithS3Warning, to alert users when local backups succeed but S3 uploads fail.
- Updated DatabaseBackupJob to track local backup success and handle S3 upload errors, improving error reporting and user notifications.
- Modified ScheduledDatabaseBackupExecution model to include a new s3_uploaded boolean field for tracking S3 upload status.
- Adjusted views and validation logic to reflect changes in backup execution status and S3 handling.
- Added tests to ensure the new s3_uploaded column is correctly implemented and validated.
2025-10-07 15:02:23 +02:00
Andras Bacsai
cef3d3af5d feat(proxy): enhance proxy configuration regeneration by extracting custom commands
- Added a new function to extract custom proxy commands from existing Traefik configurations before regenerating the proxy configuration.
- Updated the proxy configuration generation logic to include these custom commands, ensuring they are preserved during regeneration.
- Introduced unit tests to validate the extraction of custom commands and handle various scenarios, including invalid YAML and different proxy types.
2025-10-07 11:11:13 +02:00
Andras Bacsai
590de8ce37 feat(docker): enhance Docker image handling with new validation and parsing logic
- Refactored DockerImage component to use separate properties for image name, tag, and SHA256 digest.
- Introduced DockerImageFormat validation rule to enforce correct image format.
- Updated DockerImageParser to handle new parsing logic for image tags and SHA256 hashes.
- Enhanced UI to separate input fields for image name, tag, and SHA256 digest, improving user experience.
- Added comprehensive tests for DockerImageParser to ensure accurate parsing and validation of image formats.
2025-10-03 11:31:00 +02:00
Andras Bacsai
0e02eff4a1
Merge branch 'v4.x' into allow-dep 2025-10-03 10:57:10 +02:00
Andras Bacsai
aadde3a83e feat(deployments): enhance Docker build argument handling for multiline variables
- Introduced new helper functions to generate Docker build arguments and environment flags, accommodating multiline variables with proper escaping.
- Updated the ApplicationDeploymentJob to utilize these new functions, improving the handling of environment variables during deployment.
- Added comprehensive tests to ensure correct behavior for multiline variables and special characters.
2025-10-02 13:54:36 +02:00
Andras Bacsai
502dd72a34 fix(validation): update git:// URL validation to support port numbers and tilde characters in paths 2025-09-29 12:21:15 +02:00
Andras Bacsai
810ba3dd9e feat(validation): enhance ValidGitRepositoryUrl to support additional safe characters and add comprehensive unit tests for various Git repository URL formats 2025-09-28 22:18:21 +02:00
Andras Bacsai
320a7c97f9 refactor(tests): simplify matchWatchPaths tests and update implementation for better clarity 2025-09-26 14:33:18 +02:00
Andras Bacsai
0691a1834a feat(application): implement order-based pattern matching for watch paths with negation support 2025-09-25 14:26:11 +02:00
Andras Bacsai
38e5e85344
Merge pull request #6598 from ossamalafhel/feature/watch-paths-for-services
feat: 👀 Show Watch Paths field for Docker Compose applicationsFeature/watch paths for services
2025-09-25 13:17:29 +02:00
Andras Bacsai
1f691e274b
Merge branch 'v4.x' into feature/watch-paths-for-services 2025-09-25 12:11:01 +02:00
Andras Bacsai
47b060e291 refactor(ui): improve styling and consistency in environment variable warning and docker cleanup components 2025-09-25 11:45:07 +02:00
GitHub Actions
c1c149968e Fix team invitation email case sensitivity bug
- Add email normalization to TeamInvitation model using setEmailAttribute()
- Add HasFactory trait to Team model for testing support
- Create TeamFactory for testing
- Add tests to verify email normalization works correctly
- Fixes issue where mixed case emails in invitations would cause lookup failures
- Resolves #6291

The bug occurred because:
1. User model normalizes emails to lowercase
2. TeamInvitation model did not normalize emails
3. When invitation was created with mixed case, it was stored as-is
4. User lookup failed due to case mismatch during invitation acceptance
5. This caused users to not be able to see teams they were invited to

This fix ensures both models normalize emails consistently.
2025-09-16 15:31:48 +01:00
Ossama Lafhel
5247185933 feat(add-watch-paths-for-services): show watch paths field for docker compose applications
- Fix UI template to display Watch Paths for all GitHub-based applications
- Remove condition that limited Watch Paths to private repositories only
- Add comprehensive unit tests for isWatchPathsTriggered() method
- Test various pattern matching scenarios (wildcards, globs, etc.)
- Watch Paths now works for Docker Compose apps with both public and private repos
2025-09-13 05:40:07 +02:00
Andras Bacsai
a60d6dadc7 fix(private-key): implement transaction handling and error verification for private key storage operations 2025-09-09 16:46:38 +02:00
Andras Bacsai
a7671ed379 refactor(dns-validation): rename DNS validation functions for consistency and clarity, and remove unused code 2025-09-09 09:00:35 +02:00
Andras Bacsai
579cc25898 fix(ssh): introduce SshRetryHandler and SshRetryable trait for enhanced SSH command retry logic with exponential backoff and error handling 2025-09-07 17:17:35 +02:00
saurabhraghuvanshii
3c126927d5 enhancement: allow deploy from container image hash 2025-08-28 02:10:14 +05:30
Andras Bacsai
cde528bf5e fix(parsers): enhance volume string handling by preserving mode in application and service parsers. Update related unit tests for validation. 2025-08-27 16:54:49 +02:00
Andras Bacsai
5fbad08e45 fix(parsers): implement parseDockerVolumeString function to handle various Docker volume formats and modes, including environment variables and Windows paths. Add unit tests for comprehensive coverage. 2025-08-27 16:39:38 +02:00
Andras Bacsai
990331cd74 feat(validation): add ValidIpOrCidr rule for validating IP addresses and CIDR notations; update API access settings UI and add comprehensive tests 2025-08-26 10:27:38 +02:00
Andras Bacsai
42bdc2a5fd refactor(docker compose): remove deprecated newParser function and associated test file to streamline codebase 2025-08-17 18:03:00 +02:00
Andras Bacsai
8e8400f595 feat(utf8-handling): implement UTF-8 sanitization for command outputs and enhance error handling in logs processing 2025-06-05 14:27:39 +02:00
Andras Bacsai
c97415a8ef chore(tests): update test environment database name and add new feature test for converting container environment variables to array 2025-05-22 14:30:16 +02:00
Andras Bacsai
78ef80f800 refactor 2025-04-23 13:22:01 +02:00
Andras Bacsai
e4648bcf9c feat(docker): add HTTP Basic Authentication support and enhance hostname parsing in Docker run conversion 2025-04-23 11:57:26 +02:00
Andras Bacsai
8520beff51 refactor(docker): remove debug statement and enhance hostname handling in Docker run conversion 2025-04-23 11:21:37 +02:00
Andras Bacsai
27e4882d57 feat(core): You can validate compose files with docker compose config
fix(core): labels are now accepted with both compose styles
refactor: remove lots of ray's
2025-02-27 11:29:04 +01:00
Andras Bacsai
57f61d4589 fix: docker image parser 2025-01-20 13:59:02 +01:00
Andras Bacsai
15ac12e131 test: setup database for upcoming tests 2024-12-04 12:43:52 +01:00
Andras Bacsai
327b4308d4 fix: add tests for git url converts 2024-11-12 11:32:18 +01:00
Andras Bacsai
47cd8f9e13 fix: for --gpus device support 2024-11-06 12:26:05 +01:00
Andras Bacsai
ff6f089483 feat: add --gpu support for custom docker command 2024-11-06 10:13:40 +01:00
Andras Bacsai
2eef8ee433 add dusk tests 2024-10-28 22:57:56 +01:00
Lucas Michot
d557a22b91 Remove all ray() calls 2024-10-28 13:51:23 +01:00
Andras Bacsai
3835dc3fd7 Refactor DuskTestCase.php to use a hardcoded base URL 2024-10-17 21:26:06 +02:00
Andras Bacsai
cbff462a5a Refactor Chrome Driver port in browser-tests.yml and DuskTestCase.php 2024-10-17 21:20:55 +02:00
Andras Bacsai
8bb021e62a Refactor DuskTestCase to support headless Chrome and maximize window size 2024-10-17 21:18:37 +02:00
Andras Bacsai
becaf92fd8 test dusk gh 2024-10-17 21:15:48 +02:00
Andras Bacsai
b38e214f23
Merge branch 'next' into tests/LoginPageTest 2024-10-17 16:28:46 +02:00
Andras Bacsai
e6566d8be3 fix: new parser with SERVICE_URL_ envs 2024-10-10 11:46:41 +02:00
Andras Bacsai
ee74abb3eb
Merge branch 'next' into tests/LoginPageTest 2024-09-12 20:21:40 +02:00
Andras Bacsai
1d72f76072 fix: appwrite template + parser 2024-09-09 15:04:51 +02:00
ALsJourney
38d4e4a035 Added a HowTo Markdown on how to run tests 2024-09-08 21:41:56 +02:00
Andras Bacsai
8b3eed5895 chore: Update version to 4.0.0-beta.332 2024-09-07 20:56:56 +02:00
ALsJourney
cddd4b59f9 Added a basic login test and also added 2 small variables to dev .env file
Small test just to see if you wish to continue this way of me writing tests in this shape and form. you can run them locally with php artisan dusk:chrome-driver --detect, run it with ./vendor/laravel/dusk/bin/chromedriver-mac-arm --port=9515  then run tests with php artisan dusk
2024-09-06 14:16:40 +02:00
Andras Bacsai
b57e2960f2 fix: parser 2024-09-06 12:05:22 +02:00
Andras Bacsai
a32e53c5a3 feat: Update Docker Compose file with DB_URL environment variable 2024-09-06 10:02:44 +02:00
Andras Bacsai
8150b6fdaf fix: check if array is associative or not 2024-09-03 17:04:56 +02:00
Andras Bacsai
cfc6518157 refactor: Update parse method in Advanced, All, ApplicationPreview, General, and ApplicationDeploymentJob classes 2024-08-29 12:39:37 +02:00