Skip to content

Latest commit

 

History

History
56 lines (45 loc) · 2.16 KB

File metadata and controls

56 lines (45 loc) · 2.16 KB

Kubeploy

Kubeploy is a streamlined dashboard designed to simplify the deployment and management of web services and databases using Kubernetes and Docker.

Tech Stack

  • Backend Framework: Flask (Python)
  • Frontend: Tailwind CSS, HTMX, Jinja2 Templates
  • Database:
    • Internal: SQLite (for storing application state, deployment history, and logs)
    • Supported Services: MySQL, PostgreSQL, MongoDB, Elasticsearch
  • Infrastructure:
    • Containerization: Docker
    • Orchestration: Kubernetes (via Python Kubernetes Client)
  • Async Processing: Celery with Redis (for backups, restores, and long-running tasks)
  • Dependency Management: uv

Features

Deployment

  • Flexible Source: Deploy from a Git repository (using Dockerfile) or a pre-built Docker image.
  • Smart Configuration: Automatic assignment with customizable overrides for:
    • Networking: NodePort services, custom ports, protocols.
    • Storage: Persistent Volume Claims (PVC) with custom sizes.
    • Scaling: Replica counts.
    • Organization: Namespaces.
    • Resources: Timeouts and deployment versions.

Management & Monitoring

  • Dashboard: Centralized view for all services.
  • History & Logging:
    • Tracks deployment history, status, and errors.
    • Archives deployment configurations (YAML, images, repositories).
  • Database Operations:
    • Manage backups and restores.
    • Asynchronous import/export capabilities.

Security

  • Authentication: Simple YAML-based username/password authentication.

Menu Structure

  1. Dashboard: Overview of current system status.
  2. Web: Manage web application deployments.
  3. Database: Manage database instances and backups.
  4. Storage: Manage persistent volumes and storage classes.
  5. Settings: Application configuration and user settings.

Data Models (Internal SQLite)

The internal SQLite database persists the following deployment artifacts:

  • Deploy History & Status
  • Configuration Snapshots (YAML, Image, Repository)
  • Network Allocations (NodePorts, Internal Ports, Protocols)
  • Resource Definitions (Replicas, Timeouts, Namespaces)
  • Error Logs