Skip to content

Commit 94c8e0e

Browse files
committed
docs: Phase 3 Lab 04 complete -- 76/120 labs (63.3%), CHANGELOG v1.12.0, Sprint 16 done
1 parent 857e577 commit 94c8e0e

File tree

2 files changed

+42
-9
lines changed

2 files changed

+42
-9
lines changed

CHANGELOG.md

Lines changed: 34 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,12 +8,44 @@ This project adheres to [Keep a Changelog](https://keepachangelog.com/en/1.1.0/)
88

99
## [Unreleased]
1010

11-
### Planned — Next Up (Phase 3 Lab 04 Sprint)
12-
- Phase 3 Lab 04 (SSO Integration) for: FreePBX, SuiteCRM, Odoo, OpenKM
11+
### Planned — Next Up (Phase 3 Lab 05 Sprint)
12+
- Phase 3 Lab 05 (Advanced Integration) for: FreePBX, SuiteCRM, Odoo, OpenKM
1313
- `it-stack-installer` operational scripts (`clone-all-repos.ps1`, `update-all-repos.ps1`, `install-tools.ps1`)
1414

1515
---
1616

17+
## [1.12.0] — 2026-03-01
18+
19+
### Added — Phase 3 Lab 04: SSO Integration (all 4 Phase 3 modules) — Sprint 16 complete
20+
21+
Lab progress: 72/120 → 76/120 (60.0% → 63.3%). Phase 3 Lab 04 (SSO Integration) complete. Each module adds OpenLDAP directory, Keycloak 24 IdP, and module-specific SSO wiring (OIDC or SAML).
22+
23+
| Module | LDAP Port | KC Port | SSO Protocol | Key Integration |
24+
|--------|-----------|---------|--------------|-----------------|
25+
| FreePBX (10) | 3890 | 8440 | OIDC (admin UI) | LDAP_ENABLED + KC OIDC client + freepbx realm |
26+
| SuiteCRM (12) | 3891 | 8441 | SAML | KC SAML metadata + EntityDescriptor test |
27+
| Odoo (13) | 3893 | 8450 | OIDC | KC OIDC discovery + LDAP_HOST env + gevent :8351 |
28+
| OpenKM (14) | 3892 | 8452 | SAML + LDAP | JAVA_OPTS ldap props + ES :9202 + KC SAML metadata |
29+
30+
Container naming: `{module}-s04-{service}` (s04 = sso lab 04).
31+
32+
#### Test Coverage Added
33+
- Keycloak admin API: obtain token → create `it-stack` realm → create module-specific OIDC/SAML client
34+
- OIDC discovery endpoint assertion: `/.well-known/openid-configuration` returns `issuer`
35+
- SAML descriptor assertion: `/protocol/saml/descriptor` returns `EntityDescriptor`
36+
- LDAP bind test from within LDAP container
37+
- Module container → Keycloak connectivity test
38+
- LDAP env vars verified in module containers
39+
- All 5-6 containers health-checked individually
40+
41+
#### Commits
42+
- `9e3b371``it-stack-freepbx`: feat(lab-04): FreePBX SSO Integration
43+
- `4c77e6c``it-stack-suitecrm`: feat(lab-04): SuiteCRM SSO Integration
44+
- `ec859e0``it-stack-odoo`: feat(lab-04): Odoo SSO Integration
45+
- `40d80e9``it-stack-openkm`: feat(lab-04): OpenKM SSO Integration
46+
47+
---
48+
1749
## [1.11.0] — 2026-03-01
1850

1951
### Added — Phase 3 Lab 03: Advanced Features (all 4 Phase 3 modules) — Sprint 15 complete 🎉 60% milestone!

docs/IT-STACK-TODO.md

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -315,16 +315,16 @@ All 5 repos have:
315315
| Module | Lab 01 | Lab 02 | Lab 03 | Lab 04 | Lab 05 | Lab 06 |
316316
|--------|--------|--------|--------|--------|--------|--------|
317317
| 09 · iRedMail | [x] | [x] | [x] | [x] | [x] | [x] |
318-
| 10 · FreePBX | [x] | [x] | [x] | [ ] | [ ] | [ ] |
318+
| 10 · FreePBX | [x] | [x] | [x] | [x] | [ ] | [ ] |
319319
| 11 · Zammad | [x] | [x] | [x] | [x] | [x] | [x] |
320320

321321
### Category 05: Business Systems
322322

323323
| Module | Lab 01 | Lab 02 | Lab 03 | Lab 04 | Lab 05 | Lab 06 |
324324
|--------|--------|--------|--------|--------|--------|--------|
325-
| 12 · SuiteCRM | [x] | [x] | [x] | [ ] | [ ] | [ ] |
326-
| 13 · Odoo | [x] | [x] | [x] | [ ] | [ ] | [ ] |
327-
| 14 · OpenKM | [x] | [x] | [x] | [ ] | [ ] | [ ] |
325+
| 12 · SuiteCRM | [x] | [x] | [x] | [x] | [ ] | [ ] |
326+
| 13 · Odoo | [x] | [x] | [x] | [x] | [ ] | [ ] |
327+
| 14 · OpenKM | [x] | [x] | [x] | [x] | [ ] | [ ] |
328328

329329
### Category 06: IT & Project Management
330330

@@ -342,7 +342,7 @@ All 5 repos have:
342342
| 19 · Zabbix | [ ] | [ ] | [ ] | [ ] | [ ] | [ ] |
343343
| 20 · Graylog | [ ] | [ ] | [ ] | [ ] | [ ] | [ ] |
344344

345-
**Lab Progress:** 72/120 (60.0%) — Phase 1 complete (30/120) ✅ · Phase 2 complete (30/120) ✅ · Phase 3 Labs 01–03 complete (12/120) ✅ · 🎉 60% milestone!
345+
**Lab Progress:** 76/120 (63.3%) — Phase 1 complete (30/120) ✅ · Phase 2 complete (30/120) ✅ · Phase 3 Labs 01–04 complete (16/120) ✅
346346

347347
---
348348

@@ -474,11 +474,12 @@ All 5 repos have:
474474
| ~~Sprint 12~~ | ~~Phase 2 Lab 06 (production deployment)~~ | ~~nextcloud·mattermost·jitsi·iredmail·zammad Lab 06~~ ✅ · Phase 2 COMPLETE 🎉 |
475475
| Sprint 13 ✅ | Phase 3 Lab 01 (standalone) | freepbx·suitecrm·odoo·openkm Lab 01 done |
476476
| Sprint 15 ✅ | Phase 3 Lab 03 (advanced features) | freepbx·suitecrm·odoo·openkm Lab 03 done |
477-
| Next session | Phase 3 Lab 04 (SSO integration) | freepbx·suitecrm·odoo·openkm Lab 04 |
477+
| Sprint 16 ✅ | Phase 3 Lab 04 (SSO integration) | freepbx·suitecrm·odoo·openkm Lab 04 done |
478+
| Next session | Phase 3 Lab 05 (advanced integration) | freepbx·suitecrm·odoo·openkm Lab 05 |
478479
| Sprint 14 ✅ | Phase 3 Lab 02 (external deps) | freepbx·suitecrm·odoo·openkm Lab 02 done |
479480

480481
---
481482

482483
**Document Version:** 2.0
483484
**Project:** IT-Stack | **Org:** it-stack-dev
484-
**Last Updated:** 2026-03-01 — Phase 3 Lab 03 COMPLETE (72/120 labs, 60.0%) — Sprint 15 done ✅ 🎉 60% milestone!
485+
**Last Updated:** 2026-03-01 — Phase 3 Lab 04 COMPLETE (76/120 labs, 63.3%) — Sprint 16 done ✅

0 commit comments

Comments
 (0)