caprover-api 0.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.prettierrc.json +6 -0
- package/.vscode/settings.json +6 -0
- package/.yarnrc.yml +1 -0
- package/README.md +44 -0
- package/dist/api/ApiManager.d.ts +114 -0
- package/dist/api/ApiManager.js +486 -0
- package/dist/api/ErrorFactory.d.ts +26 -0
- package/dist/api/ErrorFactory.js +35 -0
- package/dist/api/HttpClient.d.ts +16 -0
- package/dist/api/HttpClient.js +130 -0
- package/dist/example.d.ts +1 -0
- package/dist/example.js +30 -0
- package/dist/index.d.ts +4 -0
- package/dist/index.js +43 -0
- package/dist/models/AppDefinition.d.ts +105 -0
- package/dist/models/AppDefinition.js +2 -0
- package/dist/models/AppDefinitionsResponse.d.ts +7 -0
- package/dist/models/AppDefinitionsResponse.js +2 -0
- package/dist/models/AppDeleteResponse.d.ts +3 -0
- package/dist/models/AppDeleteResponse.js +2 -0
- package/dist/models/AutomatedCleanupConfigs.d.ts +12 -0
- package/dist/models/AutomatedCleanupConfigs.js +15 -0
- package/dist/models/BackupMeta.d.ts +19 -0
- package/dist/models/BackupMeta.js +2 -0
- package/dist/models/BuildLogsResponse.d.ts +8 -0
- package/dist/models/BuildLogsResponse.js +2 -0
- package/dist/models/CapRoverTheme.d.ts +10 -0
- package/dist/models/CapRoverTheme.js +2 -0
- package/dist/models/CaptainInfo.d.ts +6 -0
- package/dist/models/CaptainInfo.js +2 -0
- package/dist/models/ContainerProps.d.ts +3 -0
- package/dist/models/ContainerProps.js +2 -0
- package/dist/models/DockerAuthObj.d.ts +11 -0
- package/dist/models/DockerAuthObj.js +2 -0
- package/dist/models/DockerSecret.d.ts +4 -0
- package/dist/models/DockerSecret.js +2 -0
- package/dist/models/DockerService.d.ts +99 -0
- package/dist/models/DockerService.js +2 -0
- package/dist/models/GoAccessInfo.d.ts +7 -0
- package/dist/models/GoAccessInfo.js +2 -0
- package/dist/models/GoAccessReportResponse.d.ts +6 -0
- package/dist/models/GoAccessReportResponse.js +2 -0
- package/dist/models/IBuiltImage.d.ts +4 -0
- package/dist/models/IBuiltImage.js +2 -0
- package/dist/models/ICaptainDefinition.d.ts +7 -0
- package/dist/models/ICaptainDefinition.js +2 -0
- package/dist/models/IGoAccessInfo.d.ts +7 -0
- package/dist/models/IGoAccessInfo.js +2 -0
- package/dist/models/IHashMapGeneric.d.ts +3 -0
- package/dist/models/IHashMapGeneric.js +2 -0
- package/dist/models/IImageSource.d.ts +12 -0
- package/dist/models/IImageSource.js +2 -0
- package/dist/models/IOneClickAppModels.d.ts +45 -0
- package/dist/models/IOneClickAppModels.js +2 -0
- package/dist/models/IProFeatures.d.ts +32 -0
- package/dist/models/IProFeatures.js +14 -0
- package/dist/models/IRegistryInfo.d.ts +21 -0
- package/dist/models/IRegistryInfo.js +8 -0
- package/dist/models/IServerBlockDetails.d.ts +17 -0
- package/dist/models/IServerBlockDetails.js +2 -0
- package/dist/models/IVersionInfo.d.ts +6 -0
- package/dist/models/IVersionInfo.js +2 -0
- package/dist/models/LoadBalancerInfo.d.ts +9 -0
- package/dist/models/LoadBalancerInfo.js +2 -0
- package/dist/models/LogsResponse.d.ts +3 -0
- package/dist/models/LogsResponse.js +2 -0
- package/dist/models/NetDataInfo.d.ts +27 -0
- package/dist/models/NetDataInfo.js +2 -0
- package/dist/models/NginxConfig.d.ts +10 -0
- package/dist/models/NginxConfig.js +2 -0
- package/dist/models/OneClickAppDefinitionResponse.d.ts +3 -0
- package/dist/models/OneClickAppDefinitionResponse.js +2 -0
- package/dist/models/OneClickAppRepositories.d.ts +3 -0
- package/dist/models/OneClickAppRepositories.js +2 -0
- package/dist/models/OneClickAppResponse.d.ts +4 -0
- package/dist/models/OneClickAppResponse.js +2 -0
- package/dist/models/OtherTypes.d.ts +29 -0
- package/dist/models/OtherTypes.js +2 -0
- package/dist/models/ProjectDefinition.d.ts +6 -0
- package/dist/models/ProjectDefinition.js +2 -0
- package/dist/models/ProjectsResponse.d.ts +4 -0
- package/dist/models/ProjectsResponse.js +2 -0
- package/dist/models/RegistriesResponse.d.ts +5 -0
- package/dist/models/RegistriesResponse.js +2 -0
- package/dist/models/ServerDockerInfo.d.ts +14 -0
- package/dist/models/ServerDockerInfo.js +2 -0
- package/dist/models/UnusedImagesResponse.d.ts +6 -0
- package/dist/models/UnusedImagesResponse.js +2 -0
- package/dist/models/index.d.ts +40 -0
- package/dist/models/index.js +56 -0
- package/package.json +30 -0
- package/src/api/ApiManager.ts +825 -0
- package/src/api/ErrorFactory.ts +35 -0
- package/src/api/HttpClient.ts +143 -0
- package/src/example.ts +36 -0
- package/src/index.ts +5 -0
- package/src/models/AppDefinition.ts +124 -0
- package/src/models/AppDefinitionsResponse.ts +8 -0
- package/src/models/AppDeleteResponse.ts +3 -0
- package/src/models/AutomatedCleanupConfigs.ts +18 -0
- package/src/models/BackupMeta.ts +26 -0
- package/src/models/BuildLogsResponse.ts +5 -0
- package/src/models/CapRoverTheme.ts +11 -0
- package/src/models/CaptainInfo.ts +6 -0
- package/src/models/ContainerProps.ts +3 -0
- package/src/models/DockerAuthObj.ts +25 -0
- package/src/models/DockerSecret.ts +4 -0
- package/src/models/DockerService.ts +117 -0
- package/src/models/GoAccessInfo.ts +7 -0
- package/src/models/GoAccessReportResponse.ts +6 -0
- package/src/models/IBuiltImage.ts +4 -0
- package/src/models/ICaptainDefinition.ts +7 -0
- package/src/models/IGoAccessInfo.ts +7 -0
- package/src/models/IHashMapGeneric.ts +3 -0
- package/src/models/IImageSource.ts +10 -0
- package/src/models/IOneClickAppModels.ts +51 -0
- package/src/models/IProFeatures.ts +39 -0
- package/src/models/IRegistryInfo.ts +30 -0
- package/src/models/IServerBlockDetails.ts +18 -0
- package/src/models/IVersionInfo.ts +6 -0
- package/src/models/LoadBalancerInfo.ts +11 -0
- package/src/models/LogsResponse.ts +3 -0
- package/src/models/NetDataInfo.ts +27 -0
- package/src/models/NginxConfig.ts +10 -0
- package/src/models/OneClickAppDefinitionResponse.ts +3 -0
- package/src/models/OneClickAppRepositories.ts +3 -0
- package/src/models/OneClickAppResponse.ts +5 -0
- package/src/models/OtherTypes.ts +32 -0
- package/src/models/ProjectDefinition.ts +6 -0
- package/src/models/ProjectsResponse.ts +5 -0
- package/src/models/RegistriesResponse.ts +6 -0
- package/src/models/ServerDockerInfo.ts +14 -0
- package/src/models/UnusedImagesResponse.ts +3 -0
- package/src/models/index.ts +41 -0
- package/tsconfig.json +14 -0
- package/tslint.json +46 -0
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { IHashMapGeneric } from './IHashMapGeneric'
|
|
2
|
+
|
|
3
|
+
export interface IOneClickAppIdentifier {
|
|
4
|
+
sortScore?: number // 0-1 and dynamically calculated based on search terms
|
|
5
|
+
isOfficial?: boolean
|
|
6
|
+
name: string
|
|
7
|
+
displayName: string
|
|
8
|
+
description: string
|
|
9
|
+
logoUrl: string
|
|
10
|
+
baseUrl: string
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
export interface IOneClickVariable {
|
|
14
|
+
id: string
|
|
15
|
+
label: string
|
|
16
|
+
defaultValue?: string
|
|
17
|
+
validRegex?: string
|
|
18
|
+
description?: string
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
export interface IDockerComposeService {
|
|
22
|
+
image?: string
|
|
23
|
+
volumes?: string[]
|
|
24
|
+
ports?: string[]
|
|
25
|
+
environment?: IHashMapGeneric<string>
|
|
26
|
+
depends_on?: string[]
|
|
27
|
+
hostname?: string
|
|
28
|
+
cap_add?: string[]
|
|
29
|
+
command?: string | string[]
|
|
30
|
+
|
|
31
|
+
// These are CapRover property, not DockerCompose. We use this instead of image if we need to extend the image.
|
|
32
|
+
caproverExtra?: {
|
|
33
|
+
dockerfileLines?: string[]
|
|
34
|
+
containerHttpPort: number
|
|
35
|
+
notExposeAsWebApp: boolean // This is actually a string "true", make sure to double negate!
|
|
36
|
+
websocketSupport: boolean // This is actually a string "true", make sure to double negate!
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
export interface IOneClickTemplate {
|
|
41
|
+
services: IHashMapGeneric<IDockerComposeService>
|
|
42
|
+
captainVersion: number
|
|
43
|
+
caproverOneClickApp: {
|
|
44
|
+
instructions: {
|
|
45
|
+
start: string
|
|
46
|
+
end: string
|
|
47
|
+
}
|
|
48
|
+
displayName: string
|
|
49
|
+
variables: IOneClickVariable[]
|
|
50
|
+
}
|
|
51
|
+
}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
export interface IProFeatures {
|
|
2
|
+
isFeatureFlagEnabled: boolean
|
|
3
|
+
isSubscribed: boolean
|
|
4
|
+
}
|
|
5
|
+
|
|
6
|
+
export interface TwoFactorAuthResponse {
|
|
7
|
+
isEnabled: boolean
|
|
8
|
+
otpPath?: string
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
export interface TwoFactorAuthRequest {
|
|
12
|
+
enabled: boolean
|
|
13
|
+
token?: string
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
export enum ProAlertActionType {
|
|
17
|
+
email = 'email',
|
|
18
|
+
webhook = 'webhook',
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
export interface ProAlertAction {
|
|
22
|
+
actionType: ProAlertActionType
|
|
23
|
+
metadata?: any
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
export enum ProAlertEvent {
|
|
27
|
+
UserLoggedIn = 'UserLoggedIn',
|
|
28
|
+
AppBuildSuccessful = 'AppBuildSuccessful',
|
|
29
|
+
AppBuildFailed = 'AppBuildFailed',
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
export interface ProAlertConfig {
|
|
33
|
+
event: ProAlertEvent
|
|
34
|
+
action: ProAlertAction
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
export interface IProConfig {
|
|
38
|
+
alerts: ProAlertConfig[]
|
|
39
|
+
}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
export class IRegistryTypes {
|
|
2
|
+
static readonly LOCAL_REG = 'LOCAL_REG'
|
|
3
|
+
static readonly REMOTE_REG = 'REMOTE_REG'
|
|
4
|
+
}
|
|
5
|
+
|
|
6
|
+
export type IRegistryType = 'LOCAL_REG' | 'REMOTE_REG'
|
|
7
|
+
|
|
8
|
+
export interface IRegistryInfo {
|
|
9
|
+
id: string
|
|
10
|
+
registryUser: string
|
|
11
|
+
registryPassword: string
|
|
12
|
+
|
|
13
|
+
registryDomain: string
|
|
14
|
+
|
|
15
|
+
registryImagePrefix: string
|
|
16
|
+
|
|
17
|
+
registryType: IRegistryType
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
export interface IRegistryInfoEncrypted {
|
|
21
|
+
id: string
|
|
22
|
+
registryUser: string
|
|
23
|
+
registryPasswordEncrypted: string
|
|
24
|
+
|
|
25
|
+
registryDomain: string
|
|
26
|
+
|
|
27
|
+
registryImagePrefix: string
|
|
28
|
+
|
|
29
|
+
registryType: IRegistryType
|
|
30
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
export interface IServerBlockDetails {
|
|
2
|
+
hasSsl: boolean
|
|
3
|
+
forceSsl: boolean
|
|
4
|
+
websocketSupport: boolean
|
|
5
|
+
publicDomain: string
|
|
6
|
+
localDomain: string
|
|
7
|
+
nginxConfigTemplate: string
|
|
8
|
+
containerHttpPort: number
|
|
9
|
+
httpBasicAuth?: string
|
|
10
|
+
httpBasicAuthPath?: string
|
|
11
|
+
|
|
12
|
+
crtPath?: string
|
|
13
|
+
keyPath?: string
|
|
14
|
+
customErrorPagesDirectory: string
|
|
15
|
+
staticWebRoot: string
|
|
16
|
+
redirectToPath?: string
|
|
17
|
+
logAccessPath?: string
|
|
18
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
export interface NetDataInfo {
|
|
2
|
+
isEnabled: boolean
|
|
3
|
+
netDataUrl: string
|
|
4
|
+
data: {
|
|
5
|
+
smtp: {
|
|
6
|
+
to: string
|
|
7
|
+
hostname: string
|
|
8
|
+
server: string
|
|
9
|
+
port: string
|
|
10
|
+
allowNonTls: string
|
|
11
|
+
username: string
|
|
12
|
+
password: string
|
|
13
|
+
}
|
|
14
|
+
slack: {
|
|
15
|
+
hook: string
|
|
16
|
+
channel: string
|
|
17
|
+
}
|
|
18
|
+
telegram: {
|
|
19
|
+
chatId: string
|
|
20
|
+
botToken: string
|
|
21
|
+
}
|
|
22
|
+
pushBullet: {
|
|
23
|
+
apiToken: string
|
|
24
|
+
fallbackEmail: string
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { IAppDef } from './AppDefinition'
|
|
2
|
+
|
|
3
|
+
export type CaptainError = {
|
|
4
|
+
captainErrorType: number
|
|
5
|
+
apiMessage: string
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
export type AnyError = any
|
|
9
|
+
|
|
10
|
+
export type PreDeployFunction = (
|
|
11
|
+
appDef: IAppDef | undefined,
|
|
12
|
+
updatedData: any
|
|
13
|
+
) => Promise<void>
|
|
14
|
+
|
|
15
|
+
export interface IDockerApiPort {
|
|
16
|
+
Protocol: string
|
|
17
|
+
TargetPort: number
|
|
18
|
+
PublishedPort: number
|
|
19
|
+
PublishMode?: 'ingress' | 'host'
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
export interface IDockerContainerResource {
|
|
23
|
+
Limits?: { NanoCPUs?: number; MemoryBytes?: number }
|
|
24
|
+
Reservation?: { NanoCPUs?: number; MemoryBytes?: number }
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
export interface ITemplate {
|
|
28
|
+
templateName: string
|
|
29
|
+
dockerHubImageName: string
|
|
30
|
+
tagSuffix: string
|
|
31
|
+
postFromLines?: string
|
|
32
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export interface ServerDockerInfo {
|
|
2
|
+
nodeId: string
|
|
3
|
+
type: 'manager' | 'worker'
|
|
4
|
+
isLeader: boolean
|
|
5
|
+
hostname: string
|
|
6
|
+
architecture: string
|
|
7
|
+
operatingSystem: string
|
|
8
|
+
nanoCpu: number
|
|
9
|
+
memoryBytes: number
|
|
10
|
+
dockerEngineVersion: string
|
|
11
|
+
ip: string
|
|
12
|
+
state: string
|
|
13
|
+
status: string
|
|
14
|
+
}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file Automatically generated by barrelsby.
|
|
3
|
+
*/
|
|
4
|
+
|
|
5
|
+
export * from './AppDefinition'
|
|
6
|
+
export * from './AppDefinitionsResponse'
|
|
7
|
+
export * from './AppDeleteResponse'
|
|
8
|
+
export * from './AutomatedCleanupConfigs'
|
|
9
|
+
export * from './BackupMeta'
|
|
10
|
+
export * from './BuildLogsResponse'
|
|
11
|
+
export * from './CapRoverTheme'
|
|
12
|
+
export * from './CaptainInfo'
|
|
13
|
+
export * from './ContainerProps'
|
|
14
|
+
export * from './DockerAuthObj'
|
|
15
|
+
export * from './DockerSecret'
|
|
16
|
+
export * from './DockerService'
|
|
17
|
+
export * from './GoAccessInfo'
|
|
18
|
+
export * from './GoAccessReportResponse'
|
|
19
|
+
export * from './IBuiltImage'
|
|
20
|
+
export * from './ICaptainDefinition'
|
|
21
|
+
export * from './IGoAccessInfo'
|
|
22
|
+
export * from './IHashMapGeneric'
|
|
23
|
+
export * from './IImageSource'
|
|
24
|
+
export * from './IOneClickAppModels'
|
|
25
|
+
export * from './IProFeatures'
|
|
26
|
+
export * from './IRegistryInfo'
|
|
27
|
+
export * from './IServerBlockDetails'
|
|
28
|
+
export * from './IVersionInfo'
|
|
29
|
+
export * from './LoadBalancerInfo'
|
|
30
|
+
export * from './LogsResponse'
|
|
31
|
+
export * from './NetDataInfo'
|
|
32
|
+
export * from './NginxConfig'
|
|
33
|
+
export * from './OneClickAppDefinitionResponse'
|
|
34
|
+
export * from './OneClickAppRepositories'
|
|
35
|
+
export * from './OneClickAppResponse'
|
|
36
|
+
export * from './OtherTypes'
|
|
37
|
+
export * from './ProjectDefinition'
|
|
38
|
+
export * from './ProjectsResponse'
|
|
39
|
+
export * from './RegistriesResponse'
|
|
40
|
+
export * from './ServerDockerInfo'
|
|
41
|
+
export * from './UnusedImagesResponse'
|
package/tsconfig.json
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
{
|
|
2
|
+
"compilerOptions": {
|
|
3
|
+
"target": "ES2020",
|
|
4
|
+
"module": "commonjs",
|
|
5
|
+
"moduleResolution": "Node",
|
|
6
|
+
"declaration": true,
|
|
7
|
+
"outDir": "./dist",
|
|
8
|
+
"esModuleInterop": true,
|
|
9
|
+
"forceConsistentCasingInFileNames": true,
|
|
10
|
+
"strict": true,
|
|
11
|
+
"skipLibCheck": true
|
|
12
|
+
},
|
|
13
|
+
"include": ["src"]
|
|
14
|
+
}
|
package/tslint.json
ADDED
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
{
|
|
2
|
+
"jsRules": {
|
|
3
|
+
"no-empty": true
|
|
4
|
+
},
|
|
5
|
+
"rules": {
|
|
6
|
+
"class-name": true,
|
|
7
|
+
"comment-format": [true, "check-space"],
|
|
8
|
+
"indent": [true, "spaces"],
|
|
9
|
+
"one-line": [true, "check-open-brace", "check-whitespace"],
|
|
10
|
+
"no-var-keyword": true,
|
|
11
|
+
//"quotemark": [true, "single", "avoid-escape"],
|
|
12
|
+
"semicolon": [true, "never", "ignore-bound-class-methods"],
|
|
13
|
+
"whitespace": [
|
|
14
|
+
true,
|
|
15
|
+
"check-branch",
|
|
16
|
+
"check-decl",
|
|
17
|
+
"check-operator",
|
|
18
|
+
"check-module",
|
|
19
|
+
"check-separator",
|
|
20
|
+
"check-type"
|
|
21
|
+
],
|
|
22
|
+
"typedef-whitespace": [
|
|
23
|
+
true,
|
|
24
|
+
{
|
|
25
|
+
"call-signature": "nospace",
|
|
26
|
+
"index-signature": "nospace",
|
|
27
|
+
"parameter": "nospace",
|
|
28
|
+
"property-declaration": "nospace",
|
|
29
|
+
"variable-declaration": "nospace"
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
"call-signature": "onespace",
|
|
33
|
+
"index-signature": "onespace",
|
|
34
|
+
"parameter": "onespace",
|
|
35
|
+
"property-declaration": "onespace",
|
|
36
|
+
"variable-declaration": "onespace"
|
|
37
|
+
}
|
|
38
|
+
],
|
|
39
|
+
"no-internal-module": true,
|
|
40
|
+
"no-trailing-whitespace": true,
|
|
41
|
+
"no-null-keyword": true,
|
|
42
|
+
//"prefer-const": true,
|
|
43
|
+
"jsdoc-format": true
|
|
44
|
+
},
|
|
45
|
+
"extends": ["tslint-config-prettier"]
|
|
46
|
+
}
|