Compare commits
11 Commits
3f754c65b9
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
| 04c4d990c6 | |||
| eb201de26b | |||
| 545061b2eb | |||
| 0692c1b96c | |||
| 4f9d19eb39 | |||
| c92c4c4e6d | |||
| f44df0446e | |||
| 7475ae30b7 | |||
| b2820a3051 | |||
| 7aadc03fc9 | |||
| 9606d62e78 |
+3
-3
@@ -1,3 +1,3 @@
|
|||||||
[submodule "ProxmoxAAS-Fabric"]
|
[submodule "proxmoxaas-common-lib"]
|
||||||
path = ProxmoxAAS-Fabric
|
path = proxmoxaas-common-lib
|
||||||
url = https://git.tronnet.net/tronnet/ProxmoxAAS-Fabric
|
url = https://git.tronnet.net/tronnet/proxmoxaas-common-lib
|
||||||
|
|||||||
Submodule ProxmoxAAS-Fabric deleted from b74696f566
@@ -1,5 +1,5 @@
|
|||||||
# ProxmoxAAS Dashboard - Proxmox As A Service User Web Interface
|
# ProxmoxAAS Dashboard - Proxmox As A Service User Web Interface
|
||||||
ProxmoxAAS Dashboard provides users of a proxmox based compute on demand service a simplified UI which gives users power management, console access, and instance configuration utility. It also allows administrators to set resource quotas for users and allows users to configure instances without administrator priviledges.
|
ProxmoxAAS Dashboard provides a simplified UI for users of a proxmox based compute on demand service. It provides users power management, console access, and instance configuration utility. It also allows administrators to set resource quotas for users and allows users to configure instances without administrator priviledges.
|
||||||
|
|
||||||
## Features
|
## Features
|
||||||
- Simplified interface for non administrator users
|
- Simplified interface for non administrator users
|
||||||
|
|||||||
@@ -3,8 +3,8 @@ package routes
|
|||||||
import (
|
import (
|
||||||
"fmt"
|
"fmt"
|
||||||
"net/http"
|
"net/http"
|
||||||
|
paas "proxmoxaas-common-lib"
|
||||||
"proxmoxaas-dashboard/app/common"
|
"proxmoxaas-dashboard/app/common"
|
||||||
fabric "proxmoxaas-fabric/app"
|
|
||||||
"slices"
|
"slices"
|
||||||
"sort"
|
"sort"
|
||||||
|
|
||||||
@@ -15,16 +15,16 @@ import (
|
|||||||
// imported types from fabric
|
// imported types from fabric
|
||||||
|
|
||||||
type InstanceConfig struct {
|
type InstanceConfig struct {
|
||||||
Type fabric.InstanceType `json:"type"`
|
Type paas.InstanceType `json:"type"`
|
||||||
Name string `json:"name"`
|
Name string `json:"name"`
|
||||||
CPU string `json:"cpu"`
|
CPU string `json:"cpu"`
|
||||||
Cores uint64 `json:"cores"`
|
Cores uint64 `json:"cores"`
|
||||||
Memory uint64 `json:"memory"`
|
Memory uint64 `json:"memory"`
|
||||||
Swap uint64 `json:"swap"`
|
Swap uint64 `json:"swap"`
|
||||||
Volumes map[string]*fabric.Volume `json:"volumes"`
|
Volumes map[string]*paas.Volume `json:"volumes"`
|
||||||
Nets map[string]*fabric.Net `json:"nets"`
|
Nets map[string]*paas.Net `json:"nets"`
|
||||||
Devices map[string]*fabric.Device `json:"devices"`
|
Devices map[string]*paas.Device `json:"devices"`
|
||||||
Boot fabric.BootOrder `json:"boot"`
|
Boot paas.BootOrder `json:"boot"`
|
||||||
// overrides
|
// overrides
|
||||||
ProctypeSelect common.Select
|
ProctypeSelect common.Select
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,42 +0,0 @@
|
|||||||
{
|
|
||||||
"env": {
|
|
||||||
"browser": true,
|
|
||||||
"es2021": true
|
|
||||||
},
|
|
||||||
"extends": "standard",
|
|
||||||
"parserOptions": {
|
|
||||||
"ecmaVersion": "latest",
|
|
||||||
"sourceType": "module"
|
|
||||||
},
|
|
||||||
"rules": {
|
|
||||||
"no-tabs": [
|
|
||||||
"error",
|
|
||||||
{
|
|
||||||
"allowIndentationTabs": true
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"indent": [
|
|
||||||
"error",
|
|
||||||
"tab"
|
|
||||||
],
|
|
||||||
"linebreak-style": [
|
|
||||||
"error",
|
|
||||||
"unix"
|
|
||||||
],
|
|
||||||
"quotes": [
|
|
||||||
"error",
|
|
||||||
"double"
|
|
||||||
],
|
|
||||||
"semi": [
|
|
||||||
"error",
|
|
||||||
"always"
|
|
||||||
],
|
|
||||||
"brace-style": [
|
|
||||||
"error",
|
|
||||||
"stroustrup",
|
|
||||||
{
|
|
||||||
"allowSingleLine": false
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -0,0 +1,29 @@
|
|||||||
|
import { defineConfig } from "eslint/config";
|
||||||
|
import globals from "globals";
|
||||||
|
import js from "@eslint/js";
|
||||||
|
|
||||||
|
export default defineConfig([js.configs.recommended,{
|
||||||
|
languageOptions: {
|
||||||
|
globals: {
|
||||||
|
...globals.browser,
|
||||||
|
},
|
||||||
|
ecmaVersion: "latest",
|
||||||
|
sourceType: "module",
|
||||||
|
},
|
||||||
|
rules: {
|
||||||
|
"no-tabs": ["error", {
|
||||||
|
allowIndentationTabs: true,
|
||||||
|
}],
|
||||||
|
indent: ["error", "tab"],
|
||||||
|
"linebreak-style": ["error", "unix"],
|
||||||
|
quotes: ["error", "double"],
|
||||||
|
semi: ["error", "always"],
|
||||||
|
"brace-style": ["error", "stroustrup", { allowSingleLine: false }],
|
||||||
|
"no-unused-vars": ["warn", {
|
||||||
|
"argsIgnorePattern": "^_",
|
||||||
|
"varsIgnorePattern": "^_",
|
||||||
|
"caughtErrorsIgnorePattern": "^_"
|
||||||
|
}],
|
||||||
|
"prefer-const": ["error"]
|
||||||
|
},
|
||||||
|
}]);
|
||||||
@@ -1,25 +1,22 @@
|
|||||||
module proxmoxaas-dashboard
|
module proxmoxaas-dashboard
|
||||||
|
|
||||||
go 1.26.0
|
go 1.26.2
|
||||||
|
|
||||||
require (
|
require (
|
||||||
github.com/gerow/go-color v0.0.0-20140219113758-125d37f527f1
|
github.com/gerow/go-color v0.0.0-20140219113758-125d37f527f1
|
||||||
github.com/gin-gonic/gin v1.12.0
|
github.com/gin-gonic/gin v1.12.0
|
||||||
github.com/go-viper/mapstructure/v2 v2.5.0
|
github.com/go-viper/mapstructure/v2 v2.5.0
|
||||||
github.com/tdewolff/minify/v2 v2.24.11
|
github.com/tdewolff/minify/v2 v2.24.12
|
||||||
proxmoxaas-fabric v0.0.0
|
proxmoxaas-common-lib v0.0.0
|
||||||
)
|
)
|
||||||
|
|
||||||
replace proxmoxaas-fabric => ./ProxmoxAAS-Fabric
|
replace proxmoxaas-common-lib => ./proxmoxaas-common-lib
|
||||||
|
|
||||||
require (
|
require (
|
||||||
github.com/buger/goterm v1.0.4 // indirect
|
|
||||||
github.com/bytedance/gopkg v0.1.4 // indirect
|
github.com/bytedance/gopkg v0.1.4 // indirect
|
||||||
github.com/bytedance/sonic v1.15.0 // indirect
|
github.com/bytedance/sonic v1.15.0 // indirect
|
||||||
github.com/bytedance/sonic/loader v0.5.1 // indirect
|
github.com/bytedance/sonic/loader v0.5.1 // indirect
|
||||||
github.com/cloudwego/base64x v0.1.6 // indirect
|
github.com/cloudwego/base64x v0.1.6 // indirect
|
||||||
github.com/diskfs/go-diskfs v1.9.1 // indirect
|
|
||||||
github.com/djherbis/times v1.6.0 // indirect
|
|
||||||
github.com/gabriel-vasile/mimetype v1.4.13 // indirect
|
github.com/gabriel-vasile/mimetype v1.4.13 // indirect
|
||||||
github.com/gin-contrib/sse v1.1.1 // indirect
|
github.com/gin-contrib/sse v1.1.1 // indirect
|
||||||
github.com/go-playground/locales v0.14.1 // indirect
|
github.com/go-playground/locales v0.14.1 // indirect
|
||||||
@@ -27,27 +24,23 @@ require (
|
|||||||
github.com/go-playground/validator/v10 v10.30.2 // indirect
|
github.com/go-playground/validator/v10 v10.30.2 // indirect
|
||||||
github.com/goccy/go-json v0.10.6 // indirect
|
github.com/goccy/go-json v0.10.6 // indirect
|
||||||
github.com/goccy/go-yaml v1.19.2 // indirect
|
github.com/goccy/go-yaml v1.19.2 // indirect
|
||||||
github.com/gorilla/websocket v1.5.3 // indirect
|
|
||||||
github.com/jinzhu/copier v0.4.0 // indirect
|
|
||||||
github.com/json-iterator/go v1.1.12 // indirect
|
github.com/json-iterator/go v1.1.12 // indirect
|
||||||
github.com/klauspost/cpuid/v2 v2.3.0 // indirect
|
github.com/klauspost/cpuid/v2 v2.3.0 // indirect
|
||||||
github.com/leodido/go-urn v1.4.0 // indirect
|
github.com/leodido/go-urn v1.4.0 // indirect
|
||||||
github.com/luthermonson/go-proxmox v0.4.1 // indirect
|
github.com/mattn/go-isatty v0.0.21 // indirect
|
||||||
github.com/magefile/mage v1.17.1 // indirect
|
|
||||||
github.com/mattn/go-isatty v0.0.20 // indirect
|
|
||||||
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect
|
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect
|
||||||
github.com/modern-go/reflect2 v1.0.2 // indirect
|
github.com/modern-go/reflect2 v1.0.2 // indirect
|
||||||
github.com/pelletier/go-toml/v2 v2.3.0 // indirect
|
github.com/pelletier/go-toml/v2 v2.3.0 // indirect
|
||||||
github.com/quic-go/qpack v0.6.0 // indirect
|
github.com/quic-go/qpack v0.6.0 // indirect
|
||||||
github.com/quic-go/quic-go v0.59.0 // indirect
|
github.com/quic-go/quic-go v0.59.0 // indirect
|
||||||
github.com/tdewolff/parse/v2 v2.8.11 // indirect
|
github.com/tdewolff/parse/v2 v2.8.12 // indirect
|
||||||
github.com/twitchyliquid64/golang-asm v0.15.1 // indirect
|
github.com/twitchyliquid64/golang-asm v0.15.1 // indirect
|
||||||
github.com/ugorji/go/codec v1.3.1 // indirect
|
github.com/ugorji/go/codec v1.3.1 // indirect
|
||||||
go.mongodb.org/mongo-driver/v2 v2.5.0 // indirect
|
go.mongodb.org/mongo-driver/v2 v2.5.1 // indirect
|
||||||
golang.org/x/arch v0.25.0 // indirect
|
golang.org/x/arch v0.26.0 // indirect
|
||||||
golang.org/x/crypto v0.49.0 // indirect
|
golang.org/x/crypto v0.50.0 // indirect
|
||||||
golang.org/x/net v0.52.0 // indirect
|
golang.org/x/net v0.53.0 // indirect
|
||||||
golang.org/x/sys v0.42.0 // indirect
|
golang.org/x/sys v0.43.0 // indirect
|
||||||
golang.org/x/text v0.35.0 // indirect
|
golang.org/x/text v0.36.0 // indirect
|
||||||
google.golang.org/protobuf v1.36.11 // indirect
|
google.golang.org/protobuf v1.36.11 // indirect
|
||||||
)
|
)
|
||||||
|
|||||||
+7
-8
@@ -4,17 +4,16 @@
|
|||||||
"description": "Front-end for ProxmoxAAS",
|
"description": "Front-end for ProxmoxAAS",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"lint": "html-validate --config configs/.htmlvalidate.json web/html/*; stylelint --config configs/.stylelintrc.json --formatter verbose --fix web/css/*.css; DEBUG=eslint:cli-engine eslint --config configs/.eslintrc.json --fix web/scripts/",
|
"lint": "html-validate --config dev_config/.htmlvalidate.json web/html/*; stylelint --config dev_config/.stylelintrc.json --formatter verbose --fix web/css/*.css; DEBUG=eslint:cli-engine eslint --config dev_config/eslint.config.mjs --fix web/scripts/",
|
||||||
"update-modules": "rm -rf web/modules/wfa.js web/modules/wfa.wasm; curl https://git.tronnet.net/alu/WFA-JS/releases/download/latest/wfa.js -o web/modules/wfa.js; curl https://git.tronnet.net/alu/WFA-JS/releases/download/latest/wfa.wasm -o web/modules/wfa.wasm"
|
"update-modules": "rm -rf web/modules/wfa.js web/modules/wfa.wasm; curl https://git.tronnet.net/alu/WFA-JS/releases/download/latest/wfa.js -o web/modules/wfa.js; curl https://git.tronnet.net/alu/WFA-JS/releases/download/latest/wfa.wasm -o web/modules/wfa.wasm"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"eslint": "^8.43.0",
|
"@eslint/eslintrc": "^3.3.5",
|
||||||
"eslint-config-standard": "^17.1.0",
|
"@eslint/js": "^10.0.1",
|
||||||
"eslint-plugin-import": "^2.27.5",
|
"eslint": "^10.2.1",
|
||||||
"eslint-plugin-n": "^16.0.1",
|
"globals": "^17.5.0",
|
||||||
"eslint-plugin-promise": "^6.1.1",
|
"html-validate": "^9.4.0",
|
||||||
"stylelint": "^15.9.0",
|
"stylelint": "^15.9.0",
|
||||||
"stylelint-config-standard": "^33.0.0",
|
"stylelint-config-standard": "^33.0.0"
|
||||||
"html-validate": "^9.4.0"
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Submodule
+1
Submodule proxmoxaas-common-lib added at cc53d7bdea
Vendored
+2
-2
File diff suppressed because one or more lines are too long
@@ -113,8 +113,7 @@ class ErrorDialog extends HTMLElement {
|
|||||||
}
|
}
|
||||||
|
|
||||||
this.dialog.addEventListener("close", () => {
|
this.dialog.addEventListener("close", () => {
|
||||||
if (this.dialog.returnValue === "ok") {}
|
if (this.dialog.returnValue === "copy") {
|
||||||
else if (this.dialog.returnValue === "copy") {
|
|
||||||
let errors = "";
|
let errors = "";
|
||||||
for (const error of this.errors.childNodes) {
|
for (const error of this.errors.childNodes) {
|
||||||
errors += `${error.innerText}\n`;
|
errors += `${error.innerText}\n`;
|
||||||
|
|||||||
Reference in New Issue
Block a user