<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>P. Bai</title>
        <link>https://pbai.cc/</link>
        <description>Writing on endpoints, networks, and cloud by P. Bai.</description>
        <lastBuildDate>Sun, 16 Aug 2026 14:52:49 GMT</lastBuildDate>
        <docs>https://validator.w3.org/feed/docs/rss2.html</docs>
        <generator>https://github.com/jpmonette/feed</generator>
        <language>en</language>
        <copyright>P. Bai</copyright>
        <atom:link href="https://pbai.cc/feed.xml" rel="self" type="application/rss+xml"/>
        <item>
            <title><![CDATA[A team standard for Terraform state, with no DynamoDB lock table]]></title>
            <link>https://pbai.cc/blog/terraform-state-standard-without-a-lock-table</link>
            <guid isPermaLink="false">https://pbai.cc/blog/terraform-state-standard-without-a-lock-table</guid>
            <pubDate>Mon, 03 Aug 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[Replacing the DynamoDB lock table with S3 native locking, isolating environments by AWS account instead of workspaces, and the plan file mix-up that made us name every plan after its environment.]]></description>
            <author>P. Bai</author>
        </item>
        <item>
            <title><![CDATA[A free FortiGate log analysis platform with OpenSearch]]></title>
            <link>https://pbai.cc/blog/fortigate-opensearch-log-platform</link>
            <guid isPermaLink="false">https://pbai.cc/blog/fortigate-opensearch-log-platform</guid>
            <pubDate>Fri, 17 Apr 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[Replacing FortiAnalyzer with OpenSearch and Logstash on a local machine. Full configuration, creating every chart through the Saved Objects API, and the field type problem that silently breaks all of them.]]></description>
            <author>P. Bai</author>
        </item>
    </channel>
</rss>