fix(core): Updated dependencies and refactored ClusterManager and CloudlyConnector for improved Docker management.
This commit is contained in:
@@ -7,47 +7,48 @@ import { Coreflow } from './coreflow.classes.coreflow.js';
|
||||
|
||||
export class CloudlyConnector {
|
||||
public coreflowRef: Coreflow;
|
||||
public cloudlyClient: plugins.servezoneApi.CloudlyClient;
|
||||
public cloudlyApiClient: plugins.servezoneApi.CloudlyApiClient;
|
||||
public coreflowJumpCode: string;
|
||||
public identity: plugins.servezoneInterfaces.data.IClusterIdentifier;
|
||||
public identity: plugins.servezoneInterfaces.data.IIdentity;
|
||||
|
||||
constructor(coreflowRefArg: Coreflow) {
|
||||
this.coreflowRef = coreflowRefArg;
|
||||
}
|
||||
|
||||
public async start() {
|
||||
this.cloudlyClient = new plugins.servezoneApi.CloudlyClient('coreflow');
|
||||
await this.cloudlyClient.start();
|
||||
this.cloudlyApiClient = new plugins.servezoneApi.CloudlyApiClient({
|
||||
registerAs: 'coreflow',
|
||||
cloudlyUrl: await this.coreflowRef.serviceQenv.getEnvVarOnDemand('CLOUDLY_URL')
|
||||
});
|
||||
await this.cloudlyApiClient.start();
|
||||
this.coreflowJumpCode = await this.coreflowRef.serviceQenv.getEnvVarOnDemand('JUMPCODE');
|
||||
|
||||
// get identity and tag connection (second parameter is true -> tags the connection)
|
||||
this.identity = await this.cloudlyClient.getIdentityByJumpCode(this.coreflowJumpCode, true);
|
||||
this.identity = await this.cloudlyApiClient.getIdentityByToken(this.coreflowJumpCode, {
|
||||
statefullIdentity: true,
|
||||
tagConnection: true,
|
||||
});
|
||||
}
|
||||
|
||||
public async stop() {
|
||||
await this.cloudlyClient.stop();
|
||||
await this.cloudlyApiClient.stop();
|
||||
}
|
||||
|
||||
public async getConfigFromCloudly(): Promise<plugins.servezoneInterfaces.data.IClusterConfig> {
|
||||
const config = await this.cloudlyClient.getClusterConfigFromCloudlyByIdentity(
|
||||
public async getConfigFromCloudly(): Promise<plugins.servezoneInterfaces.data.ICluster> {
|
||||
const config = await this.cloudlyApiClient.getClusterConfigFromCloudlyByIdentity(
|
||||
this.identity
|
||||
);
|
||||
return config;
|
||||
}
|
||||
|
||||
public async triggerConfigEvent() {
|
||||
const config = await this.getConfigFromCloudly();
|
||||
this.cloudlyClient.configUpdateSubject.next({
|
||||
configData: config,
|
||||
});
|
||||
}
|
||||
|
||||
public async getCertificateForDomainFromCloudly(
|
||||
domainNameArg: string
|
||||
): Promise<plugins.tsclass.network.ICert> {
|
||||
const certificate = await this.cloudlyClient.getCertificateForDomainOverHttps(
|
||||
domainNameArg
|
||||
);
|
||||
const certificate = await this.cloudlyApiClient.getCertificateForDomain({
|
||||
identity: this.identity,
|
||||
domainName: domainNameArg,
|
||||
type: 'ssl',
|
||||
});
|
||||
return certificate;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user