Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
123 changes: 0 additions & 123 deletions console-webapp/package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

12 changes: 12 additions & 0 deletions core/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -126,6 +126,7 @@ dependencies {
implementation deps['com.google.api:gax']
implementation deps['com.google.api.grpc:proto-google-common-protos']
implementation deps['com.google.api.grpc:proto-google-cloud-secretmanager-v1']
implementation deps['com.google.apis:google-api-services-cloudkms']
implementation deps['com.google.api-client:google-api-client']
implementation deps['com.google.api-client:google-api-client-servlet']
implementation deps['com.google.monitoring-client:metrics']
Expand Down Expand Up @@ -244,6 +245,7 @@ dependencies {
implementation project(':common')
testImplementation project(path: ':common', configuration: 'testing')
implementation project(':util')
implementation project(':networking')
// Import NomulusPostreSql from ':db' for implementation but exclude dependencies.
implementation project(path: ':db', configuration: 'implementationApi')
nonprodRuntimeOnly project(':db')
Expand Down Expand Up @@ -277,6 +279,16 @@ dependencies {
testImplementation deps['org.mockito:mockito-core']
testImplementation deps['org.mockito:mockito-junit-jupiter']

implementation deps['io.netty:netty-buffer']
implementation deps['io.netty:netty-codec-http']
implementation deps['io.netty:netty-codec']
implementation deps['io.netty:netty-common']
implementation deps['io.netty:netty-handler']
implementation deps['io.netty:netty-transport']
implementation deps['redis.clients:jedis']
runtimeOnly deps['io.netty:netty-tcnative-boringssl-static']
implementation deps['org.yaml:snakeyaml']

// Indirect dependency found by undeclared-dependency check. Such
// dependencies should go after all other implementation and testImplementation
// dependencies to avoid overriding them accidentally.
Expand Down
97 changes: 97 additions & 0 deletions core/src/main/java/google/registry/config/RegistryConfig.java
Original file line number Diff line number Diff line change
Expand Up @@ -1521,6 +1521,103 @@ public static Optional<ImmutableList<String>> provideValkeyHostsAndPorts(
.map(valkey -> ImmutableList.copyOf(valkey.hostsAndPorts));
}

@Provides
@Config("eppServerPort")
public static int provideEppServerPort(RegistryConfigSettings config) {
return config.eppServer.port;
}

@Provides
@Config("eppServerHealthCheckPort")
public static int provideEppServerHealthCheckPort(RegistryConfigSettings config) {
return config.eppServer.healthCheckPort;
}

@Provides
@Config("eppServerSslPemBucket")
public static String provideEppServerSslPemBucket(RegistryConfigSettings config) {
return config.eppServer.sslPemBucket;
}

@Provides
@Config("eppServerSslPemFilename")
public static String provideEppServerSslPemFilename(RegistryConfigSettings config) {
return config.eppServer.sslPemFilename;
}

@Provides
@Config("eppServerKmsLocation")
public static String provideEppServerKmsLocation(RegistryConfigSettings config) {
return config.eppServer.kmsLocation;
}

@Provides
@Config("eppServerKmsKeyRing")
public static String provideEppServerKmsKeyRing(RegistryConfigSettings config) {
return config.eppServer.kmsKeyRing;
}

@Provides
@Config("eppServerKmsCryptoKey")
public static String provideEppServerKmsCryptoKey(RegistryConfigSettings config) {
return config.eppServer.kmsCryptoKey;
}

@Provides
@Config("eppServerMaxMessageLengthBytes")
public static int provideEppServerMaxMessageLengthBytes(RegistryConfigSettings config) {
return config.eppServer.maxMessageLengthBytes;
}

@Provides
@Config("eppServerHeaderLengthBytes")
public static int provideEppServerHeaderLengthBytes(RegistryConfigSettings config) {
return config.eppServer.headerLengthBytes;
}

@Provides
@Config("eppServerReadTimeoutSeconds")
public static int provideEppServerReadTimeoutSeconds(RegistryConfigSettings config) {
return config.eppServer.readTimeoutSeconds;
}

@Provides
@Config("eppServerMaxConnectionsPerIp")
public static int provideEppServerMaxConnectionsPerIp(RegistryConfigSettings config) {
return config.eppServer.maxConnectionsPerIp;
}

@Provides
@Config("eppServerMaxConnectionsPerCert")
public static int provideEppServerMaxConnectionsPerCert(RegistryConfigSettings config) {
return config.eppServer.maxConnectionsPerCert;
}

@Provides
@Config("eppServerCertificateCacheSeconds")
public static int provideEppServerCertificateCacheSeconds(RegistryConfigSettings config) {
return config.eppServer.serverCertificateCacheSeconds;
}

@Provides
@Config("eppServerQuota")
public static RegistryConfigSettings.Quota provideEppServerQuota(
RegistryConfigSettings config) {
return config.eppServer.quota;
}

@Provides
@Config("eppServerFrontendMetricsRatio")
public static double provideEppServerFrontendMetricsRatio(RegistryConfigSettings config) {
return config.monitoring.frontendMetricsRatio;
}

@Provides
@Config("writeIntervalSeconds")
public static int provideWriteIntervalSeconds(RegistryConfigSettings config) {
return config.monitoring.writeIntervalSeconds;
}

private static String formatComments(String text) {
return Splitter.on('\n').omitEmptyStrings().trimResults().splitToList(text).stream()
.map(s -> "# " + s)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,7 @@ public class RegistryConfigSettings {
public Bsa bsa;
public MosApi mosapi;
public Valkey valkey;
public EppServer eppServer;

/** Configuration options that apply to the entire GCP project. */
public static class GcpProject {
Expand Down Expand Up @@ -199,6 +200,42 @@ public static class Monitoring {
public int stackdriverMaxQps;
public int stackdriverMaxPointsPerRequest;
public int writeIntervalSeconds;
public double frontendMetricsRatio;
public double backendMetricsRatio;
}

/** Configuration for EppServer. */
public static class EppServer {
public int port;
public int healthCheckPort;
public String sslPemFilename;
public String sslPemBucket;
public String kmsLocation;
public String kmsKeyRing;
public String kmsCryptoKey;
public int maxMessageLengthBytes;
public int headerLengthBytes;
public int readTimeoutSeconds;
public int maxConnectionsPerIp;
public int maxConnectionsPerCert;
public int serverCertificateCacheSeconds;
public Quota quota;
}

/** Configuration options that apply to quota management. */
public static class Quota {

/** Quota configuration for a specific set of users. */
public static class QuotaGroup {
public List<String> userId;
public int tokenAmount;
public int refillSeconds;
public int batchSize;
}

public int refreshSeconds;
public QuotaGroup defaultQuota;
public List<QuotaGroup> customQuota;
}

/** Miscellaneous configuration that doesn't quite fit in anywhere else. */
Expand Down
Loading
Loading