Skip to content

[1.3.0] FastApps Cloud Support#14

Merged
David-Dohyun-Im merged 4 commits intomainfrom
feat/fastapps-cloud-deploy-functionalities
Nov 1, 2025
Merged

[1.3.0] FastApps Cloud Support#14
David-Dohyun-Im merged 4 commits intomainfrom
feat/fastapps-cloud-deploy-functionalities

Conversation

@Jhvictor4
Copy link
Copy Markdown
Contributor

No description provided.

Update deploy command to match actual server API specification

Changes:
- Update API endpoint from /deploy to /api/deployments
- Change multipart field name from 'artifact' to 'file'
- Add project_id parameter to deployment request
- Implement deployment status polling mechanism
- Add support for deployment states: pending, building, deploying, deployed, failed
- Update response parsing to handle nested deployment object
- Add domain information display in success message
- Improve progress feedback with real-time status updates
- Add status callback mechanism for better UX

Server protocol reference: ../Dooi-FastApps-Cloud/test-deployment.sh

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

.

.

.

fix : use project slug

feat : show auth url , fix login token validation process

chore : cloud api url

better build

Update init.py

chore : specify fastapps version in artifacts' requirements.txt

fix : no provider url

feat : created cloud related commands

Fix projects list parsing to match API response structure

The /api/projects endpoint returns:
{
  "projects": [...],
  "standalone_deployments": [...],
  "total_projects": N,
  "total_standalone": M
}

Updated list_projects() to correctly parse the response structure
by accessing the 'projects' key and iterating over the list.

Fixes AttributeError: 'list' object has no attribute 'get'

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

Improve error message formatting in cloud commands

Enhanced error handling across all cloud commands:
- Better structured error output with clear headers
- Show full error messages in yellow for visibility
- Add helpful context for network errors (show server URL)
- Consistent formatting across all commands

Now displays:
  ✗ Error
  <error message>

  <helpful hint based on error type>

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

Hardcode cloud server URL to localhost:8000

Remove environment variable fallback and use fixed localhost URL
for development. This will be updated to production URL later.

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

Restructure CLI: introduce fastapps cloud subcommand group

Major refactoring to organize all cloud deployment features under a unified
`fastapps cloud` command group. This provides a cleaner, more intuitive CLI
structure for managing FastApps Cloud deployments.

```
fastapps cloud login              # OAuth authentication
fastapps cloud logout             # Clear authentication token
fastapps cloud whoami             # Show current user info
fastapps cloud deploy             # Deploy project (improved)
fastapps cloud deployments [id]   # List/view deployments
fastapps cloud projects [id]      # List/view projects
fastapps cloud delete <id>        # Delete deployment
```

**fastapps/cloud/** - Core cloud management library
- `config.py` - Configuration and token management
- `models.py` - API response data models
- `client.py` - CloudClient class (unified API client)

**fastapps/cli/commands/cloud/** - CLI commands
- `login.py` - OAuth login flow
- `logout.py` - Token removal
- `whoami.py` - User info display
- `deploy.py` - Enhanced deployment (moved from commands/deploy.py)
- `deployments.py` - List and view deployments
- `projects.py` - List and view projects by project ID
- `delete.py` - Delete deployments with confirmation

- `fastapps/cli/main.py` - Added cloud command group, removed standalone deploy
- `fastapps/deployer/__init__.py` - Export Authenticator for reuse
- Removed `fastapps/cli/commands/deploy.py` (moved to cloud/deploy.py)

- Improved progress feedback with status polling
- Real-time deployment status updates (pending → building → deploying → deployed)
- Better error handling and user guidance
- Optional project ID override via --project-id flag

- OAuth login/logout workflows
- Current user information display
- Automatic authentication checks

- List all deployments with status, domain, and timestamps
- View detailed deployment information
- Delete deployments with confirmation prompt
- Relative timestamps (e.g., "2h ago", "5m ago")

- Group deployments by project ID
- View project-level statistics and history
- Latest deployment status per project

Fully integrated with FastApps Cloud API:
- GET /api/me - User information
- POST /api/deployments - Create deployment
- GET /api/deployments - List deployments
- GET /api/deployments/{id} - Get deployment details
- DELETE /api/deployments/{id} - Delete deployment
- GET /api/projects - List projects
- GET /api/projects/{id} - Get project details

- Removed `fastapps deploy` command
- Users must now use `fastapps cloud deploy`
- Configuration now uses cloud_token and cloud_url keys

🤖 Generated with [Claude Code](https://claude.com/claude-code)
@David-Dohyun-Im David-Dohyun-Im merged commit a060274 into main Nov 1, 2025
11 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants