mirror of
https://github.com/unraid/api.git
synced 2025-12-31 21:49:57 -06:00
fix: replace files lost during pruning
This commit is contained in:
5
api/.gqlconfig
Normal file
5
api/.gqlconfig
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
{
|
||||||
|
schema: {
|
||||||
|
files: 'src/graphql/schema/types/**/*.graphql'
|
||||||
|
}
|
||||||
|
}
|
||||||
11
api/.vscode/extensions.json
vendored
Normal file
11
api/.vscode/extensions.json
vendored
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
{
|
||||||
|
"recommendations": [
|
||||||
|
"mikestead.dotenv",
|
||||||
|
"eamodio.gitlens",
|
||||||
|
"dbaeumer.vscode-eslint",
|
||||||
|
"antfu.goto-alias",
|
||||||
|
"bierner.markdown-mermaid",
|
||||||
|
"github.vscode-pull-request-github",
|
||||||
|
"bierner.markdown-preview-github-styles"
|
||||||
|
]
|
||||||
|
}
|
||||||
1
api/dev/Unraid.net/Pro.key
Normal file
1
api/dev/Unraid.net/Pro.key
Normal file
@@ -0,0 +1 @@
|
|||||||
|
┘[5╢╦Ояb┴ю└;R╛леЩ²ДА├y÷шd│яя╛Еlя▓ё"Hи╜ь;QДs≈@Вы▄╠╩1·Qy╓к|й╔+╨фM)X9jя▄тГО⌠1а2WHщ'│.ЕJё-╨MPгS╜╧:Ю▓]o9^ЮО0┴$"░ l^`╪>3к:╦я ЯО┤q~ёш≈└с ш5ёЗ=р╟─]╗IWf╥и ⌡?:У2ВоE5[р╨Ш(÷╤Е}з+о│ШIмAч²%╞╓дq:ё╤эb╣┼
|
||||||
1
api/dev/data/machine-id
Normal file
1
api/dev/data/machine-id
Normal file
@@ -0,0 +1 @@
|
|||||||
|
d0b5433294c110f1eed72bdb63910a9a
|
||||||
1
api/dev/data/unraid-version
Normal file
1
api/dev/data/unraid-version
Normal file
@@ -0,0 +1 @@
|
|||||||
|
version="6.12.0-beta5"
|
||||||
BIN
api/dev/dynamix/banner.png
Normal file
BIN
api/dev/dynamix/banner.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 61 KiB |
1
api/dev/dynamix/case-model.cfg
Normal file
1
api/dev/dynamix/case-model.cfg
Normal file
@@ -0,0 +1 @@
|
|||||||
|
case-model.png
|
||||||
BIN
api/dev/dynamix/case-model.png
Normal file
BIN
api/dev/dynamix/case-model.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 4.5 KiB |
0
api/dev/states/devs.ini
Normal file
0
api/dev/states/devs.ini
Normal file
30
api/dev/states/network.ini
Normal file
30
api/dev/states/network.ini
Normal file
@@ -0,0 +1,30 @@
|
|||||||
|
[eth0]
|
||||||
|
DHCP_KEEPRESOLV="no"
|
||||||
|
DNS_SERVER1="1.1.1.1"
|
||||||
|
DNS_SERVER2="8.8.8.8"
|
||||||
|
DHCP6_KEEPRESOLV="no"
|
||||||
|
BONDING="yes"
|
||||||
|
BONDNAME=""
|
||||||
|
BONDNICS="eth0,eth1,eth2,eth3"
|
||||||
|
BONDING_MODE="1"
|
||||||
|
BONDING_MIIMON="100"
|
||||||
|
BRIDGING="yes"
|
||||||
|
BRNAME=""
|
||||||
|
BRNICS="bond0"
|
||||||
|
BRSTP="0"
|
||||||
|
BRFD="0"
|
||||||
|
DESCRIPTION:0=""
|
||||||
|
PROTOCOL:0=""
|
||||||
|
USE_DHCP:0="yes"
|
||||||
|
IPADDR:0="192.168.1.150"
|
||||||
|
NETMASK:0="255.255.255.0"
|
||||||
|
GATEWAY:0="192.168.1.1"
|
||||||
|
METRIC:0=""
|
||||||
|
USE_DHCP6:0=""
|
||||||
|
IPADDR6:0=""
|
||||||
|
NETMASK6:0=""
|
||||||
|
GATEWAY6:0=""
|
||||||
|
METRIC6:0=""
|
||||||
|
PRIVACY6:0=""
|
||||||
|
MTU=""
|
||||||
|
TYPE="access"
|
||||||
190
api/dev/states/sec.ini
Normal file
190
api/dev/states/sec.ini
Normal file
@@ -0,0 +1,190 @@
|
|||||||
|
["disk1"]
|
||||||
|
export="e"
|
||||||
|
fruit="no"
|
||||||
|
caseSensitive="auto"
|
||||||
|
security="public"
|
||||||
|
readList=""
|
||||||
|
writeList=""
|
||||||
|
volsizelimit=""
|
||||||
|
["disk2"]
|
||||||
|
export="e"
|
||||||
|
fruit="no"
|
||||||
|
caseSensitive="auto"
|
||||||
|
security="public"
|
||||||
|
readList=""
|
||||||
|
writeList=""
|
||||||
|
volsizelimit=""
|
||||||
|
["disk3"]
|
||||||
|
export="e"
|
||||||
|
fruit="no"
|
||||||
|
caseSensitive="auto"
|
||||||
|
security="public"
|
||||||
|
readList=""
|
||||||
|
writeList=""
|
||||||
|
volsizelimit=""
|
||||||
|
["disk4"]
|
||||||
|
export="e"
|
||||||
|
fruit="no"
|
||||||
|
caseSensitive="auto"
|
||||||
|
security="public"
|
||||||
|
readList=""
|
||||||
|
writeList=""
|
||||||
|
volsizelimit=""
|
||||||
|
["disk5"]
|
||||||
|
export="e"
|
||||||
|
fruit="no"
|
||||||
|
caseSensitive="auto"
|
||||||
|
security="public"
|
||||||
|
readList=""
|
||||||
|
writeList=""
|
||||||
|
volsizelimit=""
|
||||||
|
["disk6"]
|
||||||
|
export="e"
|
||||||
|
fruit="no"
|
||||||
|
caseSensitive="auto"
|
||||||
|
security="public"
|
||||||
|
readList=""
|
||||||
|
writeList=""
|
||||||
|
volsizelimit=""
|
||||||
|
["disk7"]
|
||||||
|
export="e"
|
||||||
|
fruit="no"
|
||||||
|
caseSensitive="auto"
|
||||||
|
security="public"
|
||||||
|
readList=""
|
||||||
|
writeList=""
|
||||||
|
volsizelimit=""
|
||||||
|
["disk8"]
|
||||||
|
export="e"
|
||||||
|
fruit="no"
|
||||||
|
caseSensitive="auto"
|
||||||
|
security="public"
|
||||||
|
readList=""
|
||||||
|
writeList=""
|
||||||
|
volsizelimit=""
|
||||||
|
["disk9"]
|
||||||
|
export="e"
|
||||||
|
fruit="no"
|
||||||
|
caseSensitive="auto"
|
||||||
|
security="public"
|
||||||
|
readList=""
|
||||||
|
writeList=""
|
||||||
|
volsizelimit=""
|
||||||
|
["disk10"]
|
||||||
|
export="e"
|
||||||
|
fruit="no"
|
||||||
|
caseSensitive="auto"
|
||||||
|
security="public"
|
||||||
|
readList=""
|
||||||
|
writeList=""
|
||||||
|
volsizelimit=""
|
||||||
|
["disk11"]
|
||||||
|
export="e"
|
||||||
|
fruit="no"
|
||||||
|
caseSensitive="auto"
|
||||||
|
security="public"
|
||||||
|
readList=""
|
||||||
|
writeList=""
|
||||||
|
volsizelimit=""
|
||||||
|
["disk12"]
|
||||||
|
export="e"
|
||||||
|
fruit="no"
|
||||||
|
caseSensitive="auto"
|
||||||
|
security="public"
|
||||||
|
readList=""
|
||||||
|
writeList=""
|
||||||
|
volsizelimit=""
|
||||||
|
["disk13"]
|
||||||
|
export="e"
|
||||||
|
fruit="no"
|
||||||
|
caseSensitive="auto"
|
||||||
|
security="public"
|
||||||
|
readList=""
|
||||||
|
writeList=""
|
||||||
|
volsizelimit=""
|
||||||
|
["disk14"]
|
||||||
|
export="e"
|
||||||
|
fruit="no"
|
||||||
|
caseSensitive="auto"
|
||||||
|
security="public"
|
||||||
|
readList=""
|
||||||
|
writeList=""
|
||||||
|
volsizelimit=""
|
||||||
|
["disk15"]
|
||||||
|
export="e"
|
||||||
|
fruit="no"
|
||||||
|
caseSensitive="auto"
|
||||||
|
security="public"
|
||||||
|
readList=""
|
||||||
|
writeList=""
|
||||||
|
volsizelimit=""
|
||||||
|
["disk16"]
|
||||||
|
export="e"
|
||||||
|
fruit="no"
|
||||||
|
caseSensitive="auto"
|
||||||
|
security="public"
|
||||||
|
readList=""
|
||||||
|
writeList=""
|
||||||
|
volsizelimit=""
|
||||||
|
["disk17"]
|
||||||
|
export="e"
|
||||||
|
fruit="no"
|
||||||
|
caseSensitive="auto"
|
||||||
|
security="public"
|
||||||
|
readList=""
|
||||||
|
writeList=""
|
||||||
|
volsizelimit=""
|
||||||
|
["disk18"]
|
||||||
|
export="e"
|
||||||
|
fruit="no"
|
||||||
|
caseSensitive="auto"
|
||||||
|
security="public"
|
||||||
|
readList=""
|
||||||
|
writeList=""
|
||||||
|
volsizelimit=""
|
||||||
|
["disk19"]
|
||||||
|
export="e"
|
||||||
|
fruit="no"
|
||||||
|
caseSensitive="auto"
|
||||||
|
security="public"
|
||||||
|
readList=""
|
||||||
|
writeList=""
|
||||||
|
volsizelimit=""
|
||||||
|
["disk20"]
|
||||||
|
export="e"
|
||||||
|
fruit="no"
|
||||||
|
caseSensitive="auto"
|
||||||
|
security="public"
|
||||||
|
readList=""
|
||||||
|
writeList=""
|
||||||
|
volsizelimit=""
|
||||||
|
["disk21"]
|
||||||
|
export="e"
|
||||||
|
fruit="no"
|
||||||
|
caseSensitive="auto"
|
||||||
|
security="public"
|
||||||
|
readList=""
|
||||||
|
writeList=""
|
||||||
|
volsizelimit=""
|
||||||
|
["disk22"]
|
||||||
|
export="e"
|
||||||
|
fruit="no"
|
||||||
|
caseSensitive="auto"
|
||||||
|
security="public"
|
||||||
|
readList=""
|
||||||
|
writeList=""
|
||||||
|
volsizelimit=""
|
||||||
|
["abc"]
|
||||||
|
export="e"
|
||||||
|
fruit="no"
|
||||||
|
caseSensitive="auto"
|
||||||
|
security="public"
|
||||||
|
readList=""
|
||||||
|
writeList=""
|
||||||
|
volsizelimit=""
|
||||||
|
["flash"]
|
||||||
|
export="e"
|
||||||
|
fruit="no"
|
||||||
|
security="public"
|
||||||
|
readList=""
|
||||||
|
writeList=""
|
||||||
92
api/dev/states/sec_nfs.ini
Normal file
92
api/dev/states/sec_nfs.ini
Normal file
@@ -0,0 +1,92 @@
|
|||||||
|
["disk1"]
|
||||||
|
export="-"
|
||||||
|
security="public"
|
||||||
|
hostList=""
|
||||||
|
["disk2"]
|
||||||
|
export="-"
|
||||||
|
security="public"
|
||||||
|
hostList=""
|
||||||
|
["disk3"]
|
||||||
|
export="-"
|
||||||
|
security="public"
|
||||||
|
hostList=""
|
||||||
|
["disk4"]
|
||||||
|
export="-"
|
||||||
|
security="public"
|
||||||
|
hostList=""
|
||||||
|
["disk5"]
|
||||||
|
export="-"
|
||||||
|
security="public"
|
||||||
|
hostList=""
|
||||||
|
["disk6"]
|
||||||
|
export="-"
|
||||||
|
security="public"
|
||||||
|
hostList=""
|
||||||
|
["disk7"]
|
||||||
|
export="-"
|
||||||
|
security="public"
|
||||||
|
hostList=""
|
||||||
|
["disk8"]
|
||||||
|
export="-"
|
||||||
|
security="public"
|
||||||
|
hostList=""
|
||||||
|
["disk9"]
|
||||||
|
export="-"
|
||||||
|
security="public"
|
||||||
|
hostList=""
|
||||||
|
["disk10"]
|
||||||
|
export="-"
|
||||||
|
security="public"
|
||||||
|
hostList=""
|
||||||
|
["disk11"]
|
||||||
|
export="-"
|
||||||
|
security="public"
|
||||||
|
hostList=""
|
||||||
|
["disk12"]
|
||||||
|
export="-"
|
||||||
|
security="public"
|
||||||
|
hostList=""
|
||||||
|
["disk13"]
|
||||||
|
export="-"
|
||||||
|
security="public"
|
||||||
|
hostList=""
|
||||||
|
["disk14"]
|
||||||
|
export="-"
|
||||||
|
security="public"
|
||||||
|
hostList=""
|
||||||
|
["disk15"]
|
||||||
|
export="-"
|
||||||
|
security="public"
|
||||||
|
hostList=""
|
||||||
|
["disk16"]
|
||||||
|
export="-"
|
||||||
|
security="public"
|
||||||
|
hostList=""
|
||||||
|
["disk17"]
|
||||||
|
export="-"
|
||||||
|
security="public"
|
||||||
|
hostList=""
|
||||||
|
["disk18"]
|
||||||
|
export="-"
|
||||||
|
security="public"
|
||||||
|
hostList=""
|
||||||
|
["disk19"]
|
||||||
|
export="-"
|
||||||
|
security="public"
|
||||||
|
hostList=""
|
||||||
|
["disk20"]
|
||||||
|
export="-"
|
||||||
|
security="public"
|
||||||
|
hostList=""
|
||||||
|
["disk21"]
|
||||||
|
export="-"
|
||||||
|
security="public"
|
||||||
|
hostList=""
|
||||||
|
["disk22"]
|
||||||
|
export="-"
|
||||||
|
security="public"
|
||||||
|
hostList=""
|
||||||
|
["abc"]
|
||||||
|
export="-"
|
||||||
|
security="public"
|
||||||
|
hostList=""
|
||||||
68
api/dev/states/shares.ini
Normal file
68
api/dev/states/shares.ini
Normal file
@@ -0,0 +1,68 @@
|
|||||||
|
["appdata"]
|
||||||
|
name="appdata"
|
||||||
|
nameOrig="appdata"
|
||||||
|
comment=""
|
||||||
|
allocator="highwater"
|
||||||
|
splitLevel=""
|
||||||
|
floor="0"
|
||||||
|
include=""
|
||||||
|
exclude=""
|
||||||
|
useCache="no"
|
||||||
|
cachePool="cache"
|
||||||
|
cow="auto"
|
||||||
|
color="yellow-on"
|
||||||
|
size="0"
|
||||||
|
free="9091184"
|
||||||
|
used="32831348"
|
||||||
|
luksStatus="0"
|
||||||
|
["domains"]
|
||||||
|
name="domains"
|
||||||
|
nameOrig="domains"
|
||||||
|
comment="saved VM instances"
|
||||||
|
allocator="highwater"
|
||||||
|
splitLevel="1"
|
||||||
|
floor="0"
|
||||||
|
include=""
|
||||||
|
exclude=""
|
||||||
|
useCache="prefer"
|
||||||
|
cachePool="cache"
|
||||||
|
cow="auto"
|
||||||
|
color="yellow-on"
|
||||||
|
size="0"
|
||||||
|
free="9091184"
|
||||||
|
used="32831348"
|
||||||
|
luksStatus="0"
|
||||||
|
["isos"]
|
||||||
|
name="isos"
|
||||||
|
nameOrig="isos"
|
||||||
|
comment="ISO images"
|
||||||
|
allocator="highwater"
|
||||||
|
splitLevel=""
|
||||||
|
floor="0"
|
||||||
|
include=""
|
||||||
|
exclude=""
|
||||||
|
useCache="yes"
|
||||||
|
cachePool="cache"
|
||||||
|
cow="auto"
|
||||||
|
color="yellow-on"
|
||||||
|
size="0"
|
||||||
|
free="9091184"
|
||||||
|
used="32831348"
|
||||||
|
luksStatus="0"
|
||||||
|
["system"]
|
||||||
|
name="system"
|
||||||
|
nameOrig="system"
|
||||||
|
comment="system data"
|
||||||
|
allocator="highwater"
|
||||||
|
splitLevel="1"
|
||||||
|
floor="0"
|
||||||
|
include=""
|
||||||
|
exclude=""
|
||||||
|
useCache="prefer"
|
||||||
|
cachePool="cache"
|
||||||
|
cow="auto"
|
||||||
|
color="yellow-on"
|
||||||
|
size="0"
|
||||||
|
free="9091184"
|
||||||
|
used="32831348"
|
||||||
|
luksStatus="0"
|
||||||
15
api/dev/states/users.ini
Normal file
15
api/dev/states/users.ini
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
["root"]
|
||||||
|
idx="0"
|
||||||
|
name="root"
|
||||||
|
desc="Console and webGui login account"
|
||||||
|
passwd="yes"
|
||||||
|
["xo"]
|
||||||
|
idx="1"
|
||||||
|
name="xo"
|
||||||
|
desc=""
|
||||||
|
passwd="yes"
|
||||||
|
["test_user"]
|
||||||
|
idx="2"
|
||||||
|
name="test_user"
|
||||||
|
desc=""
|
||||||
|
passwd="no"
|
||||||
3
api/src/__test__/common/nginx/nginx-state.test.ts
Normal file
3
api/src/__test__/common/nginx/nginx-state.test.ts
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
import { test } from 'vitest';
|
||||||
|
|
||||||
|
test.todo('Returns generated data');
|
||||||
@@ -0,0 +1,5 @@
|
|||||||
|
import { test } from 'vitest';
|
||||||
|
|
||||||
|
test.todo('Adds a disk to the array');
|
||||||
|
|
||||||
|
test.todo('Fails to add the disk if the array is started');
|
||||||
@@ -0,0 +1,5 @@
|
|||||||
|
import { test } from 'vitest';
|
||||||
|
|
||||||
|
test.todo('Removes a disk from the array');
|
||||||
|
|
||||||
|
test.todo('Fails to remove the disk if the array is started');
|
||||||
5
api/src/__test__/core/modules/array/update-array.test.ts
Normal file
5
api/src/__test__/core/modules/array/update-array.test.ts
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
import { test } from 'vitest';
|
||||||
|
|
||||||
|
test.todo('Starts the array');
|
||||||
|
|
||||||
|
test.todo('Stops the array');
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
import { test } from 'vitest';
|
||||||
|
|
||||||
|
test.todo('Can start a parity check');
|
||||||
|
|
||||||
|
test.todo('Can pause a parity check');
|
||||||
|
|
||||||
|
test.todo('Can start a parity check');
|
||||||
3
api/src/__test__/core/modules/debug/get-context.test.ts
Normal file
3
api/src/__test__/core/modules/debug/get-context.test.ts
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
import { test } from 'vitest';
|
||||||
|
|
||||||
|
test.todo('Returns the current content');
|
||||||
5
api/src/__test__/core/modules/disks/id/get-disk.test.ts
Normal file
5
api/src/__test__/core/modules/disks/id/get-disk.test.ts
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
import { test } from 'vitest';
|
||||||
|
|
||||||
|
test.todo('Returns a single disk by ID');
|
||||||
|
|
||||||
|
test.todo('Returns nothing if no disk matches the ID');
|
||||||
@@ -0,0 +1,5 @@
|
|||||||
|
import { test } from 'vitest';
|
||||||
|
|
||||||
|
test.todo('Returns all the Docker containers');
|
||||||
|
|
||||||
|
test.todo('Returns running Docker containers');
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
import { test } from 'vitest';
|
||||||
|
|
||||||
|
test.todo('Returns all USB devices');
|
||||||
|
|
||||||
|
test.todo('Returns all PCI-e devices');
|
||||||
|
|
||||||
|
test.todo('Returns all audio devices');
|
||||||
3
api/src/__test__/core/modules/info/get-app-count.test.ts
Normal file
3
api/src/__test__/core/modules/info/get-app-count.test.ts
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
import { test } from 'vitest';
|
||||||
|
|
||||||
|
test.todo('Gets total count of Docker containers installed/running');
|
||||||
3
api/src/__test__/core/modules/info/get-baseboard.test.ts
Normal file
3
api/src/__test__/core/modules/info/get-baseboard.test.ts
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
import { test } from 'vitest';
|
||||||
|
|
||||||
|
test.todo('Returns baseboard info');
|
||||||
3
api/src/__test__/core/modules/info/get-cpu.test.ts
Normal file
3
api/src/__test__/core/modules/info/get-cpu.test.ts
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
import { test } from 'vitest';
|
||||||
|
|
||||||
|
test.todo('Gets CPU info');
|
||||||
3
api/src/__test__/core/utils/misc/atomic-sleep.test.ts
Normal file
3
api/src/__test__/core/utils/misc/atomic-sleep.test.ts
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
import { test } from 'vitest';
|
||||||
|
|
||||||
|
test.todo('Sleeps atomically for n milliseconds');
|
||||||
3
api/src/__test__/core/utils/misc/get-machine-id.test.ts
Normal file
3
api/src/__test__/core/utils/misc/get-machine-id.test.ts
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
import { test } from 'vitest';
|
||||||
|
|
||||||
|
test.todo('Returns machine-id');
|
||||||
2
api/src/core/types/states/devices.ts
Normal file
2
api/src/core/types/states/devices.ts
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
export type Device = Record<string, unknown>;
|
||||||
|
export type Devices = Array<Record<string, unknown>>;
|
||||||
3
api/src/core/utils/files/get-extension-from-path.ts
Normal file
3
api/src/core/utils/files/get-extension-from-path.ts
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
import { extname } from 'path';
|
||||||
|
|
||||||
|
export const getExtensionFromPath = (filePath: string): string => extname(filePath);
|
||||||
43
api/src/graphql/schema/types/cloud/cloud.graphql
Normal file
43
api/src/graphql/schema/types/cloud/cloud.graphql
Normal file
@@ -0,0 +1,43 @@
|
|||||||
|
type ApiKeyResponse {
|
||||||
|
valid: Boolean!
|
||||||
|
error: String
|
||||||
|
}
|
||||||
|
|
||||||
|
enum MinigraphStatus {
|
||||||
|
PRE_INIT
|
||||||
|
CONNECTING
|
||||||
|
CONNECTED
|
||||||
|
PING_FAILURE
|
||||||
|
ERROR_RETRYING
|
||||||
|
}
|
||||||
|
|
||||||
|
type MinigraphqlResponse {
|
||||||
|
status: MinigraphStatus!
|
||||||
|
timeout: Int
|
||||||
|
error: String
|
||||||
|
}
|
||||||
|
|
||||||
|
type CloudResponse {
|
||||||
|
status: String!
|
||||||
|
ip: String
|
||||||
|
error: String
|
||||||
|
}
|
||||||
|
|
||||||
|
type RelayResponse {
|
||||||
|
status: String!
|
||||||
|
timeout: String
|
||||||
|
error: String
|
||||||
|
}
|
||||||
|
|
||||||
|
type Cloud {
|
||||||
|
error: String
|
||||||
|
apiKey: ApiKeyResponse!
|
||||||
|
relay: RelayResponse
|
||||||
|
minigraphql: MinigraphqlResponse!
|
||||||
|
cloud: CloudResponse!
|
||||||
|
allowedOrigins: [String!]!
|
||||||
|
}
|
||||||
|
|
||||||
|
type Query {
|
||||||
|
cloud: Cloud
|
||||||
|
}
|
||||||
60
api/src/graphql/schema/types/docker/container.graphql
Normal file
60
api/src/graphql/schema/types/docker/container.graphql
Normal file
@@ -0,0 +1,60 @@
|
|||||||
|
type Query {
|
||||||
|
"""All Docker containers"""
|
||||||
|
dockerContainers(all: Boolean): [DockerContainer!]!
|
||||||
|
}
|
||||||
|
|
||||||
|
type Subscription {
|
||||||
|
dockerContainer(id: ID!): DockerContainer!
|
||||||
|
dockerContainers: [DockerContainer]
|
||||||
|
}
|
||||||
|
|
||||||
|
enum ContainerPortType {
|
||||||
|
TCP
|
||||||
|
UDP
|
||||||
|
}
|
||||||
|
|
||||||
|
type ContainerPort {
|
||||||
|
ip: String
|
||||||
|
privatePort: Int
|
||||||
|
publicPort: Int
|
||||||
|
type: ContainerPortType
|
||||||
|
}
|
||||||
|
|
||||||
|
enum ContainerState {
|
||||||
|
RUNNING
|
||||||
|
EXITED
|
||||||
|
}
|
||||||
|
|
||||||
|
type ContainerHostConfig {
|
||||||
|
networkMode: String!
|
||||||
|
}
|
||||||
|
|
||||||
|
type ContainerMount {
|
||||||
|
type: String!
|
||||||
|
name: String!
|
||||||
|
source: String!
|
||||||
|
destination: String!
|
||||||
|
driver: String!
|
||||||
|
mode: String!
|
||||||
|
rw: Boolean!
|
||||||
|
propagation: String!
|
||||||
|
}
|
||||||
|
|
||||||
|
type DockerContainer {
|
||||||
|
id: ID!
|
||||||
|
names: [String!]
|
||||||
|
image: String!
|
||||||
|
imageId: String!
|
||||||
|
command: String!
|
||||||
|
created: Int!
|
||||||
|
ports: [ContainerPort!]!
|
||||||
|
""" (B) Total size of all the files in the container """
|
||||||
|
sizeRootFs: Long
|
||||||
|
labels: JSON
|
||||||
|
state: ContainerState!
|
||||||
|
status: String!
|
||||||
|
hostConfig: ContainerHostConfig
|
||||||
|
networkSettings: JSON
|
||||||
|
mounts: [JSON]
|
||||||
|
autoStart: Boolean!
|
||||||
|
}
|
||||||
13
api/src/graphql/schema/types/flash/flash.graphql
Normal file
13
api/src/graphql/schema/types/flash/flash.graphql
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
type Query {
|
||||||
|
flash: Flash
|
||||||
|
}
|
||||||
|
|
||||||
|
type Subscription {
|
||||||
|
flash: Flash!
|
||||||
|
}
|
||||||
|
|
||||||
|
type Flash {
|
||||||
|
guid: String
|
||||||
|
vendor: String
|
||||||
|
product: String
|
||||||
|
}
|
||||||
11
api/src/graphql/schema/types/info/apps.graphql
Normal file
11
api/src/graphql/schema/types/info/apps.graphql
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
type Info {
|
||||||
|
"""Count of docker containers"""
|
||||||
|
apps: InfoApps
|
||||||
|
}
|
||||||
|
|
||||||
|
type InfoApps {
|
||||||
|
"""How many docker containers are installed"""
|
||||||
|
installed: Int
|
||||||
|
"""How many docker containers are running"""
|
||||||
|
started: Int
|
||||||
|
}
|
||||||
14
api/src/graphql/schema/types/info/baseboard.graphql
Normal file
14
api/src/graphql/schema/types/info/baseboard.graphql
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
type Info {
|
||||||
|
baseboard: Baseboard
|
||||||
|
}
|
||||||
|
|
||||||
|
type Baseboard {
|
||||||
|
# Dell Inc.
|
||||||
|
manufacturer: String!
|
||||||
|
# 0MD99X
|
||||||
|
model: String
|
||||||
|
# A07
|
||||||
|
version: String
|
||||||
|
serial: String
|
||||||
|
assetTag: String
|
||||||
|
}
|
||||||
39
api/src/graphql/schema/types/info/cpu.graphql
Normal file
39
api/src/graphql/schema/types/info/cpu.graphql
Normal file
@@ -0,0 +1,39 @@
|
|||||||
|
type Info {
|
||||||
|
cpu: InfoCpu
|
||||||
|
}
|
||||||
|
|
||||||
|
type InfoCpu {
|
||||||
|
# 'Intel®'
|
||||||
|
manufacturer: String!
|
||||||
|
# 'Xeon® L5640'
|
||||||
|
brand: String!
|
||||||
|
# 'GenuineIntel'
|
||||||
|
vendor: String!
|
||||||
|
# '6'
|
||||||
|
family: String!
|
||||||
|
# '44'
|
||||||
|
model: String!
|
||||||
|
# '2'
|
||||||
|
stepping: Int!
|
||||||
|
# ''
|
||||||
|
revision: String!
|
||||||
|
# ''
|
||||||
|
voltage: String
|
||||||
|
# '2.27'
|
||||||
|
speed: Float!
|
||||||
|
# '1.60'
|
||||||
|
speedmin: Float!
|
||||||
|
# '2.26'
|
||||||
|
speedmax: Float!
|
||||||
|
# 12
|
||||||
|
threads: Int!
|
||||||
|
# 6
|
||||||
|
cores: Int!
|
||||||
|
# 1
|
||||||
|
processors: Long!
|
||||||
|
# 'LGA1366'
|
||||||
|
socket: String!
|
||||||
|
# { l1d: 196608, l1i: 196608, l2: 1, l3: 12 }
|
||||||
|
cache: JSON!
|
||||||
|
flags: [String!]
|
||||||
|
}
|
||||||
52
api/src/graphql/schema/types/info/devices.graphql
Normal file
52
api/src/graphql/schema/types/info/devices.graphql
Normal file
@@ -0,0 +1,52 @@
|
|||||||
|
type Info {
|
||||||
|
devices: Devices
|
||||||
|
}
|
||||||
|
|
||||||
|
type Devices {
|
||||||
|
gpu: [Gpu]
|
||||||
|
network: [Network]
|
||||||
|
pci: [Pci]
|
||||||
|
usb: [Usb]
|
||||||
|
}
|
||||||
|
|
||||||
|
type Gpu {
|
||||||
|
id: ID!
|
||||||
|
type: String!
|
||||||
|
typeid: String!
|
||||||
|
vendorname: String!
|
||||||
|
productid: String!
|
||||||
|
blacklisted: Boolean!
|
||||||
|
class: String!
|
||||||
|
}
|
||||||
|
|
||||||
|
type Network {
|
||||||
|
iface: String
|
||||||
|
ifaceName: String
|
||||||
|
ipv4: String
|
||||||
|
ipv6: String
|
||||||
|
mac: String
|
||||||
|
internal: String
|
||||||
|
operstate: String
|
||||||
|
type: String
|
||||||
|
duplex: String
|
||||||
|
mtu: String
|
||||||
|
speed: String
|
||||||
|
carrierChanges: String
|
||||||
|
}
|
||||||
|
|
||||||
|
type Pci {
|
||||||
|
id: ID!
|
||||||
|
type: String
|
||||||
|
typeid: String
|
||||||
|
vendorname: String
|
||||||
|
vendorid: String
|
||||||
|
productname: String
|
||||||
|
productid: String
|
||||||
|
blacklisted: String
|
||||||
|
class: String
|
||||||
|
}
|
||||||
|
|
||||||
|
type Usb {
|
||||||
|
id: ID!
|
||||||
|
name: String
|
||||||
|
}
|
||||||
34
api/src/graphql/schema/types/info/display.graphql
Normal file
34
api/src/graphql/schema/types/info/display.graphql
Normal file
@@ -0,0 +1,34 @@
|
|||||||
|
type Info {
|
||||||
|
display: Display
|
||||||
|
}
|
||||||
|
|
||||||
|
type Display {
|
||||||
|
date: String
|
||||||
|
number: String
|
||||||
|
scale: Boolean
|
||||||
|
tabs: Boolean
|
||||||
|
users: String
|
||||||
|
resize: Boolean
|
||||||
|
wwn: Boolean
|
||||||
|
total: Boolean
|
||||||
|
usage: Boolean
|
||||||
|
banner: String
|
||||||
|
dashapps: String
|
||||||
|
theme: Theme
|
||||||
|
text: Boolean
|
||||||
|
unit: Temperature
|
||||||
|
warning: Int
|
||||||
|
critical: Int
|
||||||
|
hot: Int
|
||||||
|
max: Int
|
||||||
|
locale: String
|
||||||
|
}
|
||||||
|
|
||||||
|
enum Temperature {
|
||||||
|
C
|
||||||
|
F
|
||||||
|
}
|
||||||
|
|
||||||
|
enum Theme {
|
||||||
|
white
|
||||||
|
}
|
||||||
4
api/src/graphql/schema/types/info/machine-id.graphql
Normal file
4
api/src/graphql/schema/types/info/machine-id.graphql
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
type Info {
|
||||||
|
"""Machine ID"""
|
||||||
|
machineId: ID
|
||||||
|
}
|
||||||
41
api/src/graphql/schema/types/info/memory.graphql
Normal file
41
api/src/graphql/schema/types/info/memory.graphql
Normal file
@@ -0,0 +1,41 @@
|
|||||||
|
type Info {
|
||||||
|
memory: InfoMemory
|
||||||
|
}
|
||||||
|
|
||||||
|
type InfoMemory {
|
||||||
|
max: Long!
|
||||||
|
total: Long!
|
||||||
|
free: Long!
|
||||||
|
used: Long!
|
||||||
|
active: Long!
|
||||||
|
available: Long!
|
||||||
|
buffcache: Long!
|
||||||
|
swaptotal: Long!
|
||||||
|
swapused: Long!
|
||||||
|
swapfree: Long!
|
||||||
|
layout: [MemoryLayout!]
|
||||||
|
}
|
||||||
|
|
||||||
|
type MemoryLayout {
|
||||||
|
size: Long!
|
||||||
|
bank: String
|
||||||
|
type: MemoryType
|
||||||
|
clockSpeed: Long
|
||||||
|
formFactor: MemoryFormFactor
|
||||||
|
manufacturer: String
|
||||||
|
partNum: String
|
||||||
|
serialNum: String
|
||||||
|
voltageConfigured: Long
|
||||||
|
voltageMin: Long
|
||||||
|
voltageMax: Long
|
||||||
|
}
|
||||||
|
|
||||||
|
enum MemoryType {
|
||||||
|
DDR2
|
||||||
|
DDR3
|
||||||
|
DDR4
|
||||||
|
}
|
||||||
|
|
||||||
|
enum MemoryFormFactor {
|
||||||
|
DIMM
|
||||||
|
}
|
||||||
18
api/src/graphql/schema/types/info/os.graphql
Normal file
18
api/src/graphql/schema/types/info/os.graphql
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
type Info {
|
||||||
|
os: Os
|
||||||
|
}
|
||||||
|
|
||||||
|
type Os {
|
||||||
|
platform: String
|
||||||
|
distro: String
|
||||||
|
release: String
|
||||||
|
codename: String
|
||||||
|
kernel: String
|
||||||
|
arch: String
|
||||||
|
hostname: String
|
||||||
|
codepage: String
|
||||||
|
logofile: String
|
||||||
|
serial: String
|
||||||
|
build: String
|
||||||
|
uptime: DateTime
|
||||||
|
}
|
||||||
12
api/src/graphql/schema/types/info/system.graphql
Normal file
12
api/src/graphql/schema/types/info/system.graphql
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
type Info {
|
||||||
|
system: System
|
||||||
|
}
|
||||||
|
|
||||||
|
type System {
|
||||||
|
manufacturer: String
|
||||||
|
model: String
|
||||||
|
version: String
|
||||||
|
serial: String
|
||||||
|
uuid: String
|
||||||
|
sku: String
|
||||||
|
}
|
||||||
32
api/src/graphql/schema/types/info/versions.graphql
Normal file
32
api/src/graphql/schema/types/info/versions.graphql
Normal file
@@ -0,0 +1,32 @@
|
|||||||
|
type Info {
|
||||||
|
versions: Versions
|
||||||
|
}
|
||||||
|
|
||||||
|
type Versions {
|
||||||
|
kernel: String
|
||||||
|
openssl: String
|
||||||
|
systemOpenssl: String
|
||||||
|
systemOpensslLib: String
|
||||||
|
node: String
|
||||||
|
v8: String
|
||||||
|
npm: String
|
||||||
|
yarn: String
|
||||||
|
pm2: String
|
||||||
|
gulp: String
|
||||||
|
grunt: String
|
||||||
|
git: String
|
||||||
|
tsc: String
|
||||||
|
mysql: String
|
||||||
|
redis: String
|
||||||
|
mongodb: String
|
||||||
|
apache: String
|
||||||
|
nginx: String
|
||||||
|
php: String
|
||||||
|
docker: String
|
||||||
|
postfix: String
|
||||||
|
postgresql: String
|
||||||
|
perl: String
|
||||||
|
python: String
|
||||||
|
gcc: String
|
||||||
|
unraid: String
|
||||||
|
}
|
||||||
13
api/src/graphql/schema/types/owner/owner.graphql
Normal file
13
api/src/graphql/schema/types/owner/owner.graphql
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
type Query {
|
||||||
|
owner: Owner
|
||||||
|
}
|
||||||
|
|
||||||
|
type Subscription {
|
||||||
|
owner: Owner!
|
||||||
|
}
|
||||||
|
|
||||||
|
type Owner {
|
||||||
|
username: String
|
||||||
|
url: String
|
||||||
|
avatar: String
|
||||||
|
}
|
||||||
@@ -0,0 +1,6 @@
|
|||||||
|
type Mount {
|
||||||
|
name: String
|
||||||
|
directory: String
|
||||||
|
type: String
|
||||||
|
permissions: String
|
||||||
|
}
|
||||||
@@ -0,0 +1,60 @@
|
|||||||
|
type Partition {
|
||||||
|
devlinks: String
|
||||||
|
devname: String
|
||||||
|
devpath: String
|
||||||
|
devtype: String
|
||||||
|
idAta: String
|
||||||
|
idAtaDownloadMicrocode: String
|
||||||
|
idAtaFeatureSetAam: String
|
||||||
|
idAtaFeatureSetAamCurrentValue: String
|
||||||
|
idAtaFeatureSetAamEnabled: String
|
||||||
|
idAtaFeatureSetAamVendorRecommendedValue: String
|
||||||
|
idAtaFeatureSetApm: String
|
||||||
|
idAtaFeatureSetApmCurrentValue: String
|
||||||
|
idAtaFeatureSetApmEnabled: String
|
||||||
|
idAtaFeatureSetHpa: String
|
||||||
|
idAtaFeatureSetHpaEnabled: String
|
||||||
|
idAtaFeatureSetPm: String
|
||||||
|
idAtaFeatureSetPmEnabled: String
|
||||||
|
idAtaFeatureSetPuis: String
|
||||||
|
idAtaFeatureSetPuisEnabled: String
|
||||||
|
idAtaFeatureSetSecurity: String
|
||||||
|
idAtaFeatureSetSecurityEnabled: String
|
||||||
|
idAtaFeatureSetSecurityEnhancedEraseUnitMin: String
|
||||||
|
idAtaFeatureSetSecurityEraseUnitMin: String
|
||||||
|
idAtaFeatureSetSmart: String
|
||||||
|
idAtaFeatureSetSmartEnabled: String
|
||||||
|
idAtaRotationRateRpm: String
|
||||||
|
idAtaSata: String
|
||||||
|
idAtaSataSignalRateGen1: String
|
||||||
|
idAtaSataSignalRateGen2: String
|
||||||
|
idAtaWriteCache: String
|
||||||
|
idAtaWriteCacheEnabled: String
|
||||||
|
idBus: String
|
||||||
|
idFsType: String
|
||||||
|
idFsUsage: String
|
||||||
|
idFsUuid: String
|
||||||
|
idFsUuidEnc: String
|
||||||
|
idModel: String
|
||||||
|
idModelEnc: String
|
||||||
|
idPartEntryDisk: String
|
||||||
|
idPartEntryNumber: String
|
||||||
|
idPartEntryOffset: String
|
||||||
|
idPartEntryScheme: String
|
||||||
|
idPartEntrySize: String
|
||||||
|
idPartEntryType: String
|
||||||
|
idPartTableType: String
|
||||||
|
idPath: String
|
||||||
|
idPathTag: String
|
||||||
|
idRevision: String
|
||||||
|
idSerial: String
|
||||||
|
idSerialShort: String
|
||||||
|
idType: String
|
||||||
|
idWwn: String
|
||||||
|
idWwnWithExtension: String
|
||||||
|
major: String
|
||||||
|
minor: String
|
||||||
|
partn: String
|
||||||
|
subsystem: String
|
||||||
|
usecInitialized: String
|
||||||
|
}
|
||||||
0
api/src/store/initial-state/initial-config-state.ts
Normal file
0
api/src/store/initial-state/initial-config-state.ts
Normal file
8
plugin/.gitattributes
vendored
Normal file
8
plugin/.gitattributes
vendored
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
# Auto detect text files and perform LF normalization
|
||||||
|
* text=auto
|
||||||
|
*.sh text eol=lf
|
||||||
|
*.conf text eol=lf
|
||||||
|
*.md text eol=lf
|
||||||
|
*.php text eol=lf
|
||||||
|
*.page text eol=lf
|
||||||
|
*.plg text eol=lf
|
||||||
1
plugin/source/dynamix.unraid.net/boot/config/plugins/dynamix.my.servers/.gitignore
vendored
Normal file
1
plugin/source/dynamix.unraid.net/boot/config/plugins/dynamix.my.servers/.gitignore
vendored
Normal file
@@ -0,0 +1 @@
|
|||||||
|
webComps
|
||||||
@@ -0,0 +1,3 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
/etc/rc.d/rc.nginx reload &>/dev/null
|
||||||
@@ -0,0 +1,16 @@
|
|||||||
|
#!/usr/bin/php
|
||||||
|
<?PHP
|
||||||
|
/* Copyright 2005-2023, Lime Technology
|
||||||
|
* Copyright 2012-2023, Bergware International.
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or
|
||||||
|
* modify it under the terms of the GNU General Public License version 2,
|
||||||
|
* as published by the Free Software Foundation.
|
||||||
|
*
|
||||||
|
* The above copyright notice and this permission notice shall be included in
|
||||||
|
* all copies or substantial portions of the Software.
|
||||||
|
*/
|
||||||
|
?>
|
||||||
|
<?php
|
||||||
|
require_once("/usr/local/emhttp/plugins/dynamix.my.servers/include/UpdateFlashBackup.php");
|
||||||
|
?>
|
||||||
@@ -0,0 +1,31 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# this git filter removes PrivateKey, PublicKey, and PresharedKey from WireGuard config files
|
||||||
|
# that are passed in on stdin
|
||||||
|
#
|
||||||
|
# The regex converts the following:
|
||||||
|
#
|
||||||
|
# wg0.conf peer.conf
|
||||||
|
# OLD: PresharedKey=uL3XBHpCoIxafVonnt1vj3cT8GbNhB+X/wNwroyYY7U=
|
||||||
|
# NEW: PresharedKey=
|
||||||
|
#
|
||||||
|
# wg0.conf peer.conf
|
||||||
|
# OLD: PrivateKey=gJt06xDlyntpoGKqYEK3GCuWtxVAzZPx4BNwKxg7jnQ=
|
||||||
|
# NEW: PrivateKey=
|
||||||
|
#
|
||||||
|
# wg0.conf peer.conf
|
||||||
|
# OLD: PublicKey=98PcRLFD9PiI8BbW6K61psNIYNsKrWKiJ/iJ87E1i0U=
|
||||||
|
# NEW: PublicKey=
|
||||||
|
#
|
||||||
|
# wg0.cfg
|
||||||
|
# OLD: PrivateKey:1="8FBfXXj8OBUNFpeRrvBYjl1YT5X/U5wENZUQ8F/Ukkk="
|
||||||
|
# NEW: PrivateKey:1=""
|
||||||
|
#
|
||||||
|
# wg0.cfg
|
||||||
|
# OLD: PublicKey:0="9xTdy0W7rLjQucP8I0lDcST3dkOnJfDFT+rtcInQ6UM="
|
||||||
|
# NEW: PublicKey:0=""
|
||||||
|
|
||||||
|
OLDTEXT='(PrivateKey(:[[:digit:]]*)?|PublicKey(:[[:digit:]]*)?|PresharedKey)=(.*)=(["])?'
|
||||||
|
NEWTEXT='\1=\5\5'
|
||||||
|
|
||||||
|
sed -E "s@${OLDTEXT}@${NEWTEXT}@g"
|
||||||
@@ -0,0 +1,3 @@
|
|||||||
|
**Unraid Connect**
|
||||||
|
|
||||||
|
Unraid Connect is your one-stop shop for server management, monitoring, and maintenance. Enjoy the convenience and connectivity of the cloud and take your Unraid experience to the next level with Connect.
|
||||||
Reference in New Issue
Block a user