-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathtypes.ts
More file actions
125 lines (119 loc) · 2.62 KB
/
types.ts
File metadata and controls
125 lines (119 loc) · 2.62 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
export interface AppDefinition {
id: string;
name: string;
description: string;
tagline?: string;
image: string;
thumbnail?: string;
category: string;
compose: string;
port_map?: string;
volume_map?: string;
env_vars?: Record<string, string>;
version?: string;
developer?: string;
author?: string;
youtube?: string;
docs_link?: string;
website?: string;
support_link?: string;
repo_link?: string;
screenshots?: string[];
architectures?: string[];
main_service?: string;
}
export enum TargetPlatform {
PROXMOX_LXC = 'PROXMOX_LXC',
DOCKGE = 'DOCKGE',
PORTAINER = 'PORTAINER',
RAW_COMPOSE = 'RAW_COMPOSE'
}
export interface DeploymentConfig {
appId: string;
appName: string;
target: TargetPlatform;
/**
* The Docker image name of the main service.
* Used to match against Native Recipes.
*/
mainImage?: string;
/**
* The matched Proxmox Community Script ID (e.g. 'plex', 'homeassistant').
* If present, the generator uses the official script.
*/
communityScript?: string;
password?: string;
ctId: number;
hostPort: string;
containerPort: string;
bridge: string;
useDhcp: boolean;
staticIp: string;
gateway: string;
volumePath: string;
envVars: Record<string, string>;
composeContent: string;
cpuCores: number;
ramSize: number;
diskSize: number;
storagePool: string;
}
export interface Repo {
id: string;
name: string;
url?: string;
apps: AppDefinition[];
lastSynced?: number;
}
export interface CasaOSMetadata {
main?: string;
title?: { en_us: string };
description?: { en_us: string };
tagline?: { en_us: string };
icon?: string;
thumbnail?: string;
category?: string;
port_map?: string;
author?: string;
developer?: string;
screenshot_link?: string[];
project_url?: string;
index?: string;
architectures?: string[];
source_code?: string;
}
export interface UmbrelMetadata {
id: string;
name: string;
version: string;
tagline: string;
description: string;
developer: string;
website: string;
repo: string;
support: string;
port: number;
category: string;
gallery?: string[];
}
export interface ConfigJsonMetadata {
id?: string;
name?: string;
title?: string;
description?: string;
tagline?: string;
icon?: string;
category?: string;
port?: string | number;
author?: string;
developer?: string;
version?: string;
screenshots?: string[];
image?: string;
youtube?: string;
docs_link?: string;
repo_url?: string;
github?: string;
support_url?: string;
discord?: string;
}