Fix dropdown menu duplicates and reorder items
- Fix CSS breakpoints to sync header tabs with dropdown menu visibility - Add missing apps (docs, sheet, slides, social) to hide/show logic - Remove incorrect paper breakpoint (not in header tabs) - Reorder dropdown: dynamic items first (header tab apps), then static items - Move People after dynamic items (after social) - Remove duplicate Social entry from dropdown menu - All 26 suite app folders have menu entries (no orphans)
This commit is contained in:
parent
ba74a9a6e5
commit
497d42258e
50 changed files with 470 additions and 177 deletions
49
PROMPT.md
49
PROMPT.md
|
|
@ -219,9 +219,9 @@ match x {
|
|||
```
|
||||
gb/
|
||||
├── botapp/ # Desktop app (Tauri)
|
||||
├── botserver/ # Main server (Axum API)
|
||||
├── botserver/ # Main server (Axum API) - port 8088
|
||||
├── botlib/ # Shared library
|
||||
├── botui/ # Web UI
|
||||
├── botui/ # Web UI server - port 3000
|
||||
├── botbook/ # Documentation
|
||||
├── bottest/ # Integration tests
|
||||
└── PROMPT.md # THIS FILE
|
||||
|
|
@ -229,6 +229,51 @@ gb/
|
|||
|
||||
---
|
||||
|
||||
## 🖥️ UI Architecture (botui + botserver)
|
||||
|
||||
### Two Servers During Development
|
||||
|
||||
| Server | Port | Purpose |
|
||||
|--------|------|---------|
|
||||
| **botui** | 3000 | Serves UI files + proxies API to botserver |
|
||||
| **botserver** | 8088 | Backend API + embedded UI fallback |
|
||||
|
||||
### How It Works
|
||||
|
||||
```
|
||||
Browser → localhost:3000 → botui (serves HTML/CSS/JS)
|
||||
→ /api/* proxied to botserver:8088
|
||||
→ /suite/* served from botui/ui/suite/
|
||||
```
|
||||
|
||||
### Adding New Suite Apps
|
||||
|
||||
When adding a new app (e.g., `video`, `learn`):
|
||||
|
||||
1. Create folder: `botui/ui/suite/<appname>/`
|
||||
2. Add to `SUITE_DIRS` in `botui/src/ui_server/mod.rs`:
|
||||
```rust
|
||||
const SUITE_DIRS: &[&str] = &[
|
||||
"chat", "mail", "calendar", ...,
|
||||
"video", // ← add new app here
|
||||
"learn",
|
||||
];
|
||||
```
|
||||
3. Rebuild botui: `cargo build -p botui`
|
||||
4. Add menu entry in `botui/ui/suite/index.html`
|
||||
|
||||
### Hot Reload
|
||||
|
||||
- **UI files (HTML/CSS/JS)**: Edit & refresh browser (no restart)
|
||||
- **botui Rust code**: Rebuild + restart botui
|
||||
- **botserver Rust code**: Rebuild + restart botserver
|
||||
|
||||
### Production (Single Binary)
|
||||
|
||||
When `botui/ui/suite/` folder not found, botserver uses **embedded UI** compiled into binary via `rust-embed`.
|
||||
|
||||
---
|
||||
|
||||
## 🚀 OFFLINE ERROR FIXING WORKFLOW
|
||||
|
||||
### Step 1: Analyze Error List
|
||||
|
|
|
|||
|
|
@ -1 +1 @@
|
|||
Subproject commit a8444f0d2400f60d966341c59a7a3df4577c69d2
|
||||
Subproject commit 1b0a5cbec7f4a0e8576757f36d04a89c80f9406a
|
||||
11
botserver-stack/conf/drive/certs/CAs/ca.crt
Normal file
11
botserver-stack/conf/drive/certs/CAs/ca.crt
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
-----BEGIN CERTIFICATE-----
|
||||
MIIBpDCCAUqgAwIBAgIUb/JxqKPVbZIOJUOHrRQG9+XGb2wwCgYIKoZIzj0EAwIw
|
||||
ODELMAkGA1UEBgwCQlIxEjAQBgNVBAoMCUJvdFNlcnZlcjEVMBMGA1UEAwwMQm90
|
||||
U2VydmVyIENBMB4XDTI2MDEwOTE0MzIyN1oXDTM2MDEwNzE0MzIyN1owODELMAkG
|
||||
A1UEBgwCQlIxEjAQBgNVBAoMCUJvdFNlcnZlcjEVMBMGA1UEAwwMQm90U2VydmVy
|
||||
IENBMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEf91iFmGt2MGESvNrMWq9hGCn
|
||||
hxzYzc74iaLunNh6hVU5oP3jvg7q3g8rZOWUDOOGa4DGdwrdC7CvIIWcqj+zKaMy
|
||||
MDAwHQYDVR0OBBYEFCjdDuxP8W2kfvArjBjB3DTasjOOMA8GA1UdEwEB/wQFMAMB
|
||||
Af8wCgYIKoZIzj0EAwIDSAAwRQIgGZ8DZBa3S4d1R9i4H/cgxsJ5Chc4WjspO2cR
|
||||
K2ZYhJICIQCovdi36+WpK8rPYWfnOpViddt7kjGmET06G1jNCaY8eA==
|
||||
-----END CERTIFICATE-----
|
||||
5
botserver-stack/conf/drive/certs/private.key
Normal file
5
botserver-stack/conf/drive/certs/private.key
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
-----BEGIN EC PRIVATE KEY-----
|
||||
MHcCAQEEIDEwVAlMJVNEO6Tq5YhFCHErtYnJnOXnV4CMEzfw4TbNoAoGCCqGSM49
|
||||
AwEHoUQDQgAEjqzVL6nD2ty59fy75/NkGPvyYWFdcKBwvytPHSMeFK6rzN0KQ0sQ
|
||||
WusB/ejQtfbwoLI32007+N1sZZ6WCd6K1w==
|
||||
-----END EC PRIVATE KEY-----
|
||||
12
botserver-stack/conf/drive/certs/public.crt
Normal file
12
botserver-stack/conf/drive/certs/public.crt
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
-----BEGIN CERTIFICATE-----
|
||||
MIIBsTCCAVagAwIBAgIUCCAJMWsnAtGqvpXvr+aEp4jjdXwwCgYIKoZIzj0EAwIw
|
||||
ODELMAkGA1UEBgwCQlIxEjAQBgNVBAoMCUJvdFNlcnZlcjEVMBMGA1UEAwwMQm90
|
||||
U2VydmVyIENBMB4XDTI2MDEwOTE0MzIyN1oXDTI3MDEwOTE0MzIyN1owQTELMAkG
|
||||
A1UEBgwCQlIxEjAQBgNVBAoMCUJvdFNlcnZlcjEeMBwGA1UEAwwVZHJpdmUuYm90
|
||||
c2VydmVyLmxvY2FsMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEjqzVL6nD2ty5
|
||||
9fy75/NkGPvyYWFdcKBwvytPHSMeFK6rzN0KQ0sQWusB/ejQtfbwoLI32007+N1s
|
||||
ZZ6WCd6K16M1MDMwMQYDVR0RBCowKIIJbG9jYWxob3N0hwR/AAABghVkcml2ZS5i
|
||||
b3RzZXJ2ZXIubG9jYWwwCgYIKoZIzj0EAwIDSQAwRgIhAPaAQkiauh2NgOmfqgtx
|
||||
Ivltu8S+rtbAzatuNdllZctHAiEAxe9LvBAGQoNy41aktHjHfAVBrVSZwUoHZ8L3
|
||||
qw4drHo=
|
||||
-----END CERTIFICATE-----
|
||||
11
botserver-stack/conf/system/certificates/api/ca.crt
Normal file
11
botserver-stack/conf/system/certificates/api/ca.crt
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
-----BEGIN CERTIFICATE-----
|
||||
MIIBpDCCAUqgAwIBAgIUb/JxqKPVbZIOJUOHrRQG9+XGb2wwCgYIKoZIzj0EAwIw
|
||||
ODELMAkGA1UEBgwCQlIxEjAQBgNVBAoMCUJvdFNlcnZlcjEVMBMGA1UEAwwMQm90
|
||||
U2VydmVyIENBMB4XDTI2MDEwOTE0MzIyN1oXDTM2MDEwNzE0MzIyN1owODELMAkG
|
||||
A1UEBgwCQlIxEjAQBgNVBAoMCUJvdFNlcnZlcjEVMBMGA1UEAwwMQm90U2VydmVy
|
||||
IENBMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEf91iFmGt2MGESvNrMWq9hGCn
|
||||
hxzYzc74iaLunNh6hVU5oP3jvg7q3g8rZOWUDOOGa4DGdwrdC7CvIIWcqj+zKaMy
|
||||
MDAwHQYDVR0OBBYEFCjdDuxP8W2kfvArjBjB3DTasjOOMA8GA1UdEwEB/wQFMAMB
|
||||
Af8wCgYIKoZIzj0EAwIDSAAwRQIgGZ8DZBa3S4d1R9i4H/cgxsJ5Chc4WjspO2cR
|
||||
K2ZYhJICIQCovdi36+WpK8rPYWfnOpViddt7kjGmET06G1jNCaY8eA==
|
||||
-----END CERTIFICATE-----
|
||||
11
botserver-stack/conf/system/certificates/api/server.crt
Normal file
11
botserver-stack/conf/system/certificates/api/server.crt
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
-----BEGIN CERTIFICATE-----
|
||||
MIIBqzCCAVKgAwIBAgIUEBmttmYkjeLlfU1QeXDBy8+HmP0wCgYIKoZIzj0EAwIw
|
||||
ODELMAkGA1UEBgwCQlIxEjAQBgNVBAoMCUJvdFNlcnZlcjEVMBMGA1UEAwwMQm90
|
||||
U2VydmVyIENBMB4XDTI2MDEwOTE0MzIyN1oXDTI3MDEwOTE0MzIyN1owPzELMAkG
|
||||
A1UEBgwCQlIxEjAQBgNVBAoMCUJvdFNlcnZlcjEcMBoGA1UEAwwTYXBpLmJvdHNl
|
||||
cnZlci5sb2NhbDBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABD9E4Onao5JJ7aAV
|
||||
/FxABbiG37H3Vtiet33+WkGmNTFQOjz9pz6PTIscgVl7rNGkCniyuNyUKAe3zyY6
|
||||
iu3GWcCjMzAxMC8GA1UdEQQoMCaCCWxvY2FsaG9zdIcEfwAAAYITYXBpLmJvdHNl
|
||||
cnZlci5sb2NhbDAKBggqhkjOPQQDAgNHADBEAiAI2SJcABgzkJoRIdYs5uAeaQeS
|
||||
BKWX/jADXkputmR2awIgLhtL02FP9vNwin7b2J/XAzh2I6nKREKdyjzqbuST0Bo=
|
||||
-----END CERTIFICATE-----
|
||||
5
botserver-stack/conf/system/certificates/api/server.key
Normal file
5
botserver-stack/conf/system/certificates/api/server.key
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
-----BEGIN PRIVATE KEY-----
|
||||
MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgi0umDCzes8MaDAgk
|
||||
uAeFc2yw3BxEfR9l9fyiQL2UW0ChRANCAAQ/RODp2qOSSe2gFfxcQAW4ht+x91bY
|
||||
nrd9/lpBpjUxUDo8/ac+j0yLHIFZe6zRpAp4srjclCgHt88mOortxlnA
|
||||
-----END PRIVATE KEY-----
|
||||
11
botserver-stack/conf/system/certificates/botserver/ca.crt
Normal file
11
botserver-stack/conf/system/certificates/botserver/ca.crt
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
-----BEGIN CERTIFICATE-----
|
||||
MIIBpDCCAUqgAwIBAgIUb/JxqKPVbZIOJUOHrRQG9+XGb2wwCgYIKoZIzj0EAwIw
|
||||
ODELMAkGA1UEBgwCQlIxEjAQBgNVBAoMCUJvdFNlcnZlcjEVMBMGA1UEAwwMQm90
|
||||
U2VydmVyIENBMB4XDTI2MDEwOTE0MzIyN1oXDTM2MDEwNzE0MzIyN1owODELMAkG
|
||||
A1UEBgwCQlIxEjAQBgNVBAoMCUJvdFNlcnZlcjEVMBMGA1UEAwwMQm90U2VydmVy
|
||||
IENBMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEf91iFmGt2MGESvNrMWq9hGCn
|
||||
hxzYzc74iaLunNh6hVU5oP3jvg7q3g8rZOWUDOOGa4DGdwrdC7CvIIWcqj+zKaMy
|
||||
MDAwHQYDVR0OBBYEFCjdDuxP8W2kfvArjBjB3DTasjOOMA8GA1UdEwEB/wQFMAMB
|
||||
Af8wCgYIKoZIzj0EAwIDSAAwRQIgGZ8DZBa3S4d1R9i4H/cgxsJ5Chc4WjspO2cR
|
||||
K2ZYhJICIQCovdi36+WpK8rPYWfnOpViddt7kjGmET06G1jNCaY8eA==
|
||||
-----END CERTIFICATE-----
|
||||
|
|
@ -0,0 +1,11 @@
|
|||
-----BEGIN CERTIFICATE-----
|
||||
MIIBjTCCATSgAwIBAgIUXyYxQ+Moq8JTVZ4gYqK5L3FYOxswCgYIKoZIzj0EAwIw
|
||||
ODELMAkGA1UEBgwCQlIxEjAQBgNVBAoMCUJvdFNlcnZlcjEVMBMGA1UEAwwMQm90
|
||||
U2VydmVyIENBMB4XDTI2MDEwOTE0MzIyN1oXDTI3MDEwOTE0MzIyN1owPDELMAkG
|
||||
A1UEBgwCQlIxEjAQBgNVBAoMCUJvdFNlcnZlcjEZMBcGA1UEAwwQYm90c2VydmVy
|
||||
LWNsaWVudDBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABOWhAQBCpd78n0hvghc2
|
||||
ehapOCGRAXzJpVlEpPc/OwNC30xHTx+gf6KxRYUKKvlUlMY73v+dYozX5yw/eaA9
|
||||
cF6jGDAWMBQGA1UdEQQNMAuCCWJvdHNlcnZlcjAKBggqhkjOPQQDAgNHADBEAiAg
|
||||
8QSmZuz8vJ+elGJED/iTm8grdgdyME+0/hoK8WCvMQIgYh4Vj8fjX8uRmckTmFhU
|
||||
FB225+EI69nGeH9TtDoU+N4=
|
||||
-----END CERTIFICATE-----
|
||||
|
|
@ -0,0 +1,5 @@
|
|||
-----BEGIN PRIVATE KEY-----
|
||||
MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgBzk4BnAMub4NhGdP
|
||||
M+uzhg1oikPjeeCq4NQxBWAYD32hRANCAATloQEAQqXe/J9Ib4IXNnoWqTghkQF8
|
||||
yaVZRKT3PzsDQt9MR08foH+isUWFCir5VJTGO97/nWKM1+csP3mgPXBe
|
||||
-----END PRIVATE KEY-----
|
||||
11
botserver-stack/conf/system/certificates/ca/ca.crt
Normal file
11
botserver-stack/conf/system/certificates/ca/ca.crt
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
-----BEGIN CERTIFICATE-----
|
||||
MIIBpDCCAUqgAwIBAgIUb/JxqKPVbZIOJUOHrRQG9+XGb2wwCgYIKoZIzj0EAwIw
|
||||
ODELMAkGA1UEBgwCQlIxEjAQBgNVBAoMCUJvdFNlcnZlcjEVMBMGA1UEAwwMQm90
|
||||
U2VydmVyIENBMB4XDTI2MDEwOTE0MzIyN1oXDTM2MDEwNzE0MzIyN1owODELMAkG
|
||||
A1UEBgwCQlIxEjAQBgNVBAoMCUJvdFNlcnZlcjEVMBMGA1UEAwwMQm90U2VydmVy
|
||||
IENBMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEf91iFmGt2MGESvNrMWq9hGCn
|
||||
hxzYzc74iaLunNh6hVU5oP3jvg7q3g8rZOWUDOOGa4DGdwrdC7CvIIWcqj+zKaMy
|
||||
MDAwHQYDVR0OBBYEFCjdDuxP8W2kfvArjBjB3DTasjOOMA8GA1UdEwEB/wQFMAMB
|
||||
Af8wCgYIKoZIzj0EAwIDSAAwRQIgGZ8DZBa3S4d1R9i4H/cgxsJ5Chc4WjspO2cR
|
||||
K2ZYhJICIQCovdi36+WpK8rPYWfnOpViddt7kjGmET06G1jNCaY8eA==
|
||||
-----END CERTIFICATE-----
|
||||
5
botserver-stack/conf/system/certificates/ca/ca.key
Normal file
5
botserver-stack/conf/system/certificates/ca/ca.key
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
-----BEGIN PRIVATE KEY-----
|
||||
MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgD7oHpHyAUlaAO0Hv
|
||||
CZX/x2MHG0HyuoX3I0499CkBsHmhRANCAAR/3WIWYa3YwYRK82sxar2EYKeHHNjN
|
||||
zviJou6c2HqFVTmg/eO+DureDytk5ZQM44ZrgMZ3Ct0LsK8ghZyqP7Mp
|
||||
-----END PRIVATE KEY-----
|
||||
11
botserver-stack/conf/system/certificates/cache/ca.crt
vendored
Normal file
11
botserver-stack/conf/system/certificates/cache/ca.crt
vendored
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
-----BEGIN CERTIFICATE-----
|
||||
MIIBpDCCAUqgAwIBAgIUb/JxqKPVbZIOJUOHrRQG9+XGb2wwCgYIKoZIzj0EAwIw
|
||||
ODELMAkGA1UEBgwCQlIxEjAQBgNVBAoMCUJvdFNlcnZlcjEVMBMGA1UEAwwMQm90
|
||||
U2VydmVyIENBMB4XDTI2MDEwOTE0MzIyN1oXDTM2MDEwNzE0MzIyN1owODELMAkG
|
||||
A1UEBgwCQlIxEjAQBgNVBAoMCUJvdFNlcnZlcjEVMBMGA1UEAwwMQm90U2VydmVy
|
||||
IENBMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEf91iFmGt2MGESvNrMWq9hGCn
|
||||
hxzYzc74iaLunNh6hVU5oP3jvg7q3g8rZOWUDOOGa4DGdwrdC7CvIIWcqj+zKaMy
|
||||
MDAwHQYDVR0OBBYEFCjdDuxP8W2kfvArjBjB3DTasjOOMA8GA1UdEwEB/wQFMAMB
|
||||
Af8wCgYIKoZIzj0EAwIDSAAwRQIgGZ8DZBa3S4d1R9i4H/cgxsJ5Chc4WjspO2cR
|
||||
K2ZYhJICIQCovdi36+WpK8rPYWfnOpViddt7kjGmET06G1jNCaY8eA==
|
||||
-----END CERTIFICATE-----
|
||||
12
botserver-stack/conf/system/certificates/cache/server.crt
vendored
Normal file
12
botserver-stack/conf/system/certificates/cache/server.crt
vendored
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
-----BEGIN CERTIFICATE-----
|
||||
MIIBsDCCAVagAwIBAgIUFK8kzVdER15ZiUQs8Liot83qUFgwCgYIKoZIzj0EAwIw
|
||||
ODELMAkGA1UEBgwCQlIxEjAQBgNVBAoMCUJvdFNlcnZlcjEVMBMGA1UEAwwMQm90
|
||||
U2VydmVyIENBMB4XDTI2MDEwOTE0MzIyN1oXDTI3MDEwOTE0MzIyN1owQTELMAkG
|
||||
A1UEBgwCQlIxEjAQBgNVBAoMCUJvdFNlcnZlcjEeMBwGA1UEAwwVY2FjaGUuYm90
|
||||
c2VydmVyLmxvY2FsMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEYFnVn8tKA4iL
|
||||
2nCj5PTIXnrgbghrGgY3x0+hS3LcTXgz/4s53bpwrUcobEjs7nXS1VDqERdtJ4c4
|
||||
EMo2VOf46qM1MDMwMQYDVR0RBCowKIIJbG9jYWxob3N0hwR/AAABghVjYWNoZS5i
|
||||
b3RzZXJ2ZXIubG9jYWwwCgYIKoZIzj0EAwIDSAAwRQIhAIoEvORMPLOcbeQl5917
|
||||
3tbdnllRqoSlpU3+tfcioOpiAiAkHs2dH1Q+JF30KHB7AMv3Ec+WPBqkxCOJlg1y
|
||||
9lSXdw==
|
||||
-----END CERTIFICATE-----
|
||||
5
botserver-stack/conf/system/certificates/cache/server.key
vendored
Normal file
5
botserver-stack/conf/system/certificates/cache/server.key
vendored
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
-----BEGIN PRIVATE KEY-----
|
||||
MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQg65zp+LXs7+Zx8qcj
|
||||
xIQnHoxTy5sdfqiGAgRPBlSbdGOhRANCAARgWdWfy0oDiIvacKPk9MheeuBuCGsa
|
||||
BjfHT6FLctxNeDP/izndunCtRyhsSOzuddLVUOoRF20nhzgQyjZU5/jq
|
||||
-----END PRIVATE KEY-----
|
||||
11
botserver-stack/conf/system/certificates/caddy/ca.crt
Normal file
11
botserver-stack/conf/system/certificates/caddy/ca.crt
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
-----BEGIN CERTIFICATE-----
|
||||
MIIBpDCCAUqgAwIBAgIUb/JxqKPVbZIOJUOHrRQG9+XGb2wwCgYIKoZIzj0EAwIw
|
||||
ODELMAkGA1UEBgwCQlIxEjAQBgNVBAoMCUJvdFNlcnZlcjEVMBMGA1UEAwwMQm90
|
||||
U2VydmVyIENBMB4XDTI2MDEwOTE0MzIyN1oXDTM2MDEwNzE0MzIyN1owODELMAkG
|
||||
A1UEBgwCQlIxEjAQBgNVBAoMCUJvdFNlcnZlcjEVMBMGA1UEAwwMQm90U2VydmVy
|
||||
IENBMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEf91iFmGt2MGESvNrMWq9hGCn
|
||||
hxzYzc74iaLunNh6hVU5oP3jvg7q3g8rZOWUDOOGa4DGdwrdC7CvIIWcqj+zKaMy
|
||||
MDAwHQYDVR0OBBYEFCjdDuxP8W2kfvArjBjB3DTasjOOMA8GA1UdEwEB/wQFMAMB
|
||||
Af8wCgYIKoZIzj0EAwIDSAAwRQIgGZ8DZBa3S4d1R9i4H/cgxsJ5Chc4WjspO2cR
|
||||
K2ZYhJICIQCovdi36+WpK8rPYWfnOpViddt7kjGmET06G1jNCaY8eA==
|
||||
-----END CERTIFICATE-----
|
||||
12
botserver-stack/conf/system/certificates/caddy/server.crt
Normal file
12
botserver-stack/conf/system/certificates/caddy/server.crt
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
-----BEGIN CERTIFICATE-----
|
||||
MIIBvDCCAWOgAwIBAgIUFZX7qbWa8Ls+Y744yNHGVp4OKjowCgYIKoZIzj0EAwIw
|
||||
ODELMAkGA1UEBgwCQlIxEjAQBgNVBAoMCUJvdFNlcnZlcjEVMBMGA1UEAwwMQm90
|
||||
U2VydmVyIENBMB4XDTI2MDEwOTE0MzIyN1oXDTI3MDEwOTE0MzIyN1owQTELMAkG
|
||||
A1UEBgwCQlIxEjAQBgNVBAoMCUJvdFNlcnZlcjEeMBwGA1UEAwwVY2FkZHkuYm90
|
||||
c2VydmVyLmxvY2FsMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEZAPbdPWp646Q
|
||||
tMh1BTYT6Wr42nOVMvUuj3HSQQsHZB1sHcNBTI5yrvgrToDy4PDzbB/E5RMDR6Xp
|
||||
AW4irwwSz6NCMEAwPgYDVR0RBDcwNYIJbG9jYWxob3N0hwR/AAABghEqLmJvdHNl
|
||||
cnZlci5sb2NhbIIPYm90c2VydmVyLmxvY2FsMAoGCCqGSM49BAMCA0cAMEQCIFz2
|
||||
NqlzwiAK0kVdF2L4nzSdyqCA0+TGWIAorE0hZjUVAiA+NStt3fYi6CIF6oqPytCC
|
||||
dcL6O4n63CAoe94tQ4u40Q==
|
||||
-----END CERTIFICATE-----
|
||||
|
|
@ -0,0 +1,5 @@
|
|||
-----BEGIN PRIVATE KEY-----
|
||||
MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQg9yvPZCAxxQM5d3Qv
|
||||
6+5f3wn1bnXeQjknLohiyUFhOyehRANCAARkA9t09anrjpC0yHUFNhPpavjac5Uy
|
||||
9S6PcdJBCwdkHWwdw0FMjnKu+CtOgPLg8PNsH8TlEwNHpekBbiKvDBLP
|
||||
-----END PRIVATE KEY-----
|
||||
11
botserver-stack/conf/system/certificates/directory/ca.crt
Normal file
11
botserver-stack/conf/system/certificates/directory/ca.crt
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
-----BEGIN CERTIFICATE-----
|
||||
MIIBpDCCAUqgAwIBAgIUb/JxqKPVbZIOJUOHrRQG9+XGb2wwCgYIKoZIzj0EAwIw
|
||||
ODELMAkGA1UEBgwCQlIxEjAQBgNVBAoMCUJvdFNlcnZlcjEVMBMGA1UEAwwMQm90
|
||||
U2VydmVyIENBMB4XDTI2MDEwOTE0MzIyN1oXDTM2MDEwNzE0MzIyN1owODELMAkG
|
||||
A1UEBgwCQlIxEjAQBgNVBAoMCUJvdFNlcnZlcjEVMBMGA1UEAwwMQm90U2VydmVy
|
||||
IENBMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEf91iFmGt2MGESvNrMWq9hGCn
|
||||
hxzYzc74iaLunNh6hVU5oP3jvg7q3g8rZOWUDOOGa4DGdwrdC7CvIIWcqj+zKaMy
|
||||
MDAwHQYDVR0OBBYEFCjdDuxP8W2kfvArjBjB3DTasjOOMA8GA1UdEwEB/wQFMAMB
|
||||
Af8wCgYIKoZIzj0EAwIDSAAwRQIgGZ8DZBa3S4d1R9i4H/cgxsJ5Chc4WjspO2cR
|
||||
K2ZYhJICIQCovdi36+WpK8rPYWfnOpViddt7kjGmET06G1jNCaY8eA==
|
||||
-----END CERTIFICATE-----
|
||||
|
|
@ -0,0 +1,12 @@
|
|||
-----BEGIN CERTIFICATE-----
|
||||
MIIBzjCCAXSgAwIBAgIUQObXWjZXgUSHtdznx29wAsH7ztYwCgYIKoZIzj0EAwIw
|
||||
ODELMAkGA1UEBgwCQlIxEjAQBgNVBAoMCUJvdFNlcnZlcjEVMBMGA1UEAwwMQm90
|
||||
U2VydmVyIENBMB4XDTI2MDEwOTE0MzIyN1oXDTI3MDEwOTE0MzIyN1owRTELMAkG
|
||||
A1UEBgwCQlIxEjAQBgNVBAoMCUJvdFNlcnZlcjEiMCAGA1UEAwwZZGlyZWN0b3J5
|
||||
LmJvdHNlcnZlci5sb2NhbDBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABA/8o5Ww
|
||||
wUD14DJQ2Qh0XmFaHkao8TFhagwWP8YwmnkuvY1svj5sMA81N/2Dwp7o1jWnGxzX
|
||||
vJU0OSq3/WissUijTzBNMEsGA1UdEQREMEKCCWxvY2FsaG9zdIcEfwAAAYIZZGly
|
||||
ZWN0b3J5LmJvdHNlcnZlci5sb2NhbIIUYXV0aC5ib3RzZXJ2ZXIubG9jYWwwCgYI
|
||||
KoZIzj0EAwIDSAAwRQIgQjFLaGNS4L63Zp3F7baFYKSj3Np65Bj6wWnuPLcnYzkC
|
||||
IQCRE/kH+sGGCYE4jsiy+Jx7V4nRd3OFM1FDjS74gM8Wdw==
|
||||
-----END CERTIFICATE-----
|
||||
|
|
@ -0,0 +1,5 @@
|
|||
-----BEGIN PRIVATE KEY-----
|
||||
MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQg9n8fVbqgVqjIUNAs
|
||||
iRWePi0Jnxw2CqgSMe/E4KWFLNWhRANCAAQP/KOVsMFA9eAyUNkIdF5hWh5GqPEx
|
||||
YWoMFj/GMJp5Lr2NbL4+bDAPNTf9g8Ke6NY1pxsc17yVNDkqt/1orLFI
|
||||
-----END PRIVATE KEY-----
|
||||
11
botserver-stack/conf/system/certificates/drive/ca.crt
Normal file
11
botserver-stack/conf/system/certificates/drive/ca.crt
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
-----BEGIN CERTIFICATE-----
|
||||
MIIBpDCCAUqgAwIBAgIUb/JxqKPVbZIOJUOHrRQG9+XGb2wwCgYIKoZIzj0EAwIw
|
||||
ODELMAkGA1UEBgwCQlIxEjAQBgNVBAoMCUJvdFNlcnZlcjEVMBMGA1UEAwwMQm90
|
||||
U2VydmVyIENBMB4XDTI2MDEwOTE0MzIyN1oXDTM2MDEwNzE0MzIyN1owODELMAkG
|
||||
A1UEBgwCQlIxEjAQBgNVBAoMCUJvdFNlcnZlcjEVMBMGA1UEAwwMQm90U2VydmVy
|
||||
IENBMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEf91iFmGt2MGESvNrMWq9hGCn
|
||||
hxzYzc74iaLunNh6hVU5oP3jvg7q3g8rZOWUDOOGa4DGdwrdC7CvIIWcqj+zKaMy
|
||||
MDAwHQYDVR0OBBYEFCjdDuxP8W2kfvArjBjB3DTasjOOMA8GA1UdEwEB/wQFMAMB
|
||||
Af8wCgYIKoZIzj0EAwIDSAAwRQIgGZ8DZBa3S4d1R9i4H/cgxsJ5Chc4WjspO2cR
|
||||
K2ZYhJICIQCovdi36+WpK8rPYWfnOpViddt7kjGmET06G1jNCaY8eA==
|
||||
-----END CERTIFICATE-----
|
||||
12
botserver-stack/conf/system/certificates/drive/server.crt
Normal file
12
botserver-stack/conf/system/certificates/drive/server.crt
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
-----BEGIN CERTIFICATE-----
|
||||
MIIBsTCCAVagAwIBAgIUCCAJMWsnAtGqvpXvr+aEp4jjdXwwCgYIKoZIzj0EAwIw
|
||||
ODELMAkGA1UEBgwCQlIxEjAQBgNVBAoMCUJvdFNlcnZlcjEVMBMGA1UEAwwMQm90
|
||||
U2VydmVyIENBMB4XDTI2MDEwOTE0MzIyN1oXDTI3MDEwOTE0MzIyN1owQTELMAkG
|
||||
A1UEBgwCQlIxEjAQBgNVBAoMCUJvdFNlcnZlcjEeMBwGA1UEAwwVZHJpdmUuYm90
|
||||
c2VydmVyLmxvY2FsMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEjqzVL6nD2ty5
|
||||
9fy75/NkGPvyYWFdcKBwvytPHSMeFK6rzN0KQ0sQWusB/ejQtfbwoLI32007+N1s
|
||||
ZZ6WCd6K16M1MDMwMQYDVR0RBCowKIIJbG9jYWxob3N0hwR/AAABghVkcml2ZS5i
|
||||
b3RzZXJ2ZXIubG9jYWwwCgYIKoZIzj0EAwIDSQAwRgIhAPaAQkiauh2NgOmfqgtx
|
||||
Ivltu8S+rtbAzatuNdllZctHAiEAxe9LvBAGQoNy41aktHjHfAVBrVSZwUoHZ8L3
|
||||
qw4drHo=
|
||||
-----END CERTIFICATE-----
|
||||
|
|
@ -0,0 +1,5 @@
|
|||
-----BEGIN PRIVATE KEY-----
|
||||
MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgMTBUCUwlU0Q7pOrl
|
||||
iEUIcSu1icmc5edXgIwTN/DhNs2hRANCAASOrNUvqcPa3Ln1/Lvn82QY+/JhYV1w
|
||||
oHC/K08dIx4UrqvM3QpDSxBa6wH96NC19vCgsjfbTTv43WxlnpYJ3orX
|
||||
-----END PRIVATE KEY-----
|
||||
11
botserver-stack/conf/system/certificates/email/ca.crt
Normal file
11
botserver-stack/conf/system/certificates/email/ca.crt
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
-----BEGIN CERTIFICATE-----
|
||||
MIIBpDCCAUqgAwIBAgIUb/JxqKPVbZIOJUOHrRQG9+XGb2wwCgYIKoZIzj0EAwIw
|
||||
ODELMAkGA1UEBgwCQlIxEjAQBgNVBAoMCUJvdFNlcnZlcjEVMBMGA1UEAwwMQm90
|
||||
U2VydmVyIENBMB4XDTI2MDEwOTE0MzIyN1oXDTM2MDEwNzE0MzIyN1owODELMAkG
|
||||
A1UEBgwCQlIxEjAQBgNVBAoMCUJvdFNlcnZlcjEVMBMGA1UEAwwMQm90U2VydmVy
|
||||
IENBMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEf91iFmGt2MGESvNrMWq9hGCn
|
||||
hxzYzc74iaLunNh6hVU5oP3jvg7q3g8rZOWUDOOGa4DGdwrdC7CvIIWcqj+zKaMy
|
||||
MDAwHQYDVR0OBBYEFCjdDuxP8W2kfvArjBjB3DTasjOOMA8GA1UdEwEB/wQFMAMB
|
||||
Af8wCgYIKoZIzj0EAwIDSAAwRQIgGZ8DZBa3S4d1R9i4H/cgxsJ5Chc4WjspO2cR
|
||||
K2ZYhJICIQCovdi36+WpK8rPYWfnOpViddt7kjGmET06G1jNCaY8eA==
|
||||
-----END CERTIFICATE-----
|
||||
12
botserver-stack/conf/system/certificates/email/server.crt
Normal file
12
botserver-stack/conf/system/certificates/email/server.crt
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
-----BEGIN CERTIFICATE-----
|
||||
MIIB3DCCAYKgAwIBAgIUdw5C0UYct0rB8XKZP4xDRn7FZiUwCgYIKoZIzj0EAwIw
|
||||
ODELMAkGA1UEBgwCQlIxEjAQBgNVBAoMCUJvdFNlcnZlcjEVMBMGA1UEAwwMQm90
|
||||
U2VydmVyIENBMB4XDTI2MDEwOTE0MzIyN1oXDTI3MDEwOTE0MzIyN1owQTELMAkG
|
||||
A1UEBgwCQlIxEjAQBgNVBAoMCUJvdFNlcnZlcjEeMBwGA1UEAwwVZW1haWwuYm90
|
||||
c2VydmVyLmxvY2FsMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEax144GBiUfcy
|
||||
n+EgGEnHVjt66io6XES+rSrcS6cQApLnEkKFTWH3301VSkQbt1LXvnPS6/N46B0i
|
||||
zOC6QblEeqNhMF8wXQYDVR0RBFYwVIIJbG9jYWxob3N0hwR/AAABghVlbWFpbC5i
|
||||
b3RzZXJ2ZXIubG9jYWyCFHNtdHAuYm90c2VydmVyLmxvY2FsghRpbWFwLmJvdHNl
|
||||
cnZlci5sb2NhbDAKBggqhkjOPQQDAgNIADBFAiEA4QqYxhMQHuMhr/CBrUUXYZFG
|
||||
VsB7iYgnQSWBfhRO0rsCIEo89kYQnVE7MQTeDBf5a79Ia8HTNFATEooBWLE3wH4X
|
||||
-----END CERTIFICATE-----
|
||||
|
|
@ -0,0 +1,5 @@
|
|||
-----BEGIN PRIVATE KEY-----
|
||||
MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgSNCzU/xWsjYwwk8H
|
||||
3LSYh0bYI1+MqY6RLDyUdcsA/sOhRANCAARrHXjgYGJR9zKf4SAYScdWO3rqKjpc
|
||||
RL6tKtxLpxACkucSQoVNYfffTVVKRBu3Ute+c9Lr83joHSLM4LpBuUR6
|
||||
-----END PRIVATE KEY-----
|
||||
11
botserver-stack/conf/system/certificates/embedding/ca.crt
Normal file
11
botserver-stack/conf/system/certificates/embedding/ca.crt
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
-----BEGIN CERTIFICATE-----
|
||||
MIIBpDCCAUqgAwIBAgIUb/JxqKPVbZIOJUOHrRQG9+XGb2wwCgYIKoZIzj0EAwIw
|
||||
ODELMAkGA1UEBgwCQlIxEjAQBgNVBAoMCUJvdFNlcnZlcjEVMBMGA1UEAwwMQm90
|
||||
U2VydmVyIENBMB4XDTI2MDEwOTE0MzIyN1oXDTM2MDEwNzE0MzIyN1owODELMAkG
|
||||
A1UEBgwCQlIxEjAQBgNVBAoMCUJvdFNlcnZlcjEVMBMGA1UEAwwMQm90U2VydmVy
|
||||
IENBMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEf91iFmGt2MGESvNrMWq9hGCn
|
||||
hxzYzc74iaLunNh6hVU5oP3jvg7q3g8rZOWUDOOGa4DGdwrdC7CvIIWcqj+zKaMy
|
||||
MDAwHQYDVR0OBBYEFCjdDuxP8W2kfvArjBjB3DTasjOOMA8GA1UdEwEB/wQFMAMB
|
||||
Af8wCgYIKoZIzj0EAwIDSAAwRQIgGZ8DZBa3S4d1R9i4H/cgxsJ5Chc4WjspO2cR
|
||||
K2ZYhJICIQCovdi36+WpK8rPYWfnOpViddt7kjGmET06G1jNCaY8eA==
|
||||
-----END CERTIFICATE-----
|
||||
|
|
@ -0,0 +1,12 @@
|
|||
-----BEGIN CERTIFICATE-----
|
||||
MIIBuDCCAV6gAwIBAgIUFoH3c6yvJ54C2mjxqRr93x+5AdMwCgYIKoZIzj0EAwIw
|
||||
ODELMAkGA1UEBgwCQlIxEjAQBgNVBAoMCUJvdFNlcnZlcjEVMBMGA1UEAwwMQm90
|
||||
U2VydmVyIENBMB4XDTI2MDEwOTE0MzIyN1oXDTI3MDEwOTE0MzIyN1owRTELMAkG
|
||||
A1UEBgwCQlIxEjAQBgNVBAoMCUJvdFNlcnZlcjEiMCAGA1UEAwwZZW1iZWRkaW5n
|
||||
LmJvdHNlcnZlci5sb2NhbDBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABFgtv49n
|
||||
RP65s3q9f7CIp9g0m2fydY8ef1kLvqJOBu5a+nRezEydGzA74VmdC8kZymD1a57O
|
||||
B14Ur32DdPOWdVGjOTA3MDUGA1UdEQQuMCyCCWxvY2FsaG9zdIcEfwAAAYIZZW1i
|
||||
ZWRkaW5nLmJvdHNlcnZlci5sb2NhbDAKBggqhkjOPQQDAgNIADBFAiBnUMziwiAI
|
||||
3EtkemJFOFukSgdqXYlCBJEkTMPQmJMX3AIhAPCTy9a1y6BGPh5iYvYxG0yG+saA
|
||||
WftANldcwV/gpobL
|
||||
-----END CERTIFICATE-----
|
||||
|
|
@ -0,0 +1,5 @@
|
|||
-----BEGIN PRIVATE KEY-----
|
||||
MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgkgOSgeoYGrcr5qEy
|
||||
kdfBdwzW3bTToSjKnUX89GzchwShRANCAARYLb+PZ0T+ubN6vX+wiKfYNJtn8nWP
|
||||
Hn9ZC76iTgbuWvp0XsxMnRswO+FZnQvJGcpg9WuezgdeFK99g3TzlnVR
|
||||
-----END PRIVATE KEY-----
|
||||
11
botserver-stack/conf/system/certificates/llm/ca.crt
Normal file
11
botserver-stack/conf/system/certificates/llm/ca.crt
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
-----BEGIN CERTIFICATE-----
|
||||
MIIBpDCCAUqgAwIBAgIUb/JxqKPVbZIOJUOHrRQG9+XGb2wwCgYIKoZIzj0EAwIw
|
||||
ODELMAkGA1UEBgwCQlIxEjAQBgNVBAoMCUJvdFNlcnZlcjEVMBMGA1UEAwwMQm90
|
||||
U2VydmVyIENBMB4XDTI2MDEwOTE0MzIyN1oXDTM2MDEwNzE0MzIyN1owODELMAkG
|
||||
A1UEBgwCQlIxEjAQBgNVBAoMCUJvdFNlcnZlcjEVMBMGA1UEAwwMQm90U2VydmVy
|
||||
IENBMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEf91iFmGt2MGESvNrMWq9hGCn
|
||||
hxzYzc74iaLunNh6hVU5oP3jvg7q3g8rZOWUDOOGa4DGdwrdC7CvIIWcqj+zKaMy
|
||||
MDAwHQYDVR0OBBYEFCjdDuxP8W2kfvArjBjB3DTasjOOMA8GA1UdEwEB/wQFMAMB
|
||||
Af8wCgYIKoZIzj0EAwIDSAAwRQIgGZ8DZBa3S4d1R9i4H/cgxsJ5Chc4WjspO2cR
|
||||
K2ZYhJICIQCovdi36+WpK8rPYWfnOpViddt7kjGmET06G1jNCaY8eA==
|
||||
-----END CERTIFICATE-----
|
||||
11
botserver-stack/conf/system/certificates/llm/server.crt
Normal file
11
botserver-stack/conf/system/certificates/llm/server.crt
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
-----BEGIN CERTIFICATE-----
|
||||
MIIBrDCCAVKgAwIBAgIULLeNNHmCgIy6gdtOj7g3BsqHbLIwCgYIKoZIzj0EAwIw
|
||||
ODELMAkGA1UEBgwCQlIxEjAQBgNVBAoMCUJvdFNlcnZlcjEVMBMGA1UEAwwMQm90
|
||||
U2VydmVyIENBMB4XDTI2MDEwOTE0MzIyN1oXDTI3MDEwOTE0MzIyN1owPzELMAkG
|
||||
A1UEBgwCQlIxEjAQBgNVBAoMCUJvdFNlcnZlcjEcMBoGA1UEAwwTbGxtLmJvdHNl
|
||||
cnZlci5sb2NhbDBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABPwMZlbuU1+rschc
|
||||
rRzqqI6Y+wZOKxC4cyie6fYfCzwk2eYPmZ69sO8ecqDJhKuQBskcXXizJtEcuOcP
|
||||
MKWYZ4mjMzAxMC8GA1UdEQQoMCaCCWxvY2FsaG9zdIcEfwAAAYITbGxtLmJvdHNl
|
||||
cnZlci5sb2NhbDAKBggqhkjOPQQDAgNIADBFAiAvc2/SqQUxGmIW8BRrI9cKsZyv
|
||||
skRjHuYyzgV7MlwQZAIhAJrW4lM8QukmbX1q8QjDZ4AcZgXTWfNTgA4OQN81mRIA
|
||||
-----END CERTIFICATE-----
|
||||
5
botserver-stack/conf/system/certificates/llm/server.key
Normal file
5
botserver-stack/conf/system/certificates/llm/server.key
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
-----BEGIN PRIVATE KEY-----
|
||||
MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgywgP2Z+36UFU0tCX
|
||||
mjLAcWjwHsS9VQStesTISqv96LOhRANCAAT8DGZW7lNfq7HIXK0c6qiOmPsGTisQ
|
||||
uHMonun2Hws8JNnmD5mevbDvHnKgyYSrkAbJHF14sybRHLjnDzClmGeJ
|
||||
-----END PRIVATE KEY-----
|
||||
11
botserver-stack/conf/system/certificates/meet/ca.crt
Normal file
11
botserver-stack/conf/system/certificates/meet/ca.crt
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
-----BEGIN CERTIFICATE-----
|
||||
MIIBpDCCAUqgAwIBAgIUb/JxqKPVbZIOJUOHrRQG9+XGb2wwCgYIKoZIzj0EAwIw
|
||||
ODELMAkGA1UEBgwCQlIxEjAQBgNVBAoMCUJvdFNlcnZlcjEVMBMGA1UEAwwMQm90
|
||||
U2VydmVyIENBMB4XDTI2MDEwOTE0MzIyN1oXDTM2MDEwNzE0MzIyN1owODELMAkG
|
||||
A1UEBgwCQlIxEjAQBgNVBAoMCUJvdFNlcnZlcjEVMBMGA1UEAwwMQm90U2VydmVy
|
||||
IENBMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEf91iFmGt2MGESvNrMWq9hGCn
|
||||
hxzYzc74iaLunNh6hVU5oP3jvg7q3g8rZOWUDOOGa4DGdwrdC7CvIIWcqj+zKaMy
|
||||
MDAwHQYDVR0OBBYEFCjdDuxP8W2kfvArjBjB3DTasjOOMA8GA1UdEwEB/wQFMAMB
|
||||
Af8wCgYIKoZIzj0EAwIDSAAwRQIgGZ8DZBa3S4d1R9i4H/cgxsJ5Chc4WjspO2cR
|
||||
K2ZYhJICIQCovdi36+WpK8rPYWfnOpViddt7kjGmET06G1jNCaY8eA==
|
||||
-----END CERTIFICATE-----
|
||||
12
botserver-stack/conf/system/certificates/meet/server.crt
Normal file
12
botserver-stack/conf/system/certificates/meet/server.crt
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
-----BEGIN CERTIFICATE-----
|
||||
MIIBwzCCAWqgAwIBAgIUOFSwzEf9g4EjNN87Rm9CVHMQy0cwCgYIKoZIzj0EAwIw
|
||||
ODELMAkGA1UEBgwCQlIxEjAQBgNVBAoMCUJvdFNlcnZlcjEVMBMGA1UEAwwMQm90
|
||||
U2VydmVyIENBMB4XDTI2MDEwOTE0MzIyN1oXDTI3MDEwOTE0MzIyN1owQDELMAkG
|
||||
A1UEBgwCQlIxEjAQBgNVBAoMCUJvdFNlcnZlcjEdMBsGA1UEAwwUbWVldC5ib3Rz
|
||||
ZXJ2ZXIubG9jYWwwWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAAQa0cd7blTJKeIy
|
||||
qoMzofkhELiJObh/7mLRA449sF2JkfN1ntdlaJME+w4QWol7jJrN3djovp9VSF1n
|
||||
lenyO5Zso0owSDBGBgNVHREEPzA9gglsb2NhbGhvc3SHBH8AAAGCFG1lZXQuYm90
|
||||
c2VydmVyLmxvY2FsghR0dXJuLmJvdHNlcnZlci5sb2NhbDAKBggqhkjOPQQDAgNH
|
||||
ADBEAiBQ2Tj1aEUsJPKn8nB8fMoPypGFjqQsrHVMGd1jugRKvgIgPwommm56FBRE
|
||||
fykGU8Ti60kv3bE/T8n96bys/Ck27QQ=
|
||||
-----END CERTIFICATE-----
|
||||
5
botserver-stack/conf/system/certificates/meet/server.key
Normal file
5
botserver-stack/conf/system/certificates/meet/server.key
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
-----BEGIN PRIVATE KEY-----
|
||||
MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgGV4Njkk6msSROX4j
|
||||
xECKbepHax+ITYjKbPgU7GYja9yhRANCAAQa0cd7blTJKeIyqoMzofkhELiJObh/
|
||||
7mLRA449sF2JkfN1ntdlaJME+w4QWol7jJrN3djovp9VSF1nlenyO5Zs
|
||||
-----END PRIVATE KEY-----
|
||||
11
botserver-stack/conf/system/certificates/tables/ca.crt
Normal file
11
botserver-stack/conf/system/certificates/tables/ca.crt
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
-----BEGIN CERTIFICATE-----
|
||||
MIIBpDCCAUqgAwIBAgIUb/JxqKPVbZIOJUOHrRQG9+XGb2wwCgYIKoZIzj0EAwIw
|
||||
ODELMAkGA1UEBgwCQlIxEjAQBgNVBAoMCUJvdFNlcnZlcjEVMBMGA1UEAwwMQm90
|
||||
U2VydmVyIENBMB4XDTI2MDEwOTE0MzIyN1oXDTM2MDEwNzE0MzIyN1owODELMAkG
|
||||
A1UEBgwCQlIxEjAQBgNVBAoMCUJvdFNlcnZlcjEVMBMGA1UEAwwMQm90U2VydmVy
|
||||
IENBMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEf91iFmGt2MGESvNrMWq9hGCn
|
||||
hxzYzc74iaLunNh6hVU5oP3jvg7q3g8rZOWUDOOGa4DGdwrdC7CvIIWcqj+zKaMy
|
||||
MDAwHQYDVR0OBBYEFCjdDuxP8W2kfvArjBjB3DTasjOOMA8GA1UdEwEB/wQFMAMB
|
||||
Af8wCgYIKoZIzj0EAwIDSAAwRQIgGZ8DZBa3S4d1R9i4H/cgxsJ5Chc4WjspO2cR
|
||||
K2ZYhJICIQCovdi36+WpK8rPYWfnOpViddt7kjGmET06G1jNCaY8eA==
|
||||
-----END CERTIFICATE-----
|
||||
12
botserver-stack/conf/system/certificates/tables/server.crt
Normal file
12
botserver-stack/conf/system/certificates/tables/server.crt
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
-----BEGIN CERTIFICATE-----
|
||||
MIIBszCCAVigAwIBAgIUedQtLNXwJmy0Aq0iGF6RRhWLjrEwCgYIKoZIzj0EAwIw
|
||||
ODELMAkGA1UEBgwCQlIxEjAQBgNVBAoMCUJvdFNlcnZlcjEVMBMGA1UEAwwMQm90
|
||||
U2VydmVyIENBMB4XDTI2MDEwOTE0MzIyN1oXDTI3MDEwOTE0MzIyN1owQjELMAkG
|
||||
A1UEBgwCQlIxEjAQBgNVBAoMCUJvdFNlcnZlcjEfMB0GA1UEAwwWdGFibGVzLmJv
|
||||
dHNlcnZlci5sb2NhbDBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABJPQ9iKqvlcs
|
||||
uuU5VuwUFhclUlZgp8B0RT6TZ43ULuIvbIZ7uwGC3SP7+RPeehqnQSvRMCUh6LUr
|
||||
iUrIqVjZYtmjNjA0MDIGA1UdEQQrMCmCCWxvY2FsaG9zdIcEfwAAAYIWdGFibGVz
|
||||
LmJvdHNlcnZlci5sb2NhbDAKBggqhkjOPQQDAgNJADBGAiEA+ICfkJLs90c+BwRu
|
||||
2FGT2bZ4Av5aITNlZe32W6g4x1ACIQCtXTHMniLCKTm+jP6YUVy8jKjlAW7TzQEW
|
||||
yBjhieiKqw==
|
||||
-----END CERTIFICATE-----
|
||||
|
|
@ -0,0 +1,5 @@
|
|||
-----BEGIN PRIVATE KEY-----
|
||||
MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgGRyl9LxjpKa/AXsN
|
||||
8Utr/4r31nYClRXAYcIRtHvY7/ChRANCAAST0PYiqr5XLLrlOVbsFBYXJVJWYKfA
|
||||
dEU+k2eN1C7iL2yGe7sBgt0j+/kT3noap0Er0TAlIei1K4lKyKlY2WLZ
|
||||
-----END PRIVATE KEY-----
|
||||
11
botserver-stack/conf/system/certificates/vault/ca.crt
Normal file
11
botserver-stack/conf/system/certificates/vault/ca.crt
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
-----BEGIN CERTIFICATE-----
|
||||
MIIBpDCCAUqgAwIBAgIUb/JxqKPVbZIOJUOHrRQG9+XGb2wwCgYIKoZIzj0EAwIw
|
||||
ODELMAkGA1UEBgwCQlIxEjAQBgNVBAoMCUJvdFNlcnZlcjEVMBMGA1UEAwwMQm90
|
||||
U2VydmVyIENBMB4XDTI2MDEwOTE0MzIyN1oXDTM2MDEwNzE0MzIyN1owODELMAkG
|
||||
A1UEBgwCQlIxEjAQBgNVBAoMCUJvdFNlcnZlcjEVMBMGA1UEAwwMQm90U2VydmVy
|
||||
IENBMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEf91iFmGt2MGESvNrMWq9hGCn
|
||||
hxzYzc74iaLunNh6hVU5oP3jvg7q3g8rZOWUDOOGa4DGdwrdC7CvIIWcqj+zKaMy
|
||||
MDAwHQYDVR0OBBYEFCjdDuxP8W2kfvArjBjB3DTasjOOMA8GA1UdEwEB/wQFMAMB
|
||||
Af8wCgYIKoZIzj0EAwIDSAAwRQIgGZ8DZBa3S4d1R9i4H/cgxsJ5Chc4WjspO2cR
|
||||
K2ZYhJICIQCovdi36+WpK8rPYWfnOpViddt7kjGmET06G1jNCaY8eA==
|
||||
-----END CERTIFICATE-----
|
||||
12
botserver-stack/conf/system/certificates/vault/server.crt
Normal file
12
botserver-stack/conf/system/certificates/vault/server.crt
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
-----BEGIN CERTIFICATE-----
|
||||
MIIBsTCCAVagAwIBAgIUD1I5LIe/58xRDeIzDydogQ7O48AwCgYIKoZIzj0EAwIw
|
||||
ODELMAkGA1UEBgwCQlIxEjAQBgNVBAoMCUJvdFNlcnZlcjEVMBMGA1UEAwwMQm90
|
||||
U2VydmVyIENBMB4XDTI2MDEwOTE0MzIyN1oXDTI3MDEwOTE0MzIyN1owQTELMAkG
|
||||
A1UEBgwCQlIxEjAQBgNVBAoMCUJvdFNlcnZlcjEeMBwGA1UEAwwVdmF1bHQuYm90
|
||||
c2VydmVyLmxvY2FsMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAErBEIYdeJsrFR
|
||||
QcrB5ZbwQh07DHxY5l6CWSG4nPMlLw1glVmelg/KWRC0x0qT2w1c8ZuhrDgXPoaI
|
||||
3gYm6YuDA6M1MDMwMQYDVR0RBCowKIIJbG9jYWxob3N0hwR/AAABghV2YXVsdC5i
|
||||
b3RzZXJ2ZXIubG9jYWwwCgYIKoZIzj0EAwIDSQAwRgIhAOKl0AoVfexLk7W8ojg9
|
||||
8bgJpkD/S++dMp5iwO7EEmNTAiEA8gj1QkB200y+MPIcbfWo5os/rOUdgsi6ajiB
|
||||
2sPKuZI=
|
||||
-----END CERTIFICATE-----
|
||||
|
|
@ -0,0 +1,5 @@
|
|||
-----BEGIN PRIVATE KEY-----
|
||||
MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgYty4Dxz6uuA6oTfA
|
||||
3pPG62ZCcZSHH6x24TmU845C4cChRANCAASsEQhh14mysVFBysHllvBCHTsMfFjm
|
||||
XoJZIbic8yUvDWCVWZ6WD8pZELTHSpPbDVzxm6GsOBc+hojeBibpi4MD
|
||||
-----END PRIVATE KEY-----
|
||||
11
botserver-stack/conf/system/certificates/vectordb/ca.crt
Normal file
11
botserver-stack/conf/system/certificates/vectordb/ca.crt
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
-----BEGIN CERTIFICATE-----
|
||||
MIIBpDCCAUqgAwIBAgIUb/JxqKPVbZIOJUOHrRQG9+XGb2wwCgYIKoZIzj0EAwIw
|
||||
ODELMAkGA1UEBgwCQlIxEjAQBgNVBAoMCUJvdFNlcnZlcjEVMBMGA1UEAwwMQm90
|
||||
U2VydmVyIENBMB4XDTI2MDEwOTE0MzIyN1oXDTM2MDEwNzE0MzIyN1owODELMAkG
|
||||
A1UEBgwCQlIxEjAQBgNVBAoMCUJvdFNlcnZlcjEVMBMGA1UEAwwMQm90U2VydmVy
|
||||
IENBMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEf91iFmGt2MGESvNrMWq9hGCn
|
||||
hxzYzc74iaLunNh6hVU5oP3jvg7q3g8rZOWUDOOGa4DGdwrdC7CvIIWcqj+zKaMy
|
||||
MDAwHQYDVR0OBBYEFCjdDuxP8W2kfvArjBjB3DTasjOOMA8GA1UdEwEB/wQFMAMB
|
||||
Af8wCgYIKoZIzj0EAwIDSAAwRQIgGZ8DZBa3S4d1R9i4H/cgxsJ5Chc4WjspO2cR
|
||||
K2ZYhJICIQCovdi36+WpK8rPYWfnOpViddt7kjGmET06G1jNCaY8eA==
|
||||
-----END CERTIFICATE-----
|
||||
12
botserver-stack/conf/system/certificates/vectordb/server.crt
Normal file
12
botserver-stack/conf/system/certificates/vectordb/server.crt
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
-----BEGIN CERTIFICATE-----
|
||||
MIIBtTCCAVygAwIBAgIUYc6xkfJ9hKLTOJWmQK2qGZnX4kQwCgYIKoZIzj0EAwIw
|
||||
ODELMAkGA1UEBgwCQlIxEjAQBgNVBAoMCUJvdFNlcnZlcjEVMBMGA1UEAwwMQm90
|
||||
U2VydmVyIENBMB4XDTI2MDEwOTE0MzIyN1oXDTI3MDEwOTE0MzIyN1owRDELMAkG
|
||||
A1UEBgwCQlIxEjAQBgNVBAoMCUJvdFNlcnZlcjEhMB8GA1UEAwwYdmVjdG9yZGIu
|
||||
Ym90c2VydmVyLmxvY2FsMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEGjzEoKX3
|
||||
bMMVTik6tgG9Cc2Sh+vg7zYPxCgx3PS5/g7UBR9Z5XXWC6kDfdLgxOfFL/3Wvr45
|
||||
gwCxPt//UGNQ2qM4MDYwNAYDVR0RBC0wK4IJbG9jYWxob3N0hwR/AAABghh2ZWN0
|
||||
b3JkYi5ib3RzZXJ2ZXIubG9jYWwwCgYIKoZIzj0EAwIDRwAwRAIgG8QM6qzq5ZaX
|
||||
51BXjWTQMZfL/yurnMMmNyPx2DfpZkoCIFZN0jJm3dxwZsTIJDI4FU2T4FC/YGee
|
||||
bu9ZO2/ERaFK
|
||||
-----END CERTIFICATE-----
|
||||
|
|
@ -0,0 +1,5 @@
|
|||
-----BEGIN PRIVATE KEY-----
|
||||
MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgOYg1iMeJt9WlQ0VN
|
||||
zIHneW1OO2pTEpbaOZNAhkPUECmhRANCAAQaPMSgpfdswxVOKTq2Ab0JzZKH6+Dv
|
||||
Ng/EKDHc9Ln+DtQFH1nlddYLqQN90uDE58Uv/da+vjmDALE+3/9QY1Da
|
||||
-----END PRIVATE KEY-----
|
||||
16
botserver-stack/conf/vault/config.hcl
Normal file
16
botserver-stack/conf/vault/config.hcl
Normal file
|
|
@ -0,0 +1,16 @@
|
|||
storage "file" {
|
||||
path = "/home/rodriguez/src/gb/botserver-stack/data/vault/vault"
|
||||
}
|
||||
|
||||
listener "tcp" {
|
||||
address = "0.0.0.0:8200"
|
||||
tls_disable = false
|
||||
tls_cert_file = "/home/rodriguez/src/gb/botserver-stack/conf/system/certificates/vault/server.crt"
|
||||
tls_key_file = "/home/rodriguez/src/gb/botserver-stack/conf/system/certificates/vault/server.key"
|
||||
tls_client_ca_file = "/home/rodriguez/src/gb/botserver-stack/conf/system/certificates/ca/ca.crt"
|
||||
}
|
||||
|
||||
api_addr = "https://localhost:8200"
|
||||
cluster_addr = "https://localhost:8201"
|
||||
ui = true
|
||||
disable_mlock = true
|
||||
2
botui
2
botui
|
|
@ -1 +1 @@
|
|||
Subproject commit cb33a75d39f2cf53de952622f72e8e6ef4ea0690
|
||||
Subproject commit 80c91f63046dd5d11e2874bb355ec2d967a70b55
|
||||
|
|
@ -1,20 +0,0 @@
|
|||
{
|
||||
"base_url": "http://localhost:8300",
|
||||
"default_org": {
|
||||
"id": "353226116074307598",
|
||||
"name": "default",
|
||||
"domain": "default.localhost"
|
||||
},
|
||||
"default_user": {
|
||||
"id": "admin",
|
||||
"username": "admin",
|
||||
"email": "admin@localhost",
|
||||
"password": "",
|
||||
"first_name": "Admin",
|
||||
"last_name": "User"
|
||||
},
|
||||
"admin_token": "XzjmsXoVy7mDKK8gyWtJNp3w3enVW3EKGPdfLbz0nX9vMsDpg27UtAROOcKMXsoc0fDwv98",
|
||||
"project_id": "",
|
||||
"client_id": "353226118456737806",
|
||||
"client_secret": "5uH0r2elIQ3xji4N4aTOARZjEDDUWC0cfIybGaFkvhwlA6gvygMHOdmodVg4K6PJ"
|
||||
}
|
||||
|
|
@ -1,153 +0,0 @@
|
|||
#!/bin/bash
|
||||
|
||||
set -euo pipefail
|
||||
|
||||
LOCALES_DIR="${1:-locales}"
|
||||
BASE_LOCALE="${2:-en}"
|
||||
|
||||
RED='\033[0;31m'
|
||||
GREEN='\033[0;32m'
|
||||
YELLOW='\033[1;33m'
|
||||
NC='\033[0m'
|
||||
|
||||
if [ ! -d "$LOCALES_DIR" ]; then
|
||||
echo -e "${RED}Error: Locales directory not found: $LOCALES_DIR${NC}"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ ! -d "$LOCALES_DIR/$BASE_LOCALE" ]; then
|
||||
echo -e "${RED}Error: Base locale not found: $LOCALES_DIR/$BASE_LOCALE${NC}"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
extract_keys() {
|
||||
local file="$1"
|
||||
grep -E '^[a-z][a-z0-9-]*\s*=' "$file" 2>/dev/null | cut -d'=' -f1 | tr -d ' ' | sort -u
|
||||
}
|
||||
|
||||
count_keys() {
|
||||
local dir="$1"
|
||||
local count=0
|
||||
for file in "$dir"/*.ftl; do
|
||||
if [ -f "$file" ]; then
|
||||
local file_count
|
||||
file_count=$(extract_keys "$file" | wc -l)
|
||||
count=$((count + file_count))
|
||||
fi
|
||||
done
|
||||
echo "$count"
|
||||
}
|
||||
|
||||
echo "========================================"
|
||||
echo " General Bots i18n Coverage Report"
|
||||
echo "========================================"
|
||||
echo ""
|
||||
|
||||
base_count=$(count_keys "$LOCALES_DIR/$BASE_LOCALE")
|
||||
echo -e "Base locale: ${GREEN}$BASE_LOCALE${NC} ($base_count keys)"
|
||||
echo ""
|
||||
|
||||
declare -A all_base_keys
|
||||
for file in "$LOCALES_DIR/$BASE_LOCALE"/*.ftl; do
|
||||
if [ -f "$file" ]; then
|
||||
filename=$(basename "$file")
|
||||
while IFS= read -r key; do
|
||||
all_base_keys["$filename:$key"]=1
|
||||
done < <(extract_keys "$file")
|
||||
fi
|
||||
done
|
||||
|
||||
total_missing=0
|
||||
total_extra=0
|
||||
|
||||
for locale_dir in "$LOCALES_DIR"/*/; do
|
||||
locale=$(basename "$locale_dir")
|
||||
|
||||
if [ "$locale" = "$BASE_LOCALE" ]; then
|
||||
continue
|
||||
fi
|
||||
|
||||
locale_count=$(count_keys "$locale_dir")
|
||||
|
||||
if [ "$base_count" -gt 0 ]; then
|
||||
coverage=$((locale_count * 100 / base_count))
|
||||
else
|
||||
coverage=0
|
||||
fi
|
||||
|
||||
if [ "$coverage" -ge 90 ]; then
|
||||
color=$GREEN
|
||||
elif [ "$coverage" -ge 50 ]; then
|
||||
color=$YELLOW
|
||||
else
|
||||
color=$RED
|
||||
fi
|
||||
|
||||
echo -e "Locale: ${color}$locale${NC} - $locale_count/$base_count keys (${coverage}%)"
|
||||
|
||||
missing_keys=()
|
||||
extra_keys=()
|
||||
|
||||
for file in "$LOCALES_DIR/$BASE_LOCALE"/*.ftl; do
|
||||
if [ -f "$file" ]; then
|
||||
filename=$(basename "$file")
|
||||
target_file="$locale_dir/$filename"
|
||||
|
||||
if [ ! -f "$target_file" ]; then
|
||||
while IFS= read -r key; do
|
||||
missing_keys+=("$filename: $key")
|
||||
done < <(extract_keys "$file")
|
||||
else
|
||||
while IFS= read -r key; do
|
||||
if ! grep -q "^$key\s*=" "$target_file" 2>/dev/null; then
|
||||
missing_keys+=("$filename: $key")
|
||||
fi
|
||||
done < <(extract_keys "$file")
|
||||
|
||||
while IFS= read -r key; do
|
||||
if ! grep -q "^$key\s*=" "$file" 2>/dev/null; then
|
||||
extra_keys+=("$filename: $key")
|
||||
fi
|
||||
done < <(extract_keys "$target_file")
|
||||
fi
|
||||
fi
|
||||
done
|
||||
|
||||
if [ ${#missing_keys[@]} -gt 0 ]; then
|
||||
echo -e " ${RED}Missing keys (${#missing_keys[@]}):${NC}"
|
||||
for key in "${missing_keys[@]:0:10}"; do
|
||||
echo " - $key"
|
||||
done
|
||||
if [ ${#missing_keys[@]} -gt 10 ]; then
|
||||
echo " ... and $((${#missing_keys[@]} - 10)) more"
|
||||
fi
|
||||
total_missing=$((total_missing + ${#missing_keys[@]}))
|
||||
fi
|
||||
|
||||
if [ ${#extra_keys[@]} -gt 0 ]; then
|
||||
echo -e " ${YELLOW}Extra keys (${#extra_keys[@]}):${NC}"
|
||||
for key in "${extra_keys[@]:0:5}"; do
|
||||
echo " - $key"
|
||||
done
|
||||
if [ ${#extra_keys[@]} -gt 5 ]; then
|
||||
echo " ... and $((${#extra_keys[@]} - 5)) more"
|
||||
fi
|
||||
total_extra=$((total_extra + ${#extra_keys[@]}))
|
||||
fi
|
||||
|
||||
echo ""
|
||||
done
|
||||
|
||||
echo "========================================"
|
||||
echo " Summary"
|
||||
echo "========================================"
|
||||
echo "Base keys: $base_count"
|
||||
echo -e "Total missing: ${RED}$total_missing${NC}"
|
||||
echo -e "Total extra: ${YELLOW}$total_extra${NC}"
|
||||
|
||||
if [ "$total_missing" -eq 0 ] && [ "$total_extra" -eq 0 ]; then
|
||||
echo -e "${GREEN}All translations are complete!${NC}"
|
||||
exit 0
|
||||
else
|
||||
exit 1
|
||||
fi
|
||||
Loading…
Add table
Reference in a new issue