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 + foldersprivatecloud doctor- check system dependenciesprivatecloud plan- print install planprivatecloud install-cluster- deploy private cloud stackprivatecloud install-cluster --dry-run- preview without installingprivatecloud 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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6b7d2f2ca7485c087e57d4f5e32d8c571800944d30ed169c8fc3d9f613abeec6
|
|
| MD5 |
b2398a3fc74557391669d9263eaf9866
|
|
| BLAKE2b-256 |
6c2f8931fff0d0b2e4eb5fee0da96ca04ac01454d7838b2340f62fe84b889ab2
|
Provenance
The following attestation bundles were made for privatecloud-0.2.0.tar.gz:
Publisher:
publish.yml on Kubenew/privatecloud
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
privatecloud-0.2.0.tar.gz -
Subject digest:
6b7d2f2ca7485c087e57d4f5e32d8c571800944d30ed169c8fc3d9f613abeec6 - Sigstore transparency entry: 1367975598
- Sigstore integration time:
-
Permalink:
Kubenew/privatecloud@1b9c1f61486edb8607bc77cbc44e96656f0b50cf -
Branch / Tag:
refs/tags/v0.2.0 - Owner: https://github.com/Kubenew
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@1b9c1f61486edb8607bc77cbc44e96656f0b50cf -
Trigger Event:
release
-
Statement type:
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
932d985e2776b1d0cf15d266a9d5144fcae9f41bc7be4480059f4d992ea5724b
|
|
| MD5 |
35c3e72b533885fa088460af444a9852
|
|
| BLAKE2b-256 |
8abc105512efba7c1e315b98567b9d0af082a9cbe21232a918e73751c995b8cf
|
Provenance
The following attestation bundles were made for privatecloud-0.2.0-py3-none-any.whl:
Publisher:
publish.yml on Kubenew/privatecloud
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
privatecloud-0.2.0-py3-none-any.whl -
Subject digest:
932d985e2776b1d0cf15d266a9d5144fcae9f41bc7be4480059f4d992ea5724b - Sigstore transparency entry: 1367975724
- Sigstore integration time:
-
Permalink:
Kubenew/privatecloud@1b9c1f61486edb8607bc77cbc44e96656f0b50cf -
Branch / Tag:
refs/tags/v0.2.0 - Owner: https://github.com/Kubenew
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@1b9c1f61486edb8607bc77cbc44e96656f0b50cf -
Trigger Event:
release
-
Statement type: