<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>open-source on Qerogram의 IT 삽질기 | Qerogram's IT Journal</title><link>https://qerogram.github.io/tags/open-source/</link><description>Recent content in open-source on Qerogram의 IT 삽질기 | Qerogram's IT Journal</description><generator>Hugo</generator><language>ko-kr</language><lastBuildDate>Sun, 09 Aug 2026 12:00:00 +0900</lastBuildDate><atom:link href="https://qerogram.github.io/tags/open-source/index.xml" rel="self" type="application/rss+xml"/><item><title>[EN] Contributing to Envoy Proxy #6: Issue Analysis — Where do we add bitfield_ro?</title><link>https://qerogram.github.io/posts/envoy_series/week_6en/</link><pubDate>Sun, 09 Aug 2026 12:00:00 +0900</pubDate><guid>https://qerogram.github.io/posts/envoy_series/week_6en/</guid><description>&lt;div class="custom-series-banner"&gt;
&lt;div class="series-box"&gt;
&lt;span class="series-icon"&gt;📚&lt;/span&gt;
&lt;div&gt;
&lt;strong&gt;This post is part of the &lt;em&gt;Contribution envoy&lt;/em&gt; series&lt;/strong&gt;
&lt;span class="series-part"&gt;(Part 7)&lt;/span&gt;
&lt;/div&gt;
&lt;a href="https://qerogram.github.io/series/contribution_envoy/" class="series-link"&gt;
View full series →
&lt;/a&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;style&gt;
.custom-series-banner {
margin: 2rem 0 2.5rem;
}
.series-box {
background: #1e2937;
border: 1px solid #334155;
border-radius: 12px;
padding: 1.25rem 1.5rem;
display: flex;
align-items: center;
gap: 12px;
color: #e2e8f0;
font-size: 1rem;
}
.series-icon {
font-size: 1.5rem;
}
.series-part {
font-size: 0.9rem;
color: #94a3b8;
margin-left: 4px;
}
.series-link {
margin-left: auto;
color: #60a5fa;
font-weight: 500;
text-decoration: none;
}
.series-link:hover {
text-decoration: underline;
color: #93c5fd;
}
&lt;/style&gt;
&lt;h1 id="background"&gt;Background&lt;/h1&gt;
&lt;p&gt;In the &lt;a href="https://qerogram.github.io/posts/envoy_series/week_5en/"&gt;previous post (#5: Custom Envoy Proxy Deployment)&lt;/a&gt;, I deployed a self-built Envoy into a Minikube cluster and compared the responses from accessing Redis directly versus going through the Envoy proxy. We confirmed that the &lt;code&gt;bitfield_ro&lt;/code&gt; command is rejected as an &lt;strong&gt;unknown command&lt;/strong&gt; by the proxy.&lt;/p&gt;</description></item><item><title>[KR] Envoy Proxy 기여 여정 #6: 이슈 분석 - bitfield_ro는 어디에 추가하는가</title><link>https://qerogram.github.io/posts/envoy_series/week_6/</link><pubDate>Sun, 09 Aug 2026 12:00:00 +0900</pubDate><guid>https://qerogram.github.io/posts/envoy_series/week_6/</guid><description>&lt;div class="custom-series-banner"&gt;
&lt;div class="series-box"&gt;
&lt;span class="series-icon"&gt;📚&lt;/span&gt;
&lt;div&gt;
&lt;strong&gt;This post is part of the &lt;em&gt;Contribution envoy&lt;/em&gt; series&lt;/strong&gt;
&lt;span class="series-part"&gt;(Part 7)&lt;/span&gt;
&lt;/div&gt;
&lt;a href="https://qerogram.github.io/series/contribution_envoy/" class="series-link"&gt;
View full series →
&lt;/a&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;style&gt;
.custom-series-banner {
margin: 2rem 0 2.5rem;
}
.series-box {
background: #1e2937;
border: 1px solid #334155;
border-radius: 12px;
padding: 1.25rem 1.5rem;
display: flex;
align-items: center;
gap: 12px;
color: #e2e8f0;
font-size: 1rem;
}
.series-icon {
font-size: 1.5rem;
}
.series-part {
font-size: 0.9rem;
color: #94a3b8;
margin-left: 4px;
}
.series-link {
margin-left: auto;
color: #60a5fa;
font-weight: 500;
text-decoration: none;
}
.series-link:hover {
text-decoration: underline;
color: #93c5fd;
}
&lt;/style&gt;
&lt;h1 id="주제-및-배경"&gt;주제 및 배경&lt;/h1&gt;
&lt;p&gt;지난 회차(&lt;a href="https://qerogram.github.io/posts/envoy_series/week_5/"&gt;#5: Custom Envoy Proxy Deployment&lt;/a&gt;)에서는 직접 빌드한 Envoy를 Minikube 클러스터에 배포하고, Redis에 직접 붙었을 때와 Envoy를 경유했을 때의 응답 차이를 비교해 &lt;code&gt;bitfield_ro&lt;/code&gt; 명령어가 프록시에서 &lt;strong&gt;unknown command&lt;/strong&gt;로 떨어지는 것을 확인했다.&lt;/p&gt;</description></item><item><title>[EN] Contributing to Envoy Proxy #5: Custom Envoy Proxy Deployment</title><link>https://qerogram.github.io/posts/envoy_series/week_5en/</link><pubDate>Sun, 26 Jul 2026 12:00:00 +0900</pubDate><guid>https://qerogram.github.io/posts/envoy_series/week_5en/</guid><description>&lt;div class="custom-series-banner"&gt;
&lt;div class="series-box"&gt;
&lt;span class="series-icon"&gt;📚&lt;/span&gt;
&lt;div&gt;
&lt;strong&gt;This post is part of the &lt;em&gt;Contribution envoy&lt;/em&gt; series&lt;/strong&gt;
&lt;span class="series-part"&gt;(Part 6)&lt;/span&gt;
&lt;/div&gt;
&lt;a href="https://qerogram.github.io/series/contribution_envoy/" class="series-link"&gt;
View full series →
&lt;/a&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;style&gt;
.custom-series-banner {
margin: 2rem 0 2.5rem;
}
.series-box {
background: #1e2937;
border: 1px solid #334155;
border-radius: 12px;
padding: 1.25rem 1.5rem;
display: flex;
align-items: center;
gap: 12px;
color: #e2e8f0;
font-size: 1rem;
}
.series-icon {
font-size: 1.5rem;
}
.series-part {
font-size: 0.9rem;
color: #94a3b8;
margin-left: 4px;
}
.series-link {
margin-left: auto;
color: #60a5fa;
font-weight: 500;
text-decoration: none;
}
.series-link:hover {
text-decoration: underline;
color: #93c5fd;
}
&lt;/style&gt;
&lt;h1 id="overview"&gt;Overview&lt;/h1&gt;
&lt;p&gt;In the previous post (&lt;a href="https://qerogram.github.io/posts/envoy_series/week_4en/"&gt;#4: Envoy Proxy Build&lt;/a&gt;), we built Envoy with Bazel and brought up Envoy and Redis on Minikube — but using the official Envoy image (&lt;code&gt;envoyproxy/envoy:v1.38-latest&lt;/code&gt;). That post was focused on getting the Kubernetes infrastructure in place, so we never actually verified that &lt;strong&gt;our custom-built binary&lt;/strong&gt; worked end-to-end.&lt;/p&gt;</description></item><item><title>[KR] Envoy Proxy 기여 여정 #5: Custom Envoy Proxy Deployment</title><link>https://qerogram.github.io/posts/envoy_series/week_5/</link><pubDate>Sun, 26 Jul 2026 12:00:00 +0900</pubDate><guid>https://qerogram.github.io/posts/envoy_series/week_5/</guid><description>&lt;div class="custom-series-banner"&gt;
&lt;div class="series-box"&gt;
&lt;span class="series-icon"&gt;📚&lt;/span&gt;
&lt;div&gt;
&lt;strong&gt;This post is part of the &lt;em&gt;Contribution envoy&lt;/em&gt; series&lt;/strong&gt;
&lt;span class="series-part"&gt;(Part 6)&lt;/span&gt;
&lt;/div&gt;
&lt;a href="https://qerogram.github.io/series/contribution_envoy/" class="series-link"&gt;
View full series →
&lt;/a&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;style&gt;
.custom-series-banner {
margin: 2rem 0 2.5rem;
}
.series-box {
background: #1e2937;
border: 1px solid #334155;
border-radius: 12px;
padding: 1.25rem 1.5rem;
display: flex;
align-items: center;
gap: 12px;
color: #e2e8f0;
font-size: 1rem;
}
.series-icon {
font-size: 1.5rem;
}
.series-part {
font-size: 0.9rem;
color: #94a3b8;
margin-left: 4px;
}
.series-link {
margin-left: auto;
color: #60a5fa;
font-weight: 500;
text-decoration: none;
}
.series-link:hover {
text-decoration: underline;
color: #93c5fd;
}
&lt;/style&gt;
&lt;h1 id="주제-및-배경"&gt;주제 및 배경&lt;/h1&gt;
&lt;p&gt;지난 회차(&lt;a href="https://qerogram.github.io/posts/envoy_series/week_4/"&gt;#4: Envoy Proxy Build&lt;/a&gt;)에서는 Bazel로 Envoy Proxy를 빌드한 뒤, Minikube 위에 Envoy 공식 이미지(&lt;code&gt;envoyproxy/envoy:v1.38-latest&lt;/code&gt;)와 Redis를 함께 띄워보았다. 그 회차의 목적은 쿠버네티스 인프라를 마련하는 것이었기 때문에, 실제로는 &lt;strong&gt;내가 만든 Envoy가 동작하는지&lt;/strong&gt;까지는 검증하지 않았다.&lt;/p&gt;</description></item><item><title>Contributing to Envoy Proxy #4: Building Envoy Proxy</title><link>https://qerogram.github.io/posts/envoy_series/week_4en/</link><pubDate>Sun, 12 Jul 2026 12:00:00 +0900</pubDate><guid>https://qerogram.github.io/posts/envoy_series/week_4en/</guid><description>&lt;div class="custom-series-banner"&gt;
&lt;div class="series-box"&gt;
&lt;span class="series-icon"&gt;📚&lt;/span&gt;
&lt;div&gt;
&lt;strong&gt;This post is part of the &lt;em&gt;Contribution envoy&lt;/em&gt; series&lt;/strong&gt;
&lt;span class="series-part"&gt;(Part 5)&lt;/span&gt;
&lt;/div&gt;
&lt;a href="https://qerogram.github.io/series/contribution_envoy/" class="series-link"&gt;
View full series →
&lt;/a&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;style&gt;
.custom-series-banner {
margin: 2rem 0 2.5rem;
}
.series-box {
background: #1e2937;
border: 1px solid #334155;
border-radius: 12px;
padding: 1.25rem 1.5rem;
display: flex;
align-items: center;
gap: 12px;
color: #e2e8f0;
font-size: 1rem;
}
.series-icon {
font-size: 1.5rem;
}
.series-part {
font-size: 0.9rem;
color: #94a3b8;
margin-left: 4px;
}
.series-link {
margin-left: auto;
color: #60a5fa;
font-weight: 500;
text-decoration: none;
}
.series-link:hover {
text-decoration: underline;
color: #93c5fd;
}
&lt;/style&gt;
&lt;h1 id="overview"&gt;Overview&lt;/h1&gt;
&lt;p&gt;In the previous post, we pulled the build image and brought up its container. With the build environment ready, this time we will actually build Envoy Proxy inside that container, then bring up Redis and Envoy Proxy on Minikube to see the whole stack running end to end.&lt;/p&gt;</description></item><item><title>[EN] Contributing to Envoy Proxy #3: Setting Up the Build Environment — Part 2</title><link>https://qerogram.github.io/posts/envoy_series/week_3en/</link><pubDate>Sun, 28 Jun 2026 12:00:00 +0900</pubDate><guid>https://qerogram.github.io/posts/envoy_series/week_3en/</guid><description>&lt;div class="custom-series-banner"&gt;
&lt;div class="series-box"&gt;
&lt;span class="series-icon"&gt;📚&lt;/span&gt;
&lt;div&gt;
&lt;strong&gt;This post is part of the &lt;em&gt;Contribution envoy&lt;/em&gt; series&lt;/strong&gt;
&lt;span class="series-part"&gt;(Part 4)&lt;/span&gt;
&lt;/div&gt;
&lt;a href="https://qerogram.github.io/series/contribution_envoy/" class="series-link"&gt;
View full series →
&lt;/a&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;style&gt;
.custom-series-banner {
margin: 2rem 0 2.5rem;
}
.series-box {
background: #1e2937;
border: 1px solid #334155;
border-radius: 12px;
padding: 1.25rem 1.5rem;
display: flex;
align-items: center;
gap: 12px;
color: #e2e8f0;
font-size: 1rem;
}
.series-icon {
font-size: 1.5rem;
}
.series-part {
font-size: 0.9rem;
color: #94a3b8;
margin-left: 4px;
}
.series-link {
margin-left: auto;
color: #60a5fa;
font-weight: 500;
text-decoration: none;
}
.series-link:hover {
text-decoration: underline;
color: #93c5fd;
}
&lt;/style&gt;
&lt;h1 id="overview"&gt;Overview&lt;/h1&gt;
&lt;p&gt;In the previous post, we brought up the Kubernetes cluster — minikube — where our modified Envoy will eventually run. With the runtime environment in place, we now turn to the other half of the equation: a working &lt;strong&gt;build environment&lt;/strong&gt;.&lt;/p&gt;</description></item><item><title>[EN] Contributing to Envoy Proxy #1: Setting Up the Development Environment</title><link>https://qerogram.github.io/posts/envoy_series/week_1en/</link><pubDate>Sun, 31 May 2026 22:00:00 +0900</pubDate><guid>https://qerogram.github.io/posts/envoy_series/week_1en/</guid><description>&lt;div class="custom-series-banner"&gt;
&lt;div class="series-box"&gt;
&lt;span class="series-icon"&gt;📚&lt;/span&gt;
&lt;div&gt;
&lt;strong&gt;This post is part of the &lt;em&gt;Contribution envoy&lt;/em&gt; series&lt;/strong&gt;
&lt;span class="series-part"&gt;(Part 2)&lt;/span&gt;
&lt;/div&gt;
&lt;a href="https://qerogram.github.io/series/contribution_envoy/" class="series-link"&gt;
View full series →
&lt;/a&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;style&gt;
.custom-series-banner {
margin: 2rem 0 2.5rem;
}
.series-box {
background: #1e2937;
border: 1px solid #334155;
border-radius: 12px;
padding: 1.25rem 1.5rem;
display: flex;
align-items: center;
gap: 12px;
color: #e2e8f0;
font-size: 1rem;
}
.series-icon {
font-size: 1.5rem;
}
.series-part {
font-size: 0.9rem;
color: #94a3b8;
margin-left: 4px;
}
.series-link {
margin-left: auto;
color: #60a5fa;
font-weight: 500;
text-decoration: none;
}
.series-link:hover {
text-decoration: underline;
color: #93c5fd;
}
&lt;/style&gt;
&lt;h1 id="introduction"&gt;Introduction&lt;/h1&gt;
&lt;p&gt;As we begin this series, you&amp;rsquo;re likely already familiar with how remarkable Envoy Proxy is. It serves as a de facto standard proxy even in Istio environments and stands as one of the most mature and production-ready proxies available today. Envoy is the third CNCF project to achieve &lt;code&gt;Graduated&lt;/code&gt; status.&lt;/p&gt;</description></item><item><title>[KR] Envoy Proxy 기여 여정 #1: 개발 환경 구축</title><link>https://qerogram.github.io/posts/envoy_series/week_1/</link><pubDate>Sun, 31 May 2026 22:00:00 +0900</pubDate><guid>https://qerogram.github.io/posts/envoy_series/week_1/</guid><description>&lt;div class="custom-series-banner"&gt;
&lt;div class="series-box"&gt;
&lt;span class="series-icon"&gt;📚&lt;/span&gt;
&lt;div&gt;
&lt;strong&gt;This post is part of the &lt;em&gt;Contribution envoy&lt;/em&gt; series&lt;/strong&gt;
&lt;span class="series-part"&gt;(Part 2)&lt;/span&gt;
&lt;/div&gt;
&lt;a href="https://qerogram.github.io/series/contribution_envoy/" class="series-link"&gt;
View full series →
&lt;/a&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;style&gt;
.custom-series-banner {
margin: 2rem 0 2.5rem;
}
.series-box {
background: #1e2937;
border: 1px solid #334155;
border-radius: 12px;
padding: 1.25rem 1.5rem;
display: flex;
align-items: center;
gap: 12px;
color: #e2e8f0;
font-size: 1rem;
}
.series-icon {
font-size: 1.5rem;
}
.series-part {
font-size: 0.9rem;
color: #94a3b8;
margin-left: 4px;
}
.series-link {
margin-left: auto;
color: #60a5fa;
font-weight: 500;
text-decoration: none;
}
.series-link:hover {
text-decoration: underline;
color: #93c5fd;
}
&lt;/style&gt;
&lt;h1 id="들어가며"&gt;들어가며&lt;/h1&gt;
&lt;p&gt;본 시리즈를 시작하며, Envoy Proxy가 얼마나 대단한 지는 다들 아실거라고 생각합니다.
Istio환경에서도 실질적으로 표준에 준하는 Proxy이자, 굉장히 성숙도가 높은 Proxy입니다.
CNCF의 3번째 &lt;code&gt;Graduated Project&lt;/code&gt;입니다.&lt;/p&gt;</description></item><item><title>[EN] Contributing to Envoy Proxy: A Journey with Redis Integration</title><link>https://qerogram.github.io/posts/envoy_series/week_0en/</link><pubDate>Tue, 19 May 2026 22:00:00 +0900</pubDate><guid>https://qerogram.github.io/posts/envoy_series/week_0en/</guid><description>&lt;div class="custom-series-banner"&gt;
&lt;div class="series-box"&gt;
&lt;span class="series-icon"&gt;📚&lt;/span&gt;
&lt;div&gt;
&lt;strong&gt;This post is part of the &lt;em&gt;Contribution envoy&lt;/em&gt; series&lt;/strong&gt;
&lt;span class="series-part"&gt;(Part 1)&lt;/span&gt;
&lt;/div&gt;
&lt;a href="https://qerogram.github.io/series/contribution_envoy/" class="series-link"&gt;
View full series →
&lt;/a&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;style&gt;
.custom-series-banner {
margin: 2rem 0 2.5rem;
}
.series-box {
background: #1e2937;
border: 1px solid #334155;
border-radius: 12px;
padding: 1.25rem 1.5rem;
display: flex;
align-items: center;
gap: 12px;
color: #e2e8f0;
font-size: 1rem;
}
.series-icon {
font-size: 1.5rem;
}
.series-part {
font-size: 0.9rem;
color: #94a3b8;
margin-left: 4px;
}
.series-link {
margin-left: auto;
color: #60a5fa;
font-weight: 500;
text-decoration: none;
}
.series-link:hover {
text-decoration: underline;
color: #93c5fd;
}
&lt;/style&gt;
&lt;h1 id="overview-and-background"&gt;Overview and Background&lt;/h1&gt;
&lt;p&gt;This series documents &lt;strong&gt;how to implement and contribute Redis proxy features to Envoy Proxy&lt;/strong&gt;, covering the entire journey from development environment setup to merging a contribution into the Envoy project. Rather than theoretical knowledge, this series shares practical experience from a real-world production scenario.&lt;/p&gt;</description></item></channel></rss>