kratgo

Simple, lightweight and ultra-fast HTTP Cache to speed up your websites

Github星跟蹤圖

Kratgo

Build Status
Go Report Card
GitHub release
Docker

Simple, lightweight and ultra-fast HTTP Cache to speed up your websites.

Requirements

  • Go >= 1.11.X
  • make
  • git

Features:

  • Cache proxy.
  • Load balancing beetwen backends.
  • Cache invalidation via API (Admin).
  • Configuration to non-cache certain requests.
  • Configuration to set or unset headers on especific requests.

General

To known if request pass across Kratgo Cache in backend servers, check the request header X-Kratgo-Cache with value true.

Install

Clone the repository:

git clone https://github.com/savsgio/kratgo.git && cd kratgo

and execute:

make
make install

The binary file will install in /usr/local/bin/kratgo and configuration file in /etc/kratgo/kratgo.conf.yml

Cache invalidation (Admin)

The cache invalidation is available via API. The API's address is configured in admin section of the configuration file.

This API only accepts POST requests with json, under the path /invalidate/.

Ex: http://localhost:6082/invalidate/

The complete json body must be as following example:

{
	"host": "www.example.com",
	"path": "/es/",
	"header": {
		"key": "Content-Type",
		"value": "text/plain; charset=utf-8"
	}
}

IMPORTANT: All fields are optional, but at least you must specify one.

All invalidations will process by workers in Kratgo. You can configure the maximum available workers in the configuration.

The workers are activated only when necessary.

Docker

The docker image is available in Docker Hub: savsgio/kratgo

Get a basic configuration from here and customize it.

Run with:

docker run --rm --name kratgo -it -v <VOLUME WITH CONFIG> -p 6081:6081 -p 6082:6082 savsgio/kratgo -config <CONFIG FILE PATH IN THE VOLUME>

Developers

Copy configuration file ./config/kratgo.conf.yml to ./config/kratgo-dev.conf.yml, and customize it.

Run with:

make run

Contributing

Feel free to contribute it or fork me... :wink:

主要指標

概覽
名稱與所有者savsgio/kratgo
主編程語言Go
編程語言Dockerfile (語言數: 4)
平台
許可證GNU General Public License v3.0
所有者活动
創建於2019-02-04 11:30:28
推送於2023-03-17 16:08:26
最后一次提交2023-03-17 17:05:52
發布數13
最新版本名稱v1.2.0 (發布於 )
第一版名稱v1.0.0 (發布於 )
用户参与
星數65
關注者數5
派生數8
提交數142
已啟用問題?
問題數0
打開的問題數0
拉請求數3
打開的拉請求數0
關閉的拉請求數0
项目设置
已啟用Wiki?
已存檔?
是復刻?
已鎖定?
是鏡像?
是私有?