12393 Commits

Author SHA1 Message Date
Andras Bacsai
d8d01e6886 feat(auth): implement authorization for PrivateKey management
- Added authorization checks in the Create and Show Livewire components to ensure only authorized users can create, update, and delete PrivateKey instances.
- Introduced a new PrivateKeyPolicy to define access control rules for viewing, creating, updating, and deleting PrivateKey models based on user roles and team associations.
- Updated AuthServiceProvider to register the new PrivateKeyPolicy, enhancing security and access control for PrivateKey functionalities.
2025-08-22 13:02:20 +02:00
Andras Bacsai
3ffc751f1a feat(auth): implement authorization checks for server updates across multiple components
- Added authorization checks using the `authorize` method in various Livewire components to ensure only authorized users can update server settings.
- Updated `ServerPolicy` to restrict update permissions to admin users and their respective teams.
- Enhanced security and access control for server management functionalities.
2025-08-22 13:02:11 +02:00
Andras Bacsai
0748ef3ee5 refactor(jobs): rename job classes to indicate deprecation status 2025-08-22 12:09:12 +02:00
Andras Bacsai
7d10711a65 fix(servercheck): Properly check server statuses with and without Sentinel 2025-08-22 11:50:56 +02:00
Andras Bacsai
0aef9b3f5c docs: add AGENTS.md for project guidance and development instructions 2025-08-22 11:49:58 +02:00
Andras Bacsai
a6fc39e798 feat(git-settings): add support for shallow cloning in application settings
- Introduced a new boolean setting `is_git_shallow_clone_enabled` to the application settings model.
- Updated the `Advanced` component to include a checkbox for enabling shallow cloning.
- Modified the `setGitImportSettings` and `generateGitImportCommands` methods to handle shallow clone logic.
- Created a migration to add the new setting to the database schema.
- Enhanced the deployment process to utilize shallow cloning for improved performance.
2025-08-21 10:16:57 +02:00
Andras Bacsai
d832abaa35 fix(sanitization): enhance DOMPurify hook to remove Alpine.js directives for improved XSS protection
- Added logic to remove Alpine.js directives (x-*, @*, :*) from sanitized nodes to prevent potential XSS vulnerabilities.
- Maintained existing link sanitization to ensure safe handling of anchor elements.
2025-08-19 18:54:16 +02:00
Andras Bacsai
46440f2f8a fix(settings-dropdown): adjust unread count badge size and display logic for better consistency 2025-08-19 14:29:13 +02:00
Andras Bacsai
ea5b33b923 fix(init): improve error handling for deployment and template pulling processes 2025-08-19 14:22:48 +02:00
Andras Bacsai
5c4a265542 refactor(validation): implement centralized validation patterns across components
- Introduced `ValidationPatterns` class to standardize validation rules and messages for various fields across multiple components.
- Updated components including `General`, `StackForm`, `Create`, and `Show` to utilize the new validation patterns, ensuring consistent validation logic.
- Enhanced error messages for required fields and added regex validation for names and descriptions to improve user feedback.
- Adjusted styling in the `create.blade.php` view for better visual hierarchy.
2025-08-19 14:15:31 +02:00
Andras Bacsai
eaee87d008 fix(tags): update tag display to limit name length and adjust styling 2025-08-19 14:15:19 +02:00
Andras Bacsai
e0b5421eb8 fix(select): remove unnecessary sanitization for logo rendering 2025-08-19 14:15:14 +02:00
Andras Bacsai
5725db95f9 fix(notification): update unread count display and improve HTML rendering 2025-08-19 14:14:16 +02:00
Andras Bacsai
38c0641734 feat(validation): centralize validation patterns for names and descriptions
- Introduced `ValidationPatterns` class to standardize validation rules and messages for name and description fields across the application.
- Updated various components and models to utilize the new validation patterns, ensuring consistent sanitization and validation logic.
- Replaced the `HasSafeNameAttribute` trait with `HasSafeStringAttribute` to enhance attribute handling and maintain consistency in name sanitization.
- Enhanced the `CleanupNames` command to align with the new validation rules, allowing for a broader range of valid characters in names.
2025-08-19 12:14:48 +02:00
Andras Bacsai
0bb9ee4327 feat(sanitization): enhance HTML sanitization with improved DOMPurify configuration
- Updated the `sanitizeHTML` function to include additional sanitization options for better security.
- Introduced a URL regex to validate links and added a hook to manage `rel` attributes for external links.
- Ensured that only safe attributes and tags are retained, further preventing XSS vulnerabilities.
2025-08-19 12:00:23 +02:00
Andras Bacsai
e958b3761d feat(cleanup): add command for sanitizing name fields across models
- Introduced `CleanupNames` command to sanitize name fields by removing invalid characters, ensuring only letters, numbers, spaces, dashes, underscores, and dots are retained.
- Implemented options for dry run, model-specific cleaning, database backup, and forced execution.
- Updated `Init` command to call the new `cleanup:names` command.
- Enhanced project and environment validation to enforce name sanitization rules.
- Added `HasSafeNameAttribute` trait to relevant models for consistent name handling.
2025-08-19 11:04:23 +02:00
Andras Bacsai
6727fd958f feat(sanitization): integrate DOMPurify for HTML sanitization across components
- Added DOMPurify library to sanitize HTML content in toast notifications and other components to prevent XSS vulnerabilities.
- Updated relevant components to use the new `sanitizeHTML` function for safe rendering of HTML content.
- Ensured that only allowed tags and attributes are permitted in sanitized output.
2025-08-19 10:34:54 +02:00
Andras Bacsai
f02c36985f fix(modal): enhance confirmation text handling 2025-08-19 00:20:53 +02:00
Andras Bacsai
7a6114868d Revert test change 2025-08-18 19:18:07 +02:00
Andras Bacsai
0c7a0b8f3f Test pre-commit hook 2025-08-18 19:18:07 +02:00
peaklabs-dev
2603cd9d18 chore: update service-templates json files 2025-08-18 18:35:53 +02:00
peaklabs-dev
cf299029b9 chore: elasticsearch URL, fromatting and add category 2025-08-18 18:30:06 +02:00
Slawa Gladkov
df540d35a7 feat(service): add elasticsearch template (#6300) 2025-08-18 18:27:16 +02:00
Carlos
2e0233fbc2 chore(service): change affine images (#6366) 2025-08-18 18:12:16 +02:00
Aditya Tripathi
8a35295f13 fix(proxy): filter host network from default proxy (#6383) 2025-08-18 17:48:24 +02:00
peaklabs-dev
e2fd1f4507 fix: disable env sorting by default
- this is a better default
2025-08-18 17:47:21 +02:00
Pritam Yadav
f01341bfbf fix(ui): handle null values in postgres metrics (#6388) 2025-08-18 17:39:30 +02:00
peaklabs-dev
dbed6c270e feat: generate category for services 2025-08-18 17:28:20 +02:00
Andras Bacsai
ee502b9f76 feat(email): implement email change request and verification process
- Added functionality for users to request an email change, including generating a verification code and setting an expiration time.
- Implemented methods in the User model to handle email change requests, code validation, and confirmation.
- Created a new job to update the user's email in Stripe after confirmation.
- Introduced rate limiting for email change requests and verification attempts to prevent abuse.
- Added a new notification for email change verification.
- Updated the profile component to manage email change requests and verification UI.
2025-08-18 14:54:08 +02:00
Andras Bacsai
5cfe6464aa fix(database): conditionally set started_at only if the database is running 2025-08-18 12:09:58 +02:00
Andras Bacsai
460198bb05 fix(application): clear Docker Compose specific data when switching away from dockercompose 2025-08-18 11:31:14 +02:00
Andras Bacsai
0a29c6374c update service templates 2025-08-18 09:50:31 +02:00
Andras Bacsai
2c95b96ca3 Merge pull request #6385 from justserdar/next
fix(templates): added a general category tag for the docs service filter
2025-08-18 09:49:21 +02:00
Andras Bacsai
a7298eeedd Merge pull request #6315 from Jacxk/fix/service-update-required-params
fix(api): made services patch endpoint attributes optional
2025-08-17 19:46:37 +02:00
Andras Bacsai
0e014ce213 fix(service api): separate create and update service functionalities 2025-08-17 19:45:12 +02:00
Andras Bacsai
6b0d995033 Merge branch 'next' into fix/service-update-required-params 2025-08-17 18:43:36 +02:00
Andras Bacsai
c471751ed9 Merge pull request #6318 from Trung-DV/fix-volume-variable-with-default
Fix volume target, use the last part
2025-08-17 18:40:47 +02:00
Andras Bacsai
be34c0c2b4 refactor(parsers): update volume parsing logic to use beforeLast and afterLast for improved accuracy 2025-08-17 18:36:28 +02:00
Serdar Yerdelen
522b3459ae feat(templates): added category per service 2025-08-17 18:23:57 +02:00
Andras Bacsai
1675c85d4d refactor(shared helpers): remove unused parseServiceVolumes function to clean up codebase 2025-08-17 18:09:59 +02:00
Andras Bacsai
9b98891269 Merge branch 'next' into fix-volume-variable-with-default 2025-08-17 18:03: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
7925e2e42a fix(email notifications): enhance EmailChannel to validate team membership for recipients and handle errors gracefully 2025-08-17 17:59:22 +02:00
Andras Bacsai
91cc52f81e feat(dev patches): add functionality to send test email with patch data in development mode 2025-08-17 17:58:38 +02:00
Andras Bacsai
58d865c751 refactor(previews): improve layout and add deployment/application logs links for previews 2025-08-17 15:34:41 +02:00
Andras Bacsai
73cdbd501c fix(ApplicationPreview): change null check to empty check for fqdn in generate_preview_fqdn method 2025-08-17 15:34:36 +02:00
Andras Bacsai
1c628a8a9e chore(changelogs): add .gitignore for changelogs directory and remove outdated changelog files for May, June, and July 2025 2025-08-17 15:22:58 +02:00
Andras Bacsai
240f8f33e2 Merge pull request #6367 from nahtnam/v4.x
BUGFIX: Update `ls-remote` logic to pull correct branch
2025-08-17 15:20:27 +02:00
Andras Bacsai
9b83185553 docs(claude): clarify that artisan commands should only be run inside the "coolify" container during development 2025-08-17 14:24:04 +02:00
Andras Bacsai
0dada987a2 feat(backup): add disable local backup option and related logic for S3 uploads 2025-08-17 12:34:20 +02:00