Skip to content

rodolfo-mora/floki

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

43 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Issues MIT License LinkedIn


Floki (Fake-Loki)

Floki http reverse proxy.

Table of Contents
  1. About The Project
  2. Getting Started
  3. Usage
  4. Roadmap
  5. Contributing
  6. License
  7. Contact
  8. Acknowledgments

About The Project

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.

Key Features

  • 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.

Purpose

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.

floki

(back to top)

Built With

Golang

(back to top)

Getting Started

This project is meant to be used as a golang package and imported into Oauth2 proxy.

import "github.com/rodolfo-mora/floki"

(back to top)

Usage

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).

(back to top)

(back to top)

License

Distributed under the MIT License. See LICENSE.txt for more information.

(back to top)

Contact

Rodolfo Mora Gonzalez - rodolfo.mora.gonzalez@gmail.com

Project Link: https://github.com/rodolfo-mora/floki

(back to top)

About

Fake loki proxy server.

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages