OpenResty on NixOS for an API Gateway

This page summarizes the projects mentioned and recommended in the original post on dev.to

InfluxDB - Purpose built for real-time analytics at any scale.
InfluxDB Platform is powered by columnar analytics, optimized for cost-efficient storage, and built with open data standards.
www.influxdata.com
featured
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured
  • lua

    The Lua repo, as seen by the Lua team. Mirrored irregularly. Please DO NOT send pull requests. Send any issue to the Lua mailing list https://www.lua.org/lua-l.html (by ahgamut)

    Two of the fairly popular open-source API gateways, Kong and Apache APISIX, are based on OpenResty that is mainly powered by Nginx and Lua. NixOS has first-class support for OpenResty. So, naturally, I decided to give it a try. The result was promising enough for us to start migrating our current APISIX deployments to OpenResty on NixOS.

  • InfluxDB

    Purpose built for real-time analytics at any scale. InfluxDB Platform is powered by columnar analytics, optimized for cost-efficient storage, and built with open data standards.

    InfluxDB logo
  • openresty

    High Performance Web Platform Based on Nginx and LuaJIT

    Two of the fairly popular open-source API gateways, Kong and Apache APISIX, are based on OpenResty that is mainly powered by Nginx and Lua. NixOS has first-class support for OpenResty. So, naturally, I decided to give it a try. The result was promising enough for us to start migrating our current APISIX deployments to OpenResty on NixOS.

  • nix

    Nix, the purely functional package manager

    Are you using an API gateway? Do you really need one? If you are using NixOS and feel comfortable with some Lua, you may want to consider OpenResty on NixOS as an API gateway.

  • Nginx

    The official NGINX Open Source repository.

    Two of the fairly popular open-source API gateways, Kong and Apache APISIX, are based on OpenResty that is mainly powered by Nginx and Lua. NixOS has first-class support for OpenResty. So, naturally, I decided to give it a try. The result was promising enough for us to start migrating our current APISIX deployments to OpenResty on NixOS.

  • httpbin

    HTTP Request & Response Service, written in Python + Flask.

    ## file: ./configuration.nix { pkgs, ... }: let thisVersion = "0.0.1"; in { boot.loader.systemd-boot.enable = true; boot.loader.efi.canTouchEfiVariables = true; networking.firewall.allowedTCPPorts = [ 22 80 ]; users.users.root = { initialPassword = "hebele-hubele"; openssh.authorizedKeys.keys = [ "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJIQtEmoHu44pUDwX5GEw20JLmfZaI+xVXin74GI396z" "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILdd2ubdTn5LPsN0zaxylrpkQTW+1Vr/uWQaEQXoGkd3" ]; }; services.openssh.enable = true; services.nginx = { enable = true; package = pkgs.openresty; virtualHosts."localhost" = { default = true; locations."/" = { return = "200 'Hello World!'"; }; locations."/version" = { extraConfig = '' default_type application/json; content_by_lua_block { ngx.say("{\"version\":\"${thisVersion}\"}") } ''; }; locations."/proxy" = { proxyPass = "http://httpbin.org/"; }; locations."/proxy/rewrite" = { proxyPass = "http://httpbin.org/"; extraConfig = '' header_filter_by_lua_block { if ngx.req.get_method() == "POST" and ngx.status == 200 then ngx.status = 201 end } ''; }; }; }; system.stateVersion = "24.05"; }

  • apisix-ingress-controller

    APISIX Ingress Controller for Kubernetes

    We have been using Apache APISIX for a while now. It is a high-performance, cloud-native API gateway solution. It also has a nice dashboard for managing APIs. However, I have been looking for a simpler and more portable solution for our use case. In particular, I want to be able manage the API gateway as a NixOS service so that the configuration can be tested and redeployed easily.

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts

  • Differentiating rate limits in Apache APISIX

    2 projects | dev.to | 25 Jul 2024
  • I am building my first microservice project, what API Gateway do y'all use? or how do you implement an API Gateway?

    1 project | /r/django | 6 Mar 2023
  • Expose APIs from Apache APISIX to the Power Platform

    2 projects | dev.to | 2 Mar 2023
  • Apache APISIX Serverless Plugin for Event Hooks

    6 projects | dev.to | 21 Feb 2023
  • Cloud migration strategies with API Gateway

    1 project | dev.to | 30 Jan 2023

Did you konow that C is
the 7th most popular programming language
based on number of metions?