Commit Graph
5114 Commits
Author SHA1 Message Date
Andras Bacsai 521d995ea1 Merge remote-tracking branch 'origin/next' into 7765-healthcheck-investigation 2026-02-25 11:57:58 +01:00
Andras Bacsai 8e2f0836da chore: prepare for PR 2026-02-25 11:52:18 +01:00
Andras BacsaiandGitHub 57848c25e9 fix(docker): centralize command escaping in executeInDocker helper (#8615) 2026-02-25 11:51:23 +01:00
Andras Bacsai 992b922df3 chore: prepare for PR 2026-02-25 11:50:57 +01:00
Andras Bacsai 0580af0d34 feat(healthchecks): add command health checks with input validation
Add support for command-based health checks in addition to HTTP-based checks:
- New health_check_type field supporting 'http' and 'cmd' values
- New health_check_command field with strict regex validation
- Updated allowedFields in create_application and update_by_uuid endpoints
- Validation rules include max 1000 characters and safe character whitelist
- Added feature tests for health check API endpoints
- Added unit tests for GithubAppPolicy and SharedEnvironmentVariablePolicy
2026-02-25 11:38:09 +01:00
Andras Bacsai 609cb4190e fix(health-checks): sanitize and validate CMD healthcheck commands
- Add regex validation to restrict allowed characters (alphanumeric, spaces, and specific safe symbols)
- Enforce maximum 1000 character limit on healthcheck commands
- Strip newlines and carriage returns to prevent command injection
- Change input field from textarea to text input in UI
- Add warning callout about prohibited shell operators
- Add comprehensive validation tests for both valid and malicious command patterns
2026-02-25 11:28:33 +01:00
Andras BacsaiandGitHub 24abd51238 fix(auth): prevent cross-tenant IDOR in resource cloning (#8613) 2026-02-25 11:21:52 +01:00
Andras Bacsai 1759a1631c chore: prepare for PR 2026-02-25 11:18:46 +01:00
Andras Bacsai 65d4005493 Merge remote-tracking branch 'origin/next' into 7765-healthcheck-investigation
# Conflicts:
#	app/Livewire/Project/Shared/HealthChecks.php
2026-02-25 11:02:38 +01:00
Andras Bacsai 30c0b37689 chore: prepare for PR 2026-02-25 10:58:29 +01:00
Aditya TripathiandGitHub 036f565785 Merge branch 'next' into feat/healthcheck-cmd 2026-02-24 22:22:02 +05:30
Andras Bacsai 2986d7604e chore: prepare for PR 2026-02-24 10:17:16 +01:00
Andras Bacsai ec14b55f0a chore: prepare for PR 2026-02-23 14:28:28 +01:00
Andras Bacsai 620da191b1 chore: prepare for PR 2026-02-23 14:15:13 +01:00
Andras BacsaiandGitHub 1f3fca5f71 fix(database): chown redis/keydb configs when custom conf set (#8561) 2026-02-23 13:26:58 +01:00
Andras Bacsai 76a6960f44 chore: prepare for PR 2026-02-23 13:26:01 +01:00
Andras BacsaiandGitHub 133241bac1 fix(service): resolve team lookup via service relationship (#8559) 2026-02-23 13:24:01 +01:00
Andras Bacsai 61a54afe2b fix(service): resolve team lookup via service relationship
Update service application/database team accessors to traverse the service relation chain and add coverage to prevent null team regressions.
2026-02-23 13:23:12 +01:00
Andras Bacsai bf51ed905f chore: prepare for PR 2026-02-23 13:02:06 +01:00
Andras Bacsai cb0f5cc812 chore: prepare for PR 2026-02-23 12:19:57 +01:00
Andras BacsaiandGitHub 0c8b9b75f4 fix(traefik): respect force https in service labels (#8550) 2026-02-23 12:16:12 +01:00
Andras BacsaiandGitHub d51b26c047 Dont ignore "force https" pref when using docker compose (#8424) 2026-02-23 12:15:37 +01:00
Andras Bacsai 16e85e27e8 fix(service): always enable force https labels
Force HTTPS routing labels in parser helpers and remove per-service toggles now that the preference is no longer honored.
2026-02-23 12:14:44 +01:00
Andras Bacsai 73170fdd33 chore: prepare for PR 2026-02-23 12:12:10 +01:00
Aditya TripathiandGitHub 04283a03a0 Merge branch 'next' into feat/healthcheck-cmd 2026-02-21 06:54:29 +05:30
Andras BacsaiandGitHub fd24a54304 feat(monitoring): add scheduled job monitoring dashboard (#8433) 2026-02-18 16:16:56 +01:00
Andras Bacsai 664b31212f chore: prepare for PR 2026-02-18 15:42:42 +01:00
Andras Bacsai 4d36265017 fix(api): improve scheduled tasks validation and delete logic
- Use explicit has() checks for timeout and enabled fields to properly handle falsy values
- Add validation to prevent empty update requests
- Optimize delete endpoint to use direct query deletion instead of fetch-then-delete
- Update factory to use Team::factory() for proper test isolation
2026-02-18 14:30:44 +01:00
Andras BacsaiandClaude Opus 4.6 ab79a51e29 fix(api): improve scheduled tasks API with auth, validation, and execution endpoints
- Add authorization checks ($this->authorize) for all read/write operations
- Use customApiValidator() instead of Validator::make() to match codebase patterns
- Add extra field rejection to prevent mass assignment
- Use Application::ownedByCurrentTeamAPI() for consistent query patterns
- Remove non-existent standalone_postgresql_id from hidden fields
- Add execution listing endpoints for both applications and services
- Add ScheduledTaskExecution OpenAPI schema
- Use $request->only() instead of $request->all() for safe updates
- Add ScheduledTaskFactory and feature tests

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-18 11:53:58 +01:00
Andras Bacsai 301282a9ad Merge branch 'pr-8395' into 8394-scheduled-task-missing 2026-02-18 11:46:34 +01:00
Andras Bacsai 967d295963 chore: prepare for PR 2026-02-18 11:20:32 +01:00
Jono 35a6110252 Dont ignore "force https" pref when using docker compose 2026-02-17 15:30:49 -08:00
Ahmed 2b913a1c35 feat(api): add update endpoints for scheduled tasks in applications and services 2026-02-17 02:18:08 +03:00
Ahmed a5d48c54da feat(api): add delete endpoints for scheduled tasks in applications and services 2026-02-17 01:33:46 +03:00
Ahmed 8c6c2703cc feat: expose scheduled tasks to API 2026-02-16 22:26:58 +03:00
Andras BacsaiandGitHub 766355b9ac test: migrate to SQLite :memory: and add Pest browser testing (#8364) 2026-02-16 14:41:54 +01:00
peaklabs-dev 25ccde83fa fix(api): add a newline to openapi.json 2026-02-16 00:04:05 +01:00
Andras Bacsai f05b7106cf chore: prepare for PR 2026-02-15 14:19:02 +01:00
Andras Bacsai b566889782 merge fix 2026-02-15 14:14:23 +01:00
Andras Bacsai 211ab37045 refactor(ssh-retry): remove Sentry tracking from retry logic
Remove the trackSshRetryEvent() method and its invocation from the SSH retry
flow. This simplifies the retry mechanism and reduces external dependencies for
retry handling.
2026-02-15 14:14:23 +01:00
Andras Bacsai da0e06a97e chore: prepare for PR 2026-02-15 14:14:23 +01:00
Andras Bacsai 1519666d4c chore: prepare for PR 2026-02-15 14:14:23 +01:00
Andras Bacsai b40926e915 chore: prepare for PR 2026-02-15 14:14:23 +01:00
Andras Bacsai 4a40009020 chore: prepare for PR 2026-02-15 14:14:23 +01:00
Andras Bacsai ce29dce9e7 chore: prepare for PR 2026-02-15 14:14:23 +01:00
Andras Bacsai 76a770911c fix(server): improve IP uniqueness validation with team-specific error messages
- Refactor server IP duplicate detection to use `first()` instead of `get()->count()`
- Add team-scoped validation to distinguish between same-team and cross-team IP conflicts
- Update error messages to clarify ownership: "already exists in your team" vs "in use by another team"
- Apply consistent validation logic across API, boarding, and server management flows
- Add comprehensive test suite for IP uniqueness enforcement across teams
2026-02-15 14:14:23 +01:00
Andras BacsaiandGitHub 5d54bc1c96 fix(sentry): use withScope for SSH retry event tracking (#8363) 2026-02-15 14:00:41 +01:00
Andras Bacsai c3f0ed3098 refactor(ssh-retry): remove Sentry tracking from retry logic
Remove the trackSshRetryEvent() method and its invocation from the SSH retry
flow. This simplifies the retry mechanism and reduces external dependencies for
retry handling.
2026-02-15 14:00:27 +01:00
Andras Bacsai ced1938d43 chore: prepare for PR 2026-02-15 13:48:01 +01:00
Andras BacsaiandGitHub b9e6c12e8d fix(database): disable proxy on port allocation failure (#8362) 2026-02-15 13:47:37 +01:00