Skip to content

Commit f71c7e9

Browse files
Rodrigo Dos SantosRodrigo Dos Santos
authored andcommitted
Fixed few services - build authentication-service, build edge-server, build react-webapp, build kotlin-service, build user-service, build person-service
1 parent eb85cfe commit f71c7e9

File tree

52 files changed

+1315
-281
lines changed

Some content is hidden

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

52 files changed

+1315
-281
lines changed

.github/workflows/docker-build-push-image-authentication-service.yml

Lines changed: 17 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -78,23 +78,23 @@ jobs:
7878
run: echo ${{ steps.docker_build.outputs.digest }}
7979

8080
# Build Docker image using spring-boot:build-image
81-
- name: Build Service using spring-boot:build-image
82-
run: |
83-
mvn clean package -DskipTests -q -pl authentication-service -am -B -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn -Pspring-native
84-
85-
# Tag image
86-
- name: Tag & publish to GitHub Container Registry
87-
run: |
88-
docker tag authentication-service:0.0.1-SNAPSHOT fielcapao/microservices-design-patterns-authentication-service:0.0.1-SNAPSHOT
89-
# docker push fielcapao/microservices-design-patterns-authentication-service:0.0.1-SNAPSHOT
90-
91-
- name: Create and push manifest images
92-
uses: Noelware/docker-manifest-action@master # or use whatever version.
93-
with:
94-
base-image: fielcapao/microservices-design-patterns-authentication-service:0.0.1-SNAPSHOT
95-
extra-images: fielcapao/microservices-design-patterns-authentication-service:0.0.1-SNAPSHOT-arm64
96-
97-
push: true
81+
# - name: Build Service using spring-boot:build-image
82+
# run: |
83+
# mvn clean package -DskipTests -q -pl authentication-service -am -B -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn -Pspring-native
84+
#
85+
# # Tag image
86+
# - name: Tag & publish to GitHub Container Registry
87+
# run: |
88+
# docker tag authentication-service:0.0.1-SNAPSHOT fielcapao/microservices-design-patterns-authentication-service:0.0.1-SNAPSHOT
89+
## docker push fielcapao/microservices-design-patterns-authentication-service:0.0.1-SNAPSHOT
90+
#
91+
# - name: Create and push manifest images
92+
# uses: Noelware/docker-manifest-action@master # or use whatever version.
93+
# with:
94+
# base-image: fielcapao/microservices-design-patterns-authentication-service:0.0.1-SNAPSHOT
95+
# extra-images: fielcapao/microservices-design-patterns-authentication-service:0.0.1-SNAPSHOT-arm64
96+
#
97+
# push: true
9898
# Setup gcloud CLI
9999
# - name: Setup Google Cloud
100100
# uses: google-github-actions/setup-gcloud@master
Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,62 @@
1+
# This is a basic workflow to help you get started with Actions
2+
3+
name: CI - Build and push Docker images - Edge Service
4+
5+
# Controls when the action will run. Triggers the workflow on push or pull request
6+
# events but only for the master branch
7+
on:
8+
push:
9+
branches: [ master ]
10+
11+
# A workflow run is made up of one or more jobs that can run sequentially or in parallel
12+
jobs:
13+
# This workflow contains a single job called "build"
14+
build:
15+
if: contains(toJson(github), 'build edge-server')
16+
name: Build Jar/Docker Image and Publish to DockerHub
17+
18+
# The type of runner that the job will run on
19+
runs-on: ubuntu-latest
20+
21+
# Steps represent a sequence of tasks that will be executed as part of the job
22+
steps:
23+
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
24+
- name: Checkout
25+
uses: actions/checkout@v2
26+
27+
# Set up JDK
28+
- name: JDK
29+
uses: actions/setup-java@v1
30+
with:
31+
java-version: 17
32+
33+
- name: Set up QEMU
34+
uses: docker/setup-qemu-action@v1
35+
36+
- name: Set up Docker Buildx
37+
uses: docker/setup-buildx-action@v1
38+
39+
# Login to Dockerhub
40+
- name: Login to DockerHub
41+
uses: docker/login-action@v1
42+
with:
43+
username: ${{ secrets.DOCKERHUB_USERNAME }}
44+
password: ${{ secrets.DOCKERHUB_TOKEN }}
45+
46+
# Build Docker image using docker:build
47+
- name: Build Service using docker:build
48+
run: |
49+
mvn clean package -DskipTests -Pkubernetes -q -pl edge-server -am -B -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn -Dspring.profiles.active=travis docker:build
50+
51+
- name: Build and push
52+
id: docker_build
53+
uses: docker/build-push-action@v2
54+
with:
55+
context: ./edge-server/target/docker/edge-server/build
56+
file: ./edge-server/target/docker/edge-server/build/Dockerfile
57+
platforms: linux/amd64,linux/arm64
58+
push: true
59+
tags: fielcapao/microservices-design-patterns-edge-server:latest
60+
61+
- name: Image digest
62+
run: echo ${{ steps.docker_build.outputs.digest }}

