cncf / sandbox

Applications for Sandbox go here! ⏳📦🧪
Apache License 2.0
119 stars 19 forks source link

[Sandbox] Cozystack #87

Open kvaps opened 5 months ago

kvaps commented 5 months ago

Application contact emails

andrei.kvapil@aenix.io, george.gaal@aenix.io

Project Summary

Cozystack is an open-source PaaS platform and framework for building clouds

Project Description

With Cozystack, you can transform your bunch of servers into an intelligent system with a simple REST API for spawning Kubernetes clusters, Database-as-a-Service, virtual machines, load balancers, HTTP caching services, and other services with ease.

You can use Cozystack to build your own cloud or to provide a cost-effective development environments.

Org repo URL (provide if all repos under the org are in scope of the application)

https://github.com/aenix-io

Project repo URL in scope of application

https://github.com/aenix-io/cozystack

Additional repos in scope of the application

https://github.com/aenix-io/talos-bootstrap/

Website URL

https://cozystack.io/

Roadmap

https://github.com/orgs/aenix-io/projects/2

Roadmap context

No response

Contributing Guide

https://github.com/aenix-io/cozystack/blob/main/CONTRIBUTING.md

Code of Conduct (CoC)

https://github.com/aenix-io/cozystack/blob/main/CODE_OF_CONDUCT.md

Adopters

https://github.com/aenix-io/cozystack/blob/main/ADOPTERS.md

Contributing or Sponsoring Org

https://aenix.io/

Maintainers file

https://github.com/aenix-io/cozystack/blob/main/MAINTAINERS.md

IP Policy

Trademark and accounts

Why CNCF?

We're startup and group of entusiasts which decided to go by the way of standardization. Our platform is based on many other CNCF projects and provides a turn-key solution which is easy to install and use. We want to keep this standardization as much as possible, we believe that open-source is the only way to achieve this.

Being a CNCF member, will allow us to show people our intention to remain standard and always free.

We adopt Kubernetes, Talos Linux, KubeVirt, Kamaji, FluxCD, Cluster API, Cert-Manager, Piraeus, Kube-OVN, Cilium, MetalLB, among others. We contribute a lot to these projects. We are keen to collaborate closely with them. It would be nice to join a common ecosystem build by CNCF.

Since we self-bootstrapped we have no any profit yet, we need a help with promotion and various opportunities like both and lighting talks on KubeCon to let the people know about our project and attact the sponsors and external contributors.

Benefit to the Landscape

One of our motos: "Collaborate, not compete"

We are proud of our community and closely interact with projects around it. Thus if a feature being developed for the platform could be useful to a upstream project, it should be contributed to upstream project, rather than being implemented within the platform.

Being a CNCF member will help users of other CNCF projects with adoption of their technologies as they could provide a ready product and real-world example how it can be used.

Also we can organize a people to make a beatiful things together, for example etcd-operator is one of this community-driven project https://github.com/cncf/sandbox/issues/91

Cloud Native 'Fit'

We believe that our project will help various cloud-providers to build their infrastructure based on modern cloud-native principles.

The project goal is that you can manage your bare-metal infrastracture using cloud native approaches:

Cloud Native 'Integration'

We use a lot of CNCF projects and build a single ecosystem around them:

Talos Linux

Using Talos Linux as the base layer for the platform allows to strictly limit the technology stack and make the system stable as a rock.

Talos Linux has no moving parts, no traditional package manager, no file structure, and no ability to run anything except Kubernetes containers.
 The base layer of the platform includes the latest version of the kernel, all the necessary kernel modules, container runtime and a Kubernetes-like API for interacting with the system.

Updating the system is done by rewriting the image “as is” entirely onto the hard drive.

Kubernetes and etcd

Kubernetes has already become a kind of de facto standard for managing server workloads.

Our platform is Kubernetes-based and provides managed Kubernetes service that allows you to create full-featured Kubernetes clusters on demand. For each cluster, a separate managed control-plane and virtual compute nodes are created.

