fix(core): update
This commit is contained in:
parent
da656866a6
commit
2ef8bdb072
@ -3,6 +3,6 @@
|
||||
*/
|
||||
export const commitinfo = {
|
||||
name: '@serve.zone/interfaces',
|
||||
version: '1.0.11',
|
||||
version: '1.0.12',
|
||||
description: 'interfaces for working with containers'
|
||||
}
|
||||
|
@ -1,33 +0,0 @@
|
||||
import { type IDockerRegistryInfo, type IServiceRessources } from './docker.js';
|
||||
import type { IServerConfig } from './server.js';
|
||||
|
||||
export interface IClusterConfig {
|
||||
id: string;
|
||||
name: string;
|
||||
zone: 'servezone' | 'gitzone' | 'shipzone' | 'umbrellazone' | 'trafficzone' | 'proxyzone';
|
||||
type: 'cluster';
|
||||
secretKey: string;
|
||||
jumpCode: string;
|
||||
jumpCodeUsedAt: number;
|
||||
manager_domain: string;
|
||||
manager_ip: string;
|
||||
servers: IServerConfig[];
|
||||
containers: IClusterConfigContainer[];
|
||||
acmeInfo: {
|
||||
serverAddress: string;
|
||||
serverSecret: string;
|
||||
};
|
||||
registryInfo: IDockerRegistryInfo;
|
||||
}
|
||||
|
||||
export interface IClusterConfigContainer {
|
||||
name: string;
|
||||
image: string;
|
||||
ports: {
|
||||
web: number;
|
||||
custom?: { [domain: string]: string };
|
||||
};
|
||||
resources?: IServiceRessources;
|
||||
domains: string[];
|
||||
secrets: { [key: string]: string };
|
||||
}
|
@ -1,23 +0,0 @@
|
||||
import { type IDockerRegistryInfo } from './docker.js';
|
||||
|
||||
export interface IServerConfig {
|
||||
type: 'server';
|
||||
|
||||
/**
|
||||
* a list of debian packages to be installed
|
||||
*/
|
||||
requiredDebianPackages: string[];
|
||||
|
||||
/**
|
||||
* a list of SSH keys to deploy
|
||||
*/
|
||||
sshKeys: IServezoneSshKey[];
|
||||
|
||||
dockerRegistryInfo: IDockerRegistryInfo;
|
||||
}
|
||||
|
||||
export interface IServezoneSshKey {
|
||||
keyName: string;
|
||||
public: string;
|
||||
private?: string;
|
||||
}
|
@ -1,4 +1,52 @@
|
||||
import { type IDockerRegistryInfo, type IServiceRessources } from '../data/docker.js';
|
||||
import type { IServerConfig } from './server.js';
|
||||
|
||||
export interface IClusterIdentifier {
|
||||
clusterName: string;
|
||||
secretKey: string;
|
||||
}
|
||||
|
||||
export interface IClusterConfig {
|
||||
id: string;
|
||||
data: {
|
||||
name: string;
|
||||
secretKey: string;
|
||||
jumpCode: string;
|
||||
jumpCodeUsedAt: number;
|
||||
/**
|
||||
* how can the cluster reach cloudly
|
||||
*/
|
||||
cloudlyUrl: string;
|
||||
|
||||
/**
|
||||
* what servers are expected to be part of the cluster
|
||||
*/
|
||||
servers: IServerConfig[];
|
||||
|
||||
/**
|
||||
* the containers running
|
||||
*/
|
||||
containers: IClusterConfigContainer[];
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
acmeInfo: {
|
||||
serverAddress: string;
|
||||
serverSecret: string;
|
||||
};
|
||||
registryInfo: IDockerRegistryInfo;
|
||||
};
|
||||
}
|
||||
|
||||
export interface IClusterConfigContainer {
|
||||
name: string;
|
||||
image: string;
|
||||
ports: {
|
||||
web: number;
|
||||
custom?: { [domain: string]: string };
|
||||
};
|
||||
resources?: IServiceRessources;
|
||||
domains: string[];
|
||||
secrets: { [key: string]: string };
|
||||
}
|
||||
|
@ -1,7 +1 @@
|
||||
/* ==========
|
||||
This file exports all config interfaces for easier access under module.config.[anyconfig]
|
||||
// ========== */
|
||||
|
||||
export * from '../config/cluster.js';
|
||||
export * from '../config/server.js';
|
||||
export type TConfigType = 'server' | 'cluster' | 'coreflow' | 'service';
|
||||
|
@ -1,8 +1,10 @@
|
||||
export * from './cluster.js';
|
||||
export * from './config.js';
|
||||
export * from './docker.js';
|
||||
export * from './env.js';
|
||||
export * from './event.js';
|
||||
export * from './secret.js'
|
||||
export * from './server.js';
|
||||
export * from './status.js';
|
||||
export * from './traffic.js';
|
||||
export * from './version.js';
|
||||
|
@ -1,3 +1,5 @@
|
||||
import { type IDockerRegistryInfo } from './docker.js';
|
||||
|
||||
export interface IServerMetrics {
|
||||
serverId: string;
|
||||
cpuUsageInPercent: number;
|
||||
@ -11,3 +13,25 @@ export interface IServerMetrics {
|
||||
memoryUsageInMB: number;
|
||||
}>;
|
||||
}
|
||||
|
||||
export interface IServerConfig {
|
||||
type: 'server';
|
||||
|
||||
/**
|
||||
* a list of debian packages to be installed
|
||||
*/
|
||||
requiredDebianPackages: string[];
|
||||
|
||||
/**
|
||||
* a list of SSH keys to deploy
|
||||
*/
|
||||
sshKeys: IServezoneSshKey[];
|
||||
|
||||
dockerRegistryInfo: IDockerRegistryInfo;
|
||||
}
|
||||
|
||||
export interface IServezoneSshKey {
|
||||
keyName: string;
|
||||
public: string;
|
||||
private?: string;
|
||||
}
|
||||
|
28
ts/requests/cluster.ts
Normal file
28
ts/requests/cluster.ts
Normal file
@ -0,0 +1,28 @@
|
||||
import type { IClusterConfig } from '../data/cluster.js';
|
||||
import * as plugins from '../plugins.js';
|
||||
|
||||
export interface IRequest_CreateCluster extends plugins.typedrequestInterfaces.implementsTR<
|
||||
plugins.typedrequestInterfaces.ITypedRequest,
|
||||
IRequest_CreateCluster
|
||||
> {
|
||||
method: 'createCluster';
|
||||
request: {
|
||||
clusterName: string;
|
||||
};
|
||||
response: {
|
||||
clusterConfig: IClusterConfig;
|
||||
};
|
||||
}
|
||||
|
||||
export interface IRequest_UpdateCluster extends plugins.typedrequestInterfaces.implementsTR<
|
||||
plugins.typedrequestInterfaces.ITypedRequest,
|
||||
IRequest_UpdateCluster
|
||||
> {
|
||||
method: 'updateCluster';
|
||||
request: {
|
||||
clusterConfig: IClusterConfig;
|
||||
};
|
||||
response: {
|
||||
clusterConfig: IClusterConfig;
|
||||
};
|
||||
}
|
@ -1,6 +1,6 @@
|
||||
import * as plugins from '../plugins.js';
|
||||
import * as clusterInterfaces from '../data/cluster.js';
|
||||
import * as configInterfaces from '../data/config.js';
|
||||
import * as serverInterfaces from '../data/server.js';
|
||||
|
||||
export interface IRequest_Any_Cloudly_GetServerConfig
|
||||
extends plugins.typedrequestInterfaces.implementsTR<
|
||||
@ -12,7 +12,7 @@ extends plugins.typedrequestInterfaces.implementsTR<
|
||||
clusterIdentifier: clusterInterfaces.IClusterIdentifier;
|
||||
};
|
||||
response: {
|
||||
configData: configInterfaces.IServerConfig;
|
||||
configData: serverInterfaces.IServerConfig;
|
||||
};
|
||||
}
|
||||
|
||||
@ -26,7 +26,7 @@ extends plugins.typedrequestInterfaces.implementsTR<
|
||||
clusterIdentifier: clusterInterfaces.IClusterIdentifier;
|
||||
};
|
||||
response: {
|
||||
configData: configInterfaces.IClusterConfig;
|
||||
configData: clusterInterfaces.IClusterConfig;
|
||||
};
|
||||
}
|
||||
|
||||
@ -37,7 +37,7 @@ extends plugins.typedrequestInterfaces.implementsTR<
|
||||
> {
|
||||
method: 'pushClusterConfig';
|
||||
request: {
|
||||
configData: configInterfaces.IClusterConfig;
|
||||
configData: clusterInterfaces.IClusterConfig;
|
||||
};
|
||||
response: {};
|
||||
}
|
||||
@ -49,8 +49,8 @@ extends plugins.typedrequestInterfaces.implementsTR<
|
||||
> {
|
||||
method: 'pushContainerUpdate'
|
||||
request: {
|
||||
configData: configInterfaces.IClusterConfig;
|
||||
specificContainerConfigToUpdate: configInterfaces.IClusterConfigContainer;
|
||||
configData: clusterInterfaces.IClusterConfig;
|
||||
specificContainerConfigToUpdate: clusterInterfaces.IClusterConfigContainer;
|
||||
};
|
||||
response: {}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user