cloudness

module
v0.0.1-alpha.4 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 4, 2026 License: Apache-2.0

README ΒΆ

Cloudness

An open-source & self-hostable alternative to Heroku / Netlify / Vercel for Kubernetes.

πŸ“– About the Project

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. πŸͺ„

πŸ“₯ Installation

curl -fsSL https://get.cloudness.io/install.sh | bash

Note: Please refer to the documentation for more information about installation and configuration.

✨ Features

  • πŸš€ 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

πŸ’¬ Support

πŸ› οΈ Development

Pre-Requisites

Install the latest stable version of Node and Go version 1.21 or higher. Ensure the GOPATH bin directory is added to your PATH.

Clone the repository
git clone https://github.com/cloudness-io/cloudness.git
cd cloudness
Install required Go tools
make dep
make tools
Build

Build the Cloudness binary:

make build
Run

This 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.env

The application will start at http://localhost:8000. The database schemas will be auto-migrated on startup.

πŸ’» CLI

This project includes command line tools for development and running the service. For a full list of supported operations, please see:

./cloudness --help

βš™οΈ Configuration

Environment Variables
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

🀝 Contributing

We welcome contributions! Please see our Contributing Guide for details.

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

Please read our Code of Conduct before contributing.

πŸ—οΈ Architecture

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
Project Structure
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

πŸ—ΊοΈ Roadmap

  • Enhanced monitoring and observability
  • Multi-cloud support
  • Advanced deployment strategies (canary, blue-green)
  • Marketplace for community templates
  • GitOps integration
  • Cost optimization features

πŸ“„ License

This project is licensed under the Apache License 2.0, see LICENSE.

πŸ™ Acknowledgments

Built using:


Made with ❀️ by the Cloudness team

Directories ΒΆ

Path Synopsis
app
jwt
sse
cli
cmd
app command
plugins
placeholder command
scripts
ops/pvc command
main.go
main.go

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL