Skip to content

Commit 1e8d2bb

Browse files
shilpa-egovvarunreddy-egovnikhilmulinti
authored
added open telemetry (#748)
* Updated idgen service * Updated mdms-v2 service * Updated workflow service * Updated egov-localization service * updated egov-location service * Updated tenant-management service * WIP: changes to Dockerfile and workflow * Update build dockerfile * Updated audit service * Updated boundary service * Updated access control * Updated enc service * Updated file store * Updated egov-indexer * updated mdms v1 service * Updated egov notification mail service * Updated notification sms * Updated egov-otp * updated egov persister * Updated pg service * Updated egov url shortening * Updated egov-user-event * Updated gateway service * Updated service request * Updated Dockerfile * Update Dockerfile-java 8 * Update Dockerfile- reverting back * Modified gateway POM according to new tracer. * Added opentelemetry tracing & @CustomSafeHtml in tracer. * Update Dockerfile * updated idgen * Updated localization * Updated mdms v2 * Updated workflow v2 * Updated location * Updated audit service * Updated boundary service * Updated access control * Updated enc service * Updated filestore * updated indexer * Added logic to replace {schema} placeholder in EscalationRepository class. * Updated mdms service * Updated notification mail * updated notification sms * Updated egov-otp * Updated persister * Updated pg service * Updated url shortening * Updated user event * Updated gateway * Updated service request * Update enc-client from 2.9.0-SNAPSHOT to 2.9.1 pom.xml --------- Co-authored-by: Varun Reddy <155146627+varunreddy-egov@users.noreply.github.com> Co-authored-by: nikhilmulinti <127198713+nikhilmulinti@users.noreply.github.com> Co-authored-by: varunreddy-egov <varun.kumar@egovernments.org>
1 parent aa563a9 commit 1e8d2bb

File tree

72 files changed

+932
-167
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

72 files changed

+932
-167
lines changed

build/maven-java8/Dockerfile

Lines changed: 16 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,31 +1,27 @@
1-
FROM egovio/alpine-maven-builder-jdk-8:1-master-NA-6036091e AS build
2-
# FROM egovio/amazoncorretto:17-alpine3.19 AS build
1+
# ──────────────── BUILD STAGE ────────────────
2+
FROM maven:3.9.6-amazoncorretto-8-debian AS build
33
ARG WORK_DIR
44
WORKDIR /app
55

6-
# Install Maven
7-
RUN apk add --no-cache maven
8-
9-
# copy the project files
10-
COPY ${WORK_DIR}/pom.xml ./pom.xml
6+
# Copy POM, entrypoint script, and source
7+
COPY ${WORK_DIR}/pom.xml ./pom.xml
118
COPY build/maven-java8/start.sh ./start.sh
9+
COPY ${WORK_DIR}/src ./src
1210

13-
# not useful for stateless builds
14-
# RUN mvn -B dependency:go-offline
15-
16-
COPY ${WORK_DIR}/src ./src
17-
RUN mvn -B -f /app/pom.xml package
18-
19-
20-
# Create runtime image
21-
FROM egovio/8-openjdk-alpine
22-
# FROM egovio/amazoncorretto:17-alpine3.19
11+
# Build the app (skip tests for speed)
12+
RUN mvn -B -f pom.xml package -DskipTests
2313

2414

15+
# ─────────────── RUNTIME STAGE ───────────────
16+
FROM openjdk:8-jdk-alpine AS runtime
2517
WORKDIR /opt/egov
2618

27-
COPY --from=build /app/target/*.jar /app/start.sh /opt/egov/
19+
# Pull in the fat JAR and our startup script
20+
COPY --from=build /app/target/*.jar ./application.jar
21+
COPY --from=build /app/start.sh ./start.sh
22+
23+
RUN chmod +x ./start.sh
2824

29-
RUN chmod +x /opt/egov/start.sh
25+
# Override any Alpine tini entrypoint and launch via shell
26+
ENTRYPOINT ["sh", "./start.sh"]
3027

31-
CMD ["/opt/egov/start.sh"]

build/maven/Dockerfile

Lines changed: 12 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,31 +1,27 @@
1-
#FROM egovio/alpine-maven-builder-jdk-8:1-master-NA-6036091e AS build
2-
FROM egovio/amazoncorretto:17-alpine3.19 AS build
1+
FROM maven:3.9.6-amazoncorretto-17 AS build
32
ARG WORK_DIR
43
WORKDIR /app
54

6-
# Install Maven
7-
RUN apk add --no-cache maven
8-
9-
# copy the project files
5+
# Copy project files
106
COPY ${WORK_DIR}/pom.xml ./pom.xml
117
COPY build/maven/start.sh ./start.sh
12-
13-
# not useful for stateless builds
14-
# RUN mvn -B dependency:go-offline
15-
168
COPY ${WORK_DIR}/src ./src
17-
RUN mvn -B -f /app/pom.xml package
189

10+
# Build the project
11+
RUN mvn -B -f /app/pom.xml package
1912

20-
# Create runtime image
21-
#FROM egovio/8-openjdk-alpine
22-
FROM egovio/amazoncorretto:17-alpine3.19
23-
13+
# Runtime image – using a multi-arch base image
14+
FROM amazoncorretto:17-alpine
2415

2516
WORKDIR /opt/egov
2617

18+
# Copy artifacts from the build stage
2719
COPY --from=build /app/target/*.jar /app/start.sh /opt/egov/
2820

29-
RUN chmod +x /opt/egov/start.sh
21+
# Ensure the start script has correct line endings and is executable
22+
RUN dos2unix /opt/egov/start.sh && chmod +x /opt/egov/start.sh
23+
24+
# Verify architecture inside the container
25+
RUN uname -m
3026

3127
CMD ["/opt/egov/start.sh"]

core-services/audit-service/CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,3 +5,7 @@ All notable changes to this module will be documented in this file.
55
- Upgraded spring boot version from 2.2.6.RELEASE to 3.2.2
66
- Upgraded java version from 1.8 to 17
77
- Upgraded postgresql version from 42.2.2.jre7 to 42.7.1
8+
9+
## 2.9.1 - 2025-05-21
10+
- Upgraded tracer version from 2.9.0 to 2.9.1
11+
- added variables in application.properties required for opentelemetry

core-services/audit-service/pom.xml

Lines changed: 20 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,12 +9,30 @@
99
</parent>
1010
<groupId>org.egov</groupId>
1111
<artifactId>audit-service</artifactId>
12-
<version>2.9.0-SNAPSHOT</version>
12+
<version>2.9.1-SNAPSHOT</version>
1313
<name>audit-service</name>
1414
<description>Service to handle audit logs</description>
1515
<properties>
1616
<java.version>17</java.version>
1717
</properties>
18+
<dependencyManagement>
19+
<dependencies>
20+
<dependency>
21+
<groupId>io.opentelemetry</groupId>
22+
<artifactId>opentelemetry-bom</artifactId>
23+
<version>1.35.0</version>
24+
<type>pom</type>
25+
<scope>import</scope>
26+
</dependency>
27+
<dependency>
28+
<groupId>io.opentelemetry.instrumentation</groupId>
29+
<artifactId>opentelemetry-instrumentation-bom-alpha</artifactId>
30+
<version>2.1.0-alpha</version>
31+
<type>pom</type>
32+
<scope>import</scope>
33+
</dependency>
34+
</dependencies>
35+
</dependencyManagement>
1836
<dependencies>
1937
<dependency>
2038
<groupId>org.springframework.boot</groupId>
@@ -52,7 +70,7 @@
5270
<dependency>
5371
<groupId>org.egov.services</groupId>
5472
<artifactId>tracer</artifactId>
55-
<version>2.9.0-SNAPSHOT</version>
73+
<version>2.9.1-SNAPSHOT</version>
5674
</dependency>
5775
<dependency>
5876
<groupId>org.bouncycastle</groupId>

core-services/audit-service/src/main/resources/application.properties

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ server.port=8280
44
app.timezone=UTC
55

66
# DB CONNECTION CONFIGURATIONS
7-
spring.datasource.driver-class-name=org.postgresql.Driver
7+
spring.datasource.driver-class-name=io.opentelemetry.instrumentation.jdbc.OpenTelemetryDriver
88
spring.datasource.url=jdbc:postgresql://localhost:5432/auditdb
99
spring.datasource.username=postgres
1010
spring.datasource.password=postgres
@@ -63,3 +63,13 @@ egov.persist.yml.repo.path=https://raw.githubusercontent.com/egovernments/config
6363
# Native ENC implementation configs
6464
egov.enc.sign.host=http://localhost:1234
6565
egov.enc.sign.endpoint=/egov-enc-service/crypto/v1/_sign
66+
id.timezone=IST
67+
otel.traces.exporter=otlp
68+
otel.service.name=audit-service
69+
otel.logs.exporter=none
70+
otel.metrics.exporter=none
71+
otel.exporter.otlp.endpoint=http://jaeger-collector.tracing:4318
72+
otel.exporter.otlp.protocol=http/protobuf
73+
otel.instrumentation.kafka.enabled=true
74+
otel.instrumentation.kafka.experimental-span-attributes=true
75+
otel.instrumentation.http.server.ignore-urls=/audit-service/health,/audit-service/promethus

core-services/boundary-service/pom.xml

Lines changed: 20 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
<artifactId>boundary-service</artifactId>
55
<packaging>jar</packaging>
66
<name>boundary-service</name>
7-
<version>1.0.0</version>
7+
<version>1.0.1</version>
88
<properties>
99
<java.version>17</java.version>
1010
<maven.compiler.source>${java.version}</maven.compiler.source>
@@ -31,6 +31,24 @@
3131
</plugin>
3232
</plugins>
3333
</build>
34+
<dependencyManagement>
35+
<dependencies>
36+
<dependency>
37+
<groupId>io.opentelemetry</groupId>
38+
<artifactId>opentelemetry-bom</artifactId>
39+
<version>1.35.0</version>
40+
<type>pom</type>
41+
<scope>import</scope>
42+
</dependency>
43+
<dependency>
44+
<groupId>io.opentelemetry.instrumentation</groupId>
45+
<artifactId>opentelemetry-instrumentation-bom-alpha</artifactId>
46+
<version>2.1.0-alpha</version>
47+
<type>pom</type>
48+
<scope>import</scope>
49+
</dependency>
50+
</dependencies>
51+
</dependencyManagement>
3452
<dependencies>
3553
<dependency>
3654
<groupId>org.springframework.boot</groupId>
@@ -70,7 +88,7 @@
7088
<dependency>
7189
<groupId>org.egov.services</groupId>
7290
<artifactId>tracer</artifactId>
73-
<version>2.9.0-SNAPSHOT</version>
91+
<version>2.9.1-SNAPSHOT</version>
7492
</dependency>
7593
<dependency>
7694
<groupId>org.egov.services</groupId>

core-services/boundary-service/src/main/resources/application.properties

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ app.timezone=UTC
55
logging.level.org.springframework=INFO
66

77
#DATABASE CONFIGURATION
8-
spring.datasource.driver-class-name=org.postgresql.Driver
8+
spring.datasource.driver-class-name=io.opentelemetry.instrumentation.jdbc.OpenTelemetryDriver
99
spring.datasource.url=jdbc:postgresql://localhost:5432/postgres
1010
spring.datasource.username=postgres
1111
spring.datasource.password=postgres
@@ -91,4 +91,14 @@ kafka.topics.create.boundary.relationship = save-boundary-relationship
9191
kafka.topics.update.boundary.relationship = update-boundary-relationship
9292
boundary.default.offset=0
9393
boundary.default.limit=50
94-
boundary.max.default.limit=300
94+
boundary.max.default.limit=300
95+
96+
otel.traces.exporter=otlp
97+
otel.service.name=boundary-service
98+
otel.logs.exporter=none
99+
otel.metrics.exporter=none
100+
otel.exporter.otlp.endpoint=http://jaeger-collector.tracing:4318
101+
otel.exporter.otlp.protocol=http/protobuf
102+
otel.instrumentation.kafka.enabled=true
103+
otel.instrumentation.kafka.experimental-span-attributes=true
104+
otel.instrumentation.http.server.ignore-urls=/boundary-service/health,/boundary-service/promethus

core-services/egov-accesscontrol/CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,10 @@ All notable changes to this module will be documented in this file.
88
- Upgraded java version from 1.8 to 17
99
- Upgraded postgresql version from 9.4.1212 to 42.7.1
1010

11+
## 2.9.1 - 2025-05-21
12+
- Upgraded tracer version from 2.9.0 to 2.9.1
13+
- added variables in application.properties required for opentelemetry
14+
1115
## 1.1.3 - 2022-01-13
1216
- Updated to log4j2 version 2.17.1
1317

core-services/egov-accesscontrol/pom.xml

Lines changed: 20 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55

66
<groupId>org.egov</groupId>
77
<artifactId>egov-accesscontrol</artifactId>
8-
<version>2.9.0-SNAPSHOT</version>
8+
<version>2.9.1-SNAPSHOT</version>
99
<packaging>jar</packaging>
1010

1111
<name>egov-accesscontrol</name>
@@ -25,7 +25,24 @@
2525
<joda-time-version>2.9.6</joda-time-version>
2626
<cache2k-version>1.2.0.Final</cache2k-version>
2727
</properties>
28-
28+
<dependencyManagement>
29+
<dependencies>
30+
<dependency>
31+
<groupId>io.opentelemetry</groupId>
32+
<artifactId>opentelemetry-bom</artifactId>
33+
<version>1.35.0</version>
34+
<type>pom</type>
35+
<scope>import</scope>
36+
</dependency>
37+
<dependency>
38+
<groupId>io.opentelemetry.instrumentation</groupId>
39+
<artifactId>opentelemetry-instrumentation-bom-alpha</artifactId>
40+
<version>2.1.0-alpha</version>
41+
<type>pom</type>
42+
<scope>import</scope>
43+
</dependency>
44+
</dependencies>
45+
</dependencyManagement>
2946
<dependencies>
3047
<dependency>
3148
<groupId>org.springframework.boot</groupId>
@@ -36,7 +53,7 @@
3653
<dependency>
3754
<groupId>org.egov.services</groupId>
3855
<artifactId>tracer</artifactId>
39-
<version>2.9.0-SNAPSHOT</version>
56+
<version>2.9.1-SNAPSHOT</version>
4057
</dependency>
4158

4259
<dependency>

core-services/egov-accesscontrol/src/main/resources/application.properties

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
spring.datasource.driver-class-name=org.postgresql.Driver
1+
spring.datasource.driver-class-name=io.opentelemetry.instrumentation.jdbc.OpenTelemetryDriver
22
spring.datasource.url=jdbc:postgresql://localhost:5432/devdb
33
spring.datasource.username=postgres
44
spring.datasource.password=postgres
@@ -64,4 +64,13 @@ kafka.producer.config.retries_config=0
6464
kafka.producer.config.batch_size_config=16384
6565
kafka.producer.config.linger_ms_config=1
6666
kafka.producer.config.buffer_memory_config=33554432
67-
#org.egov.detailed.tracing.enabled = false
67+
#org.egov.detailed.tracing.enabled = false
68+
otel.traces.exporter=otlp
69+
otel.service.name=egov-accesscontrol
70+
otel.logs.exporter=none
71+
otel.metrics.exporter=none
72+
otel.exporter.otlp.endpoint=http://jaeger-collector.tracing:4318
73+
otel.exporter.otlp.protocol=http/protobuf
74+
otel.instrumentation.kafka.enabled=true
75+
otel.instrumentation.kafka.experimental-span-attributes=true
76+
otel.instrumentation.http.server.ignore-urls=/egov-accesscontrol/health,/egov-accesscontrol/promethus

0 commit comments

Comments
 (0)