.github/workflows/kubernetes/deployment-authentication-service.yml

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -49,13 +49,13 @@ spec:
4949
- name: SERVER_PORT
5050
value: "9999"
5151
- name: SPRING_PROFILES_ACTIVE
52-
value: prod
52+
value: auth,prod
5353
- name: SPRING_DATA_MONGODB_URI
54-
value: mongodb://mongodb:27017
54+
value: mongodb://192.168.1.5:27017
5555
- name: SPRING_DATA_MONGODB_DATABASE
5656
value: docker
5757
- name: SPRING_REDIS_HOST
58-
value: redis
58+
value: 192.168.1.5
5959
- name: SPRING_CLOUD_CONSUL_ENABLED
6060
value: "false"
6161
- name: OPENTRACING_JAEGER_ENABLED
@@ -78,8 +78,12 @@ spec:
7878
value: file:/etc/ssl_certs/www.spendingbetter.com.jks
7979
- name: KEYSTORE_ALIAS
8080
value: spendingbetter
81-
- name: LOGGING_LEVEL_ORG_SPRINGFRAMEWORK
82-
value: "trace"
81+
# - name: LOGGING_LEVEL_ORG_SPRINGFRAMEWORK
82+
# value: "trace"
83+
- name: COM_MICROSERVICE_AUTHENTICATION_REDIS_ENABLED
84+
value: "false"
85+
- name: SPRING_SESSION_STORE_TYPE
86+
value: "none"
8387
ports:
8488
- containerPort: 9999
8589
livenessProbe:

.github/workflows/kubernetes/deployment-edge-server.yml