The control-plane is powered by Kamaji project and separate etcd cluster for backend. We utilize Cluster API for spawnging tenant Kubernetes clusters.

KubeVirt

KubeVirt is a project started by global industry leaders with a common vision to unify Kubernetes and a desire to introduce it to the world of virtualization. KubeVirt extends the capabilities of Kubernetes by providing convenient abstractions for launching and managing virtual machines, as well the all related entities such as snapshots, presets, virtual volumes, and more.

Helm and FluxCD

Each package in the platform consists of a set of YAML files combined into Helm chart. Therefore, anyone with some familiarity with Kubernetes primitives can modify or expand the platform. Delivery of packages to the system is handled by FluxCD, a well-known and widely used tool in the community.

FluxCD is the main system used to build distribution. FluxCD is used for three different cases:

Kube-OVN

Kube-OVN is a free implementation of virtual network fabric for Kubernetes based on Open vSwitch technology. With OVN, you get a robust and functional virtual network that ensures reliable isolation between tenants and provides floating addresses for virtual machines.

This enables seamless integration with other clusters and customer network services.

Cilium

Utilizing Cilium in conjunction with OVN enables the most efficient and flexible network policies, along with a productive services network in Kubernetes, leveraging an offloaded Linux network stack featuring the cutting-edge eBPF technology.

MetalLB

MetalLB is the default load balancer for Cozystack; with its help, the services obtain public addresses that are accessible from outside the cluster network.

Piraeus

DRBD is the fastest replication block storage running right in the Linux kernel. When DRBD only deals with data replication, time-tested technologies such as LVM or ZFS are used for securely store the data. The DRBD kernel module is included in the mainline Linux kernel and has been used to build fault-tolerant systems for over a decade.

DRBD is managed by LINSTOR privided by piraeus-operator. It provides an orchestation system integrated to Kubernetes which provides the management layer for creating virtual volumes based on DRBD.

Kubeapps

While the primary goal of the platform is to provide a beautiful API, it also has a dashboard for deploying applications, this dashboard is based on Kubeapps. It facilitates a quick dive into the platform and provides a visual demonstration of its capabilities.

The Web UI facilitates a quick dive into the platform and provides a visual demonstration of its capabilities.

CloudNativePG

Nowadays PostgreSQL is the most popular relational database. Its platform-side implementation involves a self-healing replicated cluster, managed with the increasingly popular CloudNativePG operator within the community.

Cloud Native Overlap

No response

Similar projects

VMware Tanzu

VMware Tanzu is a proprietary solution for creating Kubernetes clusters. Our platform, however, is fully based on open-source and free technologies.

Additionally, to launch control planes, you don't need separate VMs, and we offer more services.

Rancher

Rancher can offer similar functionality but operates within its own ecosystem, offering a different value proposition. While Rancher is more of a Kubernetes distribution, Cozystack is akin to a cloud platform.

Landscape

No, we just started :)

Business Product or Service to Project separation

Cozystack is a free project which is more likely a tool developed for our needs.

Ænix supervises the development and provides paid support. This paid support includes all types of assistance, including consultations, development of missing features, design, assistance with installation, and integration.

Project presentations

presentation: https://www.slideshare.net/slideshows/cozystack-free-paas-platform-and-framework-for-building-clouds/266662388 video: https://www.youtube.com/watch?v=24i9wIsJHGE

Project champions

Additional information

No response

amye commented 5 months ago

You might want to amend this, there are several non-CNCF projects listed 😂

kvaps commented 5 months ago

Well, that's actually true.

I just double checked the information, and I found that:

I have to check the information better. Thank you for pointing this out.

kvaps commented 4 months ago

Hey there 👋

I just prepared a blog-posts about Cozystack for kubernetes.io:

joshgav commented 4 months ago

@amye this should probably be tagged for TAG App Delivery (and WG Platforms) too. Thanks!

kevin-wangzefeng commented 2 months ago

Please ignore the status change above; that was caused by my mistouch while accessing the website on my mobile browser.