-
Notifications
You must be signed in to change notification settings - Fork 5
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
krakend
committed
Oct 4, 2024
1 parent
f9152ec
commit 03e9cf7
Showing
2,541 changed files
with
11,295 additions
and
11,295 deletions.
There are no files selected for viewing
Large diffs are not rendered by default.
Oops, something went wrong.
Large diffs are not rendered by default.
Oops, something went wrong.
Large diffs are not rendered by default.
Oops, something went wrong.
Large diffs are not rendered by default.
Oops, something went wrong.
Large diffs are not rendered by default.
Oops, something went wrong.
Large diffs are not rendered by default.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Large diffs are not rendered by default.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -17,9 +17,9 @@ | |
</a><a href="https://www.youtube.com/watch?v=VtXXZRO84t8" target=_blank class="text--base text-brand-neutral-900"><svg width="24" height="24" class="mr-2.5 inline" viewBox="0 0 24 24"><g fill="none" fill-rule="evenodd"><path d="M0 0h24v24H0z"/><g stroke="#717da3" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5"><path d="M2 12c0 5.523 4.477 10 10 10s10-4.477 10-10A10 10 0 002 12z"/><path d="M9.333 15.213a1.454 1.454.0 002.411 1.095l4.923-4.306-4.923-4.309a1.453 1.453.0 00-2.41 1.095v6.425z"/></g></g></svg> | ||
Watch a demo</a></div></div></div></div></li></ul></div></div><div class="flex justify-end items-stretch"><ul class="hidden lg:flex lg:space-x-6 items-center text-sm font-medium whitespace-nowrap"><li><a class="text-brand-neutral-300 hover:text-brand-neutral-100 transition-colors" href=https://www.krakend.io/download/>Downloads</a></li><li><a class="button--primary h-8 px-2.5 py-0 inline-flex items-center" href=https://www.krakend.io/contact-sales/>Request a Demo</a></li></ul><button class="absolute top-1/2 -translate-y-1/2 flex items-center text-white hover:text-opacity-75 focus:outline-none lg:hidden size-6 rounded-lg navbar-toggler group" type=button aria-label="Toggle navigation"><svg class="absolute top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 inline group-[.active]:opacity-0 transition-opacity" fill="none" width="24" height="24" viewBox="0 0 24 24" stroke="currentcolor"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M4 6h16M4 12h16M4 18h16"/></svg><svg class="absolute top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 opacity-0 group-[.active]:opacity-100 transition-opacity" width="16" height="16"><g fill="none" fill-rule="evenodd"><path d="M0 0h16v16H0z"/><path stroke="currentcolor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="M15.4 1 1 15.4M1 1l14.4 14.4"/></g></svg></button></div></nav></div></header><div class="transition-transform duration-300 ease-in-out fixed inset-0 bg-brand-neutral-900 mobile-nav border-t text-brand-neutral-300 border-brand-neutral-300 lg:hidden overflow-y-auto scrollbar-xs-netrual"><ul class="divide-y divide-brand-neutral-300"><li class=p-4><a class="hover:text-brand-neutral-100 transition-colors text-brand-neutral-300" href=https://www.krakend.io/open-source/>Open Source</a></li><li class=p-4><a class="hover:text-brand-neutral-100 transition-colors text-brand-neutral-300" href=https://www.krakend.io/enterprise/>Enterprise</a></li><li class=p-4><a class="hover:text-brand-neutral-100 transition-colors text-brand-neutral-300" href=https://www.krakend.io/case-study/>Case studies</a></li><li class=p-4><a class="hover:text-brand-neutral-100 transition-colors text-brand-neutral-300" href=https://www.krakend.io/docs/>Docs</a></li><li class=p-4><button data-toggle=collapse data-target=#resource-nav-mobile class="w-full hover:text-brand-neutral-100 transition-colors text-brand-neutral-300 flex justify-between items-center"> | ||
Resources<svg class="h-4 w-4 inline" fill="none" viewBox="0 0 24 24" stroke="currentcolor"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M19 9l-7 7-7-7"/></svg></button><ul class="space-y-2 pt-5 hidden" id=resource-nav-mobile><li><a href=https://training.krakend.io/>Training & Certification | ||
</a></li><li><a href=https://www.krakend.io/support/>Support</a></li><li><a href=https://www.krakend.io/docs/configuration/designer/>Designer</a></li><li><a href=https://www.krakend.io/docs/overview/playground/>Community Playground</a></li><li><a href=https://www.krakend.io/docs/enterprise/overview/playground/>Enterprise Playground</a></li><li><a href=https://www.krakend.io/team/>About us</a></li><li><a href=https://www.krakend.io/partners/>Partners</a></li><li><a href=https://www.krakend.io/blog/>Blog</a></li></ul></li><li class=p-4><a href=https://www.krakend.io/features/>Compare Open Source VS Enterprise</a></li><li class=p-4><a href=https://www.krakend.io/contact-sales/>Contact Sales</a></li><li class=p-4><a href=https://www.krakend.io/download/>Downloads</a></li><li class="p-4 space-y-3"><div><img src=https://www.krakend.io/images/quotes/single.earth/logo_dark.svg alt="Single.Earth image" loading=lazy width=180 height=28></div><div><q class=whitespace-normal> | ||
We have implemented KrakenD and I must say that I am very impressed how easy the installation and configuration process has been. The documentation is one of the best I have ever seen.</q></div><div class="flex gap-3"><div><img src=https://www.krakend.io/images/quotes/single.earth/avatar.jpg alt="Software Architect, Single.Earth" loading=lazy width=44 height=44 class=rounded-full></div><div class=whitespace-normal><p class="text-brand-neutral-500 text--base">Märt Suga</p><p class="text-xs text-brand-neutral-300 font-medium">Software Architect / | ||
Single.Earth</p></div></div></li></ul></div><script>const navbarToggler=document.querySelector(".navbar-toggler");if(navbarToggler){const e=document.querySelector("header"),t=document.querySelector(".mobile-nav");navbarToggler.addEventListener("click",n=>{const{top:s}=e.getBoundingClientRect();document.body.style.setProperty("--header-top",`${e.offsetHeight+s}px`),navbarToggler.classList.toggle("active"),t.classList.toggle("active"),document.body.classList.toggle("overflow-hidden")})}</script><section class=section--md><div class=container--boxed><div class="grid grid-cols-1 md:grid-cols-5 lg:grid-cols-6 xl:grid-cols-7 mx-auto"><div class="print:hidden order-last md:order-first col-span-2"><div class="sticky top-16 rounded-xl bg-brand-blue-900 border border-brand-blue-800 shadow-xxs p-4 md:p-6 lg:px-8 lg:py-7"><div class=mb-8><div class=mb-5><a href=https://www.krakend.io/blog/ class="text-white group hover:text-opacity-75 font-medium text-sm"><svg width="18" height="18" viewBox="0 0 18 18" class="rotate-180 inline relative transition-all left-0 group-hover:-left-1 align-sub"><path d="m6.75 4.5 4.35 4.146a.5.5.0 010 .708L6.75 13.5" stroke="currentcolor" stroke-width="1.5" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"/></svg> | ||
</a></li><li><a href=https://www.krakend.io/support/>Support</a></li><li><a href=https://www.krakend.io/docs/configuration/designer/>Designer</a></li><li><a href=https://www.krakend.io/docs/overview/playground/>Community Playground</a></li><li><a href=https://www.krakend.io/docs/enterprise/overview/playground/>Enterprise Playground</a></li><li><a href=https://www.krakend.io/team/>About us</a></li><li><a href=https://www.krakend.io/partners/>Partners</a></li><li><a href=https://www.krakend.io/blog/>Blog</a></li></ul></li><li class=p-4><a href=https://www.krakend.io/features/>Compare Open Source VS Enterprise</a></li><li class=p-4><a href=https://www.krakend.io/contact-sales/>Contact Sales</a></li><li class=p-4><a href=https://www.krakend.io/download/>Downloads</a></li><li class="p-4 space-y-3"><div><img src=https://www.krakend.io/images/quotes/ibm/logo_dark.svg alt="IBM image" loading=lazy width=180 height=28></div><div><q class=whitespace-normal> | ||
I've chosen KrakenD because of its simplicity, statelessness, immutability, and performance.</q></div><div class="flex gap-3"><div><img src=https://www.krakend.io/images/quotes/ibm/avatar.jpg alt="Tech Lead Cloud Infrastructure, IBM" loading=lazy width=44 height=44 class=rounded-full></div><div class=whitespace-normal><p class="text-brand-neutral-500 text--base">Fabijan Bajo</p><p class="text-xs text-brand-neutral-300 font-medium">Tech Lead Cloud Infrastructure / | ||
IBM</p></div></div></li></ul></div><script>const navbarToggler=document.querySelector(".navbar-toggler");if(navbarToggler){const e=document.querySelector("header"),t=document.querySelector(".mobile-nav");navbarToggler.addEventListener("click",n=>{const{top:s}=e.getBoundingClientRect();document.body.style.setProperty("--header-top",`${e.offsetHeight+s}px`),navbarToggler.classList.toggle("active"),t.classList.toggle("active"),document.body.classList.toggle("overflow-hidden")})}</script><section class=section--md><div class=container--boxed><div class="grid grid-cols-1 md:grid-cols-5 lg:grid-cols-6 xl:grid-cols-7 mx-auto"><div class="print:hidden order-last md:order-first col-span-2"><div class="sticky top-16 rounded-xl bg-brand-blue-900 border border-brand-blue-800 shadow-xxs p-4 md:p-6 lg:px-8 lg:py-7"><div class=mb-8><div class=mb-5><a href=https://www.krakend.io/blog/ class="text-white group hover:text-opacity-75 font-medium text-sm"><svg width="18" height="18" viewBox="0 0 18 18" class="rotate-180 inline relative transition-all left-0 group-hover:-left-1 align-sub"><path d="m6.75 4.5 4.35 4.146a.5.5.0 010 .708L6.75 13.5" stroke="currentcolor" stroke-width="1.5" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"/></svg> | ||
Return to blog's homepage</a></div><h2 class="text--lg text-white mb-5">Blog categories</h2><ul class="space-y-1.5 pl-3 featured-blogs"><li><a class="text-sm nav-link text-brand-neutral-300 hover:text-opacity-80" href=https://www.krakend.io/blog/>All categories</a></li></li><li><a href=https://www.krakend.io/categories/product-updates/ class="text-sm text-brand-neutral-300 hover:text-opacity-80">Product Updates (50)</a></li><li><a href=https://www.krakend.io/categories/technical-insights--best-practices/ class="text-sm text-brand-neutral-300 hover:text-opacity-80">Technical Insights & Best Practices (27)</a></li><li><a href=https://www.krakend.io/categories/security/ class="text-sm text-brand-neutral-300 hover:text-opacity-80">Security (25)</a></li><li><a href=https://www.krakend.io/categories/company-announcements/ class="text-sm text-brand-neutral-300 hover:text-opacity-80">Company Announcements (15)</a></li><li><a href=https://www.krakend.io/categories/tutorials--how-tos/ class="text-sm text-brand-neutral-300 hover:text-opacity-80">Tutorials & How-Tos (10)</a></li></ul></div><div><h2 class="text--lg text-white mb-5">Recent entries</h2><ul class="space-y-3 text--sm"><li class=nav-item><a class="nav-link text-brand-neutral-300 hover:text-opacity-80 font-normal" href=https://www.krakend.io/blog/new-look-same-vision/>New Look, Same Vision: KrakenD’s Website Redesign</a></li><li class=nav-item><a class="nav-link text-brand-neutral-300 hover:text-opacity-80 font-normal" href=https://www.krakend.io/blog/effective-rate-limiting-traffic-management/>Why Rate Limiting Matters for Your API’s Health and Security</a></li><li class=nav-item><a class="nav-link text-brand-neutral-300 hover:text-opacity-80 font-normal" href=https://www.krakend.io/blog/krakend-partners-with-massil-technologies/>KrakenD Partners with Massil Technologies for India and Middle East</a></li><li class=nav-item><a class="nav-link text-brand-neutral-300 hover:text-opacity-80 font-normal" href=https://www.krakend.io/blog/microservices-authorization-secure-access/>Mastering Microservices Authorization: Strategies for Secure Access Control</a></li><li class=nav-item><a class="nav-link text-brand-neutral-300 hover:text-opacity-80 font-normal" href=https://www.krakend.io/blog/krakend-2.7.1-ce-ee-release-notes/>Releases of KrakenD EE 2.7.1 and KrakenD CE 2.7.1 with minor fixes</a></li></ul></div></div></div><div class="col-span-3 lg:col-span-4 xl:col-span-5 max-w-full text-lg"><section class="md:pl-5 lg:pl-8 xl:pl-14 mb-10 md:mb-0"><article><div class="flex flex-wrap gap-y-3 items-center mb-4 space-x-2.5"><a href=https://www.krakend.io/categories/technical-insights--best-practices/ title="More posts about Technical Insights & Best Practices" class="pillbox relative z-2">Technical Insights & Best Practices</a> | ||
<time class="text-xs leading-loose uppercase text-white font-semibold shrink-0">Nov 6, 2017</time><div class="text-xs flex gap-1.5 items-center text-white font-medium"><svg class="size-4 inline" fill="none" viewBox="0 0 24 24" stroke="currentcolor"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M12 8v4l3 3m6-3A9 9 0 113 12a9 9 0 0118 0z"/></svg><p>6 min read</p></div></div><header><h1 class="text-white heading--h2 lg:text-4.25xl lg:leading-[3rem]">Automating Linux Packaging for KrakenD API Gateway</h1></header><div class="mt-4 flex items-center prose dark:prose-invert"><p class=text--sm>by <span class=text-white>taik0</span></p></div><div class="mt-8 prose dark:prose-invert" style=max-width:790px><div class="rounded-xl overflow-hidden"><img src=https://www.krakend.io/images/blog/packed-parcel-deb.jpg alt="post image" loading=lazy width=639 height=297 class="post-image img-fluid"></div><p>Everyone loves reaching the maximum number of available platforms for their software but this usually comes at a cost. In this article we will explain how we generated our packaging for Linux in an automated fashion, being faithful to our DevOps dogma.</p><h2 id=dockerize-all-the-things>Dockerize all the things!</h2><p>Our dev team uses both Linux and MacOS X in desktop machines and KrakenD has been running and behaving in the same way in all the platforms because from day one we decided to run everything on Docker. We use containers for all the software we produce and this is still true for the rest of our tooling (as what we are going to show today).</p><p>When it comes to generating RPM or DEB packages, choosing Docker ensures that anyone building or compiling a package will generate a consistent output.</p><p>Having Docker as the platform to work on, let’s see how to build the packages.</p><h2 id=building-packages-the-easy-way-using-fpm>Building packages the easy way using FPM</h2><p>For those who don’t know <code>fpm</code>, this is the key piece for the package generation. According to <a href=https://github.com/jordansissel/fpm>their own intro</a>:</p><blockquote><p>The goal of fpm is to make it easy and quick to build packages</p></blockquote><p><code>fpm</code> is a tool written in <code>Ruby</code> that allows you to create packages for multiple platforms in a very easy way. Examples of the packages you can create are <code>deb</code>, <code>rpm</code>, <code>tar</code> and even Mac OS X .pkg, solaris, freebsd or pacman (ArchLinux).</p><p>Let’s get started by creating the <code>fpm</code> builder with a <code>Dockerfile</code> to generate the versions <code>deb</code> and <code>rpm</code>, the ones we were most interested in.</p><p><strong>The <code>Dockerfile</code> for Debian/Ubuntu</strong>:</p><pre tabindex=0><code>FROM ubuntu:16.04 | ||
LABEL maintainer="[email protected]" | ||
|
Oops, something went wrong.