Lines changed: 16 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ spec:
3232
spec:
3333
containers:
3434
- name: edge-server
35-
image: edge-server:0.0.1-SNAPSHOT
35+
image: edge-server:0.0.1-SNAPSHOT #edge-server:0.0.1-SNAPSHOT
3636
resources:
3737
requests:
3838
memory: "256Mi"
@@ -42,19 +42,22 @@ spec:
4242
- name: spendingbetter-pub-key
4343
mountPath: "/etc/ssl_certs_pub"
4444
readOnly: true
45+
- name: spendingbetter-jks
46+
mountPath: "/etc/ssl_certs"
47+
readOnly: true
4548
env:
4649
- name: JAVA_OPTS
47-
value: -Xss256K -Xms1M -XX:+UseSerialGC -Djava.compiler=none -XX:ReservedCodeCacheSize=2496k -XX:MaxDirectMemorySize=1M
50+
value: -Xss256K -Xms1M -XX:+UseSerialGC -Djava.compiler=none -XX:ReservedCodeCacheSize=2496k -XX:MaxDirectMemorySize=1M #-Xms256m -Xmx512m
4851
- name: SERVER_PORT
4952
value: "8080"
5053
- name: SPRING_PROFILES_ACTIVE
51-
value: prod
54+
value: auth,prod
5255
- name: SPRING_DATA_MONGODB_URI
53-
value: mongodb://mongodb:27017
56+
value: mongodb://192.168.1.5:27017
5457
- name: SPRING_DATA_MONGODB_DATABASE
5558
value: docker
5659
- name: SPRING_REDIS_HOST
57-
value: redis
60+
value: 192.168.1.5
5861
- name: SPRING_CLOUD_CONSUL_ENABLED
5962
value: "false"
6063
- name: OPENTRACING_JAEGER_ENABLED
@@ -70,11 +73,13 @@ spec:
7073
- name: KEYSTORE_PASSWORD
7174
value: Cert202!
7275
- name: KEYSTORE
73-
value: file:/etc/ssl_certs_pub/www.spendingbetter.com.pub
76+
value: file:/etc/ssl_certs/www.spendingbetter.com.jks
77+
# - name: KEYSTORE
78+
# value: file:/etc/ssl_certs_pub/www.spendingbetter.com.pub
7479
- name: KEYSTORE_ALIAS
7580
value: spendingbetter
76-
- name: COM_MICROSERVICE_AUTHENTICATION_JWT_ENABLED_PUBLIC_KEY
77-
value: "true"
81+
# - name: COM_MICROSERVICE_AUTHENTICATION_JWT_ENABLED_PUBLIC_KEY
82+
# value: "true"
7883
# - name: SPRING_CLOUD_GATEWAY_DISCOVERY_LOCATOR_ENABLED
7984
# value: "true"
8085
- name: LOGGING_LEVEL_ORG_SPRINGFRAMEWORK_CLOUD_GATEWAY
@@ -98,4 +103,6 @@ spec:
98103
- name: spendingbetter-pub-key
99104
secret:
100105
secretName: spendingbetter-pub-key
101-
106+
- name: spendingbetter-jks
107+
secret:
108+
secretName: spendingbetter-jks

.github/workflows/kubernetes/deployment-kotlin-service.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,10 @@ spec:
7272
value: spendingbetter
7373
- name: COM_MICROSERVICE_AUTHENTICATION_JWT_ENABLED_PUBLIC_KEY
7474
value: "true"
75+
- name: LOGGING_LEVEL_ORG_SPRINGFRAMEWORK_WEB
76+
value: trace
77+
- name: LOGGING_LEVEL_ORG_SPRINGFRAMEWORK_SECURITY
78+
value: trace
7579
ports:
7680
- containerPort: 9092
7781
livenessProbe:
Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
apiVersion: v1
2+
kind: Service
3+
metadata:
4+
name: oauth2-proxy
5+
labels:
6+
app: oauth2-proxy
7+
spec:
8+
ports:
9+
- name: http-port
10+
port: 4180
11+
selector:
12+
app: oauth2-proxy
13+
---
14+
apiVersion: apps/v1
15+
kind: Deployment
16+
metadata:
17+
name: oauth2-proxy
18+
spec:
19+
selector:
20+
matchLabels:
21+
app: oauth2-proxy
22+
replicas: 1
23+
template:
24+
metadata:
25+
labels:
26+
app: oauth2-proxy
27+
version: v1
28+
spec:
29+
containers:
30+
- name: oauth2-proxy
31+
image: quay.io/pusher/oauth2_proxy:latest-arm64
32+
args:
33+
- -provider=google
34+
- -upstream=file:///dev/null
35+
- -http-address=0.0.0.0:4180
36+
- -client-id=CLIENT_ID
37+
- -client-secret=CLIENT_SECRET
38+
- -cookie-domain=spendingbetter.com
39+
- -email-domain=admin@spendingbetter.com
40+
- -whitelist-domain=spendingbetter.com
41+
- -cookie-refresh=1h
42+
- -cookie-secret=BASE64_ENCODED_STRING(like “echo strongSecret | base64”)
43+
resources:
44+
requests:
45+
memory: "256Mi"
46+
limits:
47+
memory: "512Mi"
48+
env:
49+
- name: JAVA_OPTS
50+
value: -Xss256K -Xms1M -XX:+UseSerialGC -Djava.compiler=none -XX:ReservedCodeCacheSize=2496k -XX:MaxDirectMemorySize=1M
51+
ports:
52+
- containerPort: 4180
53+
livenessProbe:
54+
httpGet:
55+
scheme: HTTP
56+
path: /ping
57+
port: 4180
58+
initialDelaySeconds: 1000
59+
periodSeconds: 5

