Commit graph

337 commits

Author SHA1 Message Date
Andras Bacsai
ce5555ca9f feat(storage): consolidate storage management into a single component with enhanced UI
- Merged the storage management functionalities into the Storage component, replacing the previous Add component.
- Introduced new methods for submitting persistent volumes, file mounts, and directory mounts, improving code organization and maintainability.
- Enhanced the UI with modals for adding volumes, files, and directories, providing a more intuitive user experience.
- Updated validation rules and error handling for improved robustness during storage submissions.
- Removed deprecated Add component and associated views to streamline the codebase.
2025-10-01 18:46:21 +02:00
Andras Bacsai
a03c1b3b4b refactor(dashboard): remove deployment loading logic and introduce DeploymentsIndicator component for better UI management 2025-09-30 11:43:30 +02:00
ShadowArcanist
dc2929e1f7 Added info toast to let the user know to restart the app after enabling healthcheck
It only let the user know to restart if healthcheck is enabling while the app is in running state
2025-09-29 10:37:27 +05:30
ShadowArcanist
48ccfa3124 Added confirmation modal for enabling healtcheck + replaced enable checkbox with a button 2025-09-29 10:07:47 +05:30
Andras Bacsai
b1abdcee83 feat(environment-variables): implement environment variable analysis for build-time issues
- Added EnvironmentVariableAnalyzer trait to analyze and warn about problematic environment variables during the build process.
- Integrated analysis into ApplicationDeploymentJob and Livewire components to provide feedback on potential build issues.
- Introduced a new Blade component for displaying warnings related to environment variables in the UI.
2025-09-23 08:53:14 +02:00
Andras Bacsai
b1ad24eecf
Merge pull request #6657 from ShadowArcanist/shadow/metrics-visual-improvements
chore(ui): improve sentinel metrics
2025-09-22 09:46:26 +02:00
Andras Bacsai
4f71d14d39 feat(event): introduce ApplicationConfigurationChanged event to handle team-specific configuration updates and broadcast changes
feat(envs): Generate hash from secrets to invalidate docker layers
2025-09-22 09:44:30 +02:00
ShadowArcanist
ee9cf076c3 Removed debug logging for metrics 2025-09-19 23:28:25 +05:30
ShadowArcanist
0ef0247e14 Improved metrics graph tooltip to show usage in a better way and added timestamp to the tooltip 2025-09-19 22:40:08 +05:30
Andras Bacsai
f33df13c4e feat(environment): replace is_buildtime_only with is_runtime and is_buildtime flags for environment variables, updating related logic and views 2025-09-18 18:14:54 +02:00
Andras Bacsai
c1bee32f09 feat(deployment): introduce 'use_build_secrets' setting for enhanced security during Docker builds and update related logic in deployment process 2025-09-17 10:34:38 +02:00
Andras Bacsai
97428a4a80 feat(executions): add 'Load All' button to view all logs and implement loadAllLogs method for complete log retrieval 2025-09-15 11:05:29 +02:00
Andras Bacsai
8e155f25b3 refactor(environment): streamline environment variable handling by replacing sorting methods with direct property access and enhancing query ordering for improved performance 2025-09-12 12:09:03 +02:00
Andras Bacsai
20ad2165e7 feat(environment): introduce 'is_buildtime_only' attribute to environment variables for improved build-time configuration 2025-09-11 17:38:16 +02:00
Andras Bacsai
5b3b4bbc43 refactor(environment): remove 'is_build_time' attribute from environment variable handling across the application to simplify configuration 2025-09-11 16:51:56 +02:00
Andras Bacsai
13af4811f5 feat(storages): add method to retrieve the first storage ID for improved stability in storage display 2025-09-11 13:41:22 +02:00
Andras Bacsai
5e0b86f322
Merge pull request #6170 from mindedtech/Add-SERVICE_NAME-variable-for-docker-compose-services
Add SERVICE_NAME variable for docker compose services
2025-09-11 13:06:10 +02:00
Andras Bacsai
e74da06465 refactor(clone): consolidate application cloning logic into a dedicated function for improved maintainability and readability 2025-09-11 10:38:08 +02:00
Arnaud B
e23ab1e621
feat(deployment): add SERVICE_NAME variables for service discovery
This change introduces automatically generated `SERVICE_NAME_<SERVICE>`
environment variables for each service within a Docker Compose deployment.
This allows services to reliably reference each other by name, which is particularly
useful in pull request environments where container names are dynamically suffixed.

