Skip to content

feat(lima): end-to-end Lima VM orchestration and automated browser login - #117

Open
castrojo wants to merge 1 commit into
mainfrom
feat/lima-e2e-browser-login
Open

feat(lima): end-to-end Lima VM orchestration and automated browser login#117
castrojo wants to merge 1 commit into
mainfrom
feat/lima-e2e-browser-login

Conversation

@castrojo

Copy link
Copy Markdown
Collaborator

Summary

Resolves #108, #110
Follows #115, #116

Provides complete end-to-end testing with Lima VM and bulletproof automated KubeStellar browser login:

  1. Lima VM Template (files/lima/bluefin-server-kiosk.yaml):
    • QEMU/x86_64 virtualization configuration forwarding port 8080 (KubeStellar Console) and port 6443 (Kubernetes API).
  2. Single-Command Setup (files/bin/bluefin-kubestellar, Formula/bluefin-kubestellar.rb, Formula/kc-agent.rb):
    • Sets KAGENTI_CONTROLLER_URL="none" to eliminate in-cluster DNS stalls.
    • Configures origin flags for console access.
    • Installs and manages kc-agent lifecycle (start, stop, status, logs).
    • Wires just setup-kubestellar.
  3. Automated Headless Browser Login Test (tests/e2e/test_kubestellar_browser_login.py):
    • Fully automated headless browser test with Selenium and Chrome.
    • Verifies console readiness, automated login/cluster access interaction, dashboard UI DOM rendering, and kiosk gate dismissal when kc-agent is healthy.
  4. Lima VM E2E Orchestration (scripts/lima-e2e-kubestellar-test.sh, just test-e2e-lima):
    • Validates template schema, sets up Lima instance, runs client connectivity, and exercises automated browser test.
  5. Full Unit Test Coverage:
    • tests/unit/test_lima_e2e_contract.py
    • tests/unit/test_setup_kubestellar.py
    • tests/unit/bluefin-kubestellar_test.bats

Signed-off-by: Jorge O. Castro jorge@canonical.com
Co-authored-by: Copilot 223556219+Copilot@users.noreply.github.com

Provides a complete end-to-end Lima VM workflow, automated browser login
verification, and single-command KubeStellar setup for Bluefin Server:
- Lima VM template with port forwards (8080 console, 6443 k8s API): files/lima/bluefin-server-kiosk.yaml
- Single-command kc-agent launcher script: files/bin/bluefin-kubestellar
- Homebrew formulas for tap packaging: Formula/bluefin-kubestellar.rb, Formula/kc-agent.rb
- Automated headless browser login test: tests/e2e/test_kubestellar_browser_login.py
- Lima VM e2e orchestrator script: scripts/lima-e2e-kubestellar-test.sh
- Justfile integration targets: setup-kubestellar, test-e2e-browser, test-e2e-lima
- Unit tests: tests/unit/test_lima_e2e_contract.py, tests/unit/test_setup_kubestellar.py, tests/unit/bluefin-kubestellar_test.bats

Closes #108
Closes #110

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Signed-off-by: castrojo <castrojo@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

ci(lima): automated end-to-end Lima VM orchestration and browser login verification

1 participant