Skip to content

cloudness-io/cloudness

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

40 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

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

About

An open-source & self-hostable Heroku / Netlify / Vercel / Railway alternative on Kubernetes.

Topics

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Packages

No packages published

Contributors 2

  •  
  •