Skip to content

Commit

Permalink
[server] Make FeatureFlags configurable per team
Browse files Browse the repository at this point in the history
  • Loading branch information
geropl committed Jul 8, 2022
1 parent f0c8688 commit c94a699
Show file tree
Hide file tree
Showing 2 changed files with 26 additions and 8 deletions.
17 changes: 13 additions & 4 deletions components/server/src/workspace/gitpod-server-impl.ts
Original file line number Diff line number Diff line change
Expand Up @@ -1575,12 +1575,14 @@ export class GitpodServerImpl implements GitpodServerWithTracing, Disposable {

const logInfo = instance.imageBuildInfo?.log;
if (!logInfo) {
const teams = await this.teamDB.findTeamsByUser(user.id);
const isOldImageBuildLogsMechanismDeprecated = await getExperimentsClientForBackend().getValueAsync(
"deprecateOldImageLogsMechanism",
false,
{
userId: user.id,
projectId: workspace.projectId,
teams,
},
);
if (isOldImageBuildLogsMechanismDeprecated) {
Expand Down Expand Up @@ -3211,15 +3213,22 @@ export class GitpodServerImpl implements GitpodServerWithTracing, Disposable {
* @returns
*/
protected async getImageBuilderClient(user: User, workspace: Workspace, instance?: WorkspaceInstance) {
const teams = await this.teamDB.findTeamsByUser(user.id);
const isMovedImageBuilder = await getExperimentsClientForBackend().getValueAsync("movedImageBuilder", false, {
userId: user.id,
projectId: workspace.projectId,
teams,
});
log.info(
{ userId: user.id, workspaceId: workspace.id, instanceId: instance?.id },
"image-builder in workspace cluster?",
{
userId: user.id,
projectId: workspace.projectId,
isMovedImageBuilder,
},
);
if (isMovedImageBuilder) {
log.info(
{ userId: user.id, workspaceId: workspace.id, instanceId: instance?.id },
"Used image-builder in workspace cluster",
);
return this.wsClusterImageBuilderClientProvider.getClient(user, workspace, instance);
} else {
return this.imagebuilderClientProvider.getClient(user, workspace, instance);
Expand Down
17 changes: 13 additions & 4 deletions components/server/src/workspace/workspace-starter.ts
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ import {
DBUser,
DBWithTracing,
ProjectDB,
TeamDB,
TracedUserDB,
TracedWorkspaceDB,
UserDB,
Expand Down Expand Up @@ -208,6 +209,7 @@ export class WorkspaceStarter {
@inject(ProjectDB) protected readonly projectDB: ProjectDB;
@inject(ContextParser) protected contextParser: ContextParser;
@inject(BlockedRepositoryDB) protected readonly blockedRepositoryDB: BlockedRepositoryDB;
@inject(TeamDB) protected readonly teamDB: TeamDB;

public async startWorkspace(
ctx: TraceContext,
Expand Down Expand Up @@ -1724,15 +1726,22 @@ export class WorkspaceStarter {
* @returns
*/
protected async getImageBuilderClient(user: User, workspace: Workspace, instance?: WorkspaceInstance) {
const teams = await this.teamDB.findTeamsByUser(user.id);
const isMovedImageBuilder = await getExperimentsClientForBackend().getValueAsync("movedImageBuilder", false, {
userId: user.id,
projectId: workspace.projectId,
teams,
});
log.info(
{ userId: user.id, workspaceId: workspace.id, instanceId: instance?.id },
"image-builder in workspace cluster?",
{
userId: user.id,
projectId: workspace.projectId,
isMovedImageBuilder,
},
);
if (isMovedImageBuilder) {
log.info(
{ userId: user.id, workspaceId: workspace.id, instanceId: instance?.id },
"Used image-builder in workspace cluster",
);
return this.wsClusterImageBuilderClientProvider.getClient(user, workspace, instance);
} else {
return this.imagebuilderClientProvider.getClient(user, workspace, instance);
Expand Down

0 comments on commit c94a699

Please sign in to comment.