- The application parser now generates and injects these `SERVICE_NAME` variables
   into the environment of all services in the compose file.
- `ApplicationDeploymentJob` is updated to correctly handle and filter these
  new variables during deployment.
- UI components and the `EnvironmentVariableProtection` trait have been updated
to make these generated variables read-only, preventing accidental modification.

This commit introduces two new helper functions to standardize resource naming
for pull request deployments:

-  `addPreviewDeploymentSuffix()`: Generates a consistent suffix format (-pr-{id})
   for resource names in preview deployments
-  `generateDockerComposeServiceName()`: Creates SERVICE_NAME environment variables
   for Docker Compose services
2025-09-08 15:22:44 +02:00
Andras Bacsai
80499a03d8 feat(domains): implement domain conflict detection and user confirmation modal across application components 2025-08-28 10:52:41 +02:00
Andras Bacsai
2e85ce0e0e refactor(urls): replace generateFqdn with generateUrl for consistent URL generation across applications 2025-08-28 09:49:58 +02:00
Andras Bacsai
63fcc0ebc3 feat(acl): Change views/backend code to able to use proper ACL's later on. Currently it is not enabled. 2025-08-26 10:27:38 +02:00
Andras Bacsai
ae1b0de561 feat(auth): enhance authorization checks in Livewire components for resource management 2025-08-26 10:27:38 +02:00
Andras Bacsai
adb8f9d88e feat(auth): implement authorization checks for database management 2025-08-23 18:50:35 +02:00
Andras Bacsai
40f108d6e1 feat(auth): implement authorization checks for application management 2025-08-22 16:47:59 +02:00
Andras Bacsai
e8892b3d29 feat(core): finally fqdn is fqdn and url is url. haha 2025-08-12 10:06:19 +02:00
Andras Bacsai
cc5abc093d fix(container): sort containers alphabetically by name in ExecuteContainerCommand and update filtering in Terminal Index 2025-08-12 10:06:19 +02:00
peaklabs-dev
279edf696c
chore(docker): remove unused arguments on StopService 2025-08-04 22:12:56 +02:00
🏔️ Peak
2a526c54d5
fix(docker): volumes get delete when stopping a service if Delete Unused Volumes is activated (#6317) 2025-08-04 21:15:56 +02:00
Andras Bacsai
43ff38d914 feat(terminal): dispatch focus event for terminal after connection and enhance focus handling in JavaScript 2025-07-18 22:39:42 +02:00
Andras Bacsai
ef91e43384 feat(container): add updatedSelectedContainer method to connect to non-default containers and update wire:model for improved reactivity 2025-07-18 20:48:56 +02:00
Andras Bacsai
ca62f8dacc refactor(terminal): simplify command construction for SSH execution 2025-07-03 15:48:59 +02:00
Andras Bacsai
13a9816770 fix(service): ensure configuration changes are properly tracked and dispatched 2025-07-03 15:08:13 +02:00
Andras Bacsai
a1ec86f433 fix(terminal): ensure shell execution only uses valid shell if available in terminal command 2025-07-01 10:37:34 +02:00
Andras Bacsai
f7daddce58 refactor(ui): terminal 2025-06-17 09:28:07 +02:00
Andras Bacsai
d1d899c0cf refactor(execute-container-command): simplify connection logic and improve terminal availability checks 2025-06-14 13:56:48 +02:00
Andras Bacsai
64dd648b3f fix(terminal): now it should work 2025-06-14 13:00:16 +02:00
Andras Bacsai
581151bb11 refactor(resource-operations): filter out build servers from the server list and clean up commented-out code in the resource operations view 2025-06-13 16:49:27 +02:00
Andras Bacsai
d47d2f14f7 refactor(logs): remove unused methods and debug functionality from Logs.php for cleaner code 2025-06-10 10:48:08 +02:00
Andras Bacsai
8e70b2907f fix(terminal-connection): improve error handling and stability for auto-connection; enhance component readiness checks and retry logic 2025-06-06 21:40:52 +02:00
Andras Bacsai
7df6890920 refactor(terminal-connection): streamline auto-connection logic and improve component readiness checks 2025-06-06 21:34:27 +02:00
Andras Bacsai
ba970d909c feat(terminal-connection): enhance terminal connection handling with auto-connect feature and improved status messaging 2025-06-06 21:15:50 +02:00
Andras Bacsai
618a7d459c refactor(logs): enhance container loading logic and improve UI for logs display across various resource types 2025-06-05 13:24:26 +02:00
Andras Bacsai
9480fc2b2f refactor(environment-variables): remove debug logging from bulk submit handling for cleaner code 2025-05-30 09:11:40 +02:00
Andras Bacsai
05a03c44d3 refactor(terminal): enhance terminal connection management and error handling, including improved reconnection logic and cleanup procedures 2025-05-29 14:36:13 +02:00
Andras Bacsai
261a2fe564 feat(ca-certificate): add CA certificate management functionality with UI integration and routing 2025-05-29 14:27:28 +02:00
Andras Bacsai
9d71900952 refactor(terminal-access): streamline resource retrieval and enhance terminal access messaging in UI 2025-05-29 14:26:48 +02:00
Andras Bacsai
46b4cfac68 feat(terminal-access): implement terminal access control for servers and containers, including UI updates and backend logic 2025-05-29 14:09:05 +02:00
Andras Bacsai
102bdb5bc3 refactor(application): enhance application stopping logic to support multiple servers 2025-05-26 21:44:34 +02:00
Andras Bacsai
be0453d9df fix: Traefik start on new server validation
fix: Multiple server selection ui flow
2025-05-26 21:06:00 +02:00
Andras Bacsai
786bfa960f improvement(core): simplify events for app/db/service status changes 2025-05-19 21:50:32 +02:00
Andras Bacsai
00fe6e9003 refactor(environment-variables): remove protected variable checks from delete methods for cleaner logic 2025-04-22 11:40:35 +02:00
Andras Bacsai
d075241289 feat(Deployment): enhance queue_application_deployment to handle existing deployments and return appropriate status messages 2025-04-11 15:27:56 +02:00
Andras Bacsai
f63415f027 feat(EnvironmentVariable): implement protection for critical environment variables and enhance deletion logic 2025-04-07 22:57:26 +02:00
Andras Bacsai
d383344ab9 feat(EnvironmentVariable): add handling for Redis credentials in the environment variable component 2025-04-06 21:13:11 +02:00
Andras Bacsai
798aab6955 refactor(ScheduledTask): clean up code formatting and remove unused import 2025-03-14 16:11:41 +01:00
Andras Bacsai
3f62225ec3 refactor(scheduled-tasks): Improve scheduled task creation and management 2025-02-27 13:26:35 +01:00
Andras Bacsai
1e28cf56ac fix(ui): Correct redirect routes after task deletion 2025-02-27 13:26:24 +01: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
0ff7c468c8 fix(ui): skip SERVICE_FQDN and SERVICE_URL variables during update 2025-02-03 15:44:15 +01:00
Andras Bacsai
8f1bde2534 fix(core): check cron expression on save 2025-01-28 11:01:50 +01:00
Efthymis Sarmpanis
01b9cbdfea fix: validate cron expression in Scheduled Task update 2025-01-27 22:50:54 +02:00
peaklabs-dev
09d64d4bf6
feat(terminal): show terminal unavailable if the container does not have a shell on the global terminal UI 2025-01-23 11:51:01 +01:00
peaklabs-dev
007e291bef
fix(terminal): terminal shows that it is not available, even though it is 2025-01-23 11:50:06 +01:00
peaklabs-dev
9f3c6b4b76
fix(env): shared variables can not be updated 2025-01-22 17:02:11 +01:00
peaklabs-dev
31992f4d02
fix(ui):show error on terminal if container has no shell (bash/sh) 2025-01-21 18:36:38 +01:00
peaklabs-dev
85f38b7cb5
refactor: improve data formatting and UI
- move date and duration functions to a shared function
- remove duplicate code
- redesigned the deployment executions tab
- added start and end times for backups, scheduled tasks, deployments and docker cleanup executions
- calculated the duration for backups, scheduled tasks, deployments and Docker cleanup executions
- redesigned status badges with colors to make it easier to see your current status
- removed dependency on dayjs
- fixed calculation of execution time was sometimes incorrect
2025-01-15 18:35:20 +01:00
peaklabs-dev
43dacd83c9
chore: use the new job dispatch 2025-01-13 11:13:35 +01:00
peaklabs-dev
34873b2c59
feat: volume cloning for ResourceOperations 2025-01-09 14:13:09 +01:00
peaklabs-dev
249e39ea71
fix: implement all the cloneMe changes for ResourceOperations as well 2025-01-08 17:26:59 +01:00
peaklabs-dev
fc1963f642
chore: remove unused computed fields 2025-01-08 17:08:36 +01:00
peaklabs-dev
66d0926142
fix: Undefined variable $fs_path for databases 2025-01-08 16:00:49 +01:00
peaklabs-dev
91e1220912
fix: service cloning on a separate server
- To be able to clone a service to a new server we need to set the server_id as well, otherwise it will be cloned on the same server.
2025-01-07 19:26:25 +01:00
peaklabs-dev
d53065967e
fix: exclude system and computed fields from model replication
- Remove auto-generated properties (`id`, `created_at` and `updated_at` ) from replicate
- Exclude computed count properties (`additional_servers_count`, `additional_networks_count`) loaded by global scope to prevent errors
2025-01-07 17:18:04 +01:00
Andras Bacsai
1fe4dd722b Revert "rector: arrrrr"
This reverts commit 16c0cd10d8.
2025-01-07 15:31:43 +01:00
Andras Bacsai
16c0cd10d8 rector: arrrrr 2025-01-07 14:52:08 +01:00
Andras Bacsai
bf9d89f279
Merge branch 'next' into fix-environement-route 2024-12-17 12:17:50 +01:00
Andras Bacsai
38256af9b3 fix: refactor database view 2024-12-17 12:10:55 +01:00
Andras Bacsai
2a9d499251 feat: migrate env variables to polymorphic relationship
fix: proxy status query ui
2024-12-17 10:38:42 +01:00
Andras Bacsai
e76817d401 improve application view 2024-12-16 14:11:45 +01:00
Andras Bacsai
2565deba4f fix: resource clone name + volume name generation 2024-12-16 10:25:56 +01:00
Andras Bacsai
664b718ea3 fix: always have download logs button on scheduled tasks 2024-12-09 11:53:50 +01:00
Andras Bacsai
6b936a3e92 feat: able to download schedule task logs 2024-12-09 11:36:39 +01:00
Philip Heinser
4b89b84353 paginate task logs 2024-12-08 15:26:51 +07:00
Andras Bacsai
946ab81d87 is_required is not required for shared envs 2024-12-07 14:35:14 +01:00
Andras Bacsai
51ed798789 add container name validation to terminal 2024-12-04 12:43:41 +01:00
peaklabs-dev
bde895b6cd
fix scheduled task url 2024-11-22 16:08:27 +01:00
peaklabs-dev
277fd78769
new uuid routes 2024-11-22 16:03:20 +01:00
retrymp3
e66e59048f Fix for the XSS vulnerability 2024-11-14 23:00:30 +05:30
Andras Bacsai
376a2341af refactor scheduled task job (and related stuffs) 2024-11-07 11:09:38 +01:00
Lucas Michot
1ec224fde1 Inline many variables. 2024-10-31 18:20:11 +01:00
Lucas Michot
8e1444eaa7 Get rid of many useless blank lines 2024-10-31 17:44:01 +01:00
🏔️ Peak
588080d12d
Merge pull request #4086 from lucasmichot/feat/useless-catch-variable
Remove all useless catch block useless variables.
2024-10-31 16:26:31 +01:00
🏔️ Peak
732be30ff7
Merge pull request #4085 from lucasmichot/feat/match
Use match when possible.
2024-10-31 16:24:50 +01:00
Lucas Michot
601f1a4717 Always prefer stricter string comparisons. 2024-10-31 15:23:19 +01:00
Lucas Michot
b1d04912a0 Remove all useless catch block useless variables. 2024-10-31 15:19:37 +01:00
Lucas Michot
e2b396a0f0 Use match when possible. 2024-10-31 15:14:30 +01:00
Lucas Michot
c5403b0b3f Always prefer ::class notation 2024-10-28 14:56:13 +01:00
Lucas Michot
d557a22b91 Remove all ray() calls 2024-10-28 13:51:23 +01:00
Andras Bacsai
50519a86a9 fix: numberOfLines could be null 2024-10-25 17:38:14 +02:00