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

View File

@@ -67,9 +67,50 @@ SPRING_PROFILES_ACTIVE: docker
### Volume ### 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. Mount a local keystore into the container. Read [keystore.md](./keystore.md) for how to generate.
```text ```text
volumes: volumes:
- ./cert/account_public_key.pem:/app/resources/cert/public_key.pem
- ./cert/registry_api_keystore.p12:/app/resources/cert/keystore.p12 - ./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: services:
device-registry: device-registry:
image: hlaeja-device-registry:0.3.0 image: hlaeja-device-registry:0.5.0
container_name: DeviceRegistry container_name: DeviceRegistry
restart: unless-stopped restart: unless-stopped
environment: environment:
@@ -45,7 +45,7 @@ services:
- 9030:8080 - 9030:8080
device-api: device-api:
image: hlaeja-device-api:0.3.0 image: hlaeja-device-api:0.4.0
container_name: DeviceApi container_name: DeviceApi
restart: unless-stopped restart: unless-stopped
environment: environment:
@@ -61,7 +61,7 @@ services:
- ./cert/device_api_keystore.p12:/app/resources/cert/keystore.p12 - ./cert/device_api_keystore.p12:/app/resources/cert/keystore.p12
registry-api: registry-api:
image: hlaeja-registry-api:0.1.0 image: hlaeja-registry-api:0.2.0
container_name: RegistryApi container_name: RegistryApi
restart: unless-stopped restart: unless-stopped
environment: environment:
@@ -71,6 +71,35 @@ services:
- develop - develop
ports: ports:
- 9040:8443 - 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: volumes:
- ./cert/registry_api_keystore.p12:/app/resources/cert/keystore.p12 - ./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