Table of Contents
Floki (Fake Loki) Floki is an application written in Golang that serves as a reverse HTTP proxy. Designed to be used as a middleware application, Floki works in conjunction with OAuth2 Proxy to create a tenant management system for Grafana Loki.
- Reverse HTTP Proxy: Efficiently handles and forwards HTTP requests to appropriate back-end services.
- Middleware Integration: Seamlessly integrates with OAuth2 Proxy to enhance security and manage user authentication.
- Tenant Management: Facilitates the organization and management of multiple tenants within Grafana Loki.
- Written in Golang: Leverages the performance and concurrency features of Go for robust and scalable operations.
Floki simplifies the process of managing and authenticating multiple tenants in Grafana Loki, providing a streamlined and secure solution for handling HTTP requests and user authentication.
This project is meant to be used as a golang package and imported into Oauth2 proxy.
import "github.com/rodolfo-mora/floki"Application configuration is donde by providing specific environment variables listed below.
- FLOKI_LOKI_URL: This is usually the load balancer URL that has access to Loki read nodes (default: http://localhost:3100).
- FLOKI_PROXY_PORT: Port used for Floki reverse proxy that will act as Grafana Loki datasource (default: ":8080").
- FLOKI_EXPORTER_PORT: Port used by the proxy Prometheus exporter (default: ":3100")
- FLOKI_TENANTFILE_PATH: Path to YAML tenant that houses AD groups and tenant relationships (default: /opt/floki/tenants.yaml).
- FLOKI_TRACKFILE_PATH: Trackfile is used by the TenantManager and its purpose is to help detect changes in tenant configuration YAML file (default: /opt/floki/track).
Distributed under the MIT License. See LICENSE.txt for more information.
Rodolfo Mora Gonzalez - rodolfo.mora.gonzalez@gmail.com
Project Link: https://github.com/rodolfo-mora/floki
