diff --git a/event-logger/pom.xml b/event-logger/pom.xml
deleted file mode 100644
index 82faa3e2f..000000000
--- a/event-logger/pom.xml
+++ /dev/null
@@ -1,94 +0,0 @@
-
-
-
-
-
- TextSecureServer
- org.whispersystems.textsecure
- JGITVER
-
-
- 4.0.0
- event-logger
-
-
-
- com.google.cloud
- google-cloud-logging
-
-
- org.jetbrains.kotlin
- kotlin-stdlib
-
-
- org.jetbrains
-
- annotations
-
-
-
-
- org.jetbrains.kotlinx
- kotlinx-serialization-json
- ${kotlinx-serialization.version}
-
-
-
-
- ${project.basedir}/src/main/kotlin
- ${project.basedir}/src/test/kotlin
-
-
-
- org.jetbrains.kotlin
- kotlin-maven-plugin
- ${kotlin.version}
-
-
-
- compile
-
- compile
-
-
-
-
- test-compile
-
- test-compile
-
-
-
-
-
- kotlinx-serialization
-
-
-
-
- org.jetbrains.kotlin
- kotlin-maven-serialization
- ${kotlin.version}
-
-
-
-
- com.google.cloud.tools
- jib-maven-plugin
-
-
- true
-
-
-
-
-
-
diff --git a/event-logger/src/main/kotlin/events.kt b/event-logger/src/main/kotlin/events.kt
deleted file mode 100644
index b1bbbc5a4..000000000
--- a/event-logger/src/main/kotlin/events.kt
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- * Copyright 2022 Signal Messenger, LLC
- * SPDX-License-Identifier: AGPL-3.0-only
- */
-
-package org.signal.event
-
-import java.util.Collections
-import kotlinx.serialization.Serializable
-import kotlinx.serialization.json.Json
-import kotlinx.serialization.modules.SerializersModule
-import kotlinx.serialization.modules.polymorphic
-import kotlinx.serialization.modules.subclass
-
-val module = SerializersModule {
- polymorphic(Event::class) {
- subclass(RemoteConfigSetEvent::class)
- subclass(RemoteConfigDeleteEvent::class)
- }
-}
-val jsonFormat = Json { serializersModule = module }
-
-sealed interface Event
-
-@Serializable
-data class RemoteConfigSetEvent(
- val identity: String,
- val name: String,
- val percentage: Int,
- val defaultValue: String? = null,
- val value: String? = null,
- val hashKey: String? = null,
- val uuids: Collection = Collections.emptyList(),
-) : Event
-
-@Serializable
-data class RemoteConfigDeleteEvent(
- val identity: String,
- val name: String,
-) : Event
diff --git a/event-logger/src/main/kotlin/loggers.kt b/event-logger/src/main/kotlin/loggers.kt
deleted file mode 100644
index 4e87f7ea8..000000000
--- a/event-logger/src/main/kotlin/loggers.kt
+++ /dev/null
@@ -1,41 +0,0 @@
-/*
- * Copyright 2022 Signal Messenger, LLC
- * SPDX-License-Identifier: AGPL-3.0-only
- */
-
-package org.signal.event
-
-import com.google.cloud.logging.LogEntry
-import com.google.cloud.logging.Logging
-import com.google.cloud.logging.MonitoredResourceUtil
-import com.google.cloud.logging.Payload.JsonPayload
-import com.google.cloud.logging.Severity
-import com.google.protobuf.Struct
-import com.google.protobuf.util.JsonFormat
-import kotlinx.serialization.encodeToString
-
-interface AdminEventLogger {
- fun logEvent(event: Event, labels: Map?)
- fun logEvent(event: Event) = logEvent(event, null)
-}
-
-class NoOpAdminEventLogger : AdminEventLogger {
- override fun logEvent(event: Event, labels: Map?) {}
-}
-
-class GoogleCloudAdminEventLogger(private val logging: Logging, private val projectId: String, private val logName: String) : AdminEventLogger {
- override fun logEvent(event: Event, labels: Map?) {
- val structBuilder = Struct.newBuilder()
- JsonFormat.parser().merge(jsonFormat.encodeToString(event), structBuilder)
- val struct = structBuilder.build()
-
- val logEntryBuilder = LogEntry.newBuilder(JsonPayload.of(struct))
- .setLogName(logName)
- .setSeverity(Severity.NOTICE)
- .setResource(MonitoredResourceUtil.getResource(projectId, "project"));
- if (labels != null) {
- logEntryBuilder.setLabels(labels);
- }
- logging.write(listOf(logEntryBuilder.build()))
- }
-}
diff --git a/event-logger/src/test/kotlin/org/signal/event/GoogleCloudAdminEventLoggerTest.kt b/event-logger/src/test/kotlin/org/signal/event/GoogleCloudAdminEventLoggerTest.kt
deleted file mode 100644
index 0ac27778f..000000000
--- a/event-logger/src/test/kotlin/org/signal/event/GoogleCloudAdminEventLoggerTest.kt
+++ /dev/null
@@ -1,35 +0,0 @@
-/*
- * Copyright 2023 Signal Messenger, LLC
- * SPDX-License-Identifier: AGPL-3.0-only
- */
-
-package org.signal.event
-
-import com.google.cloud.logging.Logging
-import com.google.cloud.logging.LoggingOptions
-import org.junit.jupiter.api.Test
-import org.junit.jupiter.api.assertDoesNotThrow
-import org.mockito.Mockito.mock
-
-class GoogleCloudAdminEventLoggerTest {
-
- @Test
- fun logEvent() {
- val logging = mock(Logging::class.java)
- val logger = GoogleCloudAdminEventLogger(logging, "my-project", "test")
-
- val event = RemoteConfigDeleteEvent("token", "test")
- logger.logEvent(event)
- }
-
- @Test
- fun testGetService() {
- assertDoesNotThrow {
- // This is a canary for version conflicts between the cloud logging library and protobuf-java
- LoggingOptions.newBuilder()
- .setProjectId("test")
- .build()
- .getService()
- }
- }
-}
diff --git a/pom.xml b/pom.xml
index 31aba15bd..a84f53826 100644
--- a/pom.xml
+++ b/pom.xml
@@ -31,7 +31,6 @@
api-doc
- event-logger
integration-tests
service
websocket-resources
diff --git a/service/config/sample.yml b/service/config/sample.yml
index 1ceedd6be..15aa59e03 100644
--- a/service/config/sample.yml
+++ b/service/config/sample.yml
@@ -40,14 +40,6 @@ metrics:
- ^lettuce\..+$
reportOnStop: true
-adminEventLoggingConfiguration:
- credentials: |
- {
- "key": "value"
- }
- projectId: some-project-id
- logName: some-log-name
-
grpcPort: 8080
stripe:
diff --git a/service/pom.xml b/service/pom.xml
index 2a6db6b76..fc31db589 100644
--- a/service/pom.xml
+++ b/service/pom.xml
@@ -42,11 +42,6 @@
jakarta.ws.rs-api
-
- org.whispersystems.textsecure
- event-logger
- ${project.version}
-
org.whispersystems.textsecure
websocket-resources
@@ -469,6 +464,13 @@
com.apollographql.apollo3
apollo-api-jvm
3.8.2
+
+
+
+ org.jetbrains
+ annotations
+
+
diff --git a/service/src/main/java/org/whispersystems/textsecuregcm/WhisperServerConfiguration.java b/service/src/main/java/org/whispersystems/textsecuregcm/WhisperServerConfiguration.java
index 30410d685..21209a717 100644
--- a/service/src/main/java/org/whispersystems/textsecuregcm/WhisperServerConfiguration.java
+++ b/service/src/main/java/org/whispersystems/textsecuregcm/WhisperServerConfiguration.java
@@ -16,7 +16,6 @@ import java.util.Set;
import javax.validation.Valid;
import javax.validation.constraints.NotNull;
import org.whispersystems.textsecuregcm.attachments.TusConfiguration;
-import org.whispersystems.textsecuregcm.configuration.AdminEventLoggingConfiguration;
import org.whispersystems.textsecuregcm.configuration.ApnConfiguration;
import org.whispersystems.textsecuregcm.configuration.AppConfigConfiguration;
import org.whispersystems.textsecuregcm.configuration.ArtServiceConfiguration;
@@ -63,11 +62,6 @@ import org.whispersystems.websocket.configuration.WebSocketConfiguration;
/** @noinspection MismatchedQueryAndUpdateOfCollection, WeakerAccess */
public class WhisperServerConfiguration extends Configuration {
- @NotNull
- @Valid
- @JsonProperty
- private AdminEventLoggingConfiguration adminEventLoggingConfiguration;
-
@NotNull
@Valid
@JsonProperty
@@ -316,10 +310,6 @@ public class WhisperServerConfiguration extends Configuration {
@JsonProperty
private LinkDeviceSecretConfiguration linkDevice;
- public AdminEventLoggingConfiguration getAdminEventLoggingConfiguration() {
- return adminEventLoggingConfiguration;
- }
-
public StripeConfiguration getStripe() {
return stripe;
}
diff --git a/service/src/main/java/org/whispersystems/textsecuregcm/WhisperServerService.java b/service/src/main/java/org/whispersystems/textsecuregcm/WhisperServerService.java
index 5b4b348b8..7a24fe48e 100644
--- a/service/src/main/java/org/whispersystems/textsecuregcm/WhisperServerService.java
+++ b/service/src/main/java/org/whispersystems/textsecuregcm/WhisperServerService.java
@@ -7,8 +7,6 @@ package org.whispersystems.textsecuregcm;
import static com.codahale.metrics.MetricRegistry.name;
import static java.util.Objects.requireNonNull;
-import com.google.auth.oauth2.GoogleCredentials;
-import com.google.cloud.logging.LoggingOptions;
import com.google.common.collect.ImmutableMap;
import com.google.common.collect.ImmutableSet;
import com.google.common.collect.Lists;
@@ -28,9 +26,7 @@ import io.lettuce.core.resource.ClientResources;
import io.micrometer.core.instrument.Metrics;
import io.micrometer.core.instrument.binder.grpc.MetricCollectingServerInterceptor;
import io.micrometer.core.instrument.binder.jvm.ExecutorServiceMetrics;
-import java.io.ByteArrayInputStream;
import java.net.http.HttpClient;
-import java.nio.charset.StandardCharsets;
import java.time.Clock;
import java.time.Duration;
import java.util.Collections;
@@ -50,8 +46,6 @@ import javax.servlet.ServletRegistration;
import org.eclipse.jetty.servlets.CrossOriginFilter;
import org.eclipse.jetty.websocket.server.config.JettyWebSocketServletContainerInitializer;
import org.glassfish.jersey.server.ServerProperties;
-import org.signal.event.AdminEventLogger;
-import org.signal.event.GoogleCloudAdminEventLogger;
import org.signal.i18n.HeaderControlledResourceBundleLookup;
import org.signal.libsignal.zkgroup.GenericServerSecretParams;
import org.signal.libsignal.zkgroup.ServerSecretParams;
@@ -473,14 +467,6 @@ public class WhisperServerService extends Application