4 Commits

Author SHA1 Message Date
97991f243f Hlæja concept v0.6.0 2025-04-05 13:28:42 +02:00
785095aa80 update dependency.md with missing/planed usages 2025-02-17 10:45:11 +01:00
a4de9872f7 Hlæja concept v0.5.0 2025-02-07 17:50:43 +01:00
e2b0c475fc Hlæja concept v0.4.0 2025-01-21 12:43:46 +01:00
5 changed files with 148 additions and 27 deletions

View File

@@ -36,6 +36,14 @@ Plugin containing gradle task and setting used by common, library, and service r
Library containing all internal messages for services. GitHub [Hlæja Common Messages](https://github.com/swordsteel/hlaeja-common-messages)
#### JWT
Library containing JWT for services. GitHub [Hlæja JWT](https://github.com/swordsteel/hlaeja-jwt)
#### Test
Library containing test assertion extension and test container annotation. GitHub [Hlæja Test](https://github.com/swordsteel/hlaeja-test)
### Services
#### Device Data
@@ -56,4 +64,12 @@ Store configurations for electronic devices. GitHub [Hlæja Device Configuration
#### Registry API
Store configurations for electronic devices. GitHub [Hlæja Registry API](https://github.com/swordsteel/hlaeja-registry-api)
API for register devices when flashed. GitHub [Hlæja Registry API](https://github.com/swordsteel/hlaeja-registry-api)
#### Account Registry
Store Information of accounts. GitHub [Hlæja Account Registry](https://github.com/swordsteel/hlaeja-account-registry)
#### Management
Management ui. GitHub [Hlæja Account Registry](https://github.com/swordsteel/hlaeja-management)

View File

@@ -5,6 +5,7 @@
```mermaid
graph TD
;
subgraph BE[Backend Services]
subgraph HDR[Hlæja Device Registry]
HDRS[Service] --> HDRD[(Postgres)]
@@ -20,23 +21,32 @@ graph TD
end
end
subgraph HDA[Hlæja Device API]
HDAS[Service] --> HDAD[(Redis)]
HDAS[Service] --> HDAR[(Redis)]
end
subgraph HRA[Hlæja Registry API]
HRAS[Service]
end
subgraph HM[Hlæja Management]
HMS[Service]
HMS[Service] -.-> HMR[(Redis)]
end
subgraph HG[Hlæja Gateway]
HGE[Nginx]
end
HG -.-> HDA
HG -.-> HRA
HG -.-> HM
HM --> HAR
HM -.-> HDR
HM -.-> HDC
HRA --> HAR
HRA --> HDR
HDA --> HDR
HDA --> HDC
HDA --> HDD
HRA --> HDR
HRA -.-> HAR
HM -.-> HDC
HM -.-> HDR
HM -.-> HAR
```
## Library and Gradle plugin dependency
@@ -44,6 +54,7 @@ graph TD
```mermaid
graph RL
;
CP[Core Plugin]
subgraph SCP [Common Plugin]
PL[Plugin Library]
@@ -52,48 +63,72 @@ graph RL
PCo[Plugin Common]
PCoD[Plugin Common Detekt]
PCoK[Plugin Common Ktlint]
PCe[Plugin Certificate]
PS[Plugin Service]
PSC[Plugin Service Container]
PSIT[Plugin Service Integration Test]
PSPR[Plugin Service Process Resource]
PCe[Plugin Certificate]
end
PCo --> PL
PLM --> PL
PLP --> PL
CP --> PCo
PCo ---> PL
PCoD --> PCo
CP ---> PCo
PCoK --> PCo
PCo --> PS
PCo ---> PS
PSC --> PS
PSIT --> PS
PSPR --> PS
CML[Common Messages Library]
PL --> CML
JL[JWT Library]
PL --> JL
TL[Test Library]
PL --> TL
DRS[Device Registry Service]
CML --> DRS
PS --> DRS
PCe --> DRS
TL -.-> DRS
CML --> DRS
JL --> DRS
DDS[Device Data Service]
CML --> DDS
PS --> DDS
TL -.-> DDS
CML --> DDS
DCS[Device Configuration Service]
CML --> DCS
TL -.-> DCS
PS --> DCS
CML --> DCS
AS[Account Service]
TL --> AS
CML --> AS
PS --> AS
PCe --> AS
JL --> AS
DAS[Device API Service]
CML --> DAS
PS --> DAS
CML --> DAS
JL --> DAS
PCe --> DAS
RAS[Registry API Service]
CML --> RAS
JL --> RAS
PS --> RAS
PCe --> RAS
AS[Account Service]
CML -.-> AS
PS -.-> AS
PCe -.-> AS
MUS[Management UI Service]
CML -.-> MUS
PS -.-> MUS
CML --> MUS
JL --> MUS
PS --> MUS
PCe -.-> MUS
```

View File

@@ -23,7 +23,7 @@ PostgreSQL is a powerful, open-source relational database management system (RDB
```text
POSTGRES_USER: postgres
POSTGRES_PASSWORD : password
POSTGRES_PASSWORD: password
```
## Apache Cassandra

View File

@@ -67,9 +67,50 @@ SPRING_PROFILES_ACTIVE: docker
### Volume
Mount a local public key into the container. Read [rsa_key.md](./rsa_key.md) for how to generate.
Mount a local keystore into the container. Read [keystore.md](./keystore.md) for how to generate.
```text
volumes:
- ./cert/account_public_key.pem:/app/resources/cert/public_key.pem
- ./cert/registry_api_keystore.p12:/app/resources/cert/keystore.p12
```
## Account Registry
### Environment
```text
SPRING_R2DBC_URL: r2dbc:postgresql://localhost:5432/account_registry
SPRING_R2DBC_USERBAME: services
SPRING_R2DBC_PASSWORD: password
JWT_PRIVATE_KEY: cert/private_key.pem
```
### Volume
Mount a local private key into the container. Read [`rsa_key.md`](./rsa_key.md) for how to generate.
```text
volumes:
- ./cert/account_private_key.pem:/app/resources/cert/private_key.pem
```
## Management
### Environment
```text
SPRING_PROFILES_ACTIVE: docker
```
### Volume
Mount a local public key into the container. Read [rsa_key.md](./rsa_key.md) for how to generate.
```text
volumes:
- ./cert/account_public_key.pem:/app/resources/cert/public_key.pem
```

View File

@@ -8,7 +8,7 @@ networks:
services:
device-registry:
image: hlaeja-device-registry:0.3.0
image: hlaeja-device-registry:0.5.0
container_name: DeviceRegistry
restart: unless-stopped
environment:
@@ -45,7 +45,7 @@ services:
- 9030:8080
device-api:
image: hlaeja-device-api:0.3.0
image: hlaeja-device-api:0.4.0
container_name: DeviceApi
restart: unless-stopped
environment:
@@ -61,7 +61,7 @@ services:
- ./cert/device_api_keystore.p12:/app/resources/cert/keystore.p12
registry-api:
image: hlaeja-registry-api:0.1.0
image: hlaeja-registry-api:0.2.0
container_name: RegistryApi
restart: unless-stopped
environment:
@@ -71,6 +71,35 @@ services:
- develop
ports:
- 9040:8443
# mount a local `registry_api_keystore.p12` into the container.
# mount a local `account_public_key.pem` and `registry_api_keystore.p12` into the container.
volumes:
- ./cert/registry_api_keystore.p12:/app/resources/cert/keystore.p12
- ./cert/account_public_key.pem:/app/resources/cert/public_key.pem
account-registry:
image: hlaeja-account-registry:0.2.0
container_name: AccountRegistry
restart: unless-stopped
environment:
SPRING_PROFILES_ACTIVE: docker
networks:
- develop
ports:
- 9050:8080
# mount a local `account_private_key.pem` into the container.
volumes:
- ./cert/account_private_key.pem:/app/resources/cert/private_key.pem
management:
image: hlaeja-management:0.2.0
container_name: Management
restart: unless-stopped
environment:
SPRING_PROFILES_ACTIVE: docker
networks:
- develop
ports:
- 9060:8080
# mount a local `account_public_key.pem` into the container.
volumes:
- ./cert/account_public_key.pem:/app/resources/cert/public_key.pem