An open-source & self-hostable alternative to Heroku / Netlify / Vercel for Kubernetes.
Cloudness is an open-source & self-hostable platform for deploying and managing applications on Kubernetes.
It helps you manage your servers, applications, and databases on your own infrastructure; you only need a Kubernetes cluster. You can manage any Kubernetes cluster - cloud providers, on-premises, Raspberry PIs, and anything else.
Imagine having the ease of a cloud platform like Heroku, but with your own infrastructure. That is Cloudness.
No vendor lock-in - all configurations for your applications, databases, and services are stored as Kubernetes manifests. If you decide to stop using Cloudness, you can still manage your running resources. You lose the automations and all the magic. πͺ
curl -fsSL https://get.cloudness.io/install.sh | bashNote: Please refer to the documentation for more information about installation and configuration.
- π Easy Deployment - Deploy applications to Kubernetes with minimal configuration
- π CI/CD Integration - Built-in pipeline support for automated builds and deployments
- π¦ Template System - Pre-configured templates for common services (PostgreSQL, Redis, MySQL, Valkey)
- π Authentication & Authorization - Secure access control with multi-tenant support
- π Project Management - Organize applications, environments, and deployments
- π Real-time Logs - Stream application logs in real-time
- π― Multi-tenant - Support for multiple organizations and projects
- π Documentation
- π¬ GitHub Discussions
- π Issue Tracker
Install the latest stable version of Node and Go version 1.21 or higher. Ensure the GOPATH bin directory is added to your PATH.
git clone https://github.com/cloudness-io/cloudness.git
cd cloudnessmake dep
make toolsBuild the Cloudness binary:
make buildThis project supports all operating systems and architectures supported by Go. This means you can build and run the system on your machine; docker containers are not required for local development and testing.
To start the server at localhost:8000, simply run the following command:
./cloudness server .local.envThe application will start at http://localhost:8000. The database schemas will be auto-migrated on startup.
This project includes command line tools for development and running the service. For a full list of supported operations, please see:
./cloudness --help| Variable | Description | Default |
|---|---|---|
CLOUDNESS_DATABASE_DRIVER |
Database driver (postgres/sqlite) | postgres |
CLOUDNESS_DATABASE_HOST |
Database host | localhost |
CLOUDNESS_DATABASE_PORT |
Database port | 5432 |
CLOUDNESS_DATABASE_NAME |
Database name | cloudness |
CLOUDNESS_DATABASE_USER |
Database username | - |
CLOUDNESS_DATABASE_PASSWORD |
Database password | - |
CLOUDNESS_PUBSUB_PROVIDER |
Pub/Sub provider (redis/inmem) | inmem |
CLOUDNESS_REDIS_ENDPOINT |
Redis endpoint (if using) | - |
CLOUDNESS_REDIS_PASSWORD |
Redis password | - |
CLOUDNESS_DEBUG |
Enable debug logging | false |
CLOUDNESS_TRACE |
Enable trace logging | false |
We welcome contributions! Please see our Contributing Guide for details.
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
Please read our Code of Conduct before contributing.
Cloudness is built with:
- Backend: Go with Gin framework
- Frontend: HTML/Templ/Alpine.js/Tailwindcss
- Database: PostgreSQL (primary), MySQL (supported)
- Cache/Pub-Sub: Redis or in-memory
- Orchestration: Kubernetes
cloudness/
βββ app/ # Application core
β βββ auth/ # Authentication logic
β βββ controller/ # HTTP controllers
β βββ middleware/ # HTTP middleware
β βββ router/ # Route definitions
β βββ services/ # Business logic services
β βββ store/ # Application data stores
β βββ web/ # HTML Templ frontend
βββ blob/ # Blob storage interface
βββ cli/ # CLI implementation
βββ cmd/ # Application entrypoint
βββ errors/ # Error types and handling
βββ helpers/ # Utility functions
βββ http/ # HTTP client utilities
βββ job/ # Background job scheduler
βββ k8s/ # Kubernetes manifests
βββ lock/ # Distributed locking
βββ logging/ # Logging configuration
βββ logstream/ # Real-time log streaming
βββ plugins/ # Builder and deployer plugins
βββ profiler/ # Performance profiling
βββ pubsub/ # Pub/Sub implementation
βββ schema/ # JSON schemas
βββ scripts/ # Installation and ops scripts
βββ store/ # Database layer
βββ templates/ # Application templates
βββ types/ # Type definitions
βββ version/ # Version information
- Enhanced monitoring and observability
- Multi-cloud support
- Advanced deployment strategies (canary, blue-green)
- Marketplace for community templates
- GitOps integration
- Cost optimization features
This project is licensed under the Apache License 2.0, see LICENSE.
Built using:
Made with β€οΈ by the Cloudness team