Commit graph

112 commits

Author SHA1 Message Date
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
Kael
6520235667 middleware should allow, not deny 2024-10-30 19:06:50 +11:00
Kael
d4d63ff273 feat: add deploy-only token permission 2024-10-30 17:00:55 +11:00