apisix-ingress-controller
httpbin
apisix-ingress-controller | httpbin | |
---|---|---|
33 | 72 | |
944 | 12,406 | |
0.7% | 0.5% | |
8.7 | 0.0 | |
10 days ago | about 2 months ago | |
Go | Python | |
Apache License 2.0 | ISC License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
apisix-ingress-controller
- Apache APISIX: A dynamic, real-time, high-performance API gateway
-
Implementing the Idempotency-Key specification on Apache APISIX
This post shows how to implement it with Apache APISIX.
-
3 Tips for Deploying APISIX in Kubernetes (Part 1)
APISIX Ingress Controller is a tool focused on API management, offering high performance and flexible configuration options. If you require more complex routing rules, rate limiting, circuit breaking, and other advanced features, APISIX Ingress Controller may be a better choice. It provides a rich plugin system, allowing integration of plugins through APISIX Ingress CRD using declarative configuration to handle authentication, authorization, monitoring, logging, and other functionalities. This enriches the capabilities of APISIX Ingress Controller and simplifies configuration.
-
Hardening Apache APISIX with the OWASP's Coraza and Core Ruleset
In this post, I'd like to describe how to fix some of them via the Apache APISIX API Gateway.
-
Mastering APISIX Health Checks: Active and Passive Monitoring Strategies
In the era of digitization, the availability and stability of services are crucial for the success of enterprises. As a key component of microservices architecture, the API gateway plays a significant role. APISIX, an open-source API gateway platform, ensures the continuity and stability of services through its health check mechanism.
-
2023 in retrospective
Next February will mark the two-year milestone that I'm working for: API7.ai on Apache APISIX. I'm still very pleased about both. It allows me to do things I like a lot, such as writing posts and giving talks.
-
Five Apache projects you probably didn't know about
In early 2021, I started to work on the Apache APISIX project. I have to admit that I had never heard about it before. In this post, I'd like to introduce some Apache projects that are less well-known than HTTPD or Kafka.
-
Apache APISIX plugin priority, a leaky abstraction?
Apache APISIX is an API Gateway, which builds upon the OpenResty reverse-proxy to offer a plugin-based architecture. The main benefit of such an architecture is that it brings structure to the configuration of routes. It's a help at scale, when managing hundreds or thousands of routes.
- Building a starter pack for an API-as-a-Service
-
10 Common API Resilience Design Patterns with API Gateway
API resilience is about building robust APIs that can withstand a variety of challenges, ensuring that they continue to function effectively. API Gateways play a key role in this, acting as the entry point for external requests and managing the communication between different services by taking into account common API resilience patterns. One of the popular open-source API Gateways, Apache APISIX, provides a variety of features to enhance the resilience and robustness of APIs. In this article, we will explore 10 common API resilience design patterns and how they can be implemented using APISIX.
httpbin
-
How to protect API Keys in React projects using Gateweaver
policyDefinitions: cors: origin: "${CLIENT_URL}" endpoints: - path: "/example" target: url: "https://httpbin.org/bearer" request: headers: Authorization: "Bearer ${API_KEY}" policies: - cors
- Bruno
-
Hardening Apache APISIX with the OWASP's Coraza and Core Ruleset
We proceed to define routes to https://httpbin.org/ to test our setup. Let's call the route to /get:
-
looking for resource site for GET-POST practice (html)
https://httpbin.org/ is an excellent tool for learning (and testing) the basics. Take a few minutes to explore the endpoints they provide. You can also use different response codes to test your apps error handling, etc
-
httpbin alternatives - go-httpbin and java-httpbin
3 projects | 12 Nov 2023
-
Crafting a Language Server in Golang: A VSCode LSP for Lama2
export FABI_PROD="http://httpbin.org/" export FABI_LOCAL="http://0.0.0.0:8000/"
-
Edge IoT with Rust on ESP: HTTP Client
use anyhow; use embedded_svc::http::client::Client; use embedded_svc::wifi::{AuthMethod, ClientConfiguration, Configuration}; use esp_idf_hal::peripherals::Peripherals; use esp_idf_svc::eventloop::EspSystemEventLoop; use esp_idf_svc::http::client::{Configuration as HttpConfig, EspHttpConnection}; use esp_idf_svc::nvs::EspDefaultNvsPartition; use esp_idf_svc::wifi::{BlockingWifi, EspWifi}; fn main() -> anyhow::Result<()> { esp_idf_sys::link_patches(); // Configure Wifi let peripherals = Peripherals::take().unwrap(); let sysloop = EspSystemEventLoop::take()?; let nvs = EspDefaultNvsPartition::take()?; let mut wifi = BlockingWifi::wrap( EspWifi::new(peripherals.modem, sysloop.clone(), Some(nvs))?, sysloop, )?; wifi.set_configuration(&Configuration::Client(ClientConfiguration { ssid: "SSID".into(), bssid: None, auth_method: AuthMethod::None, password: "PASSWORD".into(), channel: None, }))?; // Start Wifi wifi.start()?; // Connect Wifi wifi.connect()?; // Wait until the network interface is up wifi.wait_netif_up()?; // Print Out Wifi Connection Configuration while !wifi.is_connected().unwrap() { // Get and print connection configuration let config = wifi.get_configuration().unwrap(); println!("Waiting for station {:?}", config); } println!("Wifi Connected, Intiatlizing HTTP"); // HTTP Configuration // Create HTTPS Connection Handle let httpconnection = EspHttpConnection::new(&HttpConfig { use_global_ca_store: true, crt_bundle_attach: Some(esp_idf_sys::esp_crt_bundle_attach), ..Default::default() })?; // Create HTTPS Client let mut httpclient = Client::wrap(httpconnection); // HTTP Request Submission // Define URL let url = "https://httpbin.org/get"; // Prepare request let request = httpclient.get(url)?; // Log URL and type of request println!("-> GET {}", url); // Submit Request and Store Response let response = request.submit()?; // HTTP Response Processing let status = response.status(); println!("<- {}", status); match response.header("Content-Length") { Some(data) => { println!("Content-Length: {}", data); } None => { println!("No Content-Length Header"); } } match response.header("Date") { Some(data) => { println!("Date: {}", data); } None => { println!("No Date Header"); } } Ok(()) }
-
Down the rabbit hole of an Apache APISIX plugin
has_domain: whether the matched route references an upstream with a domain, e.g., http://httpbin.org, or not, e.g., 192.168.0.1
- Show HN: HTTP Status Code Generator
- Python Software Foundation forks httpbin
What are some alternatives?
ingress-nginx - Ingress-NGINX Controller for Kubernetes
echo-server - An HTTP and WebSocket "echo" server for testing proxies and HTTP clients.
envoy - Cloud-native high-performance edge/middle/service proxy
gabbi - Declarative HTTP Testing for Python and anything else
emissary - open source Kubernetes-native API gateway for microservices built on the Envoy Proxy
novelai-api - Python API for the NovelAI REST API
IngressMonitorController - A Kubernetes controller to watch ingresses and create liveness alerts for your apps/microservices in UptimeRobot, StatusCake, Pingdom, etc. – [✩Star] if you're using it!
azure-docs - Open source documentation of Microsoft Azure
apisix - The Cloud-Native API Gateway
echo-server - An HTTP and WebSocket "echo" server for testing proxies and HTTP clients.
ingress-merge - Merge Ingress Controller for Kubernetes
gunicorn - gunicorn 'Green Unicorn' is a WSGI HTTP Server for UNIX, fast clients and sleepy applications.