Completed Plans
All completed plans and investigations, sorted by date. Kept for reference.
| Plan | Goal | Completed |
|---|---|---|
| PLAN-008: Service Migration Status & Remaining Work | Track migration status of all 26 UIS services and complete remaining work for services that are not fully migrated. | 2026-03-18 |
| Fix: uis.ps1 Fails on Windows Due to $ErrorActionPreference = "Stop" | Fix PowerShell scripts so they don't crash when Docker writes to stderr on first run. | 2026-03-18 |
| Plan: Transfer urbalurba-infrastructure to helpers-no | Transfer this repo from terchris/urbalurba-infrastructure to helpers-no/urbalurba-infrastructure with zero downtime. | 2026-03-18 |
| PLAN: Rename Tailscale hostname variables for clarity | Rename TAILSCALE_CLUSTER_HOSTNAME to TAILSCALE_PUBLIC_HOSTNAME and TAILSCALE_INTERNAL_HOSTNAME to TAILSCALE_OPERATOR_PREFIX to accurately describe what these UIS-invented variables actually control. | 2026-03-18 |
| PLAN: Rename "Packages" to "Services" in Documentation | — | 2026-03-18 |
| Deploy OpenMetadata | Deploy OpenMetadata 1.12.1 as a UIS platform service using the official Helm chart, reusing existing PostgreSQL and Elasticsearch | 2026-03-18 |
| Deploy Nextcloud + OnlyOffice | Deploy Nextcloud 33 with OnlyOffice Document Server as a UIS platform service, reusing existing PostgreSQL and Redis | 2026-03-18 |
| PLAN: "How Deployment Works" Documentation Page | — | 2026-03-18 |
| PLAN: Fix Password Architecture — Connect Orphaned Defaults to Templates | Make default-secrets.env the true single source of truth — all DEFAULT_ variables must flow through to templates, and no credentials should be hardcoded in templates. | 2026-03-18 |
| Deploy Enonic XP CMS | Deploy Enonic XP 7.16.2 as a UIS platform service using direct Kubernetes manifests (StatefulSet pattern), with no external database dependencies | 2026-03-18 |
| Upgrade Elasticsearch to 9.3.0 | Pin Elasticsearch to version 9.3.0, upgrading from the unpinned 8.5.1 default to unblock OpenMetadata deployment and eliminate version drift risk. | 2026-03-18 |
| PLAN: Documentation Site Restructure — Add "Developing and Deploying" Section | Add a "Developing and Deploying" section to the documentation site with 5 new pages covering the developer workflow from template to deployment, and restructure the sidebar to group infrastructure topics under "Advanced". | 2026-03-18 |
| PLAN: Documentation Gap Filling | — | 2026-03-18 |
| PLAN: Dev Template Ingress Cleanup After Platform-Managed Routing | Remove redundant ingress.yaml and obsolete urbalurba-scripts/ from dev templates — routing is now the platform's responsibility. | 2026-03-18 |
| PLAN: Delete Old Deployment System | — | 2026-03-18 |
| PLAN: Cloudflare tunnel fixes — reduce replicas, clean up deploy output, create undeploy playbook | Reduce Cloudflare tunnel from 2 replicas to 1, clean up confusing deploy output, and create 821-remove-network-cloudflare-tunnel.yml so ./uis undeploy cloudflare-tunnel works. | 2026-03-18 |
| PLAN: ArgoCD Register Command Redesign | Redesign uis argocd register to accept two required parameters (<name> and <repo-url>) instead of a single bare repo name, eliminating the GitHub username secrets dependency and preventing invalid namespace names. | 2026-03-18 |
| PLAN: ArgoCD Migration Completion | Complete ArgoCD migration to the UIS system — fix metadata, verify deployment with E2E tests, and document the devcontainer-toolbox integration path. | 2026-03-18 |
| PLAN: Auto-Generate Service Documentation from Script Metadata | Build a bash script that auto-generates service documentation pages from script metadata, using the manually written PLAN-014 pages as the template specification. | 2026-03-18 |
| PLAN: Documentation Rewrite — Category Renames, Templates, and Service Pages | Standardize all service documentation using a consistent template, rename categories to align with cloud provider terminology, and create foundation docs (CLI reference, dependency matrix). This rewrite becomes the prototype and specification for future auto-generated documentation. | 2026-03-18 |
PLAN-013: ./uis test-all — Full Integration Test Command | Automate the full integration test as ./uis test-all — runs the same ./uis deploy/./uis undeploy commands the manual tester runs, for all 23 services. | 2026-03-18 |
| PLAN-012: Token-Based Cloudflare Tunnel Deployment | Deploy Cloudflare tunnel via ./uis deploy cloudflare-tunnel using a token-based approach that follows the same secrets pattern as all other UIS services. | 2026-03-18 |
| PLAN-011: Tailscale CLI Commands (expose/unexpose/verify) | Group all Tailscale operations under ./uis tailscale — expose/unexpose services and verify configuration — so users don't need to enter the shell or know internal script paths. | 2026-03-18 |
| PLAN-009: Fix Tailscale Service for UIS | Make ./uis deploy tailscale-tunnel and ./uis undeploy tailscale-tunnel work correctly end-to-end. | 2026-03-18 |
| PLAN-007: Authentik Automatic Secrets Application | Make Authentik deployment fully automatic by applying secrets at the start of the playbook, eliminating the need for manual kubectl apply before deployment. Extended to include end-to-end authentication testing. | 2026-03-18 |
| PLAN-005: Migrate Playbooks to New Kubeconfig Path | — | 2026-03-18 |
| PLAN-004F: Build and Test UIS System | — | 2026-03-18 |
| PLAN-004E: JSON Schema Validation Framework | — | 2026-03-18 |
| PLAN-004D: Website JSON Generation & Testing Framework | Create JSON generation for website service catalog, deploy tests, and CI/CD integration. | 2026-03-18 |
| PLAN-004C: Distribution & Cross-Platform Support | Create curl-installable script and cross-platform wrapper scripts for UIS distribution. | 2026-03-18 |
| PLAN-004B: Interactive Menu & Secrets Management | Add interactive TUI menu, init wizard, and secrets management to UIS. | 2026-03-18 |
| PLAN-004A: UIS Core CLI System | Create the foundation libraries, service scanner, config system, and basic CLI commands for UIS. | 2026-03-18 |
| PLAN-004: UIS Orchestration System | Create a DCT-inspired orchestration system for UIS with config-driven deployment, interactive menu, and install script. | 2026-03-18 |
| PLAN-004: Secrets Migration Cleanup & Finalization | Remove backwards compatibility code, delete deprecated files (topsecret/, secrets/), and update tests. The new .uis.secrets/ and .uis.extend/ structure is fully operational — this plan removes the old scaffolding. | 2026-03-18 |
| PLAN-004: Backstage API Entities | Add API entities to the Backstage catalog so that services show "Provided APIs" and "Consumed APIs" tabs with dependency relationships | 2026-03-18 |
| PLAN-003: Migrate Scripts to New Secrets Paths | Update all scripts in the repo that reference topsecret/ or secrets/ to use the new .uis.secrets/ paths, while maintaining backwards compatibility. | 2026-03-18 |
| PLAN-003: Minimal Container Delivery | Create a working container-as-deliverable with minimal changes to prove the concept. | 2026-03-18 |
| PLAN-002: UIS CLI Commands for Secrets Management | Implement the CLI commands for managing hosts and secrets (./uis host add, ./uis secrets status, etc.) | 2026-03-18 |
| Plan: Generate JSON Data from Script Metadata | Create a script that generates services.json and optionally stacks.json by scanning metadata embedded in shell scripts. | 2026-03-18 |
| PLAN-002: Deploy Backstage (RHDH) as a UIS Service | Deploy Red Hat Developer Hub (RHDH) in UIS following the adding-a-service guide, with the generated catalog loaded, the Kubernetes plugin showing live service status, and the Grafana plugin linking services to their dashboards | 2026-03-18 |
| PLAN-001: Secrets Templates & Initialization Code | Create the templates and initialization code that will generate .uis.extend/ and .uis.secrets/ folders when users run the UIS system. | 2026-03-18 |
| Plan: Set Up UIS Branding | Establish complete branding assets for the UIS documentation site. | 2026-03-18 |
| PLAN-001: Backstage Metadata Enrichment and Catalog Generator | Add SCRIPT_KIND, SCRIPT_TYPE, SCRIPT_OWNER metadata fields to all service definitions and build a catalog generator that produces Backstage-compatible YAML from them | 2026-03-18 |
| INVESTIGATE: Playbooks Using Old Kubeconfig Path | — | 2026-03-18 |
| INVESTIGATE: Unity Catalog CrashLoopBackOff | — | 2026-03-18 |
| INVESTIGATE: uis.ps1 Fails on Windows Due to $ErrorActionPreference = "Stop" | This is Windows PowerShell-specific — there is no uis.sh bash host wrapper (only uis-cli.sh which runs inside the container). | 2026-03-18 |
| Investigation: UIS Distribution Architecture | Design a container-based distribution model for UIS. | 2026-03-18 |
INVESTIGATE: Remove All topsecret/ References from Codebase | — | 2026-03-18 |
| INVESTIGATE: Rename Tailscale hostname variables and fix misleading comments | Rename UIS-invented Tailscale hostname variables for clarity, and fix misleading comments in the secrets template. | 2026-03-18 |
| INVESTIGATE: Tailscale Cluster-Wide Tunnel Connectivity Timeout | Diagnose and fix the cluster-wide Tailscale tunnel connectivity timeout (k8s.dog-pence.ts.net). | 2026-03-18 |
| INVESTIGATE: Tailscale API Integration for Device Cleanup and Verification | Use the Tailscale API to clean up stale devices during deletehost/undeploy, and add a uis verify tailscale command to check prerequisites before deployment. | 2026-03-18 |
| INVESTIGATE: Secrets Management Consolidation | Secrets are currently scattered across multiple folders with inconsistent naming and unclear responsibilities. This makes it confusing for users and complicates container mounting. | 2026-03-18 |
| INVESTIGATE: Rancher Reset and Full Service Verification | — | 2026-03-18 |
| INVESTIGATE: Password Architecture | — | 2026-03-18 |
| Investigate: OpenMetadata Deployment | Determine the best approach for deploying OpenMetadata as a UIS platform service | 2026-03-18 |
| INVESTIGATE: Old Deployment System Cleanup & Documentation Gaps | The migration from the old deployment system (provision-host/kubernetes/) to the UIS CLI (provision-host/uis/) is functionally complete — all 30 services deploy through UIS. But the old system is still in the repo, creating confusion for anyone trying to understand how UIS works. Dead code undermines documentation — if someone sees 60 scripts in provision-host/kubernetes/, they can't tell which system is real. | 2026-03-18 |
| INVESTIGATE: Old Deployment System & UIS Migration | — | 2026-03-18 |
| Investigate: Nextcloud Deployment | Determine the best approach for deploying Nextcloud as a UIS platform service | 2026-03-18 |
| INVESTIGATE: Network Services Remove Playbooks | Investigate the full state of tailscale-tunnel and cloudflare-tunnel services — verify deploy works, create remove playbooks, and test the full deploy/undeploy cycle. | 2026-03-18 |
| Investigate: Enonic XP CMS Deployment | Determine the best approach for deploying Enonic XP as a UIS platform service | 2026-03-18 |
| Investigate: Elasticsearch Upgrade and Version Pinning | Upgrade Elasticsearch to 9.x and pin the version to prevent unexpected changes | 2026-03-18 |
| INVESTIGATE: Documentation Rewrite — Prototype for Auto-Generation | The documentation was written before the UIS CLI existed and is inconsistent — some service pages are 600+ lines with architecture diagrams, others are 100 lines. Some reference old ./scripts/packages/ paths, others use ./uis correctly. There's no standard template, no dependency information, and no UIS CLI reference. | 2026-03-18 |
| INVESTIGATE: Documentation Site Restructure — Add "Developing and Deploying" Section | The documentation site at https://uis.sovereignsky.no has no section explaining how developers build and deploy their own applications on the platform. The current sidebar covers infrastructure setup (Getting Started, Hosts, Packages, Provision Host) and contributor guidelines, but nothing about the developer workflow: creating a project from a template, building with GitHub Actions, deploying with ArgoCD, and managing applications. | 2026-03-18 |
| INVESTIGATE: Auto-Generated Documentation from Script Metadata | UIS inherited the script metadata pattern from DevContainer Toolbox (dct), but only uses it for the CLI menu (./uis list, ./uis deploy). In dct, the same metadata also auto-generates a full Docusaurus documentation website — tool pages, category indexes, package tables with links, and a tools overview. UIS has this potential but doesn't use it. | 2026-03-18 |
| Investigate: Documentation Restructuring for Docusaurus | Determine what documentation improvements are needed and prioritize them. | 2026-03-18 |
| INVESTIGATE: Dev Template IngressRoute Cleanup After Platform-Managed Routing | Now that uis argocd register creates a platform-managed IngressRoute (HostRegexp(<app_name>..+)), repos no longer need to ship their own ingress manifests. Three things need updating: | 2026-03-18 |
| INVESTIGATE: Cloudflare Tunnel UIS Integration | Make Cloudflare tunnel work through the UIS CLI with a similar operator experience as Tailscale, while respecting the architectural differences between the two. | 2026-03-18 |
| INVESTIGATE: Authentik Automatic Deployment | Authentik deployment required a manual step before the playbook could run: | 2026-03-18 |
| INVESTIGATE: ArgoCD Register Command Redesign | No backward compatibility needed — system is not yet released. | 2026-03-18 |
| INVESTIGATE: ArgoCD Migration & Cleanup | — | 2026-03-18 |
| Investigation: How to Add a New Service to UIS | Document the complete lifecycle of adding a new service to the UIS platform — from service definition to deployment, secrets, removal, and documentation. | 2026-03-18 |