From 363800bd869426a38f0c22d8f39d0002916ea1f8 Mon Sep 17 00:00:00 2001 From: Ben McIlwain Date: Wed, 5 Nov 2025 14:02:24 -0500 Subject: [PATCH] Remove App Engine build/environment scripts (#2870) It's been over half a year now since we last used any of these and we definitely no longer have any intentions of ever using App Engine again. BUG= http://b/457471639 --- .gitignore | 4 - appengine_war.gradle | 108 ------ build.gradle | 14 - .../alpha/backend/WEB-INF/appengine-web.xml | 28 -- .../env/alpha/bsa/WEB-INF/appengine-web.xml | 34 -- .../alpha/default/WEB-INF/appengine-web.xml | 30 -- .../alpha/pubapi/WEB-INF/appengine-web.xml | 31 -- .../env/alpha/tools/WEB-INF/appengine-web.xml | 31 -- .../common/META-INF/appengine-application.xml | 4 - .../env/common/META-INF/application.xml | 46 --- .../common/backend/WEB-INF/logging.properties | 17 - .../env/common/backend/WEB-INF/web.xml | 333 ------------------ .../env/common/bsa/WEB-INF/logging.properties | 17 - .../registry/env/common/bsa/WEB-INF/web.xml | 87 ----- .../env/common/default/WEB-INF/dispatch.xml | 28 -- .../common/default/WEB-INF/logging.properties | 17 - .../env/common/default/WEB-INF/web.xml | 66 ---- .../common/pubapi/WEB-INF/logging.properties | 17 - .../env/common/pubapi/WEB-INF/web.xml | 102 ------ .../common/tools/WEB-INF/logging.properties | 17 - .../registry/env/common/tools/WEB-INF/web.xml | 120 ------- .../crash/backend/WEB-INF/appengine-web.xml | 28 -- .../env/crash/bsa/WEB-INF/appengine-web.xml | 34 -- .../crash/default/WEB-INF/appengine-web.xml | 29 -- .../crash/pubapi/WEB-INF/appengine-web.xml | 31 -- .../env/crash/tools/WEB-INF/appengine-web.xml | 31 -- .../local/backend/WEB-INF/appengine-web.xml | 32 -- .../env/local/bsa/WEB-INF/appengine-web.xml | 32 -- .../local/default/WEB-INF/appengine-web.xml | 35 -- .../local/pubapi/WEB-INF/appengine-web.xml | 41 --- .../env/local/tools/WEB-INF/appengine-web.xml | 41 --- .../backend/WEB-INF/appengine-web.xml | 33 -- .../production/bsa/WEB-INF/appengine-web.xml | 39 -- .../default/WEB-INF/appengine-web.xml | 33 -- .../pubapi/WEB-INF/appengine-web.xml | 35 -- .../tools/WEB-INF/appengine-web.xml | 36 -- .../env/qa/backend/WEB-INF/appengine-web.xml | 33 -- .../env/qa/bsa/WEB-INF/appengine-web.xml | 39 -- .../env/qa/default/WEB-INF/appengine-web.xml | 37 -- .../env/qa/pubapi/WEB-INF/appengine-web.xml | 36 -- .../env/qa/tools/WEB-INF/appengine-web.xml | 36 -- .../sandbox/backend/WEB-INF/appengine-web.xml | 33 -- .../env/sandbox/bsa/WEB-INF/appengine-web.xml | 39 -- .../sandbox/default/WEB-INF/appengine-web.xml | 33 -- .../sandbox/pubapi/WEB-INF/appengine-web.xml | 35 -- .../sandbox/tools/WEB-INF/appengine-web.xml | 36 -- release/cloudbuild-deploy.yaml | 97 ----- 47 files changed, 2115 deletions(-) delete mode 100644 appengine_war.gradle delete mode 100644 core/src/main/java/google/registry/env/alpha/backend/WEB-INF/appengine-web.xml delete mode 100644 core/src/main/java/google/registry/env/alpha/bsa/WEB-INF/appengine-web.xml delete mode 100644 core/src/main/java/google/registry/env/alpha/default/WEB-INF/appengine-web.xml delete mode 100644 core/src/main/java/google/registry/env/alpha/pubapi/WEB-INF/appengine-web.xml delete mode 100644 core/src/main/java/google/registry/env/alpha/tools/WEB-INF/appengine-web.xml delete mode 100644 core/src/main/java/google/registry/env/common/META-INF/appengine-application.xml delete mode 100644 core/src/main/java/google/registry/env/common/META-INF/application.xml delete mode 100644 core/src/main/java/google/registry/env/common/backend/WEB-INF/logging.properties delete mode 100644 core/src/main/java/google/registry/env/common/backend/WEB-INF/web.xml delete mode 100644 core/src/main/java/google/registry/env/common/bsa/WEB-INF/logging.properties delete mode 100644 core/src/main/java/google/registry/env/common/bsa/WEB-INF/web.xml delete mode 100644 core/src/main/java/google/registry/env/common/default/WEB-INF/dispatch.xml delete mode 100644 core/src/main/java/google/registry/env/common/default/WEB-INF/logging.properties delete mode 100644 core/src/main/java/google/registry/env/common/default/WEB-INF/web.xml delete mode 100644 core/src/main/java/google/registry/env/common/pubapi/WEB-INF/logging.properties delete mode 100644 core/src/main/java/google/registry/env/common/pubapi/WEB-INF/web.xml delete mode 100644 core/src/main/java/google/registry/env/common/tools/WEB-INF/logging.properties delete mode 100644 core/src/main/java/google/registry/env/common/tools/WEB-INF/web.xml delete mode 100644 core/src/main/java/google/registry/env/crash/backend/WEB-INF/appengine-web.xml delete mode 100644 core/src/main/java/google/registry/env/crash/bsa/WEB-INF/appengine-web.xml delete mode 100644 core/src/main/java/google/registry/env/crash/default/WEB-INF/appengine-web.xml delete mode 100644 core/src/main/java/google/registry/env/crash/pubapi/WEB-INF/appengine-web.xml delete mode 100644 core/src/main/java/google/registry/env/crash/tools/WEB-INF/appengine-web.xml delete mode 100644 core/src/main/java/google/registry/env/local/backend/WEB-INF/appengine-web.xml delete mode 100644 core/src/main/java/google/registry/env/local/bsa/WEB-INF/appengine-web.xml delete mode 100644 core/src/main/java/google/registry/env/local/default/WEB-INF/appengine-web.xml delete mode 100644 core/src/main/java/google/registry/env/local/pubapi/WEB-INF/appengine-web.xml delete mode 100644 core/src/main/java/google/registry/env/local/tools/WEB-INF/appengine-web.xml delete mode 100644 core/src/main/java/google/registry/env/production/backend/WEB-INF/appengine-web.xml delete mode 100644 core/src/main/java/google/registry/env/production/bsa/WEB-INF/appengine-web.xml delete mode 100644 core/src/main/java/google/registry/env/production/default/WEB-INF/appengine-web.xml delete mode 100644 core/src/main/java/google/registry/env/production/pubapi/WEB-INF/appengine-web.xml delete mode 100644 core/src/main/java/google/registry/env/production/tools/WEB-INF/appengine-web.xml delete mode 100644 core/src/main/java/google/registry/env/qa/backend/WEB-INF/appengine-web.xml delete mode 100644 core/src/main/java/google/registry/env/qa/bsa/WEB-INF/appengine-web.xml delete mode 100644 core/src/main/java/google/registry/env/qa/default/WEB-INF/appengine-web.xml delete mode 100644 core/src/main/java/google/registry/env/qa/pubapi/WEB-INF/appengine-web.xml delete mode 100644 core/src/main/java/google/registry/env/qa/tools/WEB-INF/appengine-web.xml delete mode 100644 core/src/main/java/google/registry/env/sandbox/backend/WEB-INF/appengine-web.xml delete mode 100644 core/src/main/java/google/registry/env/sandbox/bsa/WEB-INF/appengine-web.xml delete mode 100644 core/src/main/java/google/registry/env/sandbox/default/WEB-INF/appengine-web.xml delete mode 100644 core/src/main/java/google/registry/env/sandbox/pubapi/WEB-INF/appengine-web.xml delete mode 100644 core/src/main/java/google/registry/env/sandbox/tools/WEB-INF/appengine-web.xml delete mode 100644 release/cloudbuild-deploy.yaml diff --git a/.gitignore b/.gitignore index dbe630864..92d5bac03 100644 --- a/.gitignore +++ b/.gitignore @@ -121,9 +121,5 @@ core/**/registrar_dbg*.js core/**/registrar_bin*.css core/**/registrar_dbg*.css -# Appengine generated files -core/WEB-INF/appengine-generated/*.bin -core/WEB-INF/appengine-generated/*.xml - # jEnv .java-version diff --git a/appengine_war.gradle b/appengine_war.gradle deleted file mode 100644 index a8f15eb11..000000000 --- a/appengine_war.gradle +++ /dev/null @@ -1,108 +0,0 @@ -// Copyright 2019 The Nomulus Authors. All Rights Reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -apply plugin: 'war' - -def environment = rootProject.environment -def gcpProject = rootProject.gcpProject - -// Set this directory before applying the appengine plugin so that the -// plugin will recognize this as an app-engine standard app (and also -// obtains the appengine-web.xml from the correct location) -project.convention.plugins['war'].webAppDirName = - "../../core/src/main/java/google/registry/env/${environment}/${project.name}" - -apply plugin: 'com.google.cloud.tools.appengine' - -def coreResourcesDir = "${rootDir}/core/build/resources/main" -def coreLibsDir = "${rootDir}/core/build/libs" - -// Get the web.xml file for the service. -war { - webInf { - from "../../core/src/main/java/google/registry/env/common/${project.name}/WEB-INF" - } -} - -war { - from("${coreResourcesDir}/google/registry/ui/html") { - include "*.html" - } - from("${coreLibsDir}") { - include "core.jar" - into("WEB-INF/lib") - } -} - -if (project.path == ":services:default") { - war { - from("${coreResourcesDir}/google/registry/ui/html") { - include "*.html" - into("registrar") - } - } -} - -appengine { - deploy { - // appengineDeployAll task requires the version to be set. So, - // this config lets gcloud select a version name when deploying - // to alpha or sandbox from our workstation. - if (!rootProject.prodOrSandboxEnv) { - version = 'GCLOUD_CONFIG' - } - - // Don't set gcpProject directly, it gets overriden in ./build.gradle. - // Do -P environment={crash,alpha} instead. For sandbox/production, - // use Spinnaker. - projectId = gcpProject - } -} - -dependencies { - implementation project(path: ':core', configuration: 'deploy_jar') -} - -// The tools.jar file gets pulled in from the java environment and for some -// reason gets exploded "readonly", causing subsequent builds to fail when -// they can't overwrite it. The hack below makes the file writable after -// we're done exploding it. -// -// Fun fact: We only use this jar for documentation generation and as such we -// don't need it in our warfile, as it is not used by the application at -// runtime. But it's not clear how to exclude it, as we seem to be -// constructing the jar from the entire WEB-INF directory and per-file -// exclude rules don't seem to work on it. Better solutions are welcome :-) -explodeWar.doLast { - file("${it.explodedAppDirectory}/WEB-INF/lib/tools.jar").setWritable(true) -} - -appengineDeployAll.mustRunAfter ':console-webapp:deploy' -appengineDeployAll.finalizedBy ':deployCloudSchedulerAndQueue' - -rootProject.stage.dependsOn appengineStage -tasks['war'].dependsOn ':core:processResources' -tasks['war'].dependsOn ':core:jar' - -// Impose verification for all of the deployment tasks. We haven't found a -// better way to do this other than to apply to each of them independently. -// If a new task gets added, it will still fail if "environment" is not defined -// because gcpProject is null. We just won't get as friendly an error message. -appengineDeployAll.configure rootProject.verifyDeploymentConfig -appengineDeploy.configure rootProject.verifyDeploymentConfig -appengineDeployCron.configure rootProject.verifyDeploymentConfig -appengineDeployDispatch.configure rootProject.verifyDeploymentConfig -appengineDeployDos.configure rootProject.verifyDeploymentConfig -appengineDeployIndex.configure rootProject.verifyDeploymentConfig -appengineDeployQueue.configure rootProject.verifyDeploymentConfig diff --git a/build.gradle b/build.gradle index ccc901697..d5c905e73 100644 --- a/build.gradle +++ b/build.gradle @@ -331,9 +331,6 @@ subprojects { // Set up all of the deployment projects. if (services.contains(project.path)) { - - apply from: "${rootDir.path}/appengine_war.gradle" - // Return early, do not apply the settings below. return } @@ -380,17 +377,6 @@ subprojects { } } -// Force SDK download and deployment to be sequential, otherwise parallel tasks -// will fail. For SDK download, they will try to write to the same location to -// upgrade gcloud. For deployment, they will try to deploy different services to -// the same project at the same time. -for (int i = 1; i < services.size(); i++) { - project("${services[i]}").downloadCloudSdk - .dependsOn(project("${services[i - 1]}").downloadCloudSdk) - project("${services[i]}").appengineDeployAll - .dependsOn(project("${services[i - 1]}").appengineDeployAll) -} - // If "-P verboseTestOutput=true" is passed in, configure all subprojects to dump all of their // output and final test status (pass/fail, errors) for each test class. // diff --git a/core/src/main/java/google/registry/env/alpha/backend/WEB-INF/appengine-web.xml b/core/src/main/java/google/registry/env/alpha/backend/WEB-INF/appengine-web.xml deleted file mode 100644 index e47d22319..000000000 --- a/core/src/main/java/google/registry/env/alpha/backend/WEB-INF/appengine-web.xml +++ /dev/null @@ -1,28 +0,0 @@ - - - - java21 - backend - true - true - B4 - - 100 - 10m - - - - - - - - - - - - - - - diff --git a/core/src/main/java/google/registry/env/alpha/bsa/WEB-INF/appengine-web.xml b/core/src/main/java/google/registry/env/alpha/bsa/WEB-INF/appengine-web.xml deleted file mode 100644 index c88bf64fc..000000000 --- a/core/src/main/java/google/registry/env/alpha/bsa/WEB-INF/appengine-web.xml +++ /dev/null @@ -1,34 +0,0 @@ - - - - java21 - bsa - true - true - B4 - - 100 - 10m - - - - - - - - - - - - - - projects/domain-registry-alpha/locations/us-central1/connectors/appengine-connector - all-traffic - - - - - - diff --git a/core/src/main/java/google/registry/env/alpha/default/WEB-INF/appengine-web.xml b/core/src/main/java/google/registry/env/alpha/default/WEB-INF/appengine-web.xml deleted file mode 100644 index aef316a24..000000000 --- a/core/src/main/java/google/registry/env/alpha/default/WEB-INF/appengine-web.xml +++ /dev/null @@ -1,30 +0,0 @@ - - - - java21 - default - true - true - B4 - - 8 - 30m - - - - - - - - - - - - - - - - - diff --git a/core/src/main/java/google/registry/env/alpha/pubapi/WEB-INF/appengine-web.xml b/core/src/main/java/google/registry/env/alpha/pubapi/WEB-INF/appengine-web.xml deleted file mode 100644 index 0ac8caf6f..000000000 --- a/core/src/main/java/google/registry/env/alpha/pubapi/WEB-INF/appengine-web.xml +++ /dev/null @@ -1,31 +0,0 @@ - - - - java21 - pubapi - true - true - B4 - - 8 - 10m - - - - - - - - - - - - - - - - - - diff --git a/core/src/main/java/google/registry/env/alpha/tools/WEB-INF/appengine-web.xml b/core/src/main/java/google/registry/env/alpha/tools/WEB-INF/appengine-web.xml deleted file mode 100644 index 559ea4829..000000000 --- a/core/src/main/java/google/registry/env/alpha/tools/WEB-INF/appengine-web.xml +++ /dev/null @@ -1,31 +0,0 @@ - - - - java21 - tools - true - true - B4 - - 5 - 5m - - - - - - - - - - - - - - - - - - diff --git a/core/src/main/java/google/registry/env/common/META-INF/appengine-application.xml b/core/src/main/java/google/registry/env/common/META-INF/appengine-application.xml deleted file mode 100644 index 80e311d68..000000000 --- a/core/src/main/java/google/registry/env/common/META-INF/appengine-application.xml +++ /dev/null @@ -1,4 +0,0 @@ - - - domain-registry - diff --git a/core/src/main/java/google/registry/env/common/META-INF/application.xml b/core/src/main/java/google/registry/env/common/META-INF/application.xml deleted file mode 100644 index 212039d73..000000000 --- a/core/src/main/java/google/registry/env/common/META-INF/application.xml +++ /dev/null @@ -1,46 +0,0 @@ - - - - - Google Registry - Google Registry - - - - - - default - default - - - - - pubapi - pubapi - - - - - backend - backend - - - - - bsa - bsa - - - - - tools - tools - - - diff --git a/core/src/main/java/google/registry/env/common/backend/WEB-INF/logging.properties b/core/src/main/java/google/registry/env/common/backend/WEB-INF/logging.properties deleted file mode 100644 index 9cbbe8099..000000000 --- a/core/src/main/java/google/registry/env/common/backend/WEB-INF/logging.properties +++ /dev/null @@ -1,17 +0,0 @@ -# A default java.util.logging configuration. -# (All App Engine logging is through java.util.logging by default). -# -# To use this configuration, copy it into your application's WEB-INF -# folder and add the following to your appengine-web.xml: -# -# -# -# -# - -# Set the default logging level for all loggers to INFO. -.level = INFO - -# Turn off logging in Hibernate classes for misleading ERROR-level logs -org.hibernate.orm.jdbc.batch.level=OFF -org.hibernate.engine.jdbc.spi.SqlExceptionHelper.level=OFF diff --git a/core/src/main/java/google/registry/env/common/backend/WEB-INF/web.xml b/core/src/main/java/google/registry/env/common/backend/WEB-INF/web.xml deleted file mode 100644 index 34a3e65ee..000000000 --- a/core/src/main/java/google/registry/env/common/backend/WEB-INF/web.xml +++ /dev/null @@ -1,333 +0,0 @@ - - - - - - BackendServlet - backend-servlet - google.registry.module.backend.BackendServlet - 1 - - - - - - - backend-servlet - /_dr/task/rdeStaging - - - - - backend-servlet - /_dr/task/rdeUpload - - - - - backend-servlet - /_dr/task/rdeReport - - - - - backend-servlet - /_dr/task/brdaCopy - - - - - - - backend-servlet - /_dr/task/generateInvoices - - - - - backend-servlet - /_dr/task/publishInvoices - - - - - backend-servlet - /_dr/task/copyDetailReports - - - - - - - backend-servlet - /_dr/task/icannReportingStaging - - - - - backend-servlet - /_dr/task/icannReportingUpload - - - - - backend-servlet - /_dr/task/generateSpec11 - - - - - backend-servlet - /_dr/task/publishSpec11 - - - - - - - backend-servlet - /_dr/task/tmchDnl - - - - - backend-servlet - /_dr/task/tmchSmdrl - - - - - backend-servlet - /_dr/task/tmchCrl - - - - - backend-servlet - /_dr/task/nordnUpload - - - - - backend-servlet - /_dr/task/nordnVerify - - - - - backend-servlet - /_dr/task/readDnsRefreshRequests - - - - - backend-servlet - /_dr/task/publishDnsUpdates - - - - - backend-servlet - /_dr/task/dnsRefresh - - - - - backend-servlet - /_dr/cron/fanout - - - - - backend-servlet - /_dr/task/syncRegistrarsSheet - - - - - backend-servlet - /_dr/task/exportPremiumTerms - - - - - backend-servlet - /_dr/task/exportReservedTerms - - - - - backend-servlet - /_dr/task/syncGroupMembers - - - - backend-servlet - /_dr/task/exportDomainLists - - - - - backend-servlet - /_dr/task/deleteProberData - - - - - backend-servlet - /_dr/task/deleteLoadTestData - - - - - backend-servlet - /_dr/task/resaveAllEppResourcesPipeline - - - - - backend-servlet - /_dr/task/updateRegistrarRdapBaseUrls - - - - - backend-servlet - /_dr/task/resaveEntity - - - - - backend-servlet - /_dr/task/refreshDnsOnHostRename - - - - - backend-servlet - /_dr/task/expandBillingRecurrences - - - - - backend-servlet - /_dr/task/deleteExpiredDomains - - - - - backend-servlet - /_dr/task/sendExpiringCertificateNotificationEmail - - - - - backend-servlet - /_dr/task/relockDomain - - - - - backend-servlet - /_dr/task/wipeOutContactHistoryPii - - - - - backend-servlet - /_dr/task/wipeOutCloudSql - - - - - backend-servlet - /_dr/task/executeCannedScript - - - - - - Internal - - Admin-only internal section. Requests for paths covered by the URL patterns below will be - checked for a logged-in user account that's allowed to access the AppEngine admin console - (NOTE: this includes Editor/Viewer permissions in addition to Owner and the new IAM - App Engine Admin role. See https://cloud.google.com/appengine/docs/java/access-control - specifically the "Access handlers that have a login:admin restriction" line.) - - TODO(b/28219927): lift some of these restrictions so that we can allow OAuth authentication - for endpoints that need to be accessed by open-source automated processes. - - - - /_ah/* - - - /registrar* - - - /assets/sources/* - - - - admin - - - - - CONFIDENTIAL - - - - - - - Secure - - Require encryption for all paths. http URLs will be redirected to https. - - /* - - - CONFIDENTIAL - - - diff --git a/core/src/main/java/google/registry/env/common/bsa/WEB-INF/logging.properties b/core/src/main/java/google/registry/env/common/bsa/WEB-INF/logging.properties deleted file mode 100644 index 9cbbe8099..000000000 --- a/core/src/main/java/google/registry/env/common/bsa/WEB-INF/logging.properties +++ /dev/null @@ -1,17 +0,0 @@ -# A default java.util.logging configuration. -# (All App Engine logging is through java.util.logging by default). -# -# To use this configuration, copy it into your application's WEB-INF -# folder and add the following to your appengine-web.xml: -# -# -# -# -# - -# Set the default logging level for all loggers to INFO. -.level = INFO - -# Turn off logging in Hibernate classes for misleading ERROR-level logs -org.hibernate.orm.jdbc.batch.level=OFF -org.hibernate.engine.jdbc.spi.SqlExceptionHelper.level=OFF diff --git a/core/src/main/java/google/registry/env/common/bsa/WEB-INF/web.xml b/core/src/main/java/google/registry/env/common/bsa/WEB-INF/web.xml deleted file mode 100644 index 6e6c541f5..000000000 --- a/core/src/main/java/google/registry/env/common/bsa/WEB-INF/web.xml +++ /dev/null @@ -1,87 +0,0 @@ - - - - - - BsaServlet - bsa-servlet - google.registry.module.bsa.BsaServlet - 1 - - - - - bsa-servlet - /_dr/task/bsaDownload - - - - - bsa-servlet - /_dr/task/bsaRefresh - - - - - bsa-servlet - /_dr/task/bsaValidate - - - - - bsa-servlet - /_dr/task/uploadBsaUnavailableNames - - - - - - Internal - - Admin-only internal section. Requests for paths covered by the URL patterns below will be - checked for a logged-in user account that's allowed to access the AppEngine admin console - (NOTE: this includes Editor/Viewer permissions in addition to Owner and the new IAM - App Engine Admin role. See https://cloud.google.com/appengine/docs/java/access-control - specifically the "Access handlers that have a login:admin restriction" line.) - - TODO(b/28219927): lift some of these restrictions so that we can allow OAuth authentication - for endpoints that need to be accessed by open-source automated processes. - - - - /_ah/* - - - /registrar* - - - /assets/sources/* - - - - admin - - - - - CONFIDENTIAL - - - - - - - Secure - - Require encryption for all paths. http URLs will be redirected to https. - - /* - - - CONFIDENTIAL - - - diff --git a/core/src/main/java/google/registry/env/common/default/WEB-INF/dispatch.xml b/core/src/main/java/google/registry/env/common/default/WEB-INF/dispatch.xml deleted file mode 100644 index d3381397e..000000000 --- a/core/src/main/java/google/registry/env/common/default/WEB-INF/dispatch.xml +++ /dev/null @@ -1,28 +0,0 @@ - - - - - */rdap/* - pubapi - - - */whois/* - pubapi - - - */_dr/whois - pubapi - - - */check - pubapi - - - */console/* - console - - - */console - console - - diff --git a/core/src/main/java/google/registry/env/common/default/WEB-INF/logging.properties b/core/src/main/java/google/registry/env/common/default/WEB-INF/logging.properties deleted file mode 100644 index 9cbbe8099..000000000 --- a/core/src/main/java/google/registry/env/common/default/WEB-INF/logging.properties +++ /dev/null @@ -1,17 +0,0 @@ -# A default java.util.logging configuration. -# (All App Engine logging is through java.util.logging by default). -# -# To use this configuration, copy it into your application's WEB-INF -# folder and add the following to your appengine-web.xml: -# -# -# -# -# - -# Set the default logging level for all loggers to INFO. -.level = INFO - -# Turn off logging in Hibernate classes for misleading ERROR-level logs -org.hibernate.orm.jdbc.batch.level=OFF -org.hibernate.engine.jdbc.spi.SqlExceptionHelper.level=OFF diff --git a/core/src/main/java/google/registry/env/common/default/WEB-INF/web.xml b/core/src/main/java/google/registry/env/common/default/WEB-INF/web.xml deleted file mode 100644 index 747b42402..000000000 --- a/core/src/main/java/google/registry/env/common/default/WEB-INF/web.xml +++ /dev/null @@ -1,66 +0,0 @@ - - - - - - FrontendServlet - frontend-servlet - google.registry.module.frontend.FrontendServlet - 1 - - - - - frontend-servlet - /_dr/epp - - - - - frontend-servlet - /console-api/* - - - - - - Internal - - Admin-only internal section. Requests for paths covered by the URL patterns below will be - checked for a logged-in user account that's allowed to access the AppEngine admin console - (NOTE: this includes Editor/Viewer permissions in addition to Owner and the new IAM - App Engine Admin role. See https://cloud.google.com/appengine/docs/java/access-control - specifically the "Access handlers that have a login:admin restriction" line.) - - TODO(b/28219927): lift some of these restrictions so that we can allow OAuth authentication - for endpoints that need to be accessed by open-source automated processes. - - - /_ah/* - - - admin - - - - CONFIDENTIAL - - - - - - - Secure - - Require encryption for all paths. http URLs will be redirected to https. - - /* - - - CONFIDENTIAL - - - diff --git a/core/src/main/java/google/registry/env/common/pubapi/WEB-INF/logging.properties b/core/src/main/java/google/registry/env/common/pubapi/WEB-INF/logging.properties deleted file mode 100644 index 9cbbe8099..000000000 --- a/core/src/main/java/google/registry/env/common/pubapi/WEB-INF/logging.properties +++ /dev/null @@ -1,17 +0,0 @@ -# A default java.util.logging configuration. -# (All App Engine logging is through java.util.logging by default). -# -# To use this configuration, copy it into your application's WEB-INF -# folder and add the following to your appengine-web.xml: -# -# -# -# -# - -# Set the default logging level for all loggers to INFO. -.level = INFO - -# Turn off logging in Hibernate classes for misleading ERROR-level logs -org.hibernate.orm.jdbc.batch.level=OFF -org.hibernate.engine.jdbc.spi.SqlExceptionHelper.level=OFF diff --git a/core/src/main/java/google/registry/env/common/pubapi/WEB-INF/web.xml b/core/src/main/java/google/registry/env/common/pubapi/WEB-INF/web.xml deleted file mode 100644 index aa06d57f1..000000000 --- a/core/src/main/java/google/registry/env/common/pubapi/WEB-INF/web.xml +++ /dev/null @@ -1,102 +0,0 @@ - - - - - - PubApiServlet - pubapi-servlet - google.registry.module.pubapi.PubApiServlet - 1 - - - - - pubapi-servlet - /whois/* - - - - - pubapi-servlet - /_dr/whois - - - - - pubapi-servlet - /rdap/* - - - - - pubapi-servlet - /check - - - - - - Internal - - Admin-only internal section. Requests for paths covered by the URL patterns below will be - checked for a logged-in user account that's allowed to access the AppEngine admin console - (NOTE: this includes Editor/Viewer permissions in addition to Owner and the new IAM - App Engine Admin role. See https://cloud.google.com/appengine/docs/java/access-control - specifically the "Access handlers that have a login:admin restriction" line.) - - TODO(b/28219927): lift some of these restrictions so that we can allow OAuth authentication - for endpoints that need to be accessed by open-source automated processes. - - - - /_ah/* - - - /assets/sources/* - - - - admin - - - - - CONFIDENTIAL - - - - - - Registrar console - - Registrar console requires user login. This is in addition to the - code-level "requireLogin" configuration on individual @Actions. - - /registrar* - - - * - - - - CONFIDENTIAL - - - - - - - Secure - - Require encryption for all paths. http URLs will be redirected to https. - - /* - - - CONFIDENTIAL - - - diff --git a/core/src/main/java/google/registry/env/common/tools/WEB-INF/logging.properties b/core/src/main/java/google/registry/env/common/tools/WEB-INF/logging.properties deleted file mode 100644 index 9cbbe8099..000000000 --- a/core/src/main/java/google/registry/env/common/tools/WEB-INF/logging.properties +++ /dev/null @@ -1,17 +0,0 @@ -# A default java.util.logging configuration. -# (All App Engine logging is through java.util.logging by default). -# -# To use this configuration, copy it into your application's WEB-INF -# folder and add the following to your appengine-web.xml: -# -# -# -# -# - -# Set the default logging level for all loggers to INFO. -.level = INFO - -# Turn off logging in Hibernate classes for misleading ERROR-level logs -org.hibernate.orm.jdbc.batch.level=OFF -org.hibernate.engine.jdbc.spi.SqlExceptionHelper.level=OFF diff --git a/core/src/main/java/google/registry/env/common/tools/WEB-INF/web.xml b/core/src/main/java/google/registry/env/common/tools/WEB-INF/web.xml deleted file mode 100644 index 414d4936c..000000000 --- a/core/src/main/java/google/registry/env/common/tools/WEB-INF/web.xml +++ /dev/null @@ -1,120 +0,0 @@ - - - - - - ToolsServlet - tools-servlet - google.registry.module.tools.ToolsServlet - 1 - - - - tools-servlet - /_dr/admin/updateUserGroup - - - - tools-servlet - /_dr/admin/verifyOte - - - - tools-servlet - /_dr/admin/createGroups - - - - tools-servlet - /_dr/admin/createPremiumList - - - - tools-servlet - /_dr/admin/list/* - - - - tools-servlet - /_dr/admin/deleteEntity - - - - tools-servlet - /_dr/admin/updatePremiumList - - - - tools-servlet - /_dr/loadtest - - - - - tools-servlet - /_dr/epptool - - - - - tools-servlet - /_dr/task/refreshDnsForAllDomains - - - - tools-servlet - /_dr/task/generateZoneFiles - - - - - - Internal - - Admin-only internal section. Requests for paths covered by the URL patterns below will be - checked for a logged-in user account that's allowed to access the AppEngine admin console - (NOTE: this includes Editor/Viewer permissions in addition to Owner and the new IAM - App Engine Admin role. See https://cloud.google.com/appengine/docs/java/access-control - specifically the "Access handlers that have a login:admin restriction" line.) - - TODO(b/28219927): lift some of these restrictions so that we can allow OAuth authentication - for endpoints that need to be accessed by open-source automated processes. - - - - /_ah/* - - - /registrar* - - - /assets/sources/* - - - - admin - - - - - CONFIDENTIAL - - - - - - - Secure - - Require encryption for all paths. http URLs will be redirected to https. - - /* - - - CONFIDENTIAL - - - diff --git a/core/src/main/java/google/registry/env/crash/backend/WEB-INF/appengine-web.xml b/core/src/main/java/google/registry/env/crash/backend/WEB-INF/appengine-web.xml deleted file mode 100644 index 10eaca9c4..000000000 --- a/core/src/main/java/google/registry/env/crash/backend/WEB-INF/appengine-web.xml +++ /dev/null @@ -1,28 +0,0 @@ - - - - java21 - backend - true - true - B4 - - 10 - 10m - - - - - - - - - - - - - - - diff --git a/core/src/main/java/google/registry/env/crash/bsa/WEB-INF/appengine-web.xml b/core/src/main/java/google/registry/env/crash/bsa/WEB-INF/appengine-web.xml deleted file mode 100644 index bd4435581..000000000 --- a/core/src/main/java/google/registry/env/crash/bsa/WEB-INF/appengine-web.xml +++ /dev/null @@ -1,34 +0,0 @@ - - - - java21 - bsa - true - true - B4 - - 10 - 10m - - - - - - - - - - - - - - projects/domain-registry-crash/locations/us-central1/connectors/appengine-connector - all-traffic - - - - - - diff --git a/core/src/main/java/google/registry/env/crash/default/WEB-INF/appengine-web.xml b/core/src/main/java/google/registry/env/crash/default/WEB-INF/appengine-web.xml deleted file mode 100644 index e6dc4b529..000000000 --- a/core/src/main/java/google/registry/env/crash/default/WEB-INF/appengine-web.xml +++ /dev/null @@ -1,29 +0,0 @@ - - - - java21 - default - true - true - B4_1G - - 10 - 30m - - - - - - - - - - - - - - - - diff --git a/core/src/main/java/google/registry/env/crash/pubapi/WEB-INF/appengine-web.xml b/core/src/main/java/google/registry/env/crash/pubapi/WEB-INF/appengine-web.xml deleted file mode 100644 index 45a2faf9f..000000000 --- a/core/src/main/java/google/registry/env/crash/pubapi/WEB-INF/appengine-web.xml +++ /dev/null @@ -1,31 +0,0 @@ - - - - java21 - pubapi - true - true - B4 - - 8 - 10m - - - - - - - - - - - - - - - - - - diff --git a/core/src/main/java/google/registry/env/crash/tools/WEB-INF/appengine-web.xml b/core/src/main/java/google/registry/env/crash/tools/WEB-INF/appengine-web.xml deleted file mode 100644 index d8ce8f029..000000000 --- a/core/src/main/java/google/registry/env/crash/tools/WEB-INF/appengine-web.xml +++ /dev/null @@ -1,31 +0,0 @@ - - - - java21 - tools - true - true - B4 - - 10 - 10m - - - - - - - - - - - - - - - - - - diff --git a/core/src/main/java/google/registry/env/local/backend/WEB-INF/appengine-web.xml b/core/src/main/java/google/registry/env/local/backend/WEB-INF/appengine-web.xml deleted file mode 100644 index 7bb2cb0c2..000000000 --- a/core/src/main/java/google/registry/env/local/backend/WEB-INF/appengine-web.xml +++ /dev/null @@ -1,32 +0,0 @@ - - - - java21 - backend - true - true - B4 - - 10 - 10m - - - - - - - - - - - - - - - - - - diff --git a/core/src/main/java/google/registry/env/local/bsa/WEB-INF/appengine-web.xml b/core/src/main/java/google/registry/env/local/bsa/WEB-INF/appengine-web.xml deleted file mode 100644 index e1608aab5..000000000 --- a/core/src/main/java/google/registry/env/local/bsa/WEB-INF/appengine-web.xml +++ /dev/null @@ -1,32 +0,0 @@ - - - - java21 - bsa - true - true - B4 - - 10 - 10m - - - - - - - - - - - - - - - - - - diff --git a/core/src/main/java/google/registry/env/local/default/WEB-INF/appengine-web.xml b/core/src/main/java/google/registry/env/local/default/WEB-INF/appengine-web.xml deleted file mode 100644 index 5799e282d..000000000 --- a/core/src/main/java/google/registry/env/local/default/WEB-INF/appengine-web.xml +++ /dev/null @@ -1,35 +0,0 @@ - - - - java21 - default - true - true - B4_1G - - 10 - 10m - - - - - - - - - - - - - - - - - - - - - diff --git a/core/src/main/java/google/registry/env/local/pubapi/WEB-INF/appengine-web.xml b/core/src/main/java/google/registry/env/local/pubapi/WEB-INF/appengine-web.xml deleted file mode 100644 index 3ba3845bd..000000000 --- a/core/src/main/java/google/registry/env/local/pubapi/WEB-INF/appengine-web.xml +++ /dev/null @@ -1,41 +0,0 @@ - - - - java21 - pubapi - true - true - B4 - - 8 - 10m - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/core/src/main/java/google/registry/env/local/tools/WEB-INF/appengine-web.xml b/core/src/main/java/google/registry/env/local/tools/WEB-INF/appengine-web.xml deleted file mode 100644 index 772468e65..000000000 --- a/core/src/main/java/google/registry/env/local/tools/WEB-INF/appengine-web.xml +++ /dev/null @@ -1,41 +0,0 @@ - - - - java21 - tools - true - true - B4 - - 10 - 10m - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/core/src/main/java/google/registry/env/production/backend/WEB-INF/appengine-web.xml b/core/src/main/java/google/registry/env/production/backend/WEB-INF/appengine-web.xml deleted file mode 100644 index 1ea785896..000000000 --- a/core/src/main/java/google/registry/env/production/backend/WEB-INF/appengine-web.xml +++ /dev/null @@ -1,33 +0,0 @@ - - - - java21 - backend - true - true - B4_1G - - 100 - 10m - - - - - - - - - - - - - - - - - - - - diff --git a/core/src/main/java/google/registry/env/production/bsa/WEB-INF/appengine-web.xml b/core/src/main/java/google/registry/env/production/bsa/WEB-INF/appengine-web.xml deleted file mode 100644 index 873156a6b..000000000 --- a/core/src/main/java/google/registry/env/production/bsa/WEB-INF/appengine-web.xml +++ /dev/null @@ -1,39 +0,0 @@ - - - - java21 - bsa - true - true - B4_1G - - 3 - 60m - - - - - - - - - - - - - - projects/domain-registry/locations/us-central1/connectors/appengine-connector - all-traffic - - - - - - - - - - - diff --git a/core/src/main/java/google/registry/env/production/default/WEB-INF/appengine-web.xml b/core/src/main/java/google/registry/env/production/default/WEB-INF/appengine-web.xml deleted file mode 100644 index 7816aa150..000000000 --- a/core/src/main/java/google/registry/env/production/default/WEB-INF/appengine-web.xml +++ /dev/null @@ -1,33 +0,0 @@ - - - - java21 - default - true - true - B4_1G - - 24 - - - - - - - - - - - - - - - - - - - - - diff --git a/core/src/main/java/google/registry/env/production/pubapi/WEB-INF/appengine-web.xml b/core/src/main/java/google/registry/env/production/pubapi/WEB-INF/appengine-web.xml deleted file mode 100644 index ffba112ec..000000000 --- a/core/src/main/java/google/registry/env/production/pubapi/WEB-INF/appengine-web.xml +++ /dev/null @@ -1,35 +0,0 @@ - - - - java21 - pubapi - true - true - B4_1G - - 24 - - - - - - - - - - - - - - - - - - - - - - - diff --git a/core/src/main/java/google/registry/env/production/tools/WEB-INF/appengine-web.xml b/core/src/main/java/google/registry/env/production/tools/WEB-INF/appengine-web.xml deleted file mode 100644 index cf2871514..000000000 --- a/core/src/main/java/google/registry/env/production/tools/WEB-INF/appengine-web.xml +++ /dev/null @@ -1,36 +0,0 @@ - - - - java21 - tools - true - true - B4_1G - - 5 - 60m - - - - - - - - - - - - - - - - - - - - - - - diff --git a/core/src/main/java/google/registry/env/qa/backend/WEB-INF/appengine-web.xml b/core/src/main/java/google/registry/env/qa/backend/WEB-INF/appengine-web.xml deleted file mode 100644 index fb07b128e..000000000 --- a/core/src/main/java/google/registry/env/qa/backend/WEB-INF/appengine-web.xml +++ /dev/null @@ -1,33 +0,0 @@ - - - - java21 - backend - true - true - B4 - - 10 - 10m - - - - - - - - - - - - - - - - - - - - diff --git a/core/src/main/java/google/registry/env/qa/bsa/WEB-INF/appengine-web.xml b/core/src/main/java/google/registry/env/qa/bsa/WEB-INF/appengine-web.xml deleted file mode 100644 index 1c7404ee5..000000000 --- a/core/src/main/java/google/registry/env/qa/bsa/WEB-INF/appengine-web.xml +++ /dev/null @@ -1,39 +0,0 @@ - - - - java21 - bsa - true - true - B4 - - 10 - 10m - - - - - - - - - - - - - - - - - - projects/domain-registry-qa/locations/us-central1/connectors/appengine-connector - all-traffic - - - - - - - diff --git a/core/src/main/java/google/registry/env/qa/default/WEB-INF/appengine-web.xml b/core/src/main/java/google/registry/env/qa/default/WEB-INF/appengine-web.xml deleted file mode 100644 index 854c9a21d..000000000 --- a/core/src/main/java/google/registry/env/qa/default/WEB-INF/appengine-web.xml +++ /dev/null @@ -1,37 +0,0 @@ - - - - java21 - default - true - true - F4_1G - - 1 - automatic - automatic - 100ms - 10 - - - - - - - - - - - - - - - - - - - - - diff --git a/core/src/main/java/google/registry/env/qa/pubapi/WEB-INF/appengine-web.xml b/core/src/main/java/google/registry/env/qa/pubapi/WEB-INF/appengine-web.xml deleted file mode 100644 index ffc422c23..000000000 --- a/core/src/main/java/google/registry/env/qa/pubapi/WEB-INF/appengine-web.xml +++ /dev/null @@ -1,36 +0,0 @@ - - - - java21 - pubapi - true - true - B4 - - 10 - 10m - - - - - - - - - - - - - - - - - - - - - - - diff --git a/core/src/main/java/google/registry/env/qa/tools/WEB-INF/appengine-web.xml b/core/src/main/java/google/registry/env/qa/tools/WEB-INF/appengine-web.xml deleted file mode 100644 index 4f1378866..000000000 --- a/core/src/main/java/google/registry/env/qa/tools/WEB-INF/appengine-web.xml +++ /dev/null @@ -1,36 +0,0 @@ - - - - java21 - tools - true - true - B4 - - 10 - 10m - - - - - - - - - - - - - - - - - - - - - - - diff --git a/core/src/main/java/google/registry/env/sandbox/backend/WEB-INF/appengine-web.xml b/core/src/main/java/google/registry/env/sandbox/backend/WEB-INF/appengine-web.xml deleted file mode 100644 index ae34bd447..000000000 --- a/core/src/main/java/google/registry/env/sandbox/backend/WEB-INF/appengine-web.xml +++ /dev/null @@ -1,33 +0,0 @@ - - - - java21 - backend - true - true - B4 - - 100 - 10m - - - - - - - - - - - - - - - - - - - - diff --git a/core/src/main/java/google/registry/env/sandbox/bsa/WEB-INF/appengine-web.xml b/core/src/main/java/google/registry/env/sandbox/bsa/WEB-INF/appengine-web.xml deleted file mode 100644 index 8c5a849cf..000000000 --- a/core/src/main/java/google/registry/env/sandbox/bsa/WEB-INF/appengine-web.xml +++ /dev/null @@ -1,39 +0,0 @@ - - - - java21 - bsa - true - true - B4 - - 3 - 60m - - - - - - - - - - - - - - - - - - projects/domain-registry-sandbox/locations/us-central1/connectors/appengine-connector - all-traffic - - - - - - - diff --git a/core/src/main/java/google/registry/env/sandbox/default/WEB-INF/appengine-web.xml b/core/src/main/java/google/registry/env/sandbox/default/WEB-INF/appengine-web.xml deleted file mode 100644 index 0e1d65048..000000000 --- a/core/src/main/java/google/registry/env/sandbox/default/WEB-INF/appengine-web.xml +++ /dev/null @@ -1,33 +0,0 @@ - - - - java21 - default - true - true - B4_1G - - 6 - - - - - - - - - - - - - - - - - - - - - diff --git a/core/src/main/java/google/registry/env/sandbox/pubapi/WEB-INF/appengine-web.xml b/core/src/main/java/google/registry/env/sandbox/pubapi/WEB-INF/appengine-web.xml deleted file mode 100644 index 10f71453e..000000000 --- a/core/src/main/java/google/registry/env/sandbox/pubapi/WEB-INF/appengine-web.xml +++ /dev/null @@ -1,35 +0,0 @@ - - - - java21 - pubapi - true - true - B4_1G - - 5 - - - - - - - - - - - - - - - - - - - - - - - diff --git a/core/src/main/java/google/registry/env/sandbox/tools/WEB-INF/appengine-web.xml b/core/src/main/java/google/registry/env/sandbox/tools/WEB-INF/appengine-web.xml deleted file mode 100644 index 722487f98..000000000 --- a/core/src/main/java/google/registry/env/sandbox/tools/WEB-INF/appengine-web.xml +++ /dev/null @@ -1,36 +0,0 @@ - - - - java21 - tools - true - true - B4 - - 5 - 60m - - - - - - - - - - - - - - - - - - - - - - - diff --git a/release/cloudbuild-deploy.yaml b/release/cloudbuild-deploy.yaml deleted file mode 100644 index 256869d19..000000000 --- a/release/cloudbuild-deploy.yaml +++ /dev/null @@ -1,97 +0,0 @@ -# To manually trigger a build on GCB, run: -# gcloud builds submit --config=cloudbuild-deploy.yaml \ -# --substitutions=TAG_NAME=[TAG],_ENV=[ENV] .. -# -# To trigger a build automatically, follow the instructions below and add a trigger: -# https://cloud.google.com/cloud-build/docs/running-builds/automate-builds -# -# Note: to work around issue in Spinnaker's 'Deployment Manifest' stage, -# variable references must avoid the ${var} format. Valid formats include -# $var or ${"${var}"}. This file uses the former. Since TAG_NAME and _ENV are -# expanded in the copies sent to Spinnaker, we preserve the brackets around -# them for safe pattern matching during release. -# See https://github.com/spinnaker/spinnaker/issues/3028 for more information. -steps: -# Pull the credential for nomulus tool. -- name: 'gcr.io/$PROJECT_ID/builder:latest' - entrypoint: /bin/bash - args: - - -c - - | - set -e - gcloud secrets versions access latest \ - --secret nomulus-tool-cloudbuild-credential > tool-credential.json -# Create/Update cloud scheduler and cloud tasks based on a cloud-scheduler-tasks.xml -- name: 'gcr.io/$PROJECT_ID/builder:latest' - entrypoint: /bin/bash - args: - - -c - - | - set -e - gcloud auth activate-service-account --key-file=tool-credential.json - if [ ${_ENV} == production ]; then - project_id="domain-registry" - else - project_id="domain-registry-${_ENV}" - fi - gcloud storage cp gs://$PROJECT_ID-deploy/${TAG_NAME}/nomulus-config-${_ENV}.yaml . - gcloud storage cp gs://$PROJECT_ID-deploy/${TAG_NAME}/cloud-scheduler-tasks-${_ENV}.xml . - gcloud storage cp gs://$PROJECT_ID-deploy/${TAG_NAME}/cloud-tasks-queue.xml . - deployCloudSchedulerAndQueue nomulus-config-${_ENV}.yaml cloud-scheduler-tasks-${_ENV}.xml $project_id - deployCloudSchedulerAndQueue nomulus-config-${_ENV}.yaml cloud-tasks-queue.xml $project_id -# Deploy the GAE config files. -# First authorize the gcloud tool to use the credential json file, then -# download and unzip the tarball that contains the relevant config files -- name: 'gcr.io/$PROJECT_ID/builder:latest' - entrypoint: /bin/bash - args: - - -c - - | - set -e - gcloud auth activate-service-account --key-file=tool-credential.json - if [ ${_ENV} == production ]; then - project_id="domain-registry" - else - project_id="domain-registry-${_ENV}" - fi - gcloud storage cp gs://$PROJECT_ID-deploy/${TAG_NAME}/${_ENV}.tar . - tar -xvf ${_ENV}.tar - unzip default/WEB-INF/lib/core.jar - gcloud -q --project $project_id app deploy default/WEB-INF/appengine-generated/dispatch.yaml -# Save the deployed tag for the current environment on GCS, and update the -# mappings from Nomulus releases to Appengine versions. -- name: 'gcr.io/$PROJECT_ID/builder:latest' - entrypoint: /bin/bash - args: - - -c - - | - set -e - echo ${TAG_NAME} | \ - gcloud storage cp - gs://$PROJECT_ID-deployed-tags/nomulus.${_ENV}.tag - # Update the release to AppEngine version mapping. - if [ ${_ENV} == production ]; then - project_id="domain-registry" - else - project_id="domain-registry-${_ENV}" - fi - local_map="nomulus.${_ENV}.tmp" - gcloud app versions list \ - --project $project_id --hide-no-traffic \ - --format="csv[no-heading](SERVICE,VERSION.ID)" | \ - grep -e "^backend\|^default\|^bsa\|^pubapi\|^tools" |\ - while read line; do echo "${TAG_NAME},$line"; done | tee "$local_map" - num_versions=$(cat "$local_map" | wc -l) - if [ "$num_versions" -ne 5 ]; then - echo "Expecting exactly five active services. Found $num_versions" - exit 1 - fi - gcloud storage cp "$local_map" gs://$PROJECT_ID-deployed-tags/nomulus.${_ENV}.tmp - # Atomically append uploaded tmp file to nomulus.${_ENV}.versions - gcloud storage objects compose \ - gs://$PROJECT_ID-deployed-tags/nomulus.${_ENV}.versions \ - gs://$PROJECT_ID-deployed-tags/nomulus.${_ENV}.tmp \ - gs://$PROJECT_ID-deployed-tags/nomulus.${_ENV}.versions - -timeout: 3600s -options: - machineType: 'E2_HIGHCPU_32'