Project

General

Profile

Technical Architecture » History » Version 1

Kusala Tech, 12/15/2025 03:59 AM

1 1 Kusala Tech
# Technical Architecture
2
3
# Architecture
4
5
```plantuml
6
@startuml Kusala_Tech_Architecture
7
!theme aws-orange
8
9
skinparam monochrome true
10
skinparam defaultFontName Helvetica
11
skinparam shadowing false
12
13
' === Components ===
14
rectangle "DNS & Email" as dns {
15
  rectangle "name.com" as name_dns #aliceblue
16
  rectangle "Titan Mail" as titan #aliceblue
17
  name_dns -[hidden]-> titan
18
}
19
20
rectangle "Hosting" as hosting {
21
  rectangle "Linode VPS\n(foss-dev)" as linode_vps #moccasin {
22
    rectangle "Docker" as docker {
23
      rectangle "Traefik" as traefik #lightgreen
24
      rectangle "Redmine" as redmine #lightgreen
25
      rectangle "Certbot" as certbot #lightgreen
26
      traefik -[hidden]-> redmine
27
      redmine -[hidden]-> certbot
28
    }
29
  }
30
  rectangle "Linode LKS\n(future)" as linode_lks #moccasin
31
  linode_vps -[hidden]-> linode_lks
32
}
33
34
rectangle "Security" as security {
35
  rectangle "KeePassXC" as keepass #mistyrose {
36
    rectangle "WebDAV Sync\n(self-signed cert)" as webdav #lightgrey
37
  }
38
}
39
40
' === Connections ===
41
name_dns --> titan : "email@kusala.studio\n(IMAP/SMTP manual config)"
42
titan --> linode_vps : "Admin notifications"
43
linode_vps --> name_dns : "DNS records"
44
45
linode_vps --> keepass : "Credential storage"
46
webdav --> linode_vps : "Password sync"
47
48
' === Legend/Notes ===
49
note right of linode_vps
50
  • Single point of failure
51
  • Minimal functional phase
52
  • Limited budget constraints
53
end note
54
55
note right of titan
56
  • IMAP: imap.titan.email
57
  • SMTP: smtp.titan.email
58
  • Requires manual config
59
end note
60
61
note bottom of security
62
  • KeePassXC database
63
  • Sync via WebDAV
64
  • Currently self-signed cert
65
end note
66
67
@enduml
68
```
69
70
71
72
AI Request (TODO - find a way to standardize AI prompts):
73
74
Help me create a PlantUML diagram to reflect the current status of the architecture for Kusala Tech.
75
76
Context:
77
78
- name.com for NS (kusala.studio)
79
- email on Titan Mail (service of name.com)
80
81
  - imap.titan.email
82
  - smtp.titan.email
83
  - NOTE: they need to be configured manually (autodiscovery does not currently work - ref for configuration can be found at: https://support.titan.email/hc/en-us/articles/900000215446-Configure-Titan-on-other-apps-using-IMAP-POP)
84
- Linode VPS (foss-dev)
85
86
  - Note: this is a single point of failure, but there is not anything currently highly critical, and we are in minimal functional phase with limited to no budget.
87
  - Docker
88
89
    - Traefik
90
    - Redmine
91
    - Certbot will be configured for TLS
92
- KeepassXC for password management
93
94
  - Sync over WebDAV
95
96
    - Tested - works nicely (currently self-signed cert)
97
- Linode LKS (for later migration if necessary)