{"id":22301781,"url":"https://github.com/diocrafts/flusso","last_synced_at":"2025-07-29T03:32:39.667Z","repository":{"id":260693272,"uuid":"882081436","full_name":"DioCrafts/flusso","owner":"DioCrafts","description":"Flusso: A secure, high-performance API Gateway + Ingress Controller for Kubernetes, written in Rust.","archived":false,"fork":false,"pushed_at":"2024-11-29T17:08:37.000Z","size":29638,"stargazers_count":25,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-11-29T18:20:14.292Z","etag":null,"topics":["api","api-gateway","api-management","apigateway","apis","cloud-native","devops","docker","flusso","ingress-controller","kubernetes","kubernetes-api-gateway","kubernetes-ingress","kubernetes-ingress-controller","loadbalancing","microservices","nginx","reverse-proxy","rust","traefik"],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/DioCrafts.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-11-01T21:00:21.000Z","updated_at":"2024-11-29T17:08:49.000Z","dependencies_parsed_at":"2024-11-01T22:18:25.470Z","dependency_job_id":"0e8e4542-ae83-4889-ad21-def6d69d1e61","html_url":"https://github.com/DioCrafts/flusso","commit_stats":null,"previous_names":["dioni-dev/flusso","diocrafts/flusso"],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DioCrafts%2Fflusso","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DioCrafts%2Fflusso/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DioCrafts%2Fflusso/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DioCrafts%2Fflusso/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/DioCrafts","download_url":"https://codeload.github.com/DioCrafts/flusso/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":227976208,"owners_count":17850174,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["api","api-gateway","api-management","apigateway","apis","cloud-native","devops","docker","flusso","ingress-controller","kubernetes","kubernetes-api-gateway","kubernetes-ingress","kubernetes-ingress-controller","loadbalancing","microservices","nginx","reverse-proxy","rust","traefik"],"created_at":"2024-12-03T18:30:57.739Z","updated_at":"2024-12-03T18:32:00.930Z","avatar_url":"https://github.com/DioCrafts.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"\r\n\u003cdiv id=\"top\"\u003e\u003c/div\u003e\r\n\r\n\u003cp align=\"center\"\u003eHelp us grow and star us on Github! ⭐️\u003c/p\u003e\r\n\r\n\u003cdiv align=\"center\"\u003e\r\n  \u003cimg src=\"images/flusso-logo.svg\" alt=\"Flusso Logo\" width=\"250\"\u003e\r\n\u003c/div\u003e\r\n\r\n# 🚀 Flusso - Secure, High-Performance Kubernetes Ingress Controller and API Gateway in Rust 🦀🔒\r\n\r\n**Flusso** is a secure, high-performance solution for Kubernetes, combining the functionalities of an **Ingress Controller** and an **API Gateway**. Written in **Rust**, Flusso is designed to meet the needs of modern cloud-native environments, offering a lightweight and efficient alternative to traditional solutions.\r\n\r\n\r\n\u003cdiv align=\"center\"\u003e\r\n  \r\n  [![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg?style=for-the-badge)](https://opensource.org/licenses/MIT)\r\n  [![Docker Pulls](https://img.shields.io/docker/pulls/diocrafts/flusso-ingress-controller?style=for-the-badge\u0026logo=docker)](https://hub.docker.com/r/diocrafts/flusso-ingress-controller)\r\n  [![Latest Release](https://img.shields.io/github/release/diocrafts/flusso.svg?style=for-the-badge)](https://github.com/diocrafts/flusso/releases)\r\n  [![GitHub Stars](https://img.shields.io/github/stars/diocrafts/flusso?style=for-the-badge\u0026logo=github)](https://github.com/diocrafts/flusso/stargazers)\r\n  [![GitHub Issues](https://img.shields.io/github/issues/diocrafts/flusso?style=for-the-badge)](https://github.com/diocrafts/flusso/issues)\r\n  [![GitHub Forks](https://img.shields.io/github/forks/diocrafts/flusso?style=for-the-badge\u0026logo=github)](https://github.com/diocrafts/flusso/network/members)\r\n  [![Last Commit](https://img.shields.io/github/last-commit/diocrafts/flusso?style=for-the-badge)](https://github.com/diocrafts/flusso/commits/main)\r\n\r\n\u003c/div\u003e\r\n\r\n\r\n## Table of Contents\r\n\r\n- [Features](#features)\r\n- [Installation](#installation)\r\n- [Configuration](#configuration)\r\n- [Usage](#usage)\r\n- [Kubernetes Setup](#kubernetes-setup)\r\n- [Contributing](#contributing)\r\n- [License](#license)\r\n- [Contact \u0026 Support](#contact--support)\r\n\r\n---\r\n\r\n## Features ✨\r\n\r\n- **Lightweight and Fast** ⚡: Built in Rust 🦀 for high performance and low memory and CPU consumption.\r\n- **Advanced Load Balancing** 🔄: Supports custom load balancing algorithms for optimized traffic distribution.\r\n- **Secure by Design** 🔒: Implements modern TLS protocols with Rustls for enhanced security.\r\n- **Dynamic Backends** 🔄: Automatically updates routing based on Kubernetes service changes.\r\n- **Flexible Configuration** 🛠️: Easily configurable via YAML files or environment variables.\r\n- **Minimal Dependencies** 📦: Avoids unnecessary dependencies for lightweight container images.\r\n\r\n---\r\n\r\n## Installation\r\n\r\nFlusso provides two components for deployment: the **Ingress Controller** and the **API Gateway**. You can choose to deploy either or both of them depending on your needs. Both components can be deployed using **Helm** or **Docker**, and here are the instructions for each.\r\n\r\n### 1. **Install Ingress Controller using Helm**\r\n\r\nTo install the Flusso Ingress Controller in your Kubernetes cluster, you can use Helm. Follow these steps:\r\n\r\n1. **Add the Flusso Helm Chart repository:**\r\n\r\n   ```bash\r\n   helm repo add flusso https://diocrafts.github.io/flusso\r\n   helm repo update\r\n   ```\r\n\r\n2. **Install the Ingress Controller:**\r\n\r\n   ```bash\r\n   helm install flusso-ingress-controller flusso/flusso-ingress-controller        --namespace ingress-system        --create-namespace\r\n   ```\r\n\r\n   This will install the Flusso Ingress Controller in the `ingress-system` namespace. You can customize your deployment by modifying values in the Helm chart.\r\n\r\n3. **Verify the deployment:**\r\n\r\n   Check the status of the Ingress Controller to ensure it is running:\r\n\r\n   ```bash\r\n   kubectl get pods -n ingress-system\r\n   ```\r\n\r\n---\r\n\r\n### 2. **Install API Gateway using Helm**\r\n\r\nTo install the Flusso API Gateway in your Kubernetes cluster, follow these steps:\r\n\r\n1. **Add the Flusso Helm Chart repository:**\r\n\r\n   ```bash\r\n   helm repo add flusso https://diocrafts.github.io/flusso\r\n   helm repo update\r\n   ```\r\n\r\n2. **Install the API Gateway:**\r\n\r\n   ```bash\r\n   helm install flusso-api-gateway flusso/flusso-api-gateway        --namespace api-gateway-system        --create-namespace\r\n   ```\r\n\r\n   This will install the Flusso API Gateway in the `api-gateway-system` namespace. You can modify the Helm chart values to customize your deployment.\r\n\r\n3. **Verify the deployment:**\r\n\r\n   Check the status of the API Gateway to ensure it is running:\r\n\r\n   ```bash\r\n   kubectl get pods -n api-gateway-system\r\n   ```\r\n\r\n\r\n---\r\n\r\n## Configuration\r\n\r\nFlusso supports several configuration options, both via environment variables and Helm chart values.\r\n\r\n- **SERVER_ADDR**: Define the address where the Ingress Controller will listen. Default is `0.0.0.0:8080`.\r\n- **TLS_ENABLED**: Enable or disable TLS (default is `true`).\r\n- **TLS_CERT_PATH / TLS_KEY_PATH**: Paths to TLS certificate and key files.\r\n\r\n---\r\n\r\n## Usage\r\n\r\nFlusso automatically routes incoming traffic to Kubernetes services defined by Ingress resources.\r\n\r\n### Monitoring\r\n\r\nFlusso exposes a web GUI at `http://\u003ccontroller-ip\u003e:8081` with insights into backends and routing.\r\n\r\n---\r\n\r\n## Kubernetes Setup\r\n\r\nFlusso is designed for seamless integration in Kubernetes.\r\n\r\n### Prerequisites\r\n\r\n- Kubernetes version 1.19 or higher\r\n- Helm version 3 or higher\r\n\r\n---\r\n\r\n## Contributing\r\n\r\nWe welcome contributions to make Flusso even better! If you have suggestions for improvements, open a GitHub issue or submit a pull request. Please refer to our [Contributing Guide](CONTRIBUTING.md) for more details.\r\n\r\n---\r\n\r\n## License\r\n\r\nFlusso is licensed under the [MIT License](LICENSE).\r\n\r\n---\r\n\r\n## Contact \u0026 Support\r\n\r\n- **GitHub**: [GitHub Repository](https://github.com/diocrafts/flusso)\r\n- **Docker Hub**: [Docker Hub Repository](https://hub.docker.com/r/diocrafts/flusso)\r\n\r\nFor further support, reach out via GitHub issues or visit our community forums.\r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdiocrafts%2Fflusso","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdiocrafts%2Fflusso","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdiocrafts%2Fflusso/lists"}