Skip to content

Commit

Permalink
chore: update readme.md (#1178)
Browse files Browse the repository at this point in the history
* chore: update readme.md

Signed-off-by: Daniel Werner <[email protected]>

* chore: update readme.md

Improved:

- Naming (Nanocl, Statefiles)
- Style
- Minor text stuff

Signed-off-by: Daniel Werner <[email protected]>

* chore: update readme.md

Optimization:
- Installation section: Replaced "Debian/Ubuntu" with "Linux" (more general). 

--> The documentation has to be updated afterwards.

Signed-off-by: Daniel Werner <[email protected]>

---------

Signed-off-by: Daniel Werner <[email protected]>
  • Loading branch information
danielwernerio authored Dec 1, 2024
1 parent b28720c commit 2ba3016
Showing 1 changed file with 94 additions and 84 deletions.
178 changes: 94 additions & 84 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,79 +1,73 @@
<div align="center">
<img width="142" height="142" src="https://download.next-hat.com/ressources/images/logo.png" >
<h3>Develop, Deploy.</h3>
<h2>Nanocl</h2>
<h4>Just Develop, Deploy.</h4>
<h6>Orchestrate like never before. K8s reimagined.</h6>
<p align="center">
<a href="https://next-hat.com/nanocl" target="_blank"><b>Docs</b></a> •
<a href="https://github.com/next-hat/nanocl/tree/nightly/examples" target="_blank"><b>Examples</b></a> •
<a href="https://discord.gg/WV4Aac8uZg" target="_blank"><b>Discord</b></a>
<a href="https://next-hat.com/nanocl"><b>Why</b></a> •
<a href="https://docs.next-hat.com/manuals/nanocl/install/overview"><b>Install</b></a> •
<a href="https://discord.gg/WV4Aac8uZg" target="_blank"><b>Discord</b></a> •
<a href="https://x.com/next_hat" target="_blank"><b>𝕏</b></a>
</p>
<p>

[![Tests](https://github.com/next-hat/nanocl/actions/workflows/tests.yml/badge.svg)](https://github.com/next-hat/nanocl/actions/workflows/tests.yml)
[![Clippy](https://github.com/next-hat/nanocl/actions/workflows/clippy.yml/badge.svg)](https://github.com/next-hat/nanocl/actions/workflows/clippy.yml)

</p>

<p>

[![codecov](https://codecov.io/gh/next-hat/nanocl/branch/nightly/graph/badge.svg?token=4I60HOW6HM)](https://codecov.io/gh/next-hat/nanocl)

</p>

</div>

**Nanocl** is an open source distributed system designed to revolutionize **cloud native** from the ground up.

The developing ecosystem provides an **easy** solution for **local** development, avoiding common issues like CORS & cookies when working with **complex microservices**.

The architecture of Nanocl enables a **seamless deployment** to **production** among other innovations.<br/>
<blockquote>
<span>
Test, Deploy, Scale, Monitor, Orchestrate
You could build a K8s within Nanocl. But we are quite sure you wouldn't want to..
</span>
</blockquote>

Nanocl will introduce the **next paradigm** for **Platform Engineers** by providing ground breaking cloud-native architectural innovations, best-in-class security, while reducing operational costs with e.g. 🦀 **Rust** based efficiency.

**Nanocl** is an open-source distributed system designed to revolutionize developers' workflows.<br/>
It aims to provide an easy solution for localhost development, addressing common issues like CORS and cookies when working with complex microservice architectures.<br/>
Nanocl also facilitates seamless deployment to production.<br/>
By empowering developers and DevOps professionals, Nanocl helps optimize workflows, enhance security, and reduce operational costs.

**Join our *[discord][discord]* and help us shape the future of infrastructure management.**

## Latest news

- [2024/11/24] [Automating deployment with GitHub Actions](https://docs.next-hat.com/blog/automating-deployment-with-github-actions-and-nanocl)
- [2024/11/01] [End to End TLS encryption and first step for network meshing](https://docs.next-hat.com/blog/nanocl-0.16) (release)
- [2024/06/11] [Man page, Backup, Remove Orphans and more](https://docs.next-hat.com/blog/nanocl-0.15) (release)
- [2024/06/01] [We are invited to the Merge Berlin 2024](https://www.linkedin.com/feed/update/urn:li:activity:7201921660289998850) (event)
- [2024/05/07] [Context, SubState and more](https://docs.next-hat.com/blog/nanocl-0.14) (release)
<blockquote>
<span>
Who said that K8s is more than a perfect platform for application workloads?
</span>
</blockquote>

## Installation

To install **Nanocl** for your system, please refer to our online [installation guide][nanocl_install_guide].
We are already compatible with **Linux**, **MacOS** & **Windows**, just jump to [Installation guide][nanocl_install_guide].<br/>
Please bare with us, Nanocl is currently more than just on the cutting edge..

## Documentation
## Latest news

To learn more about **Nanocl**, you can take a look at the following resources:

- [Overview][nanocl_overview]
- [Get Started][nanocl_get_started]
- [CLI References][nanocl_cli_ref]
- [DAEMON References][nanocl_daemon_ref]
- **Blog**: [Automating deployment with GitHub Actions](https://docs.next-hat.com/blog/automating-deployment-with-github-actions-and-nanocl) on 24.11.2024
- **Release**: [End to End TLS encryption and first step for network meshing](https://docs.next-hat.com/blog/nanocl-0.16) on 01.11.2024
- **Release**: [Man page, Backup, Remove Orphans and more](https://docs.next-hat.com/blog/nanocl-0.15) on 11.06.2024
- **Event**: [We are invited to the Merge Berlin 2024](https://www.linkedin.com/feed/update/urn:li:activity:7201921660289998850) on 01.06.2024
- **Release**: [Context, SubState and more](https://docs.next-hat.com/blog/nanocl-0.14) on 07.05.2024

## Usage

**Nanocl** is designed to be easy to operate by mostly using **Statefiles**.<br />
**Statefiles** are `yaml`, `toml` or `json` files that define the state you want.<br />
There is an example used to deploy our [documentation][documentation]:
Nanocl is designed to be **easy** to setup, use & maintain by mostly using **Statefiles** (`yaml`, `toml` or `json`).<br/>
Below is an **example** which is used to **deploy** our own [Documentation][documentation].

`Apply` a state to the cluster via `nanocl state apply -s path|url`<br/>
`Remove` it by executing `nanocl state rm -s path|url`<br/>

```yaml
ApiVersion: v0.16

# See all options:
# https://docs.next-hat.com/references/nanocl/objects/cargo
# Options: https://docs.next-hat.com/references/nanocl/objects/cargo
Cargoes:
- Name: doc
Container:
Image: ghcr.io/next-hat/documentation:0.16.0

# See all options:
# https://docs.next-hat.com/references/nanocl/objects/resource
# Options: https://docs.next-hat.com/references/nanocl/objects/resource
Resources:
- Name: docs.next-hat.com
Kind: ncproxy.io/rule
Expand All @@ -88,82 +82,91 @@ Resources:
Port: 80
```
To apply a state you can do it easily bu running `nanocl state apply -s path|url`<br />
You can also remove a state by calling `nanocl state rm -s path|url`<br />
## Architecture
## Demo
Nanocl is designed as a **microservice** architecture, consisting of multiple components running as **containers**, including the **Nanocl Daemon** itself.
The following components will be installed during `nanocl install` and are required to ensure full Nanocl functionalities:

Below are live demos of **Nanocl** in action:
- `nstore` to **save** cluster **state**
- `ndaemon` as **REST API** to manage everything
- `nmetrics` to monitor CPU, Memory and Network usage
- `nproxy` proxy to redirect traffic to our **containers** and **virtual machines** (optional)
- `ncproxy` to update proxy configuration based on the current state (optional)
- `ndns` to manage the dns entries for the **containers** and **virtual machines** (optional)
- `ncdns` to update dns entries based on the current state (optional)

### Cargo and Resource
To learn more about Nanocl, take a look at the following resources:

<div align="center">
<img src="./doc/cargo_resource_example.gif" />
</div>
- [Overview][nanocl_overview]
- [Get Started][nanocl_get_started]
- [CLI References][nanocl_cli_ref]
- [Daemon References][nanocl_daemon_ref]

### Job
Simplified version of Nanocl architecture for a single node:

<div align="center">
<img src="./doc/job_example.gif" />
<img src="./doc/architecture.png" />
</div>

### Vm
## Demo

#### Cargo & Resource

<div align="center">
<img src="./doc/vm_example.gif" />
<img src="./doc/cargo_resource_example.gif" />
</div>

## Architecture

**Nanocl** is designed in a **micro services** architecture several component are required and they are running as **container** included the **Nanocl Daemon** itself.
The following components will be installed during `nanocl install` and are required to ensure **Nanocl** functionality:

- `nstore` to save our state
- `ndaemon` as **REST API** to manage everything
- `nmetrics` to monitor cpu, memory and network usage
- `nproxy` proxy to redirect traffic to our **containers** and **virtual machines** (optional)
- `ncproxy` to update proxy configuration based on the current state (optional)
- `ndns` to manage the dns entries for the **containers** and **virtual machines** (optional)
- `ncdns` to update dns entries based on the current state (optional)

Simplified version of our architecture for a single node:
#### Job

<div align="center">
<img src="./doc/architecture.png" />
<img src="./doc/job_example.gif" />
</div>

## Contributing
#### VM

Every contribution is very welcome.
Bug reports, feature requests, and pull requests are the most common ways to contribute.

You can also help us by improving the [documentation][documentation_repository].
<div align="center">
<img src="./doc/vm_example.gif" />
</div>

Learn how to setup a development environment by reading the [contribution guide][contributing_guide].
Also don't hesitate to join the [discord][discord] if you have any question!
## Contribute

## Sponsors
<blockquote>
<span>
Little by little, a little becomes a lot.
</span>
</blockquote>

Sponsors are the ones who make this project possible. They help us to keep the project alive and to improve it. If you want to become a sponsor, you can do so by clicking on the sponsor button. <br/>
Join our *[Discord][discord]* the be part of *[NextHat][next_hat]*'s journey to **shape** the **future** of **planet-scale infrastructure management**.

People that sponsor us will have their name or logo displayed here, and will have access to a special role on our discord server.
**Every contribution is welcomed**.<br/>
➡️ Bug reports, feature requests, and pull requests are the most common ways to contribute.<br/>
For example if you're not a developer yourself you could help us by improving the [Documentation][documentation_repository], too.

**If you sponsor for more then 40$ you will be rewarded with a VPS server with nanocl pre-installed ready to use for 1 month.** <br/>
Learn how to **setup** a **development environment** via the [Contribution Guide][contributing_guide].<br/>
Please don't hesitate to **join our team** on [Discord][discord] if you have any questions! 🤗

You can also help us by contributing to the project, by reporting bugs, by suggesting new features, or by improving the [documentation][documentation_repository].
### Sponsors

**Or just give a star it's free and it helps us a lot! ⭐️**
<blockquote>
<span>
GitHub ⭐️ helps us a lot to further grow our open-source ecosystem for & with our community.
</span>
</blockquote>

Sponsors are **the ones who make this project possible**.<br/>
They help us to have the necessary resources for Nanocl to keep it alive and to improve it further.<br/>
If you want to **become a sponsor**, please use the GitHub Sponsor button.<br/>

**Huge thanks to our sponsors**
People that sponsor us will have their **name** or **logo displayed here**, and will have access to a **special role** on our *[Discord][discord]*.

**Our very kind sponsors:**

<table>
<tr>
<td align="center">
<a href="https://github.com/mamaicode">
<img src="https://images.weserv.nl/?url=avatars.githubusercontent.com/u/102310764?v=4&h=300&w=300&fit=cover&mask=circle&maxage=7d" width="100" alt="mamaicode" />
<br />
<br/>
<sub>
<b>
mamaicode
Expand All @@ -174,7 +177,7 @@ You can also help us by contributing to the project, by reporting bugs, by sugge
<td align="center">
<a href="https://github.com/xf10w">
<img src="https://images.weserv.nl/?url=avatars.githubusercontent.com/u/43791027?v=4&h=300&w=300&fit=cover&mask=circle&maxage=7d" width="100" alt="xf10w" />
<br />
<br/>
<sub>
<b>
xf10w
Expand All @@ -185,7 +188,7 @@ You can also help us by contributing to the project, by reporting bugs, by sugge
<td align="center">
<a href="https://github.com/xf10w">
<img src="https://images.weserv.nl/?url=avatars.githubusercontent.com/u/142700635?v=4&h=300&w=300&fit=cover&mask=circle&maxage=7d" width="100" alt="Rembo1510" />
<br />
<br/>
<sub>
<b>
Rembo1510
Expand All @@ -198,9 +201,16 @@ You can also help us by contributing to the project, by reporting bugs, by sugge

## Star History

<blockquote>
<span>
We are just at the beginning of a new paradigm shift..
</span>
</blockquote>

[![Star History Chart](https://api.star-history.com/svg?repos=next-hat/nanocl&type=Date)](https://star-history.com/#next-hat/nanocl&Date)

[contributing_guide]: ./CONTRIBUTING.md
[next_hat]: https://next-hat.com
[documentation]: https://docs.next-hat.com
[nanocl_overview]: https://docs.next-hat.com/guides/nanocl/overview
[nanocl_install_guide]: https://docs.next-hat.com/manuals/nanocl/install/overview
Expand Down

0 comments on commit 2ba3016

Please sign in to comment.