.github/workflows/kubernetes/deployment-person-service.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ spec:
5050
- name: SPRING_PROFILES_ACTIVE
5151
value: prod
5252
- name: SPRING_DATA_MONGODB_URI
53-
value: mongodb://mongodb:27017
53+
value: mongodb://192.168.1.5:27017
5454
- name: SPRING_DATA_MONGODB_DATABASE
5555
value: docker
5656
- name: SPRING_CLOUD_CONSUL_ENABLED
@@ -69,8 +69,8 @@ spec:
6969
value: file:/etc/ssl_certs_pub/www.spendingbetter.com.pub
7070
- name: KEYSTORE_ALIAS
7171
value: spendingbetter
72-
- name: COM_MICROSERVICE_AUTHENTICATION_JWT_ENABLED_PUBLIC_KEY
73-
value: "true"
72+
# - name: COM_MICROSERVICE_AUTHENTICATION_JWT_PUBLIC_KEYSTORE
73+
# value: file:/etc/ssl_certs_pub/www.spendingbetter.com.pub
7474
ports:
7575
- containerPort: 8082
7676
livenessProbe:

.github/workflows/kubernetes/secrets.yml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,4 +4,6 @@ metadata:
44
name: secrets
55
type: Opaque
66
data:
7-
KEYSTORE_PASSWORD: Q2VydDIwITk=
7+
KEYSTORE_PASSWORD: Q2VydDIwITk=
8+
CLIENT_ID: NjQ2MzcwMzcwODExLWxoMmRya2QxNG91dHVqbzIzcTAxamRnajVrN3UzOGdwLmFwcHMuZ29vZ2xldXNlcmNvbnRlbnQuY29tCg==
9+
CLIENT_SECRET: emxsYnFmd2N0T0htVnc1WEdJblRucnZYCg==

.gitignore

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,4 +54,8 @@ docker/*.pem
5454
docker/jmeter.log
5555
docker/test_result_springboot
5656
docker/quarkus.jwks
57-
docker/openshift.local.clusterup
57+
docker/openshift.local.clusterup
58+
59+
redis_auth_gateway
60+
redis_auth_service
61+
docker/jwks.json

admin-server/src/main/java/com/springboot/adminserver/AdminServerApplication.java

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,10 @@
77
import org.springframework.boot.SpringApplication;
88
import org.springframework.boot.autoconfigure.SpringBootApplication;
99
import org.springframework.context.annotation.Bean;
10+
import org.springframework.context.annotation.Primary;
1011
import org.springframework.core.annotation.Order;
12+
import org.springframework.data.redis.core.RedisTemplate;
13+
import org.springframework.session.data.redis.RedisIndexedSessionRepository;
1114
import org.springframework.session.data.redis.config.annotation.web.http.EnableRedisHttpSession;
1215
import org.springframework.session.web.http.CookieSerializer;
1316
import org.springframework.session.web.http.DefaultCookieSerializer;
@@ -24,6 +27,12 @@ public static void main(String[] args) {
2427
SpringApplication.run(AdminServerApplication.class, args);
2528
}
2629

30+
@Primary
31+
@Bean
32+
RedisIndexedSessionRepository redisIndexedSessionRepository(RedisTemplate redisTemplate) {
33+
return new RedisIndexedSessionRepository(redisTemplate);
34+
}
35+
2736
@Bean
2837
static BeanFactoryPostProcessor removeErrorSecurityFilter() {
2938
return (beanFactory) -> {
@@ -38,6 +47,7 @@ public CookieSerializer cookieSerializer() {
3847
DefaultCookieSerializer serializer = new DefaultCookieSerializer();
3948
serializer.setCookieName("SESSIONID");
4049
serializer.setCookiePath("/");
50+
serializer.setUseBase64Encoding(false);
4151
return serializer;
4252
}
4353

0 commit comments

Comments
 (0)