diff --git a/proxy/java/google/registry/proxy/BUILD b/java/google/registry/proxy/BUILD similarity index 100% rename from proxy/java/google/registry/proxy/BUILD rename to java/google/registry/proxy/BUILD diff --git a/proxy/java/google/registry/proxy/CertificateModule.java b/java/google/registry/proxy/CertificateModule.java similarity index 100% rename from proxy/java/google/registry/proxy/CertificateModule.java rename to java/google/registry/proxy/CertificateModule.java diff --git a/proxy/java/google/registry/proxy/EppProtocolModule.java b/java/google/registry/proxy/EppProtocolModule.java similarity index 100% rename from proxy/java/google/registry/proxy/EppProtocolModule.java rename to java/google/registry/proxy/EppProtocolModule.java diff --git a/proxy/java/google/registry/proxy/GcpJsonFormatter.java b/java/google/registry/proxy/GcpJsonFormatter.java similarity index 100% rename from proxy/java/google/registry/proxy/GcpJsonFormatter.java rename to java/google/registry/proxy/GcpJsonFormatter.java diff --git a/proxy/java/google/registry/proxy/HealthCheckProtocolModule.java b/java/google/registry/proxy/HealthCheckProtocolModule.java similarity index 100% rename from proxy/java/google/registry/proxy/HealthCheckProtocolModule.java rename to java/google/registry/proxy/HealthCheckProtocolModule.java diff --git a/proxy/java/google/registry/proxy/HttpsRelayProtocolModule.java b/java/google/registry/proxy/HttpsRelayProtocolModule.java similarity index 100% rename from proxy/java/google/registry/proxy/HttpsRelayProtocolModule.java rename to java/google/registry/proxy/HttpsRelayProtocolModule.java diff --git a/proxy/java/google/registry/proxy/MetricsModule.java b/java/google/registry/proxy/MetricsModule.java similarity index 100% rename from proxy/java/google/registry/proxy/MetricsModule.java rename to java/google/registry/proxy/MetricsModule.java diff --git a/proxy/java/google/registry/proxy/Protocol.java b/java/google/registry/proxy/Protocol.java similarity index 100% rename from proxy/java/google/registry/proxy/Protocol.java rename to java/google/registry/proxy/Protocol.java diff --git a/proxy/java/google/registry/proxy/ProxyConfig.java b/java/google/registry/proxy/ProxyConfig.java similarity index 100% rename from proxy/java/google/registry/proxy/ProxyConfig.java rename to java/google/registry/proxy/ProxyConfig.java diff --git a/proxy/java/google/registry/proxy/ProxyModule.java b/java/google/registry/proxy/ProxyModule.java similarity index 100% rename from proxy/java/google/registry/proxy/ProxyModule.java rename to java/google/registry/proxy/ProxyModule.java diff --git a/proxy/java/google/registry/proxy/ProxyServer.java b/java/google/registry/proxy/ProxyServer.java similarity index 100% rename from proxy/java/google/registry/proxy/ProxyServer.java rename to java/google/registry/proxy/ProxyServer.java diff --git a/proxy/java/google/registry/proxy/WebWhoisProtocolsModule.java b/java/google/registry/proxy/WebWhoisProtocolsModule.java similarity index 100% rename from proxy/java/google/registry/proxy/WebWhoisProtocolsModule.java rename to java/google/registry/proxy/WebWhoisProtocolsModule.java diff --git a/proxy/java/google/registry/proxy/WhoisProtocolModule.java b/java/google/registry/proxy/WhoisProtocolModule.java similarity index 100% rename from proxy/java/google/registry/proxy/WhoisProtocolModule.java rename to java/google/registry/proxy/WhoisProtocolModule.java diff --git a/proxy/java/google/registry/proxy/config/default-config.yaml b/java/google/registry/proxy/config/default-config.yaml similarity index 100% rename from proxy/java/google/registry/proxy/config/default-config.yaml rename to java/google/registry/proxy/config/default-config.yaml diff --git a/proxy/java/google/registry/proxy/config/proxy-config-alpha.yaml b/java/google/registry/proxy/config/proxy-config-alpha.yaml similarity index 100% rename from proxy/java/google/registry/proxy/config/proxy-config-alpha.yaml rename to java/google/registry/proxy/config/proxy-config-alpha.yaml diff --git a/proxy/java/google/registry/proxy/config/proxy-config-local.yaml b/java/google/registry/proxy/config/proxy-config-local.yaml similarity index 100% rename from proxy/java/google/registry/proxy/config/proxy-config-local.yaml rename to java/google/registry/proxy/config/proxy-config-local.yaml diff --git a/proxy/java/google/registry/proxy/config/proxy-config-production-canary.yaml b/java/google/registry/proxy/config/proxy-config-production-canary.yaml similarity index 100% rename from proxy/java/google/registry/proxy/config/proxy-config-production-canary.yaml rename to java/google/registry/proxy/config/proxy-config-production-canary.yaml diff --git a/proxy/java/google/registry/proxy/config/proxy-config-production.yaml b/java/google/registry/proxy/config/proxy-config-production.yaml similarity index 100% rename from proxy/java/google/registry/proxy/config/proxy-config-production.yaml rename to java/google/registry/proxy/config/proxy-config-production.yaml diff --git a/proxy/java/google/registry/proxy/config/proxy-config-sandbox-canary.yaml b/java/google/registry/proxy/config/proxy-config-sandbox-canary.yaml similarity index 100% rename from proxy/java/google/registry/proxy/config/proxy-config-sandbox-canary.yaml rename to java/google/registry/proxy/config/proxy-config-sandbox-canary.yaml diff --git a/proxy/java/google/registry/proxy/config/proxy-config-sandbox.yaml b/java/google/registry/proxy/config/proxy-config-sandbox.yaml similarity index 100% rename from proxy/java/google/registry/proxy/config/proxy-config-sandbox.yaml rename to java/google/registry/proxy/config/proxy-config-sandbox.yaml diff --git a/proxy/java/google/registry/proxy/handler/BackendMetricsHandler.java b/java/google/registry/proxy/handler/BackendMetricsHandler.java similarity index 100% rename from proxy/java/google/registry/proxy/handler/BackendMetricsHandler.java rename to java/google/registry/proxy/handler/BackendMetricsHandler.java diff --git a/proxy/java/google/registry/proxy/handler/EppServiceHandler.java b/java/google/registry/proxy/handler/EppServiceHandler.java similarity index 100% rename from proxy/java/google/registry/proxy/handler/EppServiceHandler.java rename to java/google/registry/proxy/handler/EppServiceHandler.java diff --git a/proxy/java/google/registry/proxy/handler/HealthCheckHandler.java b/java/google/registry/proxy/handler/HealthCheckHandler.java similarity index 93% rename from proxy/java/google/registry/proxy/handler/HealthCheckHandler.java rename to java/google/registry/proxy/handler/HealthCheckHandler.java index 3d1ce36a5..38f767ed3 100644 --- a/proxy/java/google/registry/proxy/handler/HealthCheckHandler.java +++ b/java/google/registry/proxy/handler/HealthCheckHandler.java @@ -16,6 +16,7 @@ package google.registry.proxy.handler; import io.netty.buffer.ByteBuf; import io.netty.buffer.Unpooled; +import io.netty.channel.ChannelFuture; import io.netty.channel.ChannelHandlerContext; import io.netty.channel.ChannelInboundHandlerAdapter; import java.nio.charset.StandardCharsets; @@ -35,7 +36,7 @@ public class HealthCheckHandler extends ChannelInboundHandlerAdapter { public void channelRead(ChannelHandlerContext ctx, Object msg) throws Exception { ByteBuf buf = (ByteBuf) msg; if (buf.equals(checkRequest)) { - ctx.writeAndFlush(checkResponse); + ChannelFuture unusedFuture = ctx.writeAndFlush(checkResponse); } buf.release(); } diff --git a/proxy/java/google/registry/proxy/handler/HttpsRelayServiceHandler.java b/java/google/registry/proxy/handler/HttpsRelayServiceHandler.java similarity index 100% rename from proxy/java/google/registry/proxy/handler/HttpsRelayServiceHandler.java rename to java/google/registry/proxy/handler/HttpsRelayServiceHandler.java diff --git a/proxy/java/google/registry/proxy/handler/ProxyProtocolHandler.java b/java/google/registry/proxy/handler/ProxyProtocolHandler.java similarity index 100% rename from proxy/java/google/registry/proxy/handler/ProxyProtocolHandler.java rename to java/google/registry/proxy/handler/ProxyProtocolHandler.java diff --git a/proxy/java/google/registry/proxy/handler/QuotaHandler.java b/java/google/registry/proxy/handler/QuotaHandler.java similarity index 100% rename from proxy/java/google/registry/proxy/handler/QuotaHandler.java rename to java/google/registry/proxy/handler/QuotaHandler.java diff --git a/proxy/java/google/registry/proxy/handler/RelayHandler.java b/java/google/registry/proxy/handler/RelayHandler.java similarity index 100% rename from proxy/java/google/registry/proxy/handler/RelayHandler.java rename to java/google/registry/proxy/handler/RelayHandler.java diff --git a/proxy/java/google/registry/proxy/handler/SslClientInitializer.java b/java/google/registry/proxy/handler/SslClientInitializer.java similarity index 100% rename from proxy/java/google/registry/proxy/handler/SslClientInitializer.java rename to java/google/registry/proxy/handler/SslClientInitializer.java diff --git a/proxy/java/google/registry/proxy/handler/SslServerInitializer.java b/java/google/registry/proxy/handler/SslServerInitializer.java similarity index 100% rename from proxy/java/google/registry/proxy/handler/SslServerInitializer.java rename to java/google/registry/proxy/handler/SslServerInitializer.java diff --git a/proxy/java/google/registry/proxy/handler/WebWhoisRedirectHandler.java b/java/google/registry/proxy/handler/WebWhoisRedirectHandler.java similarity index 100% rename from proxy/java/google/registry/proxy/handler/WebWhoisRedirectHandler.java rename to java/google/registry/proxy/handler/WebWhoisRedirectHandler.java diff --git a/proxy/java/google/registry/proxy/handler/WhoisServiceHandler.java b/java/google/registry/proxy/handler/WhoisServiceHandler.java similarity index 100% rename from proxy/java/google/registry/proxy/handler/WhoisServiceHandler.java rename to java/google/registry/proxy/handler/WhoisServiceHandler.java diff --git a/proxy/java/google/registry/proxy/kubernetes/proxy-deployment-alpha.yaml b/java/google/registry/proxy/kubernetes/proxy-deployment-alpha.yaml similarity index 100% rename from proxy/java/google/registry/proxy/kubernetes/proxy-deployment-alpha.yaml rename to java/google/registry/proxy/kubernetes/proxy-deployment-alpha.yaml diff --git a/proxy/java/google/registry/proxy/kubernetes/proxy-deployment-production-canary.yaml b/java/google/registry/proxy/kubernetes/proxy-deployment-production-canary.yaml similarity index 100% rename from proxy/java/google/registry/proxy/kubernetes/proxy-deployment-production-canary.yaml rename to java/google/registry/proxy/kubernetes/proxy-deployment-production-canary.yaml diff --git a/proxy/java/google/registry/proxy/kubernetes/proxy-deployment-production.yaml b/java/google/registry/proxy/kubernetes/proxy-deployment-production.yaml similarity index 100% rename from proxy/java/google/registry/proxy/kubernetes/proxy-deployment-production.yaml rename to java/google/registry/proxy/kubernetes/proxy-deployment-production.yaml diff --git a/proxy/java/google/registry/proxy/kubernetes/proxy-deployment-sandbox-canary.yaml b/java/google/registry/proxy/kubernetes/proxy-deployment-sandbox-canary.yaml similarity index 100% rename from proxy/java/google/registry/proxy/kubernetes/proxy-deployment-sandbox-canary.yaml rename to java/google/registry/proxy/kubernetes/proxy-deployment-sandbox-canary.yaml diff --git a/proxy/java/google/registry/proxy/kubernetes/proxy-deployment-sandbox.yaml b/java/google/registry/proxy/kubernetes/proxy-deployment-sandbox.yaml similarity index 100% rename from proxy/java/google/registry/proxy/kubernetes/proxy-deployment-sandbox.yaml rename to java/google/registry/proxy/kubernetes/proxy-deployment-sandbox.yaml diff --git a/proxy/java/google/registry/proxy/kubernetes/proxy-service-canary.yaml b/java/google/registry/proxy/kubernetes/proxy-service-canary.yaml similarity index 100% rename from proxy/java/google/registry/proxy/kubernetes/proxy-service-canary.yaml rename to java/google/registry/proxy/kubernetes/proxy-service-canary.yaml diff --git a/proxy/java/google/registry/proxy/kubernetes/proxy-service.yaml b/java/google/registry/proxy/kubernetes/proxy-service.yaml similarity index 100% rename from proxy/java/google/registry/proxy/kubernetes/proxy-service.yaml rename to java/google/registry/proxy/kubernetes/proxy-service.yaml diff --git a/proxy/java/google/registry/proxy/metric/BackendMetrics.java b/java/google/registry/proxy/metric/BackendMetrics.java similarity index 100% rename from proxy/java/google/registry/proxy/metric/BackendMetrics.java rename to java/google/registry/proxy/metric/BackendMetrics.java diff --git a/proxy/java/google/registry/proxy/metric/FrontendMetrics.java b/java/google/registry/proxy/metric/FrontendMetrics.java similarity index 100% rename from proxy/java/google/registry/proxy/metric/FrontendMetrics.java rename to java/google/registry/proxy/metric/FrontendMetrics.java diff --git a/proxy/java/google/registry/proxy/metric/MetricParameters.java b/java/google/registry/proxy/metric/MetricParameters.java similarity index 100% rename from proxy/java/google/registry/proxy/metric/MetricParameters.java rename to java/google/registry/proxy/metric/MetricParameters.java diff --git a/proxy/java/google/registry/proxy/quota/QuotaConfig.java b/java/google/registry/proxy/quota/QuotaConfig.java similarity index 100% rename from proxy/java/google/registry/proxy/quota/QuotaConfig.java rename to java/google/registry/proxy/quota/QuotaConfig.java diff --git a/proxy/java/google/registry/proxy/quota/QuotaManager.java b/java/google/registry/proxy/quota/QuotaManager.java similarity index 100% rename from proxy/java/google/registry/proxy/quota/QuotaManager.java rename to java/google/registry/proxy/quota/QuotaManager.java diff --git a/proxy/java/google/registry/proxy/quota/TokenStore.java b/java/google/registry/proxy/quota/TokenStore.java similarity index 100% rename from proxy/java/google/registry/proxy/quota/TokenStore.java rename to java/google/registry/proxy/quota/TokenStore.java diff --git a/proxy/java/google/registry/proxy/resources/hello.xml b/java/google/registry/proxy/resources/hello.xml similarity index 100% rename from proxy/java/google/registry/proxy/resources/hello.xml rename to java/google/registry/proxy/resources/hello.xml diff --git a/proxy/java/google/registry/proxy/terraform/example_config.tf b/java/google/registry/proxy/terraform/example_config.tf similarity index 100% rename from proxy/java/google/registry/proxy/terraform/example_config.tf rename to java/google/registry/proxy/terraform/example_config.tf diff --git a/proxy/java/google/registry/proxy/terraform/modules/common.tf b/java/google/registry/proxy/terraform/modules/common.tf similarity index 100% rename from proxy/java/google/registry/proxy/terraform/modules/common.tf rename to java/google/registry/proxy/terraform/modules/common.tf diff --git a/proxy/java/google/registry/proxy/terraform/modules/gcs.tf b/java/google/registry/proxy/terraform/modules/gcs.tf similarity index 100% rename from proxy/java/google/registry/proxy/terraform/modules/gcs.tf rename to java/google/registry/proxy/terraform/modules/gcs.tf diff --git a/proxy/java/google/registry/proxy/terraform/modules/gke.tf b/java/google/registry/proxy/terraform/modules/gke.tf similarity index 100% rename from proxy/java/google/registry/proxy/terraform/modules/gke.tf rename to java/google/registry/proxy/terraform/modules/gke.tf diff --git a/proxy/java/google/registry/proxy/terraform/modules/gke/cluster.tf b/java/google/registry/proxy/terraform/modules/gke/cluster.tf similarity index 85% rename from proxy/java/google/registry/proxy/terraform/modules/gke/cluster.tf rename to java/google/registry/proxy/terraform/modules/gke/cluster.tf index 6bc9d1d53..fa91ba6db 100644 --- a/proxy/java/google/registry/proxy/terraform/modules/gke/cluster.tf +++ b/java/google/registry/proxy/terraform/modules/gke/cluster.tf @@ -3,8 +3,8 @@ locals { } resource "google_container_cluster" "proxy_cluster" { - name = "proxy-cluster-${var.proxy_cluster_region}" - zone = "${local.proxy_cluster_zone}" + name = "proxy-cluster-${var.proxy_cluster_region}" + zone = "${local.proxy_cluster_zone}" timeouts { update = "30m" diff --git a/proxy/java/google/registry/proxy/terraform/modules/gke/input.tf b/java/google/registry/proxy/terraform/modules/gke/input.tf similarity index 100% rename from proxy/java/google/registry/proxy/terraform/modules/gke/input.tf rename to java/google/registry/proxy/terraform/modules/gke/input.tf diff --git a/proxy/java/google/registry/proxy/terraform/modules/gke/output.tf b/java/google/registry/proxy/terraform/modules/gke/output.tf similarity index 100% rename from proxy/java/google/registry/proxy/terraform/modules/gke/output.tf rename to java/google/registry/proxy/terraform/modules/gke/output.tf diff --git a/proxy/java/google/registry/proxy/terraform/modules/iam.tf b/java/google/registry/proxy/terraform/modules/iam.tf similarity index 100% rename from proxy/java/google/registry/proxy/terraform/modules/iam.tf rename to java/google/registry/proxy/terraform/modules/iam.tf diff --git a/proxy/java/google/registry/proxy/terraform/modules/input.tf b/java/google/registry/proxy/terraform/modules/input.tf similarity index 100% rename from proxy/java/google/registry/proxy/terraform/modules/input.tf rename to java/google/registry/proxy/terraform/modules/input.tf diff --git a/proxy/java/google/registry/proxy/terraform/modules/kms.tf b/java/google/registry/proxy/terraform/modules/kms.tf similarity index 100% rename from proxy/java/google/registry/proxy/terraform/modules/kms.tf rename to java/google/registry/proxy/terraform/modules/kms.tf diff --git a/proxy/java/google/registry/proxy/terraform/modules/networking.tf b/java/google/registry/proxy/terraform/modules/networking.tf similarity index 100% rename from proxy/java/google/registry/proxy/terraform/modules/networking.tf rename to java/google/registry/proxy/terraform/modules/networking.tf diff --git a/java/google/registry/proxy/terraform/modules/networking/dns.tf b/java/google/registry/proxy/terraform/modules/networking/dns.tf new file mode 100644 index 000000000..b5db062ea --- /dev/null +++ b/java/google/registry/proxy/terraform/modules/networking/dns.tf @@ -0,0 +1,31 @@ +resource "google_dns_record_set" "proxy_epp_a_record" { + name = "epp${var.suffix}.${var.proxy_domain_name}" + type = "A" + ttl = 300 + managed_zone = "${var.proxy_domain}" + rrdatas = ["${google_compute_global_address.proxy_ipv4_address.address}"] +} + +resource "google_dns_record_set" "proxy_epp_aaaa_record" { + name = "epp${var.suffix}.${var.proxy_domain_name}" + type = "AAAA" + ttl = 300 + managed_zone = "${var.proxy_domain}" + rrdatas = ["${google_compute_global_address.proxy_ipv6_address.address}"] +} + +resource "google_dns_record_set" "proxy_whois_a_record" { + name = "whois${var.suffix}.${var.proxy_domain_name}" + type = "A" + ttl = 300 + managed_zone = "${var.proxy_domain}" + rrdatas = ["${google_compute_global_address.proxy_ipv4_address.address}"] +} + +resource "google_dns_record_set" "proxy_whois_aaaa_record" { + name = "whois${var.suffix}.${var.proxy_domain_name}" + type = "AAAA" + ttl = 300 + managed_zone = "${var.proxy_domain}" + rrdatas = ["${google_compute_global_address.proxy_ipv6_address.address}"] +} diff --git a/java/google/registry/proxy/terraform/modules/networking/input.tf b/java/google/registry/proxy/terraform/modules/networking/input.tf new file mode 100644 index 000000000..72d0425a0 --- /dev/null +++ b/java/google/registry/proxy/terraform/modules/networking/input.tf @@ -0,0 +1,20 @@ +# Instance groups that the load balancer forwards traffic to. +variable "proxy_instance_groups" { + type = "map" +} + +# Suffix (such as "-canary") added to the resource names. +variable "suffix" { + default = "" +} + +# Node ports exposed by the proxy. +variable "proxy_ports" { + type = "map" +} + +# DNS zone for the proxy domain. +variable "proxy_domain" {} + +# domain name of the zone. +variable "proxy_domain_name" {} diff --git a/java/google/registry/proxy/terraform/modules/networking/loadbalancer.tf b/java/google/registry/proxy/terraform/modules/networking/loadbalancer.tf new file mode 100644 index 000000000..7f4eb7704 --- /dev/null +++ b/java/google/registry/proxy/terraform/modules/networking/loadbalancer.tf @@ -0,0 +1,230 @@ +resource "google_compute_global_address" "proxy_ipv4_address" { + name = "proxy-ipv4-address${var.suffix}" + ip_version = "IPV4" +} + +resource "google_compute_global_address" "proxy_ipv6_address" { + name = "proxy-ipv6-address${var.suffix}" + ip_version = "IPV6" +} + +resource "google_compute_firewall" "proxy_firewall" { + name = "proxy-firewall${var.suffix}" + network = "default" + + allow { + protocol = "tcp" + + ports = [ + "${var.proxy_ports["epp"]}", + "${var.proxy_ports["whois"]}", + "${var.proxy_ports["health_check"]}", + "${var.proxy_ports["http-whois"]}", + "${var.proxy_ports["https-whois"]}", + ] + } + + source_ranges = [ + "130.211.0.0/22", + "35.191.0.0/16", + ] + + target_tags = [ + "proxy-cluster", + ] +} + +resource "google_compute_health_check" "proxy_health_check" { + name = "proxy-health-check${var.suffix}" + + tcp_health_check { + port = "${var.proxy_ports["health_check"]}" + request = "HEALTH_CHECK_REQUEST" + response = "HEALTH_CHECK_RESPONSE" + } +} + +resource "google_compute_health_check" "proxy_http_health_check" { + name = "proxy-http-health-check${var.suffix}" + + http_health_check { + host = "health-check.invalid" + port = "${var.proxy_ports["http-whois"]}" + request_path = "/" + } +} + +resource "google_compute_url_map" "proxy_url_map" { + name = "proxy-url-map${var.suffix}" + default_service = "${google_compute_backend_service.http_whois_backend_service.self_link}" +} + +resource "google_compute_backend_service" "epp_backend_service" { + name = "epp-backend-service${var.suffix}" + protocol = "TCP" + timeout_sec = 3600 + port_name = "epp${var.suffix}" + + backend { + group = "${var.proxy_instance_groups["americas"]}" + } + + backend { + group = "${var.proxy_instance_groups["emea"]}" + } + + backend { + group = "${var.proxy_instance_groups["apac"]}" + } + + health_checks = [ + "${google_compute_health_check.proxy_health_check.self_link}", + ] +} + +resource "google_compute_backend_service" "whois_backend_service" { + name = "whois-backend-service${var.suffix}" + protocol = "TCP" + timeout_sec = 60 + port_name = "whois${var.suffix}" + + backend { + group = "${var.proxy_instance_groups["americas"]}" + } + + backend { + group = "${var.proxy_instance_groups["emea"]}" + } + + backend { + group = "${var.proxy_instance_groups["apac"]}" + } + + health_checks = [ + "${google_compute_health_check.proxy_health_check.self_link}", + ] +} + +resource "google_compute_backend_service" "https_whois_backend_service" { + name = "https-whois-backend-service${var.suffix}" + protocol = "TCP" + timeout_sec = 60 + port_name = "https-whois${var.suffix}" + + backend { + group = "${var.proxy_instance_groups["americas"]}" + } + + backend { + group = "${var.proxy_instance_groups["emea"]}" + } + + backend { + group = "${var.proxy_instance_groups["apac"]}" + } + + health_checks = [ + "${google_compute_health_check.proxy_health_check.self_link}", + ] +} + +resource "google_compute_backend_service" "http_whois_backend_service" { + name = "http-whois-backend-service${var.suffix}" + protocol = "HTTP" + timeout_sec = 60 + port_name = "http-whois${var.suffix}" + + backend { + group = "${var.proxy_instance_groups["americas"]}" + } + + backend { + group = "${var.proxy_instance_groups["emea"]}" + } + + backend { + group = "${var.proxy_instance_groups["apac"]}" + } + + health_checks = [ + "${google_compute_health_check.proxy_http_health_check.self_link}", + ] +} + +resource "google_compute_target_tcp_proxy" "epp_tcp_proxy" { + name = "epp-tcp-proxy${var.suffix}" + proxy_header = "PROXY_V1" + backend_service = "${google_compute_backend_service.epp_backend_service.self_link}" +} + +resource "google_compute_target_tcp_proxy" "whois_tcp_proxy" { + name = "whois-tcp-proxy${var.suffix}" + proxy_header = "PROXY_V1" + backend_service = "${google_compute_backend_service.whois_backend_service.self_link}" +} + +resource "google_compute_target_tcp_proxy" "https_whois_tcp_proxy" { + name = "https-whois-tcp-proxy${var.suffix}" + backend_service = "${google_compute_backend_service.https_whois_backend_service.self_link}" +} + +resource "google_compute_target_http_proxy" "http_whois_http_proxy" { + name = "http-whois-tcp-proxy${var.suffix}" + url_map = "${google_compute_url_map.proxy_url_map.self_link}" +} + +resource "google_compute_global_forwarding_rule" "epp_ipv4_forwarding_rule" { + name = "epp-ipv4-forwarding-rule${var.suffix}" + ip_address = "${google_compute_global_address.proxy_ipv4_address.address}" + target = "${google_compute_target_tcp_proxy.epp_tcp_proxy.self_link}" + port_range = "700" +} + +resource "google_compute_global_forwarding_rule" "epp_ipv6_forwarding_rule" { + name = "epp-ipv6-forwarding-rule${var.suffix}" + ip_address = "${google_compute_global_address.proxy_ipv6_address.address}" + target = "${google_compute_target_tcp_proxy.epp_tcp_proxy.self_link}" + port_range = "700" +} + +resource "google_compute_global_forwarding_rule" "whois_ipv4_forwarding_rule" { + name = "whois-ipv4-forwarding-rule${var.suffix}" + ip_address = "${google_compute_global_address.proxy_ipv4_address.address}" + target = "${google_compute_target_tcp_proxy.whois_tcp_proxy.self_link}" + port_range = "43" +} + +resource "google_compute_global_forwarding_rule" "whois_ipv6_forwarding_rule" { + name = "whois-ipv6-forwarding-rule${var.suffix}" + ip_address = "${google_compute_global_address.proxy_ipv6_address.address}" + target = "${google_compute_target_tcp_proxy.whois_tcp_proxy.self_link}" + port_range = "43" +} + +resource "google_compute_global_forwarding_rule" "https_whois_ipv4_forwarding_rule" { + name = "https-whois-ipv4-forwarding-rule${var.suffix}" + ip_address = "${google_compute_global_address.proxy_ipv4_address.address}" + target = "${google_compute_target_tcp_proxy.https_whois_tcp_proxy.self_link}" + port_range = "443" +} + +resource "google_compute_global_forwarding_rule" "https_whois_ipv6_forwarding_rule" { + name = "https-whois-ipv6-forwarding-rule${var.suffix}" + ip_address = "${google_compute_global_address.proxy_ipv6_address.address}" + target = "${google_compute_target_tcp_proxy.https_whois_tcp_proxy.self_link}" + port_range = "443" +} + +resource "google_compute_global_forwarding_rule" "http_whois_ipv4_forwarding_rule" { + name = "http-whois-ipv4-forwarding-rule${var.suffix}" + ip_address = "${google_compute_global_address.proxy_ipv4_address.address}" + target = "${google_compute_target_http_proxy.http_whois_http_proxy.self_link}" + port_range = "80" +} + +resource "google_compute_global_forwarding_rule" "http_whois_ipv6_forwarding_rule" { + name = "http-whois-ipv6-forwarding-rule${var.suffix}" + ip_address = "${google_compute_global_address.proxy_ipv6_address.address}" + target = "${google_compute_target_http_proxy.http_whois_http_proxy.self_link}" + port_range = "80" +} diff --git a/java/google/registry/proxy/terraform/modules/networking/output.tf b/java/google/registry/proxy/terraform/modules/networking/output.tf new file mode 100644 index 000000000..7a269f358 --- /dev/null +++ b/java/google/registry/proxy/terraform/modules/networking/output.tf @@ -0,0 +1,7 @@ +output "proxy_ipv4_address" { + value = "${google_compute_global_address.proxy_ipv4_address.address}" +} + +output "proxy_ipv6_address" { + value = "${google_compute_global_address.proxy_ipv6_address.address}" +} diff --git a/proxy/java/google/registry/proxy/terraform/modules/output.tf b/java/google/registry/proxy/terraform/modules/output.tf similarity index 100% rename from proxy/java/google/registry/proxy/terraform/modules/output.tf rename to java/google/registry/proxy/terraform/modules/output.tf diff --git a/proxy/java/google/registry/proxy/terraform/update_named_ports.sh b/java/google/registry/proxy/terraform/update_named_ports.sh similarity index 100% rename from proxy/java/google/registry/proxy/terraform/update_named_ports.sh rename to java/google/registry/proxy/terraform/update_named_ports.sh diff --git a/proxy/javatests/google/registry/proxy/BUILD b/javatests/google/registry/proxy/BUILD similarity index 96% rename from proxy/javatests/google/registry/proxy/BUILD rename to javatests/google/registry/proxy/BUILD index 0744cb396..9ad6375b3 100644 --- a/proxy/javatests/google/registry/proxy/BUILD +++ b/javatests/google/registry/proxy/BUILD @@ -18,9 +18,9 @@ java_library( "@io_netty_tcnative_boringssl_static", ], deps = [ + "//java/google/registry/proxy", "//java/google/registry/util", "//javatests/google/registry/testing", - "//proxy/java/google/registry/proxy", "@com_beust_jcommander", "@com_google_dagger", "@com_google_guava", diff --git a/proxy/javatests/google/registry/proxy/CertificateModuleTest.java b/javatests/google/registry/proxy/CertificateModuleTest.java similarity index 100% rename from proxy/javatests/google/registry/proxy/CertificateModuleTest.java rename to javatests/google/registry/proxy/CertificateModuleTest.java diff --git a/proxy/javatests/google/registry/proxy/EppProtocolModuleTest.java b/javatests/google/registry/proxy/EppProtocolModuleTest.java similarity index 100% rename from proxy/javatests/google/registry/proxy/EppProtocolModuleTest.java rename to javatests/google/registry/proxy/EppProtocolModuleTest.java diff --git a/proxy/javatests/google/registry/proxy/GcpJsonFormatterTest.java b/javatests/google/registry/proxy/GcpJsonFormatterTest.java similarity index 100% rename from proxy/javatests/google/registry/proxy/GcpJsonFormatterTest.java rename to javatests/google/registry/proxy/GcpJsonFormatterTest.java diff --git a/proxy/javatests/google/registry/proxy/HealthCheckProtocolModuleTest.java b/javatests/google/registry/proxy/HealthCheckProtocolModuleTest.java similarity index 100% rename from proxy/javatests/google/registry/proxy/HealthCheckProtocolModuleTest.java rename to javatests/google/registry/proxy/HealthCheckProtocolModuleTest.java diff --git a/proxy/javatests/google/registry/proxy/HttpsRelayProtocolModuleTest.java b/javatests/google/registry/proxy/HttpsRelayProtocolModuleTest.java similarity index 100% rename from proxy/javatests/google/registry/proxy/HttpsRelayProtocolModuleTest.java rename to javatests/google/registry/proxy/HttpsRelayProtocolModuleTest.java diff --git a/proxy/javatests/google/registry/proxy/ProtocolModuleTest.java b/javatests/google/registry/proxy/ProtocolModuleTest.java similarity index 100% rename from proxy/javatests/google/registry/proxy/ProtocolModuleTest.java rename to javatests/google/registry/proxy/ProtocolModuleTest.java diff --git a/proxy/javatests/google/registry/proxy/ProxyModuleTest.java b/javatests/google/registry/proxy/ProxyModuleTest.java similarity index 100% rename from proxy/javatests/google/registry/proxy/ProxyModuleTest.java rename to javatests/google/registry/proxy/ProxyModuleTest.java diff --git a/proxy/javatests/google/registry/proxy/TestUtils.java b/javatests/google/registry/proxy/TestUtils.java similarity index 100% rename from proxy/javatests/google/registry/proxy/TestUtils.java rename to javatests/google/registry/proxy/TestUtils.java diff --git a/proxy/javatests/google/registry/proxy/WebWhoisProtocolsModuleTest.java b/javatests/google/registry/proxy/WebWhoisProtocolsModuleTest.java similarity index 100% rename from proxy/javatests/google/registry/proxy/WebWhoisProtocolsModuleTest.java rename to javatests/google/registry/proxy/WebWhoisProtocolsModuleTest.java diff --git a/proxy/javatests/google/registry/proxy/WhoisProtocolModuleTest.java b/javatests/google/registry/proxy/WhoisProtocolModuleTest.java similarity index 100% rename from proxy/javatests/google/registry/proxy/WhoisProtocolModuleTest.java rename to javatests/google/registry/proxy/WhoisProtocolModuleTest.java diff --git a/proxy/javatests/google/registry/proxy/handler/BackendMetricsHandlerTest.java b/javatests/google/registry/proxy/handler/BackendMetricsHandlerTest.java similarity index 100% rename from proxy/javatests/google/registry/proxy/handler/BackendMetricsHandlerTest.java rename to javatests/google/registry/proxy/handler/BackendMetricsHandlerTest.java diff --git a/proxy/javatests/google/registry/proxy/handler/EppQuotaHandlerTest.java b/javatests/google/registry/proxy/handler/EppQuotaHandlerTest.java similarity index 100% rename from proxy/javatests/google/registry/proxy/handler/EppQuotaHandlerTest.java rename to javatests/google/registry/proxy/handler/EppQuotaHandlerTest.java diff --git a/proxy/javatests/google/registry/proxy/handler/EppServiceHandlerTest.java b/javatests/google/registry/proxy/handler/EppServiceHandlerTest.java similarity index 100% rename from proxy/javatests/google/registry/proxy/handler/EppServiceHandlerTest.java rename to javatests/google/registry/proxy/handler/EppServiceHandlerTest.java diff --git a/proxy/javatests/google/registry/proxy/handler/HealthCheckHandlerTest.java b/javatests/google/registry/proxy/handler/HealthCheckHandlerTest.java similarity index 100% rename from proxy/javatests/google/registry/proxy/handler/HealthCheckHandlerTest.java rename to javatests/google/registry/proxy/handler/HealthCheckHandlerTest.java diff --git a/proxy/javatests/google/registry/proxy/handler/NettyRule.java b/javatests/google/registry/proxy/handler/NettyRule.java similarity index 100% rename from proxy/javatests/google/registry/proxy/handler/NettyRule.java rename to javatests/google/registry/proxy/handler/NettyRule.java diff --git a/proxy/javatests/google/registry/proxy/handler/ProxyProtocolHandlerTest.java b/javatests/google/registry/proxy/handler/ProxyProtocolHandlerTest.java similarity index 100% rename from proxy/javatests/google/registry/proxy/handler/ProxyProtocolHandlerTest.java rename to javatests/google/registry/proxy/handler/ProxyProtocolHandlerTest.java diff --git a/proxy/javatests/google/registry/proxy/handler/RelayHandlerTest.java b/javatests/google/registry/proxy/handler/RelayHandlerTest.java similarity index 100% rename from proxy/javatests/google/registry/proxy/handler/RelayHandlerTest.java rename to javatests/google/registry/proxy/handler/RelayHandlerTest.java diff --git a/proxy/javatests/google/registry/proxy/handler/SslClientInitializerTest.java b/javatests/google/registry/proxy/handler/SslClientInitializerTest.java similarity index 100% rename from proxy/javatests/google/registry/proxy/handler/SslClientInitializerTest.java rename to javatests/google/registry/proxy/handler/SslClientInitializerTest.java diff --git a/proxy/javatests/google/registry/proxy/handler/SslInitializerTestUtils.java b/javatests/google/registry/proxy/handler/SslInitializerTestUtils.java similarity index 100% rename from proxy/javatests/google/registry/proxy/handler/SslInitializerTestUtils.java rename to javatests/google/registry/proxy/handler/SslInitializerTestUtils.java diff --git a/proxy/javatests/google/registry/proxy/handler/SslServerInitializerTest.java b/javatests/google/registry/proxy/handler/SslServerInitializerTest.java similarity index 100% rename from proxy/javatests/google/registry/proxy/handler/SslServerInitializerTest.java rename to javatests/google/registry/proxy/handler/SslServerInitializerTest.java diff --git a/proxy/javatests/google/registry/proxy/handler/WebWhoisRedirectHandlerTest.java b/javatests/google/registry/proxy/handler/WebWhoisRedirectHandlerTest.java similarity index 100% rename from proxy/javatests/google/registry/proxy/handler/WebWhoisRedirectHandlerTest.java rename to javatests/google/registry/proxy/handler/WebWhoisRedirectHandlerTest.java diff --git a/proxy/javatests/google/registry/proxy/handler/WhoisQuotaHandlerTest.java b/javatests/google/registry/proxy/handler/WhoisQuotaHandlerTest.java similarity index 100% rename from proxy/javatests/google/registry/proxy/handler/WhoisQuotaHandlerTest.java rename to javatests/google/registry/proxy/handler/WhoisQuotaHandlerTest.java diff --git a/proxy/javatests/google/registry/proxy/handler/WhoisServiceHandlerTest.java b/javatests/google/registry/proxy/handler/WhoisServiceHandlerTest.java similarity index 100% rename from proxy/javatests/google/registry/proxy/handler/WhoisServiceHandlerTest.java rename to javatests/google/registry/proxy/handler/WhoisServiceHandlerTest.java diff --git a/proxy/javatests/google/registry/proxy/metric/BackendMetricsTest.java b/javatests/google/registry/proxy/metric/BackendMetricsTest.java similarity index 100% rename from proxy/javatests/google/registry/proxy/metric/BackendMetricsTest.java rename to javatests/google/registry/proxy/metric/BackendMetricsTest.java diff --git a/proxy/javatests/google/registry/proxy/metric/FrontendMetricsTest.java b/javatests/google/registry/proxy/metric/FrontendMetricsTest.java similarity index 100% rename from proxy/javatests/google/registry/proxy/metric/FrontendMetricsTest.java rename to javatests/google/registry/proxy/metric/FrontendMetricsTest.java diff --git a/proxy/javatests/google/registry/proxy/metric/MetricParametersTest.java b/javatests/google/registry/proxy/metric/MetricParametersTest.java similarity index 100% rename from proxy/javatests/google/registry/proxy/metric/MetricParametersTest.java rename to javatests/google/registry/proxy/metric/MetricParametersTest.java diff --git a/proxy/javatests/google/registry/proxy/quota/QuotaConfigTest.java b/javatests/google/registry/proxy/quota/QuotaConfigTest.java similarity index 96% rename from proxy/javatests/google/registry/proxy/quota/QuotaConfigTest.java rename to javatests/google/registry/proxy/quota/QuotaConfigTest.java index 66b61a012..71eb0da37 100644 --- a/proxy/javatests/google/registry/proxy/quota/QuotaConfigTest.java +++ b/javatests/google/registry/proxy/quota/QuotaConfigTest.java @@ -1,4 +1,4 @@ -// Copyright 2017 The Nomulus Authors. All Rights Reserved. +// Copyright 2018 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. @@ -49,7 +49,7 @@ public class QuotaConfigTest { @Test public void testSuccess_regularConfig() { quotaConfig = loadQuotaConfig("quota_config_regular.yaml"); - assertThat(quotaConfig.getRefreshPeriod()).isEqualTo(Duration.standardSeconds(3600)); + assertThat(quotaConfig.getRefreshPeriod()).isEqualTo(Duration.standardHours(1)); validateQuota("abc", 10, 60); validateQuota("987lol", 500, 10); validateQuota("no_match", 100, 60); @@ -58,7 +58,7 @@ public class QuotaConfigTest { @Test public void testSuccess_onlyDefault() { quotaConfig = loadQuotaConfig("quota_config_default.yaml"); - assertThat(quotaConfig.getRefreshPeriod()).isEqualTo(Duration.standardSeconds(3600)); + assertThat(quotaConfig.getRefreshPeriod()).isEqualTo(Duration.standardHours(1)); validateQuota("abc", 100, 60); validateQuota("987lol", 100, 60); validateQuota("no_match", 100, 60); diff --git a/proxy/javatests/google/registry/proxy/quota/QuotaManagerTest.java b/javatests/google/registry/proxy/quota/QuotaManagerTest.java similarity index 100% rename from proxy/javatests/google/registry/proxy/quota/QuotaManagerTest.java rename to javatests/google/registry/proxy/quota/QuotaManagerTest.java diff --git a/proxy/javatests/google/registry/proxy/quota/TokenStoreTest.java b/javatests/google/registry/proxy/quota/TokenStoreTest.java similarity index 100% rename from proxy/javatests/google/registry/proxy/quota/TokenStoreTest.java rename to javatests/google/registry/proxy/quota/TokenStoreTest.java diff --git a/proxy/javatests/google/registry/proxy/quota/testdata/quota_config_default.yaml b/javatests/google/registry/proxy/quota/testdata/quota_config_default.yaml similarity index 100% rename from proxy/javatests/google/registry/proxy/quota/testdata/quota_config_default.yaml rename to javatests/google/registry/proxy/quota/testdata/quota_config_default.yaml diff --git a/proxy/javatests/google/registry/proxy/quota/testdata/quota_config_duplicate.yaml b/javatests/google/registry/proxy/quota/testdata/quota_config_duplicate.yaml similarity index 100% rename from proxy/javatests/google/registry/proxy/quota/testdata/quota_config_duplicate.yaml rename to javatests/google/registry/proxy/quota/testdata/quota_config_duplicate.yaml diff --git a/proxy/javatests/google/registry/proxy/quota/testdata/quota_config_no_refresh_no_refill.yaml b/javatests/google/registry/proxy/quota/testdata/quota_config_no_refresh_no_refill.yaml similarity index 100% rename from proxy/javatests/google/registry/proxy/quota/testdata/quota_config_no_refresh_no_refill.yaml rename to javatests/google/registry/proxy/quota/testdata/quota_config_no_refresh_no_refill.yaml diff --git a/proxy/javatests/google/registry/proxy/quota/testdata/quota_config_regular.yaml b/javatests/google/registry/proxy/quota/testdata/quota_config_regular.yaml similarity index 100% rename from proxy/javatests/google/registry/proxy/quota/testdata/quota_config_regular.yaml rename to javatests/google/registry/proxy/quota/testdata/quota_config_regular.yaml diff --git a/proxy/javatests/google/registry/proxy/quota/testdata/quota_config_unlimited_tokens.yaml b/javatests/google/registry/proxy/quota/testdata/quota_config_unlimited_tokens.yaml similarity index 100% rename from proxy/javatests/google/registry/proxy/quota/testdata/quota_config_unlimited_tokens.yaml rename to javatests/google/registry/proxy/quota/testdata/quota_config_unlimited_tokens.yaml diff --git a/proxy/javatests/google/registry/proxy/testdata/login.xml b/javatests/google/registry/proxy/testdata/login.xml similarity index 100% rename from proxy/javatests/google/registry/proxy/testdata/login.xml rename to javatests/google/registry/proxy/testdata/login.xml diff --git a/proxy/javatests/google/registry/proxy/testdata/login_response.xml b/javatests/google/registry/proxy/testdata/login_response.xml similarity index 100% rename from proxy/javatests/google/registry/proxy/testdata/login_response.xml rename to javatests/google/registry/proxy/testdata/login_response.xml diff --git a/proxy/javatests/google/registry/proxy/testdata/logout.xml b/javatests/google/registry/proxy/testdata/logout.xml similarity index 100% rename from proxy/javatests/google/registry/proxy/testdata/logout.xml rename to javatests/google/registry/proxy/testdata/logout.xml diff --git a/proxy/javatests/google/registry/proxy/testdata/logout_response.xml b/javatests/google/registry/proxy/testdata/logout_response.xml similarity index 100% rename from proxy/javatests/google/registry/proxy/testdata/logout_response.xml rename to javatests/google/registry/proxy/testdata/logout_response.xml diff --git a/javatests/google/registry/testing/BUILD b/javatests/google/registry/testing/BUILD index da61a221e..9e5e555f2 100644 --- a/javatests/google/registry/testing/BUILD +++ b/javatests/google/registry/testing/BUILD @@ -9,10 +9,6 @@ java_library( name = "testing", srcs = glob( ["*.java"], - exclude = [ - "FakeProxyConnectionMetadataProvider.java", - "FakeQuotaServerClient.java", - ], ), resources = [ "logging.properties",