Skip to content

Conversation

@dguido
Copy link
Member

@dguido dguido commented Aug 21, 2025

Summary

This PR fixes several issues in the setup scripts discovered during testing on Ubuntu 22.04 ARM64:

  • Architecture detection for ARM64 systems
  • Docker permission handling
  • Misleading API key requirement messaging

Problem

Users encountered multiple failures when following the setup instructions:

  1. ARM64 systems downloaded x86_64 binaries (kubectl, minikube)
  2. Docker group changes required logout/login but script continued anyway
  3. API keys labeled as "Optional" but at least one was required
  4. No pre-flight checks before deployment attempts

Changes

  • Add architecture detection for kubectl/minikube installation (supports both x86_64 and ARM64)
  • Add Docker access verification with clear error messages and recovery instructions
  • Fix API key requirement messaging - removed misleading "Optional" labels
  • Add pre-deployment Docker check to catch permission issues early
  • Remove broken demo mode that would crash immediately

Testing

Tested on:

  • Ubuntu 22.04 ARM64 (via Multipass on macOS)
  • Verified successful deployment after fixes

Related Issues

Impact

These changes significantly improve the first-run experience for users, especially on:

  • ARM64 systems (Apple Silicon, ARM cloud instances)
  • Fresh Ubuntu installations requiring Docker setup
  • Systems where users aren't familiar with Docker group requirements

🤖 Generated with Claude Code

Co-Authored-By: Claude noreply@anthropic.com

- Add architecture detection for ARM64 support in kubectl/minikube installation
- Add Docker access verification with clear error messages
- Remove misleading 'Optional' labels for API keys (at least one is required)
- Add pre-deployment Docker check to prevent confusing errors
- Remove broken demo mode option
- Improve error messages and recovery instructions

These changes address issues found during Ubuntu 22.04 ARM64 testing
and make the setup process more robust and user-friendly.
dguido and others added 4 commits August 24, 2025 23:46
The deployment script (crs-architecture.sh) was creating Kubernetes resources
with 'kubectl create' and using '|| echo' to continue if they already existed.
This caused issues when running 'helm upgrade --install' because:

1. Helm expects to manage all resources in the namespace
2. Manually created resources would conflict with Helm-managed ones
3. The error messages were misleading (said resources exist but continued)

Changes:
- Check if crs-instance-id configmap exists before creating
- Check if registry-cache-tls secret exists before creating
- Check if docker-auth secret exists before creating
- Always recreate ghcr secret to ensure latest values
- Remove misleading error suppression with '|| echo'

This fixes the 'configmaps crs-instance-id already exists' and
'secrets registry-cache-tls already exists' errors that would cause
Helm deployments to fail after an incomplete cleanup.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
Resolved conflicts in scripts/common.sh:
- Kept verification logic for Anthropic API key from our branch
- Added Gemini API key configuration from main
- Included LLM API key validation logic from main
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.

2 participants