Skip to content

Commit 31c15da

Browse files
authored
🔥 Remove OPA config properties (#351)
* 🔥 delete usages of opa config * 🔥 delete unneeded assertions * ⬆️ upgrade agent-config
1 parent ba96eb4 commit 31c15da

File tree

9 files changed

+1
-146
lines changed

9 files changed

+1
-146
lines changed

javaagent-core/src/main/java/org/hypertrace/agent/core/config/ReportingConfig.java

Lines changed: 0 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -23,36 +23,10 @@
2323

2424
public interface ReportingConfig {
2525

26-
/**
27-
* @return the {@link Opa} config implementation
28-
* @see Opa for more information on why this API is deprecated
29-
*/
30-
@Deprecated
31-
Opa opa();
32-
3326
boolean secure();
3427

3528
String token();
3629

37-
/**
38-
* Opa holds the configuration for the agent and filter implementations should interact with a
39-
* remote Open Policy Agent endpoint.
40-
*
41-
* <p>Note, this API is deprecated because it is a goal of the Hypertrace community to migrate
42-
* away form supplying this vendor-specific config and instead have authors of Hypertrace
43-
* extensions/filters to have an indiomatic way to extned the Hypertrace configuration properties
44-
* for their use cases
45-
*/
46-
@Deprecated
47-
interface Opa {
48-
49-
boolean enabled();
50-
51-
String endpoint();
52-
53-
int pollPeriodSeconds();
54-
}
55-
5630
final class ConfigProvider {
5731

5832
private static final Logger logger = LoggerFactory.getLogger(ConfigProvider.class);

otel-extensions/src/main/java/org/hypertrace/agent/otel/extensions/config/EnvironmentConfig.java

Lines changed: 0 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -23,8 +23,6 @@
2323
import org.hypertrace.agent.config.v1.Config.DataCapture;
2424
import org.hypertrace.agent.config.v1.Config.JavaAgent;
2525
import org.hypertrace.agent.config.v1.Config.Message;
26-
import org.hypertrace.agent.config.v1.Config.Opa;
27-
import org.hypertrace.agent.config.v1.Config.Opa.Builder;
2826
import org.hypertrace.agent.config.v1.Config.PropagationFormat;
2927
import org.hypertrace.agent.config.v1.Config.Reporting;
3028
import org.hypertrace.agent.config.v1.Config.TraceReporterType;
@@ -48,11 +46,6 @@ private EnvironmentConfig() {}
4846
static final String REPORTING_SECURE = REPORTING_PREFIX + "secure";
4947
static final String REPORTING_CERT_FILE = REPORTING_PREFIX + "cert.file";
5048

51-
private static final String OPA_PREFIX = REPORTING_PREFIX + "opa.";
52-
static final String OPA_ENDPOINT = OPA_PREFIX + "endpoint";
53-
static final String OPA_POLL_PERIOD = OPA_PREFIX + "poll.period.seconds";
54-
static final String OPA_ENABLED = OPA_PREFIX + "enabled";
55-
5649
private static final String CAPTURE_PREFIX = HT_PREFIX + "data.capture.";
5750
public static final String CAPTURE_BODY_MAX_SIZE_BYTES = CAPTURE_PREFIX + "body.max.size.bytes";
5851
public static final String CAPTURE_HTTP_HEADERS_PREFIX = CAPTURE_PREFIX + "http.headers.";
@@ -138,25 +131,6 @@ private static Reporting.Builder applyReporting(Reporting.Builder builder) {
138131
if (certFilePath != null) {
139132
builder.setCertFile(StringValue.of(certFilePath));
140133
}
141-
Builder opaBuilder = applyOpa(builder.getOpa().toBuilder());
142-
builder.setOpa(opaBuilder);
143-
return builder;
144-
}
145-
146-
private static Opa.Builder applyOpa(Opa.Builder builder) {
147-
String address = getProperty(OPA_ENDPOINT);
148-
if (address != null) {
149-
builder.setEndpoint(StringValue.newBuilder().setValue(address).build());
150-
}
151-
String pollPeriod = getProperty(OPA_POLL_PERIOD);
152-
if (pollPeriod != null) {
153-
builder.setPollPeriodSeconds(
154-
Int32Value.newBuilder().setValue(Integer.parseInt(pollPeriod)).build());
155-
}
156-
String enabled = getProperty(OPA_ENABLED);
157-
if (enabled != null) {
158-
builder.setEnabled(BoolValue.newBuilder().setValue(Boolean.valueOf(enabled)).build());
159-
}
160134
return builder;
161135
}
162136

otel-extensions/src/main/java/org/hypertrace/agent/otel/extensions/config/HypertraceConfig.java

Lines changed: 0 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -34,8 +34,6 @@
3434
import org.hypertrace.agent.config.v1.Config.AgentConfig;
3535
import org.hypertrace.agent.config.v1.Config.DataCapture;
3636
import org.hypertrace.agent.config.v1.Config.Message;
37-
import org.hypertrace.agent.config.v1.Config.Opa;
38-
import org.hypertrace.agent.config.v1.Config.Opa.Builder;
3937
import org.hypertrace.agent.config.v1.Config.PropagationFormat;
4038
import org.hypertrace.agent.config.v1.Config.Reporting;
4139
import org.hypertrace.agent.config.v1.Config.TraceReporterType;
@@ -54,8 +52,6 @@ private HypertraceConfig() {}
5452

5553
static final String DEFAULT_SERVICE_NAME = "unknown";
5654
static final String DEFAULT_REPORTING_ENDPOINT = "http://localhost:4317";
57-
static final String DEFAULT_OPA_ENDPOINT = "http://localhost:8181/";
58-
static final int DEFAULT_OPA_POLL_PERIOD_SECONDS = 30;
5955
// 128 KiB
6056
static final int DEFAULT_BODY_MAX_SIZE_BYTES = 128 * 1024;
6157

@@ -146,19 +142,6 @@ private static Reporting.Builder applyReportingDefaults(Reporting.Builder builde
146142
if (builder.getTraceReporterType().equals(Config.TraceReporterType.UNSPECIFIED)) {
147143
builder.setTraceReporterType(TraceReporterType.OTLP);
148144
}
149-
Builder opaBuilder = applyOpaDefaults(builder.getOpa().toBuilder());
150-
builder.setOpa(opaBuilder);
151-
return builder;
152-
}
153-
154-
private static Opa.Builder applyOpaDefaults(Opa.Builder builder) {
155-
if (!builder.hasEndpoint()) {
156-
builder.setEndpoint(StringValue.newBuilder().setValue(DEFAULT_OPA_ENDPOINT).build());
157-
}
158-
if (!builder.hasPollPeriodSeconds()) {
159-
builder.setPollPeriodSeconds(
160-
Int32Value.newBuilder().setValue(DEFAULT_OPA_POLL_PERIOD_SECONDS).build());
161-
}
162145
return builder;
163146
}
164147

otel-extensions/src/main/java/org/hypertrace/agent/otel/extensions/config/ReportingConfigImpl.java

Lines changed: 0 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,6 @@
2323
@AutoService(ReportingConfig.class)
2424
public final class ReportingConfigImpl implements ReportingConfig {
2525

26-
private final Opa opa;
2726
private final Config.Reporting reporting;
2827

2928
/**
@@ -37,12 +36,6 @@ public ReportingConfigImpl() {
3736

3837
public ReportingConfigImpl(final Config.Reporting reportingConfig) {
3938
this.reporting = reportingConfig;
40-
this.opa = new OpaImpl(reportingConfig.getOpa());
41-
}
42-
43-
@Override
44-
public Opa opa() {
45-
return opa;
4639
}
4740

4841
@Override
@@ -54,28 +47,4 @@ public boolean secure() {
5447
public String token() {
5548
return reporting.getToken().getValue();
5649
}
57-
58-
private static final class OpaImpl implements Opa {
59-
60-
private final Config.Opa opa;
61-
62-
public OpaImpl(final Config.Opa opa) {
63-
this.opa = opa;
64-
}
65-
66-
@Override
67-
public boolean enabled() {
68-
return opa.hasEnabled() ? opa.getEnabled().getValue() : true;
69-
}
70-
71-
@Override
72-
public String endpoint() {
73-
return opa.getEndpoint().getValue();
74-
}
75-
76-
@Override
77-
public int pollPeriodSeconds() {
78-
return opa.getPollPeriodSeconds().getValue();
79-
}
80-
}
8150
}

otel-extensions/src/test/java/org/hypertrace/agent/otel/extensions/config/EnvironmentConfigTest.java

Lines changed: 0 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -32,9 +32,6 @@ class EnvironmentConfigTest {
3232
@ClearSystemProperty(key = EnvironmentConfig.REPORTING_SECURE)
3333
@ClearSystemProperty(key = EnvironmentConfig.REPORTING_TRACE_TYPE)
3434
@ClearSystemProperty(key = EnvironmentConfig.REPORTING_CERT_FILE)
35-
@ClearSystemProperty(key = EnvironmentConfig.OPA_ENDPOINT)
36-
@ClearSystemProperty(key = EnvironmentConfig.OPA_POLL_PERIOD)
37-
@ClearSystemProperty(key = EnvironmentConfig.OPA_ENABLED)
3835
@ClearSystemProperty(key = EnvironmentConfig.PROPAGATION_FORMATS)
3936
@ClearSystemProperty(key = EnvironmentConfig.CAPTURE_HTTP_BODY_PREFIX + "request")
4037
@ClearSystemProperty(key = EnvironmentConfig.CAPTURE_BODY_MAX_SIZE_BYTES)
@@ -49,9 +46,6 @@ public void systemProperties() {
4946
System.setProperty(EnvironmentConfig.REPORTING_SECURE, "true");
5047
System.setProperty(EnvironmentConfig.REPORTING_CERT_FILE, "/bar/test.pem");
5148
System.setProperty(EnvironmentConfig.CAPTURE_HTTP_BODY_PREFIX + "request", "true");
52-
System.setProperty(EnvironmentConfig.OPA_ENDPOINT, "http://azkaban:9090");
53-
System.setProperty(EnvironmentConfig.OPA_POLL_PERIOD, "10");
54-
System.setProperty(EnvironmentConfig.OPA_ENABLED, "true");
5549
System.setProperty(EnvironmentConfig.PROPAGATION_FORMATS, "B3,TRACECONTEXT");
5650
System.setProperty(EnvironmentConfig.CAPTURE_BODY_MAX_SIZE_BYTES, "512");
5751
System.setProperty(EnvironmentConfig.JAVAAGENT_FILTER_JAR_PATHS, "/path1.jar,/path/2/jar.jar");
@@ -73,11 +67,6 @@ public void systemProperties() {
7367
Assertions.assertEquals("http://:-)", agentConfig.getReporting().getEndpoint().getValue());
7468
Assertions.assertEquals(
7569
TraceReporterType.OTLP, agentConfig.getReporting().getTraceReporterType());
76-
Assertions.assertEquals(
77-
"http://azkaban:9090", agentConfig.getReporting().getOpa().getEndpoint().getValue());
78-
Assertions.assertEquals(true, agentConfig.getReporting().getOpa().getEnabled().getValue());
79-
Assertions.assertEquals(
80-
10, agentConfig.getReporting().getOpa().getPollPeriodSeconds().getValue());
8170
Assertions.assertEquals(512, agentConfig.getDataCapture().getBodyMaxSizeBytes().getValue());
8271
Assertions.assertEquals(true, agentConfig.getReporting().getSecure().getValue());
8372
Assertions.assertEquals("/bar/test.pem", agentConfig.getReporting().getCertFile().getValue());

otel-extensions/src/test/java/org/hypertrace/agent/otel/extensions/config/HypertraceConfigTest.java

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -48,12 +48,6 @@ public void defaultValues() throws IOException {
4848
Assertions.assertEquals(
4949
Arrays.asList(PropagationFormat.TRACECONTEXT), agentConfig.getPropagationFormatsList());
5050
Assertions.assertEquals(false, agentConfig.getReporting().getSecure().getValue());
51-
Assertions.assertEquals(
52-
HypertraceConfig.DEFAULT_OPA_ENDPOINT,
53-
agentConfig.getReporting().getOpa().getEndpoint().getValue());
54-
Assertions.assertEquals(
55-
HypertraceConfig.DEFAULT_OPA_POLL_PERIOD_SECONDS,
56-
agentConfig.getReporting().getOpa().getPollPeriodSeconds().getValue());
5751
Assertions.assertEquals(
5852
HypertraceConfig.DEFAULT_BODY_MAX_SIZE_BYTES,
5953
agentConfig.getDataCapture().getBodyMaxSizeBytes().getValue());
@@ -111,10 +105,6 @@ private void assertConfig(AgentConfig agentConfig) {
111105
Assertions.assertEquals(
112106
"http://localhost:4317", agentConfig.getReporting().getEndpoint().getValue());
113107
Assertions.assertEquals(true, agentConfig.getReporting().getSecure().getValue());
114-
Assertions.assertEquals(
115-
"http://opa.localhost:8181/", agentConfig.getReporting().getOpa().getEndpoint().getValue());
116-
Assertions.assertEquals(
117-
12, agentConfig.getReporting().getOpa().getPollPeriodSeconds().getValue());
118108
Assertions.assertEquals(16, agentConfig.getDataCapture().getBodyMaxSizeBytes().getValue());
119109
Assertions.assertEquals(
120110
true, agentConfig.getDataCapture().getHttpHeaders().getRequest().getValue());

otel-extensions/src/test/java/org/hypertrace/agent/otel/extensions/config/ReportingConfigImplTest.java

Lines changed: 0 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -18,12 +18,8 @@
1818

1919
import static org.junit.jupiter.api.Assertions.*;
2020

21-
import com.google.protobuf.BoolValue;
2221
import java.util.Iterator;
2322
import java.util.ServiceLoader;
24-
import org.hypertrace.agent.config.v1.Config.Opa;
25-
import org.hypertrace.agent.config.v1.Config.Reporting;
26-
import org.hypertrace.agent.config.v1.Config.Reporting.Builder;
2723
import org.hypertrace.agent.core.config.ReportingConfig;
2824
import org.junit.jupiter.api.Test;
2925

@@ -39,21 +35,4 @@ void instantiateViaServiceLoaderApi() {
3935
assertNotNull(reportingConfig);
4036
assertFalse(iterator.hasNext());
4137
}
42-
43-
@Test
44-
void opaEnabledIfNotProvided() {
45-
final ReportingConfigImpl reportingConfig =
46-
new ReportingConfigImpl(Reporting.getDefaultInstance());
47-
assertTrue(reportingConfig.opa().enabled());
48-
}
49-
50-
@Test
51-
void opaDisabledIfExplicitlySet() {
52-
final Builder reportingBuilder = Reporting.getDefaultInstance().toBuilder();
53-
final Opa explicitOpaConfig =
54-
reportingBuilder.getOpaBuilder().setEnabled(BoolValue.of(false)).build();
55-
final ReportingConfigImpl reportingConfig =
56-
new ReportingConfigImpl(reportingBuilder.setOpa(explicitOpaConfig).build());
57-
assertFalse(reportingConfig.opa().enabled());
58-
}
5938
}

otel-extensions/src/test/resources/config.yaml

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,6 @@ reporting:
88
secure: true
99
trace_reporter_type: OTLP
1010
cert_file: /foo/bar/example.pem
11-
opa:
12-
endpoint: http://opa.localhost:8181/
13-
pollPeriodSeconds: 12
1411
dataCapture:
1512
bodyMaxSizeBytes: 16
1613
httpHeaders:

0 commit comments

Comments
 (0)