Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
gitpod-io
GitHub Repository: gitpod-io/gitpod
Path: blob/main/components/ws-manager-bridge/src/config.ts
2498 views
1
/**
2
* Copyright (c) 2020 Gitpod GmbH. All rights reserved.
3
* Licensed under the GNU Affero General Public License (AGPL).
4
* See License.AGPL.txt in the project root for license information.
5
*/
6
7
import { WorkspaceCluster } from "@gitpod/gitpod-protocol/lib/workspace-cluster";
8
import { ClusterServiceServerOptions } from "./cluster-service-server";
9
10
export const Configuration = Symbol("Configuration");
11
export interface Configuration {
12
// the installation this ws-manager-bridge instance is a) running in and b) controls
13
installation: string;
14
15
staticBridges: WorkspaceCluster[];
16
17
// configures how the ClusterServiceServer is run
18
clusterService: ClusterServiceServerOptions;
19
20
// The interval in which fresh WorkspaceCluster-state is polled from the DB
21
wsClusterDBReconcileIntervalSeconds: number;
22
23
// controllerIntervalSeconds configures how often we check for invalid workspace states
24
controllerIntervalSeconds: number;
25
26
// controllerMaxDisconnect configures how long the controller may be disconnected from ws-manager before it emits a warning
27
controllerMaxDisconnectSeconds: number;
28
29
// timeouts configures the timeout behaviour of pre-workspace cluster workspaces
30
timeouts: {
31
preparingPhaseSeconds: number;
32
buildingPhaseSeconds: number;
33
unknownPhaseSeconds: number;
34
pendingPhaseSeconds: number;
35
stoppingPhaseSeconds: number;
36
};
37
38
// clusterSyncIntervalSeconds configures how often we sync workspace cluster information
39
clusterSyncIntervalSeconds: number;
40
41
redis: {
42
address: string;
43
};
44
}
45
46