diff --git a/server-mirror-git/src/main/java/com/linecorp/centraldogma/server/internal/mirror/GitMirrorProvider.java b/server-mirror-git/src/main/java/com/linecorp/centraldogma/server/internal/mirror/GitMirrorProvider.java index 58e362e5c..0d1dd4033 100644 --- a/server-mirror-git/src/main/java/com/linecorp/centraldogma/server/internal/mirror/GitMirrorProvider.java +++ b/server-mirror-git/src/main/java/com/linecorp/centraldogma/server/internal/mirror/GitMirrorProvider.java @@ -25,6 +25,10 @@ import java.net.URI; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import com.linecorp.centraldogma.server.internal.credential.SshKeyCredential; import com.linecorp.centraldogma.server.mirror.Mirror; import com.linecorp.centraldogma.server.mirror.MirrorContext; import com.linecorp.centraldogma.server.mirror.MirrorProvider; @@ -32,6 +36,8 @@ public final class GitMirrorProvider implements MirrorProvider { + private static final Logger logger = LoggerFactory.getLogger(GitMirrorProvider.class); + @Override public Mirror newMirror(MirrorContext context) { requireNonNull(context, "context"); @@ -44,6 +50,10 @@ public Mirror newMirror(MirrorContext context) { switch (scheme) { case SCHEME_GIT_SSH: { + if (!(context.credential() instanceof SshKeyCredential)) { + logger.debug("'{}': SSH mirror requires an SSH_KEY credential, " + + "but got: {}", context.id(), context.credential().type()); + } final RepositoryUri repositoryUri = RepositoryUri.parse(remoteUri, "git"); return new SshGitMirror(context.id(), context.enabled(), context.schedule(), context.direction(), context.credential(), diff --git a/server-mirror-git/src/main/java/com/linecorp/centraldogma/server/internal/mirror/SshGitMirror.java b/server-mirror-git/src/main/java/com/linecorp/centraldogma/server/internal/mirror/SshGitMirror.java index 9c9e850b7..d860da71d 100644 --- a/server-mirror-git/src/main/java/com/linecorp/centraldogma/server/internal/mirror/SshGitMirror.java +++ b/server-mirror-git/src/main/java/com/linecorp/centraldogma/server/internal/mirror/SshGitMirror.java @@ -101,10 +101,6 @@ final class SshGitMirror extends AbstractGitMirror { super(id, enabled, schedule, direction, credential, localRepo, localPath, remoteUri, gitignore, zone); this.trustedHostKeys = requireNonNull(trustedHostKeys, "trustedHostKeys"); - if (!(credential instanceof SshKeyCredential)) { - throw new MirrorException( - "SSH mirror requires an SSH_KEY credential, but got: " + credential.type()); - } } @Override diff --git a/server/src/main/java/com/linecorp/centraldogma/server/internal/storage/repository/DefaultMetaRepository.java b/server/src/main/java/com/linecorp/centraldogma/server/internal/storage/repository/DefaultMetaRepository.java index 4c87b8bb2..0420809b2 100644 --- a/server/src/main/java/com/linecorp/centraldogma/server/internal/storage/repository/DefaultMetaRepository.java +++ b/server/src/main/java/com/linecorp/centraldogma/server/internal/storage/repository/DefaultMetaRepository.java @@ -189,9 +189,9 @@ private CompletableFuture> handleAllMirrors(Map> e } catch (Exception e) { // Skip a malformed mirror so that a single bad mirror does not // prevent the rest of the mirrors from being loaded. - logger.debug("Failed to convert a mirror configuration to a mirror. " + - "project: {}, mirror: {}", parent().name(), mirrorConfig, - e); + logger.warn("Failed to convert a mirror configuration to a mirror. " + + "project: {}, mirror: {}", parent().name(), mirrorConfig, + e); return null; } })