Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merge api-devfile and api-workspace together #13417

Merged
merged 33 commits into from
May 31, 2019
Merged
Show file tree
Hide file tree
Changes from 13 commits
Commits
Show all changes
33 commits
Select commit Hold shift + click to select a range
8380b7c
Merge api-devfile and api-workspace together and put
metlos May 24, 2019
523cf6e
Fix KubernetesEnvironmentProvisionerTest
metlos May 24, 2019
35a7f16
Fix KubernetesComponentToWorkspaceApplierTest
metlos May 24, 2019
8ede95c
Fix test
mshaposhnik May 24, 2019
6361d4e
Fix KubernetesComponentIntegrityValidatorTest
metlos May 24, 2019
42cd566
Fix OpenshiftComponentToWorkspaceApplierTest
metlos May 24, 2019
dea6f55
Fix review comments
mshaposhnik May 27, 2019
1c913e6
Review fixups
mshaposhnik May 28, 2019
44ea7d3
Merge remote-tracking branch 'upstream/master' into validate-workspac…
metlos May 28, 2019
327a41d
Updating to work on the lastest master.
metlos May 28, 2019
c01fba1
Pick up versions from the dep management.
metlos May 28, 2019
711bbb5
Fix container search to correctly ignore empty parent selector
metlos May 28, 2019
a2d24aa
Added happy-path tests for the KubernetesComponentIntegrityValidatorTest
metlos May 28, 2019
e09cd21
Typos
metlos May 29, 2019
b60a147
Minor review fixups
mshaposhnik May 29, 2019
8f88534
review fixup
mshaposhnik May 29, 2019
23edc59
Remove the test that is now duplicated after devfile -> workspace merge.
metlos May 29, 2019
f9f2a5d
Correct the way we bind ComponentProvisioner instances
metlos May 29, 2019
316787c
workspace.devfile.server -> workspace.server.devfile
metlos May 29, 2019
74c4f95
Add a short not in the javadoc on why dockerimage devfile components
metlos May 29, 2019
797becb
reflect the removal of api-devfile module in the CODEOWNERS
metlos May 29, 2019
5a19037
Remove DevfileToWorkspaceConfigConverter interface. It is no longer n…
metlos May 29, 2019
8c6633d
Fix javadoc reference
metlos May 29, 2019
a6fadcf
Remove unneeded binding.
metlos May 29, 2019
3e2303c
Merge remote-tracking branch 'upstream/master' into validate-workspac…
metlos May 29, 2019
8db8506
Fixup build & chande jsoon dependency
mshaposhnik May 29, 2019
e1e304c
Fixup exlude
mshaposhnik May 29, 2019
edeb92c
Restore ASM 5
mshaposhnik May 29, 2019
50aac50
Switch to asm 7 temporarily
mshaposhnik May 29, 2019
a59ff49
Remove version from POM
mshaposhnik May 29, 2019
346a931
Signed-off-by: Lukas Krejci <lkrejci@redhat.com>
metlos May 30, 2019
5d69ce4
Exclude javax.json-api from the justify deps because the classes are
metlos May 30, 2019
5427279
Register all devfile-related bindings also in the openshift module.
metlos May 30, 2019
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 0 additions & 4 deletions assembly/assembly-wsmaster-war/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -157,10 +157,6 @@
<groupId>org.eclipse.che.core</groupId>
<artifactId>che-core-api-core</artifactId>
</dependency>
<dependency>
<groupId>org.eclipse.che.core</groupId>
<artifactId>che-core-api-devfile</artifactId>
</dependency>
<dependency>
<groupId>org.eclipse.che.core</groupId>
<artifactId>che-core-api-factory</artifactId>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,6 @@
import org.eclipse.che.api.core.rest.MessageBodyAdapter;
import org.eclipse.che.api.core.rest.MessageBodyAdapterInterceptor;
import org.eclipse.che.api.deploy.jsonrpc.CheJsonRpcWebSocketConfigurationModule;
import org.eclipse.che.api.devfile.server.DevfileModule;
import org.eclipse.che.api.factory.server.FactoryAcceptValidator;
import org.eclipse.che.api.factory.server.FactoryCreateValidator;
import org.eclipse.che.api.factory.server.FactoryEditValidator;
Expand All @@ -48,6 +47,7 @@
import org.eclipse.che.api.user.server.jpa.JpaUserDao;
import org.eclipse.che.api.user.server.spi.PreferenceDao;
import org.eclipse.che.api.user.server.spi.UserDao;
import org.eclipse.che.api.workspace.devfile.server.DevfileModule;
import org.eclipse.che.api.workspace.server.WorkspaceLockService;
import org.eclipse.che.api.workspace.server.WorkspaceStatusCache;
import org.eclipse.che.api.workspace.server.hc.ServersCheckerFactory;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ public final class FindDynaModuleVisitor extends ClassVisitor {

/** Default constructor. */
public FindDynaModuleVisitor() {
super(Opcodes.ASM5);
super(Opcodes.ASM7);
}

/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,9 @@
*/
package org.eclipse.che.workspace.infrastructure.kubernetes;

import static com.google.inject.name.Names.named;
import static org.eclipse.che.api.workspace.devfile.server.Constants.DOCKERIMAGE_COMPONENT_TYPE;
import static org.eclipse.che.api.workspace.devfile.server.Constants.KUBERNETES_COMPONENT_TYPE;
import static org.eclipse.che.workspace.infrastructure.kubernetes.namespace.pvc.CommonPVCStrategy.COMMON_STRATEGY;
import static org.eclipse.che.workspace.infrastructure.kubernetes.namespace.pvc.PerWorkspacePVCStrategy.PER_WORKSPACE_STRATEGY;
import static org.eclipse.che.workspace.infrastructure.kubernetes.namespace.pvc.UniqueWorkspacePVCStrategy.UNIQUE_STRATEGY;
Expand All @@ -25,6 +28,8 @@
import com.google.inject.multibindings.Multibinder;
import java.util.Map;
import org.eclipse.che.api.system.server.ServiceTermination;
import org.eclipse.che.api.workspace.devfile.server.DevfileBindings;
import org.eclipse.che.api.workspace.devfile.server.validator.ComponentIntegrityValidator.NoopComponentIntegrityValidator;
import org.eclipse.che.api.workspace.server.NoEnvironmentFactory;
import org.eclipse.che.api.workspace.server.spi.RuntimeInfrastructure;
import org.eclipse.che.api.workspace.server.spi.environment.InternalEnvironmentFactory;
Expand All @@ -37,6 +42,12 @@
import org.eclipse.che.workspace.infrastructure.docker.environment.dockerimage.DockerImageEnvironmentFactory;
import org.eclipse.che.workspace.infrastructure.kubernetes.bootstrapper.KubernetesBootstrapperFactory;
import org.eclipse.che.workspace.infrastructure.kubernetes.cache.jpa.JpaKubernetesRuntimeCacheModule;
import org.eclipse.che.workspace.infrastructure.kubernetes.devfile.DockerimageComponentProvisioner;
import org.eclipse.che.workspace.infrastructure.kubernetes.devfile.DockerimageComponentToWorkspaceApplier;
import org.eclipse.che.workspace.infrastructure.kubernetes.devfile.KubernetesComponentProvisioner;
import org.eclipse.che.workspace.infrastructure.kubernetes.devfile.KubernetesComponentToWorkspaceApplier;
import org.eclipse.che.workspace.infrastructure.kubernetes.devfile.KubernetesComponentValidator;
import org.eclipse.che.workspace.infrastructure.kubernetes.devfile.KubernetesDevfileBindings;
import org.eclipse.che.workspace.infrastructure.kubernetes.environment.KubernetesEnvironment;
import org.eclipse.che.workspace.infrastructure.kubernetes.environment.KubernetesEnvironmentFactory;
import org.eclipse.che.workspace.infrastructure.kubernetes.namespace.RemoveNamespaceOnWorkspaceRemove;
Expand Down Expand Up @@ -133,7 +144,7 @@ protected void configure() {
envVarProviders.addBinding().to(LogsRootEnvVariableProvider.class);

bind(new TypeLiteral<Map<String, String>>() {})
.annotatedWith(com.google.inject.name.Names.named("infra.kubernetes.ingress.annotations"))
.annotatedWith(named("infra.kubernetes.ingress.annotations"))
.toProvider(IngressAnnotationsProvider.class);

install(new JpaKubernetesRuntimeCacheModule());
Expand Down Expand Up @@ -168,5 +179,35 @@ protected void configure() {

bind(SidecarToolingProvisioner.class)
.to(new TypeLiteral<SidecarToolingProvisioner<KubernetesEnvironment>>() {});

DevfileBindings.onComponentIntegrityValidatorBinder(
binder(),
binder -> {
binder.addBinding(KUBERNETES_COMPONENT_TYPE).to(KubernetesComponentValidator.class);
binder.addBinding(DOCKERIMAGE_COMPONENT_TYPE).to(NoopComponentIntegrityValidator.class);
});

DevfileBindings.onWorkspaceApplierBinder(
binder(),
binder -> {
binder
.addBinding(KUBERNETES_COMPONENT_TYPE)
.to(KubernetesComponentToWorkspaceApplier.class);
binder
.addBinding(DOCKERIMAGE_COMPONENT_TYPE)
.to(DockerimageComponentToWorkspaceApplier.class);
});

DevfileBindings.onComponentProvisionerBinder(
binder(),
binder -> {
binder.addBinding(KUBERNETES_COMPONENT_TYPE).to(KubernetesComponentProvisioner.class);
binder.addBinding(DOCKERIMAGE_COMPONENT_TYPE).to(DockerimageComponentProvisioner.class);
});

KubernetesDevfileBindings.addKubernetesBasedEnvironmentTypeBidings(
binder(), KubernetesEnvironment.TYPE);
KubernetesDevfileBindings.addKubernetesBasedComponentTypeBidings(
binder(), KUBERNETES_COMPONENT_TYPE);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
* Contributors:
* Red Hat, Inc. - initial API and implementation
*/
package org.eclipse.che.api.devfile.server.convert.component.kubernetes;
package org.eclipse.che.workspace.infrastructure.kubernetes.devfile;

import static java.util.stream.Collectors.toList;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,12 +9,12 @@
* Contributors:
* Red Hat, Inc. - initial API and implementation
*/
package org.eclipse.che.api.devfile.server.convert.component.dockerimage;
package org.eclipse.che.workspace.infrastructure.kubernetes.devfile;

import static com.google.common.base.Preconditions.checkArgument;
import static org.eclipse.che.api.core.model.workspace.config.MachineConfig.MEMORY_LIMIT_ATTRIBUTE;
import static org.eclipse.che.api.devfile.server.Constants.DOCKERIMAGE_COMPONENT_TYPE;
import static org.eclipse.che.api.devfile.server.Constants.PUBLIC_ENDPOINT_ATTRIBUTE;
import static org.eclipse.che.api.workspace.devfile.server.Constants.DOCKERIMAGE_COMPONENT_TYPE;
import static org.eclipse.che.api.workspace.devfile.server.Constants.PUBLIC_ENDPOINT_ATTRIBUTE;
import static org.eclipse.che.api.workspace.shared.Constants.PROJECTS_VOLUME_NAME;

import java.util.HashMap;
Expand All @@ -25,8 +25,8 @@
import javax.inject.Inject;
import org.eclipse.che.api.core.model.workspace.config.MachineConfig;
import org.eclipse.che.api.core.model.workspace.config.ServerConfig;
import org.eclipse.che.api.devfile.server.convert.component.ComponentProvisioner;
import org.eclipse.che.api.devfile.server.exception.WorkspaceExportException;
import org.eclipse.che.api.workspace.devfile.server.convert.component.ComponentProvisioner;
import org.eclipse.che.api.workspace.devfile.server.exception.WorkspaceExportException;
import org.eclipse.che.api.workspace.server.model.impl.EnvironmentImpl;
import org.eclipse.che.api.workspace.server.model.impl.MachineConfigImpl;
import org.eclipse.che.api.workspace.server.model.impl.RecipeImpl;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,16 +9,16 @@
* Contributors:
* Red Hat, Inc. - initial API and implementation
*/
package org.eclipse.che.api.devfile.server.convert.component.dockerimage;
package org.eclipse.che.workspace.infrastructure.kubernetes.devfile;
metlos marked this conversation as resolved.
Show resolved Hide resolved

import static com.google.common.base.Preconditions.checkArgument;
import static com.google.common.base.Strings.isNullOrEmpty;
import static java.lang.String.format;
import static java.util.Collections.singletonList;
import static org.eclipse.che.api.core.model.workspace.config.Command.MACHINE_NAME_ATTRIBUTE;
import static org.eclipse.che.api.devfile.server.Constants.DISCOVERABLE_ENDPOINT_ATTRIBUTE;
import static org.eclipse.che.api.devfile.server.Constants.DOCKERIMAGE_COMPONENT_TYPE;
import static org.eclipse.che.api.devfile.server.Constants.PUBLIC_ENDPOINT_ATTRIBUTE;
import static org.eclipse.che.api.workspace.devfile.server.Constants.DISCOVERABLE_ENDPOINT_ATTRIBUTE;
import static org.eclipse.che.api.workspace.devfile.server.Constants.DOCKERIMAGE_COMPONENT_TYPE;
import static org.eclipse.che.api.workspace.devfile.server.Constants.PUBLIC_ENDPOINT_ATTRIBUTE;
import static org.eclipse.che.api.workspace.shared.Constants.PROJECTS_VOLUME_NAME;
import static org.eclipse.che.workspace.infrastructure.kubernetes.Constants.MACHINE_NAME_ANNOTATION_FMT;

Expand All @@ -43,11 +43,10 @@
import org.eclipse.che.api.core.model.workspace.config.ServerConfig;
import org.eclipse.che.api.core.model.workspace.devfile.Component;
import org.eclipse.che.api.core.model.workspace.devfile.Endpoint;
import org.eclipse.che.api.devfile.server.Constants;
import org.eclipse.che.api.devfile.server.FileContentProvider;
import org.eclipse.che.api.devfile.server.convert.component.ComponentToWorkspaceApplier;
import org.eclipse.che.api.devfile.server.convert.component.kubernetes.KubernetesEnvironmentProvisioner;
import org.eclipse.che.api.devfile.server.exception.DevfileException;
import org.eclipse.che.api.workspace.devfile.server.Constants;
import org.eclipse.che.api.workspace.devfile.server.FileContentProvider;
import org.eclipse.che.api.workspace.devfile.server.convert.component.ComponentToWorkspaceApplier;
import org.eclipse.che.api.workspace.devfile.server.exception.DevfileException;
import org.eclipse.che.api.workspace.server.model.impl.MachineConfigImpl;
import org.eclipse.che.api.workspace.server.model.impl.ServerConfigImpl;
import org.eclipse.che.api.workspace.server.model.impl.VolumeImpl;
Expand Down Expand Up @@ -201,7 +200,7 @@ private Deployment buildDeployment(
.withNewMetadata()
.withName(name)
.addToLabels(CHE_COMPONENT_NAME_LABEL, name)
.addToAnnotations(String.format(MACHINE_NAME_ANNOTATION_FMT, name), name)
.addToAnnotations(format(MACHINE_NAME_ANNOTATION_FMT, name), name)
.endMetadata()
.withNewSpec()
.withContainers(container)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,20 +9,22 @@
* Contributors:
* Red Hat, Inc. - initial API and implementation
*/
package org.eclipse.che.api.devfile.server.convert.component.kubernetes;
package org.eclipse.che.workspace.infrastructure.kubernetes.devfile;

import static com.google.common.base.Preconditions.checkArgument;
import static java.lang.String.format;

import com.google.inject.name.Named;
import java.util.List;
import java.util.Map.Entry;
import java.util.Set;
import java.util.stream.Collectors;
import org.eclipse.che.api.devfile.server.convert.component.ComponentProvisioner;
import org.eclipse.che.api.devfile.server.exception.WorkspaceExportException;
import javax.inject.Inject;
import org.eclipse.che.api.workspace.devfile.server.convert.component.ComponentProvisioner;
import org.eclipse.che.api.workspace.devfile.server.exception.WorkspaceExportException;
import org.eclipse.che.api.workspace.server.model.impl.EnvironmentImpl;
import org.eclipse.che.api.workspace.server.model.impl.WorkspaceConfigImpl;
import org.eclipse.che.api.workspace.server.model.impl.devfile.DevfileImpl;
import org.eclipse.che.workspace.infrastructure.kubernetes.environment.KubernetesEnvironment;
import org.eclipse.che.workspace.infrastructure.openshift.environment.OpenShiftEnvironment;

/**
* Provision kubernetes/openshift component in {@link DevfileImpl} according to the value of
Expand All @@ -33,6 +35,15 @@
*/
public class KubernetesComponentProvisioner implements ComponentProvisioner {

private final Set<String> handledEnvironmentTypes;

@Inject
public KubernetesComponentProvisioner(
@Named(KubernetesDevfileBindings.KUBERNETES_BASED_ENVIRONMENTS_KEY_NAME)
Set<String> handledEnvironmentTypes) {
this.handledEnvironmentTypes = handledEnvironmentTypes;
}

/**
* Provision kubernetes/openshift component in {@link DevfileImpl} according to the value of
* environment with kubernetes/openshift recipe if the specified {@link WorkspaceConfigImpl} has
Expand All @@ -58,24 +69,24 @@ public void provision(DevfileImpl devfile, WorkspaceConfigImpl workspaceConfig)
.getEnvironments()
.entrySet()
.stream()
.filter(
e ->
KubernetesEnvironment.TYPE.equals(e.getValue().getRecipe().getType())
|| OpenShiftEnvironment.TYPE.equals(e.getValue().getRecipe().getType()))
.filter(e -> handledEnvironmentTypes.contains(e.getValue().getRecipe().getType()))
.collect(Collectors.toList());

if (k8sEnvironments.isEmpty()) {
return;
}

if (k8sEnvironments.size() > 1) {
String allEnvs = String.join("/", handledEnvironmentTypes);

throw new WorkspaceExportException(
"Workspace with multiple `kubernetes`/`openshift` environments can not be converted to devfile");
format(
"Workspace with multiple %s environments can not be converted to devfile", allEnvs));
}

EnvironmentImpl env = k8sEnvironments.get(0).getValue();
throw new WorkspaceExportException(
String.format(
format(
"Exporting of workspace with `%s` is not supported yet.", env.getRecipe().getType()));
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -9,17 +9,16 @@
* Contributors:
* Red Hat, Inc. - initial API and implementation
*/
package org.eclipse.che.api.devfile.server.convert.component.kubernetes;
package org.eclipse.che.workspace.infrastructure.kubernetes.devfile;

import static com.google.common.base.Preconditions.checkArgument;
import static com.google.common.base.Strings.isNullOrEmpty;
import static java.lang.String.format;
import static java.util.Collections.emptyMap;
import static java.util.stream.Collectors.toList;
import static org.eclipse.che.api.core.model.workspace.config.Command.MACHINE_NAME_ATTRIBUTE;
import static org.eclipse.che.api.devfile.server.Components.getIdentifiableComponentName;
import static org.eclipse.che.api.devfile.server.Constants.KUBERNETES_COMPONENT_TYPE;
import static org.eclipse.che.api.devfile.server.Constants.OPENSHIFT_COMPONENT_TYPE;
import static org.eclipse.che.api.workspace.devfile.server.Components.getIdentifiableComponentName;
import static org.eclipse.che.workspace.infrastructure.kubernetes.devfile.KubernetesDevfileBindings.KUBERNETES_BASED_COMPONENTS_KEY_NAME;

import io.fabric8.kubernetes.api.model.Container;
import io.fabric8.kubernetes.api.model.HasMetadata;
Expand All @@ -28,19 +27,22 @@
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import java.util.Set;
import javax.inject.Inject;
import javax.inject.Named;
import org.eclipse.che.api.core.model.workspace.WorkspaceConfig;
import org.eclipse.che.api.core.model.workspace.config.Command;
import org.eclipse.che.api.core.model.workspace.devfile.Component;
import org.eclipse.che.api.core.model.workspace.devfile.Entrypoint;
import org.eclipse.che.api.devfile.server.Constants;
import org.eclipse.che.api.devfile.server.DevfileRecipeFormatException;
import org.eclipse.che.api.devfile.server.FileContentProvider;
import org.eclipse.che.api.devfile.server.convert.component.ComponentToWorkspaceApplier;
import org.eclipse.che.api.devfile.server.exception.DevfileException;
import org.eclipse.che.api.workspace.devfile.server.Constants;
import org.eclipse.che.api.workspace.devfile.server.DevfileRecipeFormatException;
import org.eclipse.che.api.workspace.devfile.server.FileContentProvider;
import org.eclipse.che.api.workspace.devfile.server.convert.component.ComponentToWorkspaceApplier;
import org.eclipse.che.api.workspace.devfile.server.exception.DevfileException;
import org.eclipse.che.api.workspace.server.model.impl.WorkspaceConfigImpl;
import org.eclipse.che.commons.annotation.Nullable;
import org.eclipse.che.workspace.infrastructure.kubernetes.Names;
import org.eclipse.che.workspace.infrastructure.kubernetes.environment.KubernetesEnvironment;
import org.eclipse.che.workspace.infrastructure.kubernetes.environment.KubernetesEnvironment.PodData;
import org.eclipse.che.workspace.infrastructure.kubernetes.environment.KubernetesRecipeParser;

Expand All @@ -53,12 +55,30 @@ public class KubernetesComponentToWorkspaceApplier implements ComponentToWorkspa

private final KubernetesRecipeParser objectsParser;
private final KubernetesEnvironmentProvisioner k8sEnvProvisioner;
private final String environmentType;
private final Set<String> kubernetesBasedComponentTypes;

@Inject
public KubernetesComponentToWorkspaceApplier(
KubernetesRecipeParser objectsParser, KubernetesEnvironmentProvisioner k8sEnvProvisioner) {
KubernetesRecipeParser objectsParser,
KubernetesEnvironmentProvisioner k8sEnvProvisioner,
@Named(KUBERNETES_BASED_COMPONENTS_KEY_NAME) Set<String> kubernetesBasedComponentTypes) {
this(
objectsParser,
k8sEnvProvisioner,
KubernetesEnvironment.TYPE,
kubernetesBasedComponentTypes);
}

protected KubernetesComponentToWorkspaceApplier(
KubernetesRecipeParser objectsParser,
KubernetesEnvironmentProvisioner k8sEnvProvisioner,
String environmentType,
Set<String> kubernetesBasedComponentTypes) {
this.objectsParser = objectsParser;
this.k8sEnvProvisioner = k8sEnvProvisioner;
this.environmentType = environmentType;
this.kubernetesBasedComponentTypes = kubernetesBasedComponentTypes;
}

/**
Expand All @@ -84,11 +104,8 @@ public void apply(
checkArgument(workspaceConfig != null, "Workspace config must not be null");
checkArgument(k8sComponent != null, "Component must not be null");
checkArgument(
KUBERNETES_COMPONENT_TYPE.equals(k8sComponent.getType())
|| OPENSHIFT_COMPONENT_TYPE.equals(k8sComponent.getType()),
format(
"Plugin must have `%s` or `%s` type",
KUBERNETES_COMPONENT_TYPE, OPENSHIFT_COMPONENT_TYPE));
kubernetesBasedComponentTypes.contains(k8sComponent.getType()),
format("Plugin must have %s type", String.join(" or ", kubernetesBasedComponentTypes)));

String componentContent = retrieveContent(k8sComponent, contentProvider);

Expand All @@ -103,8 +120,7 @@ public void apply(

applyEntrypoints(k8sComponent.getEntrypoints(), componentObjects);

k8sEnvProvisioner.provision(
workspaceConfig, k8sComponent.getType(), componentObjects, emptyMap());
k8sEnvProvisioner.provision(workspaceConfig, environmentType, componentObjects, emptyMap());
}

private String retrieveContent(
Expand Down
Loading