mastodon.xyz is one of the many independent Mastodon servers you can use to participate in the fediverse.
A Mastodon instance, open to everyone, but mainly English and French speaking.

Administered by:

Server stats:

745
active users

#apacheapisix

0 posts0 participants0 posts today
Nicolas Fränkel 🇺🇦🇬🇪<p><a href="https://mastodon.top/tags/DRY" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>DRY</span></a> is an important principle in software development. This post will show you how to apply it to <a href="https://mastodon.top/tags/ApacheAPISIX" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>ApacheAPISIX</span></a> configuration.</p><p><a href="https://blog.frankel.ch/dry-apisix-config/" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">blog.frankel.ch/dry-apisix-con</span><span class="invisible">fig/</span></a></p>
Nicolas Fränkel 🇺🇦🇬🇪<p>When I introduce <a href="https://mastodon.top/tags/ApacheAPISIX" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>ApacheAPISIX</span></a> in my talks, I mention the massive number of existing plugins, and that each of them implements a specific feature. One of the key features of Apache APISIX is its flexibility. If a feature is missing, you can create your own <a href="https://mastodon.top/tags/plugin" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>plugin</span></a>, showcasing the platform’s adaptability to your specific needs. In this post, I aim to provide practical alternatives to writing a custom plugin, offering solutions you can quickly implement in your projects.</p><p><a href="https://blog.frankel.ch/when-write-apisix-plugin/" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">blog.frankel.ch/when-write-api</span><span class="invisible">six-plugin/</span></a></p>
Nicolas Fränkel 🇺🇦🇬🇪<p>Lots of service providers offer a <a href="https://mastodon.top/tags/freetier" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>freetier</span></a> of their service. The idea is to let you kick their service’s tires freely. If you need to go above the free tier at any point, you’ll likely stay on the service and pay. In this day and age, most services are online and accessible via an <a href="https://mastodon.top/tags/API" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>API</span></a>. Today, we will implement a free tier with <a href="https://mastodon.top/tags/ApacheAPISIX" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>ApacheAPISIX</span></a>.</p><p><a href="https://blog.frankel.ch/free-tier-api-apisix/" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">blog.frankel.ch/free-tier-api-</span><span class="invisible">apisix/</span></a></p>
Nicolas Fränkel 🇺🇦🇬🇪<p><a href="https://mastodon.top/tags/RateLimiting" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>RateLimiting</span></a> is an age-old <a href="https://mastodon.top/tags/ReverseProxy" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>ReverseProxy</span></a> feature focused on protecting against DDoS attacks. It treats all clients the same and is purely technical. In this day and age, most <a href="https://mastodon.top/tags/API" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>API</span></a> providers offer different subscription tiers; the higher the tier, the higher the rate limit, and the more you pay incidentally. It’s not technical anymore and requires to differentiate between clients.</p><p>In this post, I want to detail how to do it with <a href="https://mastodon.top/tags/ApacheAPISIX" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>ApacheAPISIX</span></a>.</p><p><a href="https://blog.frankel.ch/different-rate-limits-apisix/" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">blog.frankel.ch/different-rate</span><span class="invisible">-limits-apisix/</span></a></p>
Nicolas Fränkel 🇺🇦🇬🇪<p>Today, I wrote on how to combine <a href="https://mastodon.top/tags/PostgreSQL" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>PostgreSQL</span></a> , <a href="https://mastodon.top/tags/PostgREST" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>PostgREST</span></a> and <a href="https://mastodon.top/tags/ApacheAPISIX" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>ApacheAPISIX</span></a> to expose a developer-friendly <a href="https://mastodon.top/tags/RESTAPI" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>RESTAPI</span></a>.</p><p><a href="https://blog.frankel.ch/advanced-url-rewrite-apisix/" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">blog.frankel.ch/advanced-url-r</span><span class="invisible">ewrite-apisix/</span></a></p>
Nicolas Fränkel 🇺🇦🇬🇪<p>Last week, I described how to add a dynamic <a href="https://mastodon.top/tags/watermark" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>watermark</span></a> to your images on the JVM. Another alternative is to use ready-made components, namely <a href="https://mastodon.top/tags/imgproxy" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>imgproxy</span></a> and <a href="https://mastodon.top/tags/ApacheAPISIX" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>ApacheAPISIX</span></a> I already combined them to resize images on-the-fly.</p><p>Here's how to achieve it:</p><p><a href="https://blog.frankel.ch/dynamic-watermarking/2/" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">blog.frankel.ch/dynamic-waterm</span><span class="invisible">arking/2/</span></a></p>
Nicolas Fränkel 🇺🇦🇬🇪<p>Nearly at the end of my two weeks marathon across Europe. This week was <span class="h-card" translate="no"><a href="https://floss.social/@berlinbuzzwords" class="u-url mention" rel="nofollow noopener noreferrer" target="_blank">@<span>berlinbuzzwords</span></a></span>, DevConf CZ, and JavaDay Lviv 🇺🇦</p><p>I came late at night and today, I’ll go to Lyon for Tech and Wine and conduct an <a href="https://mastodon.top/tags/ApacheAPISIX" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>ApacheAPISIX</span></a> workshop 🔨</p>
Nicolas Fränkel 🇺🇦🇬🇪<p>Recently, I had to use <a href="https://mastodon.top/tags/GitHubPages" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>GitHubPages</span></a> to publish my <a href="https://mastodon.top/tags/ApacheAPISIX" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>ApacheAPISIX</span></a> workshop. Travis is no longer free. <a href="https://mastodon.top/tags/GitHubActions" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>GitHubActions</span></a> are a thing. I used the now nominal path and faced a few hurdles; here are my findings.</p><p><a href="https://blog.frankel.ch/refresher-github-pages/" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">blog.frankel.ch/refresher-gith</span><span class="invisible">ub-pages/</span></a></p>
Michal Špondr<p><span class="h-card" translate="no"><a href="https://mastodon.top/@frankel" class="u-url mention" rel="nofollow noopener noreferrer" target="_blank">@<span>frankel</span></a></span> can lecture about <a href="https://spondr.cz/tags/ApacheAPISIX" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>ApacheAPISIX</span></a> in a fun way. Something like this will definitely come in handy in our project, so I know where to look.<br><a href="https://spondr.cz/tags/devconf_cz" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>devconf_cz</span></a></p>
Nicolas Fränkel 🇺🇦🇬🇪<p>I continue to work on my <a href="https://mastodon.top/tags/OpenTelemetry" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>OpenTelemetry</span></a> demo. Its main idea is to showcase traces across various technology stacks, including <a href="https://mastodon.top/tags/asynchronous" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>asynchronous</span></a> communication via an <a href="https://mastodon.top/tags/MQTT" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>MQTT</span></a> queue. This week, I added a couple of components and changed the <a href="https://mastodon.top/tags/architecture" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>architecture</span></a>. Here are some noteworthy learnings; note that some of them might not be entirely connected to <span class="h-card" translate="no"><a href="https://fosstodon.org/@opentelemetry" class="u-url mention" rel="nofollow noopener noreferrer" target="_blank">@<span>opentelemetry</span></a></span><br> <br><a href="https://blog.frankel.ch/even-more-opentelemetry/" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">blog.frankel.ch/even-more-open</span><span class="invisible">telemetry/</span></a></p><p><a href="https://mastodon.top/tags/Observability" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>Observability</span></a> <a href="https://mastodon.top/tags/DistributedTracing" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>DistributedTracing</span></a> <a href="https://mastodon.top/tags/ApacheAPISIX" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>ApacheAPISIX</span></a> <span class="h-card" translate="no"><a href="https://mastodon.online/@graalvm" class="u-url mention" rel="nofollow noopener noreferrer" target="_blank">@<span>graalvm</span></a></span> <a href="https://mastodon.top/tags/Golang" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>Golang</span></a> <a href="https://mastodon.top/tags/Ruby" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>Ruby</span></a></p>
Foojay.io<p>In this :foojay: post, <span class="h-card" translate="no"><a href="https://mastodon.top/@frankel" class="u-url mention" rel="nofollow noopener noreferrer" target="_blank">@<span>frankel</span></a></span> lists five alternatives to pass parameters server-side and explains how to access them on <a href="https://foojay.social/tags/apacheapisix" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>apacheapisix</span></a> </p><p><a href="https://foojay.io/today/five-ways-to-pass-parameters-to-apache-apisix" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">foojay.io/today/five-ways-to-p</span><span class="invisible">ass-parameters-to-apache-apisix</span></a> </p><p><a href="https://foojay.social/tags/foojaytip" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>foojaytip</span></a></p>
Nicolas Fränkel 🇺🇦🇬🇪<p>I recently read a post on "6 Ways To Pass Parameters to <a href="https://mastodon.top/tags/Spring" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>Spring</span></a> <a href="https://mastodon.top/tags/REST" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>REST</span></a> API". Though the title is a bit misleading, as it’s unrelated to REST, it does an excellent job listing all ways to send parameters to a Spring application. I want to do the same for <a href="https://mastodon.top/tags/ApacheAPISIX" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>ApacheAPISIX</span></a>; it’s beneficial when you write a custom plugin.</p><p><a href="https://blog.frankel.ch/pass-parameters-apisix/" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">blog.frankel.ch/pass-parameter</span><span class="invisible">s-apisix/</span></a></p>
Nicolas Fränkel 🇺🇦🇬🇪<p>Last week, I wrote an analysis of the <a href="https://mastodon.top/tags/ITEF" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>ITEF</span></a> <a href="https://mastodon.top/tags/Idempotency" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>Idempotency</span></a>-Key specification. The specification aims to avoid duplicated requests. In short, the idea is for the client to send a unique key along with the request:</p><p>* If the server doesn’t know the key, it proceeds as usual and then stores the respons</p><p>* If the server knows the key, it short-circuits any further processing and immediately returns the stored response</p><p>This post shows how to implement it with <a href="https://mastodon.top/tags/ApacheAPISIX" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>ApacheAPISIX</span></a>.</p><p><a href="https://blog.frankel.ch/implement-idempotency-key-apisix/" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">blog.frankel.ch/implement-idem</span><span class="invisible">potency-key-apisix/</span></a></p>
Nicolas Fränkel 🇺🇦🇬🇪<p><span class="h-card" translate="no"><a href="https://mastodon.social/@ondrejkolin" class="u-url mention" rel="nofollow noopener noreferrer" target="_blank">@<span>ondrejkolin</span></a></span> indeed, but mine is <a href="https://mastodon.top/tags/ApacheAPISIX" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>ApacheAPISIX</span></a> and is truly <a href="https://mastodon.top/tags/OpenSource" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>OpenSource</span></a> 😉</p>
Nicolas Fränkel 🇺🇦🇬🇪<p>Back home after my talk <a href="https://mastodon.top/tags/cern" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>cern</span></a>. Around 40 people came and listened how to evolve your APIs with <a href="https://mastodon.top/tags/ApacheAPISIX" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>ApacheAPISIX</span></a>.</p><p>Then I had a private tour of the computing center and the Antiproton Accelerator 🔬</p><p>Not bad for a Thursday 😊</p>
Foojay.io<p>How do you secure your API? Check it out, two great <a href="https://foojay.social/tags/ApacheAPISIX" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>ApacheAPISIX</span></a> solution related articles by <span class="h-card" translate="no"><a href="https://mastodon.top/@frankel" class="u-url mention" rel="nofollow noopener noreferrer" target="_blank">@<span>frankel</span></a></span> ! </p><p><a href="https://foojay.io/today/secure-your-api-with-these-16-practices-with-apache-apisix-part-1/" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">foojay.io/today/secure-your-ap</span><span class="invisible">i-with-these-16-practices-with-apache-apisix-part-1/</span></a> </p><p><a href="https://foojay.io/today/secure-your-api-with-these-16-practices-with-apache-apisix-part-2" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">foojay.io/today/secure-your-ap</span><span class="invisible">i-with-these-16-practices-with-apache-apisix-part-2</span></a> </p><p><a href="https://foojay.social/tags/foojaytip" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>foojaytip</span></a></p>
Nicolas Fränkel 🇺🇦🇬🇪<p>Last week, we listed 16 practices to help secure one’s APIs and described how to implement 7 of them with <a href="https://mastodon.top/tags/ApacheAPISIX" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>ApacheAPISIX</span></a>.</p><p>This week, we will look at the remaining practices.</p><p><a href="https://blog.frankel.ch/secure-api-practices-apisix/2/" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">blog.frankel.ch/secure-api-pra</span><span class="invisible">ctices-apisix/2/</span></a></p><p><a href="https://mastodon.top/tags/API" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>API</span></a> <a href="https://mastodon.top/tags/security" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>security</span></a></p>
Foojay.io<p><a href="https://foojay.social/tags/owasp" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>owasp</span></a> regularly publishes a Top 10 Vulnerability Report, targeting vulnerabilities in web applications. On Foojay :foojay:, <span class="h-card" translate="no"><a href="https://mastodon.top/@frankel" class="u-url mention" rel="nofollow noopener noreferrer" target="_blank">@<span>frankel</span></a></span> describes how to fix some of them via the <a href="https://foojay.social/tags/ApacheAPISIX" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>ApacheAPISIX</span></a> Gateway! </p><p><a href="https://foojay.io/today/hardening-apache-apisix-with-the-owasps-coraza-and-core-ruleset" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">foojay.io/today/hardening-apac</span><span class="invisible">he-apisix-with-the-owasps-coraza-and-core-ruleset</span></a> </p><p><a href="https://foojay.social/tags/foojaytip" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>foojaytip</span></a></p>
Nicolas Fränkel 🇺🇦🇬🇪<p>I lastly stumbled upon a list of 16 practices to secure your <a href="https://mastodon.top/tags/APIs" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>APIs</span></a>. In this two-post series, I’d like to describe how we can implement each item with <a href="https://mastodon.top/tags/ApacheAPISIX" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>ApacheAPISIX</span></a> (or not).</p><p><a href="https://blog.frankel.ch/secure-api-practices-apisix/1/" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">blog.frankel.ch/secure-api-pra</span><span class="invisible">ctices-apisix/1/</span></a></p><p><a href="https://mastodon.top/tags/Security" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>Security</span></a> <a href="https://mastodon.top/tags/APISecurity" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>APISecurity</span></a></p>
Nicolas Fränkel 🇺🇦🇬🇪<p>Hardening <a href="https://mastodon.top/tags/ApacheAPISIX" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>ApacheAPISIX</span></a> with the <span class="h-card" translate="no"><a href="https://infosec.exchange/@owasp" class="u-url mention" rel="nofollow noopener noreferrer" target="_blank">@<span>owasp</span></a></span>'s <a href="https://mastodon.top/tags/Coraza" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>Coraza</span></a> and Core Ruleset</p><p><a href="https://blog.frankel.ch/apisix-owasp-coraza-core-ruleset/" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">blog.frankel.ch/apisix-owasp-c</span><span class="invisible">oraza-core-ruleset/</span></a></p>