prole/INSTALLER_README.md

80 lines
2.3 KiB
Markdown

# Prole Service Dependencies Installer
A desktop application for installing, deploying, and validating Prole services.
## Features
### 1. Install Screen
- Check installation status of required dependencies:
- Docker
- Homebrew
- k3d
- kubectl
- Helm
- krew
- cmctl
- Download links to each project's homepage
- Generate installer script (`install_dependencies.sh`) with all installation commands
### 2. Deploy Screen
- Single "Build and Deploy" button that:
- Checks Docker is running
- Creates or restarts k3d `prole-service-cluster`
- Builds the local `prole-db` Docker image
- Tags the image for the registry
- Pushes the image to the registry
- Imports the image to the k3d cluster
- Real-time progress tracking with visual indicators (pending, running, completed, error)
- Green checkmarks for completed steps
### 3. Validate Screen
- Displays `kubectl cnpg status prole-db` output
- Shows k3d cluster list status
- Auto-refreshes every 10 seconds (can be toggled)
- Manual refresh button
- Link to Prometheus (http://localhost:9090)
## Usage
### Running the Installer
```bash
python3 install.py
```
Or make it executable and run directly:
```bash
chmod +x install.py
./install.py
```
### Requirements
- Python 3.6+
- tkinter (usually included with Python on macOS/Linux)
- macOS (for Homebrew installation)
### Installation Steps
1. **Install Dependencies**: Use the Install screen to check and install required dependencies
2. **Deploy Services**: Use the Deploy screen to build and deploy Prole services
3. **Validate**: Use the Validate screen to monitor the deployment status
## Notes
- The installer requires Docker Desktop to be running for deployment
- The k3d cluster name is `prole-service-cluster` as specified in README.md
- The Docker image version is `prole-db:17.5-027`
- The registry is configured as `k8s-prole-org-registry:k8s.prole.org:5000`
## Apple Silicon Support
The installer automatically detects if running on Apple Silicon (ARM64) and:
- Sets `--platform linux/amd64` flag for Docker builds
- Ensures mssql Docker images are built for AMD64 platform (required for MSSQL Server)
- Ensures prole-db images are built for AMD64 platform for compatibility
This ensures compatibility with services that require AMD64 architecture, such as MSSQL Server.