diff --git a/java/google/registry/backup/BUILD b/java/google/registry/backup/BUILD index f0e255e14..8310802f3 100644 --- a/java/google/registry/backup/BUILD +++ b/java/google/registry/backup/BUILD @@ -12,6 +12,7 @@ java_library( "//java/google/registry/cron", "//java/google/registry/model", "//java/google/registry/request", + "//java/google/registry/request/auth", "//java/google/registry/util", "//third_party/java/objectify:objectify-v4_1", "@com_google_appengine_api_1_0_sdk", diff --git a/java/google/registry/backup/RestoreCommitLogsAction.java b/java/google/registry/backup/RestoreCommitLogsAction.java index e7851d926..02fe955e9 100644 --- a/java/google/registry/backup/RestoreCommitLogsAction.java +++ b/java/google/registry/backup/RestoreCommitLogsAction.java @@ -41,6 +41,8 @@ import google.registry.model.ofy.CommitLogManifest; import google.registry.model.ofy.CommitLogMutation; import google.registry.request.Action; import google.registry.request.Parameter; +import google.registry.request.auth.Auth; +import google.registry.request.auth.AuthLevel; import google.registry.util.FormattingLogger; import google.registry.util.Retrier; import java.io.IOException; @@ -59,7 +61,14 @@ import org.joda.time.DateTime; @Action( path = RestoreCommitLogsAction.PATH, method = Action.Method.POST, - automaticallyPrintOk = true) + automaticallyPrintOk = true, + auth = + @Auth( + methods = {Auth.AuthMethod.INTERNAL, Auth.AuthMethod.API}, + minimumLevel = AuthLevel.APP, + userPolicy = Auth.UserPolicy.ADMIN + ) +) public class RestoreCommitLogsAction implements Runnable { private static final FormattingLogger logger = FormattingLogger.getLoggerForCallerClass(); diff --git a/java/google/registry/env/common/backend/WEB-INF/web.xml b/java/google/registry/env/common/backend/WEB-INF/web.xml index 25709be7e..4f6547cd3 100644 --- a/java/google/registry/env/common/backend/WEB-INF/web.xml +++ b/java/google/registry/env/common/backend/WEB-INF/web.xml @@ -181,12 +181,6 @@ /_dr/task/exportCommitLogDiff - - - backend-servlet - /_dr/task/restoreCommitLogs - - backend-servlet diff --git a/java/google/registry/env/common/tools/WEB-INF/web.xml b/java/google/registry/env/common/tools/WEB-INF/web.xml index b90c54ef8..e3f97b9c3 100644 --- a/java/google/registry/env/common/tools/WEB-INF/web.xml +++ b/java/google/registry/env/common/tools/WEB-INF/web.xml @@ -84,6 +84,12 @@ /_dr/task/killAllCommitLogs + + + tools-servlet + /_dr/task/restoreCommitLogs + + mapreduce diff --git a/java/google/registry/module/backend/BackendRequestComponent.java b/java/google/registry/module/backend/BackendRequestComponent.java index 626151a88..7eb860729 100644 --- a/java/google/registry/module/backend/BackendRequestComponent.java +++ b/java/google/registry/module/backend/BackendRequestComponent.java @@ -20,7 +20,6 @@ import google.registry.backup.BackupModule; import google.registry.backup.CommitLogCheckpointAction; import google.registry.backup.DeleteOldCommitLogsAction; import google.registry.backup.ExportCommitLogDiffAction; -import google.registry.backup.RestoreCommitLogsAction; import google.registry.batch.BatchModule; import google.registry.batch.DeleteContactsAndHostsAction; import google.registry.batch.DeleteProberDataAction; @@ -127,7 +126,6 @@ interface BackendRequestComponent { RdeReporter rdeReporter(); RefreshDnsAction refreshDnsAction(); RefreshDnsOnHostRenameAction refreshDnsOnHostRenameAction(); - RestoreCommitLogsAction restoreCommitLogsAction(); SyncGroupMembersAction syncGroupMembersAction(); SyncRegistrarsSheetAction syncRegistrarsSheetAction(); TldFanoutAction tldFanoutAction(); diff --git a/java/google/registry/module/tools/BUILD b/java/google/registry/module/tools/BUILD index 818c6f0bc..0b0a40fe7 100644 --- a/java/google/registry/module/tools/BUILD +++ b/java/google/registry/module/tools/BUILD @@ -8,6 +8,7 @@ java_library( name = "tools", srcs = glob(["*.java"]), deps = [ + "//java/google/registry/backup", "//java/google/registry/config", "//java/google/registry/dns", "//java/google/registry/export", diff --git a/java/google/registry/module/tools/ToolsRequestComponent.java b/java/google/registry/module/tools/ToolsRequestComponent.java index cf0eb2db9..35bf93afb 100644 --- a/java/google/registry/module/tools/ToolsRequestComponent.java +++ b/java/google/registry/module/tools/ToolsRequestComponent.java @@ -16,6 +16,8 @@ package google.registry.module.tools; import dagger.Module; import dagger.Subcomponent; +import google.registry.backup.BackupModule; +import google.registry.backup.RestoreCommitLogsAction; import google.registry.dns.DnsModule; import google.registry.export.PublishDetailReportAction; import google.registry.flows.EppToolAction; @@ -50,6 +52,7 @@ import google.registry.tools.server.javascrap.RefreshAllDomainsAction; @RequestScope @Subcomponent( modules = { + BackupModule.class, DnsModule.class, EppToolModule.class, LoadTestModule.class, @@ -77,6 +80,7 @@ interface ToolsRequestComponent { PublishDetailReportAction publishDetailReportAction(); RefreshAllDomainsAction refreshAllDomainsAction(); ResaveAllEppResourcesAction resaveAllEppResourcesAction(); + RestoreCommitLogsAction restoreCommitLogsAction(); UpdatePremiumListAction updatePremiumListAction(); VerifyOteAction verifyOteAction();