Commit graph

114 commits

Author SHA1 Message Date
41c15a240f chore: remove broken feedback form and all entrypoints
The feedback form relies on instance SMTP being configured, which
MapleDeploy customers won't do. Without SMTP it silently logs to
the server and shows a misleading success message. Removed the
navbar button, onboarding modal, subscription page link, API
endpoint, and all associated dead code.
2026-03-14 00:15:55 -04:00
Andras Bacsai
c15bcd5634 fix(api): require write permission for validation endpoints
Validation operations should require write permissions as they trigger
state-changing actions. Updated middleware for:
- POST /api/v1/cloud-tokens/{uuid}/validate
- GET /api/v1/servers/{uuid}/validate

Added tests to verify read-only tokens cannot access these endpoints.
2026-03-10 22:11:52 +01:00
Andras Bacsai
d8419fad93 chore: prepare for PR 2026-02-24 14:57:32 +01:00
Andras Bacsai
73170fdd33 chore: prepare for PR 2026-02-23 12:12:10 +01:00
Andras Bacsai
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
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
peaklabs-dev
7c0cb2f59d
fix(api): deprecate applications compose endpoint
- this endpoint is a duplicate of the services endpoint and also updates fields that do not exist which makes it unstable
2026-01-12 22:08:05 +01:00
Andras Bacsai
ef0a1241b0 fix: rename validate() to validateToken() to avoid parent method conflict
The validate() method conflicted with Controller::validate(). Renamed to
validateToken() to resolve the declaration compatibility issue.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-10 08:57:04 +01:00
Andras Bacsai
62c394d3a1 feat: add Hetzner server provisioning API endpoints
Add complete API support for Hetzner server provisioning, matching UI functionality:

Cloud Provider Token Management:
- POST /api/v1/cloud-tokens - Create and validate tokens
- GET /api/v1/cloud-tokens - List all tokens
- GET /api/v1/cloud-tokens/{uuid} - Get specific token
- PATCH /api/v1/cloud-tokens/{uuid} - Update token name
- DELETE /api/v1/cloud-tokens/{uuid} - Delete token
- POST /api/v1/cloud-tokens/{uuid}/validate - Validate token

Hetzner Resource Discovery:
- GET /api/v1/hetzner/locations - List datacenters
- GET /api/v1/hetzner/server-types - List server types
- GET /api/v1/hetzner/images - List OS images
- GET /api/v1/hetzner/ssh-keys - List SSH keys

Server Provisioning:
- POST /api/v1/servers/hetzner - Create server with full options

