env-manager: log and reject requests

Someone is trying to periodically create new envs.

Change-Id: I45ca8682213bdc8f19b8f98fb130af442cc6380b
diff --git a/core/installer/server/env/server.go b/core/installer/server/env/server.go
index 9bd0a34..d6e9eac 100644
--- a/core/installer/server/env/server.go
+++ b/core/installer/server/env/server.go
@@ -99,6 +99,7 @@
 	envInfo       map[string]template.HTML
 	dns           map[string]installer.EnvDNS
 	dnsPublished  map[string]struct{}
+	allowNewEnvs bool
 }
 
 func NewEnvServer(
@@ -114,6 +115,7 @@
 	httpClient phttp.Client,
 	dnsClient dns.Client,
 	tm tasks.TaskManager,
+	allowNewEnvs bool,
 ) *EnvServer {
 	return &EnvServer{
 		nil,
@@ -132,6 +134,7 @@
 		make(map[string]template.HTML),
 		make(map[string]installer.EnvDNS),
 		make(map[string]struct{}),
+		allowNewEnvs,
 	}
 }
 
@@ -361,6 +364,12 @@
 		http.Error(w, err.Error(), http.StatusInternalServerError)
 		return
 	}
+	// TODO(gio): remove
+	fmt.Printf("### NEW ENV REQUEST: %+v -- %+v\n", req, r.Header)
+	if !s.allowNewEnvs {
+		http.Error(w, "Domain is already taken", http.StatusBadRequest)
+		return
+	}
 	hf := installer.NewGitHelmFetcher()
 	lg := installer.NewInfraLocalChartGenerator()
 	mgr, err := installer.NewInfraAppManager(s.repo, s.nsCreator, hf, lg)