Skip to main content

PrivateCloud: one-command installer for a Kubernetes-based private cloud (k3s + monitoring + ingress + storage).

Project description

PrivateCloud ☁️

PrivateCloud is a Python CLI installer that provisions a Kubernetes-based private cloud stack.

It focuses on fast deployment, repeatable infrastructure, and production-ready defaults.

Features (v0.1.0)

  • Installs K3s Kubernetes
  • Installs base cloud services (framework skeleton):
    • Ingress NGINX
    • cert-manager
    • MetalLB
    • Prometheus + Grafana (monitoring)
    • Longhorn (storage)
  • Generates install plan + executes scripts
  • Works via SSH (bare-metal / VM)

Install

pip install privatecloud

Quickstart

privatecloud init
privatecloud doctor
privatecloud plan
privatecloud install-cluster

Config File

Created automatically:

privatecloud.yaml

Example:

cluster_name: my-private-cloud
nodes:
  - host: 192.168.1.10
    user: root
  - host: 192.168.1.11
    user: root
k3s_version: v1.29.0+k3s1
services:
  metallb: true
  ingress_nginx: true
  cert_manager: true
  monitoring: true
  longhorn: true

Commands

  • privatecloud init - create config + folders
  • privatecloud doctor - check system dependencies
  • privatecloud plan - print install plan
  • privatecloud install-cluster - deploy private cloud stack
  • privatecloud install-cluster --dry-run - preview without installing
  • privatecloud destroy - placeholder (v0.2.0)

Provider Modules Roadmap

The following cloud providers are planned for future releases:

Provider Status Description
Proxmox 🔜 v0.2.0 Proxmox VE integration
Hetzner 🔜 v0.2.0 Hetzner Cloud API
LibVirt 🔜 v0.3.0 Local KVM/libvirt VMs
vSphere 📋 Backlog VMware vSphere integration
OpenStack 📋 Backlog OpenStack integration

Contributions welcome!

License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

privatecloud-0.2.0.tar.gz (8.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

privatecloud-0.2.0-py3-none-any.whl (9.7 kB view details)

Uploaded Python 3

File details

Details for the file privatecloud-0.2.0.tar.gz.

File metadata

  • Download URL: privatecloud-0.2.0.tar.gz
  • Upload date:
  • Size: 8.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for privatecloud-0.2.0.tar.gz
Algorithm Hash digest
SHA256 6b7d2f2ca7485c087e57d4f5e32d8c571800944d30ed169c8fc3d9f613abeec6
MD5 b2398a3fc74557391669d9263eaf9866
BLAKE2b-256 6c2f8931fff0d0b2e4eb5fee0da96ca04ac01454d7838b2340f62fe84b889ab2

See more details on using hashes here.

Provenance

The following attestation bundles were made for privatecloud-0.2.0.tar.gz:

Publisher: publish.yml on Kubenew/privatecloud

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file privatecloud-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: privatecloud-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 9.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for privatecloud-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 932d985e2776b1d0cf15d266a9d5144fcae9f41bc7be4480059f4d992ea5724b
MD5 35c3e72b533885fa088460af444a9852
BLAKE2b-256 8abc105512efba7c1e315b98567b9d0af082a9cbe21232a918e73751c995b8cf

See more details on using hashes here.

Provenance

The following attestation bundles were made for privatecloud-0.2.0-py3-none-any.whl:

Publisher: publish.yml on Kubenew/privatecloud

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page