Auto-sync from website-creator
This commit is contained in:
172
skills/easypanel-deploy/API_ENDPOINTS.md
Normal file
172
skills/easypanel-deploy/API_ENDPOINTS.md
Normal file
@@ -0,0 +1,172 @@
|
||||
# ✅ EASYPANEL API INTEGRATION COMPLETE
|
||||
|
||||
**Date:** 2026-03-08
|
||||
**Status:** ✅ Scripts updated with correct API endpoints
|
||||
|
||||
---
|
||||
|
||||
## 🎯 EXTRACTED API ENDPOINTS
|
||||
|
||||
From Easypanel OpenAPI spec (https://panelwebsite.moreminimore.com/api/openapi.json)
|
||||
|
||||
### Authentication
|
||||
|
||||
**Endpoint:** `POST /api/trpc/auth.login`
|
||||
|
||||
**Request Body:**
|
||||
```json
|
||||
{
|
||||
"json": {
|
||||
"email": "your-email",
|
||||
"password": "your-password",
|
||||
"rememberMe": false
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
**Response:**
|
||||
```json
|
||||
{
|
||||
"result": {
|
||||
"data": {
|
||||
"sessionToken": "xxx-xxx-xxx"
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
**Auth Method:** Bearer token in Authorization header
|
||||
|
||||
---
|
||||
|
||||
### Service Management
|
||||
|
||||
#### Create Service
|
||||
**Endpoint:** `POST /api/trpc/services.app.createService`
|
||||
|
||||
**Request Body:**
|
||||
```json
|
||||
{
|
||||
"json": {
|
||||
"projectName": "my-project",
|
||||
"serviceName": "my-service",
|
||||
"build": {
|
||||
"type": "dockerfile",
|
||||
"file": "Dockerfile"
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
#### Update Git Source
|
||||
**Endpoint:** `POST /api/trpc/services.app.updateSourceGit`
|
||||
|
||||
**Request Body:**
|
||||
```json
|
||||
{
|
||||
"json": {
|
||||
"projectName": "my-project",
|
||||
"serviceName": "my-service",
|
||||
"repo": "https://git.moreminimore.com/user/repo.git",
|
||||
"ref": "main",
|
||||
"path": "/"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
#### Update Build
|
||||
**Endpoint:** `POST /api/trpc/services.app.updateBuild`
|
||||
|
||||
**Request Body:**
|
||||
```json
|
||||
{
|
||||
"json": {
|
||||
"projectName": "my-project",
|
||||
"serviceName": "my-service",
|
||||
"build": {
|
||||
"type": "dockerfile",
|
||||
"file": "Dockerfile"
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
#### Deploy Service
|
||||
**Endpoint:** `POST /api/trpc/services.app.deployService`
|
||||
|
||||
**Request Body:**
|
||||
```json
|
||||
{
|
||||
"json": {
|
||||
"projectName": "my-project",
|
||||
"serviceName": "my-service",
|
||||
"forceRebuild": false
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
#### Check Status
|
||||
**Endpoint:** `GET /api/trpc/services.app.inspectService?input=<encoded-json>`
|
||||
|
||||
**URL Encoding:**
|
||||
```
|
||||
GET /api/trpc/services.app.inspectService?input=%7B%22json%22%3A%7B%22projectName%22%3A%22my-project%22%2C%22serviceName%22%3A%22my-service%22%7D%7D
|
||||
```
|
||||
|
||||
**Response:**
|
||||
```json
|
||||
{
|
||||
"result": {
|
||||
"data": {
|
||||
"status": "running",
|
||||
"url": "https://my-service.easypanel.app"
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## ✅ SCRIPT UPDATED
|
||||
|
||||
**File:** `/skills/easypanel-deploy/scripts/deploy.py`
|
||||
|
||||
**Changes:**
|
||||
- ✅ Uses correct `/api/trpc/auth.login` endpoint
|
||||
- ✅ Uses `email` field (not username)
|
||||
- ✅ Extracts `sessionToken` from response
|
||||
- ✅ Uses Bearer token authentication
|
||||
- ✅ Correct tRPC request format (`{"json": {...}}`)
|
||||
- ✅ URL-encoded GET requests for status checks
|
||||
- ✅ Proper error handling
|
||||
|
||||
**Test:**
|
||||
```bash
|
||||
cd /skills/easypanel-deploy
|
||||
python3 scripts/deploy.py --help
|
||||
# ✅ Works!
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 📋 WORKFLOW
|
||||
|
||||
1. **Login:** `POST /api/trpc/auth.login` → session token
|
||||
2. **Create Service:** `POST /api/trpc/services.app.createService`
|
||||
3. **Update Git:** `POST /api/trpc/services.app.updateSourceGit`
|
||||
4. **Update Build:** `POST /api/trpc/services.app.updateBuild`
|
||||
5. **Deploy:** `POST /api/trpc/services.app.deployService`
|
||||
6. **Check Status:** `GET /api/trpc/services.app.inspectService?input=...`
|
||||
|
||||
---
|
||||
|
||||
## 🚀 NEXT STEPS
|
||||
|
||||
1. ✅ easypanel-deploy script updated
|
||||
2. ⏳ Integrate with website-creator
|
||||
3. ⏳ Test complete workflow
|
||||
4. ⏳ Add log reading for auto-fix
|
||||
|
||||
---
|
||||
|
||||
**Status:** Ready to integrate with website-creator!
|
||||
Reference in New Issue
Block a user