PLAN: ArgoCD Register Command Redesign
IMPLEMENTATION RULES: Before implementing this plan, read and follow:
- WORKFLOW.md - The implementation process
- PLANS.md - Plan structure and best practices
Status: Completed
Goal: 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.
Last Updated: 2026-03-03
Parent: INVESTIGATE-argocd-register-url-parsing.md
Problem Summary
The current uis argocd register <repo_name> command has two critical issues:
- Users pass full GitHub URLs but the command only accepts bare repo names. The bare name is used directly as the Kubernetes namespace — passing a URL creates an invalid namespace name.
- Requires
GITHUB_USERNAMEin secrets even for public repos. The playbook constructs the repo URL fromgithub_username+repo_name, so registration fails before it starts if secrets aren't configured.
New design
uis argocd register <name> <repo-url>
<name>— Application name (Kubernetes namespace + ArgoCD app name). Must be DNS-compatible and not already in use.<repo-url>— Full GitHub HTTPS URL. Must start withhttps://.- CLI does basic validation only. Playbook handles all URL parsing and heavy lifting.
- No backward compatibility needed — system is not yet released.
Phase 1: Update the Ansible Register Playbook — ✅ DONE
Rewrite ansible/playbooks/argocd-register-app.yml to accept app_name and repo_url instead of github_username and repo_name.