Spaces:
Configuration error
Configuration error
zack
commited on
Commit
·
08f3702
1
Parent(s):
c702f23
✨ feat(frontend): add new Proxmox and socket components
Browse files🔧 chore(frontend): update package.json and package-lock.json
🐛 fix(backend): adjust app.py for new API routes
🔥 chore(frontend): remove unused xterm.js component
📦 chore(frontend): update Dockerfile for new dependencies
- backend/app.py +30 -0
- frontend/Dockerfile +5 -1
- frontend/package-lock.json +0 -0
- frontend/package.json +1 -0
backend/app.py
CHANGED
@@ -1,4 +1,5 @@
|
|
1 |
from flask import Flask, jsonify, request
|
|
|
2 |
from flask_cors import CORS
|
3 |
import socket
|
4 |
import argparse
|
@@ -6,9 +7,11 @@ import argparse
|
|
6 |
# import asyncio
|
7 |
# from multiprocessing import Process
|
8 |
import gradio as gr
|
|
|
9 |
|
10 |
app = Flask(__name__)
|
11 |
CORS(app)
|
|
|
12 |
|
13 |
def portConnection(port : int):
|
14 |
s = socket.socket(
|
@@ -99,6 +102,32 @@ def remove_port():
|
|
99 |
def open_ports():
|
100 |
return jsonify(visable)
|
101 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
102 |
|
103 |
if __name__ == "__main__":
|
104 |
|
@@ -108,3 +137,4 @@ if __name__ == "__main__":
|
|
108 |
app.run(host="0.0.0.0", port=args.port, debug=True)
|
109 |
|
110 |
|
|
|
|
1 |
from flask import Flask, jsonify, request
|
2 |
+
from flask_socketio import SocketIO, emit
|
3 |
from flask_cors import CORS
|
4 |
import socket
|
5 |
import argparse
|
|
|
7 |
# import asyncio
|
8 |
# from multiprocessing import Process
|
9 |
import gradio as gr
|
10 |
+
import requests
|
11 |
|
12 |
app = Flask(__name__)
|
13 |
CORS(app)
|
14 |
+
socketio = SocketIO(app, cors_allowed_origins="*")
|
15 |
|
16 |
def portConnection(port : int):
|
17 |
s = socket.socket(
|
|
|
102 |
def open_ports():
|
103 |
return jsonify(visable)
|
104 |
|
105 |
+
## Proxmox API
|
106 |
+
|
107 |
+
@app.route('/addProxmoxVM', methods=['POST'])
|
108 |
+
def add_proxmox_vm():
|
109 |
+
data = request.json
|
110 |
+
# Save or process Proxmox VM data here
|
111 |
+
return {"status": "VM added"}, 200
|
112 |
+
|
113 |
+
@socketio.on('connect')
|
114 |
+
def handle_connect():
|
115 |
+
print('Client connected')
|
116 |
+
|
117 |
+
@socketio.on('disconnect')
|
118 |
+
def handle_disconnect():
|
119 |
+
print('Client disconnected')
|
120 |
+
|
121 |
+
@socketio.on('fetchVmData')
|
122 |
+
def handle_fetch_vm_data(data):
|
123 |
+
# Fetch VM data from Proxmox using the provided VM address
|
124 |
+
vm_data = requests.get(f"http://{data['vm_address']}/api2/json")
|
125 |
+
emit('vmData', vm_data.json())
|
126 |
+
|
127 |
+
if __name__ == '__main__':
|
128 |
+
socketio.run(app, debug=True, host='0.0.0.0')
|
129 |
+
|
130 |
+
## Gradio API
|
131 |
|
132 |
if __name__ == "__main__":
|
133 |
|
|
|
137 |
app.run(host="0.0.0.0", port=args.port, debug=True)
|
138 |
|
139 |
|
140 |
+
|
frontend/Dockerfile
CHANGED
@@ -1,4 +1,8 @@
|
|
1 |
FROM node:16-alpine3.14
|
2 |
WORKDIR /app
|
3 |
COPY package*.json ./
|
4 |
-
RUN npm install
|
|
|
|
|
|
|
|
|
|
1 |
FROM node:16-alpine3.14
|
2 |
WORKDIR /app
|
3 |
COPY package*.json ./
|
4 |
+
RUN npm install
|
5 |
+
COPY . .
|
6 |
+
EXPOSE 3000
|
7 |
+
CMD ["npm", "start"]
|
8 |
+
|
frontend/package-lock.json
CHANGED
The diff for this file is too large to render.
See raw diff
|
|
frontend/package.json
CHANGED
@@ -20,6 +20,7 @@
|
|
20 |
"react-spring": "^9.5.5",
|
21 |
"semantic-ui-css": "^2.4.1",
|
22 |
"semantic-ui-react": "^2.1.3",
|
|
|
23 |
"typescript": "^4.8.2",
|
24 |
"web-vitals": "^2.1.4"
|
25 |
},
|
|
|
20 |
"react-spring": "^9.5.5",
|
21 |
"semantic-ui-css": "^2.4.1",
|
22 |
"semantic-ui-react": "^2.1.3",
|
23 |
+
"socket.io-client": "^4.7.4",
|
24 |
"typescript": "^4.8.2",
|
25 |
"web-vitals": "^2.1.4"
|
26 |
},
|