Skip to content

Commit 1c415bb

Browse files
committed
docs: Phase 3 COMPLETE -- 84/120 labs (70.0%), CHANGELOG v1.14.0, Sprint 18 done
1 parent def1436 commit 1c415bb

File tree

2 files changed

+40
-9
lines changed

2 files changed

+40
-9
lines changed

CHANGELOG.md

Lines changed: 32 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,12 +8,42 @@ 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 06 Sprint)
12-
- Phase 3 Lab 06 (Production Deployment) for: FreePBX, SuiteCRM, Odoo, OpenKM
11+
### Planned — Next Up (Phase 4 Lab 01 Sprint)
12+
- Phase 4 Lab 01 (Standalone) for: Taiga, Snipe-IT, GLPI, Elasticsearch, Zabbix, Graylog
1313
- `it-stack-installer` operational scripts (`clone-all-repos.ps1`, `update-all-repos.ps1`, `install-tools.ps1`)
1414

1515
---
1616

17+
## [1.14.0] — 2026-03-01
18+
19+
### Added — Phase 3 Lab 06: Production Deployment (all 4 Phase 3 modules) — Sprint 18 complete 🎉 Phase 3 COMPLETE!
20+
Lab progress: 80/120 → 84/120 (66.7% → 70.0%). **Phase 3 (Back Office) is now fully complete.** Production-grade stacks with `restart: unless-stopped`, resource limits (`deploy.resources.limits`), production credentials, dependency health checks, and operational validation tests.
21+
22+
| Module | Web Port | KC Port | LDAP Port | MH Port | Key Production Feature |
23+
|--------|----------|---------|-----------|---------|------------------------|
24+
| FreePBX (10) | 8380 | 8480 | 3898 | 8680 | AMI :5042, SIP :5167/udp, mysqldump backup |
25+
| SuiteCRM (12) | 8382 | 8481 | 3899 | 8681 | Redis sessions, cron container, mysqldump backup |
26+
| Odoo (13) | 8390 | 8490 | 3900 | 8690 | workers=2, longpolling :8391, pg_dump backup |
27+
| OpenKM (14) | 8393 | 8491 | 3901 | 8693 | ES :9204, index test, mysqldump backup |
28+
29+
Container naming: `{module}-p06-{service}` (p06 = production lab 06).
30+
31+
#### Test Coverage Added
32+
- Compose file syntax validation (`config -q`)
33+
- Memory and CPU limits via `docker inspect .HostConfig.Memory / .NanoCpus`
34+
- `restart: unless-stopped` policy assertion
35+
- `IT_STACK_ENV=production` and `IT_STACK_LAB=06` env var checks
36+
- Database backup: `mysqldump` (MariaDB/MySQL) and `pg_dump` (PostgreSQL) to `/dev/null`
37+
- Keycloak admin token + realm list via admin API
38+
- Service restart resilience: `docker restart {db}` → re-check health
39+
- Redis session read/write (SuiteCRM)
40+
- Odoo workers mode in command line (`docker inspect .Config.Cmd`)
41+
- Elasticsearch index create/document/delete cycle (OpenKM)
42+
- OpenKM REST API `/folder/getChildren` (authenticated)
43+
- CI `lab-06-smoke` job added to all 4 module CI workflows
44+
45+
---
46+
1747
## [1.13.0] — 2026-03-01
1848

1949
### Added — Phase 3 Lab 05: Advanced Integration (all 4 Phase 3 modules) — Sprint 17 complete

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] | [x] | [x] | [ ] |
318+
| 10 · FreePBX | [x] | [x] | [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] | [x] | [x] | [ ] |
326-
| 13 · Odoo | [x] | [x] | [x] | [x] | [x] | [ ] |
327-
| 14 · OpenKM | [x] | [x] | [x] | [x] | [x] | [ ] |
325+
| 12 · SuiteCRM | [x] | [x] | [x] | [x] | [x] | [x] |
326+
| 13 · Odoo | [x] | [x] | [x] | [x] | [x] | [x] |
327+
| 14 · OpenKM | [x] | [x] | [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:** 80/120 (66.7%) — Phase 1 complete (30/120) ✅ · Phase 2 complete (30/120) ✅ · Phase 3 Labs 01–05 complete (20/120)
345+
**Lab Progress:** 84/120 (70.0%) — Phase 1 complete (30/120) ✅ · Phase 2 complete (30/120) ✅ · **Phase 3 COMPLETE (24/120)** ✅🎉
346346

347347
---
348348

@@ -476,11 +476,12 @@ All 5 repos have:
476476
| Sprint 15 ✅ | Phase 3 Lab 03 (advanced features) | freepbx·suitecrm·odoo·openkm Lab 03 done |
477477
| Sprint 16 ✅ | Phase 3 Lab 04 (SSO integration) | freepbx·suitecrm·odoo·openkm Lab 04 done |
478478
| Sprint 17 ✅ | Phase 3 Lab 05 (advanced integration) | freepbx·suitecrm·odoo·openkm Lab 05 done |
479-
| Next session | Phase 3 Lab 06 (production deployment) | freepbx·suitecrm·odoo·openkm Lab 06 |
479+
| Sprint 18 ✅ | Phase 3 Lab 06 (production deployment) | freepbx·suitecrm·odoo·openkm Lab 06 done — **Phase 3 COMPLETE 🎉** |
480+
| Next session | Phase 4 Lab 01 (standalone) | taiga·snipeit·glpi·elasticsearch·zabbix·graylog Lab 01 |
480481
| Sprint 14 ✅ | Phase 3 Lab 02 (external deps) | freepbx·suitecrm·odoo·openkm Lab 02 done |
481482

482483
---
483484

484485
**Document Version:** 2.0
485486
**Project:** IT-Stack | **Org:** it-stack-dev
486-
**Last Updated:** 2026-03-01 — Phase 3 Lab 05 COMPLETE (80/120 labs, 66.7%) — Sprint 17 done ✅
487+
**Last Updated:** 2026-03-01 — Phase 3 COMPLETE (84/120 labs, 70.0%) — Sprint 18 done ✅🎉

0 commit comments

Comments
 (0)