prole/INSTALLER_README.md

2.3 KiB

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

python3 install.py

Or make it executable and run directly:

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.