Skip to content

Commit 784bc73

Browse files
Merge branch 'main' into dev
2 parents 2272fde + c481794 commit 784bc73

File tree

6 files changed

+81
-8
lines changed

6 files changed

+81
-8
lines changed

.github/workflows/maven-publish.yml

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,9 @@ name: Maven Package
66
on:
77
release:
88
types: [created]
9+
pull_request:
10+
branches:
11+
- main
912

1013
jobs:
1114
build:
@@ -17,10 +20,10 @@ jobs:
1720

1821
steps:
1922
- uses: actions/checkout@v4
20-
- name: Set up JDK 11
23+
- name: Set up JDK 17
2124
uses: actions/setup-java@v4
2225
with:
23-
java-version: '11'
26+
java-version: '17'
2427
distribution: 'temurin'
2528
server-id: github # Value of the distributionManagement/repository/id field of the pom.xml
2629
settings-path: ${{ github.workspace }} # location for the settings.xml file
@@ -29,6 +32,7 @@ jobs:
2932
run: mvn -B package --file pom.xml
3033

3134
- name: Publish to GitHub Packages Apache Maven
35+
if: github.event_name == 'release'
3236
run: mvn deploy -s $GITHUB_WORKSPACE/settings.xml
3337
env:
3438
GITHUB_TOKEN: ${{ github.token }}

.mvn/jvm.config

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
#--enable-native-access=ALL-UNNAMED
1+

README.md

Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,70 @@ Biometric Backend
55

66
## Architecture
77
### Deployment
8+
#### Helm
9+
#### Kubernetes
10+
see https://github.com/ObrienlabsDev/biometric-backend/tree/main/biometric-nbi/src/kubernetes
11+
```
12+
kubernetes % ./deploy.sh
13+
(venv-t214) michaelobrien@mbp8 kubernetes % kubectl get pods -n mysql
14+
NAME READY STATUS RESTARTS AGE
15+
mysql-9fbfc4867-bj4gz 1/1 Running 0 5m39s
16+
(venv-t214) michaelobrien@mbp8 kubernetes % kubectl get services -n mysql
17+
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
18+
mysql ClusterIP None <none> 3306/TCP 31m
19+
(venv-t214) michaelobrien@mbp8 kubernetes % kubectl exec -it mysql-9fbfc4867-bj4gz -n mysql -- /bin/bash
20+
bash-5.1# mysql -p
21+
22+
mysql> CREATE DATABASE IF NOT EXISTS biometric;
23+
Query OK, 1 row affected (0.01 sec)
24+
25+
mysql> show databases;
26+
+--------------------+
27+
| Database |
28+
+--------------------+
29+
| biometric |
30+
| information_schema |
31+
| mysql |
32+
| performance_schema |
33+
| sys |
34+
+--------------------+
35+
6 rows in set (0.00 sec)
36+
37+
mysql> use biometric;
38+
Database changed
39+
mysql> exit
40+
Bye
41+
bash-5.1# exit
42+
exit
43+
(venv-t214) michaelobrien@mbp8 kubernetes %
44+
45+
```
46+
47+
test outside by port forwarding
48+
49+
```
50+
(venv-t214) michaelobrien@mbp8 kubernetes % kubectl port-forward mysql-9fbfc4867-bj4gz -n mysql 3306:3306
51+
Forwarding from 127.0.0.1:3306 -> 3306
52+
Forwarding from [::1]:3306 -> 3306
53+
```
54+
55+
If you prefer direct access without port forwarding, update `mysql-service.yaml`
56+
to use a `NodePort` service. The example in this repository exposes port `3306`
57+
on node port `30306`:
58+
59+
```
60+
spec:
61+
type: NodePort
62+
ports:
63+
- protocol: TCP
64+
port: 3306
65+
targetPort: 3306
66+
nodePort: 30306
67+
```
68+
After applying the updated service you can connect using `<node-ip>:30306`.
69+
70+
![Image](https://github.com/user-attachments/assets/943d18d8-2cfc-478e-91ed-a7cd7b1dcf23)
71+
872
#### Docker Desktop
973
- see https://github.com/ObrienlabsDev/biometric-backend/issues/6
1074
```

biometric-nbi/src/kubernetes/mysql-secret.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,5 +8,5 @@ metadata:
88
namespace: mysql
99
type: kubernetes.io/basic-auth
1010
stringData:
11-
password: password
11+
password: root
1212

biometric-nbi/src/kubernetes/mysql-service.yaml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,11 +7,12 @@ metadata:
77
name: mysql
88
namespace: mysql
99
spec:
10+
type: NodePort
1011
# kubectl port-forward mysql-58b7767464-dgpf4 3306:3306
1112
ports:
1213
- protocol: TCP
1314
port: 3306
1415
targetPort: 3306
16+
nodePort: 30306
1517
selector:
1618
app: mysql
17-
clusterIP: None

biometric-nbi/src/main/resources/application.properties

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,13 +10,17 @@ server.port=8080
1010
#spring.jpa.hibernate.ddl-auto=create-drop
1111
spring.jpa.hibernate.ddl-auto=none
1212
#spring.jpa.properties.hibernate.globally_quoted_identifiers=true
13-
spring.datasource.url=jdbc:mysql://192.168.0.105:3506/biometric
14-
#spring.datasource.url=jdbc:mysql://127.0.0.1:3506/biometric
13+
#spring.datasource.url=jdbc:mysql://192.168.0.105:3506/biometric
14+
#spring.datasource.username=root
15+
#spring.datasource.password=root
16+
#spring.datasource.url=jdbc:mysql://localhost:3506/biometric
17+
spring.datasource.url=jdbc:mysql://127.0.0.1:3306/biometric
1518
spring.datasource.username=root
16-
spring.datasource.password=root
19+
spring.datasource.password=password
1720
# deprecated
1821
#spring.datasource.driverClassName=com.mysql.jdbc.Driver
1922
spring.datasource.driverClassName=com.mysql.cj.jdbc.Driver
23+
#spring.jpa.database-platform=org.hibernate.dialect.MySQL8Dialect
2024

2125
# override auto conversion of tsStart to ts_start
2226
# see https://stackoverflow.com/questions/25283198/spring-boot-jpa-column-name-annotation-ignored

0 commit comments

Comments
 (0)