@@ -9,11 +9,70 @@ This project adheres to [Keep a Changelog](https://keepachangelog.com/en/1.1.0/)
99## [ Unreleased]
1010
1111### Planned — Next Up
12- - ` it-stack-installer ` operational scripts ( ` clone-all-repos.ps1 ` , ` update-all-repos.ps1 ` , ` install-tools.ps1 ` )
12+ - Architecture documentation ( ` docs/07-architecture/ ` per-service design docs )
1313- Integration milestone implementations (SSO federations, cross-service APIs)
1414
1515---
1616
17+ ## [ 1.23.0] — 2026-03-06
18+
19+ ### Added — Sprint 27: it-stack-installer Automation Scripts (19 scripts)
20+
21+ Complete automation toolset for bootstrapping the IT-Stack development environment and GitHub organization from scratch.
22+
23+ ** Setup Scripts (3) — ` scripts/setup/ ` :**
24+
25+ | Script | Purpose |
26+ | --------| ---------|
27+ | ` install-tools.ps1 ` | winget installs Git, GitHub CLI, Docker Desktop, kubectl, Helm, Terraform, Python 3.12, jq; Ansible via WSL |
28+ | ` setup-directory-structure.ps1 ` | Creates the full ` C:\IT-Stack\it-stack-dev\ ` workspace tree (35+ directories, .gitkeep placeholders) |
29+ | ` setup-github.ps1 ` | ` gh auth login ` , org access verification, git user config from GitHub profile |
30+
31+ ** GitHub Bootstrap Scripts (11) — ` scripts/github/ ` :**
32+
33+ | Script | Issues/Repos |
34+ | --------| -------------|
35+ | ` create-phase1-modules.ps1 ` | Creates 5 Phase 1 repos (freeipa, keycloak, postgresql, redis, traefik) |
36+ | ` create-phase2-modules.ps1 ` | Creates 5 Phase 2 repos (nextcloud, mattermost, jitsi, iredmail, zammad) |
37+ | ` create-phase3-modules.ps1 ` | Creates 4 Phase 3 repos (freepbx, suitecrm, odoo, openkm) |
38+ | ` create-phase4-modules.ps1 ` | Creates 6 Phase 4 repos (taiga, snipeit, glpi, elasticsearch, zabbix, graylog) |
39+ | ` apply-labels.ps1 ` | Creates all 39 labels across all 26 repos (idempotent with ` --force ` ) |
40+ | ` create-milestones.ps1 ` | Creates 4 phase milestones in all 20 module repos |
41+ | ` create-github-projects.ps1 ` | Creates 5 GitHub Projects (v2 boards) in the org |
42+ | ` add-phase1-issues.ps1 ` | Creates 30 lab issues for Phase 1 (6 labs x 5 modules) |
43+ | ` add-phase2-issues.ps1 ` | Creates 30 lab issues for Phase 2 (6 labs x 5 modules) |
44+ | ` add-phase3-issues.ps1 ` | Creates 24 lab issues for Phase 3 (6 labs x 4 modules) |
45+ | ` add-phase4-issues.ps1 ` | Creates 36 lab issues for Phase 4 (6 labs x 6 modules) |
46+
47+ ** Operations Scripts (2) — ` scripts/operations/ ` :**
48+
49+ | Script | Purpose |
50+ | --------| ---------|
51+ | ` clone-all-repos.ps1 ` | Clones all 26 repos into category subdirectories; ` -Phase ` filter, skip-if-exists |
52+ | ` update-all-repos.ps1 ` | ` git pull --ff-only ` across all repos; ` -Status ` mode, ` -Branch ` selection |
53+
54+ ** Utility Script (1) — ` scripts/utilities/ ` :**
55+
56+ | Script | Purpose |
57+ | --------| ---------|
58+ | ` create-repo-template.ps1 ` | Scaffolds full module repo structure: manifest, Dockerfile, Makefile, 6 Compose files, 6 lab scripts, CI workflows; ` -CreateGitHubRepo ` flag |
59+
60+ ** Deployment Script (1) — ` scripts/deployment/ ` :**
61+
62+ | Script | Purpose |
63+ | --------| ---------|
64+ | ` deploy-stack.sh ` | Ansible wrapper: ` --module ` , ` --phase 1-4 ` , ` --check ` , ` --verbose ` ; validates vault and secrets before running |
65+
66+ ** Testing Script (1) — ` scripts/testing/ ` :**
67+
68+ | Script | Purpose |
69+ | --------| ---------|
70+ | ` run-all-labs.sh ` | Runs all 120 lab tests with ` --phase ` , ` --module ` , ` --lab ` filters; reports PASS/FAIL/SKIP counts |
71+
72+ ** Total lab issues when all scripts are run:** 120 (30 + 30 + 24 + 36)
73+
74+ ---
75+
1776## [ 1.22.0] — 2026-03-05
1877
1978### Added — Sprint 26: Ansible Roles for All 15 Phase 2–4 Services
0 commit comments