fixup! Provision git credentiols secrets on workspace start

pull/527/head
Igor Vinokur 2023-06-20 12:19:12 +03:00
parent c876c5b69a
commit d62e2f143f
2 changed files with 10 additions and 10 deletions

View File

@ -153,7 +153,6 @@ public class KubernetesPersonalAccessTokenManager implements PersonalAccessToken
UnsatisfiedScmPreconditionException {
Subject subject = EnvironmentContext.getCurrent().getSubject();
Optional<PersonalAccessToken> tokenOptional = get(subject, scmServerUrl);
PersonalAccessToken personalAccessToken;
if (tokenOptional.isPresent()) {
return tokenOptional.get();
} else {

View File

@ -15,7 +15,6 @@ import com.google.common.collect.ImmutableMap;
import io.fabric8.kubernetes.api.model.Secret;
import java.util.Base64;
import java.util.Map;
import java.util.Optional;
import javax.inject.Inject;
import javax.inject.Singleton;
import org.eclipse.che.api.factory.server.scm.PersonalAccessTokenManager;
@ -58,17 +57,19 @@ public class CredentialsSecretConfigurator implements NamespaceConfigurator {
public void configure(NamespaceResolutionContext namespaceResolutionContext, String namespaceName)
throws InfrastructureException {
var client = cheServerKubernetesClientFactory.create();
Optional<Secret> mergedCredentialsSecret =
client.secrets().inNamespace(namespaceName).list().getItems().stream()
.filter(s -> s.getMetadata().getName().equals(MERGED_GIT_CREDENTIALS_SECRET_NAME))
.findAny();
Secret mergedCredentialsSecret =
client
.secrets()
.inNamespace(namespaceName)
.withName(MERGED_GIT_CREDENTIALS_SECRET_NAME)
.get();
client.secrets().inNamespace(namespaceName).withLabels(SEARCH_LABELS).list().getItems().stream()
.filter(
s ->
mergedCredentialsSecret.isEmpty()
|| !getCredentialsData(mergedCredentialsSecret.get(), "credentials")
.contains(getCredentialsData(s, "token")))
mergedCredentialsSecret == null
|| !getSecretData(mergedCredentialsSecret, "credentials")
.contains(getSecretData(s, "token")))
.forEach(
s -> {
try {
@ -83,7 +84,7 @@ public class CredentialsSecretConfigurator implements NamespaceConfigurator {
});
}
private String getCredentialsData(Secret secret, String key) {
private String getSecretData(Secret secret, String key) {
return new String(Base64.getDecoder().decode(secret.getData().get(key).getBytes()));
}
}