Features:
- Token validation against provider APIs before storage
- Smart SSH key management with MD5 fingerprint deduplication
- IPv4/IPv6 network configuration with preference logic
- Cloud-init script support with YAML validation
- Team-based isolation and security
- Comprehensive test coverage (40+ test cases)
- Complete documentation with curl examples and Yaak collection

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-10 08:38:09 +01:00
Andras Bacsai
802569bf63 Changes auto-committed by Conductor 2025-10-16 13:19:05 +02:00
Andras Bacsai
473c32270d Changes auto-committed by Conductor 2025-10-16 11:01:58 +02:00
Andras Bacsai
5e6946c33a feat(github): add update and delete endpoints for GitHub apps
- Implemented endpoints to update and delete GitHub apps in the GithubController.
- Added OpenAPI annotations for the new endpoints, including request and response specifications.
- Removed the 'is_public' field from the app creation and update processes, defaulting it to false.
- Enhanced validation for update requests to ensure proper data handling.
2025-09-22 15:28:18 +02:00
Andras Bacsai
9638012a4f feat(github): add GitHub app management endpoints
- Implemented a new GithubController with endpoints to create GitHub apps, load repositories, and fetch branches for a given repository.
- Added OpenAPI annotations for API documentation.
- Included validation for incoming requests and error handling for various scenarios.
2025-09-22 15:11:30 +02:00
Andras Bacsai
0539dedaa0 feat(databases): enhance backup management API with new endpoints and improved data handling
- Refactored backup configuration retrieval and update logic to use UUIDs instead of IDs.
- Added new endpoint to list backup executions for a specific backup configuration.
- Improved error handling and validation for backup operations.
- Updated API documentation to reflect changes in parameter names and descriptions.
2025-09-22 13:14:45 +02:00
Andras Bacsai
2abcfd2f1c
Merge branch 'next' into feat/manage-db-using-api 2025-09-22 10:18:43 +02:00
Andras Bacsai
5ded100300 feat(api): add endpoints for managing environments in projects, including listing, creating, and deleting environments 2025-08-16 18:27:38 +02:00
Andras Bacsai
a32342d126 feat(api): add create_environment endpoint to ProjectController for environment creation in projects 2025-08-15 20:24:32 +02:00
Andras Bacsai
7df61b9387 fix(routes): update middleware for deploy route to use 'api.ability:deploy' 2025-06-24 17:17:48 +02:00
DanielHemmati
be104cd612 feat(api): add endpoint to update backup configuration by UUID and backup ID; modify response to include backup id 2025-05-22 14:36:14 +02:00
DanielHemmati
2a06a392d5 Implement backup delete 2025-04-25 17:31:04 +02:00
DanielHemmati
5dff22d345 implement backup config via api 2025-04-25 17:31:04 +02:00
DanielHemmati
da487f609a implmenet Get /database/:uuid/backups api 2025-04-25 17:31:04 +02:00
Andras Bacsai
0dceb40a6e feat(api): add HTTP Basic Authentication fields to OpenAPI specifications and enhance PrivateKey model descriptions 2025-04-23 11:59:01 +02:00
Andras Bacsai
bb8cc467ab fix(api): correct middleware for service update route to ensure proper permissions 2025-04-22 11:16:45 +02:00
Andras Bacsai
91f2865635 refactor(api): restructure routes to include versioning and maintain existing feedback endpoint 2025-04-22 11:05:55 +02:00
__m__
3b04d3df91 feat(deployments): add list application deployments api route 2025-03-31 12:31:17 +01:00
Andras Bacsai
120facfca3 feat(api): unify service creation endpoint and enhance validation 2025-03-21 11:31:17 +01:00
Meghea Iulian
d08774d083
feat(api): update Services api routes and handlers 2025-03-20 08:28:28 +02:00
Meghea Iulian
d16888b707
feat(api): separate create and one-click routes
Moves previous POST /services to POST /services/one-click.
Adds new POST /services that takes a docker_compose.
2025-03-19 10:22:34 +02:00
Meghea Iulian
5a7ced9438
feat(api): add api to create custom services
Add separate API to create services with custom Docker compose instead
of oneclick services implement as a POST to /services/compose.
This is somewhat similar to /applications/dockercompose but that API is
the only one in ApplicationsController that actually works with the `Service` model.
2025-03-19 06:51:20 +02:00
Vann
11a5ec7c38 feat: add lines query parameter 2025-02-02 13:43:31 +00:00
Van-Dev
b1d6167e89
feat: add application api route 2025-02-01 22:09:59 +07:00
Andras Bacsai
a85215e2d3 refactor: remove commented-out unsubscribe route from API 2025-01-13 09:21:18 +01:00
Andras Bacsai
70db50def6 fix: update response message for sentinel push route
- Removed the temporary unavailability message from the /sentinel/push route to allow for proper handling of authorization without misleading responses.
- This change improves the clarity of the API response when the authorization token is not provided.
2025-01-10 20:28:11 +01:00
Andras Bacsai
a396d51452
Merge branch 'next' into hotfix 2025-01-10 20:23:29 +01:00
Andras Bacsai
3111cdd15b fix: enable response for temporary unavailability in sentinel push endpoint 2025-01-10 12:08:22 +01:00
Andras Bacsai
b09f0043d1 fix: restrict jobs on cloud
fix: restrict sentinel endpoint
2025-01-10 11:54:45 +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
9e3467578f feat: add environment_uuid support and update API documentation
- Introduced `environment_uuid` as a required field in various API endpoints and schemas.
- Updated descriptions to clarify that either `environment_name` or `environment_uuid` must be provided.
- Modified routes and controller methods to accommodate the new UUID parameter.
- Adjusted frontend components to utilize `environment_uuid` for better consistency and clarity.
- Removed deprecated fields related to environment handling.

This change enhances the API's flexibility in identifying environments, improving overall usability.
2024-12-17 13:42:16 +01:00
Andras Bacsai
bf9d89f279
Merge branch 'next' into fix-environement-route 2024-12-17 12:17:50 +01:00
Andras Bacsai
3fa7d03db7 fix: root + read:sensive could read senstive data with a middlewarew 2024-12-09 11:10:35 +01:00
Andras Bacsai
5bbcd7bf76 fix: add middleware to new abilities, better ux for selecting permissions, etc. 2024-12-09 10:28:34 +01:00
peaklabs-dev
976899a10a
Update api.php 2024-11-22 15:30:51 +01:00
Kael
56c8056a8f
Merge branch 'next' into feat/deployment-token 2024-11-04 23:33:26 +11:00
Andras Bacsai
38fad7e6fd asd 2024-11-03 14:59:21 +01:00
Andras Bacsai
ca7c214775 fix: new way to update container statuses 2024-11-03 09:02:14 +01:00
Lucas Michot
8e1444eaa7 Get rid of many useless blank lines 2024-10-31 17:44:01 +01:00